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

- Saif E A Alnawayseh
^{1}and - Pavel Loskot
^{2}Email author

**2012**:314

https://doi.org/10.1186/1687-1499-2012-314

© Alnawayseh and Loskot; licensee Springer. 2012

**Received: **16 February 2012

**Accepted: **23 September 2012

**Published: **16 October 2012

## Abstract

### Abstract

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.

## Keywords

## 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 soft-decision 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 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 segmentation-based 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

_{ i }

*N*,

*K*,

*d*

_{min}), has block length

*N*, dimension

*K*, and the minimum Hamming distance between any two codewords

*d*

_{min}. Binary codewords $\mathbf{c}\in {\mathbb{Z}}_{2}^{N}$ where ${\mathbb{Z}}_{2}=\{0,1\}$ are generated from the vector of information bits $\mathbf{u}\in {\mathbb{Z}}_{2}^{K}$ using the generator matrix $\mathbf{G}\in {\mathbb{Z}}_{2}^{K\times N}$, i.e.,

**c**=

**u**

**G**, and all binary operations are considered over a Galois field GF(2). If the code $\mathcal{C}$ is systematic, the generator matrix has the form,

**G**=[

**I**

**P**], where

**I**is the K

**×**K identity matrix, and $\mathbf{P}\in {\mathbb{Z}}_{2}^{K\times (N-K)}$ 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}=\mathcal{M}\left({c}_{i}\right)={(-1)}^{{c}_{i}}$, for i

**=1,2,…,**N, we have the property,

for any encoded bits cand _{
j
}c, and ⊕ denotes the modulo 2 addition. Then, the encoded bit c_{i} can be recovered from the symbol x_{i}using the inverse mapping, ${c}_{i}={\mathcal{M}}^{-1}\left({x}_{i}\right)=(1-{x}_{i})/2$. For brevity, we also use the notation, $\mathbf{x}=\mathcal{M}\left(\mathbf{c}\right)$ and $\mathbf{c}={\mathcal{M}}^{-1}\left(\mathbf{x}\right)$, to denote the component-wise modulation mapping and de-mapping, respectively. The codewords of code $\mathcal{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 $\forall \mathbf{c}\in \mathcal{C}$.

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, E [|w_{i}|^{2}]=(Rγ_{c})^{−1}, where R=K/N is the encoding rate of $\mathcal{C}$, and γ_{c}is the signal-to-noise ratio (SNR) per transmitted encoded binary symbol. The covariance, $\mathrm{E}\phantom{\rule{0.3em}{0ex}}\left[{h}_{i}{h}_{j}^{\ast}\right]=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 $\mathrm{E}\phantom{\rule{0.3em}{0ex}}\left[{h}_{i}{h}_{j}^{\ast}\right]=1$ for ∀i,j=1,2,…,N, whereas the fading coefficients are assumed to be uncorrelated between the transmissions of adjacent codewords.

_{i}of the received signal y

_{i}is given by the ratio of the conditional PDFs of y

_{i}[19], i.e.,

_{i}|x

_{i},h

_{i}), for x

_{i}={ + 1,−1}, is the conditionally Gaussian distribution. Since x

_{i}are real-valued symbols, the reliability r

_{i}can be written 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 $\mathcal{C}$, it is mathematically more convenient to design and analyze the list decoding algorithms assuming the probability of codeword error. Thus, we can assume that the decoding algorithm designed using the probability of codeword error also achieves a good BER performance [19].

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 $\mathbf{c}\in \mathcal{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.

_{i}, i=1,2,…,N. Thus, let,

^{′}, i.e.,

The permutation λ^{′} corresponds to the generator matrix ${\stackrel{~}{\mathbf{G}}}^{\prime}={\lambda}^{\prime}\phantom{\rule{0.3em}{0ex}}\left[\mathbf{G}\right]$ having the reordered columns. In order to obtain the MRIPs for the firstK bits in the codeword, additional swapping of the columns of ${\stackrel{~}{\mathbf{G}}}^{\prime}$ may have to be used which corresponds to the permutation λ^{′′}, and the generator matrix ${\stackrel{~}{\mathbf{G}}}^{\mathrm{\prime \prime}}={\lambda}^{\mathrm{\prime \prime}}\phantom{\rule{0.3em}{0ex}}\left[{\stackrel{~}{\mathbf{G}}}^{\prime}\right]$. The matrix ${\stackrel{~}{\mathbf{G}}}^{\mathrm{\prime \prime}}$ 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 $\stackrel{~}{\mathbf{r}}$ and $\stackrel{~}{\mathbf{G}}$ denote the reordered sequence of the reliabilities **r** and the reordered generator matrix $\stackrel{~}{\mathbf{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 $\stackrel{~}{\mathbf{r}}$ has elements, $\left|{\stackrel{~}{r}}_{i}\right|\ge \left|{\stackrel{~}{r}}_{j}\right|$, for i,j∈{1,…,K}, as well as for i,j∈{K + 1,…,N}.

**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 $\stackrel{~}{\mathbf{G}}$ as, ${\mathcal{E}}_{L}=\{{\mathbf{e}}_{0},{\mathbf{e}}_{2},\dots ,{\mathbf{e}}_{{L}_{-}1}\}\subset {\mathbb{Z}}_{2}^{N}$, and let

**e**

_{0}=

**0**be the all-zero codeword. Then, the list decoding of

**y**is defined as

**c**and the vector soft-output ${\stackrel{~}{\mathbf{r}}}_{0}$.

## List selection

**e**to be included in the list ${\mathcal{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

**c**

_{Tx}differ in at least one component, i.e., ${\widehat{\mathbf{c}}}_{\mathrm{ML}}={\mathbf{c}}_{\mathrm{Tx}}$ if and only if all the components of these vectors are equal. Since, for any list ${\mathcal{E}}_{L}$, the probability, $\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{\widehat{\mathbf{c}}\ne {\mathbf{c}}_{\mathrm{Tx}}|{\widehat{\mathbf{c}}}_{\mathrm{ML}}\ne {\mathbf{c}}_{\mathrm{Tx}}\right\}=1$, and usually, the probability, $\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{{\widehat{\mathbf{c}}}_{\mathrm{ML}}={\mathbf{c}}_{\mathrm{Tx}}\right\}$ is close to 1, the probability P

_{e}can be tightly upper-bounded as

_{e}, i.e.,

_{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 ${\mathbf{c}}_{\mathrm{Tx}}\oplus {\widehat{\mathbf{c}}}_{0}$ is in the list) can be expressed as

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}.

**c**

_{Tx}=

**0**, is transmitted. Consequently, given the list decoding complexity L, the optimum list ${\mathcal{E}}_{L}^{\ast}$ minimizing the probability P

_{e}is constructed as

**c**

_{Tx}=

**0**. For given list of the test error patterns $\mathcal{E}$ in (8), and assuming the system model in “System model” section with asymptotically large SNR, the probability ${P}_{I}=\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{\widehat{\mathbf{c}}=\mathbf{0}|{\widehat{\mathbf{c}}}_{0}\in \mathcal{E}\right\}$ 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 $\mathcal{C}$, the smallest Hamming distance between any two error patterns in the list $\mathcal{E}$ is at least d

_{min}. Furthermore, assuming that the search in (8) is constrained to the lists $\mathcal{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 $\mathcal{E}$. Consequently, we can consider the sub-optimum list construction

The list construction (9) is recursive in its nature, since the list $\mathcal{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, $\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{{\widehat{\mathbf{c}}}_{\mathrm{ML}}\ne {\mathbf{c}}_{\mathrm{T}\mathrm{x}}\right\}$, 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 $\mathcal{C}$, the probability P(i_{1},i_{2},…,i_{n}), for i_{n}≤K, is equal to the probability $\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{\mathbf{e}={\widehat{\mathbf{c}}}_{0}\right\}$ 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.

### Lemma 1

*For any bit positions*${\mathcal{I}}_{1}\subseteq \mathcal{I}\subseteq \{1,2,\dots ,N\}$,

### Proof

The lemma is proved by conditioning, i.e., note that, $\mathrm{P}\left(\mathcal{I}\right)=\mathrm{P}({\mathcal{I}}_{1},\mathcal{I}\setminus {\mathcal{I}}_{1})=\mathrm{P}(\mathcal{I}\setminus {\mathcal{I}}_{1}|{\mathcal{I}}_{1}\left)\mathrm{P}\right({\mathcal{I}}_{1})\le $$\le min\left\{\mathrm{P}\right({\mathcal{I}}_{1}),\mathrm{P}(\mathcal{I}\setminus {\mathcal{I}}_{1}\left|{\mathcal{I}}_{1}\right)\}\le \mathrm{P}({\mathcal{I}}_{1})$ where $\mathcal{I}\setminus {\mathcal{I}}_{1}$ denotes the difference of the two sets. □

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*$\left|{\stackrel{~}{r}}_{i}\right|\ge \left|{\stackrel{~}{r}}_{j}\right|\ge \left|{\stackrel{~}{r}}_{k}\right|$.

*Then, the bit error probabilities*

### Proof

Without loss of generality, we assume that the symbols x_{i}=−1, x_{j}=−1, and x_{k}=−1have been transmitted. Then, before the decoding, the received bits would be decided erroneously if the reliabilities ${\stackrel{~}{r}}_{i}>0$, ${\stackrel{~}{r}}_{j}>0$, and ${\stackrel{~}{r}}_{k}>0$. Conditioned on the particular transmitted symbols x_{i}, x_{j}, and x_{k}, let f(·)denote the conditional PDF of the ordered reliabilities ${\stackrel{~}{r}}_{i}$, ${\stackrel{~}{r}}_{j}$, and ${\stackrel{~}{r}}_{k}$.

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({\stackrel{~}{r}}_{i},{\stackrel{~}{r}}_{j},{\stackrel{~}{r}}_{k})=f({\stackrel{~}{r}}_{j},{\stackrel{~}{r}}_{k}|{\stackrel{~}{r}}_{i}\left)f\right({\stackrel{~}{r}}_{i})$, and by using inequality P(i)≤P(j), and following the steps in the first part of this proof.

## List decoding algorithms

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 ${\mathbb{Z}}_{2}^{K}$. The decoding complexity for the list (10) is $L=\sum _{l=0}^{I}\left(\genfrac{}{}{0.0pt}{}{K}{l}\right)$ where l is referred to as the phase of the order I reprocessing in [4]. Assuming an AWGN channel, the recommended reprocessing order is I=⌈d_{min}/4⌉≪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 ${\mathcal{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 well-defined 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

**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.,

so that $\sum _{q=1}^{Q}{K}_{q}=K$, and w_{H} [**e**]=w_{H} [**e**^{(1)}] + ⋯ + w_{H} [**e**^{(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 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=1segment.

_{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=2segments 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

where *K* = *K* _{1} + *K*_{2}, and we assume that, *I*_{1} ≪ *K*_{1}, and *I*_{2} ≪ *K*_{2}.

_{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

so that the second segment length is K_{2}=K−K_{1}. 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 segmentation-based 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 OSD-based 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

_{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 1,152FLOPS and 528,448BOPS 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.

**The implementation complexity of the OSD and the POSD**

Operation | Complexity |
---|---|

OSD(I | |

| 2N FLOPS |

${\stackrel{~}{\mathbf{r}}}^{\prime}$ | $N\underset{2}{\phantom{\rule{.2em}{0ex}}log}\left(N\right)$ FLOPS |

Gauss el. | $N\phantom{\rule{.2em}{0ex}}min{(K,N-K)}^{2}$ BOPS |

${\stackrel{~}{\mathbf{r}}}^{\mathrm{\prime \prime}}$ | K + K ( |

POSD(I | |

| 2N FLOPS |

${\stackrel{~}{\mathbf{r}}}^{\prime}$ | 0 BOPS |

POSD( | |

| 2N FLOPS |

${\stackrel{~}{\mathbf{r}}}^{\prime}$ | $K\underset{2}{\phantom{\rule{.2em}{0ex}}log}\left(K\right)$ FLOPS |

**The decoding list sizes for the OSD and the POSD**

OSD(I) | ${\sum}_{l=0}^{I}\left(\genfrac{}{}{0.0pt}{}{K}{l}\right)$ |

OSD(I | ${\sum}_{l=0}^{{I}_{1}}\left(\genfrac{}{}{0.0pt}{}{{K}_{1}}{l}\right)+{\sum}_{l=0}^{{I}_{2}}\left(\genfrac{}{}{0.0pt}{}{{K}_{2}}{l}\right)$ |

POSD(I)≡ISD(I) | ${\sum}_{l=0}^{I}\left(\genfrac{}{}{0.0pt}{}{K}{l}\right)$ |

POSD(I | ${\sum}_{l=0}^{{I}_{1}}\left(\genfrac{}{}{0.0pt}{}{{K}_{1}}{l}\right)+{\sum}_{l=0}^{{I}_{2}}\left(\genfrac{}{}{0.0pt}{}{{K}_{2}}{l}\right)$ |

## Performance analysis

Recall that we assume a memoryless communication channel as described in “System model” section. We derive the probability $\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{{\widehat{\mathbf{c}}}_{0}\in {\mathcal{E}}_{L}\right\}$ in (9) that the error pattern ${\widehat{\mathbf{c}}}_{0}$ observed at the receiver after the transmission of the codeword **c**_{Tx}=**0** is an element of the decoding list ${\mathcal{E}}_{L}$. The derivation relies on the following generalization of Lemma 3 in [4].

### Lemma 2

_{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

where p_{0} is the probability of bit error corresponding to the bit positions $\mathcal{I}$ before the decoding.

### Proof

The ordering of the chosen I bits in the given set $\mathcal{I}$ is irrelevant since all subsets ${\mathcal{I}}_{1}$ of I_{1}errors within the I bits $\mathcal{I}$ are considered. Consequently, the bit errors in the set $\mathcal{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.

_{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}=\left|{\stackrel{~}{r}}_{{K}_{1}}\right|$, ${v}_{2}=\left|{\stackrel{~}{r}}_{{K}_{1}+1}\right|$, and ${v}_{3}=\left|{\stackrel{~}{r}}_{K+1}\right|$ 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

_{u}[·] denotes expectation w.r.t. (with respect to) u, ${f}_{{v}_{3}}\left(v\right)$ 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

_{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}}\left(v\right)$ and ${F}_{{v}_{1}}\left({v}^{\prime}\right)$ 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 $\mathrm{Pr}\phantom{\rule{0.3em}{0ex}}\left\{{\widehat{\mathbf{c}}}_{0}\in {\mathcal{E}}_{L}\right\}$ of the test error patterns in the list ${\mathcal{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.

_{1}=6 and K

_{2}=10having 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.

_{1}=13and K

_{2}=32 bits. However, especially for high rate codes (i.e., having rates greater than 1/2), one has to also consider the complexity of the Gauss elimination to obtain the row echelon form of the generator matrix for the OSD. For example, the Gauss elimination for the (63,45,14) code requires approximately 20,400BOPS (cf. Table 1).

## 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

_{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

*i*th received bit,

*i*=1,2,…,

*N*, is in error, provided that ${\stackrel{~}{r}}_{i}>0$. The probability of bit error P

_{0}for bits within the MRIPs is calculated as

*f*

_{ u }(

*u*) and

*F*

_{ u }(

*v*

_{3})are the PDF and the CDF of the reliabilities of the received bits, respectively, and thus,

_{1}, for the received bits in the first segment, is calculated as

_{2}after the ordering, for the received bits in the second segment, is calculated as

*v*

_{1}≥

*v*

_{3}is

## Declarations

## Authors’ Affiliations

## References

- Chen N, Yan Z: Complexity analysis of Reed-Solomon decoding over GF(2m) without using syndromes.
*EURASIP J. Wirel. Commun. Netw*2008, 2008(Article ID 843634):1-11.Google Scholar - Howard S, Schlegel C, Iniewski K: Error control coding in low-power wireless sensor networks: when is ECC energy-efficient?
*EURASIP J. Wirel. Commun. Netw*2006, 2006(Article ID 74812):1-14.View ArticleGoogle Scholar - Yagi H:
*A study on complexity reduction of the reliability-based maximum likelihood decoding algorithm for block codes*. PhD thesis, Waseda University; 2005.Google Scholar - Fossorier M, Lin S: Soft-decision decoding of linear block codes based on ordered statistics.
*IEEE Trans. Inf. Theory*1995, 41: 1379-1396. 10.1109/18.412683View ArticleMATHGoogle Scholar - Valembois A, Fossorier M: Box and match techniques applied to soft decision decoding.
*IEEE Trans. Inf. Theory*2004, 50: 796-810. 10.1109/TIT.2004.826644MathSciNetView ArticleMATHGoogle Scholar - Dorsch B: A decoding algorithm for binary block codes and J-ary output channels.
*IEEE Trans. Inf. Theory*1974, 20: 391-394. 10.1109/TIT.1974.1055217View ArticleMATHGoogle Scholar - D Gazelle J: Snyders, Reliability-based code-search algorithms for maximum-likelihood decoding of block codes.
*IEEE Trans. Inf. Theory*1997, 43: 239-249. 10.1109/18.567691View ArticleMATHGoogle Scholar - Kabat A, Guilloud F, Pyndiah R: New approach to order statistics decoding of long linear block codes. In
*Proceedings of the GLOBECOM 2007*. Washington, DC, USA, 26–30, November 2007, pp. 1467–1471;Google Scholar - Yagi H, Matsushima T, Hirasawa S: Fast algorithm for generating candidate codewords in reliability-based maximum likelihood decoding.
*IEICE Trans. Fund. Electron. Commun. Comput. Sci*2006, E89-A: 2676-2683. 10.1093/ietfec/e89-a.10.2676View ArticleGoogle Scholar - Fossorier M, Lin S: Computationally efficient soft decision decoding of linear block codes based on ordered statistics.
*IEEE Trans. Inf. Theory*1996, 42: 738-750. 10.1109/18.490541View ArticleMATHGoogle Scholar - Fossorier M, Reliability-based soft-decision decoding with iterative information set reduction:
*IEEE Trans. Inf. Theory*. 2002, 48: 3101-3106. 10.1109/TIT.2002.805089View ArticleGoogle Scholar - Jin W, Fossorier M: Reliability based soft decision decoding with multiple biases.
*IEEE Trans. Inf. Theory*2007, 53: 105-119.MathSciNetView ArticleMATHGoogle Scholar - Valembois A, Fossorier M: Sort-and-match algorithm for soft-decision decoding.
*IEEE Trans. Inf. Theory*1999, 45: 2333-2338. 10.1109/18.796373View ArticleMathSciNetGoogle Scholar - El-Khamy M, Vialko H, Hassibi B, McEliecce R: Performance of sphere decoding of block codes.
*IEEE Trans. Commun*2009, 57: 2940-2950.View ArticleGoogle Scholar - Vikalo H, Hassibi B: On joint detection and decoding of linear block codes on Gaussian vector channels.
*IEEE Trans. Signal Process*2006, 54: 3330-3342.View ArticleGoogle Scholar - Hu T, Chang M: List decoding of generalized Reed-Solomon codes by using a modified extended key equation algorithm.
*EURASIP J. Wirel. Commun. Netw*2011, 2011(Article ID 212136):1-6.View ArticleGoogle Scholar - Ser J, Manjarres D, Crespo P, Gil-Lopez S, Garcia-Frias J: Iterative fusion of distributed decisions over the Gaussian multiple-access channel using concatenated BCH-LDGM codes.
*EURASIP J. Wirel. Commun. Netw*2011., 2011(Article ID 825327):Google Scholar - Alnawayseh S, Loskot P: Low-complexity soft-decision decoding techniques for linear binary block codes. In
*Proceedings of the WCSP, 2009*. Nanjing, China, 13–15 November 2009, pp. 1–5;Google Scholar - Benedetto S, Biglieri E:
*Principles of Digital Transmission with Wireless Applications*. (Kluwer Academic, Netherlands, 1999);MATHGoogle Scholar - Lin S, Costello D:
*Error Control Coding: Fundamentals and Applications*. (Prentice-Hall Englewood Cliffs, NJ, 1983);MATHGoogle Scholar - Papoulis A, Pillai S:
*Probability, Random Variables, and Stochastic Processes*. (McGraw-Hill, NY, 2002);Google Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.