Decoding with Unequal Error Protection applied to GSM ... - CiteSeerX

10 downloads 0 Views 241KB Size Report
punctured in order to provide unequal error protection. (UEP). They are iteratively decoded by the MAP al- gorithm and other soft-in/soft-out decoders. In a case.
"Turbo" Decoding with Unequal Error Protection applied to GSM speech coding

Frank Burkert1, Giuseppe Caire2, Joachim Hagenauer1, Thomas Hindelang1 and Guenther Lechner1 1 Department of Communications Engineering, Technical University of Munich,

Arcisstr. 21, D-80290 Munich, Germany

2 Dipartimento di elettronica, Politecnico di Torino,

Corso Duca degli Abruzzi 24, I-10129 Torino, Italy

Abstract | Two-dimensional, systematic and parallel concatenated convolutional codes are compatibly punctured in order to provide unequal error protection (UEP). They are iteratively decoded by the MAP algorithm and other soft-in/soft-out decoders. In a case study we replace the current GSM speech channel coding scheme by this new "turbo" scheme leaving all the interleaver interfaces and the total delays unchanged. It is shown that for independent and frequency-hopped Rayleigh channels and other standard GSM channels, the frame error rate and the residual BER of the class 1a bits drop by a factor of 1.4 and 2.0 respectively. Likewise the carrier to interference ratio (CIR) can be lowered by 0.8 dB at the same performance level. Contrary to the common belief that "turbo" codes gain only with large interleavers, we have shown that together with UEP they allow gains also with the modest interleaver sizes of the GSM scheme. All this o ers a potential for a future evolutionary improvement of the GSM channel coding scheme. I. Introduction

Recently decoding of two and more dimensional productlike codes has been proposed with iterative ("turbo") decoding [3] following earlier ideas in [7] [9]. These codes are able to achieve a performance rather close to Shannon's bound, at least for large interleavers. Although channel coding for the GSM full and half rate speech transmission is standardized, we found it interesting to perform a case study where we replace the convolutional codes used in the GSM full rate speech system by those new codes and where we employ an iterative decoder. Hereby we keep all the frame and delay requirements of the GSM scheme creating a fully compatible version. A future new channel code design for an evolutionary GSM system (e.g. GSM enhanced speech codecs and data channels) should consider "turbo"  Frank Burkert, Department of Communications Engineering, Technical University of Munich, Arcisstrasse 21, D{80290 Munich, Germany, phone: ++49 89 289 25010, fax: ++49 89 289 23490, email: [email protected]{Technik.TU{Muenchen.DE

codes if they proof to work at a lower CIR than the standard codes. In order to apply "turbo" codes/decoders for GSM several points have to be considered:  Unequal error protection: Since the GSM bits are unequally sensitive to errors, three, better four to ve di erent protection requirements (UEP) should be incorporated by rate compatible puncturing, while leaving the total number of speech bits and channel bits unchanged. This generates the need for UEP "turbo" codes of which an example will be shown.  A priori data information: In some applications a priori or a posteriori information is available for the information bits which makes source-controlled channel decoding possible [10]. This information can easily be used by the "turbo" decoding scheme at no extra complexity.  Complexity: For iterative decoding "soft-in/softout" decoders are needed which accept and deliver not only hard decisions but also reliabilities. In the current paper we use the MAP algorithm [11] which is the optimum, but it is known that suboptimal solutions with lower complexity such as SOVA [12] and LOGMAP are close in performance. Furthermore, a stop criterion can be used to reduce the number of iterations on average.  Performance measurement: In a GSM decoder it is not only the BER which is important, but also the undetected bit error rate of a frame indicator and the amount of the detected bad frames. We tried to use realistic criteria as currently used by GSM receiver designers. II. "Turbo" Codes and Iterative Decoding

"Turbo" codes consist of a parallel concatenation [4] of N

the component encoders. For the sake of clarity, in the following we restrict ourselves to the case N = 2 (generalizations are straightforward). Let C0 and C1 denote two binary codes with parameters (n0 ; k) and (n1; k), respectively, and let C0 : GF(2)k ! GF(2)n0?k and C1 : GF(2)k ! GF(2)n1 ?k denote the linear maps de ning their systematic encoders. Let u 2 GF(2)k denote a binary k-vector (input vector) and let  be a permutation of k elements, which de nes the interleaving rule of an interleaver of size k. The "turbo" code P (C0 ; C1; ) based on the component codes C0 and C1 and on the interleaver  can then be de ned as

case of no termination, t = 0). R can be suitably increased by puncturing the redundancy symbols. A puncturing pattern for P (C0 ; C1; ) can be represented by a binary vector p = (pu ; p1; p2) where zeroes and ones correspond to punctured and unpunctured symbols, respectively. The subvectors pu, p0 and p1 correspond to u, C0 (u) and C1 ((u)), respectively. Experimental results show that information bits should not be punctured. Let w() denote the Hamming weight, then the rate of the resulting punctured "turbo" code is (3) R0 = k + w(pk ?) +t w(p ) :

P (C0 ; C1; ) = x = (u; C0(u); C1((u))) :

Uniform puncturing, which consists of uniformly distributing the punctured positions among the redundancy symbols, leads to "turbo" codes with almost equal error protection (EEP) for all the information symbols.



u 2 GF(2)k ;

(1) where C0 (u) and C1 ((u)) denote the redundancy vectors obtained by applying the systematic encoders C0 and C1 to the input vector u and to the interleaved input vector (u). When C0 and C1 are implemented by a nite-state machine (e.g. in the case of convolutional component codes), we have \trellis termination" if the state sequences of the component encoders begin and end in a known state. This can be obtained by constraining some input symbols, in some xed positions of u, to be linearly dependent on the others. The number of termination symbols and their positions depend on the method used for termination and on the encoders' memory (see [5],[6] and references therein). In the case of termination, "turbo" codes are binary linear systematic block codes. Otherwise they are cyclostationary convolutional codes, whose trellis is periodic of period k. However, they can still be decoded on a block-by-block basis, with a slight performance decrease. For practical interleaver sizes (say k > 100), maximumlikelihood (ML) decoding of "turbo" codes is unfeasible. However, the feedback decoding algorithm proposed in [3] approximates closely ML decoding performance as the number of decoding iterations increases, within a limited complexity. This algorithm is based on alternately decoding the component codes and passing to the next decoding stage the extrinsic part of the soft estimates of the maximum a posteriori (MAP) symbol by symbol decisions produced by soft-output decoders matched to the component codes. Optimal soft-output decoding can be exactly implemented by the BCJR MAP algorithm [11] or can be approximated by the SOVA algorithm [12], which is computationally more ecient [8]. III. Unequal Error Protection with "Turbo" Codes

The rate of a "turbo" code P (C0 ; C1; ) (see (1)) is R = n +k n? t? k ; 0 1

(2)

0

1

Suppose now that the k ? t information symbols in u are partitioned into c classes according to some importance criterion. Let k` denote the size of each class, so that Pc k = k ? t. Without loss of generality, we enumerate ` `=1 the classes in a decreasing order of importance. Moreover, we assume k1 < k2 <    < kc, as it is usual in speech and video coding applications. The intuitive idea for achieving UEP is the following: we should increase the number of redundancy symbols correlated with the most important input symbols and reducing the redundancy correlated with the least important symbols, while keeping constant the total redundancy. Given C0, C1 and the parameters k, t, R0 and k1; k2; : : :; kc, the joint optimization of the location of the importance classes in u, of  and of p, so that the BER of each class meets its target requirement, is a hopelessly complex task. In the following, we propose a pragmatic but e ective way to UEP based on matching the puncturing pattern to the interleaver. For a better understanding we consider the familiar "turbo" coding scheme where C0 and C1 are recursive systematic convolutional (RSC) codes of rate 1=m (generalizations are straightforward). 1. Arrange u in an array U, and let  be a permutation of the array elements. 2. Each importance class ` is associated to a partial rate r` , de ned as the inverse of the average number of "turbo" encoded output symbols per input symbol belonging to this class. Since the "turbo" encoder outputs 2m ? 1 symbols for each input symbol, r` cannot be smaller than 1=(2m ? 1). Then, we need to solve 

2m?1  r`  1 P c k =r = (k ? t)=R0 `=1 ` ` 1

for all ` = 1; 2; : : :; c

(4) The choice of r1; r2; : : :; rc is not unique, so that we have some degrees of freedom which can be exploited to create the desired amount of UEP.

(i; j) of size k1; : : :; kc, respectively. The input symbols belonging to the `-th importance class are assigned to the positions of S` 1. 4. Finally, for each ` = 1; 2; : : :; c, a puncturing pattern realizing the partial rate r` is associated with the positions of S` . The pattern for each subset S` can be either uniform on the positions of S` or non-uniform. The choice of the pattern for each S` is an additional degree of freedom. Design step 4 is the most critical one, since the resulting UEP depends on the sets S` and not only on the values r` . The position subsets must be chosen in accordance with the interleaver structure, otherwise the e ect of the "turbo" code is to average the BERs of the di erent classes, rather than separating them. A good choice of S` correlates the input symbols belonging to class ` to the relative "turbo" encoded redundancy symbols. For instance, if C0 and C1 are RSC codes and if  is the classical row-column block interleaver, we need to choose S` to form long sequences of class ` symbols both row-wise and column-wise. IV. GSM{TCH/FS Coding with Convolutional and "Turbo" Codes

As it is known from several subjective hearing tests, the data bits at the output of the GSM speech encoder are not equally important. Therefore the 260 data bits per frame for the full rate trac channel for speech (TCH/FS) are subdivided into three classes. The so-called class 1a comprises the 50 most important data bits, whereas class 1b consists of 132 less important bits. The remaining 78 data bits of least subjective importance are assigned to class 2. The GSM channel coding (Fig. 1) was designed to ensure a 50

CRC

53

Conv. Encoder

132

Speechencoder

378

Reordering

456

Interleaver

Channel

"Turbo" Encoder 78

Fig. 1: Channel coding of the two compared systems

tailor-made error protection for each class of bits according to their respective signi cance. Firstly class 1a is encoded by a weak error detecting (53,50,2) CRC code. The resulting 53 bits are reordered together with the bits of class 1b and then passed with 4 tail bits to a 16 state rate 1/2 convolutional encoder. This leads to an overall code rate of 260=456  0:57. 1 In the case of trellis termination, the t termination bits can be

treated as an additional class, assigned to an additional position subset Sc+1 .

rors occuring in class 1a. Therefore for all frames where the CRC indicates an error the decisions of the channel decoder are replaced by decisions which are derived from those of the last non-erroneous frame. Applying "turbo" codes to the GSM standard means to replace only the convolutional code by a "turbo" code (Fig. 1), where the UEP is realized by combining interleaving and puncturing. In this case the reordering maps the classes described above onto the di erent sets S` as shown in Tab. 1. These sets are now arranged in the arclass 1a set S` partial rate

1

S

 0 368 :

CRC S

2

0:5

class 1b S

3

 0 545 :

Tab. 1: Sets and partial rates for the "turbo" code (As rate 1=2 convolutional codes are used for both component codes, we obtain 2 parity bits per information bit)

ray U and the puncturing rules are determined according to the desired partial rates. Fig. 2 gives a proposal which achieved the best results in our simulations. We chose a non symmetric block interleaver because of the disadvantageous frame size of 50 + 3 + 132 = 185 bits. The proposal was developped following the pragmatic design rules described below:  It is well known that the rst bits in the sequence of each component code are better protected than the others. Therefore the bits of set S1 are arranged in the left upper corner of the array U.  Furthermore the partial rate of set S1 is about 0:368, i.e. almost no parity bits are punctured.  In order to increase the number of available parity bits we omitted the termination of both trellises. Thus, the bits at the end of the sequences of both component codes are less protected. These positions are lled with data bits of set S3 .  Additionally the parity bits corresponding to these data bits are totally punctured. To achieve the partial rate of about 0:545 a non uniform puncturing rule was applied.  The 3 bits of set S2 are arranged in positions between S1 and S3 . Our proposed arrangement is slightly di erent compared to the above design rules because of some appropriate optimizations we applied. The bits of class 2 are left uncoded as speci ed in the GSM standard.

1 1 1 1 1 1 1 1 3 3 3 3 3 1

1 1 1 1 1 1 1 3 3 3 3 3 3 3

1 1 1 1 1 1 3 3 3 3 3 3 3 3

1 1 1 1 1 3 3 3 3 3 3 3 3 3

1 1 1 1 3 3 3 3 3 3 3 3 3 3

1 1 1 2 3 3 3 3 3 3 3 3 3 3

1 3 2 3 3 3 3 3 3 3 3 3 3 3

1 3 3 3 3 3 3 3 3 3 3 3 3 3

1 3 3 3 3 3 3 3 3 3 3 3 3 3

1 3 3 3 3 3 3 3 3 3 3 3 3

1 3 3 3 3 3 3 3 3 3 3

1 3 3 3 3 3 3 3 3 3 3

1 3 3 3 3 3 3 3 3 3

sive systematic convolutional codes with generators G1=7 and G2=5, where G1 describes the feedback. 6 decoding iterations have been performed using the full MAP algorithm [11]. Compared to the convolutional code used in 0

10

GSM class 1a (total): Rayleigh fading, burstwise TURBO class 1a (total): stat. independent GSM class 1a (accepted): GSM class 1a (total) TURBO class 1a (accepted):

TURBO class 1a (total) GSM class 1a (accepted) TURBO class 1a (accepted)

-1

10

bit error rate

1 1 1 1 1 1 1 1 2 3 3 3 1 3

-2

10

0.9 dB

0.8 dB -3

10

-4

10

0.0

1.0

2.0

3.0

4.0

5.0

6.0

7.0

Eb/N0 [dB]

Set S

Puncturing p = (1,1,1)

p = (1,1,0)

p = (1,0,1)

p = (1,0,0)

Fig. 2: Array U showing the arrangement and puncturing of the sets S`

The resulting frame of size 456 bits is nally passed to the GSM interleaver which remains unchanged. V. Simulation Results for GSM Channels

To give a realistic comparison of the two coding schemes a typical channel model for mobile radio communications is required. In the GSM standard one coded speech frame (456 bits) is interleaved onto eight time slots. For each slot we assumed constant fading amplitudes and uncorrelated Rayleigh fading between two time slots. This is a good approximation for a GSM system using ideal frequency hopping (i.e. di erent frequencies for each time slot) on a typical urban channel at low speed (e.g. TU3 or TU50). The decoding is improved if reliability values of the channel are provided for each symbol. In the simulations we assumed ideal channel state information (CSI). As this work is focussed on channel coding and as we are not interested in spectral eciency, binary phase shift keying (BPSK) modulation was used for comparison. Additionally the continuous time channel model can be reduced to a discret one, if an ideal demodulator is assumed.

Fig. 3: Bit error rate for class 1a, recursive systematic convolutional component codes (4 states, rate 1/2, G1 =7 and G2 =5, MAP decoding, 6 iterations)

the GSM standard, the performance of the "turbo" coding scheme is better despite small frame sizes. The unequal error protection was designed in such a way that the whole attainable coding gain is given to class 1a, whereas the error protection for class 1b should remain comparable to the GSM standard. Thus, we were able to achieve with our proposal for class 1a a coding gain of 0.9 dB at a bit error rate of Pb =5  10?3 (Fig. 3). As the data bits of class 2 are transmitted uncoded in both systems, the results do not di er for this class. Due to the previously described CRC code the decoded frames can be classi ed into rejected and accepted frames, depending on whether the CRC indicates an error or not. In order to reconstruct a speech signal of good quality, both the frame error rate (FER) and the bit error rate of the accepted frames (Pba) have to be considered. A high frame error rate leads to speech echoes whereas a high Pba generally causes more serious disturbances in the reconstructed speech signal. Fig. 3 depicts the bit error rates of class 1a for the investigated systems. At a bit error rate of 5  10?3 a coding gain of about 0.8 dB can be observed for the accepted frames. At a typical operating point for mobile communications with 4% of rejected frames the frame error rate is improved by 0.4 dB (Fig. 4). Owing to the burstwise interleaving the coding gain shown in Fig. 3 is only moderate compared to that obtained in simulations with fully interleaved Rayleigh fading channels (i.e. every symbol is in uenced by statistically independent fading amplitudes). There a coding gain of about 1.2

average a considerable reduction of the decoding complexity leading to a more economical exploitation of the available energy resources.

0

10

Rayleigh fading, burstwise stat. independent

frame error rate

GSM TURBO

Of course, we do not aim at changing the current GSM standard, but for current and future standardizations (e.g. GSM enhanced speech codecs and data channels) "turbo" decoding should seriously be considered, because it is a very powerful and exible alternative to conventional coding schemes like standard convolutional coding.

-1

10

0.4 dB

-2

10

0.0

1.0

2.0

3.0

4.0

5.0

6.0

7.0

8.0

Eb/N0 [dB]

Fig. 4: Frame error rate, recursive systematic convolutional component codes (4 states, rate 1/2, G1 =7 and G2 =5, MAP decoding, 6 iterations)

dB for the FER and for Pba of class 1a can be achieved. Thus, even further improvements can be attained by applying larger interleavers. An application, which probably takes advantage of this fact, may be the 9.6 kBit/sec GSM data channel (TCH/F9.6) [1], where each frame is mapped onto 22 time slots instead of only 8 time slots as for the TCH/FS. VI. Conclusions and Suggestions

Contrarily to the common belief that "turbo" codes work only well with huge interleavers, we have shown that in combination with our pragmatic UEP scheme improvements are attainable even for short frames compared to standard coding schemes. In the case of the TCH/FS a more careful investigation of the bit sensitivities may lead to a more sophisticated design of the UEP scheme as shown in Fig. 2, because the variety for the puncturing of the coded symbols would then be much greater. Thus, an even greater decoding gain could be expected. For data applications, e.g. for the GSM 9.6 kbit/s data channels, the processing delay is generally less important than for speech services. Therefore larger interleavers can be applied which will result in a better performance in terms of bit error rate and FER. Futhermore a soft output is inherent to the "turbo" decoder which can advantageously be used for error concealment if the iterations are stopped by a suitable stop criterion. Another advantage of the "turbo" coding scheme is that it supplies the application engineer with various design options related to delay, complexity and performance. As the "turbo" code is systematic the receiver could use the information bits directly and skip decoding in case of transmission without interference. Only if the channel degrades and the CRC indicates errors, a decoding of the received

References [1] GSM Recommendation 05.03, \Channel Coding," Draft prETS 300 575, second edition, version 4.2.0, March 1995. [2] GSM Recommendation 05.05, \Radio transmission and reception," Draft prETS 300 575, second edition, version 4.12.0, August 1995. [3] C. Berrou, A. Glavieux and P. Thitimajshima, \Near Shannon limit error-correcting coding and decoding: turbo-codes (1)," Proc. IEEE International Conference on Communication (ICC), Geneva, Switzerland, May 1993, pp. 1064-1070. [4] S. Benedetto, E. Biglieri, G. Caire, G. Montorsi and G. Taricco, \Study on Advanced Coding Techniques Applied to the Transmission of Digital Speech and Video Signals," European Space Agency ESA-ESTEC Purchase Order No. 141252, April 8, 1994. [5] O. Joersson, H. Meyr, \Terminating the trellis of turbo-codes," Electronic Letters, Vol. 30, No. 16, August 1994, pp. 1285-1286. [6] W. J. Blackert, E. K. Hall and S. G. Wilson, \ `Turbo' code termination and interleaver conditions," Electronic Letters, Vol. 31, No. 24, 1995, pp. 2082-2083. [7] J. Lodge, R. Young, P. Hoeher, and J. Hagenauer, \Separable MAP ` lters' for the decoding of product and concatenated codes," Proc. IEEE International Conference on Communication (ICC), Geneva, Switzerland, May 1993, pp. 1740-1745. [8] C. Berrou, P. Adde, A. Ettiboua, and S. Faudeil, \A Low Complexity Soft-Output Viterbi Decoder Architecture," Proc. IEEE International Conference on Communication (ICC), Geneva, Switzerland, May 1993. [9] G. Battail, M. C. Decouvelaere and P. Godlewski, \Replication decoding," IEEE Transactions on Information Theory, vol. IT25, May 1979, pp. 332-345. [10] J. Hagenauer, \Source-controlled channel decoding," IEEE Transactions on Communications, vol. 43, no. 9, September 1995, pp. 2449-2457. [11] L. R. Bahl, J. Cocke, F. Jelinek and J. Raviv, \Optimal decoding of linear codes for minimizing symbol error rate," IEEE Transactions on Information Theory, vol. IT-20, March 1974, pp. 284-287. [12] J. Hagenauer and P. Hoeher, \A Viterbi algorithm with softdecision outputs and its applications," Proc. IEEE GLOBECOM '89, Dallas, Texas, November 1989, pp. 1680-1686.