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 Rb needs to be estimated from the incoming signal.
- Return to zero (RZ) line codes allow for the extraction of Rb (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 a<em>k starting at time t=kT</em>b.
- The kth symbol is transmitted as a<em>kp(t−kT</em>b).
- The baseband signal in a pulse train is of the form y(t)=∑a<em>kp(t−kT</em>b).
- The line coder determines the symbol set \left{ a_k \right}.
- The values of ak are random and depend on the line coder input.
- y(t) is a pulse-amplitude-modulated (PAM) signal.
- S<em>y(f)=∣P(f)∣2S</em>x(f)
PSD of a Line Code
- On-off, polar, and bi-polar are special cases of PAM modulation, where ak takes values 1, 0, and -1 randomly.
- PSD of y(t) depends on ak and p(t), so if the pulse shape changes, the PSD changes.
- Can be overcome by having signal x(t) with T<em>b spaced impulses with area a</em>k passed through a filter with impulse response p(t) and transfer function P(f): S<em>y(f)=∣P(f)∣2S</em>x(f).
PSD of a Line Code (Continued)
- We need to determine the autocorrelation function Rx(τ) 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 ϵ→0, the pulse height is given by h<em>k=ϵa</em>k→∞.
- The strength or area of the kth impulse is a<em>k=ϵh</em>k.
- The autocorrelation of the rectangular pulse train x^(t) is given by R<em>x^(τ)=lim</em>T→∞T1∫−T/2T/2x^(t)x^(t−τ)dt.
PSD of a Line Code (Continued)
R<em>x^(τ)=lim</em>T→∞T1∫−T/2T/2x^(t)x^(t−τ)dt (1)
- Rx(τ) is an even function of τ, as such we only consider τ>0.
- To start, consider the case of τ<ϵ, where (1) is the area under the signal x^(t), multiplied by x^(t) delayed by τ for τ<ϵ.
- As can be seen, the area associated with the kth pulse is (ϵ−τ)h<em>k2, where
R</em>x^(τ<ϵ)=lim<em>T→∞T1∑</em>k(ϵ−τ)h<em>k2=lim</em>T→∞T1∑<em>ka</em>k2ϵ2(ϵ−τ)=ϵT</em>bR<em>0(1−ϵτ),
and R<em>0=lim</em>T→∞TT<em>b∑</em>kak2.
Line Code PSD Signals
- Illustrations showing impulse trains and pulse shapes for autocorrelation calculations.
PSD of a Line Code (Continued)
- Recall R<em>0=lim</em>T→∞TT<em>b∑</em>kak2.
- During the averaging interval T where T→∞, there are N pulses where N→∞, where N=TbT.
- Hence R<em>0=lim</em>N→∞N1∑<em>ka</em>k2=⟨a<em>k2⟩, where the summation is over N pulses; as such, R</em>0 is the time average of the squared pulse amplitude.
- Since R<em>x(τ) is an even function, we have R</em>x^(τ)=ϵT</em>bR<em>0(1−ϵ∣τ∣) , ∣τ∣<ϵ
PSD of a Line Code (Continued)
- What happens for τ>ϵ?
- The next overlap will happen at the (k+1)th pulse and τ approaches Tb.
- Repeating previous argument, we have R<em>1=lim</em>T→∞TT<em>b∑</em>ka<em>ka</em>k+1=lim<em>N→∞N1∑</em>ka<em>ka</em>k+1=⟨a<em>ka</em>k+1⟩.
- For multiples of ±nT<em>b, we have that the height of the pulses centered ±nT</em>b is (ϵT</em>b)R<em>n, where
R<em>n=lim</em>T→∞TT<em>b∑</em>ka<em>ka</em>k+n=lim<em>N→∞N1∑</em>ka<em>ka</em>k+n=⟨a<em>ka</em>k+n⟩
Line Code PSD Signals
- Illustrations detailing pulse amplitude and autocorrelation for calculating PSD.
PSD of a Line Code (Continued)
To find Rx(τ), let ϵ→0, and each triangular pulse becomes an impulse function with the same area as before.
The nth pulse has height (ϵT</em>b)R<em>n and area T</em>bR<em>n.
Hence, from Fig 7.5e, we have R<em>x(τ)=T</em>b1∑<em>n=−∞∞R</em>nδ(τ−nTb).
Hence, the PSD S<em>x(f) is the Fourier transform of R</em>x(τ), i.e.,
S<em>x(f)=T</em>b1∑<em>n=−∞∞R</em>ne−jn2πfTb.
Recognising that R<em>−n=R</em>n, because Rx(τ) is an even function of τ, we have
S<em>x(f)=T</em>b1[R<em>0+2∑</em>n=1∞R<em>ncos(n2πfT</em>b)] (2)
PSD of a Line Code (Continued)
Finally! We can now determine the PSD of the line code as
S<em>y(f)=∣P(f)∣2S</em>x(f)=T<em>b∣P(f)∣2[∑</em>n=−∞∞R<em>ne−jn2πfT</em>b]=T<em>b∣P(f)∣2[R</em>0+∑<em>n=1∞R</em>ncos(n2πfT<em>b)]
Thus, the PSD of the line code is fully characterised by its R</em>n and the pulse shaping transfer function P(f).
Polar Signalling PSD
For a polar line code, R<em>0=1 and R</em>n=0 for n≥1 (see textbook for derivation). As such, S<em>y(f)=T</em>b∣P(f)∣2R<em>0=T</em>b∣P(f)∣2.
Assume rectangular pulses of width T<em>b/2, i.e. p(t)=Π(T</em>b/2t)=Π(T<em>b2t), and P(f)=2T</em>bsinc(2πfTb).
Therefore, S<em>y(f)=4T</em>bsinc2(2πfTb).
Polar Signalling PSD (Continued)
Clear that most power density situated at DC.
Essential bandwidth - first non-DC null (2Rb) Hz for polar line code.
This is 4x the theoretical bandwidth (Nyquist BW) required to transmit Rb 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 S<em>y(f)=∣P(f)∣2S</em>x(f), we can select p(t) such that P(f) has a DC null.
- Because P(f)=∫<em>−∞∞p(t)e−j2πftdt, we have P(0)=∫</em>−∞∞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.
ak assumed equally probable to be a 0 or 1.
Hence, R<em>0=lim</em>N→∞N1[2N(1)2+2N(0)2]=21.
To calculate R<em>n, we consider the product a</em>ka<em>k+n, where both a</em>k and ak+n are equally probable to be a 0 or 1.
Therefore, the product a<em>ka</em>k+n will be 1, one in four times and zero three in four times, i.e.
R<em>n=lim</em>N→∞N1[4N(1)2+43N(0)2]=41, n≥1.
Using the calculated values for R<em>n, S</em>x(f) can be obtained:
S<em>x(f)=4T</em>b1+4T<em>b21∑</em>n=−∞∞e−jn2πfT<em>b=4T</em>b1+4T<em>b21∑</em>n=−∞∞δ(f−Tbn).
On-Off Signalling PSD (2)
The spectrum of the on-off waveform is given by
S<em>y(f)=4T</em>b∣P(f)∣2[1+T<em>b1∑</em>n=−∞∞δ(f−Tbn)].
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(Tbn)=0, for n=±1,±2,....
In the case of a half-width rectangular pulse, we have
S<em>y(f)=16T</em>bsinc2(2πfT<em>b)[1+T</em>b1∑<em>n=−∞∞δ(f−T</em>bn)].
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<em>on-off=T</em>b2E, where E is the pulse energy. Pon-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−Tb)
Bi-polar signalling actually uses three symbols: [−p(t),0,p(t)]
Half a<em>ks are 0, the other half are either 1 or -1, with a</em>k2=1, hence
R<em>0=lim</em>N→∞N1∑<em>ka</em>k2=limN→∞N1[2N(±1)2+2N(0)2]=21.
Bipolar Signalling - Alternate Mark Inversion (AMI) (2)
Now consider a<em>ka</em>k+1 for R<em>1. There are four possibilities: 11, 10, 01, 00. The product a</em>ka<em>k+1 will be zero for the last three cases. As such, 3N/4 combinations have a</em>ka<em>k+1=0 and N/4 combinations have a</em>ka<em>k+1=1. Since 11 always alternate, the product a</em>kak+1=−1 when 11 occurs. Hence
R<em>1=lim</em>N→∞N1[4N(−1)+43N(0)]=−41.
Now consider a<em>ka</em>k+2 for R2. Similar reasoning can be used, but now there are eight possible input bit combinations, in that case
R<em>2=lim</em>N→∞N1[8N(1)+8N(−1)+86N(0)]=0. NOTE: There is an error in the textbook.
Bipolar Signalling - Alternate Mark Inversion (AMI) (3)
In general R<em>n=lim</em>N→∞N1∑<em>ka</em>kak+n.
Now consider a<em>ka</em>k+2 for R2. Similar reasoning can be used, but now there are eight possible input bit combinations, in that case :
R<em>2=lim</em>N→∞N1[8N(1)+8N(−1)+86N(0)]=0.
For n>2, the product a<em>ka</em>k+n can be 1, -1 or 0. Moreover an equal number of combinations have values 1 and -1, hence Rn=0
Therefore, Rn=0, for n>1.
Bipolar Signalling - Alternate Mark Inversion (AMI) PSD
Hence, from eq. (2), the PSD of a bipolar signal is
S<em>y(f)=2T</em>b∣P(f)∣2[1−cos(2πfT<em>b)]=2T</em>b∣P(f)∣2sin2(πfTb).
A DC null will be present because of the squared sine factor
In the case of a half-width rectangular pulse, we have S<em>y(f)=4T</em>bsinc2(2πfT<em>b)sin2(πfT</em>b).
Bipolar Signalling - Alternate Mark Inversion (AMI) PSD (2)
- Essential bandwidth is R<em>b=1/T</em>b - 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 Sy(f) can be controlled by the choice of line code or pulse shape
- Previously, we considered controlling Sy(f) through the choice of line code
- Now, p(t) will be manipulated to influence S<em>y(f) through S</em>y(f)=∣P(f)∣2Sx(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 Sy(f) (essential BW is finite though)
PSD power in range f>R<em>b is suppressed for transmission over the channel with BW R</em>b
Suppression of spectrum in f>R<em>b limits BW and causes time spreading beyond the allotted time interval T</em>b
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=±nT<em>b,(n=1,2,3,...), where T</em>b is the separation between transmitted pulses, i.e.
p(t)={1t=0 0t=±nT<em>b,where T</em>b=1/Rb (3)
*Do we know of such a pulse?
Zero-ISI Pulse Example
p(t)=sinc(πR<em>bt),P(f)=R</em>b1Π(Rbf)
- Has BW of R<em>b/2 - can transmit R</em>b pulses per second over BW Rb/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)⟺P(f) where the bandwidth of P(f) is on the interval (R<em>b/2,R</em>b)
We sample the pulse p(t) every T<em>b seconds by multiplying p(t) by δ</em>T<em>b(t), where δ</em>T<em>b(t) is a T</em>b spaced impulse train
Since p(t) satisfies (3), the sampled signal pˉ(t) is given by
pˉ(t)=p(t)δ<em>T</em>b(t)=δ(t)
Take the Fourier transform on both sides of the second equality, we obtain
T<em>b1∑</em>n=−∞∞P(f−nR<em>b)=1, where R</em>b=1/Tb, or
∑<em>n=−∞∞P(f−nR</em>b)=Tb
Nyquist's First Criterion for Zero ISI - Example
Over the range 0<f<R<em>b:P(f)+P(f−R</em>b)=T<em>b0<f<R</em>b
Letting x=f−Rb/2, we have
P(x+2R<em>b)+P(x−2R</em>b)=T<em>b∣x∣<0.5R</em>b
Using the conjugate symmetry property, we have
P(2R<em>b+x)+P∗(2R</em>b−x)=T<em>b∣x∣<0.5R</em>b
Let us choose P(f) to be real-valued and positive, then only ∣P(f)∣ needs to satisfy the above equation
∣P(2R<em>b+x)∣+∣P∗(2R</em>b−x)∣=T<em>b∣x∣<0.5R</em>b
∣P(f)∣ Properties for Zero ISI
- Note that p(0.5Rb)=0.5P(0)
Bandwidth of Zero ISI ∣P(f)∣ - Vestigial Spectrum
- The bandwidth in Hz of P(f) is 0.5R<em>b+f</em>x.
- Let r be the ratio of the excess bandwidth f<em>x to the theoretical minimum bandwidth R</em>b/2, i.e.
r= excess bandwidth/ theoretical minimum bandwidth = fx/0.5Rb = 2fxTb. - Therefore, the bandwidth of P(f) is B<em>T=2R</em>b+r2R<em>b=2(1+r)R</em>b
- r is known as the roll-off factor - also specified as a percentage (for example, for a bandwidth of 1.5Rb, r=0.5 or 50 %)
Nyquist Zero ISI Filter
One family of spectra satisfies Nyquist’s first criterion:
P(f)={1,∣f∣<R<em>b/2−f</em>x 21[1−sinπ(2f</em>xf−R<em>b/2)]∣f−R<em>b/2∣<f</em>x 0,∣f∣>R<em>b/2+f</em>x
Raised Cosine Filter
In the maximum bandwidth case, where f<em>x=R</em>b/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)=1−4R<em>b2t2R<em>bcosπR</em>btsinc(πR</em>bt)
Raised Cosine Filter Observations
- Zero at multiples of T<em>b AND 0.5T</em>b
- Decays rapidly, at a rate of 1/t3
- 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(nTb)={1,n=0,1 0,for all other n (6)
This leads to controlled ISI from the kth to the next pulse only
Possibilities in Controlled ISI Signalling
Decision rule at the receiver:
- If the sample value is positive (presentbit,previousbit)=(1,1)
- If the sample value is negative (presentbit,previousbit)=(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)=πR</em>bt(1−Rbt)sin(πR<em>bt)
The Fourier transform P(f) of the pulse p(t) is given by
P(f)=R<em>b2cos(R</em>bπf)Π(R<em>bf)e−jπf/R</em>b
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/t2
Relationship Between Zero-ISI, Duobinary, and Modified Duobinary
- Let pa(t) satisfy the first Nyquist criterion.
- Let pb(t) be a duobinary pulse.
- It is clear that p<em>a(kT</em>b) and p<em>b(kT</em>b) only differ at k=1
- One can construct p<em>b(t) from p</em>a(t) via p<em>b(t)=p</em>a(t)+p<em>a(t−T</em>b).
- 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πfT<em>b=π, or equivalently at f=0.5/T</em>b shows how duobinary signalling reshapes the PSD to reduce the essential BW to the minimum theoretical BW
Modified Duobinary