3.3 Orthogonal Frequency-Division Multiplexing
4.1.2 Cyclic Redundancy Check Code
In 1961, W. W. Peterson invented the family of cyclic redundancy check (CRC) codes [PB61], which, as the name suggests, are systematic cyclic codes in which the data is extended by redundant information. The redundant information serves as error check and thus for error detection. CRC codes are particularly well suited for the detection of burst errors [Wic95] and are therefore used in many data transmission standards such as Bluetooth, Ethernet, or universal serial bus. Furthermore, they can also be used for error correction as discussed in this dissertation.
For the construction of an (nc, kc) CRC code word, the info word is extended by an nc−kc bit long check value. This results in a rate R =kc/nc code. The check value is determined by the remainder of the polynomial division of the info word in polynomial representation and the generator polynomial of order nc− kc. For error detection the received code word is divided again by the generator polynomial. If this polynomial division leads to a remainder, the received code word is erroneous [BG+92].
The choice of the generator polynomial is essential for the error detection performance of CRC codes. Powerful generator polynomials have the form
g(z) = (z + 1)αp(z), (4.6)
where αp(z) is a primitive polynomial. The factor (z + 1) ensures that all odd numbers of bit errors are detectable. The second factor αp(z) guarantees that all double errors are detectable if nc < 2nc−kc−1 applies [BG+92]. Table 4.1 shows the generator polynomials used in this dissertation [Wic95; DVBS2].
So far, CRC codes are used in molecular communication in [BL+15; BL+16b; BL+16a; Bai16] solely for error detection. Apart from error detection, they provide the possibility of error correction, which will be exploited in this dissertation. Therefore, soft-input decoding
4.1 Block Codes
Table 4.1: Generator polynomials of CRC codes.
nc− kc g(z) Reference
4 z4+ z3+ z2+ z + 1 [Wic95]
8 z8+ z7+ z6+ z4+ z2+ 1 [DVBS2] 32 z32+ z30+ z22+ z15+ z12+ z11+ z7+ z6+ z5+ z [Wic95]
[DW91] is used. When an error is detected, the received word is compared with all possible valid code words and a distance is calculated. As a distance measure between the received word and a code word hypothesis, the absolute LLR values of the mismatching bit positions are accumulated. For the purpose of soft decoding, the most probable code word hypothesis, i. e. the code word hypothesis with the minimum distance to the received word, is selected. The decoded info word can be obtained directly from the systematic part of the corrected code word. The computational complexity for this exhaustive search method depends on the info word length and is O2kc. Consequently, soft-input decoding is not practical, especially for long info words. In such cases, it is possible to limit the search to the nred< kc most unreliable info bits, which reduces the computational complexity to O(2nred) [DW91].
Numerical Results
Fig. 4.2 shows the comparison of CRC encoded transmissions to uncoded transmission. The criterion for comparison is the achieved BER at different transmission distances. In order to keep the decoding effort of the CRC codes manageable, especially for those with long code words, nred= 12 is selected.
In the unnormalized case, shown in Fig. 4.2(a), all CRC coded transmissions lead to an improvement compared to uncoded transmission. In general, lower-rate codes add more redundancy to the information. Consequently, the lower-rate CRC codes in Fig. 4.2(a) show better BER performance than CRC codes with higher rate. Comparing CRC codes with equal rates and different code word lengths, it is observed that longer code word length are advantageous. This is due to the fact that they are capable of correcting more errors within a code word. Among the investigated CRC codes, the R = 16/48 CRC code is the most powerful. For a target BER of 10−3, the maximum transmission distance can be increased from 28 µm to 38 µm. It should be noted that the decoder is limited by nred= 12. Without this limitation the maximum range can be increased further to 41 µm.
Fig. 4.2(b) shows the scenario for which the symbol duration is normalized to equal information rates for coded and uncoded transmission. Consequently, the symbol duration in a coded transmission is shorter than in an uncoded transmission. This leads to a
10 15 20 25 30 35 40 45 50 10−6 10−5 10−4 10−3 10−2 10−1 d in µm BER APP R =12/16 R=4/8 R=2/6 R=4/12 R =16/48 (a) Unnormalized. 10 15 20 25 30 35 40 45 50 10−6 10−5 10−4 10−3 10−2 10−1 d in µm BER (b) T normalized. 10 15 20 25 30 35 40 45 50 10−6 10−5 10−4 10−3 10−2 10−1 d in µm BER (c) T & N normalized.
Figure 4.2: Bit error rate performance of CRC encoded transmissions as a function
4.1 Block Codes
degradation of the BER performance in coded transmission compared to the unnormalized transmission. Low-rate codes suffer more from this normalization, because their symbol duration is reduced to a greater extent. As a result, the highest rate CRC code with R = 12/16 is found to be the most powerful among the investigated codes. At the target BER of 10−3, the maximum transmission distance can be increased only slightly.
The impact on the BER performance by additionally normalizing the average number of released molecules per info bit is shown in Fig. 4.2(c). A higher degree of redundancy is correspondingly affected by a lower average number of molecules per code bit. Consequently, the low-rate CRC codes show a bigger performance loss compared to Fig. 4.2(b). The limitation due to the normalizations is so large that the high-rate R = 12/16 CRC code provides the best BER performance. Nevertheless, none of the codes shows a gain compared to the uncoded transmission.
The repetition codes discussed in Section 4.1.1 are much less complex than the CRC codes. However, this is also reflected in their performance. If CRC codes are compared with repetition codes with similar rates, especially the CRC codes with longer code word length show a better BER performance.