Sequential Decoding of Tailbiting Convolutional Codes for Packet Data on Rayleigh Fading Channels Pal Orten Communication Systems Group Department of Signals and Systems, Chalmers University of Technology, phone: +46 31 772 1758, fax: +46 31 772 1748, email:
[email protected] SE-412 96 Goteborg, Sweden.
Abstract | Sequential decoding of long constraint length convolutional codes is proposed for hybrid automatic repeat request packet data transmission on a Rayleigh fading channel, and computational complexity (the timeout condition) is applied for error detection. In order to improve the throughput, tailbiting codes are used. Furthermore, a method for estimating the initial state of the encoder is described, and for most packet lengths this scheme yields negligible loss compared to the case with a known tail. Although interleaving must be performed over one packet only, high throughput is maintained also for correlated fading. A throughput of 0.90 at a signal to noise ratio per coded bit of 15 dB shows this coding scheme to be competitive for wireless packet data services. Keywords | Sequential decoding, packet data, automatic repeat request (ARQ), tailbiting, Fano algorithm, Rayleigh fading, wireless communication.
U
I. Introduction
the throughput, and to overcome this problem tailbiting convolutional codes have been proposed [7]. With tailbiting the last part of the data packet is used as the initial state of the encoder. In this way information bits are used to terminate the encoding process and no redundant ush bits are added. The disadvantage of this scheme is that the initial state is not known and needs to be estimated by the decoder. Dierent such decoders are described in [7{10]. The conventional ARQ schemes described above require CRC (Cyclic Redundancy Check) bits in order to determine whether the packet contained errors or not. These check bits carry no information and they therefore reduce the system throughput. By using sequential decoding of long constraint length convolutional codes the CRC bits are not needed. This is because the computational load, or decoding time, depends on the channel quality. Decoding time can thus be used to indicate erroneous packets (timeout condition) [11{15], and high throughput is achievable. Due to the long constraint lengths necessary with sequential decoding, many tail-bits are needed to terminate the data block. The fractional rate loss (reduced throughput) caused be the many tail-bits is thus signi cant. By combining long constraint length tailbiting convolutional codes and sequential decoding it should therefore be possible to eliminate the loss due to the redundancy added by both CRC bits and tail-bits. It has previously been shown that long constraint length convolutional codes and sequential decoding is a good candidate for channel coding in wireless data transmission [16]. In this paper we therefore propose an algorithm for sequential decoding of long constraint length tailbiting convolutional codes, and show that the throughput can be quite high using such a coding scheme on a Rayleigh fading channel. The outline of this paper is as follows. Section II describes the basic concepts of sequential decoding and its application to packet data transmission. We then continue describing the principle of tailbiting, the tail estimation algorithm and the analysis in Section III. Section IV presents the results obtained, and conclusions are given in Section V.
P to now wireless communication systems have been designed primarily to support speech communication. As the penetration of mobile phones increases, users will expect to have access to other types of services as well. Third generation wireless systems must therefore provide a number of dierent services such as fax and image transmission, audio, Internet browsing and pure data transmission. These services demand a high degree of exibility from the system in general and the channel coding scheme in particular [1]. Since data based applications are likely to dominate future wireless systems, packet switched networks will be designed. Packet based systems allow for the use of automatic-repeat-request (ARQ) schemes to achieve close to error free transmission. Improved throughput is achieved when applying forward error correction (FEC) coding in addition to retransmission. Such schemes are called hybrid ARQ, and can be based on block or convolutional codes. Hybrid ARQ schemes using convolutional codes have been studied by a number of researchers for Gaussian and Rayleigh fading channels [2{6]. Convolutional codes are frequently proposed for use in wireless communication systems due to the Viterbi algorithm performing Maximum Likelihood (ML) decoding. In addition the Viterbi algorithm can easily utilize soft decisions. There is however, one major drawback with convolutional codes applied to packet transmission: a II. Sequential decoding for Packet Data number of tail-bits equal to the memory of the encoder is needed to terminate the encoding to make dierent packets Sequential decoding is a sub-optimum way of decoding independent of each other. Obviously, the tailbits reduce convolutional codes where only a fraction of the code tree
is searched. This gives a substantially lower average computational load than what we have using the Viterbi algorithm. However, for sequential decoding the number of computations is a random variable that depends on the channel conditions. When there is much noise on the channel, the decoder might therefore use much more time than on the average to decode a bit. It has been shown that the number of computations, C for sequential decoding is given by the Pareto distribution [17, p. 361] P (C L) < AL; ; (1) where A is some constant and is the Pareto exponent. The Pareto exponent is found from (see [17] or [18]) R = E0 () ; (2)
where R is the code rate and E0 () is the Gallager function, given by (see e.g. [18{20])
E0 () = ; log2
QX ;1 X q;1 r=0 k=0
P (k)P (rjk)
1
+1
!1+
;
(3)
where q is the number of input levels and Q is the number of output levels, P (k) denotes a priori probabilities and P (rjk) denotes the probability of receiving r given that k was transmitted. The decoder observes the total number of computations (or time) needed to decode a data packet, and if it exceeds a certain value the data packet will be declared in error and a retransmission is requested. This is known as the timeout condition. For an Lp -bit information packet, the probability of retransmission PR will then be the probability that the total number of calculations for the whole packet exceeds a certain maximum, given by ; ; PR Lp ACmax (4) where Cmax is the maximum number of computations allowed per information bit. Both [11] and [13] argue that a reasonable value for the maximum number of computations with ARQ is Cmax = 2. For a packet transmission system, the parameter of most interest is the system throughput. Assuming that each packet is ended by a known tail, the throughput equals
= NR L + L(Kp ; 1) ; (5) t p where R is the code rate, K is the constraint length of the code and Nt is the expected number of transmissions given by [21, p. 397]
Nt = 1 ;1P : R
(6)
It can be seen from the expression for the throughput (5) that if the constraint length is not very much smaller than the packet length, Lp , the fractional rate loss caused by the tail-bits will have signi cant impact on the throughput. Since the constraint lengths used with sequential decoding are rather high, there is a potential for improving the throughput by eliminating the tail.
III. Tailbiting with sequential decoding
The use of tailbiting convolutional codes is a technique for eliminating the overhead caused by a known tail. With tailbiting convolutional codes the last bits of the data packet are used as the initial state of the encoder. The initial state of the encoder is then not known to the decoder and has to be estimated. Dierent approaches to Viterbi decoding of tailbiting codes have been investigated in [7,9,10]. When applying tailbiting together with sequential decoding we have a problem somewhat similar to resynchronization after buer over ow in continuous transmission. Such a resynchronization algorithm is described in [22]. There are however some important dierences. First, we have a limited number of bits or samples equal to the coded packet length to aid the state estimation. In addition, all bits in the packet should be correctly decoded. With continuous transmission a few lost bits in connection with a block over ow may be tolerable, but can not be accepted in packet data transmission. With sequential decoding the constraint length is normally very high (typically 30-50). Trying all possible initial states is considered too complex for Viterbi decoding, and would be completely impossible with sequential decoding, because of the large number of states (equal to 2K ;1). To be able to resynchronize, or nd the initial state, one usually applies either systematic encoders, or a class of non-systematic encoders where the information bits are retrieved from addition of the coded bits, called Quick look-in encoders [23]. In the next section we propose an algorithm for decoding tailbiting codes produced by these two types of encoders. A. Tailbiting algorithm Since the initial state is given by the last information bits of the data packet, the coded data packet can be viewed as being circular. At the end of the data packet one can go on into the beginning of the packet as if the transmission is continuous. This also means that the decoding may start anywhere in the packet, and proceed until we are back at the starting point. As an estimate of the initial state we use the systematic bits, or the addition of coded bits for Quick Look-in codes, and start the decoding process. Fig. 1 describes the principles of the algorithm. If there were errors in the initial state estimate, the metric will not grow as it would with a correct starting state, and the decoding should stop. The decoder should then shift one sample further in the input buer and start decoding again. Ideally, when the systematic bits contain no errors the decoding process can continue around the \circular" packet. When coming back at the point where the decoding started the algorithm proceeds into the packet again. In this way the bits that are released will be more reliable. The decoder must be able to decide whether the starting state was correct, or whether the decoding should be terminated and continued at a new starting position in the input buer. This can be done by observing the metric growth as function of the number of computations. Metrics for the cases of (1) no noise, (2) noise and correct initial state
Start initial state search
First bit in packet 200
Last bit in packet Start decoding
No noise, correct state Noise, correct state Noise and incorrect state
150
Sliding window searching for initial state
metric value
100
50
0
−50
−100 0
End decoding
50
100
150
#computations
Fig. 1. Description of the tailbiting algorithm. After the search Fig. 2. The metric change as function of the number of computations for the cases (1) no noise, correct initial encoder state, for a correct initial state has succeeded, the decoding may start. (2) Ec =N0 = 5 dB and correct initial encoder state, and (3) Decoding is performed around the circle and into the packet again Ec =N0 = 5 dB and wrong initial encoder state. to produce reliable estimates.
and (3) noise and incorrect initial state for a Rayleigh fading channel are plotted in Fig. 2. We see that normally an incorrect initial state will cause the metric to be negative and decrease, and the decoder will not be able to proceed into the code tree. By comparing the metric to thresholds at given depths in the decoding process, a decision can be taken on whether the initial state was found or not. We can now formulate the detailed steps of the algorithm: 1. Place window on rst K ; 1 systematic soft decisions. 2. Make hard decision on the content of the window, and use these as the initial state. 3. Start decoding 4. If metric < 1 , where 1 < 0, then terminate decoding. If the decoding depth d < Lp shift the window one position and go to 2. 5. If > 2 and depth d d1 then the initial state is declared found. 6. Decode until d = d1 + d0 , where d0 > Lp + dD , dD is the decision depth. 7. Release the Lp decoded bits prior to d ; dD , and arrange them in correct order.
is
PSE =
Lp X i=K ;1
K ;1 (Lp ; i) (1 ; p)i pLp;i ;
(7)
where p is the probability of channel bit error and the factor K ;1 (Lp ; i) is the number of combinations such that there are K ; 1 consecutive correct bits and at the same time a total of i correct bits among the Lp bits. The factor k (n; l) can be calculated recursively as k X
n ; k k (n; l) = k (n ; i; l ; i + 1) + l ; k ; i=1
(8)
where 0 k l n must be ful lled otherwise k (n; l) = 0. Furthermore we have the two stopping criteria k (i; i) = 1 and k (m; k) = m ; k + 1. Justi cation of this recursive expression is given in the Appendix. The total probability of retransmission will be
PRT < PR + 1 ; PSE :
(9)
We have an inequality because the decoding might succeed even with a few erroneous bits in the initial state, and initial state estimation failure and decoding failure (timeObviously, the method described above requires that out) may coincide. Since the tail-bits are eliminated the there are K ; 1 consecutive error free bits found by hard throughput is given by decision on the systematic part of the received sequence. This is true with rather high probability for moderate- to T = NR ; (10) long data packets, but not for short packets. We are theretT fore likely to observe a loss for short packets due to failed initial state estimation. The probability of nding K ; 1 where NtT is the expected number of transmission with number of consecutive correct bits in a Lp -bit long packet tailbiting and is calculated equivalently to that of (6). B. Throughput with tailbiting
0.5
0.5
0.48
0.49
0.46
0.48 Throughput η
0.44
0.47
Throughput η
0.42 0.4
0.46
0.38
Tailbiting, perfect state est. − analytical Tailbiting, perfect state est. − simulated Tailbiting, est. initial state − analytical Tailbiting, est. initial state − simulated Known tail (and initial state) − analytical Known tail (and initial state) − simulated
0.36 0.34 0.32 0.3 200
300
400
500 600 700 Packet length [bits]
800
0.45 Tailbiting − perfect state est. Tailbiting − est. initial state K=25 Tailbiting − est. initial state K=30 Known tail (and initial state) K=25 Known tail (and initial state) K=30
0.44 0.43 900
1000
0.42 200
300
400
500 600 700 Packet length [bits]
800
900
1000
Fig. 3. Throughput as function of the packet length in information Fig. 4. Throughput as function of the packet length for dierent bits. Signal to noise ratio is Ec =N0 = 5dB giving channel bit constraint lengths K . Signal to noise ratio is Ec =N0 = 5dB, and error rate p 0:064, and the convolutional code is a constraint all results are obtained analytically. length K = 36 systematic code with generator 714461625313 (octal notation).
IV. Results
To investigate the performance of a system using the proposed algorithm, evaluation has been performed analytically and by simulations. After encoding the bits are interleaved and sent to a BPSK modulator. The channel is Rayleigh fading with additive white Gaussian noise. We further assume that we have perfect channel phase estimation in the receiver. Sequential decoding is performed using the Fano algorithm in combination with the proposed tailbiting algorithm. For the simulations we use a systematic rate R = 1=2 encoder of constraint length K = 36 with generator polynomial 714461625313 (octal notation) having optimum distance pro le [24]. The following parameter settings for the initial state estimation were used: 1 = ;20, 2 = 30, d1 = 100 and dD = 200. Fig. 3 shows the throughput as function of the packet length, with signal to noise ratio Ec =N0 = 5 dB, giving a Pareto exponent = 2 [16]. As we can see analytical and simulated results match rather well. Tailbiting gives higher throughput than using a known tail for packet lengths above 300. The rapid degradation for packet lengths below 300 is due to initial state estimation failure. The algorithm requires that there must be K ; 1 consecutive error free channel symbols in order to start decoding. By reducing the constraint length slightly the probability of correct initial state estimation increases considerably. This is shown in Fig. 4. The throughput is limited by the channel code rate. By applying a higher code rate it should therefore be possible to obtain a higher throughput. However, by increasing the code rate, we also increase the probability of retransmission due to the time out condition. To maintain the same probability of retransmission, the signal to noise ratio must be increased. Sequential decoding is feasible
when the Pareto exponent is larger than 21 . The signal to noise ratio yielding = 2 can be calculated by solving (2) for the Rayleigh fading channel and soft decisions. This was done in [16]. Those results together with results for some additional code rates are given in Table I for BPSK modulation and perfect channel phase estimation. Using rate compatible codes [2], and an incremental redundancy ARQ scheme [15] we have a system that will automatically adjust the code rate to the current signal to noise ratio. Applying such a scheme together with the tailbiting sequential decoding algorithm with the timeout condition we get the throughput plotted in Fig. 5. Here we have used packet length Lp = 500, constraint length K = 36. The results are obtained analytically, and (6) is used as a very good approximation [15]. The results presented so TABLE I
Theoretical limits ( = 2) for sequential decoding on Rayleigh fading channel with soft decisions and BPSK modulation, for different code rates. The Ec =N0 values are given in dB.
R Ec =N0 R Ec =N0
1=4 -0.1 6=7 13.1
1=3 1.7 7=8 13.9
1=2 5.0 8=9 14.5
2=3 3=4 4=5 8.2 10.1 11.3 9=10 19=20 99=100 15.0 18.4 25.5
5=6 12.4 -
far assume an uncorrelated channel (perfect interleaving). To obtain results for a correlated channel we have to use simulations and interleave over one coded packet. For the shorter packets we will then have less interleaving than for 1 Some authors use > 1, corresponding to nite mean value of the number of computations, as the criterion for when decoding is possible. Here and in [16] we use > 2 corresponding to nite variance of the number of computations.
1
0.5 0.48
0.9
0.46 0.44 Throughput η
Throughput η
0.8
0.42
0.7
0.4
0.38
0.6
Tailbiting, f = 0.01 d
0.36
Known tail, f = 0.01 Tailbiting Known tail
0.5 5
10
15 E /N [dB] c
20
25
0
d
0.34
Tailbiting, fd = 0.1
0.32
Known tail, fd = 0.1
0.3 200
300
400
500 600 700 Packet length [bits]
800
900
Fig. 5. Analytical evaluation of throughput as function of the signal to noise ratio. Results are shown for packet length equal to Fig. 6. Throughput for dierent packet length simulated with Ec =N0 = 5 dB, K = 36 and normalized doppler frequency Lp = 500, constraint length K = 36 with and without known inifd = 0:01. tial state (tail) and uncorrelated fading assuming an incremental redundancy scheme.
k (n; l) 0
1
the longer packets, and should therefore expect more loss. Simulations results showing the throughput as function of 1 k (n ; 1; l) 0 the packet length for normalized doppler frequencies (normalized with the symbol period) equal to fd = 0:01 and 1 k (n ; 2; l ; 1) 0 fd = 0:1 are given in Fig. 6. Simulations are performed for ;n;k the same half rate code used in Fig. 3. As expected we have k (n ; 3; l ; 2) l;k some loss in throughput because of more timeouts. Since the interleaving has to be done over one packet only, the loss is larger for the shorter packets. Fig. 7. Illustration of the tree search giving the number of combiV. Conclusion
It has been shown in this paper that sequential decoding of tailbiting convolutional codes will give a rather high throughput and is thus a good candidate coding scheme for data based services in wireless communications. It has been shown that by applying tailbiting convolutional codes and the proposed decoding scheme, eliminating the need for known tail-bits, the throughput is improved except for very short packets. The proposed ARQ scheme can be combined with incremental redundancy retransmission to get a system that adapts to the channel conditions yielding a throughput of 90 percent at signal-to-noise ratio per coded bit of 15 dB. VI. Future Work
In order to construct an ecient incremental redundancy ARQ scheme more Rate Compatible Convolutional (RCC) codes should be found which are good for sequential decoding. Such codes may for instance be Rate Compatible Punctured Convolutional (RCPC) codes and nested convolutional codes searched with the criterion of optimum distance pro le.
nations of k = 3 consecutive correct bits in a frame with n bits. The symbol 1 means a correct bit and 0 means an incorrect bit. As we can see the problem is subdivided into smaller problems of the same kind.
Appendix
To understand the derivation of (8) consider Fig. 7. Here we have given an example were we want to nd k = 3 consecutive ones in a sequence ; of n bits. Having found 3 consecutive ones, there are nl;;33 possible combinations that end up with l ones totally. If the rst digit is zero there are n ; 1 digits left where you may nd k consecutive ones giving a total of l ones. This can then be expressed by k (n ; 1; l). If the rst digit was one and the next was zero we similarly have k (n ; 2; l ; 1) possible combinations. Since we have now already \used" one of the ones we will have l;1 in the expression. As we can see, this is a recursive problem as described in (8). It should be noted that this is generally an exponentially increasing problem. However, since the factors will be the same for many nodes it can be shown that it is actually growing as (n ; k)2 , making it possible to compute the combinations for practical values of the packet lengths and constraint lengths.
Acknowledgments
[20] The author would like to thank Pal Frenger at the Com- [21] munication Systems Group, Department of Signals and [22]
S. G. Wilson, Digital modulation and coding, Prentice Hall, Upper Saddle River, NJ, 1996. S. Wicker, Error control systems for digital communication and storage, Prentice-Hall, Englewood Clis, NJ, 1995. K. Shimoda, A. Yamashita, T. Katoh, and Y. Ageno, \New reSystems, Chalmers University of Technology, for his particcovery methodfor sequential decoding buer over ow," in Proc. IEEE Global Telecommunications Conference, Houston, texas, ipation in the discussions leading to the derivation of (8). 1986, pp. 47.5.1{47.5.5. This work has been performed in the framework of the [23] USA, J. L. Massey and D. J. Costello Jr., \Nonsystematic convoluproject ACTS AC090 FRAMES, which is partly funded by tional codes for sequential decoding in space applications," IEEE Transactions on Communications, vol. COM-19, no. 5, pp. 806{ the European Community. 813, Oct. 1971. [24] R. Johannesson, \Robustly optimal rate one-half binary conReferences volutional codes," IEEE Transactions on Information Theory, vol. IT-21, no. 4, pp. 464{468, July 1975. [1] P. Frenger, P. Orten, T. Ottosson, and A. Svensson, \Rate compatible convolutional codes for multirate DS-CDMA systems," Submitted to IEEE Transactions on Communications, Aug. 1997. [2] J. Hagenauer, \Rate-compatible punctured convolutional codes (RCPC codes) and their applications," IEEE Transactions on Communications, vol. 36, no. 4, pp. 389{400, Apr. 1988. [3] S. Kallel, \Analysis of a type II hybrid ARQ scheme with code combining," IEEE Transactions on Communications, vol. 38, no. 8, pp. 1133{1137, Aug. 1990. [4] S. Kallel and D. Haccoun, \Generalized type II hybrid ARQ scheme using punctured convolutional coding," IEEE Transactions on Communications, vol. 38, no. 11, pp. 1938{1946, Nov. 1990. [5] H. Lou and A. S. Cheung, \Performance of punctured channel codes with ARQ for multimedia transmission in Rayleigh fading channels," in Proc. IEEE Vehicular Technology Conference, Atlanta, Georgia, USA, May 1996, pp. 282{286. [6] S. Falahati and A. Svensson, \Hybrid type-II ARQ schemes for Rayleigh fading channels," in International Conference on Telecommunications, Porto Carras, Greece, June 1998, pp. 39{ 44. [7] M. H. Howard and J. K. Wolf, \On tail biting convolutional codes," IEEE Transactions on Communications, vol. COM-34, no. 2, pp. 104{111, Feb. 1986. [8] K. Sh. Zigangirov and V. V. Chepyzhov, \Study of tail biting convolutional codes," in Fourth Joint Swedish-Soviet International Workshop on Information Theory, Gotland, Sweden, Aug. 1989, pp. 52{55. [9] Q. Wang and V. K. Bhargava, \An ecient maximum likelihood decoding algorithm for generalized tail biting convolutional codes including quasicyclic codes," IEEE Transactions on Communications, vol. 37, no. 8, pp. 875{879, Aug. 1989. [10] R. V. Cox and C. E. Sundberg, \An ecient adaptive circular Viterbi algorithm for decoding generalized tailbiting convolutional codes," IEEE Transactions on Vehicular Technology, vol. 43, no. 1, pp. 57{68, Feb. 1994. [11] A. Drukarev and D. J. Costello, \Hybrid ARQ error control using sequential decoding," IEEE Transactions on Information Theory, vol. IT-29, pp. 521{535, July 1983. [12] N. Shacham, \Performance of ARQ with sequential decoding over one-hop and two-hop radio links," IEEE Transactions on Communications, vol. com-31, pp. 1172{1180, Oct. 1983. [13] S. Kallel and D. Haccoun, \Sequential decoding with ARQ and code combining: A robust hybrid FEC/ARQ system," IEEE Transactions on Communications, vol. 36, no. 7, pp. 773{780, July 1988. [14] S. Kallel and D. Haccoun, \Sequential decoding with an ecient partial retransmission ARQ strategy," IEEE Transactions on Communications, vol. 39, no. 2, Feb. 1991. [15] S. Kallel, \Sequential decoding with an ecient incremental redundancy ARQ scheme," IEEE Transactions on Communications, vol. 40, no. 10, pp. 1588{1593, Oct. 1992. [16] P. Orten and A. Svensson, \Sequential decoding in future mobile communications," in Proc. IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, Helsinki, Finland, 1997, pp. 1186{1190. [17] A. Viterbi and J. K. Omura, Principles of digital communication and coding, McGraw-Hill, New-York, 1979. [18] G. C. Clark Jr. and J. B. Cain, Error correction coding for digital communicaitons, Plenum Press, 1981. [19] R. G. Gallager, Information theory and reliable communication, John Wiley and Sons, 1968.