01204325: Data Communication and Computer Networks Digital Transmission 01204325: Data Communication and Computer Networks 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 Adapted from lecture slides by Behrouz A. Forouzan © The McGraw-Hill Companies, Inc. All rights reserved
Outline Line coding Encoding considerations DC components in signals Synchronization Various line coding methods
Line Coding Process of converting binary data to digital signal
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
Signal vs. Data Elements
One pulse (one signal element) Pulse Rate vs. Bit Rate t 00 11 01 10 -3 -1 +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)
One pulse (one signal element) Pulse Rate vs. Bit Rate Example: In Manchester Encoding, if the bit rate is 10 Mbps, what is the pulse rate? 1 1 1 1 t One bit One pulse (one signal element)
Encoding Considerations Signal spectrum Lack of DC components Lack of high frequency components Clocking/synchronization Error detection Noise immunity Cost and complexity
DC Components DC components in signals are not desirable Cannot pass thru certain devices Leave extra (useless) energy on the line t 1 Signal with DC component t 1 Signal without DC component
Synchronization To correctly decode a signal, receiver and sender must agree on bit interval t 1 Sender sends: 01001101 t 1 Receiver sees: 0100011011
Providing Synchronization Separate clock wire Self-synchronization Sender Receiver data clock t 1
Line Coding Methods Unipolar Polar Bipolar Multilevel Uses only one voltage level (one side of time axis) Polar Uses two voltage levels (negative and positive) E.g., NRZ, RZ, Manchester, Differential Manchester Bipolar Uses three voltage levels (+, 0, and –) for data bits Multilevel
Unipolar Simplest form of digital encoding Rarely used Only one polarity of voltage is used E.g., polarity assigned to 1 t 1
Polar Encoding Two voltage levels (+,-) represent data bits Most popular four Nonreturn-to-Zero (NRZ) Return-to-Zero (RZ) Manchester Differential Manchester
NRZ Encoding Nonreturn to Zero NRZ-L (NRZ-Level): Signal level depends on bit value NRZ-I (NRZ-Invert): Signal is inverted if 1 is encountered t 1 t 1 N = Bit rate Save = Average signal rate
RZ Encoding Return to Zero Uses three voltage levels: +, - and 0, but only + and - represent data bits Half way thru each bit, signal returns to zero t 1 ?
Manchester Encoding Uses an inversion at the middle of each bit For bit representation For synchronization = 0 = 1 t 1
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 t 1
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 - t 1
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 t 1 Bipolar AMI B8ZS V B V – Bipolar violation B – Valid bipolar signal
Other Schemes mBnL m data elements are substituted with n signal elements E.g., 2B1Q (two binary, 1 quaternary) t 00 11 01 10 -3 -1 +1 +3 Bit sequence Voltage level 00 -3 01 -1 10 +3 11 +1
Block Coding Improves the performance of line coding Provides Synchronization Error detection t Division Substitution Line Coding …01011010001… : 0010 1101 0001 : 10110 01011 01010
4B/5B Encoding Table Data Code Data Code 0000 11110 1000 10010 0001 01001 1001 10011 0010 10100 1010 10110 0011 10101 1011 10111 0100 01010 1100 11010 0101 01011 1101 11011 0110 01110 1110 11100 0111 01111 1111 11101 Data Code Q (Quiet) 00000 I (Idle) 11111 H (Halt) 00100 J (start delimiter) 11000 K (start delimiter) 10001 T (end delimiter) 01101 S (Set) 11001 R (Reset) 00111
Analog to Digital Conversion Pulse Amplitude Modulation (PAM) Converts an analog signal into a series of pulses by sampling Analog signal PAM signal (Sampled analog data) PAM
Pulse Code Modulation (PCM) Converts an analog signal into a digital signal PAM Quantization Binary encoding Line coding
PCM: Quantization Converts continuous values of data to a finite number of discrete values 1 2 3 4 5 6 7 Input Output
PCM: Quantization Quantization
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
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.
PCM: Binary Encoding Maps discrete values to binary digits
PCM: The Whole Process
Sampling rate must be greater than twice the highest frequency 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
Nyquist’s Sampling Theorem See also: Wagon-wheel effect Demo: sampling.py
Sampling and Bit Rate Ex. Calculate the minimum bit rate for recoding human voice, if each sample requires 60 levels of precision