Digital Communication Systems
- By the end of 1990s, digital format was dominating.
- Examples: CD, MP3, HDTV, DVD, Blu Ray, VoIP, 4k, 8k etc.
- This chapter is concerned with transmitting digital data over a channel.
- We begin with binary data, i.e., symbols 0 and 1.
- We assign a waveform or pulse to each of the two symbols.
- At the receiver, the received pulses are detected and converted back to binary data.
Digital Communication System Block Diagram
- The diagram includes components like the message signal, baseband modulation, digital carrier, multiplexer, channel, and regenerative repeater.
Source
- The input takes the form of a data set, digital audio (PCM, DM, LPC), digital video, telemetry data, etc.
- Discussion is confined to binary data (two symbols).
- M-ary communication (M symbols) is discussed in Section 7.7 in the textbook.
Line Coder
- Converts digital input into electrical pulses or waveforms.
- This process is called line coding or transmission coding.
- There are many ways to encode binary data.
Types of Line Codes
- Examples include on-off (RZ), polar (RZ), bipolar (RZ), on-off (NRZ), and polar (NRZ).
Multiplexer
- Channels typically have much wider bandwidths than individual sources.
- To utilize capacity effectively, multiplex several sources on one channel.
- Digital multiplexing can be time division or frequency division multiplexing.
- Code division multiplexing can also be used by using a set of orthogonal codes.
Regenerative Repeater
- Spaced at regular intervals on a transmission line to detect incoming signals and generate “clean” pulses for further transmission.
- This effectively eliminates noise.
- The bit rate R_b needs to be estimated from the incoming signal.
- Return to zero (RZ) line codes allow for the extraction of R_b (clock recovery) by rectifying the signal.
- A line code is transparent in which the bit pattern does not affect timing accuracy (such as RZ).
RZ Clock Recovery
- An on-off signal (a) is a sum of a random polar signal (b) and a clock frequency periodic signal (c).
Why Line Coding?
- Transmission bandwidth as small as possible.
- Power efficiency: For a given bandwidth, power must be as low as possible.
- Error detection and correction capability: Some line codes allow for error detection.
- PSD properties that fit channel: Some channels do not pass DC, and then DC-free codes are needed.
PAM Line Code
- A generic pulse p(t) is considered, where P(f) is its Fourier transform.
- The line code symbol at time k is ak starting at time t = kTb.
- The k^{th} symbol is transmitted as akp(t - kTb).
- The baseband signal in a pulse train is of the form y(t) = \sum akp(t - kTb).
- The line coder determines the symbol set \left{ a_k \right}.
- The values of a_k are random and depend on the line coder input.
- y(t) is a pulse-amplitude-modulated (PAM) signal.
- Sy(f) = |P(f)|^2 Sx(f)
PSD of a Line Code
- On-off, polar, and bi-polar are special cases of PAM modulation, where a_k takes values 1, 0, and -1 randomly.
- PSD of y(t) depends on a_k and p(t), so if the pulse shape changes, the PSD changes.
- Can be overcome by having signal x(t) with Tb spaced impulses with area ak passed through a filter with impulse response p(t) and transfer function P(f): Sy(f) = |P(f)|^2 Sx(f).
PSD of a Line Code (Continued)
- We need to determine the autocorrelation function R_x(\tau) of the impulse train x(t).
- This can be achieved by considering the impulses as limiting forms of the rectangular function.
- For a pulse width \epsilon \rightarrow 0, the pulse height is given by hk = \frac{ak}{\epsilon} \rightarrow \infty.
- The strength or area of the k^{th} impulse is ak = \epsilon hk.
- The autocorrelation of the rectangular pulse train \hat{x}(t) is given by R{\hat{x}}(\tau) = \lim{T \rightarrow \infty} \frac{1}{T} \int_{-T/2}^{T/2} \hat{x}(t)\hat{x}(t - \tau) dt.
PSD of a Line Code (Continued)
R{\hat{x}}(\tau) = \lim{T \rightarrow \infty} \frac{1}{T} \int_{-T/2}^{T/2} \hat{x}(t)\hat{x}(t - \tau) dt (1)
- R_x(\tau) is an even function of \tau, as such we only consider \tau > 0.
- To start, consider the case of \tau < \epsilon, where (1) is the area under the signal \hat{x}(t), multiplied by \hat{x}(t) delayed by \tau for \tau < \epsilon.
- As can be seen, the area associated with the k^{th} pulse is (\epsilon - \tau)hk^2, where
R{\hat{x}}(\tau < \epsilon) = \lim{T \rightarrow \infty} \frac{1}{T} \sumk (\epsilon - \tau)hk^2 = \lim{T \rightarrow \infty} \frac{1}{T} \sumk ak^2 \frac{(\epsilon - \tau)}{\epsilon^2} = \frac{R0}{\epsilon Tb} (1 - \frac{\tau}{\epsilon}),
and R0 = \lim{T \rightarrow \infty} \frac{Tb}{T} \sumk a_k^2.
Line Code PSD Signals
- Illustrations showing impulse trains and pulse shapes for autocorrelation calculations.
PSD of a Line Code (Continued)
- Recall R0 = \lim{T \rightarrow \infty} \frac{Tb}{T} \sumk a_k^2.
- During the averaging interval T where T \rightarrow \infty, there are N pulses where N \rightarrow \infty, where N = \frac{T}{T_b}.
- Hence R0 = \lim{N \rightarrow \infty} \frac{1}{N} \sumk ak^2 = \langle ak^2 \rangle , where the summation is over N pulses; as such, R0 is the time average of the squared pulse amplitude.
- Since Rx(\tau) is an even function, we have R{\hat{x}}(\tau) = \frac{R0}{\epsilon Tb} (1 - \frac{|\tau|}{\epsilon}) , |\tau| < \epsilon
PSD of a Line Code (Continued)
- What happens for \tau > \epsilon?
- The next overlap will happen at the (k + 1)^{th} pulse and \tau approaches T_b.
- Repeating previous argument, we have R1 = \lim{T \rightarrow \infty} \frac{Tb}{T} \sumk aka{k+1} = \lim{N \rightarrow \infty} \frac{1}{N} \sumk aka{k+1} = \langle aka{k+1} \rangle .
- For multiples of \pm nTb, we have that the height of the pulses centered \pm nTb is \frac{Rn}{(\epsilon Tb)}, where
Rn = \lim{T \rightarrow \infty} \frac{Tb}{T} \sumk aka{k+n} = \lim{N \rightarrow \infty} \frac{1}{N} \sumk aka{k+n} = \langle aka{k+n} \rangle
Line Code PSD Signals
- Illustrations detailing pulse amplitude and autocorrelation for calculating PSD.
PSD of a Line Code (Continued)
To find R_x(\tau), let \epsilon \rightarrow 0, and each triangular pulse becomes an impulse function with the same area as before.
The n^{th} pulse has height \frac{Rn}{(\epsilon Tb)} and area \frac{Rn}{Tb}.
Hence, from Fig 7.5e, we have Rx(\tau) = \frac{1}{Tb} \sum{n=-\infty}^{\infty} Rn \delta(\tau - nT_b).
Hence, the PSD Sx(f) is the Fourier transform of Rx(\tau), i.e.,
Sx(f) = \frac{1}{Tb} \sum{n=-\infty}^{\infty} Rn e^{-jn2\pi fT_b}.
Recognising that R{-n} = Rn, because R_x(\tau) is an even function of \tau, we have
Sx(f) = \frac{1}{Tb} \left[ R0 + 2 \sum{n=1}^{\infty} Rn \cos(n2\pi fTb) \right] (2)
PSD of a Line Code (Continued)
Finally! We can now determine the PSD of the line code as
Sy(f) = |P(f)|^2 Sx(f) = \frac{|P(f)|^2}{Tb} \left[ \sum{n=-\infty}^{\infty} Rn e^{-jn2\pi fTb} \right] = \frac{|P(f)|^2}{Tb} \left[ R0 + \sum{n=1}^{\infty} Rn \cos(n2\pi fTb) \right]
Thus, the PSD of the line code is fully characterised by its Rn and the pulse shaping transfer function P(f).
Polar Signalling PSD
For a polar line code, R0 = 1 and Rn = 0 for n \ge 1 (see textbook for derivation). As such, Sy(f) = \frac{|P(f)|^2}{Tb} R0 = \frac{|P(f)|^2}{Tb}.
Assume rectangular pulses of width Tb/2, i.e. p(t) = \Pi \left( \frac{t}{Tb/2} \right) = \Pi \left( \frac{2t}{Tb} \right), and P(f) = \frac{Tb}{2} \text{sinc} \left( \frac{\pi fT_b}{2} \right).
Therefore, Sy(f) = \frac{Tb}{4} \text{sinc}^2 \left( \frac{\pi fT_b}{2} \right).
Polar Signalling PSD (Continued)
Clear that most power density situated at DC.
Essential bandwidth - first non-DC null (2R_b) Hz for polar line code.
This is 4x the theoretical bandwidth (Nyquist BW) required to transmit R_b pulses per second.
For a full-width pulse, the essential BW is still twice the theoretical BW.
Polar Signalling PSD (Continued)
- Power density at DC is a problem for repeaters.
- Polar signaling does not allow for error correction.
- Polar signaling is the most efficient in terms of power (lowest detection error probability amongst all line codes ).
- Polar signaling is transparent - except when using full-width pulses.
Constructing DC Null Using Pulse Shaping
- Since Sy(f) = |P(f)|^2 Sx(f), we can select p(t) such that P(f) has a DC null.
- Because P(f) = \int{-\infty}^{\infty} p(t)e^{-j2\pi ft} dt, we have P(0) = \int{-\infty}^{\infty} p(t) dt.
- Hence, if a pulse p(t) integrates to zero, P(0) = 0.
- Consider a Manchester code aka split-phase code aka twinned binary code.
DC-Free Manchester Code
- Illustrations showing the basic pulse p(t) and the transmitted waveform for binary data sequence using Manchester signaling.
On-Off Signalling PSD
1 - pulse transmitted, 0 - no pulse transmitted.
a_k assumed equally probable to be a 0 or 1.
Hence, R0 = \lim{N \rightarrow \infty} \frac{1}{N} \left[ \frac{N}{2}(1)^2 + \frac{N}{2}(0)^2 \right] = \frac{1}{2}.
To calculate Rn, we consider the product aka{k+n}, where both ak and a_{k+n} are equally probable to be a 0 or 1.
Therefore, the product aka{k+n} will be 1, one in four times and zero three in four times, i.e.
Rn = \lim{N \rightarrow \infty} \frac{1}{N} \left[ \frac{N}{4}(1)^2 + \frac{3N}{4}(0)^2 \right] = \frac{1}{4}, n \ge 1.
Using the calculated values for Rn, Sx(f) can be obtained:
Sx(f) = \frac{1}{4Tb} + \frac{1}{4Tb^2} \sum{n=-\infty}^{\infty} e^{-jn2\pi fTb} = \frac{1}{4Tb} + \frac{1}{4Tb^2} \sum{n=-\infty}^{\infty} \delta \left( f - \frac{n}{T_b} \right).
On-Off Signalling PSD (2)
The spectrum of the on-off waveform is given by
Sy(f) = \frac{|P(f)|^2}{4Tb} \left[ 1 + \frac{1}{Tb} \sum{n=-\infty}^{\infty} \delta \left( f - \frac{n}{T_b} \right) \right].
NOTE: the spectrum contains a continuous part due to P(f) and a discrete part owing to the pulse train
The discrete part can be nullified if the pulse shape p(t) is chosen such that P \left( \frac{n}{T_b} \right) = 0, for n = \pm 1, \pm 2, . . . .
In the case of a half-width rectangular pulse, we have
Sy(f) = \frac{Tb}{16} \text{sinc}^2 \left( \frac{\pi fTb}{2} \right) \left[ 1 + \frac{1}{Tb} \sum{n=-\infty}^{\infty} \delta \left( f - \frac{n}{Tb} \right) \right].
On-Off Signalling PSD
- A graph illustrating the power spectral density (PSD) of an on-off signal.
On-Off Signalling - Advantages/Disadvantages
- It is less immune to noise interference than polar signaling
- Noise immunity depends on amplitude difference 0 to 1 (on-off) vs. -1 to 1 (polar)
- Could consider 0 to 2, but that would consume more power
- Average power for on-off signalling is P{\text{on-off}} = \frac{2E}{Tb}, where E is the pulse energy. P_{\text{on-off}} is twice the value required for the polar signal
- A long string of zeros causes a lack of signal, which leads to synchronization loss.
Bipolar Signalling - Alternate Mark Inversion (AMI)
0 - no pulse, 1 - pulse p(t) = -p(t - T_b)
Bi-polar signalling actually uses three symbols: \left[ -p(t), 0, p(t) \right]
Half aks are 0, the other half are either 1 or -1, with ak^2 = 1, hence
R0 = \lim{N \rightarrow \infty} \frac{1}{N} \sumk ak^2 = \lim_{N \rightarrow \infty} \frac{1}{N} \left[ \frac{N}{2} (\pm 1)^2 + \frac{N}{2} (0)^2 \right] = \frac{1}{2}.
Bipolar Signalling - Alternate Mark Inversion (AMI) (2)
Now consider aka{k+1} for R1. There are four possibilities: 11, 10, 01, 00. The product aka{k+1} will be zero for the last three cases. As such, 3N/4 combinations have aka{k+1} = 0 and N/4 combinations have aka{k+1} = 1. Since 11 always alternate, the product aka_{k+1} = -1 when 11 occurs. Hence
R1 = \lim{N \rightarrow \infty} \frac{1}{N} \left[ \frac{N}{4} (-1) + \frac{3N}{4} (0) \right] = -\frac{1}{4}.
Now consider aka{k+2} for R_2. Similar reasoning can be used, but now there are eight possible input bit combinations, in that case
R2 = \lim{N \rightarrow \infty} \frac{1}{N} \left[ \frac{N}{8} (1) + \frac{N}{8} (-1) + \frac{6N}{8} (0) \right] = 0. NOTE: There is an error in the textbook.
Bipolar Signalling - Alternate Mark Inversion (AMI) (3)
In general Rn = \lim{N \rightarrow \infty} \frac{1}{N} \sumk aka_{k+n}.
Now consider aka{k+2} for R_2. Similar reasoning can be used, but now there are eight possible input bit combinations, in that case :
R2 = \lim{N \rightarrow \infty} \frac{1}{N} \left[ \frac{N}{8} (1) + \frac{N}{8} (-1) + \frac{6N}{8} (0) \right] = 0.
For n > 2, the product aka{k+n} can be 1, -1 or 0. Moreover an equal number of combinations have values 1 and -1, hence R_n = 0
Therefore, R_n = 0, for n > 1.
Bipolar Signalling - Alternate Mark Inversion (AMI) PSD
Hence, from eq. (2), the PSD of a bipolar signal is
Sy(f) = \frac{|P(f)|^2}{2Tb} \left[ 1 - \cos(2\pi fTb) \right] = \frac{|P(f)|^2}{2Tb} \sin^2(\pi fT_b).
A DC null will be present because of the squared sine factor
In the case of a half-width rectangular pulse, we have Sy(f) = \frac{Tb}{4} \text{sinc}^2 \left( \frac{\pi fTb}{2} \right) \sin^2(\pi fTb).
Bipolar Signalling - Alternate Mark Inversion (AMI) PSD (2)
- Essential bandwidth is Rb = 1/Tb - half that of polar signalling using same half-width pulse.
Bipolar Signalling - Advantages/Disadvantages
- Spectrum has a DC null
- It is bandwidth-efficient
- It has single-error detection capability (alternating pulse rule)
- Requires twice as much power as a polar signal
- Bipolar signalling is not transparent
- Two versions of bipolar signalling that are transparent:
- High-density bipolar (HDB) signalling
- Binary with N zero substitution (BNZS) signalling.
Pulse Shaping
- The PSD S_y(f) can be controlled by the choice of line code or pulse shape
- Previously, we considered controlling S_y(f) through the choice of line code
- Now, p(t) will be manipulated to influence Sy(f) through Sy(f) = |P(f)|^2 S_x(f).
Intersymbol Interference
In the last section, we considered the case where p(t) was a half-width rectangular pulse
Strictly speaking, a half-width rectangular pulse has infinite bandwidth, and therefore also S_y(f) (essential BW is finite though)
PSD power in range f > Rb is suppressed for transmission over the channel with BW Rb
Suppression of spectrum in f > Rb limits BW and causes time spreading beyond the allotted time interval Tb
This causes interference with neighboring pulses - known as intersymbol interference (ISI)
ISI is not noise, but distortion
Apparent Impasse
- Bandlimited signals require infinite time duration
- Time-limited signals require infinite bandwidth
- How can we transmit finite pulses over a bandlimited channel without introducing ISI??
- We can relax the ISI constraint - that is, no ISI only at the sample instances
- Nyquist proposed three criteria for pulse shaping, where pulses are allowed to overlap
- We will consider the first criterion
Nyquist Criterion for Zero-ISI - First Criterion
Choose a pulse shape that has nonzero amplitude at its center and zero amplitude at t = \pm nTb, (n = 1, 2, 3, . . .), where Tb is the separation between transmitted pulses, i.e.
p(t) = \begin{cases} 1 & t = 0 \ 0 & t = \pm nTb, \text{where } Tb = 1/R_b \end{cases} (3)
*Do we know of such a pulse?
Zero-ISI Pulse Example
p(t) = \text{sinc}(\pi Rb t), \quad P(f) = \frac{1}{Rb} \Pi \left( \frac{f}{R_b} \right)
- Has BW of Rb/2 - can transmit Rb pulses per second over BW R_b/2
- This is the theoretical maximum transmission rate
Practical Challenges of Using a Sinc Pulse
- The sinc pulse is of infinite duration
- A truncation would increase its bandwidth
- Signal decays too slowly, at a rate of 1/t
- What would happen in the case of timing deviations/jitter?
Nyquist’s First Criterion for Zero ISI
Consider a pulse p(t) \Longleftrightarrow P(f) where the bandwidth of P(f) is on the interval (Rb/2, Rb)
We sample the pulse p(t) every Tb seconds by multiplying p(t) by \delta{Tb}(t), where \delta{Tb}(t) is a Tb spaced impulse train
Since p(t) satisfies (3), the sampled signal \bar{p}(t) is given by
\bar{p}(t) = p(t) \delta{Tb}(t) = \delta(t)
Take the Fourier transform on both sides of the second equality, we obtain
\frac{1}{Tb} \sum{n=-\infty}^{\infty} P(f - nRb) = 1, where Rb = 1/T_b, or
\sum{n=-\infty}^{\infty} P(f - nRb) = T_b
Nyquist's First Criterion for Zero ISI - Example
Over the range 0 < f < Rb: P(f) + P(f - Rb) = Tb \quad 0 < f < Rb
Letting x = f - R_b/2, we have
P \left( x + \frac{Rb}{2} \right) + P \left( x - \frac{Rb}{2} \right) = Tb \quad |x| < 0.5Rb
Using the conjugate symmetry property, we have
P \left( \frac{Rb}{2} + x \right) + P^* \left( \frac{Rb}{2} - x \right) = Tb \quad |x| < 0.5Rb
Let us choose P(f) to be real-valued and positive, then only |P(f)| needs to satisfy the above equation
|P \left( \frac{Rb}{2} + x \right)| + |P^* \left( \frac{Rb}{2} - x \right)| = Tb \quad |x| < 0.5Rb
|P(f)| Properties for Zero ISI
- Note that p(0.5R_b) = 0.5P(0)
Bandwidth of Zero ISI |P(f)| - Vestigial Spectrum
- The bandwidth in Hz of P(f) is 0.5Rb + fx.
- Let r be the ratio of the excess bandwidth fx to the theoretical minimum bandwidth Rb/2, i.e.
r= excess bandwidth/ theoretical minimum bandwidth = fx/0.5Rb = 2fxTb. - Therefore, the bandwidth of P(f) is BT = \frac{Rb}{2} + r\frac{Rb}{2} = \frac{(1 + r)Rb}{2}
- r is known as the roll-off factor - also specified as a percentage (for example, for a bandwidth of 1.5R_b, r = 0.5 or 50 %)
Nyquist Zero ISI Filter
One family of spectra satisfies Nyquist’s first criterion:
P(f) = \begin{cases} 1, & |f| < Rb/2 - fx \ \frac{1}{2} \left[ 1 - \sin \pi \left( \frac{f - Rb/2}{2fx} \right) \right] & |f - Rb/2| < fx \ 0, & |f| > Rb/2 + fx \end{cases}
Raised Cosine Filter
In the maximum bandwidth case, where fx = Rb/2 (i.e., r = 1), we have
P(f) = 1/2 (1+cos(πfTb)Πf /2Rb (4)
= cos2(πfTb/2) Π (fTb/2) (5)
This is known as the raised cosine or full-cosine roll-off filter/characteristic.
The inverse Fourier transform of eq (4) gives us the pulse p(t), i.e.
p(t) = \frac{Rb \cos \pi Rb t}{1 - 4Rb^2 t^2} \text{sinc}(\pi Rb t)
Raised Cosine Filter Observations
- Zero at multiples of Tb AND 0.5Tb
- Decays rapidly, at a rate of 1/t^3
- Raised cosine-based pulse insensitive to timing inaccuracies
- Pulse generating filter is closely realisable
Controlled ISI - Partial Response Signalling
Nyquist first criterion requires bandwidth larger than the theoretical minimum
Possible to further reduce bandwidth by widening the pulse p(t)
However - this WILL introduce ISI
Since transmission is binary, with only two possible symbols, it will be possible to remove the interference - limited number of interference patterns
Consider a pulse p(t) which satisfies the following:
p(nT_b) = \begin{cases} 1, & n = 0, 1 \ 0, & \text{for all other } n \end{cases} (6)
This leads to controlled ISI from the k^{th} to the next pulse only
Possibilities in Controlled ISI Signalling
Decision rule at the receiver:
- If the sample value is positive (present bit, previous bit) = (1,1)
- If the sample value is negative (present bit, previous bit) = (0,0)
- If the sample value is zero, then present bit = NOT previous bit - knowledge of the previous bit allows us to know the present bit
This is known as partial response signalling
A pulse satisfying eq (6) is called a duobinary pulse
Example: Duobinary Pulse
Question: What pulse would meet the requirements of eq (57)?
Solution: From Problem 7.3-9 - only the following pulse p(t) meets the requirements:
p(t) = \frac{\sin(\pi Rb t)}{\pi Rb t (1 - R_b t)}
The Fourier transform P(f) of the pulse p(t) is given by
P(f) = \frac{2}{Rb} \cos \left( \frac{\pi f}{Rb} \right) \Pi \left( \frac{f}{Rb} \right) e^{-j\pi f/Rb}
Example: Duobinary Pulse (Plots)
- Illustrations of the minimum bandwidth pulse that satisfies the duobinary pulse criterion and its spectrum.
Duobinary Pulse - Properties
- Pulse not ideally realisable – noncausal with infinite duration
- However, it decays rapidly with t at a rate 1/t^2
Relationship Between Zero-ISI, Duobinary, and Modified Duobinary
- Let p_a(t) satisfy the first Nyquist criterion.
- Let p_b(t) be a duobinary pulse.
- It is clear that pa(kTb) and pb(kTb) only differ at k = 1
- One can construct pb(t) from pa(t) via pb(t) = pa(t) + pa(t - Tb).
- Taking the Fourier transform allows us to inspect duobinary signalling in terms of spectral bandwidth:
$$Pb(f) = Pa(f)[1 + e^{-j2πfTb} ]
|Pb(f)| = 2|Pa(f)|√2(1 + cos(2πfTb)) · | cos(πfTb)|$$
*Spectral null at 2\pi f Tb = \pi, or equivalently at f = 0.5/Tb shows how duobinary signalling reshapes the PSD to reduce the essential BW to the minimum theoretical BW
Modified Duobinary