1 / 18

II. Linear Block Codes

II. Linear Block Codes. Last Lecture. H Matrix and Calculation of d min Error Detection Capability Error Correction Capability Error Correction & Error Detection Operation. Decoding and Error Correction.

Download Presentation

II. Linear Block Codes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. II. Linear Block Codes

  2. Last Lecture • H Matrix and Calculation of dmin • Error Detection Capability • Error Correction Capability • Error Correction & Error Detection Operation

  3. Decoding and Error Correction Decoding: A rule to partition 2n possible received vectors into 2k disjoint subsets D1, D2,…,D2k such that the codeword vi is contained in the subset Di, 1≤i ≤2k Let C be an (n,k) linear block code with codewords v1, v2,…,v2k v Decoder Which vi was sent?? Channel r 2k codewords 2n n-tuples e Decoding Rule: Correct Decoding: Given vi is transmitted, error pattern e does not push r outside Di

  4. Design of a Decoder How to divide 2n vectors into 2kdisjoint subsets such that the error correcting capability is optimal? In other words, which n-tuples should be designed such that they belong to a given subset Di?

  5. Standard Array Partitioning 2n possible received vectors into 2k disjoint subsets with each subset containing only one codeword Di D2k D2 D1

  6. Standard Array Partitioning 2n possible received vectors into 2k disjoint subsets with each subset containing only one codeword Di D2k D2 D1 e2≠v1,v2,…,v2k

  7. Standard Array Partitioning 2n possible received vectors into 2k disjoint subsets with each subset containing only one codeword Di D2k D2 D1 e3≠v1,v2,…,v2k,e2,…,e2+v2k

  8. Standard Array Partitioning 2n possible received vectors into 2k disjoint subsets with each subset containing only one codeword Di D2k D2 D1 e2n-k ≠Any previous element in the array

  9. Theorem • No two n-tuples in the same row of a standard array are identical. • Every n-tuple appears in one and only one row. PROOF: • Given a linear block code is considered. By definition of the standard array construction, ej is not a codeword. Therefore, ej+ vj generate distinct patterns • Select row l<m, assume el+vi= em+vj.Therefore, • em= el+vi+vj • em= el+vs (because vi and vj are codewords) • This means that emcould be found in row l • This is a contradiction to the construction rule of the standard array

  10. Standard Array Partitioning 2n possible received vectors into 2k disjoint subsets with each subset containing only one codeword Di D2k D2 D1 e2n-k ≠Any previous element in the array

  11. Coset of a Code, Coset Leader Given the standard array. The 2n-k rows are called the cosets of the code. The first n-tuple ej of each coset is called the coset leader

  12. Error Correction A Linear block code can correct 2n-k-1 error patterns corresponding to 2n-k-1 coset leaders Note that one of the coset leaders is the zero vector

  13. Error Correction Methodology The error patterns that are most likely to occur should be used as the coset leaders Example: A (7,4) code can correct 2(7-4)-1=7 error patterns To correct a single error. The coset leaders should be selected as: e1= v1= (0 0 0 0 0 0 0) e2 =(0 0 0 0 0 0 1) e3 =(0 0 0 0 0 1 0) e4 =(0 0 0 0 1 0 0) e5 =(0 0 0 1 0 0 0) e6 =(0 0 1 0 0 0 0) e7 =(0 1 0 0 0 0 0) e8 =(1 0 0 0 0 0 0)

  14. Theorem • All 2k n-tuples of a coset have the same syndrome. • The syndrome for different cosets are different PROOF: • (el+vi)HT=elHT+viHT=elHT(independent of vi) • Let ejand eibe the coset leaders. If they have the same syndrome • ejHT+eiHT=0. Therefore, • (ej+ei) is a codeword • This contradicts the definition of a linear block code because ejand eiare not codewords Advantages: We can use a syndrome decoding table which is much simpler to use than a standard array

  15. Syndrome Decoding • Compute syndrome of r (i.e., rHT) • Locate the coset leader el whose syndrome is equal to rHT • v*= r+elwhere v* is the codeword output by the decoder

  16. Weight Distribution of a Block Code For an (n.k) block code: Let Ai be the number of codewords of weight i in C. The numbers A0, A1, …, An are called the Weight Distribution Example: For the (7,4) code shown, A0 = A7 = 1, A1 = A2 = A5 = A6= 0 A3 = A4 = 7 Note that: ∑Ai=16=24 (Number of valid code words)

  17. Weight Distribution and Probability of Detecting an Error Pattern For an (n,k) linear code: • Given that the bit error probability of the physical channel is p. The probability that an error pattern of weight j occurs is pj(1-p)n-j • In Total, there are nCj error patterns that have j erroneous bits. ONLY Aj of those are NOT DETECTABLE because they represent valid codewords • Probability of not detecting an error pattern (Pu(E)) is: Example: For the (7,4) code in the previous slide, Pu(E)=7p3(1-p)4 + 7p4(1-p)3 + p7

  18. Weight Distribution of Coset Leaders Let αi denote the number of coset leaders of weight i. Then the numbers α0,α1,…, αn are the weight distribution of the coset leaders Probability of Correct Decoding of an error pattern Ps(E) PS(E)=∑αi pi(1-p)(n-i)where is the bit error probability of the channel Probability of False Decoding of an error pattern P(E) P(E)=1-PS(E)

More Related