RCPCs - IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, N0....

Info iconThis preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 2
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 4
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 6
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 8
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 10
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 12
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, N0. 4, APRIL 1988 389 Rate-Compatible Puncturcd Convolutional Codes (RCPC Codes) and their Applications JOACHIM HAGENAUER, SENIOR MEMBER, IEEE Abstract—The concept of punctured convolutional codes is extended by puncturing a low rate l/N code periodically with period P to obtain a family of codes with rate P/ (P + I) where I can be varied between 1 and (N — UP. A rate-compatibility restriction on the puncturing tables ensures that all code bits of high rate codes are used by the lower rate codes. This allows transmission of incremental redundancy in ARQ/FEC schemes and continuous rate variation to change from low to high error protection within a data frame. Families of RCPC codes with rates between 8/9 and 1/4 are given for memories M from 3 to 6 (8 to 64 trellis states) together with the relevant distance spectra. These codes are almost as good as the best known general convolutional codes of the respective rates. It is shown that the same Viterbi decoder can be used for all RCPC codes of the same M by controlling the metric memory access through the puncturing rule, the soft decision and the channel state information (CS1). The performance of RCPC codes on Gaussian and fading channels is shown under various quantization and CSI conditions. The application of RCPC codes to hybrid ARQ/FEC schemes is discussed for Gaussian and Rayleigh fading channels using CSI to optimize throughput. If a source coder supplies a source significance information (881) indicating the relative importance of hits, a flexible unequal error protection scheme can be designed with RCPC codes which minimizes the redundancy overhead. I. INTRODUCTION HE design of an error correction coding system usually consists of selecting a fixed code with a certain rate and correction capability matched to the protection requirement of all the data to be transmitted and adapted to the average or worst channel conditions to be expected [1]. In many cases, however, one would like to be more flexible because the data to be transmitted have different error protection needs and the channel is time varying or has insufficiently known parame— ters. Consequently, flexible channel encoding and an adaptive decoder are required. As Fig. 1 shows, the information to be transmitted might carry source significance information (581) indicating different protection requirements. Examples in- clude control and signaling bits in a data stream, most significant bits in a PCM word, or side information like quantizer slopes, or filter coefficients in more sophisticated voice encoding schemes [2]. On the other hand, the channel characteristics or the channel state might vary considerably, as encountered in mobile or multipath radio transmission, in a jamming environment, dilring rain fading, or in HF transmis- sion. This is indicated in Fig. 1 by the channel state information CSI. In rare cases the instantaneous CSI is available at the encoder where code adaptation could take place. Mostly the receiver only can use a CSI-like fading Paper approved by the Editor for Coding Theory and Application of the IEEE Communications Society. Manuscript received December 22, 1986; revised June 5, 1987. This paper was presented in part at the 1986 International Symposium on information Theory, Ann Arbor, MI, October 1986, and ICC’87. Seattle, WA, June 1987. The author is with the German Aerospace Research Establishment (DFVLR), D-803l Oberpfaffenhofen. West Germany. IEEE Log Number 8718991. FEEDBACK FOR I—_-——ARO—/ FEC 1. I f V‘R‘ABLE — SOU RCE RATE CHANNEL DECODER eucoczn “"9 DECISIONS L __._ _ _ SSI CSI SOURCE CHANNEL SIGNIFICANCE STATE INFORMAYION INFORMATION Coded transniiSsion scheme with source significance information (881) and channel state information (CSI). Fig. 1. depth, noise level variation, short-term signal loss, or jammer activity. The CSI can significantly improve decoder perform— ance together with soft decisions at the receiver. Whenever a return channel is available, the CSI can be indirectly relayed to the transmitter by asking for a retransmission as employed in automatic repeat request (ARQ) systems. Such ARQ systems can also be combined with forward error correction (FEC) to yield type I or type II ARQ/FEC hybrid schemes [3], [4]. The latter schemes nicely match the average channel rate or the throughput with the channel conditions and some of them use different FEC codes for repeated transmission attempts. The scenarios shown in Fig. 1 require variable codes adapted to the source and channel needs. We wish to change the code rate, i.e. , the number of check bits, and hence the correction power of the code during transmission of an information frame according to source and channel needs. For practical purposes, we would like to have not just switching between a set of encoders and decoders, but one encoder and one decoder which can be modified without changing their basic structure. This can be achieved by not transmitting certain code bits, namely, by puncturing the code. Mandelbaum [5] was the first to propose punctured codes for transmitting redundancy in incremental steps by using Reed—Solomon codes. In order to accommodate soft decisions and CSI at the receiver, a maximum likelihood decoder is required. This motivates the use of convolutional codes and the Viterbi algorithm for decoding. Punctured convolutional codes were first introduced by Cain, Clark, and Geist [6] mainly for the purpose of obtaining simpler Viterbi decoding for rate K/N codes with two branches arriving at each node instead of 2" branches. They obtained codes of rate 2/3 and 3/4 by puncturing rate 1/2 codes. These punctured codes 'were almost as good as the best known codes. Some of the good codes used the same basic rate 1/2 generators. Later, Yasuda et a1. [7], [8] found a family of (N — l)/N codes by puncturing 1/2 codes for N up to 14, and built selectable rate encoders and Viterbi decoders using soft decisions. In this paper, the concept of punctured convolutional codes is modified for the generation of a family of codes by adding a rate—compatibility restriction to the puncturing rule. The restriction implies that all the code bits of a high rate punctured 0090—6778/88/0400-0389$01.00 © 1988 IEEE 390 code are used by the lower rate codes; or in other words, the high rate codes are embedded into the lower rate codes of the family. If the higher rate codes are not sufficiently powerful to decode channel errors, only supplemental bits which were previously punctured have to be transmitted in order to upgrade the code. Furthermore, since codes are compatible, rate variation within a data frame is possible to achieve unequal error protection. In Section H, the necessary defini— tions and the performance criterion for the class of rate compatible punctured convolutional codes (RCPC codes) are given. Section HI reports the results of a computer search for families of RCPC codes of rate P/(P + I), with rates between 1/4 and 8/9. The analytically calculated and simulated performance of some codes on Gaussian, Rayleigh, and Rice fading channels is shown in Section IV. Modified type II ARQ/FEC schemes with RCPC schemes shown in Section allow a minimum number of transmitted bits as well as soft decision and CSI adaptive decoding and compare favorable to previous known schemes. Unequal error protection with RCPC codes is discussed in Section VI. 11. DEFINITION AND PERFORMANCE CRITERION 0F RCPC CODES In order to explain rate-compatible punctured codes, we start with the example of Fig. 2 where a rate R = 1/2 convolutional code with memory M = 2 is punctured periodically with period P = 4. We describe the binary information symbols and the binary code symbols x”- and xzj by values 1 l. A zero in the puncturing table means that the code symbol is not to be transmitted. In the upper example of Fig. 2, the fourth bit of the upper branch and the second and third bit of the lower branch are not transmitted. The puncturing table can be viewed as a modulo P rule for multiplexing the two streams of code bits. Instead Of transmit— tingZ-P = 2-4onlyP + I: P + l = 5 bitsaretransmitted per P = 4 information bits. Therefore, we have generated a code with rate R = 4/5 by using only P + I“l” ’5 instead of 2P “ 1 " ’s in the puncturing table, which can be described by the N X P matrix 1 l 1 0 “(1) (1 0 o 1) ‘ Suppose the code rate with 4/5 and with the puncturing table a(l) is not powerfirl enough to correct the channel errors. A more redundant and therefore more powerful code with lower rates 4/6, 4/7, or 4/8 would be necessary. Instead of transmitting all the code bits of a completely different low rate code, the lower rate code should utilize the bits already transmitted. Then only additional incremental redundancy bits have to be transmitted. Additional “1” ’s in the puncturing tables of the lower rate codes can therefore be placed only where zeros appeared in the puncturing matrix of the previous higher rate code, for example, a<2>=(: 1 2, ‘3),a<s>=(: 1 2. i). We : :1). Thus, for I = 1 to 4, we get a compatible family of codes derived from the mother code 1/2 with rates 4/5, 4/6, 4/7, 4/8 which use only incremental redundancy. The question, of course, is whether all these codes in the family are good and whether noncamstrophic codes exist. This will be discussed in Section II]. On the receiving side the decoder using the Viterbi algorithm (VA) has to know the current puncturing rule a. The VA receives real values yij when full soft decision is used. Alternatively, the decoder can use quantized values of yg. The VA finds the path with the maximum likelihood metric for [EEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, N0. 4, APRIL 1988 PUNCTURING PERIOD P = 4 TIME 1 12345 123 +1 01 -1 -1 01 9M1 91 -1 GEN ERATOR MATRIX 2412;) Fig. 2. Example of a punctured convolutional code with two rate compatible puncturing tables. PUNCTUR lNG TABLE statistically independent y”- by calculating J max ~ m 2 A, (1) j = l where the metric increment is N (m) N: 2 aux ij yij (2) i=1 and aij+P = 0,; due to periodic puncturing. a,-,- =' 0 means that this xvi”) has not been transmitted and yjj is not available. Actually, it is not necessary to insert any dummy data at the receiver as suggested in [7]. The Viterbi algorithm operates on the trellis of the l/ N mother code with two branches leaving at each state. Equation (2) simply means that for at,- = l the metric ROM is accessed using the address x170") y.; to add a metric increment and for 11,-, =, 0 it is not accessed. For a fading channel, the transmitted signal is multiplied by a fading factor (1;. If interleaving is. assumed, up is an independent positive real randbm variable with density p(ap), i.e., Rayleigh or Rice. If this factor can be estimated at the receiver and is used as a CSI the ML-metric for coherent transmission is [9] (3) N - (m) )\j=2 aijaijinj yij~ i=1 As expected, a deep fade (am: -> 0) has the same effect as puncturing (au- = 0). A. General Definition of RCPC Codes A family of RCPC codes is described by the mother code of rate R = UN and memory M having the generator tap matrix «-M+1-> , g=1y<gik) with the tap connections gik E (0, l) where a 1 represents a connection from the kth shift register stage to the ith output. Together with N, the puncturing period P determines the range of code rates _ P P+I between P/ (P + l) and UN. The RCPC codes are punctured codes of the mother code with puncturing matrices (4) 1:1, ---(N-—1)P (5) «13-» V a(1)=1§ (av-(1)) with ail-(l ) E (0, l) where 0 implies puncturing. (6) HAGENAUER: (RCPC CODES) AND THEIR APPLICATIONS The rate—compatibility restriction implies the following rule: if aij(10)=1 then a,,-(l)=1 for all I g [0 2 1 (7a) or equivalently if a;j(10):0 then ail-(1)20 for all 1 g [0 g (N— l)P— 1. (7b) B. Criterion of Goodness for RCPC Codes With Viterbi decoding the usual optimality criterion is a large free distance dm, a small number of paths a,,, and a small information error weight Cd on all paths with d g dfm. More specifically, one has Viterbi’s upper bound an error event probability [13] l on PE é — E (1de (8) P d=d free and for the bit error probability 1 on Pb E I; 2 Cde- (9) d = dfree Pd is the probability that the wrong path at distance d is selected. The so-called distance spectra {ad} and {Cd}, which should be as small as possible, depend only on the code, namely, on N, M, P, g, and a(1). Due to the time—varying nature of the RCPC codes, P different starting points for diverging paths have to be considered to obtain the total numbers ad and c4. Since RCPC codes are a subclass of punctured codes, which in turn is a subclass of the general K / N codes, it has still to be shown that the RCPC restriction is not too severe to prevent “good” codes from being located in this subclass. A degree of freedom can be gained by increasing the period P. RCPC codes constitute a specific class of time- varying codes with a fixed generator but periodically time- varying puncturing. We know that some time-varying codes are better than fixed codes [10] and some random coding theorems hold only for time-varying codes. Therefore, some improvement may be possible by using a higher period P. Note that P has to be sufficiently large if codes of specific rates are to occur in the same RCPC family. The complexity of the VA decoder of an RCPC code in terms of add, compare and select operations per decoded bit is 2-2“, whereas a general K/N code requires (2 K2M)/K such operations where M is the total encoder memory. At the RCPC decoder, an N 'P ambiguity has to be resolved in the incoming data stream and the decision depths of punctured codes are generally longer [8]. The last disadvantage is not severe, when as in most applications, data frames are transmitted with sync words and proper termination of short frames. III. RESULTS OF THE SEARCH FOR GOOD RCPC CODES No constructive method is known for determining the generator matrix g and the puncturing matrices a(1) for a RCPC code family. Therefore a computer search has been performed under some restrictions. For distances d ; dim, ad, Cd, and the path length distribution has been determined by a stack algorithm similar to Cedervall’s algorithm [11]. The basic steps to find a family of good RCPC codes are: Step 1: Select mother code with rate l/N, memory M, and generator g. Select puncturing period P. For] = [max = (N — 1)P set (1(1) = (1). For 1 = (N — 1)P to 2 perform Steps 2—4. Step 2: Amongst the elements ag(l ) which are “1” select one and set it to “0” [compatibility rule (7b)]. Observe that cyclic column permutations give the same code performance. 391 Step 3: Determine dfm and cd for d ; dme. Step 4: Repeat steps 2 and 3 to find a(l — 1) with maximal dim, and minimal Cd for d : time, time + 1. If only catastrophic codes can be found, use next best code at level I. The results of the computer search for the M = 4 code family are given in some detail in Table I, whereas for the other codes of memory M = 3, 5, 6, only a(l ) and the Cd values are given in Table II. The codes have a period P : 8 with a subperiod of P = 4 and are punctured mostly in steps A] = 2 in such a way as to arrive at the best known code of rate 1/2. This implies that the mother codes of rate 1/3 or 1/4 are not necessarily the best known code of this rate. This is the case for M = 4 and 6 where one path exists at a distance which is one less than the best known free distance [3]. Table III shows a comparison of the most important distance parameters of RCPC codes, punctured codes, and general K/N codes for rates where results are available. This and other comparisons show that RCPC codes are almost as good as the other codes. By increasing the period P one can even obtain slightly better codes as Shown for M = 3 and rate 2/3 code. P = 4 gives a greater variety in selecting the puncturing positions. In this case, cd/P for d = dfm, - - -, dfw, + 5 is less than the corresponding numbers for the code with P = 2 and therefore a better BER performance can be expected over the whole SNR range. This result is a further confirmation that time—varying codes are better than fixed codes and that time- varying codes become better with increasing time period. In [10], an example is given where g is time varying. Here, we fix g and puncture in a time-varying manner. One disadvantage of punctured codes is that error events at high rates and higher distances can be quite long. This was previously observed in [7]. To give an example, we have plotted in Fig. 3 the path length distribution of an R = 4/5 code with M = 4, P = 4. Paths at dfiee + 3 = 6 can be up to 50 information bits long. For high rate codes, this requires a longer path memory. IV. PERFORMANCE OF RCPC CODES ON GAUSSIAN AND FADING CHANNELS The performance of RCPC codes on a Gaussian channel with soft decision and on interleaved Rayleigh and Rician channels using different degrees of channel state information has been evaluated using (9) and the distance Spectrum {Cd} in Tables I and II. For the Gaussian case simulation results are also given. Fig. 4 Shows the transmission scheme over a nonfrequency-selective fading channel with multiplicative distortion tip, with E{a%} = 1 and paF(a}.—) = 2a,.(1 + C/M) exp [— (ago + C/M) + C/M)] - [0(20FN/C/M(l + C/M)). (10) For a Ricean channel, C/M is the ratio of the direct to diffusely reflected signal energy. With C/M = O we have Rayleigh fading, with C/M -> 00 we obtain the Gaussian channel. In the fading case we assume perfect interleaving, which means that the CSI values a; and the received code values y are statistically independent with density function (10). Since we consider a varying code rate, we describe the channel SNR by Es/No rather than by Eb/No = ES/RNO. A reduced rate consequently means reduced throughput. The Viterbi algorithm for decoding the RCPC code uses the metric (3). In the following, we give the values for d; = am.— and y = y,, which the decoder uses in different cases, as well as the resulting Pd to be used in the evaluation of the BER in (9). a) Gaussian channel [13] 6p: 1 y analog or finely quantized 1 Pd=§ erfc VdEs/No. 392 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36. NO. 4, APRIL 1988 TABLEI PUNCTURING TABLES a(l ), 0,, AND ad VALUES FOR RCPC CODES WITH MEMORY M = 4. PERIOD P = 8 AND RATESR = P/(P +1): 8/(8 + I), I = 1,2,4, 6, 24 RCPC CODE M=4 P=8 m IIIII IIIIIIIIII IIIIIIIIIII IIIIIEIIIIII IIIIEIIIII IIIIEIIIII! IIIIEUIIIIE IIIEEIIIEE IIIEIIIIIIH IIIIIIIIIllfl IIIIIIIIMM IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIQEEIII ‘4 V 1000 1000 1010 1010 u N z. o N é a N b) Rayleigh and Rice fading with hard decisions on y (YI-I) and no CSI, a not used (AN): YHAN (3F: 1, y= i 1. d d ‘ E (e> P3(l—Po)d‘e d odd P (d+l)/2 Pd—l (1' even with the channel bit error rate °° 1 Po: so 5 erfcmpap(af.)dap_ (12) c) Rayleigh fading with soft decisions on y (YS) and full CSI (AS) with perfect estimation of the analogy amplitude up: YSAS ap= (1,: y analog or finely quantized Pd is equivalent to the error probability of a dth order maximum ratio diversity system and can be upper bounded by [9] 1 1 a Pds— —— . 2(1+ES/N0) d) Rayleigh fading with hard decision (YH) and hard CSI (13) HAGENAUER: (RCPC CODES) AND THEIR APPLICATIONS 393 TABLE H PUNCTURING TABLES a(l ) AND q, VALUES FOR RCPC CODES wm-I MEMORY M = 3, 5, 6. PERIODP = 8 AND RATESR = P/(P +1): 8/(8 +1),l= 1,2,4, 6, ---,14,16 RCPC CODE: M =3 07 _A _. O _. _. b _. a _A .I. 3894 1 168056 26580 1 3088533 1 71 784 1070980 8 $~I :33 no E m w to RS ! I m m m - - - - - - - - - - (a) RCPC CODE: M =5 ----_- ""01 ------ 101011 ------ 100111 m----- -_--- d m---- l -E--- Emu-- mm-mm- mm-mm- 155mm” ---=m-mm -- mm ---m-m ----m (b) 394 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, N0. 4, APRIL 1988 TABLE II (Continued) RCPC CODE: M = 6 TABLE III COMPARISON OF RCPC CODES WITH PUNCTURED AND GENERAL CONVOLUTIONAL CODES Rate Memory RCPC-Codes Punctured Codes [8] General K/N Codes dfree cdfree/P P dfree Cdfree/P P dfree I) u 5 2 M = 3 ll _5_ 2 4 [3] 4 a 4 2/3 M = 6 6 1.5 2 6 1.5 2 7 [3] M = 3 3 7,7 Al 3 3.5 LI 2 [12] 4/5 M = e u 3 u u 3 I. _ M = 3 2 2,6 8 2 0 8 fl - 8/9 M = 6 3 _3_ 8 3 1 6 8 - M = 3 II 0.5 4 - — - 4 [12] an M = 5 6 1.25 It - - - 6 [12] " With memory to give an equal number of total branches per information bit in me VA. HAGENAUER: (RCPC CODES) AND THEIR APPLICATIONS O 10 20 gill PUNCTURING TABLE RATE 1 SELECTlON _ p R' P+1 DEINTERLEAVER 395 1600 1400 1200 4000 800 600 400 200 30 4O 50 60 70 80 PATHLENGTH In ———> Fig. 3. Number of paths with length I, at distance d for a RCPC code of rate R = 4/5,P= 4,M= 4. CHANNEL STATE ESTIMATOR ____..___ pioF): RAYLEIGH, RICE A —-- 0F —-- Fig. 4. Coded data transmission using RCPC codes with interleaving and channel state information (CSI) on fading channels. (AH): YHAH l-PE log for aF< aT (2F: . ” <14) 1 l—PG f > 0 or a _ a g PG F __ T where a7 is an optimized threshold. By partial integration in (12), we obtain PG as the channel BER above the threshold aT and PB as the BER below a;- [9]. Pa can be calculated in closed form. The result is given in [9] and [14]. Fig. 5 shows the simulated RCPC performance for the Gaussian channel. Simulation and an analytical upper bound at 3 BER of 10—5 differ only by approximately 0.2 dB. The performance curves for the Rayleigh channel with the scheme described in Fig. 4 and in Section IV show that RCPC codes with rates between 4/5 and 1/3 cover a broad range of SNR and BER. At a BER of 10‘5 a 1-bit CSI gains 7.9 dB at rate 2/3 and 2.6 dB at rate 1/3 relative to hard decisions without C81. The Rice channel with C/M = 7 dB is typical for mobile satellite communications to ships with small antennas, to cars in open areas, and to airplanes with hemispherical antennas [14]. As Fig. 7 shows, the RCPC codes using basically the same encoder and the same Viterbi decoder with only 16 states and two branches per state can cover a SNR between 4 UNCODED 8940 4 5 s 7 10Iog (E,IMD) dB—O 0123 Fig. 5. BER performance of RCPC codes on Gaussian channels, N = 3, P = 8,]: 1,2,4, "',16, rate = 8/(8 + I),M = 4: simulationwith soft decision. and 17 dB to achieve 3 BER of 10-5. This means that the same link can serve users with a gain variation of 13 dB by adaptively changing the rate between 4/5 and 1/3 at the expense of throughput. 396 o 2 4 15 8101214161820 10Io91:./N°)aa_. Fig. 6. BER performance of RCPC codes on an interleaved Rayleigh channel,N= 3,P= 8,1: 2,4, ---, l6,rateR = 8/(8 + I),M= 4; analytic upper bound YHAH: hard decision, 1 bit CSI. . o 2 4 6 8101214161620 10loq(E'/N°)dB—+ Fig. 7. BER performance of RCPC codes on an interleaved Rice channel C/M = 7 dB, YHAN: hard decision, no CSI, N = 3, P = 8, I = 2, 4, '~-, 16, rateR = 8/(8 +1), M = 4, analytic upper bound. V. THE APPLICATION or RCPC CODES T0 HYBRID ARQ/FEC TRANSMISSION For data transmission schemes where a retum channel is available, automatic repeat request (ARQ) schemes guarantee high reliability at high and moderate channel qualities. The throughput performance degrades if the channel is bad or time varying. A combination with forward error correction (FEC) to form a hybrid system combines the advantages of both methods. A broad variety of hybrid systems has been suggested, a good overview of the literature is given in [3] and [4]. Some more recent proposals can be found in [15]—[19]. A so-called “type II hybrid system” [4] uses a rate 1/2 invertible code and alternately sends coded sequences (“information” and “parity” sequences) which are either detected to be correct or combined for FEC decoding. Block and convolu- tional FEC codes have been used and extensions to rate 2/3 and 3/4 have been reported [4]. Typically, the “throughput- versus-channel quality”-curves exhibit a saddle at the FEC code rate and some of the schemes require different decoders at different stages of the detection and decoding algorithm. A more natural scheme than alternate code and parity transmis— sion seems to be successive parity transmission to build up a code which is finally powerful enough to decode the message. Consequently, none of the already transmitted code bits are thrown away but are used to improve FEC decoding, preferably with ML decoding. As in most other hybrid schemes an outer high rate block-code detects decoding errors. [EEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, NO. 4, APRIL 1988 This method . goes back to Mandelbaum [5] and includes variations like code combining [15], [16] and memory ARQ [171 We propose to use rate compatible punctured convolutional codes (RCPC Codes) with Viterbi algorithm (VA) decoding for successive parity transmission. The principle of the proposed ARQ/FEC scheme is not to repeat information or parity bits if the transmission is unsuccessful as in previOUS type II ARQ/FEC schemes, but to transmit additional code bits of a lower rate RCPC code until the code is powerful enough to enable decoding. This includes several decoding attempts on the receive side, which seem especially feasible for applications in mobile or low rate systems where the data rate is in the kbit/s range and the VA decoder would run on a chip at a higher rate. A. ARQ/FEC Protocol with RCPC Codes The ARQ/FEC protocol performs the following steps while transmitting a block I of information, which contains typically n = 100 to 1000 bits. Encoding: 1) Add n, parity bits to form an error detection code C0, i.e., 16 or more CRC bits. 2) Add M “0” or known bits to properly terminate the encoder memory and the decoder trellis for the “information” block (n + n,). M is the memory of the convolutional encoder. 3) Use the UN encoder to encode the convolutional code and store it at the transmitter, possibly in a matrix as in Fig. 8. The matrix is only conceptual and can be modified in several ways to accommodate interleaving. Transmitting and decoding: l) Transmit the first P columns of the matrix. 2) Transmit additional columns of the matrix up to index 1 according to the puncturing table. 3) Decode RCPC code of rate P/(P + l ) with Viterbi algorithm. 4) Check the syndrome of code C0. If the syndrome is zero output I and send ACK to the transmitter. If the syndrome of Co is not zero increase I and repeat steps (2)—(4). If decoding is still not successful for l ‘= (N — 1)P, i.e., R = l/N, several possibilities exists. A higher order protocol could take over or ask for a repetition of the whole procedure starting at step 1). Code combining as suggested by Chase [15] could be used to repeat the whole l/N code L, times and combine it with the already transmitted code. Actually, the VA uses in this case the same trellis as for all the RCPC codes, but the ML metric (3) is changed to N Lr Lr N _ hj=2 E aijaier-xijyijr: E aijxi} 2 aii'FyU' r=1 i=1 i=1 r=1 (15) where index r indicates the rth repeated transmission. Note that by repeating all code bits L, times the free distance is increased by a factor of L, [15] and the numbers of the weight spectrum are unchanged d,=L, - dfor d=dfiee+i. Note that a repetition code is almost optimal only for low rates such as 1/8, 1/ 16 [15]. By halving the code rate the distance usually is more than twice as shown in Table I for memory M = 4. This enables a gain in Eb/No on the Gaussian channel. This type of code combining as expressed in (15) can be viewed as maximum ratio combining of the received yii, values. The combined y values which equal the inner sum of the right side in ( 15) are then used by the original code for ML decoding. In the following analysis, we will assume that decoding stops with the UN code in step 4). Consequently, there exists Cd, = Cd HAGENAUER: (RCPC CODES) AND THEIR APPLICATIONS ‘ RATE TABLE 0 cocci-.0000 £491 1 oooo~--oooo £19me“) m-np FF; atOng1)...oe(P(N-1)) TABLES SHOW POSITION 0F COLUMN BITS TO BE TRANSMITTED BY THE l-TH STEP Fig. 8. ARQ-FEC encoding scheme with RCPC codes. a probability that the frame with information block I was not error-free decoded. This frame error rate FER will be calculated and should be sufficiently small. It should be pointed out that we are completely free in which steps we increase I. The number of steps depends on the ratio of frame arriving time (information rate) to frame decoding time (decoder speed). For extremely varying channel conditions an exponential increase could be useful, i.e., I = l, 2, 4, 8, 16. This would mean to perform less FEC decoding attempts than the maximum number possible. This is at the cost of a slightly smaller throughput because in the example, the 10th attempt could have been successful, saving the transmission 11-16 in the above example. With this type of protocol an acknowledgement (ACK) is only sent after successful decoding of a frame. The encoder would send more and more code bits until it receives the ACK. Assume that decoding is successful at step 13. If there is a round-trip delay TD involved in the transmission with rate 1/ T3, the encoder would transmit TD/ Ts unnecessary bits, which would slightly reduce the throughput. This will be shown in the analysis. If the ACK is lost, the encoder keeps transmitting unnecessary code bits until I = (N — 1)P. If the probability of an ACK loss or error is small the effect on the throughput is negligible. Thus, the return channel is used only once per frame and a bad return channel does not confuse the basic protocol. ‘ B. Throughput Analysis We will describe the performance of the hybrid ARQ/FEC scheme by two figures of merit: the average throughput R AV and the probability that a frame or packet with n information bits is finally not correctly decoded, the so-called frame error rate FER. The throughput is 1 n P n+nc+M P+lAV' (16) RAV= [Av is the average number of additionally transmitted bits per P information bits. From Fig.’8 this can be interpreted as the average number of additionally transmitted columns. P/(P + [A y) isthe effective code rate of the FEC code. Due to the overhead of HC parity check bits and M terminating bits with n, + M at n, the throughput is slightly smaller than the effective FEC code rate. We assume that the error detecting code Co achieves a very low probability of undetected errors which will be ignored in the subsequent analysis. If the (n + 11,, n) error detection code Co falls into the class which satisfies [20] Prob {error undetected} < 2 ‘ "c a very low error probability can be achieved when HC is at least 16. Typically, one would use a cyclic redundancy check CRC common in data transmission. protocols. Let [k be the 397 sequence number of the decoding attempt using the RCPC code with puncturing tables a(lk) with 11<12<"‘<[k<"' [1(- Let PEF(lk) be the probability that the FEC decoding at the kth step results in errors which are detected by Co. We will give an approximate analysis where we assume that the K decoding attempts have statistically independent outcomes. Then we have X 1—1 K IAV= 2 11:0 ’PEFUk» ' H PEF(li)+ 1K H PEFUi) (17) F. i=0 i=0 where we define PEFUO) = 1. The frame error rate of the unsuccessful ARQ/FEC procedure is then FER=PEF(IK). (18) We can include in the analysis a delay TD caused by the round- trip time and the decoding time by replacing 1,, in (17) by 1,. := min {In Ik+PTD/(Ts(n+n,+m))}. (19) ‘ Similarly, a loss or error in the ACK signal on the return channel, causing unnecessary transmission up to (K, can be accommodated. For the probability PEA lk), we only can give an upper bound by using (9) to calculate the probability that an error event occurs for the transmitted bits 1 PEF(1,,)<1—(1—I—D E ham n+nc+M a401,) ' Pd) O The values 0,; depend on the code, Pd depends on the channel and the detection scheme and can be selected from the values given in Section IV and in [9]. Recall that Pd usually assumes sufficient interleaving. By using (20) in (17) and (16), we obtain a lower bound for the throughput R A y and by using (20) in (19), we get an upper bound on the FER. Two examples will be given to show the performance of the RCPC codes in the hybrid ARQ/FEC scheme. The same code with M = 4, N = 3, P = 8 will be used, which has fairly low decoding complexity with 16 states and 32 add, compare and select operations per decoded bit. Fig. 9 shows the throughput on a Gaussian channel with hard and soft decisions as calculated by the lower bound method described. The simula- tions show that for this case the bound is accurate within 1 dB. The benefits of soft decisions are clearly observable. Due to the overhead RAyapproaches 0.97 for high SNR. At low SNR, RAy approaches 0.323 and the frame error rate is high. The RCPC scheme which uses adaptive code rates between 1 and US has generally a better throughput than comparable schemes described in [4] and its throughput curve constitutes a kind of envelope to the corresponding fixed rate schemes. In Fig. 10 the performance on a fully interleaved Rayleigh channel is given. In this case, decoding starts with l = 1, i.e., the 8/9 code and ends with the 1/3 code. Several degrees of CSI are given as described in Section IV: YHAN, YHAH, and YSAS. Note that for a Rayleigh channel with Es/No = 10 dB a frame error rate of less than 10" and a throughput of 0.7 can be easily achieved. Simulation results and analytic bounds agree within 1 dB. VI. THE APPLICATION OF RCPC Cones TO UNEQUAL ERROR Paoracnos In many applications it is required to provide different levels of error protection for different parts of an information sequence or block. Some examples have been given in the introduction. We assume that the source or the source coder supplies us with some information about the relative impor— 398 1 0.8 T 0.6 i o SIMULATION “‘ 0.4 HARD 0.2 o 10-4 10‘3 10'2 10" 1 CHANNEL BER ~—> E,/N,,e 7 s 54 3210 dB Fig. 9. ARQ/FEC throughput with RCPC codes on a Gaussian channel with softamihard decisions (BSC). Code: P = 8,N = 3,1: 0,1, 2, 4, ~-~, 16,M = 4. Frame: n = 8 x 125, n, = 28. 0 N0 CSI (VHAN) -—— 0 1 BIT CSI (YHAH) —--— x FULL CSI (YSAS) 7* \ CALCULATION SIMULATION 0.2 0 0 4 8 12 dB 16 20 E./N°—b Fig. 10. ARQ/FEC throughput and frame error rate FER on an interleaved Rayleigh channel, hard decision, and CSI. Code: P = 8, N = 3, l = 1, 2, 4, ---,16,M= 4. Frame: n = 8 x 48, n. = 34. tance or susceptibility to errors of certain information bits or groups of information bits. We will call this source signifi- cance information (551). An example of an 881 would be the required ISER after decoding for certain groups of information bits. Assume, that in a block of 71 information bits we have K groups with nk information bits in the kth group requiring an BER of PM after decoding. In this case, PM. would be the 881 and K E nk=n. k'=I An example is given in Fig. 11 where we have ordered the information bits according to their relative importance and their error protection needs PM. Of course one could now separately encode the K groups by K different encoders and use K different decoders according to the protection needs. Besides the increased overhead and complexity some numbers 11,, might be rather small and exclude the use of powerful longer codes. Instead, We wish to use one encoder and one decoder which provides the proteCtion requirements with a minimum of redundancy and overhead. Very little is known in the literature about unequal error protection of this type by block or convolutional codes. A recent reference is [21] where more literature is quoted. Most recently the extension of this IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, NO. 4, APRIL 1988 P], < Pb < pbB <sz< I>,,1 CODE INDEX 1.. 25 > 14 > 13 > 12 > 11 CODE RATE R. OF P < P < P < P < P RCPC - CODE P+15 Pu4 P413 P”; PHI PUNCTURING TABLE a 1 ) a” ) gm) 0F RCPC-CODE “15) 9”“ 9‘13) J 2 ‘ FREE DISTANCE OF as > d4 > as , .12 > d, RCPC -CODE Fig. 11. Data frame with information bits grouped according to their error protection requirement (source significance information PM). RCPC codes assigned to the groups. concept to convolutional codes has been reported [26]. It seems, however, that only a limited amount of variability can be introduced and only short or low rate codes have been used. Furthermore, no ML decoding results have been shown. Another interesting unequal protection scheme with two codes has been reported in [22], which combines block and convolutional codes. ' RCPC codes are well suited for this application. In the example of Fig. 11, the ordered information bits are shifted into the shift register of a UN, memory M RCPC code. During the n, information bits the puncturing matrix (10,) is used as the relevant rule for the multiplexer. As soon as the first bit of the second group enters the encoder the puncturing table, a(12) will be used. After another It; information bits or encoder shifts, the table is switched to a(13), etc. The procedure is easier to follow when nk is an integer multiple of the puncturing period P, however, this is not a strict requirement. At the kth step P + 1,, code bits are transmitted per P information bits using the RCPC code with index 1,, and rate R k = P/(P + 11,). The frame is terminated after the group nK by shifting M “0” bits into the shifi register, thus transmitting M/RK overhead code bits necessary for proper termination of the trellis. The average code rate is then K E "k R: k=l K . E m, - (P+lk)/P+M(P+IK)/P k=l The rate-compatibility condition (73) is crucial. In a transitional phase between two matrices a(lk) and a(lk+1) where I“. > [k we have to guarantee, that despite the transition, the distance properties of all paths originating in code 1;, do not suffer a loss of distance due to transitions, thus guaranteeing at least the designed performance. Fig. 12 shows the same error paths relative to the correct all-zero path in RCPC-code 1k: path 1 having distance d1 is not effected by a transition, whereas path 2 extends into the lower rate code In]. The rate-compatibility condition (7a) guarantees that the lk+1 code does not puncture any “1” on the path. Due to less puncturing it might happen that additional ‘ ‘ 1 ’ ’ "5 occur on the part B of the path, which would cause a d; > d1. Therefore, some of the {ad} and {Cd} values have to be assigned to higher distances if the path is not terminated at the transition. Thus, the rate compatibility restriction guarantees that transitional paths do have a distance which is at least the distance of the same path within the higher rate code, and at most the distance of the same path within the lower rate code. If two punctured codes without the rate compatibility restriction are used at a rate transition, it can happen that a transitional path has a distance which is even lower than the distance of the same path HAGENAUER: (RCPC CODES) AND THEIR APPLICATIONS ’k < ’kn PATH 1 PATH 2 DISTANCE d1 DISTANCE d2; d1 Fig. 12. Error paths in a time varying RCPC code during a transition period between code rates. 4/8 CODE RATE CHANNEL: 4/7 4/5 4/6 10-' GAUSS aCPSK YHAN EyNo= asdB _. O I n) LOIE RCPC M=3 p=4 DECODED BER FRAME: 16x8 INFO BITS 20.000 FRAMES STD. DEVIATION O I u 10-4 Li_LLi_i_L_L_l_J_. 5 10 15 BYTE NR. Measured short term bit error rate in a data frame with unequal error protection using RCPC codes. Fig. 13. within the higher rate code. This would lead to a bad error behavior in the transition region. One can easily construct such an example. It is useful to order the information as described with increasing importance. Decoding errors typically occur at the beginning of paths and the last M information bits of each error path are error free. However, the transitional paths (path 2) to lower rates generally have higher distances and therefore errors occur with lower probability. Simulations show that this type of ordering leads to a smaller number of total errors. Error paths can extend over many transitions. All paths will be properly terminated by the tail forcing the decoder to the all- zero state. Ordering the information bits from lower to higher rate codes would require proper zero termination at each change of rate. We conclude this section by giving an example of the simulated performance of the RCPC code with unequal error protection within one data frame of 128 bits. As Fig. 13 shows the code rate is changing from 4/5 to 4/8 while the measured short term BER is improving by a factor of 100. As discussed above, the bits close to a transition to the next lower rate get a better protection. VH. CONCLUSIONS We have described the concept of forward error correction codes which are obtained from low rate convolutional codes by puncturing them periodically in a rate-compatible manner. Surprisingly, this restriction still produced good codes relative to the best known codes of comparable complexity. In such a way, a whole family of codes with different rates is available using the same encoder and the same ML—decoder employing the Viterbi algorithm. Only the puncturing rule, i.e., the multiplexer switching pattern is changed. Since in most transmission schemes, channel rate is fixed due to modulation and channel filter requirements, changing the code rate means a change of information rate and a buffer for the incoming 399 information stream is required. One disadvantage of punctured codes with high rate is that error paths can be quite long, as shown in Fig. 3 and in [7]. This requires either long path memories in the VA, framed transmission as employed in most packet oriented transmission schemes, or periodically inserted synchronization patterns or known data bits. In a decoder implementation, the basic Viterbi algorithm runs on the same trellis for all the codes. This suggests a VLSI for the Viterbi—decoding algorithm where only the control and the memory access is changed according to the rate, the channel conditions, and the channel state information (CSI). Since the compatibility condition ensures that only incre— mental redundancy is used for lower rate codes, RCPC codes are suitable for ARQ/FEC protocols and unequal error protection as shown in Sections V and VI. Of course, both methods can be combined to adapt unequal error protection to varying channel conditions. For instance, the transmission security of a frame with a set of unequal error protection codes using rates (1, 8/10, 8/14) can be upgraded to a set of (8/10, 8/ 12, 8/16) codes when the channel conditions get worse by transmitting another two check bits per 8 information bits. The concept of RCPC codes can be combined with the concept of nested codes [25] where the Viterbi decoder can work also with M — 1, M ~ 2, - ' - on a reduced set of states. Codes have been found which satisfy both the RCPC and the nested condition. Furthermore, the concept of RCPC codes could also be used to find a family of “good” codes with high memory suitable for sequential decoding [3]. “Good” would mean that all the codes with different rates need a rapidly growing distance profile [3]. In an ARQ/FEC application, the error detection via the Co code could be replaced by a time-out condition in the Fano or stack algorithm. The design of combined source and channel coding as described for voice transmission in [23] and for image transmission in [24] gets a new degree of freedom by using RCPC codes because the code rate can be changed within a data frame and during transmission according to the needs [27]. In other words, source significance information 881, channel state information CSI, and check information from the decoded bits can be used for the adaptation of the encoding and ML-decoding algorithm of RCPC codes. ACKNOWLEDGMENT The author would like to thank H. Osthoff for writing the computer search program used in Section HI as part of his Dipl. Ing. thesis at the Technical University Miinchen. REFERENCES [I] G. C. Clark and J. B. Cain, Error-Correction Coding for Digital Communications. New York: Plenum, 1981. [2] N. S. Jayant and P. Noll, Digital Coding of Waveforms, Principles and Applications to Speech and Video. Englewood Cliffs, NJ: Prentice Hall, 1984. [3] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications. Englewood Cliffs, NJ: Prentice Hall, 1983. [4] S. Lin, D. J. Costello, and M. J. Miller, “Automatic repeat—request error control schemes," IEEE Commun. Mag, vol. 12, pp. 5—17, Dec. 1984. [5] D. M. Mandelbaum, “An adaptive-feedback coding scheme using incremental redundancy,” IEEE Trans. Inform. Theory, vol. lT-20, pp. 388—389, May 1974. [6] J. B. Cain, G. C. Clark, and J. M. Geist, “Punctured convolutional codes of rate (It — l)/n and simplified maximum likelihood decod- ing,” IEEE Trans. Inform. Theory, vol. IT—25, pp. 97—100, Jan. 1979. [7] Y. Yasuda et (11., “Development of variable-rate Viterbi decoder and its performance characteristics,” in Proc. 6th Int. Conf. Digit. Satellite Commun., Phoenix, AZ, Sept. 1983, pp. XII-24-XII-3l. [8] Y. Yasuda, K. Kashiki, and Y. Hirata, “High rate punctured convolutional codes for soft decision Viterbi decoding," IEEE Trans. Commun., vol. COM-32, pp. 315—319, Mar. 1984. [9] J. Hagenauer, “Viterbi decoding of convolutional codes for fading and 400 [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] burst channels," in Proc. 1980 Int. Zurich Sem., Mar. 1980, pp. G2.l—GZ.7. M. Mooser, “Some periodic convolutional codes better than any fixed code,” IEEE Trans. Inform. Theory, vol. ITv29, pp. 750—751, Sept. 1983. M. Cedervall, “Contribution to the decoding and structure of convolu- tional codes," Ph.D. dissertation, Univ. Lund, Sweden, 1983. D. G. Daut. J. W. Modestino, and L. D. Wismer, “New short constraint length convolutional code constructions for selected rational rates,” IEEE Trans. Inform. Theory, vol. IT»28, pp. 794—800, Sept. 1982. A. J. Viterbi and J. K, Omura, Principles of Digital Communication and Coding. New York: McGraw Hill, 1979. J. Hagenauer and E. Lutz, “Forward error correcting coding for fading compensation in mobile satellite channels,“ IEEE J. Select. Areas Commun, vol. SAC-5, pp. 215—225, Feb. 1987. D. Chase, “Code combining—A maximum likelihood decoding ap— proach for combining an arbitrary number of noisy packets," IEEE Trans. Commun, vol. COM-33, pp. 385—393, May 1985. D. Chase, P. D. Mullins, and .I. K. Wolf, “Application of code combining to a selective repeat ARQ link," in 1985 IEEE Military Commun. Conf. MILCOM ’85, Conf. Rec, vol. 1, pp. 247—252, 1985. J. J. Metzner and D. Chang, “Efficient selective repeat ARQ strategies for very noisy and fluctuating channels,” IEEE Trans. Commun., vol. COM—33, pp. 409—416, May 1985. H. Krishna and S. D. Morgera, “A new error control scheme for hybrid ARQ systems," in Proc. ICC 1986, Toronto, Ont., Canada, pp. 637—645. T. Kasami, S. Lin, and D. J. Costello, “Performance analysis of a concatenated coding scheme for error control,” in Proc. [CC 1984, Amsterdam, The Netherlands, pp. 769-773. J. K. Wolf, A. M. Michelson, and A. H. Levesque, “On the probability of undetected error for linear block codes," IEEE Trans. Commun, vol. COM»30, pp. 317—324, Feb. 1982. W. J. Gils, “Linear unequal error protection codes from shorter codes.” IEEE Trans. Inform. Theory, vol. IT-30, pp. 544—546, May 1984. L. Kittel and P. Piret, “Compound coding with unequal error IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, NO. 4, APRIL 1988 [23] [24] [25] [26] [27] protection for digital mobile radio systems,” (in German), NT 0 ['achberichte, no. 90, "Bewegliche Funkdienste," pp. l78—l85, VDE Verlag, Frankfurt, Germany, 1985. D. J. Goodman and C. E. Sundberg, “Combined source and channel coding for variable-bit-rate speech transmission,” Bell Sysl. Tech. 1.. vol. 62, no. 7, pp. 2017—2036, Sept. 1983. D, G. Dam and J. W. Modestino, “Two dimensional DPCM image transmission over fading channels,“ IEEE Trans. Commun, vol. COM—31. pp. 315328, Mar. 1983. F. Hemmati, “A Versatile Viterbi processor for decoding variable gain/ rate convolutional codes," presented at Proc. 7th Int. Conf. Digital Satellite Commun., Munich, West Germany, May 1986. R. Palazzo, Jr., “On the linear unequal error protection convolutional codes,” in Proc. GLOBECOM1986, Houston, TX, pp. 1367—1371. R. V. Cox, J. Hagenauer, N. Senhadri, and C.-E. Sundberg, “A sub- band coder designed for combined source and channel coding," presented at Proc. ICASSP 1988, New York, Apr. 1988. * Joachim Hagenauer (M’78ASM'87) received the Ing.(grad) degree from Ohm—Polytechnic Niirnr berg, in 1963, and the Dipl-Ing. and the Drrlng. degrees in electrical engineering from Technical University Darmstadt, in 1968 and 1974, respec- tively. At Darmstadt University he served as an Assist- ant Professor and Dozent. From May 1975 to September 1976 he held a postdoctoral fellowship at the IBM T. J , Watson Research Center, Yorktown Heights, NY, working on error correction coding I for magnetic recording. Since 1977 he has been with the German Aerospace Research (DFVLR) at Oberpfaffenhofen—since May 1980 as the Head of the Communication Theory Group. His research interests include convolutional coding, data transmission via fading channels, and mobile communications. During 1986/87 he spent a sabbatical year as an “Otto Lilienthal Fellow" at AT&T Bell Laboratories, Crawford Hill, NJ working on joint source/channel coding and on trellis coded modulation. ...
View Full Document

Page1 / 12

RCPCs - IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 36, N0....

This preview shows document pages 1 - 12. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online