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