Uploaded by 20180154

lab 1c

advertisement
Design of Decoder implementation
 Objective
The main concept in this implementation is the ability to detect and
correct the errors caused by the channel as all channels are noisy and
reliable so we use channel coding for error detection and error correction.
 Overview
Standard array is defined as for an (n, k) linear block code, all possible 2n
received vectors are arranged in an array, called the standard array, such
that the first row contains the set of all the 2 k codewords {U}, starting
with the all-zeros codeword (the all-zeros sequence must be a member of
the codeword set). The term codeword is exclusively used to indicate a
valid codeword entry in the first row of the array. The term vector is used
to indicate any ordered sequence. The first column of the standard array
contains all the correctable error patterns, each row, called a coset,
consists of a correctable error pattern in the leftmost position, called a
coset leader, followed by corrupted codewords (corrupted by that error
pattern). The structure of the standard array for an (n, k) code as shown in
figure 1.1.
Figure 1.1 Standard array
The array contains all 2n n-tuples in the space (each n-tuple appears only
once). Each coset or row contains 2k n-tuples. Therefore, there are 2n /2k
so it is 2n-k cosets (or rows).
 Steps for error detection and correction:
Let H be the parity check matrix, let r the received vector
1. Compute S = r HT.
• If S
0 then there is no error so accept r as the transmitted code
word.
• But if S
0 then there is an error occurred and it isn't a valid
codeword.
2. Obtain error pattern of the corresponding S.
3. U = r
e.
 Procedure
First, We assumed an (6,3) decoding table with syndrome and Coset
leader as shown in table 1.1.
Table 1.1 (6,3) Code
e
000 001
000 010
000 100
001 000
010 000
100 000
S
101
011
110
001
010
100
» Step by step decoding
1. S= r HT so S = [ r1 r2 r3 r4 r5 r6 ] [ 1 0 0
010
001
110
011
101]
So syndrome circuit S = [ r1 ⊕ r4 ⊕ r6 r2 ⊕ r4 ⊕ r5 r3 ⊕ r5 ⊕ r6 ] and
from the result received vector is xor with each other to get S1 , S2 and S3
then the general syndrome circuit is shown in figure 1.2.
Figure 1.2 General Syndrome Circuit
The general decoder for an (n , k ) linear code based on the table-lookup
so the decoder implementation simulation by using proteus as shown in
figure 1.3.
Figure 1.3 General Syndrome Circuit
Figure 1.3 Decoder Implementation
We assumed that our received vector r = [ 1 0 1 1 0 1 ] and after
calculating the syndrome S = [ 1 1 0 ] so the value of error patterns will
be as following :
1.
2.
3.
4.
5.
6.
The result of AND gate of [ 1 0 0 ] so e1 will be 0.
The result of AND gate of [ 0 1 0 ] so e2 will be 0.
The result of AND gate of [ 1 1 1 ] so e3 will be 1.
The result of AND gate of [ 0 0 0 ] so e4 will be 0.
The result of AND gate of [ 0 1 1 ] so e5 will be 0.
The result of AND gate of [ 1 0 1 ] so e6 will be 0.
Then after knowing the error pattern, the Value of codeword will be as
U = [ 1 0 0 1 0 1 ] so the error in the third bit and it is corrected as shown
in figure 1.4.
Figure 1.4 Error detection and Correction of r
 Conclusion
We discussed one of error detection and correction methods and it is
standard array by assuming an error bit in received vector and making its
decoder implementation diagram using proteus.
Download