Documente Academic
Documente Profesional
Documente Cultură
10.1 Introduction
Po-Ning Chen@cm.nctu
Chapter 10-2
10.1 Introduction
Error correction versus error detection There is an alternative system approach to achieve reliable transmission other than forward error correction (FEC). By the system structure, it is named automatic-repeat request (ARQ), which is a combination of error detection and noiseless feedback.
Po-Ning Chen@cm.nctu
Chapter 10-3
10.1 Introduction
Classifications of ARQ ARQ with stop-and-wait strategy After the transmission of a codeword, the transmitter stops and wait for the feedback before moving onto the next block of message bits. Continuous ARQ with pullback The transmitter continue its transmissions until a retransmission request is received, at which point, it stops and pulls back to the incorrectly transmitted codeword. Continuous ARQ with selective repeat Only retransmite the codeword that are incorrectly transmitted.
Po-Ning Chen@cm.nctu
Chapter 10-4
Generator matrix G is said to be in the canonical form if its k rows are linearly independent.
Po-Ning Chen@cm.nctu
Chapter 10-6
Suppose
Then
Po-Ning Chen@cm.nctu
Chapter 10-7
Hence, the number of distinct code words is at most 2k1 (not the anticipated 2k).
Po-Ning Chen@cm.nctu
Chapter 10-8
where the columns of H are linear independent. Then, the code words (or error-free receptions) should satisfy (nk) parity-check equations.
Po-Ning Chen@cm.nctu
Chapter 10-9
Po-Ning Chen@cm.nctu
Chapter 10-10
Po-Ning Chen@cm.nctu
Chapter 10-11
All error patterns that differ by (at least) a code word have the same syndrome s.
Po-Ning Chen@cm.nctu
Chapter 10-12
1. All elements in a coset have the same syndrome since 2. There are 2k elements in a coset since
i.e., coset elements are the same if, and only if, two code words are the same. This is contrary to the general assumption of a code book, in which all code words are distinct. 3. Cosets are disjoint. 4. The number of cosets is therefore 2nk, namely, the number of syndromes is 2nk. Thus, syndromes (with nk unknowns) cannot uniquely determine the error pattern (with n unknowns).
Po-Ning Chen@cm.nctu Chapter 10-13
Usually, message bits are transmitted first because the receiver can do direct hard decision when necessary.
Po-Ning Chen@cm.nctu Chapter 10-14
Po-Ning Chen@cm.nctu
Chapter 10-15
Po-Ning Chen@cm.nctu
Chapter 10-16
Po-Ning Chen@cm.nctu
Chapter 10-17
Based on minimum distance decoder, if the received vector and the transmitted code word differs at most
namely, if the number of 1s in the error pattern is at most this number, then no error in decision is obtained. If the received vector and the transmitted code word differs at t positions, where
then erroneous decision is possibly made (when the transmitted code word is one of the pair that results in dmin.
Po-Ning Chen@cm.nctu Chapter 10-18
We therefore name the below quantity the error correcting capability of a code (not limited to linear block code).
The error correcting capability of a linear block code can be easily determined by the minimum Hamming weight of code words.
By linearity,
Po-Ning Chen@cm.nctu
Chapter 10-19
Po-Ning Chen@cm.nctu
Chapter 10-20
10
syndrome rH
Find the element in coset(rH), whose has minimum weight. This element is usually named the coset leader. The coset leader in each coset is fixed and known before the reception of r.
Po-Ning Chen@cm.nctu Chapter 10-21
Po-Ning Chen@cm.nctu
Chapter 10-22
11
Po-Ning Chen@cm.nctu
Chapter 10-23
Po-Ning Chen@cm.nctu
Chapter 10-24
12
Every (n, k) linear block code with generator matrix G and parity-check matrix H ahs a (n, nk) dual code with generator matrix H and parity-check matrix G.
Po-Ning Chen@cm.nctu
Chapter 10-25
Po-Ning Chen@cm.nctu
Chapter 10-26
13
The code polynomial (of a polynomial code) includes all polynomials of degree nk, which can be divided by g(X), and hence can be expressed as
Po-Ning Chen@cm.nctu
Chapter 10-27
Po-Ning Chen@cm.nctu
Chapter 10-28
14
Po-Ning Chen@cm.nctu
Chapter 10-29
Po-Ning Chen@cm.nctu
Chapter 10-30
15
Po-Ning Chen@cm.nctu
Chapter 10-31
remainder
Po-Ning Chen@cm.nctu
quotient
Chapter 10-32
16
multiply
remainder
Po-Ning Chen@cm.nctu
quotient
Chapter 10-33
After 14 clocks
Po-Ning Chen@cm.nctu
Chapter 10-34
17
Another example of long division (with the shift-registers containing not the remainder but the lower-power coefficients)
Po-Ning Chen@cm.nctu
Chapter 10-35
Po-Ning Chen@cm.nctu
Chapter 10-36
18
Po-Ning Chen@cm.nctu
Chapter 10-37
Down for first k clocks Up for the remaining (nk) clocks After k clocks,
Po-Ning Chen@cm.nctu
Chapter 10-38
19
10.4 Polynomial codes/Cyclic codes Decoder for polynomial codes How to find the syndrome polynomial s(X) of polynomial codes with respect to received word polynomial r(X)? Recall that syndromes are all possible symptoms that possibly happen at the output of parity-check examination. If there is no error in transmission, r(X) mod g(X) = 0. Indeed, s(X) = r(X) mod g(X).
Po-Ning Chen@cm.nctu
Chapter 10-39
Po-Ning Chen@cm.nctu
Chapter 10-40
20
Po-Ning Chen@cm.nctu
Chapter 10-41
Syndrome calculator
Po-Ning Chen@cm.nctu
Chapter 10-42
21
Po-Ning Chen@cm.nctu
Chapter 10-43
Po-Ning Chen@cm.nctu
Chapter 10-44
22
Po-Ning Chen@cm.nctu
Chapter 10-45
Po-Ning Chen@cm.nctu
Chapter 10-46
23
Po-Ning Chen@cm.nctu
Chapter 10-47
A polynomial code is cyclic if, and only if, its generator polynomial divides Xn+1.
Po-Ning Chen@cm.nctu Chapter 10-48
24
where h(X) is a polynomial of degree k with h0 = hk = 1. Since the degrees of g(X) and h(X) are respectively nk and k1, and gnk = hk = 1, we may induce that
Po-Ning Chen@cm.nctu
Chapter 10-49
Po-Ning Chen@cm.nctu
Chapter 10-50
25
Po-Ning Chen@cm.nctu
Chapter 10-51
Po-Ning Chen@cm.nctu
Chapter 10-52
26
Observation. The parity-check matrix arranges its entries according to the coefficients of the parity-check polynomial in reverse order as contrary to the generator matrix arranges its entries according to the coefficients of the generator polynomial.
Po-Ning Chen@cm.nctu
Chapter 10-53
Po-Ning Chen@cm.nctu
Chapter 10-54
27
Irreducible polynomial: A polynomial that cannot be further factored. All three of the above are irreducible. Primitive polynomial: An irreducible polynomial of degree m, which divides Xn 1 for n = 2m 1 but does not divides Xn 1 for n < 2m 1. Only the first two irreducible polynomials are primitive.
Po-Ning Chen@cm.nctu Chapter 10-55
28
It is named the maximum-length code because the code word length for m information bits has been push to the maximum (or equivalently, the number of code words for code of length n has been push to the minimum.) For example,
So, there are in total 7 code words if c is originally nonzero. Adding the all-zero code word gives 8 = 23 code words. This makes the (7, 3) maximum-length code.
Po-Ning Chen@cm.nctu Chapter 10-57
So, the nonzero code word in a maximum-length code is a circular shift of all the other nonzero code words.
Po-Ning Chen@cm.nctu
Chapter 10-58
29
Example: Cyclic redundancy check (CRC) codes Cyclic codes are extremely well-suited for error detection owing to the simplicity of its implementation, and its superior error-detection capability. Binary (n, k, dmin) CRC codes can detect: all contiguous error bursts of length n k or less. 2nk+14 of contiguous error bursts of length nk+1 all combinations of dmin1 (or fewer) errors all error patterns with an odd number of errors if the generator polynomial g(X) has an even number of nonzero coefficients.
Po-Ning Chen@cm.nctu
Chapter 10-59
Bose-Chaudhuri-Hocquenghem (BCH) codes Primitive (n, k, dmin) BCH codes The parameters satisfies
(n, k, 3) Hamming code can be described as BCH codes. The table in next slide illustrates the generator polynomial g(X) of some binary BCH codes.
Po-Ning Chen@cm.nctu
Chapter 10-60
30
n = block length k = number of message bits t = number of errors that are guaranteed correctable
Po-Ning Chen@cm.nctu
Chapter 10-61
Reed-Solomon (RS) Codes A subclass of nonbinary BCH codes Encode and decode based on blocks of m-bit symbols. (n, k, dmin) RS codes
Po-Ning Chen@cm.nctu
Chapter 10-62
31
Po-Ning Chen@cm.nctu
Chapter 10-63
Po-Ning Chen@cm.nctu
Chapter 10-64
32
Since L is often much larger than m, This is named the code rate of a convolutional code.
Po-Ning Chen@cm.nctu Chapter 10-66
33
Po-Ning Chen@cm.nctu
Chapter 10-67
Po-Ning Chen@cm.nctu
Chapter 10-68
34
Code trellis
35
Po-Ning Chen@cm.nctu
Chapter 10-71
Maximum-likelihood decoding
Po-Ning Chen@cm.nctu
Chapter 10-72
36
Po-Ning Chen@cm.nctu
Chapter 10-73
Example: BSC
Po-Ning Chen@cm.nctu
Chapter 10-74
37
2 2 2 3
One survivor path for each intermediate node
Po-Ning Chen@cm.nctu
Chapter 10-76
38
It is possible that the ML code word or the minimum distance code word is not equal to the transmitted code word.
Po-Ning Chen@cm.nctu
Chapter 10-77
Po-Ning Chen@cm.nctu
Chapter 10-78
39
State diagram
Po-Ning Chen@cm.nctu Chapter 10-79
Example.
Input 100 generates code word of length 3 with weight 5. Input 10100 generates code word of length 5 with weight 6.
Since input 0 generates code portion 00 at state a, 100000 generates code word of weight 5.
Signal graph
Exponent of D = Hamming weight on the branch Exponent of L = Length of the branch
Chapter 10-80
State diagram
Po-Ning Chen@cm.nctu
40
Po-Ning Chen@cm.nctu
Chapter 10-81
Po-Ning Chen@cm.nctu
Chapter 10-82
41
which is valid only when |x| < 1. For a feedforward convolutional code, the above equation is valid.
Po-Ning Chen@cm.nctu Chapter 10-83
A feedback (or recursive) convolutional code may be subject to catastrophic error propagation. Catastrophic error propagation = A finite number of transmission errors will possibly cause infinite number of decoding errors. A code with potential catastrophic error propagation is named a catastrophic code.
Po-Ning Chen@cm.nctu
Chapter 10-84
42
It can be proved that a systematic convolutional code cannot be catastrophic. Unfortunately, the free distance of systematic codes is usually smaller than that of nonsystematic codes.
The error of convolutional codes (at high SNR) is dominated by the two code words whose pairwise Haming distance is equal to dfree.
Po-Ning Chen@cm.nctu Chapter 10-86
43
Po-Ning Chen@cm.nctu
Chapter 10-87
Po-Ning Chen@cm.nctu
Chapter 10-88
44
Soft decision decoding (or equivalently binary-input additive white Gaussian channel) The error of convolutional codes (at high SNR) is dominated by the two code words whose pairwise Hamming distance is equal to dfree.
Po-Ning Chen@cm.nctu
Chapter 10-89
Po-Ning Chen@cm.nctu
Chapter 10-90
45
Asymptotic Coding gain (asymptotic = at high SNR) Ga The performance gain due to coding (i.e., the performance gain of coded system against uncoded system)
Po-Ning Chen@cm.nctu
Chapter 10-91
Po-Ning Chen@cm.nctu
Chapter 10-92
46
Error (log-scale)
uncoded coded
Ga
Po-Ning Chen@cm.nctu
Chapter 10-93
47
Po-Ning Chen@cm.nctu
Chapter 10-95
Partitioning of 16-QAM constellation, which shows that d0 < d1 < d2 < d3.
Po-Ning Chen@cm.nctu
Chapter 10-96
48
Select four out of 16 possibilities from QPSK constellation (The patterns are dependent temporally so that they have error correcting capability.)
Po-Ning Chen@cm.nctu
Chapter 10-97
Po-Ning Chen@cm.nctu
Chapter 10-98
49
Example of trelliscoded modulation 4-state Ungerboeck 8PSK code Code rate = 2 bits/symbol
00/
0110/ / 11 /
00/
00/
00
/ 10
/
00 /
/ 10
00
00 /
/ 11 10 /
/ 01
/ 00
/ 00
/ 11
01/ 11/
Po-Ning Chen@cm.nctu
Chapter 10-99
Example of trellis-coded modulation 8-state Ungerboeck 8PSK code Code rate = 2 bits/symbol
00/
11/
00/
00/
00/
10/
Po-Ning Chen@cm.nctu
Chapter 10-100
50