Ordered statistics-based list decoding techniques for linear binary block codes

The ordered statistics-based list decoding techniques for linear binary block codes of small to medium block length are investigated. The construction of a list of the test error patterns is considered. The original ordered-statistics decoding (OSD) is generalized by assuming segmentation of the most reliable independent positions (MRIPs) of the received bits. The segmentation is shown to overcome several drawbacks of the original OSD. The complexity of the ordered statistics-based decoding is further reduced by assuming a partial ordering of the received bits in order to avoid the complex Gauss elimination. The probability of the test error patterns in the decoding list is derived. The bit error rate performance and the decoding complexity trade-off of the proposed decoding algorithms is studied by computer simulations. Numerical examples show that, in some cases, the proposed decoding schemes are superior to the original OSD in terms of both the bit error rate performance as well as the decoding complexity.


Introduction
A major difficulty in employing forward error correction (FEC) coding is the implementation complexity especially of the decoding at the receiver, and the associated decoding latency for long codewords.Correspondingly, the FEC coding is often designed to trade-off the bit error rate (BER) with the decoding complexity and latency [1], and even with the energy efficiency [2].Many universal decoding algorithms have been proposed for the decoding of linear binary block codes [3].The decoding algorithms in [4,5] are based on the testing and re-encoding of the information bits as initially considered by Dorsch [6].In particular, a list of the likely transmitted codewords is generated using the reliabilities of the received bits, and then, the most likely codeword is selected from this list.The list of the likely transmitted codewords can be constructed from a set of the test error patterns.The test error patterns can be predefined as in [4,7], and as assumed also in this article, predefined and optimized for the channel statistics as in [8], or defined adaptively for a particular received sequence as suggested in [9].The complexity of the list decoding can be further reduced by the skipping and stopping rules as shown, for example, in [4,7].
Among numerous variants of the list decoding techniques, the ordered-statistics decoding (OSD) is well known [4,7].The structural properties of the FEC code are utilized to reduce the OSD complexity in [10].The achievable coding gain of the OSD is improved by considering the multiple information sets in [11].The decoding proposed in [12] exploits randomly generated biases to present the decoder with the multiple received softdecision values.The sort and match decoding of [13] divides the received sequence into two disjoint segments.The list decoding is then performed for each of the two segments independently, and the two generated lists are combined using a sort and match algorithm to decide on the most likely transmitted codeword.The box and match decoding strategy is developed in [5].An alternative approach to the soft-decision decoding of linear binary block codes relies on the sphere decoding techniques [14,15].For example, the input sphere decoder (ISD) considered in this article can be considered to be a trivial sphere decoding algorithm.Furthermore, the structure of the channel code can be exploited to design the channel code-specific list decoding [16].
In this article, we investigate the OSD-based decoding strategies for linear binary block codes.Our aim is http://jwcn.eurasipjournals.com/content/2012/1/314 to obtain low-complexity decoding schemes that provide sufficiently large or valuable coding gains, and more importantly, that are also well suited for implementation in the communication systems with limited hardware resources, e.g., at the nodes of wireless sensor networks [17].We modify the original OSD by considering disjoint segments of the MRIPs [18].Such segmentation of the MRIPs creates flexibility that can be exploited to fine-tune a trade-off between the BER performance and the decoding complexity.Thus, the original OSD can be considered to be a special case of the segmentationbased OSD having only one segment corresponding to the MRIPs.Furthermore, since the complexity of obtaining a row echelon form of the generator matrix for every received codeword represents a significant part of the overall decoding complexity, we examine a partial OSD (POSD) when only the systematic part of the received codeword is ordered.Finally, the simulation results presented in [18] are extended with the rigorous analysis of the probability of error for the OSD schemes which also includes the analysis how to select the optimum decoding list.
The rest of this article is organized as follows.System model is described in "System model'' section.Construction of the list of the test error patterns is investigated in "List selection" section.The list decoding algorithms are developed in "List decoding algorithms" section.The performance analysis is considered in "Performance analysis" section.Numerical examples to compare the BER performance and the decoding complexity of the proposed decoding schemes are presented in "Numerical examples" section.Finally, conclusions are given in "Conclusions" section.

System model
Consider the transmission of codewords of a linear binary block code C over a Rayleigh fading channel with additive white Gaussian noise (AWGN).The code C, denoted as (N, K, d min ), has block length N, dimension K, and the minimum Hamming distance between any two codewords d min .Binary codewords c ∈ Z N 2 where Z 2 = {0, 1} are generated from the vector of information bits u ∈ Z K 2 using the generator matrix G ∈ Z K×N 2 , i.e., c = uG, and all binary operations are considered over a Galois field GF (2).If the code C is systematic, the generator matrix has the form, G =[ I P], where I is the K × K identity matrix, and is the matrix of parity checks.The codeword c is mapped to a binary phase shift keying (BPSK) sequence x ∈ {+1, −1} N before the transmission.Assuming the mapping, x i = M (c i ) = (−1) c i , for i = 1, 2, . . ., N, we have the property, for any encoded bits c i and c j , and ⊕ denotes the modulo 2 addition.Then, the encoded bit c i can be recovered from the symbol x i using the inverse mapping, For brevity, we also use the notation, x = M (c) and c = M −1 (x), to denote the component- wise modulation mapping and de-mapping, respectively.The codewords of code C are assumed to have equally probable values of the encoded bits, i.e., the probability, Pr{c i = 0} = Pr{c i = 1} = 1/2, for i = 1, 2, . . ., N. Consequently, all codewords are transmitted with the equal probability, i.e., one has the a priori probability, Pr{c} = 2 −K for ∀c ∈ C. The signal at the output of the matched filter (i.e., at the input to the decoder) at the receiver can be written as where the frequency non-selective channel fading coefficients h i as well as the AWGN samples w i are mutually uncorrelated zero-mean circularly symmetric complex Gaussian random variables.The variance of h i is unity, i.e., E |h i | 2 = 1 where E [ •] is expectation, and | • | denotes the absolute value.The samples w i have the variance, is the encoding rate of C, and γ c is the signal-to-noise ratio (SNR) per transmitted encoded binary symbol.The covariance, E h i h * j = 0 for i = j, where (•) * denotes the complex conjugate, corresponds to the case of fast fading channel with the ideal interleaving and deinterleaving.On the other hand, for slowly block-fading channel, the covariance E h i h * j = 1 for ∀i, j = 1, 2, . . ., N, whereas the fading coefficients are assumed to be uncorrelated between the transmissions of adjacent codewords.
In general, denote as f (•) the probability density function (PDF) of a random variable.The reliability r i of the received signal y i is given by the ratio of the conditional PDFs of y i [19], i.e., , −1}, is the conditionally Gaussian distribution.Since x i are real-valued symbols, the reliability r i can be written as The bit-by-bit binary-quantized (i.e., hard) decisions are then defined as where sign (•) denotes the sign of a real number.
More importantly, even though the primary metric of our interest is the BER performance of the code C, it is mathematically more convenient to design and analyze the list decoding algorithms assuming the probability of http://jwcn.eurasipjournals.com/content/2012/1/314codeword error.Thus, we can assume that the decoding algorithm designed using the probability of codeword error also achieves a good BER performance [19].
The maximum likelihood (ML) decoder minimizing the probability of codeword error provides the decision ĉML on the most likely transmitted codeword, i.e., where y, h, x, and r denote the N-dimensional row vectors of the received signals y i , the channel coefficients h i , the transmitted symbols x i , and the reliabilities r i within one codeword, respectively, • is the Euclidean norm of a vector, is the component-wise (Hadamard) product of vectors, and the binary operator '•' is used to denote the dot-product of vectors.The codewords c ∈ C used in (2) to search for the maximum or minimum value of the ML metric are often referred to as the test codewords.In the following section, we investigate the soft-decision decoding algorithms with small implementation complexity to replace the computationally demanding ML decoding in (2).

List decoding
We investigate the list-based decoding algorithms.For simplicity, we assume binary block codes that are linear and systematic [20].We note that whereas the extension of the list-based decoding algorithms to non-systematic codes is straightforward, the list-based decoding of nonlinear codes is complicated by the fact that the list of the test codewords is, in general, dependent on the received sequence.More importantly, we define and measure the decoding (time) complexity O of the list decoding algorithms as the size of the list given by the number of the test codewords that are examined in the decoding process.Hence, the ML decoding (2) has the complexity, O ML = 2 K , which is prohibitive for larger values of K.Among the practical list-based decoding algorithms with the acceptable decoding complexity, we investigate the OSD-based list decoding algorithms [4] for the soft-decision decoding of linear binary block codes.The OSD decoding resumes by reordering the received sequence of reliabilities r i , i = 1, 2, . . ., N. Thus, let, so that the ordering of reliabilities can be described by the permutation, λ , i.e., The permutation λ corresponds to the generator matrix G = λ [G] having the reordered columns.In order to obtain the MRIPs for the first K bits in the codeword, additional swapping of the columns of G may have to be used which corresponds to the permutation λ , and the generator matrix G = λ G .The matrix G is then guaranteed it can be manipulated into a row (or a reduced row) echelon form using the Gauss (or the Gauss-Jordan) elimination.To simplify the notation, let r and G denote the reordered sequence of the reliabilities r and the reordered generator matrix G in a row (or a reduced row) echelon form, respectively, after employing the permutations λ and λ , that will be used to decode the received sequence y.Thus, for i ≥ j, the reordered sequence r has elements, |r i | ≥ |r j |, for i, j ∈ {1, . . ., K}, as well as for i, j ∈ {K + 1, . . ., N}.
The complexity of the full ML decoding (2) of the received sequence y can be reduced by assuming a list of the L test codewords, so that L 2 K .Denote such list of the test codewords of cardinality L generated by the matrix G as, and let e 0 = 0 be the all-zero codeword.Then, the list decoding of y is defined as where the systematic part of the codeword ĉ0 is given by the hard-decision decoded bits at the MRIPs.The decoding step to obtain the decision ĉ0 is referred to as the 0th order OSD reprocessing in [4].In addition, due to linearity of C, we have that (c 0 ⊕e) ∈ C, and thus, the test error patterns e ∈ E L can be also referred to as the test codewords in the decoding (4).Using property (1), we can rewrite the decoding (4) as where we denoted x0 = M ĉ0 , and r0 = r x0 .The system model employing the list decoding ( 5) is illustrated in Figure 1.Hence, as indicated in Figure 1, the system model can be represented as an equivalent channel with the binary vector input c and the vector soft-output r0 .

List selection
The selection of the test error patterns e to be included in the list E L as well as the list size L critically affect the probability of incorrect codeword decision in the list decoding.Denote such probability of codeword error as P e , and let c Tx be the codeword transmitted.In [14], the probability P e is expanded as where the decision ĉ is obtained by the decoding (5), and the condition, ĉML = c Tx , is satisfied provided that the vectors ĉML and c Tx differ in at least one component, i.e., ĉML = c Tx if and only if all the components of these vectors are equal.Since, for any list E L , the probability, Pr ĉ = c Tx |ĉ ML = c Tx = 1, and usually, the probability, Pr ĉML = c Tx is close to 1, the probability P e can be tightly upper-bounded as The bound ( 6) is useful to analyze the performance of the list decoding (5).The first term on the right-hand side of ( 6) is the codeword error probability of the ML decoding, and the second term is the conditional codeword error probability of the list decoding.Furthermore, the probability Pr ĉ = c Tx |ĉ ML = c Tx is decreasing with the list size.In the limit of the maximum list size when the list decoding becomes the ML decoding, the bound (6) becomes P e = Pr ĉML = c Tx .However, in order to construct the list of the test error patterns, we consider the following alternative expansion of the probability P e , i.e., Using (4) and ( 5), the probability P I that the list decoding (5) selects the transmitted codeword provided that such codeword is in the list (more precisely, provided that the error pattern c Tx ⊕ ĉ0 is in the list) can be expressed as (7)   The probability (7) decreases with the list size, and, in the limit of the maximum list size L = 2 K , P I = 1 − P e .On the other hand, the probability P II that the transmitted codeword is in the decoding list increases with the list size, and P II = 1, for L = 2 K .
Since the coding C as well as the communication channel are linear, then, without loss of generality, we can assume that the all-zero codeword, c Tx = 0, is transmitted.Consequently, given the list decoding complexity L, the optimum list E * L minimizing the probability P e is constructed as (8)   where |E| is the cardinality of the list E, and the harddecision codeword ĉ0 ∈ C represents the error pattern observed at the receiver after the transmission of the codeword c Tx = 0.For given list of the test error patterns E in (8), and assuming the system model in "System model" section with asymptotically large SNR, the probability P I = Pr ĉ = 0|ĉ 0 ∈ E is dominated by the error events corresponding to the error patterns with the smallest Hamming distances.Since the error patterns in the list are also codewords of C, the smallest Hamming distance between any two error patterns in the list E is at least d min .Furthermore, assuming that the search in ( 8) is constrained to the lists E having the minimum Hamming distance between any of the two error patterns exactly equal to d min , the probability P I is approximately constant for all these lists E. Consequently, we can consider the sub-optimum list construction The list construction (9) is recursive in its nature, since the list E maximizing (9) consists of the L most probable error patterns.However, in order to achieve the small probability of decoding error P e and approach the probability of decoding error, Pr ĉML = c Tx , of the ML decoding, the list size L must be large.Hence, we can obtain a practical list construction by assuming the L sufficiently probable error patterns rather than assuming the L most likely error patterns.We restate Theorems 1 and 2 in [4] to obtain the likely error patterns and to define the practical list decoding algorithms.
Denote as P(i 1 , i 2 , . . ., i n ) the nth-order joint probability of bit errors at the bit positions 1 ≤ i 1 < i 2 < . . .< i n ≤ N in the received codeword after the ordering λ and λ , and before the decoding.Since the test error pattern e is a codeword of C, the probability P(i 1 , i 2 , . . ., i n ), for i n ≤ K, is equal to the probability Pr e = ĉ0 assuming that n bit errors occurred during the transmission corresponding to the positions (after the ordering) i 1 , i 2 , . . ., i n .We have the following lemma.
Using Lemma 1, we can show, for example, that P(i, j) ≤ P(i), and P(i, j) ≤ P(j).We can now restate Theorems 1 and 2 in [4] as follows.
Theorem 1. Assume bit positions 1 ≤ i < j < k ≤ N, and let the corresponding reliabilities be Then, the bit error probabilities Proof.Without loss of generality, we assume that the symbols x i = −1, x j = −1, and x k = −1 have been transmitted.Then, before the decoding, the received bits would be decided erroneously if the reliabilities ri > 0, rj > 0, and rk > 0. Conditioned on the particular transmitted symbols x i , x j , and x k , let f (•) denote the conditional PDF of the ordered reliabilities ri , rj , and rk .
Consider first the inequality P(i) ≤ P(j).Since, for ri > 0, f (r i ) < f (−r i ), using f (r i , rj ) = f (r i |r j )f (r j ), we can show that, for ri > 0 and any rj , we can show that, for rj > 0 and any ri , f (−r i , rj ) < f (−r i , −r j ).Then, the probability of error for bits i and j, respectively, is and thus, P(i) ≤ P(j).
The second inequality, P(i, j) ≤ P(i, k), can be proved by assuming conditioning, P(i, j) = P(j|i)P(i), P(i, k) = P(k|i)P(i), and f (r i , rj , rk ) = f (r j , rk |r i )f (r i ), and by using inequality P(i) ≤ P(j), and following the steps in the first part of this proof.

List decoding algorithms
Using Theorems 1 and 2 in [4], the original OSD assumes the following list of the test error patterns, where I is the so-called reprocessing order of the OSD, and w H [e] is the Hamming weight of the vector e.Thus, the list (10) uses a K-dimensional sphere of radius I defined about the origin 0 = (0, . . ., 0) in Z K 2 .The decoding complexity for the list ( 10) is L = I l=0 K l where l is referred to as the phase of the order I reprocessing in [4].Assuming an AWGN channel, the recommended reprocessing order is K where • is the ceiling function.Since the OSD algorithm may become too complex for larger values of I and K, a stopping criterion for searching the list E L was developed in [10].
We can identify the following inefficiencies of the original OSD algorithm.First, provided that no stopping or skipping rules for searching the list of the test error patterns are used, once the MRIPs are found, the ordering of bits within the MRIPs according to their reliabilities becomes irrelevant.Second, whereas the BER performance of the OSD is modestly improving with the reprocessing order I, the complexity of the OSD increases rapidly with I [10].Thus, for given K, the maximum value of I is limited by the acceptable OSD complexity to achieve a certain target BER.We can address these inefficiencies of the original OSD by more carefully exploiting the properties of the joint probability of bit errors given by Lemma 1 and Theorem 1.Hence, our aim is to construct a welldefined list of the test error patterns without considering the stopping and skipping criteria to search this list.
Recall that the test error patterns are uniquely specified by bits within the MRIPs, whereas the bits outside the MRIPs are obtained using the parity check matrix of the code.In order to generate a list of the test error patterns independently of the particular generator matrix (i.e., independently of the particular code) as well as independently of the particular received sequence, we consider only the bit errors within the MRIPs.Hence, we assume that, for all test error patterns, the bit errors outside the MRIPs affect the value of the metric in (5) equally.More importantly, in order to reduce the list decoding complexity while improving the BER performance, we consider partitioning of the MRIPs into disjoint segments.This decoding strategy employing segments of the MRIPs is investigated next.

Segmentation-based OSD
Assuming Q disjoint segments of the MRIPs, the test error pattern e corresponding to the K MRIPs can be expressed as a concatenation of the Q error patterns e (q) of length K q bits, q = 1, . . ., Q, i.e., e = (e (1) , . . ., e (Q) ) ∈ Z K 2 so that Q q=1 K q = K, and w H [e] = w H e (1)  (Q) .As indicated by Lemma 1 and Theorem 1, more likely error patterns have smaller Hamming weights, and they correct the bit positions having smaller reliabilities.In addition, the decoding complexity given by the total number of the test error patterns in the list should grow linearly with the number of segments Q.Consequently, for http://jwcn.eurasipjournals.com/content/2012/1/314 a small number of segments Q, it is expected that a good decoding strategy is to decode each segment independently, and then, the final decision is obtained by selecting the best error (correcting) pattern from these segments decodings.In this article, we refine this strategy for Q = 2 segments as a generalization of the conventional OSD having only Q = 1 segment.
Assuming that the two segments of the MRIPs are decoded independently, the list of the test error patterns can be written as where E (1) L 1 and E (2) L 2 are the sublists of the test error patterns corresponding to the list decoding of the first segment and of the second segment, respectively, and L = L 1 + L 2 .Obviously, fewer errors, and thus, fewer error patterns can be assumed for shorter segments, and the segments with larger reliabilities of the received bits.Similar to the case of the conventional OSD having only one segment, for Q = 2 segments of the MRIPs considered, we assume all the test error patterns up to the maximum Hamming weight I q , q = 1, 2. Then, the sublists of the test error patterns in (11) are defined as Hence, the overall decoding complexity of the segmentation-based OSD with the sublists in ( 12) is where K = K 1 + K 2 , and we assume that, I 1 K 1 , and I K 2 .Recall that the original OSD, denoted as OSD(I) or OSD(I|K), has one segment of length K bits, and that the maximum number of bit errors assumed in this segment is I.The segmentation-based OSD is denoted as OSD(I 1 , I 2 ) or OSD(I 1 |K 1 , I 2 |K 2 ), and it is parameterized by the segments length K 1 , and K 2 , and the maximum number of bit errors in these segments I 1 and I 2 , respectively.The segment sizes K 1 and K 2 are chosen empirically to minimize the BER for a given decoding complexity L and the set of codes under consideration.In particular, for systematic block codes of block length N < 128 and rate R ≥ 1/2, it was found that the best BER performance is achieved if the length of the first segment is The maximum number of bit errors I 1 and I 2 in the two segments are then selected empirically to fine-tune the BER performance and the decoding complexity trade-off.For instance, we can set the parameters of the segmentationbased list decoding to have the BER performance as well as the decoding complexity between those corresponding to the original decoding schemes OSD(I) and OSD(I + 1).
Finally, we note that it is straightforward to develop the skipping criteria for efficient search of the list of the test error patterns in the OSD-based decoding schemes.For instance, one can consider the Hamming distances for one or more segments of the MRIPs between the received hard decisions (before the decoding) and the temporary decisions obtained using the test error patterns from the list.If any or all of the Hamming distances are above given thresholds, the test error pattern can be discarded without re-encoding and calculating its Euclidean distance.For the Q = 2 segments OSD being considered, our empirical results indicate that the thresholds of the number of bit errors in the first and the second segments should be 0.35 d min and d min , respectively.

POSD
The Gauss (or the Gauss-Jordan) elimination employed in the OSD-based decoding algorithms represents a significant portion of the overall implementation complexity.A new row (or a reduced row) echelon form of the generator matrix must be obtained after every permutation λ until the MRIPs are found.Hence, we can devise a POSD that completely avoids the Gauss elimination, and thus, it further reduces the decoding complexity of the OSDbased decoding.The main idea of the POSD is to order only the first K received bits according to their reliabilities, so that the generator matrix remains in its systematic form.It is clear that such decoding strategy can only provide the coding gain if more than one segment of the information bits is considered.Thus, we assume Q = 2 segments, and denote this decoding as POSD(I 1 , I 2 ) or POSD(I 1 |K 1 , I 2 |K 2 ).The parameters K 1 , K 2 , I 1 , and I 2 can be optimized empirically as in the case of OSD(I 1 , I 2 ) to fine-tune the BER performance versus the implementation complexity; it is recommended to use the same parameters as for the OSD(I 1 , I 2 ) decoding.Moreover, even though the partial ordering of the first K out of N received bits is irrelevant for the OSD decoding using one segment only, we note that the POSD(I) decoding can be referred to as the input-sphere decoding ISD(I).

Implementation complexity
We compare the number of binary operations (BOPS) and the number of floating point operations (FLOPS) required to execute the decoding algorithms proposed in this article.Assuming a (N, K, d min ) code, the complexity of the OSD and the POSD are compared in Tables 1 and 2.
The implementation complexity expressions in Table 1 for OSD(I) are from the reference [4].For example, the OSD decoding of the BCH code (128, 64, 22) requires at least http://jwcn.eurasipjournals.com/content/2012/1/314 Table 1 The implementation complexity of the OSD and the POSD

Operation Complexity
OSD(I 1 ) and OSD(I 1 , I 2 ) 1, 152 FLOPS and 528, 448 BOPS to find the MRIPs and to obtain the corresponding equivalent generator matrix in a row echelon form.All this complexity can be completely avoided by assuming the POSD decoding.The number of the test error patterns is L = 2080 for OSD(2), and L = 1177 for OSD(2, 2) with K 1 = 21 and K 2 = 43 whereas the coding gain of OSD( 2) is only slightly better than the coding gain of OSD(2, 2) (see Figure 2).Hence, the overall complexity of the OSD-based schemes can be substantially reduced by avoiding the Gauss (Gauss-Jordan) elimination.

Performance analysis
Recall that we assume a memoryless communication channel as described in "System model'' section.We derive the probability Pr ĉ0 ∈ E L in (9) that the error pattern ĉ0 observed at the receiver after the transmission of the codeword c Tx = 0 is an element of the decoding list E L .The derivation relies on the following generalization of Lemma 3 in [4].
Lemma 2. For any ordering of the N received bits, consider the I bit positions I ⊆ {1, 2, . . ., N}, and the I I 1 subsets I 1 ⊆ I of I 1 bit positions, such that I 1 ≤ I ≤ N.Then, the total probability of I 1 bit errors within the I bits can be calculated as Table 2 The decoding list sizes for the OSD and the POSD OSD(I) where p 0 is the probability of bit error corresponding to the bit positions I before the decoding.
Proof.The ordering of the chosen I bits in the given set I is irrelevant since all subsets I 1 of I 1 errors within the I bits I are considered.Consequently, the bit errors in the set I can be considered to be independent with the equal probability denoted as p 0 .
Using Lemma 2, we observe that the lists of the test error patterns (10) and ( 12) are constructed, so that the ordering of bits within the segments is irrelevant.Then, the bit errors within the segments can be considered to be mutually independent.This observation is formulated as the following corollary of Lemma 2.
Corollary 1.For the OSD(I) and the list of the test error patterns (10), the bit errors in the MRIPs can be considered as conditionally independent.Similarly, for the POSD(I 1 , I 2 ) and the list of the test error patterns (12), the bit errors in the two segments can be considered to be conditionally independent.
Thus, the bit errors in Corollary 1 are independent conditioned on the particular segment considered as shown next.
Let P 0 be the bit error probability corresponding to the MRIPs in the OSD(I) decoding.Similarly, let P 1 and P 2 be the bit error probabilities in the first and the second segments in the OSD(I 1 , I 2 ) decoding, respectively.Denote the auxiliary variables, v 1 = |r K 1 |, v 2 = |r K 1 +1 |, and v 3 = |r K+1 | of the ordered statistics (3), and let u ≡ |r i |, i = 1, 2, . . ., K. Hence, always, v 1 ≥ v 2 , and, for simplicity, ignoring the second permutation λ , also, v 2 ≥ v 3 .The probability of bit error P 0 corresponding to the MRIPs is calculated as is the PDF of the (K + 1)th-ordered statistic in (3), and F u (v) is the cumulative distribution function (CDF) of the absolute value of the received reliability before the ordering.Similarly, the probability of bit error P 1 for the first segment is calculated as where f v 2 (v) is the PDF of the (K 1 + 1)th-ordered statistic in (3).The probability of bit error P 2 for the second segment is calculated as where f v 1 (v) and F v 1 (v ) are the PDF and the CDF of the K 1 th-ordered statistic in (3), respectively.The values of the probabilities P 0 , P 1 , and P 2 have to be evaluated numerically.Finally, we can substitute the probabilities P 0 , P 1 , and P 2 for p 0 in Lemma 2 to calculate the probability Pr ĉ0 ∈ E L of the test error patterns in the list E L .

Numerical examples
We use computer simulations to compare the BER performances of the proposed soft-decision decoding schemes.Recall that all block codes considered are linear and systematic.
The BER of the (128, 64, 22) BCH code over an AWGN channel is shown in Figure 2 assuming OSD(1) and OSD(2) with K = 64, and assuming OSD(2, 2) with K 1 = 21 and K 2 = 43.The number of the test error patterns for the OSD(1), OSD(2), and OSD(2, 2) decodings are 64, 2, 081, and 1, 179, respectively.A truncated union bound of the BER in Figure 2 is used to indicate the ML performance [19,Ch. 10].We observe that both OSD(2) and OSD(2, 2) have the same BER performance for the BER values larger than 10 −3 , and OSD(2) outperforms OSD(2, 2) by at most 0.5 dB for small values of the SNR.Our numerical results show that, in general, the OSD(2, 2) decoding can achieve approximately the same BER as OSD(2) for small to medium SNR values while using about 50% less test error patterns.Thus, a slightly smaller coding gain (less than 0.5 dB) of OSD (2,2) in comparison with OSD(2) at larger values of the SNR is well compensated for by the reduced decoding complexity.More importantly, OSD(2, 2) can trade-off the BER performance and the decoding complexity between those provided by OSD(1) and OSD(2), especially at larger values of the SNR.
The BER of the (31, 16, 7) BCH code over an AWGN channel is shown in Figure 3 assuming ISD(2) and ISD(3) with K = 16 having the 137 and 697 test error patterns, respectively, and assuming POSD(1, 3) and POSD(2, 3) with K 1 = 6 and K 2 = 10 having the 183 and 198 test error patterns, respectively.We observe that POSD(1, 3) achieves the same BER as ISD(3) while using much less error patterns which represents the gain of ordering the received information bits into two segments.At the BER of 10 −4 , POSD(1, 3) outperforms ISD(2) by 1.1 dB using approximately 50% more test error patterns.Thus, the POSD(1, 3) decoding provides 2.3 dB coding gain, and has a small implementation complexity at the expense of 2 dB loss compared to the ML decoding.
The BER of the (31, 16, 7) BCH code over a fast Rayleigh fading channel is shown in Figure 5.We assume the same decoding schemes as in Figure 3.The POSD(1, 3) decoding with the 183 test error patterns achieves the coding gain of 17 dB over an uncoded system, the coding gain of 4 dB over ISD(2) with the 137 test error patterns, while it has the same BER as OSD(3) with the 697 test error patterns.The BER of the high-rate BCH code (64, 57, 4) over a fast Rayleigh channel is shown in Figure 6.In this case, the number of the test error patterns for the ISD(2), ISD(3), POSD(2, 3), and OSD(2) decoding is 1, 654, 30, 914, 8, 685, and 1, 654, respectively.We observe that, for small to medium SNR values, POSD(2, 3) which does not require the Gauss elimination (corresponding to approximately 3, 000 BOPS) outperforms OSD(2) by 1 dB whereas, for large SNR values, these two decoding schemes achieve approximately the same BER performance.

Conclusions
The low-complexity soft-decision decoding techniques employing the list of the test error patterns for linear binary block codes of small to medium block length were investigated.The optimum and sub-optimum construction of the list of the test error patterns was developed.Several properties of the joint probability of bit errors after the ordering were derived.The original OSD algorithm was generalized by assuming segmentation of the MRIPs.The segmentation of the MRIPs was shown to overcome several drawbacks of the original OSD, and it also enables flexibility to devise new decoding strategies.The decoding complexity of the OSD-based decoding algorithms was further reduced by avoiding the Gauss (or the Gauss-Jordan) elimination using a partial ordering of the received bits in the POSD decoding.The performance analysis was concerned with the problem of finding the probability of the test error patterns contained in the decoding list.The BER performance and the decoding complexity of the proposed decoding schemes were compared by extensive computer simulations.Numerical examples demonstrated excellent flexibility of the proposed decoding schemes to trade-off the BER performance and the decoding complexity.In some cases, both the BER performance as well as the decoding complexity of the segmentation-based OSD were found to be improved compared to the original OSD.

Appendix
We derive the probabilities P 0 , P 1 , and P 2 in "Performance analysis" section.Without loss of generality, we assume that the all-ones codeword was transmitted, i.e., x i = −1 for ∀i.Then, after the ordering, the ith received bit, i = 1, 2, . . ., N, is in error, provided that ri > 0. The probability of bit error P 0 for bits within the MRIPs is calculated as where the conditional PDF [21], and f u (u) and F u (v 3 ) are the PDF and the CDF of the reliabilities of the received bits, respectively, and thus, Similarly, after the ordering, the probability of bit error P 1 , for the received bits in the first segment, is calculated as dv 2 du.
The probability of bit error P 2 after the ordering, for the received bits in the second segment, is calculated as where the conditional PDF, o t h e r w i s e and the joint PDF of the ordered statistics v 1 ≥ v 3 is and thus, dvdv du.

P e =Figure 1
Figure1Equivalent system model.The system model and equivalent vector channel with the binary vector input c and the vector soft-output r0 .