Open Access

Multi-non-binary turbo codes

EURASIP Journal on Wireless Communications and Networking20132013:279

https://doi.org/10.1186/1687-1499-2013-279

Received: 18 March 2013

Accepted: 19 November 2013

Published: 5 December 2013

Abstract

This paper presents a new family of turbo codes called multi-non-binary turbo codes (MNBTCs) that generalizes the concept of turbo codes to multi-non-binary (MNB) parallel concatenated convolutional codes (PCCC). An MNBTC incorporates, as component encoders, recursive and systematic multi-non-binary convolutional encoders. The more compact data structure for these encoders confers some advantages on MNBTCs over other types of turbo codes, such as better asymptotic behavior, better convergence, and reduced latency. This paper presents in detail the structure and operation of an MNBTC: MNB encoding, trellis termination, Max-Log-MAP decoding adapted to the MNB case. It also shows an example of MNBTC whose performance is compared with the state-of-the-art turbo code adopted in the DVB-RCS2 standard.

Keywords

Turbo codesNon-binary codeMulti-non-binary recursive systematic convolutional codeGalois field

1 Introduction

Two decades after their introduction in [1], turbo codes (TCs) have found their utility in numerous communication systems. TCs can be found in LTE, DVB or in deep space communications standards [24]. This TC success was possible because of the numerous studies in the past years, leading to the diversification of TC families and to the emergence of new codes, whose decoding is based on the principle of iterative or turbo decoding. Thus, the evolution of TC in terms of component convolutional encoder after the now classic single binary turbo codes (SBTC) [1], was followed by double/multibinary turbo codes (D/MBTCs) [5, 6] and non-binary turbo codes (NBTCs) [79]. These new TC families aim to improve SBTC performance, especially by lowering the error floor. Proposing a new family of multi-non-binary turbo codes (MNBTCs), this paper may be seen as a continuation of these concerns. The MNBTC was firstly introduced in [10], but this paper presents a more complete description of MNBTCs and also an example of more efficient MNBTCs. An MNBTC has recursive and systematic convolutional component encoders, with several non-binary inputs. This evolution from single-binary to (multi-)non-binary is found at low-density parity-check (LDPC) codes [11], but it happened much earlier [12].

The first benefit brought forth by the new family of MNBTCs is latency reduction, the data block being more compact. Another benefit, argued by practical results, is a lower error floor. Basically, simulations show that the waterfall region extends below 10−8 of frame error rate (FER). Furthermore, MNB turbo decoders have a better convergence at high SNRs.

In addition, MNBTCs as non-binary LDPCs (NB-LDPCs) can be easily combined with high-order modulations, yielding increased bandwidth efficiency. The price for these benefits is the increased complexity of the component code trellis and, therefore, of the computational effort of the decoder. But, due to the evolution of the processing capacity, it is expected that the complexity of non-binary codes to no longer pose a disadvantage in relation to binary codes. This is confirmed by the extensive studies of NB-LDPC codes, [1317].

The structure of the paper is as follows: in Section 2, we describe the MNBTC encoder and decoder, as well as component codes, the MNBTC structure, the encoding process and trellis termination, the Max-Log-MAP algorithm adjusted to the MNB case, and details of interleaving. In Section 3, we propose a memory-3 MNBTC with two inputs offering a good trade-off between performance and complexity. The process of component encoder selection is explained and performance is assessed through simulations in both the AWGN and the Rayleigh fading channels, in conjunction with BPSK and 16-QAM modulations. Performance is compared with the DBTC of the DVB-RCS2 standard [3] and also with some NB-LDPC from literature. Section 4 concludes the paper.

2 The structure of MNBTCs

2.1 Multi-non-binary convolutional encoders

In this section, we describe the encoding scheme of the constituent codes of MNBTCs. Each constituent encoder has R non-binary inputs taking values in the Galois field GF(2 Q ), and is then referred to as a multi-non-binary (MNB). In Figure 1, we present the general scheme of a memory-M recursive systematic MNB convolutional encoder (MNBCE), with a rate R c = R/(R + 1). This scheme is known as the observer canonical form [18]. Each cell of the register in Figure 1 stores a vector of Q bits at a time. All the links are supposed to have a width equal to Q in order to carry Q-bit vectors. Each block labeled gm,r, with 0 ≤ m < M, 0 ≤ r ≤ R, represents a multiplier in GF(2 Q ) by the generator polynomial coefficient gm,r. Adders also performs the sum in GF(2 Q ). At time n, the R encoder inputs consist of a word of symbols u n = u R n u 2 n u 1 n with u r n = u r , Q 1 n u r , 1 n u r , 0 n , 1 ≤ r ≤ R, 0 ≤ n < N, where N is the interleaver length and u r , q n are binary coefficients. The MNB convolutional encoder generates R + 1 outputs, of which the first R symbols correspond to the R inputs (systematic part) and the last symbol is a redundant symbol. The current encoder state at time n is given by the content of the shift register, S 0 n , S 1 n , … S M 1 n . We define the encoder state vector by s n = s M 1 n s 1 n s 0 n .
Figure 1

Multi-non-binary convolutional encoder – general scheme.

To simplify the notations, we understand by u n both its vector expression u R n u 2 n u 1 n and its scalar one u n being an element of GF(2QR), the distinction being made in context. Similarly, u r n is in GF(2 Q ) and s n is in GF(2QM). Also, we note that we have chosen to place temporal indices in the top right and the rest of the indices in the bottom right.

The relation between the encoder state at time n + 1 and the encoder state at time n can be expressed in the compact form:
s n + 1 1 × M = u n 1 × R G T R × M + s n 1 × M T M × M
(1)
u 0 n = u n G L + s n W
(2)

where G T = G L G F + G 0 T and W = ([0 0 … 0 1]M) T , with ‘ T ’ denoting the transpose operation and G0 = [ g m,r ]Mm ≥1, Rr ≥ 1, G F  = [ gM,0gM- 1,0… g1,0], G L = [g0,Rg0,R- 1… g0,1]T, T = 0 M 1 × 1 I M 1 G F . In the definition of T and in (1), we marked the size of the matrices in question by pairs of indices of the form x × y.

Applying the D transform similarly to the binary case [19] ( X D = k = + x k D k ) to Equations 1 and 2, we obtain
D 1 S D = U D G T + S D T
(3)
U 0 D = U D G L + S D W
(4)
After some basic manipulations, it can be shown that
U 0 D = r = 1 R g r D g 0 D U D
(5)
where g r D = m = 0 M g m , r D m , 0 ≤ r ≤ R, are the generator polynomials. Because of the systematic nature of the involved encoders, (5) can be seen as the encoding relationship: U0(D) = G(D)U(D), where
G D = g R D g 0 D g 1 D g 0 D
(6)
This encoding matrix uniquely identifies a MNB convolutional encoder from the whole encoders family. For the sake of simplicity, we will use the form G = [gm,r]Mm≥0,Rr≥0 to refer to the encoding matrix. Hence, we have
G = G 0 G F T G L T 1
(7)

2.2 The trellis termination for an MNBCE

In this section, we show how the already known techniques for trellis termination can be adapted to the MNB case: tail-biting [20] and zero padding [21, 22]. Although the form of the equations is similar to the binary case, for the MNB case, all operations are performed in GF(2 Q ).

Starting from Equation 1 we can develop consecutivelya
s N = u N 1 G T + s N 1 T = = u N 1 G T + u N 2 G T + s N 2 T T = = n = 0 N 1 u n G T T N 1 n + s 0 T N
(8)
Thus, using the notation
s u = n = 0 N 1 u n G T T N 1 n
(9)
we have
s N = s u + s 0 T N
(10)
The tail-biting technique involves a pre-encoding stage. The goal of pre-encoding is to determine s u . Thus, starting with the null state s0 = 0, it results that s u  = s N . Actual coding starts with state s0 = s x and finally reaches the same state s N  = s x . We have s x  = s u  + s x T N , hence
s x = s u I M + T N 1
(11)
provided that the matrix (I M  + T N ) is non-singular. If N f is the period of the polynomial g0(D) associated to the feedback, we have
T N f = I M
(12)
Therefore, (I M  + T N ) is non-singular and hence the tail-biting technique can be applied if N is not a multiple of the period N f . The maximum possible period of a degree-M feedback polynomial with coefficients in GF(2 Q ) is
N f = 2 Q M 1
(13)

In practice, the transition from s N to s x can be achieved using a look-up table with 2 Q∙M values.

The tail-biting technique has the advantage of not requiring the insertion of additional redundancy. Using tail-biting, the coding rate of the MNBCE in Figure 1 is
R c TB = R R + 1
(14)
Zero padding can be achieved in two ways: interleaved termination or uninterleaved termination. Zero padding closes the trellis at null stateb at both ends: send = s0 = 0. If s0 = 0, (8) results in
s N = s u = n = 0 N 1 u n G T T N 1 n
(15)
Zero padding with uninterleaved termination does not require pre-encoding. For zero padding with uninterleaved termination, K redundant symbols are added to the input block [u n ]0≤ n <N so that
s end = s N + K = s N T K + n = 0 K 1 u N + n G T T K 1 n = 0
(16)

The matrix Equation 16 should be regarded as a system of M scalar equations on GF(2 Q ), where the unknowns are redundant symbols u N , …, uN+K−1 with parameters the entries of s N . For (16) to be a compatible system, uniquely determined, it is necessary and sufficient to insert K = M redundant symbols.

Similar to the tail-biting case (Equation 11), Equation 16 also can be solved a priori, then using a look-up-table.

The coding rate for zero padding with uninterleaved termination is
R c ZPU = R N R + 1 N + M
(17)
Zero padding with interleaved termination is done, dislodging M information symbols and attributing their places to redundant symbols. Assuming that the positions of redundant symbols are JZPI = {n1, …, n M }, we have
s end = s N = N = 0 N 1 n J ZPI u n G T T N 1 n + n J ZPI u n G T T N 1 n = 0
(18)
As for tail-biting, Equation 18 can be solved in two steps. By a pre-encoding stage, in which u n n J ZPI is set to 0, we obtain
s u = N = 0 N 1 n J ZPI u n G T T N 1 n
(19)

Knowing s u , the matrix Equation 18 is a system of M scalar equations with M unknowns that can be solved a priori, and for which a look-up table can be used. One can note that the pre-encoding step can be eliminated if JZPI = {N-M, …, N-1}. In this case, the calculation of s u , identifying the redundant symbols for the trellis termination and the encoding of these symbols using a look-up table are two phases of a single encoding.

The coding rate for zero padding with interleaved termination is
R c ZPI = R N M R + 1 N
(20)

2.3 Turbo encoding of an MNBTC

The left part of Figure 2 describes the structure of an MNBTC encoder. Input data block u = [u R u2u1], with u r = u r 0 u r 1 u r N 1 , 1 ≤ rR, is encoded by MNB encoder C1, providing the redundant symbols sequence x 1 = x 1 0 x 1 1 x 1 N 1 . At the same time, after being permuted by the block interleaver π, the input data sequence π(u) is encoded by MNB encoder C0 which generates the second redundant symbols sequence x 0 = x 0 0 x 0 1 x 0 N 1 . So, the output of the turbo encoder is x = [xR+1x2x1x0], where [xR+1x2] = [u R u2u1] is the systematic part of the output. In this way, the turbo coding rate is R c = R/(R + 2). Of course, if a higher turbo coding rate is desired, puncturing can be performed.
Figure 2

The scheme of a MNBTC.

Figure 3 shows the general structure of a block generated by an MNB turbo encoder at bit-wise in Figure 3a, and at symbol-wise in Figure 3b, respectively. All bits of a block form the MNBTC word. Columns in both figures contain the bits/symbols generated at the turbo encoder output in the same moment of time (tact). The entire bit sequence contained in a column was named coded word (different from the MNBTC word). These coded words can be identified by the temporal indices: x i , 0 ≤ i < N. The structure of bit-wise encoded words is visible in Figure 3a, of symbol-wise encoded words in Figure 3b. Also, Figure 3b shows that a coded word contains both information (symbols) and redundancy (symbols). The same block (turbo-coded word) can be seen/regrouped in Q-symbol sequences generated by the R + 2 outputs of the MNBTC, denoted x r , 0 ≤ rR + 1. Sequences x2, x3, …, xR+1 form the data block, and x0 and x1 form the redundancy generated by the MNBTC. Note that a branch through the trellis encoder C1 is given by the pair u n x 1 n and a branch in C0 encoder trellis is given by the pair π u n x 0 n .
Figure 3

Structure of MNB turbo-coded block. (a) Bit-level structure of MNB turbo-coded block; (b) Q-symbol-level structure of MNB turbo-coded block.

Trellis termination in MNBTC may be done primarily in four ways:

i) Dual tail-biting. Both encoders, C1 and C0, use the tail-biting technique to terminate their trellises. Turbo-coding rate in this case is
R c DTB = R R + 2
(21)
ii) Semi-termination. C1 terminates its trellis according to the zero padding technique with interleaved termination with JZPI = {N-M, …, N-1} while C0 does not terminate the trellis. For the turbo-coding rate, the following value results
R c SCL = R N M R + 2 N
(22)
iii) Interleaved dual termination. Both encoders use the zero padding technique with interleaved termination. Positions of redundant symbols for C1 trellis termination can be chosen like in the previous case JZPI−1 = {N-M, …, N-1}, but for C0 they result from interleaving: JZPI-2 = {π(N-M), …, π(N-1)}. Thus, at least C0 performs a pre-coding stage. The coding rate is
R c IDT = R N 2 M R + 2 N
(23)
iv) Uninterleaved dual termination. Both encoders use the zero padding technique with uninterleaved termination. The coding rate is
R c UDT = R N R + 2 N + M + R N
(24)

The uninterleaved dual termination technique is easy to accomplish, but subsequently raises the issue of restructuring the encoded block as sequences x2, …, xR+1 contain N + 2∙M symbols, while sequences x0 and x1 only consist of N + M symbols.

2.4 Modulation

For a 2 P -order modulation, if Q is a multiple of P, i.e., Q = PB, the Q bits of a turbo-coded Q-symbol can be grouped into B groups of P bits that can be transmitted in B-modulated P-symbols z r , B 1 n z r , 1 n z r , 0 n , z r , b n GF(2 P ). For the mapping between (the bitsc of) the coded word and modulated symbol, we use the notation
z r , b n = M x r , b P + P 1 n x r , b P n 0 r R + 1 , 0 b < B .
(25)

2.5 Turbo decoding of MNBTCs

In this section, we describe the possibilities for decoding MNBTCs.

2.5.1 Channel output and the decoding strategy

We will start by identifying the channel sequences arriving at the (turbo) decoder.

The sequences retrieved at the channel output, after demodulation, are denoted by y = [yR+1y2y1y0], with y r = y r 0 y r 1 y r N 1 , y r n = y r , B 1 n y r , 1 n y r , 0 n , 0 ≤ rR + 1, 0 ≤ n < N. Considering a Rayleigh flat fading channeld, y r , b n can be expressed as y r , b n = a z r , b n + w r , b n , 0 ≤ b < B, where w r , b n is a sample of the additive white Gaussian noise (AWGN) and a is the fading amplitude. The decoding of these sequences can be performed bit-wise, symbol-wise, or word-wise. Of course, dedicated decoding algorithms can be used: maximum a posteriori (MAP) [23], logarithmic MAP (LogMAP) [24] or maximum logarithmic MAP (MaxLogMAP) [25, 26]. Due to the known advantages of the MaxLogMAP algorithm with respect to practical implementation, we further present its adaptation to the MNB case. Let us note that although we adopted the strategy of the Max-Log-MAP algorithm, the changes needed to adapt MAP and Log-MAP algorithms to the MNB case are similar to the one shown.

2.5.2 Decoding over trellises of the component codes

To describe the operations performed by component decoders, we will first describe their operands.

At iteration i, each decoder DECj processes the channel soft values [yR+1y2y j ] and the a priori information La j , j = 0, 1, to calculate the anch metrics (the gamma coefficients), the nodes metrics by forward recurrence (the alpha coefficients), the nodes metrics by backward recurrence (the beta coefficients), a posteriori informationeL, and extrinsic information Le.

The decoder tries to reconstruct the encoder's path through the trellis. In this respect, it assigns reliability values to each node and each branch in the trellis according to the values of received sequences, y r n . A trellis branch is identified by the triplet s n , sn+1, and u n . However, the possible values for the variables s n , sn+1, and u n respectively have a timeless character (do not depend on n or i). For possible values, we will use the notation: θ ^ for s n , θ for sn+1, and d for u n . We will also denote by x ˜ the generic word obtained by encoding d, and with z ˜ r , b , the generic symbol obtained by modulating the word x ˜ :
z ˜ r , b = M x ˜ r , b P + P 1 x ˜ r , b P 0 r R + 1 , 0 b < B .
(26)
Obviously, there is interdependence between the current state θ ^ , future state θ, and the value of the input wordfd: any two of them uniquely determine the third one. For instance, the current state θ ^ of the encoder and the input word value d determines the future state θ of the encoder. We will mark it through notation θ ^ , d θ . Given this interdependence property, the indexing of branches can be done by any two of these parameters. Therefore, the following branch metric notations are equivalent:
γ j n , i θ ^ , d = γ j n , i θ ^ 2 Q R + d = γ j n , i θ ^ , θ
(27)

with 0 θ ^ , θ < 2 Q M , 0 ≤ d < 2Q·R, j =0,1.

Both branch metric γ and information processed during decoding (L, Le, or La) depend on how the input word d is regarded by the decoder. Thus we have
  1. a)

    word-wise decoding: d is a scalar in GF(2QR);

     
b)Q-symbol-wise decoding: d is a vector d R 1 d 1 d 0 with entries in GF(2 Q ) (obviously, the scalar equivalent value of d remains the same in GF(2QR);
  1. c)

    B-symbol-wise decoding: d r from the previous expression of d is also a d r , B 1 d r , 1 d r , 0 vector with entries in GF(2 P ) with P = Q/B;

     
  2. d)

    bit-wise decoding. This case results as a degeneration of the previous case for P = 1 and B = Q. We have d r = d r , Q 1 d r , 1 d r , 0 .

     

2.5.3 Recurrences of component decoders

In this section, we present calculations performed by each component decoder in each iteration.

Regardless of the adopted decoding way (bit-/symbol-/word-wise), forward and backward recurrences have the same form:
α j n + 1 , i θ = θ ̂ , d θ α j n , i θ ^ γ j n , i θ ^ , d
(28)
β j n , i θ ^ = θ ^ d , θ β j n + 1 , i θ γ j n , i θ ^ , d
(29)
Branch metrics γ, a posteriori information L, and extrinsic information Le are calculated by the formulas
γ j n , i θ ^ , d = Ex Y j n 1 σ 2 b = 0 B 1 a z ˜ j , b y j , b n 2 θ ^ , d z ˜ j , b
(30)
L j n , i δ = max θ ̂ , θ δ α j n , i θ ^ + γ j n , i θ ^ , θ + β j n + 1 , i θ
(31)
Le j n , i δ = α j n , i θ ^ b = 0 B 1 a z ˜ j , b y j , b n 2 θ ^ , θ z ˜ j , b + + β j n + 1 , i θ θ ^ , θ L j n , i δ = max ,
(32)
where σ2 is the noise variance and
Y 1 n = 1 σ 2 r = 2 R + 1 b = 0 B 1 a z ˜ r , b y r , b n 2 Y 0 n = 1 σ 2 r = 2 R + 1 b = 0 B 1 a z ˜ r , b π y r n b 2
(33)
δ and Ex depend on the adopted decoding way:
  1. a)

    Word-wise decoding: δ=d and Ex = Le j n , i d . The decoder calculates N La = 2QR values for L, Le, and La.

     
  2. b)

    Q-symbol-wise decoding: δ = d r and Ex = r = 1 R Le j n , i d r θ ^ , d d r . The decoder calculates N L b = R∙2 Q values for L, Le, and La.

     
  3. c)

    B-symbol-wise decoding: δ=d r,b and Ex = r = 1 R b = 0 B 1 Le j n , i d r , b θ ^ , d d r , b . The decoder calculates N L c = RB∙2 P values for L, Le and La.

     
  4. d)

    Bit-wise decoding: δ=d r,q and Ex = r = 1 R q = 0 Q 1 Le j n , i d r , q θ ̂ , d d r , q . The decoder calculates N L d = 2∙RQ values for L, Le, and La.

     

We have NL dNL cNL bNL a. Obviously, a higher value of N L requires a higher computational effort, but also a decoder finer ‘resolution’. In fact, this is the essence of the difference between SBTC, MBTC, NBTC, and MNBTC. A simple block data restructuring would not bring any advantage without rethinking of the decoding. Considering the decoding modes from d) to a), one can note a decoding optimization shift from bit-wise to symbol-wise and then word-wise. Word-wise decoding optimization accredits the MNBTC with a higher potential in decoder performanceg. Other details that define the structure and operation of a MNBTC remain to be optimized. An example of this is interleaving.

2.5.4 Turbo decoding

Knowing the outputs of component decoders, we can specify the equations that govern turbo-decoding. At the turbo decoder level, we have the relations
L 0 n , i δ = L a 0 n , i δ Y 0 n + L e 0 n , i δ L 1 n , i δ = L a 1 n , i δ Y 1 n + L e 1 n , i δ
(34)
where δ is defined above. Each decoder generates extrinsic information L ej that is transformed by interleaving in a priori information for the other component decoder
L a 1 i δ = π 1 L e 0 i δ L a 0 i δ = π L e 1 i 1 δ
(35)

with L e 1 0 0 .

The iterative process continues until all iterations are performed or until a stop condition is fulfilled, if the turbo decoder is equipped with a mechanism to stop the iterations.

2.5.5 The hard decision

After performing all iterations, decoding is completed by a hard decision on a posteriori information values provided by one of the two component decoders. Thus, for word-wise decoding, we have
u ̂ n = argmax L 1 n , i max d 0 d < 2 Q R .
(36)
For other decoding methods, u ^ n and d are replaced with
  • u ^ r n and d r , 0 ≤ d r < 2 Q , 0 ≤ r < R, for Q-symbol-wise decoding;

  • u ^ r , b n and d r,b, 0 ≤ d r,b < 2 P , 0 ≤ r < R, 0 ≤ b < B, for B-symbol-wise decoding; and

  • u ^ r , q n and d r,q, 0 ≤ d r,q < 2, 0 ≤ r < R, 0 ≤ q < Q, for bit-wise decoding.

2.6 Interleaving for MNBTCs

Similarly, to the interleavers used in MBTCs [5], for MNBTCs we also perform an intra-symbol interleaving step and an inter-symbol interleaving step. Inter-symbol interleaving permutes the input words u n in the information data sequence and may be done using already known interleaving techniques [2729]. An advantage brought by MNBTCs is the essential reduction of the interleaver length N. The MNBTC data block structure is three-dimensional: R × Q × N. For SBTC, we have a linear data block structure (R = Q = 1) and for MBTC and NBTC planar structures (R > Q = 1 for MBTC and Q > R = 1 for NBTC) as well.

Interleaver size reduction implicitly leads to latency decrease. This is an advantage offered by MNBTCs. Latency is generally defined as the time from the first bit of a block input to the device to the time that the same bit is output from the device. Since this time is proportional to the length of the interleaver (not the size of the data block), a decrease in the latency results, proportional to the reduction of N, both the MNB encoder and the MNB decoder. Latency reduction is possible because both (MNB encoder and decoder) operate with symbols and not bits.

MNBTCs also constitute a compromise in complexity (placed) between MBTCs and NBTCs. Thus, considering the same data block of size R × Q × N bits and the same memory M for all three (MBTC, NBTC, and MNBTC), in Table 1, we present the total number of ways from component encoders' trellises (MBCE, NBCE, and MNBCE). We considered that each encoder has an extra output (minimum redundancy). Then, the MNB encoder's trellis has 2(Q − 1) × (R + 1) × M/Q more branches than the MB encoder's trellis and 2(R − 1) × Q × M less branches than the NB encoder's trellis. However, an accurate comparison is difficult, given that data block size and coding rate for the encoder in question cannot be aligned simultaneously. The fact however is that the MNB encoder has a low complexity compared to the NB encoder due to a lower number of bits per symbol.
Table 1

Components of MB, NB and MNB encoders’ trellises

Type of encoder

Interleaver length

Coding rate R c

Bits/symbol

Memory

States/tact

Branches/tact

Total trellis branches

MB

Q × N

R/(R + 1)

1

M

2 M

2(R + 1) × M

Q × N × 2(R + 1)M

NB

N

1/2

R × Q

M

(2R × Q) M

(2R × Q)2 × M

N × (2R × Q)2 × M

MNB

N

R/(R + 1)

Q

M

(2 Q ) M

(2 Q )(R + 1) × M

N × (2 Q )(R + 1)M

Table 2 compares the volume of the calculation made by the convolutional decoder for SB, MB, and MNB. For each case, we present details about the calculation of the recurrent coefficients α and β, of the coefficients γ (trellis branch metrics), and the values of the coefficients L. ‘No.’ is the total number of coefficients calculated. To calculate each coefficient, we require a number of ‘prod’ multiplications and a number of ‘sum’ additions or ‘cmp’ comparisons. For a fair analysis, it is necessary to use the same number of bits of information, the same encoding rate and the same constraint length (binary equivalent) for all three cases. The encoding rate is adjustable through puncturing. But puncturing does not change the ‘volume’ of decoding calculation. Thus, for comparison, we considered the natural rate of encoding in each case. In order to preserve the size of the input data block, we considered that a data block has the same number of bits (R × Q × N) in all three cases.
Table 2

Complexity of the Max-Log-MAP decoding algorithm

 

SB

MB

MNB

α, β

No.

(R × Q × N + 1) × 2M

(Q × N + 1) × 2M

(N + 1) × 2Q × M

Prod

2

2 R

2Q × R

Sum

1

2 R − 1

2Q × R − 1

γ

No.

R × Q × N × 2M2

Q × N × 2M2 R

N × 2Q × M × 2Q × R

Prod

2

R + 1

(R + 1) × 2 Q

Sum

2

R + 1

(R + 1) × 2 Q

L

No.

R × Q × N × 2

Q × N × 2 R

N × 2Q × R

Prod

2

2 × 2M

2 × 2Q × M

 

Cmp

1

2 M − 1

2Q × M − 1

Comparison between SB, MB, and MNB.

‘Preserving’ the constraint length (binary equivalent) requires that between M’ (SB and MB encoders' memory) and M (MNB encoder's memory) there be the formula: M’ = Q × M.

As expected, the volume of the calculation for the MNB decoder is significantly higher than for SB and MB. However, a comparison between computational efforts made in turbo-decoding for the three cases must take into account the convergence of the iterative process (see Section 3.2, Equation 38).

By imposing the ‘preservation’ of the number of bits in the data block results an advantage for MNB: reduced latency. Thus, the numbers of recurrent steps necessary to be taken in the SB, MB, or MNB decoders are R × Q × N + 1, Q × N + 1, and N + 1, respectively. If the other theoretical calculations can be parallelized, recurrences require successive calculations. Thus, latency becomes proportional to the number of recurrent steps and, of course, there is a reduction in the case of MNB.

Intra-symbol interleaving, used in the DVB-RCS and WiMAX standards, operates on the R = 2 bits (Q = 1) of each input symbol, reversing their positions for even indexes n. Since for MNBTCs, an input word consists of at least 4 bits, intra-symbol interleaving can be made in many more ways. A study of these modes is beyond the scope of this paper. The intra-symbol permutation implemented in the simulation results presented in Section 3 was not specifically optimized: we performed helical intra-symbol interleaving, i.e., the R∙Q bits of the u n word are cyclically permuted by one position in the same direction.

3 An example of MNBTC

This section presents an instance of MNBTC offering a good trade-off between performance and complexity. It is the outcome of a search among the MNB component encoders family with R = 2 (double-binary input), Q = 2, and memory M = 3. The next sections provide some details on the MNB component encoder family's cardinality and on the selection criteria. Then the BER/FER performance of the selected MNBTC is compared with the memory-4 DBTC used in the DVB-RCS2 standard. We chose this TC as benchmark, since it is the most powerful standardized TC with a ½ natural rate. But an absolute ‘fair’ comparison should be made between convolutional codes with the same ‘binary equivalent constraint length’.

3.1 Cardinality of the two double-binary inputs MNB convolutional encoder family

A component of this family is identified by the following coding matrix:
G = g 32 g 31 g 30 , g 22 g 21 g 20 , g 12 g 11 g 10 , g 02 g 01 g 00 ,
(37)

where gm,rGF(4). The cardinality of the set of matrices in the form given by (10), verifying g3,2g3,1g3,0 ≠ 0 is NG 3 × 2 × 2 = 411 − 48, i.e. over 4 million. Comparatively, the number of memory-4 convolutional encoders amounts to NG 4 × 1 × 1 = 29 − 27 for single-binary codes and NG 4 × 2 × 1 = 214 − 211 for double-binary codes. It is desirable to reduce the selection base by eliminating a priori poor performance matrices. Thus, we investigated only matrices with g0 = [g3,0g2,0g1,0 1] as primitive polynomial (irreducible with maximum period 63). These are [2 1 1 1], [2 1 3 1], [2 2 2 1], [2 2 3 1], [2 3 1 1], [2 3 2 1], [3 1 1 1], [3 1 2 1], [3 2 1 1], [3 2 3 1], [3 3 2 1], and [3 3 3 1].

3.2 Search for the best MNBCE

Through practical observations, we found that an efficient turbo decoder in terms of BER/FER converges also rapidly, meaning that on average, it performs few iterations to correct a block. Thus, if the TC is equipped with a criterion for stopping the iterations, its convergence is defined as the ratio of the total number of iterations, iter(Nb) necessary for the decoding of Nb turbo-coded blocks and Nb, when Nb is large
C v = lim Nb iter Nb Nb .
(38)

For small SNR values, convergence C v tends to itermax, the maximum iteration number, which is set a priori. When the SNR increases, the weight of the non-converging blocks decreases.

The motivation of using convergence criterion is that C v can be calculated with a quite good accuracy for small values of Nb. So, the turbo code functionality was simulated with each of the component codes. The simulations were stopped if the convergence C v overcame a given limit
stop the simulation if C v Nb > C v 0 Nb d C v ,
(39)

where dC v represents the speed of threshold decreasing. The given threshold Cv 0NbdC v decreases with Nb in order to limit the simulation duration for a specific code. In the search we made, the values of the parameters Cv 0 and dC v were chosen equal to 4.5 and 15 × 10−4 respectively. For example, for a TC with a convergence Cv 1 = 3 iterations/block, Nb 1 = 103 blocks are simulated. The lower the convergence of a TC, the more blocks have to be simulated, which leads to a more precise estimate of its convergence.

We used the QPP inter-symbol interleaver set forth in the LTE standard for the length of 376. Thus, the data block size is 4 × 376 bits. For the most efficient component encoders in terms of convergence, we performed simulations in order to estimate BER and FER. Note that we obtained many component encoders with very close BER/FER performance.

3.3 Simulations results

The method described above led to the following generator matrix:
G sample = 3 2 2 , 1 1 1 , 2 2 1 , 1 1 1
(40)
The MNBTC performance built with this component encoder is compared with the one of the benchmark DBTC from DVB-RCS2 in Figure 4. For a fair comparison, we used data blocks with sizes of R × Q × N = 2 × 2 × 376 bits for MNBTC and 2 × 1 × 752 bits for DBTC. Also, for both TCs, we used tail-biting and the Max-Log-MAP decoding algorithm with the adaptation previously described for MNBs (word-wise decoding). To plot the curves, we performed simulations until 500 erroneous blocks were obtained or until a maximum number of blocks equal to 109 for DBTC and around 2 ×108 for MNBTC were simulated. Exceptions are simulations to determine the extreme points of the curves ‘AWGN&BPSK’ for MNBTC. For these points, simulations ran until we obtained 30 erroneous blocks (over 2.1 ×109 blocks transmitted). The maximum number of iterations is set to 16 or 100, combined with the genie stopping criterion [30]. The theoretical limit mentioned in Figure 4 is the sphere packing bound that takes the penalty due to the block size into account [31]. For the 16-QAM modulation, to perform the mapping between coded symbols and modulation symbols, in the MNBTC case, we used the values B = Q = 2, P = 1, and the relation
z r , b n = 2 x r , b n 3 ,
(41)
where x r , b n GF(4)={0,1,2,3}, 0 ≤ r < R + 1, 0 ≤ b < 2, and 0 ≤ n < N–1.
Figure 4

BER/FER versus SNR performance comparison. Between the MNBTC with component encoder defined by (40) and the memory-4 DBTC defined in the DVB-RCS2 standard [3].

For the DBTC case, we used the relations
z 1 n = 2 x 3 n 1 2 x 1 n + 1 z 0 n = 2 x 2 n 1 2 x 0 n + 1 , x r n GF 2 = 0 , 1 , 0 n < N 1 ,
(42)

where x 3 n x 2 n x 1 n x 0 n is the turbo decoder output at time n. We do not use puncturing, nor quantization nor bit interleaving between code and modulation for the Rayleigh case, since BPSK is assumed in this case.

Whatever type of channel involved and the type of modulation used, as argued by the curves in Figure 4, the MNBTC does not show the error floor effect in the value range for FER investigated. The MNBTC performance in the waterfall region is slightly weaker than for the DBTC: the observed convergence loss ranges from 0.1 to 0.4 dB, but that the error floor is much lower in all the simulated cases.

An advantage of MNBTCs over DBTCs is the continuous improvement of BER/FER performance when performing an average number of iterations greater than usual for TCs. Figure 4 shows that the FER performance of the DBTC does not improve from 16 to 100 iterations, whereas for the MNBTC, the improvement is clear. This is an interesting property for applications where the decoding latency/throughput is not an issue. Some additional details on this behavior are given in Figure 5. At a SNR = 1.4 dB, the histogram of blocks as a function of the number of iterations required for correction presents a much higher dispersion in MNBTCs than DBTCs. While the SNR increases, the histograms for MNBTCs becomes ‘finer’, and have become more compact than DBTC histograms at SNRs greater than 2 dB. For SNR > 2 dB, MNBTC shows better convergence than DBTC. This is argued by the third diagram in Figure 5.
Figure 5

Histograms of 10 6 performed blocks over necessary iterations to correct entire block. In the case of AWGN transmission channel and BPSK modulation.

In Figure 6, we compared the performance of the proposed MNBTC with that of the NB-LDPCs presented recently in the literature, [3238]. In the simulations carried out for the construction of the curves for the MNBTCs in Figure 6, we used the stop criteria described in [39], with a threshold value of 20. The results in this figure clearly lead to the conclusion that the proposed MNBTC is inferior in terms of performance to the NB-LDPC in small size data block (under a thousand bits), but becomes superior at larger sizes (thousands of bits).
Figure 6

FER performance comparison between MNBTC and NB-LDPC for different lengths of the data block. (a) NB-LDPC curves were taken from Figure three “EMS” in [32] for 192 bits and Figure eleven ‘Punctured C1 R = 1/2’ in [33] for 1,024 bits; (b) NB-LDPC curves were taken from Figure three (c) ‘GF(256) Protograph LDPC Code’ in [34] - NB-LDPC, Figure two ‘LDPC GF(256)’ in [35] - NB-LDPC1 for 256 bits and Figure three ‘Hybrid LDPC 2 N = 2,048’ in [36] for 2,048 bits; (c) NB-LDPC curves were taken from Figure thirteen ‘BP floating point’ in [37] for 288 bits and Figure three ‘Multi-edge type LDPC N = 2,560’ in [36] for 2,560 bits; (d) NB-LDPC curves were taken from Figure three (d) ‘GF(256) Protograph LDPC Code, R = 1/2’ in [34] for 448 bits and Figure three ‘irregular GF(8) code’ in [38] - NB-LDPC, Figure three ‘hybrid G(8) − G(2) code’ in [38] - NB-LDPC1 for 3,008 bits.

4 Conclusion

This work opens a new horizon for TCs: using of the multi-non-binary convolutional encoders by generalizing the concepts of multi-binary and non-binary codes. The sample of MNBTC presented in this paper successfully competes in performance with the DBTC recently standardized in DVB-RCS2. The main advantages (as for example latency reduction) of MNBTCs arise from the more compact form of data blocks. Many aspects still remain to be explored in this horizon, e.g., an optimization for intra-symbol interleaving. We intend also to investigate new solutions for decoding MNBTCs. The MAP adaptation algorithm, described above, is a rather complex solution. Due to the non-binary nature, it is possible to find solutions less complicated, possibly by adapting the algorithms used in (turbo) decoding of the Reed-Solomon codes. Such solutions even if they are less effective than MAP type algorithms can be alternatives.

Regarding the iteration stopping criteria, stopping mechanisms dedicated to SBTCs abound in the literature [30, 3942]. A few studies on the stopping criteria for MBTCs can also be found [39, 43]. In general, they can be adapted to the MNB case. Although a detailed study on this topic is beyond the scope of this paper, we have implemented the stopping criterion called minAPP in [39] for the MNB case. Performance in terms of BER/FER is similar to the application of the genie criterion [30]. However, the average number of iterations performed for decoding a block depends on the selected stopping technique. Thus, an MNB turbo-decoder equipped with a mechanism to stop the iterations based on the minAPP criterion (easily implementable in practice) performs on average 1.5 more iterations than the one based on the genie criterion (not applicable in practice).

The investigation of the possibilities of using the MNBTC in cooperative communications schemes, [4446], is also of interest.

Endnotes

aTo avoid confusion, let us point out that the matrix T is the only variable throughout the paper that appears exponentiated, i.e., for which the top right indexes are exponents.

bObviously, the trellis can be closed in any other state, but this does not bring benefits.

cEven if working with symbols and words, they exist physically still under binary form.

dBy ‘flat’ we considered a frequency nonselective fading, whose amplitude remains constant for the duration of a transmitted symbol (which is P times greater than the length of a bit).

eSince in the Max-Log-MAP algorithm operations are performed in the logarithmic domain, operands have an information dimension and not a probability one.

fThe input word uniquely identifies a branch between all outgoings (or incomings) in a node.

gOptimal decoding algorithm uses a posteriori probabilities for the entire sequence of data transmitted.

Abbreviations

APP: 

A posteriori probability

AWGN: 

additive white Gaussian noise

BER: 

bit error rate

BPSK: 

binary phase-shift keying

DBTC: 

Double binary turbo codes

DVB-RCS: 

Digital video broadcasting-return channel via satellite

FER: 

Frame error rate

GF: 

Galois field

Log-MAP: 

Logarithmic MAP

LTE: 

Long-term evolution

MAP: 

Maximum a posteriori probability

Max-Log-MAP: 

Maximum logarithmic MAP

MBTC: 

Multi-binary turbo codes

MNB: 

Multi-non-binary

MNBCE: 

Multi-non-binary convolutional encoder

MNBTC: 

Multi-non-binary turbo codes

NB-LDPC: 

Non-binary low-density parity check codes

NBTC: 

Non-binary turbo codes

PCCC: 

Parallel concatenated convolutional codes

QAM: 

Quadrature amplitude modulation

QPP: 

Quadratic permutation polynomial

SB: 

Single binary

SBTC: 

Single binary turbo codes

SNR: 

Signal-to-noise ratio

TC: 

turbo codes

WiMAX: 

worldwide interoperability for microwave access.

Declarations

Acknowledgements

This paper was partially supported by the project "Development and support for multidisciplinary postdoctoral programs in primordial technical areas of the national strategy for research - development - innovation" 4D-POSTDOC, contract nr. POSDRU/89/1.5/S/52603, project co-funded from the European Social Fund through the Sectorial Operational Program Human Resources 2007–2013, and was partially supported by a grant of the Romanian Ministry of Education, CNCS – UEFISCDI, project number PN-II-RU-PD-2012-3-0122.

Authors’ Affiliations

(1)
Faculty of Electronics and Telecommunications, University POLITEHNICA of Timisoara
(2)
Faculty of Electrical Engineering, Electronics and Information Technology, Valahia University of Targoviste
(3)
Télécom Bretagne

References

  1. Berrou C, Glavieux A, Thitimajshima P: Near Shannon limit error-correcting coding and decoding: turbo-codes. In Proceedings of ICC, Geneva May, 1993, 23–26: 1064-1070.Google Scholar
  2. ETSI, 3GPP TS 36.212: Evolved universal terrestrial radio access (E-UTRA). 2010. (January 2010)http://www.etsi.org/deliver/etsi_ts/136200_136299/136212/08.08.00_60/ts_136212v080800p.pdfGoogle Scholar
  3. DVB, European Telecommunications Standards Institute: DVB Interactive Satellite System, Part 2. Lower Layers for Satellite standard, DVB document A155-2; 2011. (March 2011)http://www.dvb.org/resources/public/standards/a155-2_DVB-RCS2_Lower_Layers.pdfGoogle Scholar
  4. Consultative Committee for Space Data Systems: Recommendation for space data system standards, synchronization and channel coding. 2011. (August 2011)http://public.ccsds.org/publications/archive/131x0b2ec1.pdfGoogle Scholar
  5. Douillard C, Berrou C: Turbo codes with rate-m/(m + 1) constituent convolutional codes. IEEE Transactions on Communications 2005, 53(10):1630-1638.View ArticleGoogle Scholar
  6. Ferrari M, Bellini S: Rate variable multi-binary turbo codes with controlled error-floor. IEEE Transactions on Communications 2009, 57(5):1209-1214.View ArticleGoogle Scholar
  7. Berkmann J: On turbo decoding of nonbinary codes. IEEE Communications Letters 1998, 2(4):94-96.View ArticleGoogle Scholar
  8. Reid AC, Gulliver TA, Taylor DP: Rate-1/2 component codes for nonbinary turbo codes. IEEE Transactions on Communications 2005, 53(9):1417-1422.View ArticleGoogle Scholar
  9. Liva G, Scalise S, Paolini E, Chiani M: Turbo codes based on time-variant memory-1 convolutional codes over Fq, In IEEE ICC 2011, Kyoto, 5–9. June 2011.Google Scholar
  10. Balta H, Kovaci M, de Baynast A, Vlădeanu C, Lucaciu R: Multi-Non-Binary Turbo-Codes From Convolutional to Reed-Solomon Codes, In Scientific Bulletin of Politehnica University of Timisoara, Transactions on Electronics and Communications, Tom 51–65 Timisoara. Sept: Romania; 2006:113-118.Google Scholar
  11. Mackay DJC, Neal RM: Good codes based on very sparse matrices. In Cryptography and Coding, 5th IMA Conference, Lecture Notes in Computer Science number 1025. Edited by: Colin B. Berlin, Germany: Springer; 1995:100-111.Google Scholar
  12. Davey MC, MacKay DJC: Low-density parity check codes over GF(q). IEEE Communications Letters 1998, 2(6):165-167.View ArticleGoogle Scholar
  13. Djordjevic IB, Vasic B: Nonbinary LDPC codes for optical communication systems. IEEE Photonics Technology Letters 2005, 17(10):2224-2226.View ArticleGoogle Scholar
  14. Bosco G, Garello R, Mininni F, Baldi M, Chiaraluce F: Non-binary low density parity check codes for satellite communications. In Proceedings of the ISCC, Cagliari, Italy June, 2006, 26–29: 1019-1024.Google Scholar
  15. Cocco G, Pfletschinger S, Navarro M, Ibars C: Opportunistic adaptive transmission for network coding using nonbinary LDPC codes. EURASIP Journal on Wireless Communications and Networking (2010); 2010. Doi: 10.1155/2010/517921Google Scholar
  16. Mourad A, Picchi O, Gutierrez I, Luise M: Low complexity soft demapping for non-binary LDPC codes. EURASIP Journal on Wireless Communications and Networking 2012, 2012: 55.View ArticleGoogle Scholar
  17. Marinoni A, Savazzi P, Gamba P: Efficient detection and decoding of q-ary LDPC coded signals over partial response channels. EURASIP Journal on Wireless Communications and Networking 2013, 2013: 18.View ArticleGoogle Scholar
  18. Kailath T: Linear Systems. Upper Saddle River: Prentice-Hall; 1980.MATHGoogle Scholar
  19. Johannesson R, Zigangirov KS: Fundamentals of Convolutional Coding. Fundamentals of Convolutional Coding: IEEE Press; 1999.View ArticleMATHGoogle Scholar
  20. Weiss C, Bettstetter C, Riedel S, Costello DJ: Turbo decoding with tailbiting trellises In Proc. Electron, Pisa, Italy: IEEE Int. Symp. Signals, Syst; 1998:343-348.Google Scholar
  21. Guinand P, Lodge J: Trellis Termination for Turbo Encoders In Proceedings of the 17th Biennial Symposium on Communications Queen’s University. ON, Canada: Kingston; May 1994:389-392.Google Scholar
  22. Hokfelt J, Edfors O, Maseng T: On the theory and performance of trellis termination methods for turbo codes. IEEE Journal on Selected Areas in Communications 2001, 19(5):838-847.View ArticleGoogle Scholar
  23. Bahl LR, Cocke J, Jelinek F, Raviv J: Optimal decoding of linear codes for minimising symbol error rate. IEEE Transactions on Information Theory 1974, 20(2):284-287.MathSciNetView ArticleMATHGoogle Scholar
  24. Robertson P, Hoeher P, Villebrun E: Optimal and suboptimal maximum a posteriori algorithms suitable for turbo decoding. European Trans. Telecommun. 1997, 8(2):119-125.View ArticleGoogle Scholar
  25. Koch W, Baier A: Optimum and sub-optimum detection of coded data disturbed by time-varying intersymbol interference, In GLOBECOM’90. CA, USA: San Diego; December 1990:1679-1684.Google Scholar
  26. Vogt J, Finger A: Improving the max-log-MAP turbo decoder. Electronics Letters 2000, 36(23):1937-1939.View ArticleGoogle Scholar
  27. Crozie SN: New high-spread high-distance interleavers for turbo-codes. Commun, Kingston, Canada: 20th Biennial Symp; 2000:3-7.Google Scholar
  28. Berrou C, Saouter Y, Douillard C, Kerouédan S, Jézéquel M: Designing good permutations for turbo codes: towards a single model. In IEEE International Conference on Communications, Paris, France 2004, 1: 341-345.Google Scholar
  29. Sun QJ, Takeshita OY: Interleavers for turbo codes using permutation polynomials over integer rings. IEEE Trans. Inform. Theory 2005, 51(1):101-119.MathSciNetView ArticleMATHGoogle Scholar
  30. Matache A, Dolinar S, Pollara F: Stopping rules for turbo decoders. Pasadena, California: TMO Progress Report 42–142, Jet Propulsion Laboratory; 2000.Google Scholar
  31. Gallager RG: Information Theory and Reliable Communication. Wiley, New York; 1968:5-6.MATHGoogle Scholar
  32. Boutillon E, Conde-Canencia L: Bubble check: a simplified algorithm for elementary check node processing in extended min-sum non-binary LDPC decoders. Electronic Letter 2010, 46(9):633-634.View ArticleGoogle Scholar
  33. Kasai K, Declercq D, Poulliat C, Sakaniwa K: Multiplicatively repeated non-binary LDPC codes. IEEE Transactions on Information Theory 2011, 57(10):6788-6795.MathSciNetView ArticleGoogle Scholar
  34. Costantini L, Matuz B, Liva G, Paolini E, Chiani M: Non-binary protograph low-density parity-check codes for space communications. Int. J. Satell. Commun. Network 2012, 30: 43-51.View ArticleGoogle Scholar
  35. Costantini L, Matuz B, Liva G, Paolini E, Chiani M: On the Performance of Moderate-Length Non-Binary LDPC Codes for Space Communications, In the 5th Advanced Satellite Multimedia Systems Conference and the 11th Signal Processing for Space Communications Workshop . Cagliari Sept. 2010, 13–15: 122-126.Google Scholar
  36. Sassatelli L, Declercq D: Non-binary Hybrid LDPC Codes. IEEE Transactions on Information Theory 2010, 56(10):5314-5334.MathSciNetView ArticleGoogle Scholar
  37. Boutillon E, Conde-Canencia L, Ghouwayel AA: Design of a GF(64)-LDPC Decoder Based on the EMS Algorithm. IEEE Transactions on Circuits and Systems I 2013, 60(10):2644-2656.MathSciNetView ArticleGoogle Scholar
  38. Sassatelli L, Declercq D: Non-binary Hybrid LDPC Codes: structure, decoding and optimization. IEEE Information Theory Workshop, ITW’06 (Chengdu, 2006) 2006, 71-75. doi: 10.1109/ITW2.2006.323759View ArticleGoogle Scholar
  39. Balta H, Douillard C, Kovaci M: “The Minimum Likelihood APP Based Early Stopping Criterion for Multi-Binary Turbo Codes”, In Scientific Bulletin of Politehnica University of Timisoara, Transactions on Electronics and Communications, Tom 51–65. Romania: Timisoara; Sept. 2006:199-203.Google Scholar
  40. Hagenauer J, Offer E, Papke L: Iterative decoding of binary block and convolutional codes. IEEE Transactions on Information Theory 1996, 42(2):429-445.View ArticleMATHGoogle Scholar
  41. Shao RY, Lin S, Fossorier MPC: Two simple stopping criteria for turbo decoding. IEEE Transactions on Communications 1999, 47(8):1117-1120.View ArticleMATHGoogle Scholar
  42. Zhai F, Fair IJ: Techniques for early stopping and error detection in turbo decoding. IEEE Transactions on Communications 2003, 51(10):1617-1623.View ArticleGoogle Scholar
  43. Guerrieri L, Veronesi D, Bisaglia P: Stopping rules for duo-binary turbo codes and application to HomePlug AV. New Orleans: In IEEE Global Telecommunications Conference; 2008:1-5. doi: 10.1109/GLOCOM.2008. ECP.558Google Scholar
  44. Van Khuong H, Le-Ngoc T: A cooperative turbo coding scheme for wireless fading channels. IET Communications 2009, 3(10):1606-1615.View ArticleGoogle Scholar
  45. Bota V, ZsA P, Silva A, Teodoro S, Stef MP, Moco A, Botos A, Gameiro A: Combined distributed turbo coding and space frequency block coding techniques. EURASIP Journal on Wireless Communications and Networking 2010. doi: 10.1155/2010/327041Google Scholar
  46. Babich F, Crismani A: Cooperative coding schemes: design and performance evaluation. IEEE Transactions on Wireless Communications 2012, 11(1):222-235.View ArticleGoogle Scholar

Copyright

© Balta et al.; licensee Springer. 2013

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.