linear block codessite.iugaza.edu.ps/.../files/2010/02/linear-block-codes.pdftitle microsoft...
TRANSCRIPT
![Page 1: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/1.jpg)
Linear Block Codes
![Page 2: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/2.jpg)
Outline
• Definition of Linear and systemic codes.
• Generator Matrix.
• Parity check matrix / encoding.
•• Dual code.
• Standard Arrays decoding.
• Syndrome decoding.
• Error detecting and correcting capabilities.
EELE 6338 2
![Page 3: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/3.jpg)
Definition of Linear Codes
• Let u be a k-bit information sequence;
v be the corresponding n-bit codeword.
• A total of 2k n-bit codewords constitute (n,k) code.• A total of 2 n-bit codewords constitute (n,k) code.
• Linear code: The sum of any two codewords is a
codeword.
• Observation: The all-zero sequence is a codeword
in every linear block code.
EELE 6338 3
![Page 4: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/4.jpg)
Systematic codes
• Any linear block code can be put in systematic
form
EELE 6338 4
n-k
check bits
k
information bits
![Page 5: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/5.jpg)
Generator Matrix
• All 2k codewords can be generated
from a set of k linearly independent
codewords.
• Let g0, g
1, …, g
k-1be a set of k
= 1
0
g
g
G
• Let g0, g
1, …, g
k-1be a set of k
independent codewords.
• v = u·G
=
−1
1
kg
g
MG
EELE 6338 5
![Page 6: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/6.jpg)
Generator Matrix (cont’d)
• The simplest choice of this set is the kcodewords corresponding to the information sequences that have a single nonzero element.
• Illustration: The generating set for the (7,4) • Illustration: The generating set for the (7,4) code:
1000 ===> 1101000
0100 ===> 0110100
0010 ===> 1110010
0001 ===> 1010001
EELE 6338 6
![Page 7: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/7.jpg)
Linear Code Example
EELE 6338 7
![Page 8: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/8.jpg)
Generator Matrix (cont’d)
• Every codeword is a linear combination of these 4 codewords.
That is:
v = u∙ G
1 1 0
0 1 1
1 0 0 0
0 1 0 0
• Storage requirement reduced from 2k(n+k) to k(n-k).
EELE 6338 8
[ ]G P | Ik
=
=
× − ×
0 1 1
1 1 1
1 0 1
0 1 0 0
0 0 1 0
0 0 0 1
k n k k k( )
124 34 1 24 34
![Page 9: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/9.jpg)
Generator matrix example (3.2)
EELE 6338 9
![Page 10: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/10.jpg)
Parity-Check Matrix
For G = [ P | Ik], define the matrix H = [I
n-k| PT]
(The size of H is (n-k)xn).
Check that GHT = 0.
Since v = uG, then vHT = uGHT = 0.
EELE 6338 10
H =
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1
=
1000101
0100111
0010110
0001011
G
![Page 11: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/11.jpg)
Encoding Using H Matrix
(Parity Check Equations)
[ ]6543210
011
100
010
001
vvvvvvv =
0
EELE 6338 11
[ ]
3212
2101
3200
6542
5431
6530
6542
5431
6530
6543210
uuu=v
uuu=v
uuu=v
vvv=v
vvv=v
vvv=v
0vvv+v
0vvv+v
0vvv+v
101
111
110
++
++
++
⇒
++
++
++
⇒
=++
=++
=++
information
![Page 12: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/12.jpg)
Encoding Circuit
EELE 6338 12
![Page 13: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/13.jpg)
The Dual Code
• The H matrix, formed from G, has (n-k) rows
of length n that are linearly independent.
• The H matrix can therefore be used to generate
an (n,n-k) linear code C .an (n,n-k) linear code Cd.
• Cd
is called the dual code of the code C
generated by G.
EELE 6338 13
![Page 14: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/14.jpg)
More on the Minimum Distance of Linear Codes
• DF: The weight of a codeword v , denoted by w(v), is the number of the nonzero elements in the codeword.
• DF: Hamming distance between v and w, denoted by d(v,w), is the number of locations where they differ.Note that d(v,w) = w(v+w)
• DF: The minimum weight of a code, w , is the smallest • DF: The minimum weight of a code, wmin
, is the smallest
weight of the nonzero codewords in the code.wmin
= min {w(v): for every v in C; v ≠0}.
• DF: The minimum distance of the code d
min= min {d(v,w): v,w in C, v ≠ w}
• TH3.1: In any linear code, dmin
= wmin
EELE 6338 14
![Page 15: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/15.jpg)
Minimum Distance, Cont.
• TH3.2 For each codeword of Hamming weight l there exists l
columns of H such that the vector sum of these columns is
zero. Conversely, if there exist l columns of H whose vector
sum is zero, there exists a codeword of weight l.
• COL 3.2.2• COL 3.2.2
dmin
of C is equal to the minimum numbers of columns in H
that sum to zero.
• Demo:
H matrix of (7,4)
Hamming code.
EELE 6338 15
=
1110100
0111010
1101001
H
![Page 16: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/16.jpg)
Standard Array (�)
k
k
22322212
2321
vev+ev+ev+e
vev+ev+ev+e
vvv0v
+
+
=
L
L
L
correctab
le error p
atterns
EELE 6338 16
kknknknkn
k
22322212
23332313
veveveve
vev+ev+ev+e
----++++
+
MMMM
L
correctab
le error p
atterns
TH. No two n-tuples in the same row of a standard array are identical. Every
n-tuple appears in one and only one row.
![Page 17: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/17.jpg)
Standard Array (�)
1. List the 2k codewords in a row, starting with the all-zero
codeword c0.
2. Select an error pattern e1
and place it below c0. This error
pattern will be a correctable error pattern, therefore it should
be selected such that:be selected such that:
(i) it has the smallest weight possible (most probable error)
(ii) it has not appeared before in the array.
3. Repeat step 2 until all the possible error patterns have been
accounted for. There will always be 2 n-k rows in the array.
Each row is called a coset. The leading error pattern is the
coset leader.
EELE 6338 17
![Page 18: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/18.jpg)
Standard Array Decoding (�)• For an (n,k) linear code, standard array decoding is able to
correct exactly 2n-k error patterns, including the all-zero error
pattern.
• Illustration 1: The (7,4) Hamming code
# of correctable error patterns = 23 = 8# of correctable error patterns = 23 = 8
# of single-error patterns = 7
Therefore, all single-error patterns, and only single-error
patterns can be corrected.
EELE 6338 18
![Page 19: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/19.jpg)
Standard Array Decoding (�)
Illustration 2: The (6,3) code defined by the H matrix:
H =
1 0 0 0 1 1
0 1 0 1 0 1
Codewords
000000
110001
EELE 6338 19
0 0 1 1 1 0
c = c c
c = c c
c = c c
5
4
4
1 6
2 6
3 5
+
+
+
101010
011011
011100
101101
110110
000111
3dmin=
![Page 20: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/20.jpg)
Standard Array Decoding (�)
• Can correct all single errors and one double error pattern
EELE 6338 20
![Page 21: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/21.jpg)
The Syndrome (�)
EELE 6338 21
![Page 22: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/22.jpg)
The Syndrome (�)
• Ex (3.5), For the (7,4) code, let v=(1001011) and r=(1001001).
• s = rHT=111.
EELE 6338 22
![Page 23: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/23.jpg)
The Syndrome (�)
Error Pattern Syndrome
0000000 0001000000 100
EELE 6338 23
1000000 1000100000 0100010000 0010001000 1100000100 0110000010 1110000001 101
![Page 24: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/24.jpg)
Syndrome Decoding (table-
lookup)Decoding Procedure:
1. For the received vector r, compute the syndrome s = rHT.
2. Using the table, identify the error pattern e.
3. Add e to r to recover the transmitted codeword c.3. Add e to r to recover the transmitted codeword c.
Example:
r = 1110101 ==> s = 001 ==> e = 0010000
Then, c = 1100101
• Syndrome decoding reduces storage memory and the
searching time considerably.
EELE 6338 24
![Page 25: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/25.jpg)
Hardware Implementation
• Let r = r0
r1
r2
r3
r4
r5
r6
and s = s0
s1
s2
• From the H matrix for the (7,4) code:
s0
= r0
+ r3
+ r5
+ r6
s1
= r1
+ r3
+ r4
+ r5
s = r + r + r + rs2
= r2
+ r4
+ r5
+ r6
• From the table of syndromes and their corresponding
correctable error patterns, a truth table can be constructed. A
combinational logic circuit with s0
, s1
, s2
as input and
e0
, e1
, e2
, e3
, e4
, e5
, e6
as outputs can be designed.
EELE 6338 25
![Page 26: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/26.jpg)
Decoding Circuit for the (7,4) HC
Error Pattern Syndrome
0000000 0001000000 100
EELE 6338 26
1000000 1000100000 0100010000 0010001000 1100000100 0110000010 1110000001 101
![Page 27: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/27.jpg)
Error detecting capability
EELE 6338 27
![Page 28: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/28.jpg)
Error Correcting Capability
• # of errors that can be corrected = t =
• A codeword with dmin
can detect all error patterns of weight
dmin
– 1 or less. It can detect many higher error patterns as
well, but not all. Therefore,
−
2
1min
d
EELE 6338 28
∑+=
−−
≤
n
ti
ini
upp
i
nP
1
)1(
![Page 29: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/29.jpg)
Probability of undetected error (�)
EELE 6338 29
![Page 30: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/30.jpg)
Probability of undetected error (�)
EELE 6338 30
![Page 31: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/31.jpg)
Probability of undetected error
(�)
31
![Page 32: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/32.jpg)
Simple Upper Bound on Pu
• Knowing weight distribution
∑=
−
−=
n
di
ini
iuppAP
min
)1(
• The weight distribution is only known to few codes.
• As an upper bound,
)(2
2
12 kn
n
k
uP
−−
≅−
≤
=di min
EELE 6338 32
![Page 33: Linear Block Codessite.iugaza.edu.ps/.../files/2010/02/Linear-Block-Codes.pdfTitle Microsoft PowerPoint - Linear Block Codes Author ammar Created Date 9/24/2013 8:27:20 AM](https://reader033.vdocument.in/reader033/viewer/2022060919/60ab526e00563b2dd43e1b49/html5/thumbnails/33.jpg)
Next lecture
• We will cover several classes of important
linear block codes.
EELE 6338 33