Multiplexing and spreading techniques are used to combine multiple signals over a shared medium such as a communications channel. Frequency division multiplexing (FDM) combines signals by assigning each signal a unique, non-overlapping frequency band. Time division multiplexing (TDM) divides the available time on a channel into time slots that are allocated to individual signals in a cyclical, non-overlapping manner. Spread spectrum techniques like frequency-hopping spread spectrum (FHSS) and direct-sequence spread spectrum (DSSS) spread signals across a wider bandwidth to improve interference resistance and security.