Modified Majority Logic Decoding of Reed-Muller Codes for Channel Coding

This paper proposes the modified majority-logic decoding using sum-product or min-sum decoding algorithms at the highest-order information bits in RM codes. Numerical results show that, compared with the traditional majority-logic decoding algorithm, the modified majority-logic decoding method proposed in this study can reduce the bit error rate (BER) considerably. This task is accomplished without incurring a significant increase in decoding complexity because soft-decision decoding is used only at the highest information bits of RM codes, whereas majority-logic decoding is still applied at the other orders of information bits.


Introduction
Digital communication techniques have enabled impressive progress in the technology industry in recent years. Transmission of images and multimedia requires a digital conversion process with almost no errors occur during the transmission and reading of digital signals. In this process, error-correcting codes (ECCs) [1] play an important role by performing special mathematical processing of digital signals and minimizing errors subject to various types of noise, distortion and interference during transmission [2], [3]. Many ECC techniques have been proposed for various communication systems, including deep-space communication, asymmetric digital subscriber lines, mobile communications and satellite communications [4], [5].
From the viewpoint of the construction of codes, ECC can be classified into three categories: codes on algebra, codes on graph and codes on geometry [6], [7]. On the other hands, ECC decoding algorithms can be divided into hard-decision decoding, soft-decision decoding, and iterative-decision decoding algorithms [8], [9]. This paper examines binary Reed-Muller (RM) decoding algorithms [10] with low bit error rates and reduced decoding complexity.
Binary Reed-Muller decoding errors often occur in high-order information bits when traditional majority-logic decoding [11], [12] is applied. To address this problem, this paper proposes a modified majority-logic decoding algorithm that reduces the decoding error of binary Reed-Muller codes at the highest information bits without increasing the overall decoding complexity. Soft-decision decoding using sum-product or min-sum decoding algorithms [13] [14] is applied in the highest-order information bits in an RM code whereas hard-decision decoding using traditional majority-logic decoding is used for other information bits. Numerical experiment results show that the proposed decoding method can reduce the bit error rate with almost no increase in decoding complexity.
The rest of the paper is organized as follows. In Section2, a basic description of error correcting codes is provided, and the construction of binary Reed-Muller codes and majority-logic decoding algorithms are reviewed. Section3 presents modified majority-logic decoding, i.e., factor graph decoding using sum-product and min-sum algorithms at the highest information bit in RM codes. In Section4, an additive white Gaussian noise (AWGN) channel is adopted to simulate the channel error rate. The simulation results show that compared with the traditional majority-logic decoding algorithm, the bit error rate of the proposed method can be reduced by a large margin. Section5 concludes this paper.

Reed-Muller codes
We assume in what follows that the reader is familiar with the properties of linear block codes such as generator matrices or parity check matrices of linear block codes [5]. Let F " # be an n-dimensional vector space over the binary field F " = {0,1} . Given a binary vector c = (c -, ⋯ , c #/0 ) ∈ F " # , the support of c is the set of nonzero positions in c, which is denoted by X(c) = {i|c 6 ≠ 0}. The (Hamming) weight of c is defined as the size of X(c), i.e., |c| = |X(c)|. For any subset S ⊂ F " # , the support of S is the union of the individual supports, X(S) = U ;∈< X(v), and we will denote the minimum nonzero weight of vectors in ω(S).
A linear code C[n,k,d]=C(n, 2 K ,d) over F " is a k-dimensional subspace of F " # such that the minimum distance of C is d. It is straightforward to show the minimum distance of a linear code C is equal to the nonzero minimum weight of C, i.e., d(C) = w(c) [5]. The dual code of C, denoted by C M [n, n − k, d M ], is defined as C M = {v ∈ F " # ∶ u‧v = 0 for all u ∈ C}, where the multiplication denotes the inner product of u and v in F " # . The sum of two codesC 0 and C " is defined as C = C 0 + C " = {u + v: u ∈ C 0 , v ∈ C " }. If C 0 ∩ C " = {0}, where 0 is the all-zero codeword, the resulting sum C is called the direct sum of C 0 and C " , denoted by C = C 0 ⊕ C " .
An encoding of C[n,k] refers to any linear bijection from F " K to F " # . More precisely, a k × n matrix G that has a basis of the code C as its row vector is called a generator matrix of C. Usually, we denote a linear code with a generator matrix G by C = ⟨G⟩. Similarly a parity check matrix H of a linear code C is the counterpart for C M , i.e., the row vectors of H form a basis of the dual code C M . For any vector e ∈ " # , the set e + C = {e + c ∶ c ∈ C} is called a coset of C or a translate of C. Each coset of C[n,k] contains 2 a vectors and any two cosets are either disjoint or identical. Since C[n,k] is a k-dimensional subspace of " b , the set " b can be partitioned into 2 b/a disjoint cosets of C.

Boolean polynomials and Reed-Muller codes
A Boolean function f of m variables v 0 , ⋯ , v c is a function f(v 0 , ⋯ , v c) from F " c to F " . Usually, a Boolean function f(v 0 , ⋯ , v c) is specified by a truth table containing m+1 rows where the first m rows form an m × 2 c matrix whose columns are the 2 c binary m-tuples and last row gives the values of f at all of its 2 c arguments. If these 2 c arguments are listed in a fixed ordering, a length 2 c vector f can be associated with each Boolean function f; indeed the vector f is simply the bottom row of the truth table for f. In this paper, the natural ordering of v 0 , ⋯ , v c , numbered from 0 to 2 c − 1 in a base-2, is used to represent a vector of length 2 c .A Boolean function p = v 6 e v 6 f ⋯ v 6 g that is a product of s distinct v 6h , 1 ≤ l ≤ s, is called a Boolean monomial of degree s. Its corresponding vector p = v 6 e v 6 f ⋯ v 6 g of length 2 c is called a monomial vector, obtained from the componentwise product of those first-order monomial vector v 6h , 1 ≤ l ≤ s. The value of the Boolean monomial p = v 6 e v 6 f ⋯ v 6 g is equal to 1 if and only if all s variables are equal to 1, i.e., v 6 e = v 6 f = ⋯ = v 6 g = 1. In other words, the Boolean monomial p is equal to 1 for all combinations of (m-s) variables v j e , v j f , ⋯ , v j klg , where {j 0 , ⋯ , j c/< } ∪ {i 0 , ⋯ , j < }. As there are 2 c/< arguments for fixed values v 6 e = v 6 f = ⋯ = v 6 g = 1 and x j e ∈ F " , x j f ∈ F " , ⋯ , x j klg ∈ F " in the truth table, the Hamming weight of a monomial vector p of length 2 c is thus equal to 2 c/< . The zero order Boolean monomial is the all-one vector 1 ⋯ 1, denoted by v -. There are m first-order monomials v 0 , v " , ⋯ , v c . To form a second-order monomial, two randomly chosen first-order monomials can be multiplied by each other to obtain v 6 • v j , 1 < i < j < m. We can thus form a s-order monomial, by randomly multiplying s first-order monomials and there are r c < s s-order Boolean monomials of degree s in m variables. In total, there are r c s + r c 0 s + r c " s + ⋯ + r c c s = 2 c monomials in m variables. Any linear combination of these Boolean monomials is called a Boolean polynomial. Since these 2 c monomials are linearly independent, it follows that the vectors with which they are associated are also linearly independent. In other words, there are 2 " k Boolean polynomials f in m variables and any vector f of length 2 c associated to the Boolean polynomial f can be written as the linear combinations of these 2 t monomial vectors as follows, f = a -1 + a 0 v 0 + ⋯ + a c v c + a 0," v 0 v " + ⋯ + a 0,",⋯,c v 0 v " ⋯ v c .

Majority-logic decoding of Reed-Muller codes
The concept of majority-logic decoding in RM codes, also known as Reed decoding, involves forming multiple check-sums for any information bit at each decoding step. In general, decoding algorithms using majority-logic decoding have low decoding complexity with suboptimal performance.
Consider the r-th order RM code, RM(r,m). Let a = (a -, a 0 , ⋯ , a 6 , ⋯ , a 0," , ⋯ , a 6 e ,⋯,6 u , ⋯ , a c/vw0,⋯,c ) be the information bits to be encoded, where ais the coefficient for the zero-order monomial vector v -, a 6  It is necessary to know how to form the check-sums for decoding at each step, and to do so, parity checks are required at each order. For the information bit a 6 e ,6 f ,⋯,6 u of degree r, the set S is defined as follows S = {c 6 e /0 2 6 e /0 + c 6 f /0 2 6 f /0 + ⋯ + c 6 u /0 2 6 u /0 } where 1 ≤ i 0 ≤ i " ≤ ⋯ ≤ i v ≤ m. In the above, for each ‰ . Because there are 2 t/• integers ‰ in ‚ , we can form 2 t/• check-sums for decoding each information bit ‰ e ,‰ f ,⋯,‰ † of degree r by majority votes.
There are r t • s information bits of r-th order in Reed-Muller codes. Assume the decoded information bits of degree r are ‰ e ,‰ f ,⋯,‰ † * . We then form the received vector We continue this process on the modified received vector (0) for information bits ‰ e ,‰ f ,⋯,‰ † /0 of degree r-1 with the same procedure and different S and ‚ until to the information bit -. Readers can refer to [5,Chapter 4] for more information about the constructions and the majority-logic decoding of Reed Muller codes.

Modified Majority-Logic Decoding of Reed-Muller Codes
In this section, the sum-product and min-sum algorithms on the factor graph are briefly reviewed. Then the RM(2,3) code is used to demonstrate how the check-sums of the highest information bits of an arbitrary RM(r,m) codes can be transformed into a fact graph. Finally, a modified majority-logic decoding using sum-product and min-sum algorithms at the highest information bit in RM codes is presented.

Modified soft decoding for highest order information bits
We use the RM(2,3) code to demonstrate how the check-sums of the highest information bits of an arbitrary RM(r,m) code can be transformed into a fact graph. There are 7 information bits a -, a 0 , a " , a -, a 0," , a 0,-, a ",-in RM(2,3) which is encoded into a codeword (c -, ⋯ , c -) = av -+ • a 6 e v 6 e + • a 6 e ,6 f v 6 e v 6 f . 0y6 e ,6 f z-0y6 e z-These code bits (c -, ⋯ , c -) and highest-order information bits a 0," , a 0,-, a ",-form the eight code-bit nodes and three information-bit nodes in Fig. 1. The two check-sums for the information bit a 0," are c -+ c 0 + c " + c -, c˜+ c ™ + c š + c -, Similarly, the two check-sums for a 0,-and a ",-are c -+ c 0 + c˜+ c ™ , c " + c -+ c š + c -, and c -+ c " + c˜+ c š , c 0 + c -+ c ™ + c -, which describe the connection between the information-bit node, the code-bit nodes c, and these two check nodes. The connections of these nodes form the upper part of the factor graph in Fig. 1.   Fig. 1. A factor graph of three highest information bits in RM(2,3). These eight check-sums describe the connection between the information-bit nodes a 0,-, a ",-, the code-bit nodes c, and these six check nodes. The connections of these nodes form the bottom part of the factor graph in Fig. 1. Based on the factor graph in Fig. 1, we can form a parity check matrix whose rows are consisting Fig. 2. In general, the errors often occur at the highest order information bits in the Reed-Muller code decoding process when an majority-logic algorithm is applied. Therefore, our goal is to upgrade decoding accuracy at the highest-order in order to improve the performance of RM decoding algorithms. As shown in Fig. 1, the information transmission process includes three types of nodes, namely, information-bit nodes, code-bit nodes, and check nodes, and the key to decoding lies in the computation of information transmission between these nodes. Fig. 1 is applied to explain how the conventional majority-decision decoding algorithm can exhibit the relations between the check nodes and bit nodes. This factor graph for the highest information bits of RM(2,3) codes clearly describes how decoding can be accomplished for any RM(r,m) codes using message passing algorithms, such as sum-product or min-sum algorithms.
Next, we introduce the proposed modified majority logic algorithm, including the following five steps.
(1) Initialization: All messages passing from the bit node to the check nodes are initialized with the LLR vector from the channel model.
(5) Termination: The information at the information-bit node is then computed as the sum of the message form all check nodes: (cf. also Fig. 4) a h = ∧ -→ §¨+ ∧ 0→ §¨+ ⋯ +∧ c→ §¨+ ⋯ +∧ (±/0)→ §¨. (9) If this output value is greater than 0, the information bit Fig. 5. Message at the information-bit node. a h ³ is determined to be 0; otherwise, it is set as 1. After the highest-order information bits are decoded, these bits are used to update the receiver sequence and then the rest information bits are decoded by the conventional majority-logic decoding.

Simulation Results
We evaluate and compare the bit error rate (BER) performance in the AWGN channel between the conventional majority-logic decoding and the proposed modified majority-logic decoding. The encoded codeword from a RM code is first mapped to a signal constellation point, which is then transmitted through an AWGN channel with variance " = N -2 ⁄ . The simulation result in Fig. 6 shows that at BER=10 /™ , the signal-to-noise ratio (SNR) of the modified min-sum or sum-product decoding is reduced by about 1.5 dB over the conventional majority-logic decoding for RM (1,4). Fig. 7 shows the BER performance for RM (3,7) and RM(4,7) which have the same code length. In Fig. 7, the solid line and the dotted line represent the BER numerical results of RM(4,7) and RM (3,7) respectively. It is seen from Fig. 7 that when the fixed bit error rate is 10 /™ , the SNR of the proposed modified majority-logic decoding can be reduced by more than 1 dB over the conventional majority-logic decoding. Fig. 7 shows the BER performance for RM (2,5) and RM (3,7) which have the same rate 0.5. The numerical results show that the coding gain of the proposed modified majority-logic decoding over the conventional majority-logic decoding is more than 1 dB at BER=10 /™ .

Conclusions
We propose to modify the majority-logic decision by using graphic min-sum and sum-product algorithms at the highest order in this paper. This method does not significantly increase the computational complexity, but the BER is lower than that of other majority-logic algorithms. We evaluate and compare the BER performance in the AWGN channel between the conventional majority-logic decoding and the proposed modified majority-logic decoding. The encoded codeword from an RM code is first mapped to a signal constellation point, which is then transmitted through an AWGN channel with variance of " = ¶ f £ · " . The numerical results show that the coding gain of the proposed modified majority-logic decoding over the conventional majority-logic decoding is more than 1 dB at BER=10 /™ .