Error Control Coding Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria
Topics Introduction The Channel Coding Problem Linear Block Codes Cyclic Codes BCH and Reed-Solomon Codes Convolutional Codes 28 Error Control Coding 2
Errors in Information Transmission Digital Communications: Transporting information from one place to another using a sequence of symbols, e.g. bits. Received bits: a corrupted version of the transmitted bits. 1111 Noise & interference: The received sequence may differ from the transmitted one.. 11111 28 Error Control Coding Transmitted bits 3
Errors in Information Transmission Magnetic recording Track Some of the bits may change during the transmission from the disk to the disk drive Sector 11111111111 28 Error Control Coding 4
Deep Space Communications 28 Error Control Coding 5
ISBN Codes 28 Error Control Coding 6
Bar Codes 28 Error Control Coding 7
Errors 28 Error Control Coding 8
Digital Communication System 28 Error Control Coding 9
28 Error Control Coding 1
Performance in AWGN Consider an AWGN channel with SNR E b /N BER BPSK = Q 2E b N 1 y 2 /2 Q( x) e dy 2 x BER BFSK = 1 2 e E b /2N 28 Error Control Coding 11
Performance of BPSK and BFSK 28 Error Control Coding 12
28 Error Control Coding 13
Communications System Design Goals Maximize bit rate - R b Minimize the probability of error (BER) - P b Minimize required SNR - E b /N Minimize required bandwidth - W Maximize system utilization - Capacity Minimize system complexity and cost - $ 28 Error Control Coding 14
System Constraints Minimum bandwidth based on the modulation used Channel capacity Government regulations Technological limitations Other requirements (i.e. cost and complexity) 28 Error Control Coding 15
Claude Shannon (1916-21) 28 Error Control Coding 16
A Mathematical Theory of Communications, BSTJ, July 1948 ``The fundamental problem of communication is that of reproducing at one point exactly or approximately a message selected at another point. If the channel is noisy it is not in general possible to reconstruct the original message or the transmitted signal with certainty by any operation on the received signal. 28 Error Control Coding 17
Channel Capacity An important question for a communication channel is the maximum rate at which it can transfer information. The channel capacity C is a theoretical maximum rate below which information can be transmitted error free over the channel. The channel capacity C is given by C = W log(1+p/n W) b/s where W is the bandwidth, P is the signal power and N W is the noise power. 28 Error Control Coding 18
Shannon s Noisy Channel Coding Theorem With every channel we can associate a ``channel capacity C. There exist error control codes such that information can be transmitted across the channel at rates less than C with arbitrarily low bit error rate. There are only two factors that determine the capacity of a channel: Bandwidth (W) Signal-to-Noise Ratio (SNR) E b /N 28 Error Control Coding 19
Channel Capacity Let Rb C P C W log2 1 NW E PT P E R C W C W E N b log2 1 log 2 1 C/ W 2 1 C / W 28 Error Control Coding b b b ER b NW Eb C N W 2
Bandwidth Efficiency Plane 28 Error Control Coding 21
Digital Communication Model with Coding 28 Error Control Coding 22
Power Efficiency 28 Error Control Coding 23
Performance of Turbo Codes Theoretical Limit! Comparison: Rate R=1/2 Codes K=5 turbo code K=14 convolutional code Gain of almost 2 db! 28 Error Control Coding 24
The Turbo Principle Turbo codes are so named because the decoder uses feedback, like a turbo-charged engine. 28 Error Control Coding 25
BER Performance as a Function of Number of Iterations 1 1-1 1-2 1-3 1 iteration 2 iterations K=5 R=1/2 n=65,536 1-4 6 iterations 3 iterations 1-5 1 iterations 1-6 18 iterations 1-7.5 1 1.5 2 E b /N o in db 28 Error Control Coding 26
Performance of Various Codes 28 Error Control Coding 27
Code Imperfectness Relative to the Sphere-Packing Bound 28 Error Control Coding 28
Randomly Interleaved SPC Product Codes with BER = 1-5 28 Error Control Coding 29
ASCII Character Set 28 Error Control Coding 3
SPC Code Example 1 ASCII symbols E = 111 c = 1111 G = 1111 c = 1111 Received word r = 111 28 Error Control Coding 31
Triple Repetition Code Decoding Received Word Codeword Error Pattern 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 28 Error Control Coding 32
( m) Triple Repetition Code Encoder: Repeat each bit three times ( c, c, c ) ( m, m, m) 1 2 3 codeword BSC ˆm Decoder: Take the majority vote ( r1, r2, r3 ) Corrupted codeword 28 Error Control Coding 33
Triple Repetition Code (Cont.) m = () (,,) Encoder codeword BSC () Decoder (1,,) Successful decoding! Corrupted codeword Decoding: majority voting 28 Error Control Coding 34
Transmission Errors A communication channel can be modeled as a Binary Symmetric Channel (BSC) Sender Receiver Information bits 11 111 BSC Received bits 111 11 Each bit is flipped with probability p 28 Error Control Coding 35
Binary Symmetric Channel Transmitted symbols are binary Errors affect s and 1s with equal probability (symmetric) Errors occur randomly and are independent from bit to bit (memoryless) 1-p p INPUT OUTPUT p 1 1 1-p 28 Error Control Coding p is the probability of bit error - Crossover probability 36
Binary Symmetric Channel If n symbols are transmitted, the probability of an m error pattern is p m The probability of exactly m errors is p m The probability of m or more errors is n im p 1 p n m nm n 1 p i m n i 1 n p i 28 Error Control Coding 37
Example The BSC bit error probability is p < majority vote or nearest neighbor decoding, 1, 1, 1 111, 11, 11, 11 111 the probability of a decoding error is 3p 2 (1 p) p 3 3p 2p Example: If p =.1, then P e (C) =.298 and only one word in 3555 will be in error after decoding. 2 3 p 1 2 28 Error Control Coding 38
Single Parity Check Code Example Consider the 2 11 binary words of length 11 as datawords Let the probability of error be 1-8 Bits are transmitted at a rate of 1 7 bits per second The probability that a word is transmitted incorrectly is approximately 1 11 11p1 p 8 1 7 11 1 Therefore 8 11.1 words per second are transmitted 1 incorrectly. One wrong word is transmitted every 1 seconds, 36 erroneous words every hour and 864 words every day without being detected! 28 Error Control Coding 39
SPC Code Example (Cont.) Let one parity bit be added Any single error can be detected The probability of at least 2 errors is 66 1 1 12 11 12 1 2 1 p 121 p p 2 1 p p 16 66 9 5.51 7 1 Therefore approximately 16 1 12 words per second are transmitted with an undetectable error An undetected error occurs only every 2 days (2 1 9 /(5.5 864)) 28 Error Control Coding 4
Performance of BPSK and BFSK 28 Error Control Coding 41
Coded Performance BPSK modulation in an AWGN channel E b /N = 1 db Demodulated BER = 3.91-6 Using the (15,11) Hamming code Code rate is 11/15 =.73 Received E b /N = 8.65 db (loss 1.35 db) Demodulated BER = 5.41-5 After decoding (single error correcting code) BER = 5.61-8 Coding gain 11.5 1 = 1.5 db 28 Error Control Coding 42
Coding Gain with the (15,11) Hamming Code 28 Error Control Coding 43