error control coding
TRANSCRIPT
![Page 1: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/1.jpg)
Error Control CODING
Prepared by :
Ola MashaqiSuhad Malayshe
Mais Masri
Submitted to : Dr. Allam Mousa
![Page 2: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/2.jpg)
Topics to be discussed :
What is channel coding
Where it is used
How to detect and correct error
Hamming distance
Linear block coding
Syndrome coding
![Page 3: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/3.jpg)
Defintion of channel coding Error control coding ,detect, and often correct, symbols which are received in error
The channel encoder separates or segments the incoming bit stream into equal length blocks of L binary digits and maps each L-bit message block into an N-bit code word where N > L
There are M=2L messages and 2L code words of length N bits
•The channel decoder has the task of detecting that there has been a bit error and (if possible) correcting the bit error
![Page 4: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/4.jpg)
ARQ (Automatic-Repeat-Request ) If the channel decoder performs error detection then errors can be detected and a feedback channel from the channel decoder to the channel encoder can be used to control the retransmission of the
code word until the code word is received without detectable errors .
There are two major ARQ techniques stop and wait continuous ARQ
FEC (Forward Error Correction) If the channel decoder performs error correction then errors are not only detected but the bits in error can be identified and corrected (by bit inversion)
![Page 5: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/5.jpg)
There are two major ARQ techniques
• stop and wait, in which each block of data is positively, or negatively, acknowledged by the receiving terminal as being error free before the next data block is transmitted,
• continuous ARQ, in which blocks of data continue to be transmitted without waiting for each previous block to be acknowledged
![Page 6: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/6.jpg)
Where it used ?
• Error control coding, generally, is applied widely in control and communications systems for aerospace applications, in mobile (GSM) cellular telephony and for enhancing security in banking and barcode readers.
![Page 7: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/7.jpg)
Error Control Coding (Channel Coding)
particular error control methods : linear group codes, cyclic codes, the Golay code, BCH codes, Reed–Solomon codes and Hamming codes
![Page 8: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/8.jpg)
Block coding VS. convolutional coding
Block coding The (n,k) block code is the
code that convert k bit of themassage signal to n bit
codeword .
It block because ittake number of bits from
massage(information digit)and add redundant bits
(parity digit) to it and do soto the rest of the bits.
Convolutional Codingencoding a stream of data rather than blocks of data .
The sequence of bits in aconvolutional code depends Not only on the current bits of
databut also on previous bits of
data.
![Page 9: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/9.jpg)
Error rate control concept
How to measure error performance ? Answer is BER : the average rate at which errors occur and is
given by the product PbRbPb: probability of error Rb : bit transmission rate in the channelBUT If BER is too large ! What to do to make it smaller .. • increase transmitter power(not efficient )• Diversity : Frequency diversiy employs two different frequencies to
transmit the same information , time diversity systems the same message is transmitted more than once at different times .
• introduce full duplex transmission: implying simultaneous two-way transmission
• ARQ and FEC
![Page 10: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/10.jpg)
Hamming Distance
The Hamming distance between two code-words is defined as the number of places, bits or digits in which they differ.
•The distance is important factor since it indicates how easy to change one valid code into another.
•The weight of the codeword is defined as the number of ones in the codeword.
•Example) Calculate the hamming distance and weight of the following codeword :11100, 11011
Hamming distance = 3 bit The code word 11100 could changed to 11011The weight of the codeword 1= 3The weight of the codeword 2= 4 The minimum codeword weight =3
![Page 11: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/11.jpg)
(n, k) block codes:
with k information digits going into the coder. n digits coming out after (n −k) redundant parity check digits.
The rate, or efficiency, for this code (R) = k/n Rate is normally in the range 1/2 to unity.
![Page 12: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/12.jpg)
Linear group codes
Group codes contain the all-zeros codeword and have the property referred to as closure .
Advantage : it makes performance calculations with linear group codes particularly easy.
taking any two codewords Ci and Cj , then Ci ⊕ Cj = Ck .
![Page 13: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/13.jpg)
Example
a contain all-zeros codeword
b c=d , c d=b , b d=b . ⊕ ⊕ ⊕
![Page 14: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/14.jpg)
Performance prediction
Hamming distances measurer to determine the overall performance of a block code
consideration of each of the codewords with the all-zeroscodewordis sufficient. Example
0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1
Dmin = 3 for this (5,2) code.Consider four codewords the weights of these are 0, 3, 3 and 4. the minimum weight in the weight structure (3) is equal to Dmin,
the minimum Hamming distance for the code.
![Page 15: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/15.jpg)
Error detection and correction capability
t :The maximum possible error correcting.
Dmin :minimum Hamming distance
e : is the ability of certain code to detect errors.
t ≤ e.
![Page 16: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/16.jpg)
Error detection and correction capability
Dmin is 3 e=1 , t=1
11001 &11000If any single error occurs in one of the codewords it cantherefore be corrected. Dmin − 1 errors can be detectedthere is no error correction
Longer codes with larger Hamming distancesoffer greater detection and correction capabilityby selecting different t and e
![Page 17: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/17.jpg)
Standerd
The UK Post Office Code Standards Advisory Group(POCSAG) code
k = 21 and n = 32
R ≈ 2/3
Dmin = 6.
3 bit detection 2 bit correction capability.
![Page 18: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/18.jpg)
Syndrome decoding
syndrome is independent of the transmitted codeword and only depends on the error sequence
A decoding table tells a decoder how to correct errors that might have corrupted the code during transmission
Error location Syndrome
0000000 000
1000000 111
0100000 011
0010000 101
0001000 110
0000100 100
0000010 010
0000001 001
![Page 19: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/19.jpg)
Syndrome decoding
d is a message vector of k digits
G is the k × n generator matrix
c is the n-digit codeword corresponding to the message d,
d G = c
Where G is the generation matrix Furthermore:
H c = 0where H is the (even) parity check matrix corresponding to G
![Page 20: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/20.jpg)
Syndrome decoding
r = c ⊕ e r is the sequence received after transmitting c . e is an error vector representing the location of the errors
which occur in the received sequence r. syndrome vector s
s = H r = H (c e⊕ ) = H c H e = 0 H e =He ⊕ ⊕
s is easily calculated
![Page 21: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/21.jpg)
The generator matrix(G) : The generator matrix G foran (n, k) block code can be used to generate the appropriaten-digit codeword from any given k-digit data sequence .
Parity check matrix (H) : does not contain any codewords.
(7,4) block block code H matrix .
The right side of G is the transpose of the left hand portion of H.
Parity check section must : must contain at least two ones. rows cannot be identical.
![Page 22: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/22.jpg)
G is the k × n generator matrix . The right side of G is the transpose of the left hand portion of H. .
![Page 23: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/23.jpg)
use this syntax to Produce syndrome decoding table
t = syndtable(h)
returns a decoding table for an error-correcting binary code having codeword length n and message length
http://www.mathworks.com/help/comm/ref/syndtable.html
![Page 24: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/24.jpg)
% Use a [7,4] Hamming code.m = 3; n = 2^m-1; k = n-m;parmat = hammgen(m); % Produce parity-check matrix.trt = syndtable(parmat); % Produce decoding table.recd = [1 0 0 1 1 1 1] % Suppose this is the received vector.syndrome = rem(recd * parmat',2);syndrome_de = bi2de(syndrome,'left-msb'); % Convert to decimal.disp(['Syndrome = ',num2str(syndrome_de),... ' (decimal), ',num2str(syndrome),' (binary)'])corrvect = trt(1+syndrome_de,:) % Correction vector% Now compute the corrected codeword.correctedcode = rem(corrvect+recd,2)
![Page 25: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/25.jpg)
![Page 26: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/26.jpg)
Matlab
n = 6; k = 4; % Set codeword length and message length
% for a [6,4] code.
msg = [1 0 0 1 1 0 1 0 1 0 1 1]'; % Message is a binary column.
code = encode(msg,n,k,'cyclic'); % Code will binary column.
msg'
code'
![Page 27: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/27.jpg)
msg consists of 12 entries, which are interpreted as three 4-digit (because k = 4) messages. The resulting vector codecomprises three 6-digit (because n = 6) codewords, which are concatenated to form a
vector of length 18. The parity bits are at the beginning of each codeword
![Page 28: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/28.jpg)
Matlab :hamming code Create a Hamming Code in Binary Format Using Simulink
![Page 29: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/29.jpg)
Matlab :hamming codeReduce the Error Rate Using a Hamming Code
![Page 30: error control coding](https://reader031.vdocument.in/reader031/viewer/2022012322/554f4768b4c905423f8b4a0e/html5/thumbnails/30.jpg)