CCN Lecture 5
CCN Lecture 5
Lecture 5
Digital Transmission
5.3
Figure 4.1 Line coding and decoding
5.4
Mapping Data symbols
onto Signal levels
A data symbol (or element) can
consist of a number of data bits:
1 , 0 or
11, 10, 01, ……
A data symbol can be coded into a
single signal element or multiple
signal elements
1 -> +V, 0 -> -V
1 -> +V and -V, 0 -> -V and +V
The ratio ‘r’ is the number of data
elements carried by a signal element.
5.5
Relationship between
data rate and signal
rate
The data rate defines the number of
5.6
Figure 4.2 Signal element versus data element
5.7
Data rate and Baud
rate
The baud or signal rate can be
expressed as:
S = c x N x 1/r bauds
where N is data rate
c is the case factor (worst,
best & avg.)
r is the ratio between data
element & signal element
5.8
Example 4.1
Solution
We assume that the average value of c
is 1/2 . The baud rate is then
5.9
Note
4.10
Example 4.2
Solution
A signal with L levels actually can
carry log2L bits per level. If each
level corresponds to one signal element
and we assume the average case (c =
1/2), then we have
5.11
Considerations for choosing
a good signal element
referred to as line
encoding
Baseline wandering - a receiver will
5.15
Example 4.3
5.16
Line encoding C/Cs
Error detection - errors occur
during transmission due to line
impairments.
Some codes are constructed such
that when an error occurs it can be
detected. For example: a particular
signal transition is not part of
the code. When it occurs, the
receiver will know that a symbol
error has occurred.
5.17
Line encoding C/Cs
Noise and interference - there
are line encoding techniques
that make the transmitted
signal “immune” to noise and
interference.
This means that the signal
cannot be corrupted, it is
stronger than error detection.
5.18
Line encoding C/Cs
Complexity - the more robust
and resilient the code, the
more complex it is to
implement and the price is
often paid in baud rate or
required bandwidth.
5.19
Figure 4.4 Line coding schemes
5.20
Unipolar
All signal levels are on one side of
the time axis - either above or below
NRZ - Non Return to Zero scheme is an
example of this code. The signal
level does not return to zero during
a symbol transmission.
Scheme is prone to baseline wandering
and DC components. It has no
synchronization or any error
detection. It is simple but costly in
power consumption.
5.21
Figure 4.5 Unipolar NRZ scheme
5.22
Polar - NRZ
The voltages are on both sides of the
time axis.
Polar NRZ scheme can be implemented
with two voltages. E.g. +V for 1 and
-V for 0.
There are two versions:
NZR - Level (NRZ-L) - positive voltage
for one symbol and negative for the other
NRZ - Inversion (NRZ-I) - the change or
lack of change in polarity determines the
value of a symbol. E.g. a “1” symbol
inverts the polarity a “0” does not.
5.23
Figure 4.6 Polar NRZ-L and NRZ-I schemes
5.24
Note
5.25
Note
5.26
Note
5.27
Example 4.4
Solution
The average signal rate is S= c x N x R
= 1/2 x N x 1 = 500 kbaud. The minimum
bandwidth for this average baud rate is
Bmin = S = 500 kHz.
5.30
Polar - Biphase:
Manchester and
Differential
Manchester
Manchester coding consists
the NRZ-L and RZ schemes.
of combining
5.31
Figure 4.8 Polar biphase: Manchester and differential Manchester schemes
5.32
Note
5.33
Note
5.34
Bipolar - AMI and
Pseudoternary
Code uses 3 voltage levels: - +, 0,
-, to represent the symbols (note not
transitions to zero as in RZ).
Voltage level for one symbol is at
“0” and the other alternates between
+ & -.
Bipolar Alternate Mark Inversion
(AMI) - the “0” symbol is represented
by zero voltage and the “1” symbol
alternates between +V and -V.
Pseudoternary is the reverse of AMI.
5.35
Figure 4.9 Bipolar schemes: AMI and pseudoternary
5.36
Bipolar C/Cs
It is a better alternative to
NRZ.
Has no DC component or baseline
wandering.
Has no self synchronization
because long runs of “0”s results
in no signal transitions.
No error detection.
5.37
Multilevel Schemes
In these schemes we increase the
number of data bits per symbol
thereby increasing the bit rate.
Since we are dealing with binary data
we only have 2 types of data element
a 1 or a 0.
We can combine the 2 data elements
into a pattern of “m” elements to
create “2m” symbols.
If we have L signal levels, we can
use “n” signal elements to create Ln
signal elements.
5.38
Code C/Cs
Now we have 2m symbols and Ln signals.
If 2m > Ln then we cannot represent the
data elements, we don’t have enough
signals.
If 2m = Ln then we have an exact mapping
of one symbol on one signal.
If 2m < Ln then we have more signals than
symbols and we can choose the signals
that are more distinct to represent the
symbols and therefore have better noise
immunity and error detection as some
signals are not valid.
5.39
Note
5.40
Representing
Multilevel Codes
We use the notation mBnL, where
m is the length of the binary
pattern, B represents binary
data, n represents the length of
the signal pattern and L the
number of levels.
L = B binary, L = T for 3
ternary, L = Q for 4 quaternary.
5.41
Figure 4.10 Multilevel: 2B1Q scheme
5.42
Redundancy
In the 2B1Q scheme we have no redundancy
and we see that a DC component is
present.
If we use a code with redundancy we can
decide to use only “0” or “+” weighted
codes (more +’s than -’s in the signal
element) and invert any code that would
create a DC component. E.g. ‘+00++-’ ->
‘-00--+’
Receiver will know when it receives a “-”
weighted code that it should invert it as
it doesn’t represent any valid symbol.
5.43
Figure 4.11 Multilevel: 8B6T scheme
5.44
Multilevel using
multiple
In some cases, channels
we split the signal
transmission up and distribute it over
several links.
The separate segments are transmitted
simultaneously. This reduces the signalling
rate per link -> lower bandwidth.
This requires all bits for a code to be
stored.
xD: means that we use ‘x’ links
YYYz: We use ‘z’ levels of modulation where
YYY represents the type of modulation (e.g.
pulse ampl. mod. PAM).
Codes are represented as: xD-YYYz
5.45
Figure 4.12 Multilevel: 4D-PAM5 scheme
5.46
Multitransition Coding
Because of synchronization requirements we
force transitions. This can result in very
high bandwidth requirements -> more
transitions than are bits (e.g. mid bit
transition with inversion).
Codes can be created that are differential
at the bit level forcing transitions at bit
boundaries. This results in a bandwidth
requirement that is equivalent to the bit
rate.
In some instances, the bandwidth requirement
may even be lower, due to repetitive
patterns resulting in a periodic signal.
5.47
Figure 4.13 Multitransition: MLT-3 scheme
5.48
MLT-3
Signal rate is same as NRZ-I
But because of the resulting
bit pattern, we have a
periodic signal for worst
case bit pattern: 1111
This can be approximated as
an analog signal a frequency
1/4 the bit rate!
5.49
Table 4.1 Summary of line coding schemes
5.50
Block Coding
For a code to be capable of error
detection, we need to add redundancy,
i.e., extra bits to the data bits.
Synchronization also requires redundancy -
transitions are important in the signal
flow and must occur frequently.
Block coding is done in three steps:
division, substitution and combination.
It is distinguished from multilevel coding
by use of the slash - xB/yB.
The resulting bit stream prevents certain
bit combinations that when used with line
encoding would result in DC components or
poor sync. quality.
5.51
Note
5.52
Figure 4.14 Block coding concept
5.53
Figure 4.15 Using block coding 4B/5B with NRZ-I line coding scheme
5.54
Table 4.2 4B/5B mapping codes
5.55
Figure 4.16 Substitution in 4B/5B block coding
5.56
Redundancy
A 4 bit data word can have 24
combinations.
A 5 bit word can have 25=32
combinations.
We therefore have 32 - 26 = 16
extra words.
Some of the extra words are
used for control/signalling
purposes.
5.57
Example 4.5
Solution
First 4B/5B block coding increases the
bit rate to 1.25 Mbps. The minimum
bandwidth using NRZ-I is N/2 or 625
kHz. The Manchester scheme needs a
minimum bandwidth of 1.25 MHz. The
first choice needs a lower bandwidth,
but has a DC component problem; the
second choice needs a higher bandwidth,
5.58
Figure 4.17 8B/10B block encoding
5.59
More bits - better error
detection
The 8B10B block code adds
more redundant bits and can
thereby choose code words
that would prevent a long run
of a voltage level that would
cause DC components.
5.60
Scrambling
The best code is one that does not
increase the bandwidth for
synchronization and has no DC components.
Scrambling is a technique used to create
a sequence of bits that has the required
c/c’s for transmission - self clocking,
no low frequencies, no wide bandwidth.
It is implemented at the same time as
encoding, the bit stream is created on
the fly.
It replaces ‘unfriendly’ runs of bits
with a violation code that is easy to
recognize and removes the unfriendly c/c.
5.61
Figure 4.18 AMI used with scrambling
5.62
For example: B8ZS substitutes eight
consecutive zeros with 000VB0VB.
The V stands for violation, it violates the
line encoding rule
B stands for bipolar, it implements the
bipolar line encoding rule
5.63
Figure 4.19 Two cases of B8ZS scrambling technique
5.64
HDB3 substitutes four consecutive
zeros with 000V or B00V depending
on the number of nonzero pulses after
the last substitution.
If # of non zero pulses is even the
substitution is B00V to make total # of
non zero pulse even.
If # of non zero pulses is odd the
substitution is 000V to make total # of
non zero pulses even.
5.65
Figure 4.20 Different situations in HDB3 scrambling technique
5.66