- Baseband transmission
- Passband transmission
- Frequency division multiplexing
- Time division multiplexing
- Code division multiplexing
Digital modulation is the process of converting between digital bits and analog signals (such as a continuously varying voltage) [1, P. 125].
Schemes that directly encode bits into signals result in baseband transmission, where the signal occupies frequencies from zero up to a maximum that depends on the signalling rate [1, P. 125].
Passband transmission is where signals are shifted so that “the signal occupies a band of frequencies around the frequency of the carrier signal.” [1, P. 125].
Channels are often shared by multiple signals. Sharing signals is called multiplexing. There are several ways to perform multiplexing, including time, frequency, and code division multiplexing.
Baseband transmission is the transmission of a raw signal that occupies frequencies from zero up to a maximum that depends on the signalling rate [1, P. 125].
NRZ (Non-Return-to-Zero) is a simple transmission scheme. In NRZ, a positive voltage could represent a 1, and a negative voltage could represent a 0 [1, P. 125].
An NRZ signal is sent down a line, and a receiving station samples the signal at regular intervals to convert the signal back into bits [1, P. 125].
The signal will not look exactly like the signal that was originally sent. It will have been distorted and attenuated by the channel. The receiver must map the received signal to the closest symbols [1, P. 126].
NRZ is normally not used by itself in practice. More complex schemes can convert bits to signals that better meet engineering needs. These schemes are called line codes [1, P. 126].
The engineering needs for transmission schemes are:
- Bandwidth Efficiency
- Clock recovery
- Balanced signals
The NRZ signal can cycle between positive and negative levels every 2 bits at a maximum. This requires a bandwidth of at least B/2, where B is bits/second. This is a fundamental limit that NRZ cannot run faster than (without using more bandwidth) [1, P. 126].
One strategy for using bandwidth more efficiently is to use more than two signalling levels. You could send 2 bits at once as a single symbol. This would require four different symbols, and four different levels. This would work as long as the receiver can distinguish the four levels. With this, the rate that the signal changes is half the bit rate, so the required bandwidth is reduced [1, P. 126].
The rate at which the signal changes is called the signal rate. This is different from bit rate. The bit rate is . Another name for symbol rate is the baud rate [1, P. 127].
A good scheme maximizes bandwidth efficiency.
In order for a receiver to read bits from a signal, it must know when one symbol ends and another begins. In NRZ, a long series of 1s or 0s would leave the signal unchanged, so the only way to tell how many bits were sent would be for the receiver to have a very accurate clock [1, P. 127].
Accurate clocks are too expensive a solution for commodity devices. The alternative is to send a clock signal to the receiver.
Instead of sending a separate signal for the clock, the clock signal can be mixed with the data signal by XORing the two together. The clock makes a transition in every bit time and it runs at twice the bit rate. When the clock is XORed with 0 it makes a low-to-high transition, which is the clock. When it is XORed with 1 it makes a high to low transition, which is the inverse of the clock. This scheme is called Manchester encoding (see Figure 1). Manchester encoding requires twice as much bandwidth as NRZ encoding, because of the clock [1, P. 127].
Another approach is to code the data to ensure there are enough transitions in the signal. NRZ will only have a clock problem for long runs of 0s and 1s, so avoiding long runs make it possible for the receiver to stay synchronized [1, P. 127].
One approach is to encode 1 as a transition, and a 0 as no transition. This is called NRZI (Non-Return-to-Zero Inverted). The USB standard uses NRZI. NRZI fixes the problem for long runs of 1s, but long runs of 0s will still cause a problem [1, Pp. 127-8].
Another approach is to map small groups of bits to be transmitted so that groups with successive 0s are mapped to longer patterns that don’t have too many consecutive 0s.
4B/5B is a common code for mappings bits. 4 bits are mapped to a 5 bit pattern. This scheme adds 25% overhead. In 4B/5B there are more patterns than there are 4 bit blocks that are mapped in. This means there a free symbols that can be used by protocols as control symbols, for example an idle symbol [1, P. 128].
|Data (4B)||Codeword (5B)||Data (4B)||Codeword (5B)|
Another approach to avoiding runs of 0s or 1s is to make the data look random by scrambling. A scrambler XORs data with a pseudorandom sequence before the data is transmitted. The receiver then XORs the incoming data with the same pseudo random sequence [1, P. 128].
Scrambling doesn’t add any bandwidth or time overhead, but scrambling doesn’t also doesn’t guarantee that there won’t be long runs of 0s (although it is unlikely).
Balanced signals are signals that have as much positive voltage as negative voltage, even over short periods of time.
Balanced electrical signals have no DC component. This is good for media like coaxial cables, which strongly attenuate a DC component. Thus the aim of a good line code should be a balanced signal [1, P. 129].
One way to balance a signal is to have a logical 1 represented by alternating between two voltage levels (e.g. +1 and -1), and having 0 be represented as 0. This scheme is called bipolar encoding [1, P. 129].
Another approach is to use a line code, like 4B/5B. A common code is the 8B/10B line code, which maps bits to balanced symbols. Since there are not enough balanced 10-bit symbols for all 8-bit permutations, not all symbols in in 8B/10B are balanced.
To solve this problem, some input patterns are matched to two symbols: one symbol with an extra 1, and one symbol with an extra 0. In order to keep the signal balanced, the encoder must remember the disparity, next time that it uses an unbalanced symbol, it will choose the symbol that reduces the disparity [1, Pp. 129-30].
You can take a baseband signal that occupies 0 to B Hz and shift it up to occupy a passband of S to S+B Hz. At the receiver, the signal can be shifted back down to baseband. This type of transmission is called passband transmission “because an arbitrary band of frequencies is used to pass the signal” [1, P. 130].
With passband transmission, digital modulation is accomplished by modulating a carrier signal that sits in the passband. You can modulate the amplitude, frequency, or phase of the signal [1, P. 130].
In ASK (Amplitude Shift Keying), two different amplitudes are used to represent 0 and 1. Multiple amplitudes can be used to represent more symbols.
In FSK (Frequency Shift Keying), two or more different frequencies are used to represent symbols [1, P. 130].
In PSK (Phase Shift Keying) the carrier wave is shifted 0 or 180 degrees each time time a symbol changes. Because there are two phases, it’s sometimes called BPSK (Binary Phase Shift Keying) [1, P. 130].
These schemes can be combined together, although frequency and phase cannot. Normally it is amplitude and phase that are used in combination [1, P. 131].
FDM (Frequency Division Multiplexing) uses passband transmission to share a channel.
FDM divides the spectrum into frequency bands. Each user has exclusive possession of a band that they can use to send their signal [1, P. 133].
A guard band keeps the channels separated [1, P. 133].
Digital data can be divided without using guard bands. In OFDM (Orthogonal Frequency Division Multiplexing) the channel bandwidth is divided into subcarriers, which independently send data.
Signals from each carrier extend into adjacent channels. However, “the frequency response of each subcarrier is designed so that 0 is at the center of the adjacent subcarriers”. So subcarriers can be sampled from their center frequencies, without any interference from their neighbors [1, Pp. 133-4].
TDM (Time Division Multiplexing) works by enabling users full access to the bandwidth for short periods of time [1, P. 135].
In TDM, users take turns round-robin style to get the entire bandwidth. Bits from each input are taken on a fixed time slot, and then output to the aggregate stream. The stream runs at the sum of each individual stream [1, P. 135].
Guard time must be added to accommodate timing variations [1, P. 135].
TDM is used in cellular and telephone networks [1, P. 135].
CDM (Code Division Multiplexing) is a form of spread spectrum communication, where a narrowband signal is spread over a wider frequency band. This allows multiple users to share the same frequency band [1, P. 135].
CDM is commonly called CDMA (Code Division Multiple Access). CDMA allows stations to transmit across the entire frequency spectrum all the time. The multiple simultaneous transmissions are separated using coding theory. For CDMA to work, the receiving station must be able to extract desired signals [1, P. 136].
In CDMA, each bit time is divided into short intervals (known as chips). Normally there are 64 or 128 chips per bit [1, P. 136].
To transmit a 1, a station sends its chip sequence. To transmit a 0, a station sends the negation of its chip sequence. When multiple stations transmit at the same time, their bipolar sequences add linearly. For example, if during 1 bit period, 3 stations output +1 and 1 station outputs -1, +2 would be received [1, P. 136].
The receiving station recovers the original code by computing the normalized inner product of the received chip sequence and the chip sequence of the station whose bit stream it is trying to recover. “If the received chip sequence is and the receiver is trying to listen to a station whose chip sequence is , it just computes the normalized inner product, ” [1, P. 137].
This works because pairs of chip sequences are orthogonal (meaning that they cancel each other out). To learn more, watch this video about how CDMA works.
-  A. Tanenbaum and D. Wetherall, Computer Networks, 5th ed. 2011.