Skip to main content

A primer on equalization, decoding and non-iterative joint equalization and decoding

Abstract

In this article, a general model for non-iterative joint equalization and decoding is systematically derived for use in systems transmitting convolutionally encoded BPSK-modulated information through a multipath channel, with and without interleaving. Optimal equalization and decoding are discussed first, by presenting the maximum likelihood sequence estimation and maximum a posteriori probability algorithms and relating them to equalization in single-carrier channels with memory, and to the decoding of convolutional codes. The non-iterative joint equalizer/decoder (NI-JED) is then derived for the case where no interleaver is used, as well as for the case when block interleavers of varying depths are used, and complexity analyses are performed in each case. Simulation results are performed to compare the performance of the NI-JED to that of a conventional turbo equalizer (CTE), and it is shown that the NI-JED outperforms the CTE, although at much higher computational cost. This article serves to explain the state-of-the-art to students and professionals in the field of wireless communication systems, presenting these fundamental topics clearly and concisely.

1 Introduction

Equalization and decoding are two essential aspects of any wireless communication system. The equalizer is tasked with reversing the effect of the communication channel on the transmitted information signal, while the decoder receives the equalized symbol sequence and attempts to correct errors that might have been caused during transmission.

The Bahl–Cocke–Jelinek–Raviv (BCJR) algorithm, also known as the maximum a posteriori probability (MAP) algorithm, is useful when designing equalizer and decoder algorithms [1, 2]. The BCJR algorithm receives soft probabilistic information regarding the input and produces a posteriori probabilistic information regarding the output, and is aptly called a soft-input soft-output (SISO) algorithm. The availability of reliable soft information at the input allows for more accurate a posteriori estimates to be produced at the output, which improves overall system performance [35].

The equalizer can be designed by using the Viterbi algorithm (VA), also known as the maximum likelihood sequence estimation (MLSE) algorithm, which makes use of the min-sum algorithm to find the most probable transmitted sequence [2, 6, 7]. The VA performs optimally but it is only able to produce hard estimates at the output, and is therefore not an attractive choice when the equalizer is followed by a SISO decoder. The VA can be modified to produce suboptimal posterior probabilistic information at the output, resulting in the soft output Viterbi algorithm (SOVA) in [8], but because of its suboptimal nature the overall system performance will also be suboptimal. Using the MAP algorithm, the equalizer is able to produce optimal posterior probabilistic information regarding the transmitted information, which can be exploited by the SISO decoder.

While the VA and SOVA can also be used for decoding, the MAP algorithm is the algorithm of choice when the output of the decoder is fed back to be used by the equalizer, a technique known as turbo equalization [3, 4]. However, when the estimates of the uncoded transmitted symbols are taken directly from the output of the decoder, i.e., when no turbo equalization is performed, the MLSE algorithm will suffice.

Joint equalization and decoding can be performed by MLSE or MAP algorithms and by employing a super-trellis, as shown in [9], given that the depth of the interleaver is limited by computational complexity limitations. The joint equalizer and decoder achieves optimal non-iterative equalization and decoding. Since the input of the joint equalizer and decoder is ISI-corrupted coded transmitted symbols, and the output is the equalized and decoded symbol estimates, no posterior probabilistic information is required at the output. Therefore, the MLSE algorithm can also be used. The MAP algorithm will perform just as well, albeit with approximately twice the computational complexity. It has also been shown in [10] that joint decoding of turbo codes can be done on a super-trellis as well.

Figure 1 shows a block diagram of the communication system considered in this article. The source information is encoded, after which an interleaver is used to separate adjacent coded bits temporally. The coded bits are mapped to modulation symbols chosen from a modulation alphabet D, after which the symbols are used to modulate the carrier before transmission. The transmitted information passes through a multipath white Gaussian noise channel and is received by the receiver antenna. After reception the signal is demodulated and matched filtered in order to produce a received symbol sequence. The CIR is estimated using a number of known pilot symbols, and is provided as input to the equalizer together with the received symbol sequence. The equalizer reverses the effect of the multipath channel and produces optimal symbol estimates (MAP) or an optimal sequence estimate (MLSE) regarding the transmitted coded bits after interleaving. The output of the equalizer is deinterleaved and provided as input to the decoder, which produces optimal estimates regarding the uncoded transmitted information in the form of log-likelihood ratios (LLR), which are mapped back to bits to produce a final estimate of the source information. When joint equalization and decoding is performed, the equalizer, deinterleaver, and decoder are replaced by one functional block, as indicated by the dashed line around these functional blocks. Equalization and decoding are performed simultaneously, producing LLR estimates of the source information at the output.

Figure 1
figure1

Wireless communication system block diagram.

Equalization, decoding, and joint equalization and decoding will be discussed in the context of the MAP algorithm, but for completeness the MLSE algorithm will also be discussed. The MLSE and MAP algorithms are discussed next, after which these algorithms will subsequently be related to equalization and decoding.

2 The MLSE and MAP algorithms

The MLSE and MAP algorithms are used for equalization as well as for the decoding of convolutional codes [1, 2, 6, 7, 11]. The MLSE algorithm is able to optimally estimate the most probable sequence of transmitted symbols/codewords (depending on equalization/decoding), while the MAP algorithm exactly estimates the probability of each transmitted symbol/codeword. These algorithms are underpinned by Bayes’ rule of conditional probability, which states that

rclP ( d t = d ( m ) | r t ) = P ( d t = d ( m ) ) P ( r t | d ( m ) ) P ( r t ) = P ( d t = d t ( m ) ) P ( r t | d t ( m ) ) n = 1 M P ( d t = d ( n ) ) P ( r t | d t ( n ) ) = βP ( r t | d ( m ) )
(1)

where P(d t  = d (m)) is the prior probability of transmitting symbol/codeword d (m) time instant t. For equalization, the symbols d (m) are chosen from a given modulation alphabet D of size M, where m = 1,2,…,M, and for decoding, codewords symbols d (m) are chosen from a list of M possible codewords. Since it is assumed that the received symbol/codeword sequence is corrupted by white Gaussian noise, the probability of receiving r t and time instant t having transmitted d t ( m ) , is expressed as [1, 2, 6, 7, 11]

P( r t | d ( m ) )= 1 2 π σ exp | Δ t ( m ) | 2 2 σ 2 ,
(2)

where σ is the noise standard deviation and Δ t ( m ) is a cost function for the purpose of minimizing the Euclidean distance between the received symbol/codeword and the symbol/codeword to be estimated, which will be discussed in Sections 3 and 4 for equalization and decoding, respectively. Since P(d t  = d (m)) and P(r t ) are independent of the choice of d (m), they can be absorbed into a normalization constant β, which, since n = 1 ( m ) P( d t = d ( n ) )=1, can be expressed as

β= 1 n = 1 M P ( d t = d ( n ) ) .
(3)

In order to apply Bayes’ rule over a transmitted block of N symbols/codewords, the product rule can be used to express (1) for a sequence of length N such that

P ( d 1 , d 2 , , d N | r 1 , r 2 , , r N ) = βP ( r 1 | d 1 ) .P ( r 1 | d 1 ) . .P ( r N | d N ) P ( d | r ) = β t = 1 N P ( r t | d t ) = β t = 1 N 1 2 π σ exp Δ t m 2 σ 2 = β ( 2 π σ ) N exp t = 1 N Δ t m 2 σ 2 = β ( 2 π σ ) N exp Δ 2 σ 2 ,
(4)

where any symbol/codeword d t in the symbol/codeword sequence d = {d 1,d 2,…,d N } can be substituted for any d (m), and where r = {r 1,r 2,…,r N } is the received symbol/codeword sequence.

2.1 The MLSE algorithm

In 1972, Forney [11] showed that the VA [6, 7, 11], first developed by Viterbi in 1967 to decode convolutional error correction codes, can be used to determine the most likely transmitted sequence. This is done by using a trellis, a special graph, or remerging tree structure, representing all possible combinations of transmitted symbols, to determine the solution with the lowest cost through the trellis. The sequence of symbols with the lowest cost maximizes the probability that said sequence was transmitted, thus producing the optimal estimate for the transmitted sequence [2, 11].

The VA, or MLSE algorithm, attempts to minimize the cumulative cost function Δ= t = 1 N Δ t m in (4), which in turn maximizes P(d|r) in (4). After minimizing Δ in (4), there is no sequence of transmitted symbols/codewords that is more likely to have been transmitted. However, the probability of each estimated symbol/codeword in the sequence will not necessarily be maximized among all possible transmitted symbols/codewords. As stated before, the MAP algorithm is used to calculate exact posterior probabilities on each symbol/codeword. The min-sum algorithm is used to find the MLSE solution and is discussed next.

2.1.1 The min-sum algorithm

In order to perform optimal sequence estimation, the min-sum algorithm is used. Viterbi [6] and Forney [11] showed that the min-sum algorithm can be used by constructing a trellis and tracing a path, corresponding to the most likely transmitted symbol/codeword sequence through the trellis. The min-sum algorithm allows for the elimination of more costly contending paths at each state on a trellis, thereby greatly reducing the computational complexity due to complete enumeration. For equalization, there will always be M L − 1 possible paths at every stage in the trellis, where M is the modulation alphabet size and L is the channel memory length. Similarly, for decoding, there will always be 2K − 1 remaining paths at every stage in the trellis (if convolutional encoding is performed in G F(2)), where K is the encoder constraint length which introduces memory to the transmitted codewords. M L−1 and 2K−1 also correspond to the number of respective states in the trellis for each time instant t, for the equalizer and the decoder.

Figure 2 shows a trellis with M L − 1 = 2K − 1 = 4 states, corresponding to an equalizer used in a system where a BPSK modulated symbol sequence of length N is transmitted through a multipath channel with a CIR of length L = 3, or to a decoder used to decode a coded sequence of N codewords where a convolutional encoder with constraint length K = 3 is used. The trellis is initiated by assuming that it starts at state S 1 at time instant t = 0 and it is terminated at state S 1 at time instant t = N. For equalization, each state represents a unique combination of modulation symbols s m, where m = 1,2,…,M, from a modulation alphabet D of size M, and for decoding each state represents a possible codeword at the output of the convolutional decoder. The edges or transitions from state S i , i = 1,2,3,4 at time instant t to any other state S j , j = 1,2,3,4 at time instant t+1 describes the likelihood of this occurrence, which will be a maximum if the cost function | Δ t ( m ) | 2 in (2) is a minimum. Table 1 shows the values associated with states S j ,j = 1,2,3,4 for equalization and decoding, respectively.

Figure 2
figure2

Trellis diagram used to aid the explanation of the equalizer and the decoder.

Table 1 Equalizer/decoder state values

For equalization, each state will have M incoming transitions (from the left), while there will be two incoming transitions for decoding.a But as stated above, there will only be 2L − 1 = 2K − 1 = 4 remaining paths at each time instant in the trellis, which means that all but one path has to be eliminated at each state. To eliminate more costly paths at each state in the trellis at time t, the cumulative cost function Δ= t = 1 P Δ t m in (4) is calculated for all possible paths leading to the said state up to time t, where the cost of the contending paths are compared, and the path with the highest cost (corresponding to the lowest probability), is eliminated. Therefore, at each state all the previous Δ t,ji ’s are accumulated, and where there are contending paths, the path with the largest accumulated cost is eliminated.

There will therefore be 22 = 4 surviving paths in each stage on the trellis for stages beyond t = 2. When stages t = N − 2 to t = N are considered, the number of allowed transitions decrease, because of the known tail symbols at the end of the transmitted symbol sequence. For the last few states in the trellis the contending paths are also eliminated, until only one possible path remains at stage t = N. This path is then traced back to determine the most probable sequence of transmitted symbols/codewords.

The MLSE equalizer/decoder produces outputs from a set of M symbols for equalization or from a set of uncoded bits for decoding. These estimates are called hard outputs, since the estimates do not contain any probabilistic information regarding the reliability of those estimates. The MAP equalizer can be used to produce probabilistic information as an indication of the reliability of the estimates. The MAP algorithm is discussed next.

2.2 The MAP algorithm

Following the development of the Viterbi MLSE decoding algorithm [6], the BCJR algorithm [1], named after its developers Bahl–Cocke–Jelinek–Raviv, also known as the MAP algorithm, was developed in 1974, also for the decoding of convolutional codes. In the artificial intelligence community, this algorithm was developed independently by Pearl [12] and is called BP. The MAP algorithm is able to produce the posterior probability of each symbol in the estimated transmitted sequence, as opposed to maximizing the probability of the whole transmitted sequence, as done by the Viterbi MLSE equalizer [2, 6, 7, 11].

The aim of the MAP algorithm is to maximize the posterior probability distribution for each transmitted symbol/codeword. While the MLSE algorithm assumes the prior probabilities P(d) of the transmitted symbols to be equal, the MAP algorithm is able to exploit the prior probabilities P(d), if necessary, in order to enhance the quality of posterior probabilistic information on each individual transmitted symbol. Like the MLSE algorithm, the MAP algorithm uses the model in (4) on a trellis, but unlike the MLSE algorithm, the MAP algorithm propagates the transition probabilities forward from past states to future states, as well as backwards from future states to past states, after which the marginalized probability for each estimated symbol/codeword d t is produced, given past and future information. That is [1, 13]

P( d t = d ( m ) |r)= d t : t t N P(d|r)
(5)

where again d (m), m = 1,2,…,M, is the m th symbol chosen from a modulation alphabet D of size M for equalization, or d (m) is the m th codeword chosen from a list of M codewords produced by a convolutional encoder for decoding, r is the received sequence, and N is the number of symbols/codewords in the received sequence.

Referring to Figure 2, the probability of a transition from state S j,t − 1 (at time t − 1) to state S i,t (at time t), where i,j = 1,2,…,M L − 1 for equalization and i,j = 1,2,…,2K − 1 for decoding, is given by

ω j i , t ( S j , t 1 , S i , t )=βP( d t = d ( m ) )P( r t | S j , t 1 , S i , t ),
(6)

where β is a normalization constant and P(r t |S j,t − 1,S i,t ) is given by

P( r t | S j , t 1 , S i , t )= 1 2 π σ 2 exp | Δ | 2 2 σ 2 .
(7)

By considering the relevant transition value b d ξ , P(d t ) can be written as [3, 4]

P( d t = d ( m ) )=exp 1 2 d ξ L ( d t ~ ) ,
(8)

where L(.) denotes the LLR operation and d t ~ is an estimate of d t . Therefore, substituting (7) and (8) in (6) yields

ω j i , t ( S j , t 1 , S i , t ) = δ 2 π σ 2 × exp Δ 2 2 σ 2 + exp 1 2 d ξ L ( d t ~ ) ,
(9)

which completely describes the probability of a transition from S j,t − 1 (or d j ) at time t − 1 to S i,t (or d i ) at time t, based on all available information. Thus, for a transition labeled d ξ  = 1 and L( d t ~ ) equal to any large positive value,c P(d t  = d (m)) will be large, confirming the transition. Similarly, for a transition labeled d ξ  = − 1 and L( d t ~ ) equal to any large negative value P(d t =d (m)) will be large, also confirming the transition. However, for a transition labeled d ξ  = 1 and L(d ξ ) equal to any large negative number, or for a transition labeled d ξ  = − 1 and L( d t ~ ) equal to any large positive number, P(d t  = d (m)) will be small. Thus, if the prior information L( d t ~ ) is in agreement with the transition value d ξ , the probability of that transition will increase, confirming that transition. Otherwise, if the prior information L( d k ~ ) contradicts the transition value d ξ , the probability of that transition will be decreased.

Propagating the transition probabilities ω j → i,t (S j,t − 1,S i,t ) across the whole sequence from left to right and from right to left, respectively, and marginalizing according to (5), will produce the posterior probabilities of each estimated d k . The sum-product algorithm achieves exactly this [13].

2.2.1 The sum-product algorithm

The sum-product algorithm, also known as the forward–backward algorithm, uses the trellis in Figure 2 to perform marginalization. This algorithm follows three steps [13]:

  1. 1.

    Determine the forward pass messages from left to right on the trellis.

  2. 2.

    Determine the backward pass messages from right to left on the trellis.

  3. 3.

    Multiply, scale and accumulate (marginalize) probabilities at each stage of the trellis.

To determine the forward pass messages on the trellis, let a counter t run from left to right (from 1 to N) on the trellis and compute for each state in the trellis

α i , t = j ϵ Parent(i) ω j i , t ( S j , t 1 , S i , t ) α j , t 1

where j represents the parent states of the current state at stage i of the trellis and ω t (S j,t − 1,S i,t ) is the probability associated with the transition from S j,t − 1 to S i,t . Note that α j,0 = 1. Similarly, to determine the backward pass messages on the trellis, let a counter t run from right to left (from N−1 to 1) on the trellis and compute for each state in the trellis

β j , t = j ϵ Parent(i) ω j i , t ( S j , t , S i , t + 1 ) β i , t + 1

where again j represents the parent states of the current state at stage i of the trellis and ω t (S j,t ,S i,t + 1) is the probability associated with the transition from S j,t to S i,t + 1. Note that β i,t  = 1. Finally, the exact marginalized symbol probability is determined by summing over all states at each time instant t corresponding to a transition of either d ξ  = 1 or d ξ  = − 1 such that

P( d t =1|r)= jϵParent ( i ) , d ξ = 1 α j , t 1 ω j i , t ( S j , t 1 , S i , t ) β i , t
(10)
P( d t =1|r)= jϵParent ( i ) , d ξ = 1 α j , t 1 ω j i , t ( S j , t 1 , S i , t ) β i , t .
(11)

The MAP algorithm can also produce soft bits. The soft bits, also called LLRs, can be determined by

L( s t ~ )=log P ( d t = 1 | r ) P ( d t = 1 | r ) ,
(12)

where the sign of L( d t ~ ) indicates whether d t ~ =1 or d t ~ =1, and L ( s t ~ ) is a measure of the confidence of that estimate.

3 Equalization

A mobile communication system transmission channel is characterized by multipath and fading. Multipath is the phenomenon resulting from time spreading of the transmitted signal as it is transmitted through the channel. Fading, on the other hand, results from time variations in the structure of the transmission medium, causing the nature of the multipath channels to vary with time [2]. During transmission, the transmitted symbols pass through the channel, which acts like a filter. The channel has a continuous impulse response, which is estimated at the receiver, to aid in the estimation of the transmitted information.

Each coefficient, or tap, in the impulse response of a multipath fading channel is modeled as a continuous function of time, where each coefficient in the impulse response corresponds to symbol period intervals t T s . As such, a tapped delay line is used to model the behavior of this channel, as shown in Figure 3. Figure 3 indicates that the t th transmitted symbol s t is delayed by T s seconds L−1 times, where L is the CIR length and T s is the symbol period. Each delayed copy of s t is multiplied by h l ( t ) , l = 1,2,…,L − 1, corresponding to the l th delay branch at time t. Therefore, the t th received symbol can be described by [2, 11]

r t = l = 0 L 1 h t ( l ) s t l + n t ,
(13)
Figure 3
figure3

Tapped delay line used to simulate ISI in a multipath fading channel.

where n t is the t th noise sample from the distribution N(μ=0, σ 2 =1). Each h t ( l ) is a sample taken from one of L time-varying functions, where t corresponds with the t th transmitted symbol and l = 1,2,…,L − 1 is the CIR tap number. Each CIR tap is modeled as an independent uncorrelated Rayleigh fading sequence, using the model in [14].

If it is assumed that the CIR is time-invariant for the duration of a data block, (13) can be rewritten as

r t = l = 0 L 1 h l s t l + n t ,
(14)

where s t denotes the t th complex symbol in the transmitted sequence of N symbols chosen from an alphabet D containing M complex symbols, r t is the t th received symbol, n t is the t th noise sample from the distribution N(μ=0, σ 2 =1), and h l is the l th coefficient of the estimated CIR. Equalization is performed under the assumption that each CIR coefficient h l is time-invariant for the duration of a data block. The CIR h = {h 0,h 1,…,h L−1} therefore completely describes the multipath channel for a given received data block, assuming that the data block is sufficiently short so as to render the CIR time-invariant. The equalizer takes as input the received symbol sequence r as well as the CIR h.

To estimate the transmitted sequence of length N optimally in a wireless communication system transmitting modulated symbols though a multipath channel, the cumulative cost function in (4)

rclΔ = t = 1 N Δ t m = t = 1 N | r t l = 0 L 1 h l s t l | 2
(15)

must be minimized [2, 11]. Here s = {s 1,s 2,…,s N } is the most likely transmitted sequence that will maximize (4). Although the minimization of (15) will maximize (4), the resulting sequence estimates will only be optimal in the sequence sense. Depending on the application and whether the equalizer is followed by a decoder, either optimal sequence estimation or exact posterior probabilistic symbol estimation can be performed using the MLSE or MAP algorithms discussed above.

4 Decoding

In a mobile communication system, the transmitted signal is subjected to energy losses due to multipath and fading as well as interference due to thermal noise, resulting in unreliable estimates of source information in the receiver. In order to correct errors in the receiver, error control coding (ECC) is used to introduce controlled redundancy to the source information. The decoder exploits the structure introduced to the encoded symbol sequence by the encoder, to reconstruct the source information from the estimated coded symbols, correcting errors while doing so.

ECC plays an important role in digital communication systems. As the name suggests, ECC is used to allow for the correction of errors in the received symbol sequence. ECC is performed by adding controlled redundancy to the information being transmitted. Since the redundant information is mathematically related to the original information, errors can be corrected [2]. Although the redundancy adds an overhead to the transmitted data, the performance increase overshadows this drawback. During the last few decades, ECC has been the subject of much research and significant contributions and advancements have been made.

The coding scheme considered in this article is convolutional encoding, as it is most often used in turbo equalization. A convolutional code is generated by passing the information sequence to be transmitted through a linear finite state shift register, consisting of K stages.d The binary input is shifted into the shift register k bits at a time, producing n output bits. The code rate is therefore R c  = k/n. The encoder can be expressed in terms of n generator polynomials, describing the connections between the states of the encoder shift register. Figure 4 shows the rate R c  = k/n = 1/3, constraint length K = 3, convolutional encoder considered in this article.

Figure 4
figure4

Rate 1/3 convolutional encoder used in this article.

The generator polynomials that describe the connections between the elements in the shift register are given in sequence form as g 1 = [100], g 2 = [110], and g 3 = [011], which can also be written in octal form as G = [4,6,3] or in polynomial form as G = [1,1 + X,X+X 2]. For every input source bit s t the encoder produces K = 3 output bits c t ( 1 ) , c t ( 2 ) , and c t ( 3 ) , where

c t ( 1 ) = s t c t ( 2 ) = s t s ( t 1 ) c t ( 3 ) = s ( t 1 ) s ( t 2 ) ,
(16)

where is the exclusive OR operation. It is assumed that the encoder starts in the all-zero state for every data block that is encoded. Also, the encoder is forced into a zero-state after the data block is encoded by appending K−1 zero bits to the data block. This is done to enable decoding using an MLSE or a MAP decoder [1, 6, 7].

Each convolution encoder has a corresponding state diagram, which is used to map state transitions to encoder outputs, which in turn are used to determine the most likely state transitions during decoding. The state diagram of the encoder in Figure 4 is shown in Figure 5. Each state contains two bits representing the two leftmost elements in the encoder shift register. As bits are shifted through the encoder k = 1 bit at a time, transitions occur, with each state transition producing n = 3 output bits. The dashed lines are associated with transitions resulting from a zero at the input of the encoder, and solid lines are association with a one at the input of the encoder.

Figure 5
figure5

1/3 convolutional encoder state diagram of the convolutional encoder in Figure 4 .

The decoding of convolutional codes is closely related to equalization discussed in Section 3, in that the min-sum (Viterbi MLSE) and sum-product (MAP/BCJR) algorithms can also be used for decoding. The MAP algorithm is an attractive choice for use in iterative equalization/decoding algorithms. It is attractive for two reasons: first because it includes prior probabilistic information in the estimation, and second, because it provides soft posterior estimates regarding individual coded or uncoded symbols, which in turn can be used as prior information in subsequent iterations.

To decode a convolutional code using the MLSE or MAP algorithms discussed above, the cumulative cost function in (4)

rclΔ = t = 1 N Δ t m = t = 1 N n = 1 k | r t ( n ) c t ( n ) | 2
(17)

is minimized [6, 11], where r t ={ r t ( 1 ) ,, r t ( n ) } are the received coded symbols corresponding to codeword c t ={ c t ( 1 ) ,, c t ( k ) } at time instant t, selected based on the encoder output generated by the relevant state transition.e Here, k is the number of output bits generated by the encoder. The MLSE or MAP algorithms can be applied to find either the most probable transmitted sequence of codewords, or the most probable transmitted uncoded and/or coded symbols. The output of the latter can be used in a turbo equalizer as feedback to aid the equalizer in making more informed decisions.

5 Non-iterative joint equalization and decoding (NI-JED)

In conventional single-carrier wireless communication systems, where the coded information is transmitted through a multipath channel, equalization and decoding, as explained in Section 3 and 4, are performed separately. However, joint equalization and decoding can also be performed on a single trellis when it is assumed that the coded symbols are not interleaved before transmission, or that certain assumptions are made regarding the structure of the interleavers used to interleave the coded symbols.

Interleavers allow for the temporal separation of adjacent coded symbols during transmission, so that when burst errors occur in response to a loss of signal power during fading, the resulting errors in an error burst will be distributed throughout the data block after deinterleaving. This leads to performance gains in the receiver, as the equalizer and the decoder are able to infer information and correct single errors more accurately, as opposed to correcting consecutive, or burst errors. Therefore, interleavers are employed in a wireless communication system where the transmitted signal is subject to multipath and fading [2].

In [9], an optimal joint equalizer and decoder is presented, where the equalizer and the decoder are jointly modeled on one trellis, a super-trellis according to [9], and a block interleaver is used to interleave the coded symbols before transmission. The computational complexity of this joint equalizer and decoder, however, is not only exponentially related to the channel memory length and the encoder constraint length, but also to the interleaver depth. The interleaver depth determines the degree of separation between the coded symbols, which has a direct effect on system performance. In order to improve system performance the interleaver depth has to be increased, which results in an exponential increase in computational complexity. Ideally a random interleaver should be used for maximum performance gains, but a random interleaver has a devastating effect on the causality relationship between transmitted and deinterleaved received symbols. This joint equalizer/decoder is therefore only feasible when limited depth block interleavers are used. Joint equalization and decoding using a super-trellis is discussed next, first for systems where no interleaving is performed, and then for systems where depth-limited interleavers are used.

5.1 No interleaving

Noting the striking similarities between MAP equalization and MAP decoding in Section 2, a possible joint equalization and decoding algorithm can be envisioned. In order to equalize and decode a received symbol sequence jointly, the cumulative costs for equalization in (15) and decoding in (17) must be combined in order to equalize while decoding. Either the MLSE or MAP algorithms can be used for this purpose, since the super-trellis encapsulates all the available information and therefore no exchange of information between equalizer and decoder is necessary. No prior information is therefore required when calculating state transitions on a super-trellis.

Consider a system transmitting non-interleaved coded information through a multipath channel of length L. A rate R c  = k/n constraint length K convolutional encoder is used to produce a sequence c of coded bits of length N c from an uncoded bit sequence s of length N u . The number of super-trellis states required to perform joint equalization and decoding is the product of the number of states of the individual trellises required to perform equalization and decoding separately. Therefore, the number of super-trellis states is M L − 1 M K − 1 = M (L − 1) + (K − 1), where M = 2 due to BPSK modulation as well as G F(2) encoding.

When the MAP equalizer was considered, the probability of a transition from uncoded symbol S j transmitted and time t − 1 to S i transmitted at time t was calculated (see (6)), and when the MAP decoder was considered, the probability of a transition from codeword c j transmitted at time t − 1 to c i transmitted at time t was calculated (although d j and d i were used instead for both the equalization of symbols and decoding of codewords). When modeling the equalizer and decoder jointly, however, transitions between super states are calculated on a super-trellis, where each state represents the uncoded symbols that constitute a codeword, together with interfering symbols of previous codewords due to multipath.

Suppose a communication system encodes a source bit sequence s of length N u with a rate R c  = k/n = 1/3, constraint length K = 3, convolutional encoder with arbitrary generator polynomials g 1 ={ g 1 ( 1 ) , g 1 ( 2 ) , g 1 ( 3 ) }, g 2 ={ g 2 ( 1 ) , g 2 ( 2 ) , g 2 ( 3 ) } and g 3 ={ g 3 ( 1 ) , g 3 ( 2 ) , g 3 ( 3 ) }, in order to produce a coded bit sequence c of length N c  = N u /R c , which is BPSK modulated and transmitted through a multipath channel with a CIR h of length L. The encoder produces the coded bit sequence

c = c 1 ( 1 ) , c 1 ( 2 ) , c 1 ( 3 ) , c 2 ( 1 ) , c 2 ( 2 ) , c 2 ( 3 ) , , c N u 1 ( 1 ) , c N u 1 ( 2 ) , c N u 1 ( 3 ) , c N u ( 1 ) , c N u ( 2 ) , c N u ( 3 )

of length N c from the length N c uncoded bit sequence

s={ s 1 , s 2 , s N u 1 , s N u }.

5.1.1 Channel length 2 ≤ L < 5

When the coded sequence is transmitted through a channel with lengths L = 2, L = 3, and L = 4, the respective resulting received sequences, without noise, can expressed in terms of the coded symbols

r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 3 ) h 1 r t ( 2 ) = c t ( 2 ) h 0 + c t ( 1 ) h 1 r t ( 3 ) = c t ( 3 ) h 0 + c t ( 2 ) h 1 ,
(18)
r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 3 ) h 1 + c t 1 ( 2 ) h 2 r t ( 2 ) = c t ( 2 ) h 0 + c t ( 1 ) h 1 + c t 1 ( 3 ) h 2 r t ( 3 ) = c t ( 3 ) h 0 + c t ( 2 ) h 1 + c t ( 1 ) h 3 ,
(19)

and

r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 3 ) h 1 + c t 1 ( 2 ) h 2 + c t 1 ( 1 ) h 3 r t ( 2 ) = c t ( 2 ) h 0 + c t ( 1 ) h 1 + c t 1 ( 3 ) h 2 + c t 1 ( 2 ) h 3 r t ( 3 ) = c t ( 3 ) h 0 + c t ( 2 ) h 1 + c t ( 1 ) h 3 + c t 1 ( 3 ) h 3 ,
(20)

which can, respectively, be expressed in terms of the uncoded symbols

r t ( 1 ) = ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 0 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 1 r t ( 2 ) = ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 0 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 1 r t ( 3 ) = ( g 3 ( 1 ) s t g 3 ( 2 ) s t 1 g 3 ( 3 ) s t 2 ) h 0 + ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 1 ,
(21)

for L = 2,

r t ( 1 ) = ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 0 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 1 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 2 r t ( 2 ) = ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 0 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 1 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 2 r t ( 3 ) = ( g 3 ( 1 ) s t g 3 ( 2 ) s t 1 g 3 ( 3 ) s t 2 ) h 0 + ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 1 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 2 ,
(22)

for L = 3, and

r t ( 1 ) = ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 0 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 1 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 2 + ( g 1 ( 1 ) s t 1 g 1 ( 2 ) s t 2 g 1 ( 3 ) s t 3 ) h 3 r t ( 2 ) = ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 0 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 1 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 2 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 3 r t ( 3 ) = ( g 3 ( 1 ) s t g 3 ( 2 ) s t 1 g 3 ( 3 ) s t 2 ) h 0 + ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 1 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 2 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 3 ,
(23)

for L = 4. It is clear from (21) to (23) that each r t ={ r t ( 1 ) , r t ( 2 ) , r t ( 3 ) } contains uncoded symbols {s t ,s t − 1,s t − 2,s t − 3}. The transition probability between superstate S j,t − 1 and S i,t can therefore be calculated, where S i,t represents {s t ,s t − 1,s t − 2} and S j,t − 1 represents {s t − 1,s t − 2,s t − 3}. The number of super-trellis states will therefore be M = 23, as three symbols need to be represented by each superstate. In order to express the number of states for 2 ≤ L < 5 this author defines

Q=1,if2L4.
(24)

The number of super-trellis states can therefore be expressed as M=2Q + (K − 1) = 2(1)+(2) = 23.

5.1.2 Channel length 5 ≤ L < 8

Transmitting the coded sequence

c = c 1 ( 1 ) , c 1 ( 2 ) , c 1 ( 3 ) , c 2 ( 1 ) , c 2 ( 2 ) , c 2 ( 3 ) , , c N u 1 ( 1 ) , c N u 1 ( 2 ) , c N u 1 ( 3 ) , c N u ( 1 ) , c N u ( 2 ) , c N u ( 3 )

through a channel length L = 5, L = 6, and L = 7, respectively, the received symbol sequences without noise can be expressed as

r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 3 ) h 1 + c t 1 ( 2 ) h 2 + c t 1 ( 1 ) h 3 + c t 2 ( 3 ) h 4 r t ( 2 ) = c t ( 2 ) h 0 + c t ( 1 ) h 1 + c t 1 ( 3 ) h 2 + c t 1 ( 2 ) h 3 + c t 1 ( 1 ) h 4 r t ( 3 ) = c t ( 3 ) h 0 + c t ( 2 ) h 1 + c t ( 1 ) h 3 + c t 1 ( 3 ) h 3 + c t 1 ( 2 ) h 4 ,
(25)
r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 3 ) h 1 + c t 1 ( 2 ) h 2 + c t 1 ( 1 ) h 3 + c t 2 ( 3 ) h 4 + c t 2 ( 2 ) h 5 r t ( 2 ) = c t ( 2 ) h 0 + c t ( 1 ) h 1 + c t 1 ( 3 ) h 2 + c t 1 ( 2 ) h 3 + c t 1 ( 1 ) h 4 + c t 2 ( 3 ) h 5 r t ( 3 ) = c t ( 3 ) h 0 + c t ( 2 ) h 1 + c t ( 1 ) h 3 + c t 1 ( 3 ) h 3 + c t 1 ( 2 ) h 4 + c t 1 ( 1 ) h 5 ,
(26)

and

r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 3 ) h 1 + c t 1 ( 2 ) h 2 + c t 1 ( 1 ) h 3 + c t 2 ( 3 ) h 4 + c t 2 ( 2 ) h 5 + c t 2 ( 1 ) h 6 r t ( 2 ) = c t ( 2 ) h 0 + c t ( 1 ) h 1 + c t 1 ( 3 ) h 2 + c t 1 ( 2 ) h 3 + c t 1 ( 1 ) h 4 + c t 2 ( 3 ) h 5 + c t 2 ( 2 ) h 6 r t ( 3 ) = c t ( 3 ) h 0 + c t ( 2 ) h 1 + c t ( 1 ) h 3 + c t 1 ( 3 ) h 3 + c t 1 ( 2 ) h 4 + c t 1 ( 1 ) h 5 + c t 2 ( 3 ) h 6 .
(27)

As before, expressing r t ={ r t ( 1 ) , r t ( 2 ) , r t ( 3 ) } above in terms of the uncoded symbols, one gets

r t ( 1 ) = ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 0 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 1 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 2 + ( g 1 ( 1 ) s t 1 g 1 ( 2 ) s t 2 g 1 ( 3 ) s t 3 ) h 3 + ( g 3 ( 1 ) s t 2 g 3 ( 2 ) s t 3 g 3 ( 3 ) s t 4 ) h 4 r t ( 2 ) = ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 0 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 1 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 2 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 3 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 4 r t ( 3 ) = ( g 3 ( 1 ) s t g 3 ( 2 ) s t 1 g 3 ( 3 ) s t 2 ) h 0 + ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 1 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 2 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 3 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 4 ,
(28)

for L = 5,

r t ( 1 ) = ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 0 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 1 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 2 + ( g 1 ( 1 ) s t 1 g 1 ( 2 ) s t 2 g 1 ( 3 ) s t 3 ) h 3 + ( g 3 ( 1 ) s t 2 g 3 ( 2 ) s t 3 g 3 ( 3 ) s t 4 ) h 4 + ( g 2 ( 1 ) s t 2 g 2 ( 2 ) s t 3 g 2 ( 3 ) s t 4 ) h 5 r t ( 2 ) = ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 0 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 1 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 2 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 3 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 4 + ( g 3 ( 1 ) s t 2 g 3 ( 2 ) s t 3 g 3 ( 3 ) s t 4 ) h 5 r t ( 3 ) = ( g 3 ( 1 ) s t g 3 ( 2 ) s t 1 g 3 ( 3 ) s t 2 ) h 0 + ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 1 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 2 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 3 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 4 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 5 ,
(29)

for L = 6,

r t ( 1 ) = ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 0 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 1 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 2 + ( g 1 ( 1 ) s t 1 g 1 ( 2 ) s t 2 g 1 ( 3 ) s t 3 ) h 3 + ( g 3 ( 1 ) s t 2 g 3 ( 2 ) s t 3 g 3 ( 3 ) s t 4 ) h 4 + ( g 2 ( 1 ) s t 2 g 2 ( 2 ) s t 3 g 2 ( 3 ) s t 4 ) h 5 + ( g 1 ( 1 ) s t 2 g 1 ( 2 ) s t 3 g 1 ( 3 ) s t 4 ) h 6 r t ( 2 ) = ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 0 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 1 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 2 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 3 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 4 + ( g 3 ( 1 ) s t 2 g 3 ( 2 ) s t 3 g 3 ( 3 ) s t 4 ) h 5 + ( g 2 ( 1 ) s t 2 g 2 ( 2 ) s t 3 g 2 ( 3 ) s t 4 ) h 6 r t ( 3 ) = ( g 3 ( 1 ) s t g 3 ( 2 ) s t 1 g 3 ( 3 ) s t 2 ) h 0 + ( g 2 ( 1 ) s t g 2 ( 2 ) s t 1 g 2 ( 3 ) s t 2 ) h 1 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 2 + ( g 3 ( 1 ) s t 1 g 3 ( 2 ) s t 2 g 3 ( 3 ) s t 3 ) h 3 + ( g 2 ( 1 ) s t 1 g 2 ( 2 ) s t 2 g 2 ( 3 ) s t 3 ) h 4 + ( g 1 ( 1 ) s t g 1 ( 2 ) s t 1 g 1 ( 3 ) s t 2 ) h 5 + ( g 3 ( 1 ) s t 2 g 3 ( 2 ) s t 3 g 3 ( 3 ) s t 4 ) h 6 ,
(30)

for L = 7. It is clear from (28) to (30) that for 5L<8 r t ={ r t ( 1 ) , r t ( 2 ) , r t ( 3 ) } contains {s t ,s t − 1,s t − 2,s t − 3,s t − 4}, necessitating super-trellis state S j,t − 1 and S i,t to represent, respectively, {s t − 1,s t − 2,s t − 3,s t − 4} and {s t ,s t − 1,s t − 2,s t − 3} in order to calculate the transition probability. With the new information, this author redefines Q in (24) as

Q = 1 if 2 L < 5 2 if 5 L < 8 .

The number of super-trellis states required for 5≤L<8 is therefore M = 2Q+(K−1) = 2(2)+(2) = 24.

5.1.3 Channel length L

Given any channel memory length L, encoder constraint length K, code rate R c  = k/n = 1/3, the number of bits needed to be represented by a superstate can be determined by Q + (K − 1), where

Q = 1 if n 1 L < 2 ( n 1 ) 2 if 2 ( n 1 ) L < 3 ( n 1 ) 3 if 3 ( n 1 ) L < 4 ( n 1 ) q 1 if ( q 1 ) ( n 1 ) L < ( q 2 ) ( n 1 ) q if q ( n 1 ) L < ( q 1 ) ( n 1 ) ,

which in turn can be used to determine the number of super-trellis states by M = 2Q + (K + 1). Keeping track of the ISI undergone by the coded symbols due to multipath, and replacing those symbols with their corresponding uncoded symbols, a model for the received symbols can be derived.

The probability of a transition from superstate S j,t − 1 superstate S i,t is given by

ω j i , t ( S j , t 1 , S i , t )=P( r t ( 1 ) , r t ( 2 ) , r t ( 3 ) | S j , t 1 , S i , t )P( s t ),
(31)

which can be rewritten in terms of the uncoded symbols represented by each state

ω j i , t ( S j , t 1 , S i , t ) = P ( r t ( 1 ) , r t ( 2 ) , r t ( 3 ) | s t , s t 1 , , s t log 2 ( M ) ) P ( s t ) ,
(32)

where

P ( r t ( 1 ) , r t ( 2 ) , r t ( 3 ) | s t , s t 1 , , s t log 2 ( M ) ) = 1 2 π σ i = 1 k Δ i , t 2 σ 2 .
(33)

Δ i,t can be determined by minimizing the receiver equations such that

Δ 1 , t = r t ( 1 ) l = 0 L 1 h l g u ( 1 ) s t m g u ( 2 ) s ( t m ) 1 g u ( 3 ) s ( t m ) 2 2 Δ 2 , t = r t ( 2 ) l = 0 L 1 h l g v ( 1 ) s t n g v ( 2 ) s ( t n ) 1 g v ( 3 ) s ( t n ) 2 2 Δ 3 , t = r t ( 3 ) l = 0 L 1 h l g w ( 1 ) s t o g w ( 2 ) s ( t o ) 1 g w ( 3 ) s ( t o ) 2 2 ,
(34)

where

u = 1 if l = 0 , n , 2 n , 3 if l = 1 , n + 1 , 2 n + 1 , 2 if l = 2 , n + 2 , 3 n + 1 , ,

and v = ((u + 1) mod 3) + 1 and w = ((u + 2) mod 3) + 1. Also m, n and o starts at 0 and increases by 1 each time uncoded symbols from the previous time instant are used to create the coded symbol interfering with the current received symbol such that

m = 0 if l = 0 1 if l = 1 , 2 , 3 2 if l = 4 , 5 , 6 3 if l = 7 , 8 , 9 ,
n = 0 if l = 0 , 1 1 if l = 2 , 3 , 4 2 if l = 5 , 6 , 7 3 if l = 8 , 9 ,
o = 0 if l = 0 , 1 , 2 1 if l = 3 , 4 , 5 2 if l = 6 , 7 , 8 3 if l = 9 .

Finally, since there are always only two equiprobable codewords that can follow each codeword, P(s t ) = 0.5. Therefore,

ω j i , t ( S j , t 1 , S i , t )= 1 2 2 π σ i = 1 k Δ i , t 2 σ 2 ,
(35)

which completely describes the transition from state S j,t − 1 to S i,t .

The model derived for the NI-JED without interleaving can be used to jointly equalize and decode BPSK modulated coded information transmitted through a multipath channel with CIR length L, where the convolutional encoder has constraint length K and the code rate is R c  = k/n = 1/3. This model can be extended for higher order modulation alphabets, larger encoder constraint lengths, and different code rates. f

5.1.4 Computational complexity

The computational complexity is determined by counting the number of computations performed for each received data block, and expressed in terms of the uncoded block length N u , the CIR length L and the encoder constraint length K and the modulation alphabet size M. The computational complexity of the NI-JED without interleaving, for the MLSE and MAP algorithms, is determined by

C C M LSE =O(8KL N u M Q + ( K 1 ) )
(36)

and

C C M AP =O(2 N u M ( Q + ( K 1 ) (8KL+6)).
(37)

Figure 6 shows the normalized computational complexity g of this joint equalizer and decoder, employing the MLSE algorithm, for a CIR length of L = 2 to L = 10, constraint lengths K = 2, K = 4, and K = 16, and modulation alphabet sizes of M = 2, M = 4, M = 16, and M = 64. Figure 7 shows the complexity of employing the MAP algorithm for the same parameters, where the respective complexity curves are only slightly higher than their corresponding MLSE complexity curves in Figure 6. It is clear that the computational complexity grows exponentially with an increase in channel memory, encoder constraint length, and modulation alphabet size, and it should be clear that computational complexity for long channel memories and large encoder constraint lengths is too high for feasible implementation.

Figure 6
figure6

Non-iterative MLSE joint equalizer/decoder normalized computational complexity (without interleaver). Blue circle: M = 2,K = 2; Blue square: M = 2,K = 4; Blue diamond: M = 2,K = 6; Red circle: M = 4,K = 2; Red square: M = 4,K = 4; Red diamond: M = 4,K = 6; Green circle: M = 16,K = 2; Green square: M = 16,K = 4; Green square: M = 16,K = 6; Black diamond: M = 64,K = 2; Black circle: M = 64,K = 4; Black square: M = 64,K = 6.

Figure 7
figure7

Non-iterative MAP joint equalizer/decoder normalized computational complexity (without interleaver). Blue circle: M = 2,K = 2; Blue square: M = 2,K = 4; Blue diamond: M = 2,K = 6; Red circle: M = 4,K = 2; Red square: M = 4,K = 4; Red diamond: M = 4,K = 6; Green circle: M = 16,K = 2; Green square: M = 16,K = 4; Green square: M = 16,K = 6; Black diamond: M = 64,K = 2; Black circle: M = 64,K = 4; Black square: M = 64,K = 6.

5.2 Block interleaving

In [9], it was demonstrated that equalization and decoding can be performed jointly by transforming the convolution decoder trellis into a super-trellis, and then using this super-trellis to perform equalization while decoding. This is a novel idea in the sense that all the available information is processed as a whole, and there is no exchange of information between independent subunits. This approach achieves optimal performance, because all calculations on the super-trellis are performed with complete information. The only limitation is that the interleaver has to be a block interleaver and that this interleaver has a certain depth limit due to the exponential relationship between the interleaver depth and the computational complexity.

Contrary to this approach, turbo equalization makes use of two independent subunits, namely a MAP equalizer and a MAP decoder, with each unit being supplied with information regarding the decisions made by the other unit [35]. This results in assumptions and estimations being made by the respective subunits based on incomplete information, which in turn results in suboptimal calculations during subsequent iterations, ultimately leading to suboptimal performance. Only by iteratively exchanging extrinsic information between the equalizer and decoder, where this information is used as prior information on the calculations in the next iteration, can the performance be increased. However, the turbo equalizer is not limited by the structure of the interleaver, since interleaving and deinterleaving are performed during each turbo iteration.

It was shown in [9] that the NI-JED performs optimally and therefore outperforms the turbo equalizer, but its computational complexity grows unimaginably as the interleaver depth and the CIR length increase. Despite the excellent performance of the NI-JED, it is not a viable solution for practical systems. Although the computational complexity of a conventional turbo equalizer (CTE) is not as high, it is still exponentially related to the encoder constraint length, as well as the channel memory length, but it is not influenced by the structure of the interleaver.

In this section, this author attempts to derive a general model for the NI-JED proposed in [9], which can be presented as a function of encoder constraint length, interleaver depth, and channel memory length. Knickenberg et al. [9] were very vague as to how the algorithm functions. After explaining the effect of the interleaver on the coded information bits, and the subsequent effect after passing the information through a multipath channel, they simply show that the received symbols contain the uncoded information bits, and state that the MAP algorithm is “invoked”. Nothing is said about the fact that the received symbols have to be deinterleaved, nor is it explained how the probabilities between state transitions are determined. The authors of this paper therefore present the NI-JED for various interleaver depths and then derive a general model.

Suppose a communication system encodes a source bit sequence s of length N u with a rate R c  = k/n = 1/3, constraint length K = 3, convolutional encoder with generator polynomials g 1 = 4 (1002), g 2 = 6 (1102), and g 3 = 3 (0112) in order to produce a coded bit sequence c of length N c  = N u /R c , which is interleaved using a block interleaver, BPSK modulated, and transmitted through a multipath channel with a CIR h = {h 0,h 1} of length L = 2. The encoder produces coded bits c t ={ c t ( 1 ) c t ( 2 ) c t ( 3 ) } from the uncoded bit s t .

5.2.1 Interleaver depth: D=n=3

When using an n × N u interleaver, as shown in Figure 8, the coded sequence

c = c 1 ( 1 ) , c 1 ( 2 ) , c 1 ( 3 ) , c 2 ( 1 ) , c 2 ( 2 ) , c 2 ( 3 ) , , c N u 1 ( 1 ) , c N u 1 ( 2 ) , c N u 1 ( 3 ) , c N u ( 1 ) , c N u ( 2 ) , c N u ( 3 ) ,

is transformed to

c = c 1 ( 1 ) , c 2 ( 1 ) , , c t 1 ( 1 ) , c N ( 1 ) c 1 ( 2 ) , c 2 ( 2 ) , , c t 1 ( 2 ) , c N ( 2 ) , c 1 ( 3 ) , c 2 ( 3 ) , , c t 1 ( 3 ) , c N ( 3 )
Figure 8
figure8

n × N u interleaver.

before transmission, grouping all the first, second, and third encoder output bits together after interleaving. During transmission the interleaved coded symbols travel through a multipath channel h = {h 0,h 1} of length L=2 and are received, as shown in the graphical model in Figure 9.h

Figure 9
figure9

Graphical model for a system with a rate R c  = 1/3 convolutional encoder, a 3 × N u block interleaver and L = 2 .

The noiseless received symbols can therefore be expressed in terms of the interleaved coded symbols

r t ( 1 ) = c t ( 1 ) h 0 + c t 1 ( 1 ) h 1 r t ( 2 ) = c t ( 2 ) h 0 + c t 1 ( 2 ) h 1 r t ( 3 ) = c t ( 3 ) h 0 + c t 1 ( 3 ) h 1 ,
(38)

for t = 1,2,…,N u , which in turn can be expressed in terms of the uncoded bits

r t ( 1 ) = s t h 0 + s t 1 h 1 r t ( 2 ) = ( s t s t 1 ) h 0 + ( s t 1 s t 2 ) h 1 r t ( 3 ) = ( s t 1 s t 2 ) h 0 + ( s t 2 s t 3 ) h 1 .
(39)

From (39) it is clear that {s t ,s t−1,s t−2,s t−3} is contained in r={ r t ( 1 ) , r t ( 2 ) , r t ( 3 ) }. Therefore, the received symbol sequence r must be deinterleaved before joint equalization and decoding can commence.i Deinterleaving r will result in the sequence

r = r 1 ( 1 ) , r 2 ( 1 ) , , r N u 1 ( 1 ) , r N u ( 1 ) , r 1 ( 2 ) , r 2 ( 2 ) , , r N u 1 ( 2 ) , r N u ( 2 ) , r 1 ( 3 ) , r 2 ( 3 ) , , r N u 1 ( 3 ) , r N u ( 3 ) ,

being transformed to

r = r 1 ( 1 ) , r 1 ( 2 ) , r 1 ( 3 ) , r 2 ( 1 ) , r 2 ( 2 ) , r 2 ( 3 ) , , r N u 1 ( 1 ) , r N u 1 ( 2 ) , r N u 1 ( 3 ) , r N u ( 1 ) , r N u ( 2 ) , r N u ( 3 ) ,

from which it is clear that all r={ r t ( 1 ) , r t ( 2 ) , r t ( 3 ) } are adjacent and can be used to estimate s t using a trellis-based algorithm, assuming {s t − 1,s t − 2,s t − 3} is known from previous states.

The NI-JED uses the sum-product algorithm,j as explained in Section 2.2.1, and the number of super-trellis states are determined by the interleaver depth (D), the channel memory length (L − 1) as well as the number of encoder memory elements (K − 1). Since BPSK modulation is used, the number of states in the super-trellis is M = 2(D/n)(L − 1) + (K − 1)[9]. Therefore, M = 8. The number of states can also be determined by the range of source bits contained in (39) minus one, since the trellis has to model state transitions {s t − 1,s t − 2,s t − 3} to {s t ,s t − 1,s t − 2}, which when combined yields {s t ,s t − 1,s t − 2,s t − 3}. Therefore, the number of states can also be determined by M = 24 − 1= 8.

The task of the NI-JED is to produced the MAP of each uncoded source symbol at time t from the deinterleaved received symbol sequence, or

P( s t |r)= s t : t t N c P(s|r).
(40)

The probability of a transition from state S j,t − 1 to state S i,t , where i,j = 1,2,…,M is given by

ω j i , t ( S j , t 1 , S i , t )=P( r t ( 1 ) , r t ( 2 ) , r t ( 3 ) | S j , t 1 , S i , t )P( s t ),
(41)

where the symbols associated with states S j,t − 1 ({s t − 1,s t − 2,s t − 3}), and S i,t ({s t ,s t − 1,s t − 2}) can be combined so that

ω j i , t ( S j , t 1 , S i , t )=P( r t ( 1 ) , r t ( 2 ) , r t ( 3 ) | s t , s t 1 , s t 2 , s t 3 )P( s t ),
(42)

where

P ( r t ( 1 ) , r t ( 2 ) , r t ( 3 ) | s t , s t 1 , s t 2 , s t 3 ) = 1 2 π σ i = 1 n Δ i , t 2 σ 2 .
(43)

Δ i,t can be determined by minimizing the receiver equations in (39) such that

Δ 1 , t = r t ( 1 ) l = 0 L 1 h l ( s t l ) 2 Δ 2 , t = r t ( 2 ) l = 0 L 1 h l ( s t l s ( t 1 ) l ) 2 Δ 3 , t = r t ( 3 ) l = 0 L 1 h l ( s ( t 1 ) l s ( t 2 ) l ) 2 ,
(44)

where the calculation of each Δ i,t , i = 1,2,…,n is determined by the structure of the encoder. Finally, since there are only two equiprobable bits that can be transmitted, P(s t ) = 0.5. Therefore,

ω j i , t ( S j , t 1 , S i , t )= 1 2 2 π σ i = 1 n Δ i , t 2 σ 2 ,
(45)

which completely describes the transition from state S j,t − 1 to S i,t .

5.2.2 Interleaver depth: D = 2n = 6

In the above explanation, the depth of the block interleaver was D = n. It is subsequently assumed that an interleaver with depth D = 2n is used. Applying the 2n × N u /2 interleaver in Figure 10 to the coded symbols

c = c 1 ( 1 ) , c 1 ( 2 ) , c 1 ( 3 ) , c 2 ( 1 ) , c 2 ( 2 ) , c 2 ( 3 ) , , c N u 1 ( 1 ) , c N u 1 ( 2 ) , c N u 1 ( 3 ) , c N u ( 1 ) , c N u ( 2 ) , c N u ( 3 ) ,

transforms it to

c = { c 1 ( 1 ) , c 3 ( 1 ) , , c N u 1 ( 1 ) , c 1 ( 2 ) , c 3 ( 2 ) , , c N c 1 ( 2 ) , c 1 ( 3 ) , c 3 ( 3 ) , , c N c 1 ( 3 ) , , c 2 ( 1 ) , c 4 ( 1 ) , , c N c ( 1 ) , c 2