Uploaded by sai

Error Correction Codes

advertisement
Error Correction Codes
1. Dealing with errors (
1.to
include
enough
redundant
information along each block of the data
that is sent
2.to include only enough redundancy to
allow the receiver to deduce that an error
occurred , but not which error and have it
request a retransmission
2. Types of error correcting codes (1.Hamming codes
2. Binary convolutional codes
3. Reed-solomon codes
4. Low density parity check codes
1. Hamming codes
1. Usage (it is used for error correction that may occur when the data
is sent from the sender to the receiver)
2. Redundant bits? (Extra binary bits that are generated and added to
the original data to ensure that no bits were lost
during the data transfer)
3. Placing the redundant bits (they are placed at certain calculated
positions to eliminate errors)
4. Hamming distance (distance between two redundant bits is
called hamming distance)
1
Example −
Construct the even parity Hamming code word for a data byte 1001101.
2. Binary convolutional codes.
1) Role of encoder (process a sequence of input bits and generates a
sequence of output bits, the output depends on the
current and previous inputs bits)
2) Constraint length (the number of previous bits on which the output
depends is called the constraint length of the code)
3) Specifying convolutional codes ( in terms of their rate and constraint
length)
4) Usage? ( GSM mobile phones, satellite communication ,deployed
networks etc)
5)Diagram
2
1) What each input bit produces? ( two output bits which that are XOR
sums of input and internal state)
2) Code rate? (since each input bit produces two output bits therefore
the code rate is 1/2)
3) Keeping the internal state? ( in six memory registers , each time when
a new input bit comes in ,the values in
the registers shifted to right)
4) Decoding convolutional bits? (A convolutional code is decoded by
finding the sequence of input bits that
is most likely to have produced the
observed sequence of output bits)
3. Reed-Solomon codes.
1) Linear block codes ( they are often systematic )
2) Hamming vs Reed Solomon codes? ( hamming codes operate on
individual bits whereas Reed
Solomon codes operate on m bit
symbols)
3
3) Basis of Reed-Solomon codes ( every n degree polynomial is
uniquely determined by n+1 points)
4) Length of code words (For m bit symbols, the code words are 2m−1
symbols long. A popular choice is to make m = 8
so that symbols are bytes. A code word is then
255 bytes long. The (255, 233) code is widely
used; it adds 32 redundant symbols to 233 data
symbols.)
5) Widely used ( because of their strong error correction properties ,
particularly for burst errors)
6) Examples of usage( data over cable, satellite communications, and
perhaps most ubiquitously on CDs, DVDs, and
Blu-ray discs)
7) Reed-Solomon + convolutional code (By adding a Reed-Solomon
code within the convolutional code,
the Reed-Solomon decoding can mop
up (wash out) the error bursts, a task
at which it is very good)
4. Low-Density Parity Check codes.
1. Linear block codes ( invented by Robert Gallagher)
2. Forming of output bits( from only a fraction of input bits , which leads
to a matrix representation of the code that
has a low density of 1’s)
3. Usage ( for large block sizes and have excellent error-correction
abilities that out performs many other codes in practice)
4
4. Approximation algorithm( the received code word is decoded with an
approximation algorithm that iteratively improves on a best bit of the
received data to a legal code word)
5
Download