ELEN 602 Lecture 4 Review of last lecture –Communication basics More on transmission media Errors in Transmission
Ethernet Hub
Telephone Modem Standards Usable frequency range of 500Hz to 2900 HZ –W = 2400 HZ, signaling rate = 2400 pulses/second Use Trellis Modulation –couples error detection capability into encoding –For m bits of information, transmit (m+1) –2^(m+1) signaling levels, 2^m valid information In V.32bis standard –2400 pulses/sec, QAM 4, 4800 bits/sec –2400 pulses/sec, Trellis 32, 9600 bits/sec –2400 pulses/sec, Trellis 128, 14,000 bits/sec V.34bis standard , 4800, 9600, 14,400, 19,200, 28,800, 31,200, 33,600 bits/sec
Channel Encoder User information Pattern Checking All inputs to channel satisfy pattern/condition Channel output Deliver user information or set error alarm General Error Detection System
Calculate check bits Channel Recalculate check bits Compare Information bits Received information bits Check bits Information accepted if check bits match Received check bits Error Detection Using Check bits
x = codewordso = non-codewords x x x x x x x o o o o o o o o o o o o x x x x x x x o o o o o o o o o o o o A code with poor distance properties A code with good distance properties (a) (b) Code words
Bottom row consists of check bit for each column Last column consists of check bits for each row Two-Dimensional Parity check
Two errors One error Three errors Four errors Arrows indicate failed check bits Detectable and Undetectable Error patterns
IP Checksum code
Addition: Multiplication: Division: x 3 + x + 1 ) x 6 + x 5 x 3 + x 2 + x x 6 + x 4 + x 3 x 5 + x 4 + x 3 x 5 + x 3 + x 2 x 4 + x 2 x 4 + x 2 + x x = q(x) quotient = r(x) remainder divisor dividend 35 ) Polynomial Codes
Steps: 1) Multiply i(x) by x n-k (puts zeros in (n-k) low order positions) 2) Divide x n-k i(x) by g(x) 3) Add remainder r(x) to x n-k i(x) (puts check bits in the n-k low order positions): quotient remainder transmitted codeword b(x) = x n-k i(x) + r(x) x n-k i(x) = g(x) q(x) + r(x) Encoding Procedure
Generator polynomial: g(x)= x 3 + x + 1 Information: (1,1,0,0) i(x) = x 3 + x 2 Encoding: x 3 i(x) = x 6 + x ) x 3 + x + 1 ) x 6 + x 5 x 3 + x 2 + x x 6 + x 4 + x 3 x 5 + x 4 + x 3 x 5 + x 3 + x 2 x 4 + x 2 x 4 + x 2 + x x Transmitted codeword: b(x) = x 6 + x 5 + x b = (1,1,0,0,0,1,0) CRC Encoding example
reg 0reg 1reg 2 ++ Encoder for clockinputreg 0reg 1reg =i =i =i =i check bits:r 0 = 0r 1 = 1r 2 = 0 r(x) = x Hardware implementation
b(x) e(x) R(x) + (Receiver) (Transmitter) Error pattern Additive Error model
1. Single errors:e(x) = x i 0 i n-1 If g(x) has more than one term, it cannot divide e(x) 2. Double errors: e(x) = x i + x j 0 i < j n-1 = x i (1 + x j-i ) If g(x) is primitive, it will not divide (1 + x j-i ) for j-i 2 n-k 1 3. Odd number of errors:e(1) =1 If number of errors is odd. If g(x) has (x+1) as a factor, then g(1) = 0 and all codewords have an even number of 1s. Generator Polynomials
4. Error bursts of length b: e(x) = x i d(x) where deg(d(x)) = L-1 g(x) has degree n-k; g(x) cannot divide d(x) if deg(g(x))> deg(d(x)) L = (n-k) or less: all will be detected L = (n-k+1): deg(d(x)) = deg(g(x)) i.e. d(x) = g(x) is the only undetectable error pattern, fraction of bursts which are undetectable = 1/2 L-2 L > (n-k+1): fraction of bursts which are undetectable = 1/2 n-k L ith position error pattern d(x) Generator Polynomials (cont’d)
b e r + (receiver) (transmitter) error pattern b e r + (receiver) (transmitter) error pattern (a) Single bit input (b) Vector input General Error Model
DTEDCE Protective Ground (PGND) Transmit Data (TXD) Receive Data (RXD) Request to Send (RTS) Clear to Send (CTS) Data Set Ready (DSR) Ground (G) Carrier Detect (CD) Data Terminal Ready (DTR) Ring Indicator (RI) (b) (a) RS-232 Serial line Interface
Asynchronous Data Transmission