Digital Transmission
01204325: Data Communication
and Computer Networks
Adapted from lecture slides by Behrouz A. Forouzan
© The McGraw-Hill Companies, Inc. All rights reserved
Asst. Prof. Chaiporn Jaikaeo, Ph.D.
chaiporn.j@ku.ac.th
http://www.cpe.ku.ac.th/~cpj
Computer Engineering Department
Kasetsart University, Bangkok, Thailand
Outline





Line coding
Encoding considerations
DC components in signals
Synchronization
Various line coding methods
2
Line Coding

Process of converting binary data to digital
signal
3
Signal Levels vs. Data Levels

Number of signal levels


Number of different voltage levels allowed in
a signal
Number of data levels

Number of voltage levels that actually
represent data values
4
Signal vs. Data Elements
5
Pulse Rate vs. Bit Rate
+3
00
11
01
10
01
10
11
00
+1
t
-1
-3
One pulse
(one signal element)
BitRate = PulseRate × b = PulseRate × log2L
b – number of bits per pulse
L – number of different signal elements
Bit rate  Bits per second
Pulse rate  Baud (pulses or signals per second)
6
Pulse Rate vs. Bit Rate

Example: In Manchester Encoding, if the bit rate is
10 Mbps, what is the pulse rate?
0
1
0
0
1
1
0
1
t
One bit
One pulse
(one signal element)
7
Encoding Considerations

Signal spectrum






Lack of DC components
Lack of high frequency components
Clocking/synchronization
Error detection
Noise immunity
Cost and complexity
8
DC Components

DC components in signals are not desirable


Cannot pass thru certain devices
Leave extra (useless) energy on the line
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
t
Signal with
DC component
t
Signal without
DC component
1
9
Synchronization

To correctly decode a signal, receiver and
sender must agree on bit interval
0
1
0
0
1
1
0
1
Sender sends:
01001101
t
0
1
0
0
0
1
1
0
1
1
t
Receiver sees:
0100011011
10
Providing Synchronization

Separate clock wire
data
Sender
Receiver
clock

Self-synchronization
0
1
0
0
1
1
0
1
t
11
Line Coding Methods

Unipolar


Polar



Uses two voltage levels (negative and positive)
E.g., NRZ, RZ, Manchester, Differential Manchester
Bipolar


Uses only one voltage level (one side of time axis)
Uses three voltage levels (+, 0, and –) for data bits
Multilevel
12
Unipolar

Simplest form of digital encoding
Rarely used


Only one polarity of voltage is used
E.g., polarity assigned to 1
0
1
0
0
1
1
0
0
t
13
Polar Encoding


Two voltage levels (+,-) represent data bits
Most popular four




Nonreturn-to-Zero (NRZ)
Return-to-Zero (RZ)
Manchester
Differential Manchester
14
NRZ Encoding

Nonreturn to Zero

NRZ-L (NRZ-Level):
Signal level depends on bit value
0
1
0
0
1
1
1
0
t

NRZ-I (NRZ-Invert): Signal is inverted if 1 is encountered
0
1
0
0
1
1
1
0
N = Bit rate
Save = Average signal rate
t
15
RZ Encoding

Return to Zero


0
Uses three voltage levels: +, - and 0, but only
+ and - represent data bits
Half way thru each bit, signal returns to zero
1
0
0
1
1
0
0
t
?
16
Manchester Encoding

Uses an inversion at the middle of each bit


For bit representation
For synchronization
0
1
0
0
1
1
0
=0
1
t
=1
17
Differential Manchester Encoding


The inversion on the middle of each bit is
only for synchronization
Transition at the beginning of each bit
tells the value
0
1
0
0
1
1
0
1
t
18
Bipolar Encoding



Bipolar encoding uses three voltage levels: +, and 0
Each of all three levels represents a bit
E.g., Bipolar AMI (Alternate Mark Inversion)


0V always represents binary 0
Binary 1s are represented by alternating + and 0
1
0
0
1
1
0
1
t
19
BnZS Schemes

BnZS – Bipolar n-zero substitution


Based on Bipolar AMI
n consecutive zeros are substituted with some +/- levels


provides synchronization during long sequence of 0s
E.g., B8ZS
1
1
0
0
0
0
0
0
0
0
Bipolar
AMI
1
1
0
0
0
0
0
1
0
t
0
0
0
V
B
0
V
B
B8ZS
V – Bipolar violation
B – Valid bipolar signal
20
Other Schemes

mBnL


+3
m data elements are substituted with n signal
elements
E.g., 2B1Q (two binary, 1 quaternary)
00
11
01
10
01
10
11
00
+1
-1
-3
t
Bit sequence
Voltage level
00
01
10
11
-3
-1
+3
+1
21
Multilevel: 8B6T

Eight binary, six ternary
22
Block Coding


Improves the performance of line coding
Provides


Synchronization
Error detection
Division
…01011010001…
Substitution
:
0010
1101
0001
:
:
10110
01011
01010
:
Line
Coding
t
23
4B/5B Encoding Table
Data Code Data Code
Data
Code
0000 11110 1000 10010 Q (Quiet)
00000
0001 01001 1001 10011 I (Idle)
11111
0010 10100 1010 10110 H (Halt)
00100
0011 10101 1011 10111 J (start delimiter)
11000
0100 01010 1100 11010 K (start delimiter) 10001
0101 01011 1101 11011 T (end delimiter)
01101
0110 01110 1110 11100 S (Set)
11001
0111 01111 1111 11101 R (Reset)
00111
24
Analog to Digital Conversion

Pulse Amplitude Modulation (PAM)

Converts an analog signal into a series of
pulses by sampling
PAM
Analog signal
PAM signal
(Sampled analog data)
25
Pulse Code Modulation (PCM)

Converts an analog signal into a digital
signal




PAM
Quantization
Binary encoding
Line coding
26
PCM: Quantization

Converts continuous values of data to a finite
number of discrete values
6
4
Output
2
0
1
2
3
4
Input
5
6
7
27
PCM: Quantization
Quantization
28
Quantization Error

Assume sine-wave input and uniform
quantization

Known as the 6 dB/bit approximation
See also: http://en.wikipedia.org/wiki/Quantization_error#Quantization_noise_model
29
Example: Quantization Error

A telephone subscriber line must have an
SNRdB above 40. What is the minimum
number of bits per sample?
Solution
We can calculate the number of bits as
Telephone companies usually assign 7 or 8 bits per sample.
30
PCM: Binary Encoding

Maps discrete values to binary digits
31
PCM: The Whole Process
32
Minimum Sampling Rate

Nyquist Theorem:
Sampling rate must be greater than
twice the highest frequency
Ex. Find the maximum sampling
interval for recording human voice
(freq. range 300Hz – 3000Hz)
t
sampling interval
33
Nyquist’s Sampling Theorem
See also: Wagon-wheel effect
Demo: sampling.py
34
Sampling and Bit Rate

Ex. Calculate the minimum bit rate for recording
human voice, if each sample requires 60 levels
of precision
35