130 likes | 172 Views
II. Linear Block Codes. Hamming Linear Block Codes. For any positive integer m ≥ 3, there exists a Hamming code such that:. Hamming Codes. Code Length: n = 2 m -1 No. of information symbols: k = n-m =2 m -m-1 No. of parity check symbols: n-k = m
E N D
For any positive integer m≥3, there exists a Hamming code such that: Hamming Codes • Code Length: n = 2m-1 • No. of information symbols: k = n-m =2m-m-1 • No. of parity check symbols: n-k = m • Error correcting capability: t = 1 (i.e., dmin=3)
H contains all of nonzero m-tuples as its columns. In the systematic form: Parity Check Matrix, Generator Matrix and dmin of Hamming Codes m columns of weight 1 2m-m-1 columns of weight >1 Generator Matrix Parity Check Matrix • No two columns are identical dmin>2 • The sum of any two columns must be a third one dmin=3 • Hamming Codes can correct all single errors or detect all double errors
Example: (15,11) Hamming Codes • Code Length: n = 24-1 = 15 • No. of information symbols: k = 15-4 = 11 • No. of parity check symbols: 15-11 = 4 • Error correcting capability: dmin = 3 4 columns of weight 1 11 columns of weight >1
Hamming Codes are Perfect Codes Consider the standard array for a Hamming Code • The code has 2m cosets • The number of (2m-1)-tuples of weight 1 is 2m-1 • The 0 vector and the (2m-1)-tuples of weight 1 form all the coset leaders of the standard array • In such configuration for the standard array, the Hamming code corrects ONLY error patterns with single error. A Perfect Code is a t-error correcting code where its standard array has all error patterns of t or fewer errors and no others as coset leaders
The (15,11) Hamming Code is a Perfect Code • Number of cosets = 2n-k= 215-11 = 16 • Number of error patterns of weight 1 = 15 • If the coset leaders are chosen to be the 0 vector and all the error patterns of weight 1. The (15,11) code corrects ONLY error patterns with single error
Shortened Hamming Codes It is possible to delete l columns from the parity check matrix of H of a Hamming code. This results is H’ of dimensions m×(2m-l-1) which is the parity check matrix of a shortened Hamming code • Code Length: n = 2m-l-1 • No. of information symbols: k = n-m = 2m-m-l-1 • No. of parity check symbols: n-k = m • Error correcting capability: dmin≥3
For a shortened Hamming code to achieve single error correction (λ=1) and double error detection (l=2), It is essential that dmin≥4 To achieve dmin=4 it is essential to delete columns properly from H of the original Hamming code Single Error Correction and Double Error Detection For a code with minimum Hamming distance dmin: If the code could correct λ and detect l then dmin≥λ+l+1 Example • Delete from Q all even weight columns • H’ is of dimension m×2m-1 • Why is it that dmin=4? • No two columns are identical dmin>2 • Adding two m-tuples of odd weight results in an even weight m-tuple dmin>3 • Adding three m-tuples of odd weight results in an odd weight m-tuple dmin=4 2m-1-m odd weight columns
Single Error Correction and Double Error Detection (Decoding Scheme) • If the syndrome s is zero, assume no error has occurred. • If s is nonzero and has odd weight, assume single error has occurred. Add the error pattern corresponding to the syndrome. • If s is nonzero and has even weight, an uncorrectable pattern has been detected
Example: (8,4) Shortened Hamming Code Parity Check Matrix for (15,11) Hamming Code delete all even weight columns
Example: (8,4) Shortened Hamming Code Notice that • If an error pattern has a single error, the syndrome has odd weight • If an error pattern has a double error, the syndrome has even weight syndrome s=e.H’T