3.3 Orthogonal Frequency-Division Multiplexing
4.1.5 Reed-Solomom Code
In 1960, I. S. Reed and G. Solomon introduced codes which work completely in Galois field algebra [RS60]. This class of linear block codes are known as Reed-Solomon codes and are very efficient against burst and random errors [Ber68; Bla83]. Furthermore they reach the theoretical Singleton bound and are therefore maximum-distance separable [WB99]. Due to their performance, Reed-Solomon codes are used in numerous applications such as deep space communications, magnetic recording systems, or compact discs. The first application in the field of diffusion-based molecular communication is documented in [DD+17].
A special feature of Reed-Solomon codes is that they are non-binary and work on symbol level. This implies that when binary information is transmitted, several bits are combined into a symbol. In this dissertation, systematic Reed-Solomon codes are considered, while in general they can also be constructed as non-systematic codes. An (nc, kc) Reed-Solomon code constructs nccode symbols from kcinfo symbols by adding nc−kcparity check symbols. This results in a code rate of R =kc/nc. Due to its minimum distance of dmin = nc− kc+ 1,
it is capable of correcting up to b(nc− kc)/2c symbol errors. The code typically operates in a Galois field of order nc+ 1, where nc+ 1 is restricted to be a prime power. Only primitive Reed-Solomon codes where nc+ 1 is a power of prime number two will be considered in the following. Hence, a symbol consists of log2(nc+ 1) bits.
For encoding, the generator polynomial
g(z) = nc−kYc−1 i=0 z− αip+1 (4.11)
is calculated, where αp is a primitive element of the Galois field of order nc+ 1 [WB99]. From (4.11) it can be seen that the roots of the generator polynomial are defined by αp, . . . , αnpc−kc. The code word consists of the kc info symbols and the nc− kc parity check symbols. The latter are chosen in such a way that the resulting code word is completely divisible by the generator polynomial.
For decoding, it is first checked whether the received code word is completely divisible by the generator polynomial. If this is the case, a valid code word is received and the info sym- bols can be extracted directly from the code word. A transmission error is identified when the division results in a remainder. In order to localize the error position, the received code word polynomial is evaluated at the roots of the generator polynomial to obtain syndromes. By applying the Berlekamp-Massey algorithm [WB99], the error locator polynomial can be computed, which generates the sequence of syndromes. The roots of the error locator
4.1 Block Codes
polynomial provide information about the error positions in the code word and can be determined by a Chien search [WB99]. In a last step the error magnitudes are found by Forney’s algorithm [For65], which is based on Lagrange interpolation. By exploiting the error positions and the error magnitudes, an error correction can be performed.
Besides the presented description of the Reed-Solomon code based on polynomials, there are also other approaches in the literature. Among others, the Reed-Solomon code can be described by the finite field Fourier transform or by means of a generator and parity check matrix. For a more detailed description of the presented encoding and decoding steps, as well as other approaches, the reader is referred to [WB99].
Numerical Results
Fig. 4.5 shows the BER performance of a Reed-Solomon encoded transmission system. In the unnormalized case, Fig. 4.5(a), all codes under investigation show a gain over an uncoded transmission. There are two observations that can be made. Firstly, Reed-Solomon codes with longer code word length are more efficient than codes with equal rate and shorter code word length. If the code word length is increased, more bits are combined into one symbol and thus, more bit errors can be corrected within a single symbol error. Secondly, lower-rate codes are more efficient than higher-rate codes with identical code word length, since they contain more redundancy. Among the investigated code rates, the R = 9/63 Reed-Solomon code achieves the largest increase in transmission distance. With a target BER of 10−3, the distance can be improved from 28 µm to 37 µm.
In Fig. 4.5(b), the uncoded and coded transmission is normalized to identical information rates. As a result, lower-rate codes are affected by a larger performance loss, since their symbol duration is reduced more significantly. This effect is so strong that higher-rate codes offer better performance than lower-rate codes. Among the investigated codes, the R=45/63Reed-Solomon code achieves the best performance. However, the distance increase compared to uncoded transmission at a target BER of 10−3 is negligible. From the obtained results it is to be expected that higher rate Reed-Solomon codes and/or Reed-Solomon codes with longer code word length will lead to a larger increase in transmission distance.
Fig. 4.5(c) shows the case in which, in addition to the information rate, the average number of molecules released per info bit in the uncoded case and coded case is kept constant. Due to the higher redundancy, fewer molecules per code bit are emitted as the code rate decreases. Accordingly, there is a degradation of all coded transmission compared to Fig. 4.5(b). At a target BER of 10−3, even the most powerful Reed-Solomon code with R=45/63 no longer leads to an improvement of the maximum transmission distance.
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 =5/7 R=3/7 R=1/7 R=45/63 R =27/63 R=9/63 (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.5: Bit error rate performance of Reed-Solomon encoded transmissions as a
4.1 Block Codes
In comparison to CRC and SPC codes considered in this dissertation, Reed-Solomon codes prove to be more powerful, at least for longer code word lengths. In contrast to repetition codes and Hamming codes with similar code rates, however, Reed-Solomon codes perform worse. A possible reason for the difference may be in the decoding process. While repetition codes and Hamming codes are soft-input decoded, Reed-Solomon codes are used with hard-input decoding.