Note: these slides are adopted and modified
from Dr. Huseyin Bilgekul slides on the course
Eeng360 Communication Systems I
Department of Electrical and Electronic
Engineering
Eastern Mediterranean University
Line Codes and Their Spectra
➢ Types of Line Codes
➢ Comparison of Line Codes
➢ PSD of Line Codes
Line Codes in PCM
• The output of an ADC can be transmitted over a baseband channel.
• The digital information must first be converted into a physical signal.
• The physical signal is called a line code. Line coders use the terminology mark to
mean binary one and space to mean binary zero.
Analog
Input
Signal
Sample
X
Quantize ADC
XQ
Encode
Xk
Line
Code
x(t) PCM signal
Line codes
1 1 0 1 0 0 1 BINARY DATA
(a) Punched Tape Mark Mark space Mark space space Mark
(hole) (hole) (hole) (hole)
Volts
A
0
(b) Unipolar NRZ
Tb Time
(Non-return to zero)
A
(c) Polar NRZ 0
-A
0
(d) Unipolar RZ
(Return to zero)
A
(e) Bipolar RZ 0
-A
A
(f) Manchester NRZ 0
-A
Binary Signaling Formats
Goals of Line Coding
• A line code is designed to meet several goals:
• Self-synchronization.
• The ability to recover timing from the signal itself.
• Long series of ones and zeros could cause a problem.
• Low probability of bit error.
• The receiver needs to be able to distinguish the waveform associated
with a mark from the waveform associated with a space, even if
there is a considerable amount of noise and distortion in the
channel.
• Spectrum that is suitable for the channel.
• In some cases DC components should be avoided if the channel has a
DC blocking capacitance.
• The transmission bandwidth should be minimized.
Line Coder
Digital
Data ak Line Coder
Physical x(t ) =
Waveform
k =−
ak p (t − kTb )
• The input to the line encoder is a sequence of values ak that is
a function of a data bit or an ADC output bit.
• The output of the line encoder is a waveform:
x(t ) = a
k =−
k p (t − kTb )
• Where p(t) is the Pulse Shape and Tb is the Bit Period
• Tb =Ts/n for n bit quantizer (and no parity bits).
• Rb =1/Tb=nfs for n bit quantizer (and no parity bits).
• The operational details of this function are set by the particular
type of line code that is being used.
Types of Line Codes
• Each line code is described by a symbol mapping function ak and
a pulse shape p(t):
x(t ) = a
k =−
k p (t − kTb )
• Categories of line codes:
• Symbol mapping functions (ak).
• Unipolar
• Polar
• Bipolar (a.k.a. alternate mark inversion, pseudoternary)
• Pulse shapes p(t).
• NRZ (Nonreturn-to-zero)
• RZ (Return to Zero)
• Manchester (split phase)
Eeng 360 7
Unipolar NRZ Line Code
• The unipolar nonreturn-to-zero line code is defined by the
unipolar mapping:
+ A when X k = 1
ak =
0 when X k = 0
• where Xk is the kth data bit.
• In addition, the pulse shape for unipolar NRZ is:
t
p(t ) = NRZ pulse shape
• Where Tb is the bit period.
Tb
Hard to recover symbol timing
Note the DC component when long string of 0s or 1s.
This means wasted power!
1 0 1 1 0 1
A
0 Tb 2Tb 3Tb 4Tb 5Tb
Unipolar RZ Line Code
• The unipolar return-to-zero line code has the same symbol
mapping but a different pulse shape than unipolar NRZ:
+ A when X k = 1
ak =
0 when X k = 0
t
p(t ) = RZ pulse shape
Tb / 2
Long strings of 1’s no longer a problem.
Pulse of half the duration of NRZ
However strings of 0’s still problem.
requires twice the bandwidth!
1 0 1 1 0 1
A
0 Tb 2Tb 3Tb 4Tb 5Tb
Polar Line Codes
• Polar line codes use the antipodal mapping:
+ A when X k = 1
ak =
− A when X k = 0
• Polar NRZ uses NRZ pulse shape.
• Polar RZ uses RZ pulse shape.
No DC component,
so more energy efficient.
1 0 1 1 0 1
A
Polar NRZ
Now we can handle
long strings of 0’s, too.
A
Polar RZ
−A
Manchester Line Codes
• Manchester line codes use the antipodal mapping
and the following split-phase pulse shape:
p (t )
t + Tb / 4 t − Tb / 4
p (t ) = −
b T / 2 b T / 2
1 0 1 1 0 1
• Easy synchronization and better spectral characteristics than polar RZ.
Bipolar Line Codes
• With bipolar line codes a space is mapped to zero and a mark is
alternately mapped to -A and +A:
0 when X k = 0
ak = − A when X k = 1 and last mark → + A
+ A when X k = 1 and last mark → − A
• Also called pseudoternary signalling and alternate mark
inversion (AMI).
• Either RZ or NRZ pulse shape can be used.
1 0 1 1 0 1
A
Bipolar (RZ)
−A
Comparison of Line Codes
• Self-synchronization:
• Manchester codes have built in timing information because
they always have a zero crossing in the center of the pulse.
• Polar RZ codes tend to be good because the signal level
always goes to zero for the second half of the pulse.
• NRZ signals are not good for self-synchronization.
• Error probability:
• Polar codes perform better (are more energy efficient) than
Unipolar or Bipolar codes.
• Channel characteristics:
• We need to find the PSD of the line codes to answer this ...
Power Spectra for Binary Line Codes
➢ PSD can be calculated using the autocorrelation function:
t
➢ A digital signal is represented by s (t ) = an f (t = nTs ) ; f (t ) = for unipolar NRZ
n =− Ts
f(t) - Symbol Pulse shape; Ts - Duration of one symbol;
Binary signaling : Ts= Tb , Multilevel signaling: Ts= lTb
➢ PSD depends on:
(1) The pulse shape used
(2) Statistical properties of data expressed by the autocorrelation function
➢ The PSD of a digital signal is given by:
2
−
F( f )
Ps ( f ) =
Ts
R ( k )e
k =
− j 2 kfTs
Where { f (t )} = F ( f )
I
R(k ) = (an an + k )i Pi The autocorrelation function of data
i =1
an and an + k are levels of the data pulses at the n ' th and (n + k )'th symbol positions
Pi Probability of having the ith an an + k product
Eeng 360 14
PSD for Polar NRZ Signaling
Possible levels for the a’s : +A and -A
I
R (k ) = (an an + k )i Pi an and an + k are the level of the pulses at the nth and ( n + k )th symbols
i =1
2
1 1
R (0) = ( an an )i Pi = A2 + (− A) 2 = A2
i =1 2 2
4
For k 0, R(k ) = (an an + k ) Pi = A21/ 4 + ( − A)( A)1/ 4 + ( A)( − A)1/ 4 + ( − A) 21/ 4 = 0
i =1
A2 , k = 0
R polar (k ) =
0, k 0
F( f )
2
sin fTb
2 kfTs
f (t ) = (t / Tb ) F ( f ) = Tb
fTb
Ps ( f ) =
Ts
k =−
R (k ) e
2
sin fTb
PPolar NRZ ( f ) = A Tb
2
fTb
PSD for line codes
Unipolar NRZ
2
A2Tb sin fTb 1
PUni. NRZ ( f ) = 1 + ( f )
4 fTb Tb
Polar NRZ
2
sin fTb
PPolar NRZ ( f ) = A Tb
2
fTb
Bit rate: R=1/Tb
PSD for line codes 2
A2Tb sin fTb / 2 1
n
Unipolar RZ PUni. RZ ( f ) =
16 fTb / 2
1 + ( f − T )
Tb n =− b
Bipolar RZ 2
A Tb sin fTb
2
PBipolar RZ ( f ) = sin ( fTb )
2
4 fTb
Manchester
NRZ
2
sin fTb / 2
PManch. NRZ ( f ) = A2Tb sin ( fTb / 2 )
2
fTb / 2
Bit rate: R=1/Tb