FORWARD ERROR CORRECTING SYSTEM WITH ENCODERS CONFIGURED IN PARALLEL AND/OR SERIES

Abstract: A method of forward error correction for communication systems, comprising the steps of producing a symbol stream by forward error coding of a data stream, modulating the symbol stream to produce a modulated signal, transmitting the modulated signal over a communication link, receiving the modulated signal, where the received modulated signal includes errors, demodulating the received signal which includes errors, decoding the demodulated signal by a plurality of convolutional decoders, and, regenerating the data stream and eliminating the errors. A method of peak power level reduction for communication systems utilizing a plurality of coders comprising the steps of producing a peak reduced signal by encoding the data stream by the plurality of coders, modulating the peak reduced signal, and, transmitting the modulated peak reduced signal. An apparatus is described for implementing the method.

Description: FORWARD ERROR CORRECTING SYSTEM WITH ENCODERS CONHGURED IN PARALLEL AND/OR SERIES Tins non-provisional patent application claims the benefit under 35 U S C Section 1 19(e) of Umted States Provisional Patent Application No, 60/094,629, filed on Julv 30,1 98, and Provisional Patent Application No, 60/098,394, filed on August 30,1998, and Provisional Patent Application No 60/133,390, filed on May 10, 1999, all of which are incorporated herein bv reference Field ol the Invention The present invention relates to the use of forward error correction techniques m data transmission over wired and wireless sv stems using an optional Reed-Solomon encoder as an outer encoder and a multiple concatenated convolutional encoder (in seπal or parallel configuration) as an inner encoder A preferred embodiment of the invention pertains particularly to ADSL svstems. as a representative species of wired-based svstems Background of the Invention The invention is based on use of a multiple concatenated convolutional encoder in seπal or in parallel configuration In the seπal case it is called Seπal Multiple Concatenated Convolutional Code (SMCCC), and in the parallel case is called Parallel Multiple Concatenated Convolutional Code (PMCCC) Tins gives an extra redundancv to the signal a way that improves the performance of the codification (increasing the coding gam) Theory ol " Trellis Coding Modulation constellations of more than 2 points (such as Quadrature Amplitude Modulation (QAM), and Quaternary Phase Shift Kevmg (QPSK)) are used to mcrease the bit rate at the cost ol smaller Euclidean distances (distance between adjacent points in a signal constellation) Coding techniques are used to decrease transmission errors, when transmitting over power-limited channels Trellis Coding combines coding and modulation to improve bit error rate performance As m other forms of forward error correction, the basic idea behind Trellis Codmg is to introduce controlled redundancy in order to reduce channel error rates What sets Trellis Codes apart is that this technique introduces redundancy by doubling the number of signal points m the QAM constellation (partitioning) BPSK and QPSK signal constellations are show in Figures 1 and 2 The actual (noisv) received signal will tend to be somewhere around the "correct" signal point The receiver chooses the signal point closest to the noisv received signal As more points are added to the signal constellation and the power is kept constant, the probability of error increases, because the Euclidean distance (distance between adjacent signal pomts) "d" is decreased and the receiver has a more difficult job making the coπect decision Thus it would make sense, that the Euclidean distance "d" dominates the probability of error expressions Smce the power is the same for both constellations, the required energy is also the same The signal points in BPSK axe = 2 apart and d = 1 414 apart for QPSK The following expressions are for probabilm ot error ( lor BPSK) Substituting lor V the above er/c ! dE (QPSK) - jl o where erfc is the complementary error function Trellis Codmg expands on this concept to increase the Euclidean path distance for a more thorough deπvation ol the probability of error With the exception of the constant factor in front of the complimentary error function, it should be noted that both error expressions depend on the signal spacing d and that the probability for QPSK errors is higher (not surpπsing since the signal spacing is smaller) Trellis coding enables us to recover from this increase in probability of error M-QAM and PSK normally use a signal set ϊM=2k symbols in order to reduce the symbol rate by a factor of M Examples oϊM=4 QAM and QPSK are show in Figures 3 and 4 respectively Doubling the number ol signal pomts m order to support two state Trellis Coding, we get the signal constellations for two state Trellis Codmg shown in Figures 5 and 6 Thus, Trellis Coding uses 2 *M possible symbols for the same factor-ot-M reduction of bandwidth (and each signal is still transmitted during the same signaling peπod) Trellis Codmg provides controlled redundancy, by doubling the number of signal pomts In addition, Trellis codmg defines the way in which signal transitions are allowed to occur (Signal transitions that do not follow this scheme will be detected as errors) This is best explained using the Trellis Coded 8-PSK example The 8-PSK signal constellation is show in Figure 7, where we can see the individual signal pomts Note that the signal point labels "0,1,2,3,4,5,6,7" do not correspond to die actual data being sent They are only convement ways to label the signal pomts and keep from clutteπng up the graphics Without coding, the performance m 8-PSK depends on do (do=2 sin (71 8) =0 765), which coiresponds to a higher bit error rate than QPSK (dι=l 414) Bv using Trellis Coding, it is possible to improve the performance by restπctmg the wav m which signals are allowed to transition First the states of the trellis are defined Lets label one state as "0426", and the other state as "1537" Each digit refers to one of four permitted signal pomts in the state (state points), with each state by itself representing a QPSK constellation, with each state's constellation being offset by 45 degrees from the other Figure 8 descπbes a two-state trellis, 8-PSK system If the system is in state "0426" only one of these four state pomts is used If a "0" or "4" is transmitted, the system remams m the same state If however, a "2" or "6" is transmitted the system switches to the "1537" state Now, only one of these four state points is used If a "3" or "7" is transmitted, the system remams in this state, otherwise if a " 1 " or a "5" is transmitted, it switches back to the "0426" state Again, note that the system in each symbol represents two bits, so that when switching states, the "QPSK constellation is shifted by 45 degrees" Assuming that all input signals are equally likely, all signal paths are traced out over tune Just as we had for non- Trelhs codmg, the received signal includes noise and will tend to be located somewhere around the state pomts The receiver again has to make a decision based on which signal point is closest and a mistaken output state value will be chosen if the receiver made an incorrect decision In order to illustrate error events, lets assume that the transmitter is sending continuous "7" symbols Figure 9 illustrates the possible error events In this case "5" followed by "6" is recened instead of the transmitted "7" - "7" sequence The Euclidean mean-squared distance lor this path is the sum ol the squares ol the distance of each interval (see Figure 7 for an illustration of the Euclidean distances and Figure 8 for the Trellis Diagram) Jd 2 (7,5) - d - (7,6) = df + dj = 2 - [ 2 sin -J = 1 608 where d( 7,5) and d( 7, 6) are the Euclidean distances between these two the signals "7" and "5", and "7" and "6" respectively Figure 10 show when case "1 " followed bv "6" is received instead ol the transmitted "7" - "7" sequence The Euclidean distance (see Figure 7 tor an illustration of the Euclidean distances i tor this path d 2 .D + d 2 (7,6) = fd do 2 , + | , stn | f | = 1 608 Figure 11 show when case "5" followed by "2" is received instead of the transmitted "7" - "7" sequence The Euclidean distance (see Figure 7 for an illustration of the Euclidean distances and Figure 8 for the Trellis Diagram) for this path is d 2 (7,5) + d 2 (7,2) = Figure 12 show when case "1 " followed by "2" is received instead of the transmitted "7" - "7" sequence The Euclidean distance (see Figure 7 for an illustration of the Euclidean distances and Figure 8 for the Trellis Diagram) for this path is d 2 (7,l) + d 2 (7,2) = J d ? + d = J 2 + [2 sin = 2 33 The only remaining error event is the single interval "3" instead of "7" error event, which has a Euclidean distance of 2 (see Figure 7) Because of then large Euclidean distance (2 33), the "5" - "2" and "1 " - "2" error events are least likely The "1 " - "6" and "5" - "6" error events are most likely because of their low Euclidean distance (1 608) The minimum Euclidean distances for a trellis is the minimum tree Euclidean distance "d E " (simi to the minimum Iree distance m convolutional coding) For the above example dε=l 608 Since dε is a measure of the closest spacing between adjacent state points (and therefore also more likely to cause errors), it dictates the lower bound for probability of error for the entire Trellis in the following way where, α (dε)ιs the number of error paths at distance dε In the 2 states trellis example, there are 2 error paths at a distance of dε Therefore the probability of error is r 1 608 I E Pe ≥ erfc We found the probability of error for regular (non Trellis coded) QPSK to be , 1 404 [ P e = erfc The improvement of two state Trellis Coding over QPSK is therefore 1 608/1 414 or 1 1 dB Tins is a low coding gain for the amount ol overhead required to handle Trellis coding One might ask, is there a way to increase the coding gain obtainable with Trellis Coding 7 Tliere certainly is First, it is possible to increase the number of trellis states above 2, such as the four-state trellis shown in Figure 13 Note that the permitted state transitions are only drawn tor column "I" The same state transitions are gam permitted m column "II", "IH", and so on Increasing the number of states, one also increases the Euclidean distances For example, in the above tour state trellis coding case, all error events have a Euclidean distance of more than 2 (smgle "4" error) Tins single " 4" error, is the onlv ' lowest" error event with minimum Euclidean path distance Therefore, the lower bound for 4 state Trellis Codmg is Compaπng this equation to the equation for regular QPSK, we have a coding gain of 2 1 or 3 dB Table 1 illustrates further codmg gains that can be obtained bv using even more states in the trellis Table 1 Trellis Coding Gain vs Number of Trellis States Another way to improve codmg gam m Trellis Codmg is to go to more than 2 dimensions Summary of the Invention The present invention compnses forward error correction techniques in data transmission over wired systems using an optional Reed Solomon encoder as an outer encoder and a multiple concatenated convolutional encoder (MCCC) (m seπal or parallel configuration) as an inner encoder With an "Optional" Reed-Solomon outer encoder we mean that it could be present or not We descπbe its application to ADSL DMT (Discrete Multi-Tone, multiple-camer) based systems The extension to CAP/QAM (single-earner) based, other xDSL systems (HDSL, VDSL, HDSL2, etc ), other wired commumcation systems, wireless systems and satellite systems is straightforward ADSL modems are designed to operate between a Central Office CO (or a similar point of presence) and a customer premises CPE As such they use existmg telephone network wiring between the CO and the CPE There are several modems in this class which function in generally similar manner All of these modems transmit their signals usuallv above the voice band As such, they are dependent on adequate frequency response above voice band With the technique that we propose in this invention, it is possible to reach longer loops or reduce the transmitter power for ADSL systems For wireless systems it is possible to reduce the power consumption, increase the coverage area and to extend the life of the portable systems For satellite systems it is possible to increase the G/T factor around 4 dB, to increase the life of the satellite, to increase the coverage area and to reduce the requirements of the terrestπal systems With the use of the Trellis Coded Modulation (TCM) it is possible to obtain coding gams between 3 and 6 dB (depending on the dimension of the trellis) Using the technique that we propose, the performance of this technique is within 1 dB from the Shannon limit, at a bit error probability of 10 7 MCCC achieves near-Shannon-limit eπor correction perloπnance We have done some simulations that show bit error probabilities as low as 10 5 at Eι/N o =0 6 dB PMCCC yield very large coding gams (around 10 or 1 1 dB) hi the PMCCC case, after this value of 10 the role of the interleaver is very cπtical and to avoid the floor-error it is necessary to make a good design of the interleaver hi our design the Reed-Solomon outer encoder help to take care of this floor-error lower than 10 7 In this invention, we present simulation results, and we compare the Reed-Solomon encoder (for R=8 and R=16) with the Trelhs plus Reed-Solomon (T+R=8 and T+R=16) and the two PCCC plus Reed-Solomon (TC+R=8 and TC+R=16) In all this cases will not take mto account the pavload of the Reed-Solomon code, because will have the same effect m all codmg techniques These results, we present, are for Gaussian noise In manv wire-line svstems, broadband unpulse noise is also a significant transmission impairment Although we have not modeled impulse noise effects in this analysis, in DMT systems, unpulse noise whose duration is short compared to the frame size appears to be rather Gaussian-like, smce it passes through a DFT m the receiver Furthermore, because the noise is broadband, the noise energy in the signal band is distπbuted among the vaπous frequency bms Thus the additional immunity against additive white Gaussian noise provided by the trellis code should be beneficial for unpulse noise as well We present an encoder, decoders and some simulation results Bnef Descπption of the Several Views of the Drawings Figure 1 shows a BPSK signal constellation, Figure 2 shows a QPSK signal constellation, Figure 3 shows a QAM signal constellation with M=4. Figure 4 shows a QPSK signal constellation. Figure 5 shows a QAM signal constellation with M=8 (Used with two state Trellis), Figure 6 shows a PSK signal constellation with M=8 (Used with two state Trellis), Figure 7 shows a signal constellation with M=8 (Used with two state Trellis), Figure 8 shows a two-state Trellis 8-PSK system, Figure 9 shows an error Event "5" → "6" in a 2 states Trellis encoding, Figure 10 shows an error Event " 1" → '6" in a 2 states Trellis encoding, Figure 11 shows an error Event "5" → "2" in a 2 states Trellis encoding, Figure 12 shows an error Event "1" -> "2" in a 2 states Trellis encoding, Figure 13 shows a four-state Trellis, 8-PSK system, Figure 14 shows a seπal Concatenated (n,k,N) block code, Figure 15 shows the action ol a uniform mterleaver of length 4 on sequences of weight 2, Figure 16 shows a senally Concatenated (n,k,N) Convolutional code, Figure 17 shows a code sequence in A uy Figure 18 shows an analytical bounds for SMCBC 1 lor N = 4, 40, 400 and 4000, Figure 19 shows an analytical bounds for SMCBC2 for N = 5, 50, 500 and 5000, Figure 20 shows an analytical bounds for SMCBC3 for N = 7, 70, 700 and 7000, Figure 21 shows an analytical bounds for SMCCC 1 for N = 200, 400, 600, 800, 1000 and 2000, Figure 22 shows an analytical bounds for SMCCC2 for N=200, 400, 600, 800, 1000, 2000, Figure 23 shows an analytical bounds for SMCCC3 for N=200, 400, 600, 800, 1000, 2000, Figure 24 shows an analytical bounds for SMCCC4, Figure 25 shows a PMCCC, Figure 26 shows a transmission svstem structure, Figure 27 shows notations in a transmission svstem structure Figure 28 shows a PMCCC of three convolutional codes Figure 29 shows a signal flow graph lor extrinsic information Figure 30 shows an iterative decoder structure tor three parallel concatenated codes Figure 31 shows an iterative decoder structure tor two parallel concatenated codes Figure 32 shows a convergence of turbo coding bit-error probability versus number of iterations for vaπous Ei No using the SW2-BCJR algoπthm, Figure 33 shows a convergence of turbo coding bit-error probability versus number of iterations for vaπous Ei No usmg the SWAL2-BCJR algoπthm, Figure 34 shows a bit-error probability as a function of the bit signal-to-noise ratio using the SW2-BCJR and SWAL2-BC JR algoπthms with five iterations, Figure 35 shows a number of iterations to achieve several bit-error probabilities as a function of the bit signal-to-noise ratio using the SWAL2-BCJR algoπthm, Figure 36 shows a Number of iterations to achieve several bit-error probabilities as a function of the bit signal-to-noise ratio usmg the SW2-BC JR algoπthm, Figure 37 shows a basic structure for backward computation m the log-BCJR MAP algoπthm, Figure 38 shows a Trellis Termination, Figure 39 shows an example where a block interleaver fails to "break" the mput sequence, Figure 40 shows the two PMCCC performance, r = ' , Figure 41 shows performance with short block sizes, Figure 42 shows three-code performance, Figure 43 shows a compaπson of SMCBC and PMCBC with vaπous interleaver lengths chosen so as to yield the same mput decoding delay, Figure 44 shows a compaπson of SMCCC and PMCCC with four-state MCCs, Figure 45 shows Block diagram of a parallel concatenated convolutional code (PMCCC) (a) a PMCCC rate =1/3 (b) iterative decoding of a PMCCC, Figure 46 shows Block diagram of a seπal concatenated convolutional code (SMCCC) (a) an SMCCC rate =1/3 (b) iterative decoding of an SMCCC, Figure 47 shows a trellis encoder, Figure 48 shows an edge of the trellis section, Figure 49 shows the soft-input soft-output (SISO) model. Figure 50 shows the convergence of PMCCC-decodmg bit error probability versus the number of iterations usmg the ASW-SISO algoπthm. Figure 51 shows the convergence of iterative decoding tor a seπal concatenated code bit eπor rate probability versus number of iterations using the ASW-SISO algoπthm, Figure 52 shows a compaπson of two rate 1/3 PMCCC and SMCCC The curves refer to six and nine iterations of the decoding algoπtlim and to an equal input decoding delay of 16,384. Figure 53 shows a block diagram for a modem transmitter m accordance with this invention, for the Central Office and for STM tr<ansport, Figure 54 shows a block diagram for a modem transmitter in accordance with this invention, for the Central Office and for ATM transport. Figure 55 shows a block diagram for a modem transmitter in accordance with this invention, for the Remote modem and for STM transport. Figure 56 shows a block diagram for a modem transmitter in accordance with this invention, lor the Remote modem and for ATM transport. Figure 57 shows an ATU-C functional interfaces tor STM transport at the V-C reference point. Figure 58 shows an ATU-C functional interfaces to the ATM laver at the V-C reference point. Figure 59 shows an ATM cell delineation state macnme Figure 69 shows an Example implementation of the Admeasurement Figure 61 shows an ADSL superframe structure - ATU-C transmitter. Figure 62 shows a fast synchronization byte ("fast byte") format - ATU-C transmitter. Figure 63 shows an interleaved synchronization byte ("sync bvte") tormat - ATU-C transmitter. Figure 64 shows a fast data buffer - ATU-C transmitter, Figure 65 shows an mterleaved data buffer, ATU-C transmitter. Figure 66 shows a scrambler, Figure 67 shows a tone ordering and bit extraction example (without trellis codmg), Figure 68 shows a tone ordering and bit extraction example (with trellis coding), Figure 69 shows a conversion of u to v and w, Figure 70 shows a finite state machine for Wei's encoder, Figure 71 shows a convolutional Encoder, Figure 72 shows a trellis diagram, Figure 73 shows a constellation labels for b = 2 and b = 4, Figure 74 shows an expansion of point n mto the next larger square constellation. Figure 75 shows a constellation labels for b = 3, Figure 76 shows a constellation labels for b = 5, Figure 77 shows a MTPR test, Figure 78 shows ∞ ATU-R functional interfaces for STM transport at the T-R reference point, Figure 79 shows an ATU-R functional interfaces to the ATM layer at the T-R reference point, Figure 80 shows a fast data buffer - ATU-R transmitter, Figure 81 shows an interleaved data buffer - ATU-R fransmitter, Figure 82 shows two parallel Concatenated convolutional Encoder, Figure 83 shows a conversion of u to v and w m the PMCCC encoder, Figure 84 shows a decoder for PMCCC, Figure 85 shows the convergence of "constellation" mterleaver for PMCCC, Figure 86 shows an interleaver for PMCCC, Figure 87 shows a Seπal Convolutional Concatenated Encoder, Figure 88 shows a decoder for SMCCC, Figure 89 shows an interleaver for SMCCC, Figure 90 shows the Convolutional Concatenated Encoder used for simulations. Figure 91 shows simulations tor PMCCC, and, Figure 92 shows the Convolutional encoder uses for simulations Detailed Descπption of the Preferred Embodiment We hereby incorporate by reference the following references Rauschmayer, Dennis J "ADSL/VDSL Principles", Macmillan Technical Publishing, 1999 ITU G 992 1 "ADSL Transceivers ', ITU, 1999 ITU 1432 "B-ISDN user-network interface-physical laver specification , ITU , 1993 Benedetto, Divsalar, Montorsi and F Pollara, 'Seπal Concatenation of Interleaved Codes Performance Analvsis, Design, and Iterative Decoding", The Telecommunications and Data Acquisition Progress Report 42-126 Jet Propulsion Laboratory Pasadena, California, pp 1-26, August 15, 1996 5 Benedetto, Divsalar, Montorsi and F Pollara, A Soft-Output M.axιmum A Posteπoπ (MAP) Module to decode parallel and Seπal Concatenated Codes", The Telecommunications and Data Acquisition Progress Report 42-127, Jet Propulsion Laboratory, Pasadena, California, pp 1-20, November 15, 1996 6 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, pp 284-287, March 1974 7 Divsalar and F Pollara, "Turbo Codes for PCS Applications", Proceedings of ICC'95, Seattle, Washington, pp 54-59, June 1995 8 D Divsalar and F Pollara, "Multiple Turbo Codes", Proceedings of IEEE MILCOM95, San Diego, California, November 5-8, 1995 9 D Divsalar and F Pollara, "Soft-Output Decodmg Algoπthms in iterative Decoding of Turbo Codes," The Telecommunications and Data Acquisition Progress Report 42-124, Jet Propulsion Laboratory, Pasadena, California, pp 63-87, February 15, 1995 1 Performance Analysis, design and iterative decoding of * SMCCC and PMCCC 1 1 Analytical Bounds to the Performance of Senallv Multiple Concatenated Codes 1 1 1 Senallv Multiple Concatenated Block Codes (SMCBC) The scheme of two senallv concatenated block codes is shown m Figure 14 It is composed of two cascaded CCs, the outer (N,k) code C 0 with rate R° c = k/N and the inner (n, N) code C, with rate R' c = N/n, linked bv <an interleaver of length N The overall SMCBC is then an (n, k) code, and we will refer to it as the (n, k, N) code C s , including also the mterleaver length In the following, we will deπve an upper bound to the ML performance of the overall code C s We assume that the CCs are linear, so that the SMCBC also is lmear and the umform error property applies, I e , the bit-eπor probability can be evaluated assuming that the all-zero codeword has been transmitted A crucial step m the analysis compπses of replacmg the actual mterleaver that performs a permutation of the N mput bits with an abstract mterleaver called "umform mterleaver" This abstract mterleaver is defined as a probabilistic device that maps a given mput word of weight / into all distinct permutations of it, with equal probability p =l/\ (see Figure 15) The output- word of the outer code and the mput word of the inner code share the same weight Use of the uniform mterleaver permits the computation of the "average" performance of SMCBCs, mtended as the expectation of the performance of SMCBCs usmg the same MCCs, taken over the ensemble of all rnterleavers of a given length It can be proof the meaningfulness of the average performance, in the sense that there will always be, for each value of the signal-to-noise ratio, at least one particular interleaver yielding performance better than or equal to those of the uniform interleaver Let us define the input-output weight enumerating function (IOWEF) of the SMCBC Cs as A c,(W,H) = ∑ AZ' W W H h (1) wh where A^,' h i the number of codewords of the SMCBC with weight h associated with an input word of weight w We also define the conditional weight enumerating function (CWEF) A c '(w, H) of the SMCBC as the weight distπbution of codewords of the SMCBC that have input word weight w It is related to the IOWEF by With knowledge of the CWEF, an upper bound to the bit-error probability of the SMCBC can be obtained m the form Pb(e) ≤ I Σ J c 'Λι H) \ ( 3 ) 44 = / A J H „=_ e. & t ) where R c = k/n is the rate of Cs , and E b /N B is the signal-to-noise ratio per bit The problem compnses in the evaluation of the CWEF of the SMCBC from the knowledge of the CWEFs of the outer and mner codes, which we call A c °(w, L) and A Ci fl, H) To do this, we exploit the properties of the uniform mterleaver, (N \ which transforms a codeword ol weight / at the output of the outer encoder into all its distmct permutations As a consequence, each codeword of the outer code C„ of weight /, through the action of the umform mterleaver, enters the mner encoder generatmg ( codewords of the inner code C, Thus, the number A w ' h of codewords of the SMCBC of weight h associated with an input word of weight w is given by From Equation (4), we deπve the expressions of the IOWEF and CWEF of the SMCBC N Λ c °, x 4 C ' (L H) A c °(w,H) = ∑ A » > . ; ( ' (5) ,, N A c ° (W ) x A C ' (IH) A C °(W, H) = ∑ — (6) ι=o I N ) V where A c ° (W < I) is the conditional weight distπbution of the input words that generate codewords of the outer code of weight /. 1 1 2 Senallv Multiple Concatenated Convolutional Codes The structure of a senally multiple concatenated convolutional code (SMCCC) is shown m Figure 16 It refers to the case of two convolutional CCs, with the outer code C« with rate R° c = k/p, and the inner code C, with rate R' c = p/ , joined by an mterleaver of length Λ' bits hi this way they generatmg an SMCCC C? with rate R c = k/n Note that N must be an integer multiple of p We assume, as before, that the convolutional CCs is linear, so that the SMCCC is linear as well, and the umform error property applies The exact analysis requires the use of a hvpertrellis having as hyperstates pairs of states of outer and mner codes The hyperstates 5 , _, and 5 / m are joined by a hyperbranch that compnses of all pairs of paths with length N/p that jom states s, and si of the inner code and states JΓ, and s m of the outer code, respectively Each hyperbranch is thus an equivalent SMCBC labeled with an IOWEF that can be evaluated as explained m the previous subsection From the hvpertrellis, the upper bound to the bit-error probability can be obtained through the standard transfer function technique employed for convolutional codes 1 2 Design of Senallv Multiple Concatenated Codes For practical applications, SMCCCs are to be preferred to SMCBCs One reason is that maximum a posteπoπ algoπthms are less complex for convolutional than for block codes, a second is that the mterleaver ga can be greater for convolutional CCs, provided thev are suitably designed Hence, we deal mainlv with the design of SMCCCs, extending our conclusions to SMCBCs when appropπate Consider the SMCCC depicted in Figure 16 Its performance can be approximated bv that of an equivalent block code whose IOWEF labels the branch of the hypertrel s joining the zero states of the outer and inner codes Denoting bv Λ Cs (w , H) the CWEF ot this equivalent block code, we can revvπte the upper bound, Equation (3 ), as (subscπpt m will denote minimum, and a subscπpt At will denote maximum) Pb(e) < A w e Mo (7) where w° m is the minimum weight of an input sequence generatmg an error event of the outer code, and h m is the minimum weight (since the mput sequences of the inner code are not unconstrained mdependent identically distπbuted (l I d ) binary sequences but, mstead, codewords of the outer code, h„ can be greater than the inner code free distance, df ) of the codewords of Cs By "error event of a convolutional code" we mean a sequence diverging from the zero state at time zero and remerging mto the zero state at some discrete tιme 7 > 0 For constituent block codes, an error event is simply a codeword The coefficients A^,'ι, of the equivalent block code can be obtained from Equation (4) once the quantities A w "ι m d A of the CCs are known To evaluate them, consider a rate R=p/n convolutional code C with memory v, and its equivalent (N/R N - pv) block code whose codewords are all sequences of length N/R bits of the convolutional code starting from and endmg at the zero state By definition, the codewords of the equivalent block code are concatenations of error events of the convolutional codes Let A(l, H,j) = ∑ A lkj H h (11 ) h be the weight enumerating function of sequences of the convolutional code that concatenate j error events with total mput weight / (see Figure 17), where A ihj is the number of sequences of weight h, mput weight /, and number of concatenated error events 7 For N much larger than the memory of the convolutional code, the coefficient A^h °f me equivalent block code can be approximated (this assumption permits neglecting the length of eπor events compared to N , which also assumes that the number of ways j mput sequences producing 7 error events can be arranged m a register of length N is The ratio N/p deπves from the fact that the code has rate p/n, and thus N bits corresponds to N/p mput words or, equivalently, trellis steps) by where ΠM , the largest number of eπor events concatenated in a codeword of weight /; and generated by a weight / mput sequence, is a function of Λ and / that depends on the encoder Let us return now to the block code equivalent to the SMCCC Usmg the previous result of Equation ( 12) withy = n' for the inner code, and the analogous one, j=n" , for the outer code (superscπpts o and / will refer to quantities pertaining to outer and inner code, respectively), and substituting them into Equation (4), we obtain the coefficient ^' h of the senallv concatenated block code equivalent to the SMCCC m the form where d°/is the free distance of the outer code By free distance d/ we mean the minimum Hamming weight of error events for convolutional CCs and the mmimum Flamming weight of codewords for block CCs We are interested in large mterleaver lengths and thus use for the binomial coefficient the asymptotic approximation Substitution of this approximation m Equation (14) yields N n < n'» V A C Λ ~ ∑ ∑ ∑ A l=d° n °=U=l win' Ihj (15) P n I '" Λ' Finally, substituting Equation (15) into Equation (10) gives the bit-error probability bound in the form Using Expression (16) as the starting point, we will obtain some important design considerations The bound, Expression (16), to the bit-error probability is obtamed by adding terms of the first summation with respect to the SMCCC weights h The coefficients of the exponential in h depend, among other parameters, on N For large N , and for a given h, the dominant coefficient of the exponential in h is the one for which the exponent of N is maximum Define this maximum exponent as (h) max wl { » " I } (17) Evaluating afli) in general is not possible without specifying the CCs Thus, we will consider two important cases for which general expressions can be found 1 2 1 The Exponent of Λ/ for the Mmimum Weight For large values oiEi/No , the performance of the SMCCC is dominated by the first term of the summation m A, correspondmg to the mmimum value h = h m Remembermg that, by definition, n' M and n°M are the maximum number of concatenated error events in codewords of the mner and outer code of weights h m and /, respectively, the following inequalities hold true iM ( 18) d'r n M ≤ (19) d°r and where /„ (h m ) is the minimum weight / of codewords of the outer code yielding a codeword of weight h„ of the inner code, and / x J means 'integer part of x"(floor value) In most cases, l m (h m ) < 2 df° and h m < 2 , so that n t =n° M = 1 and Equation (20) becomes α(h = 1 - UfimJ ≤ J - d° j (21 ) The result, Equation (21 ), shows that the exponent of N coπespondmg to the mmimum weight of SMCCC codewords is always negative for 2 ≤ df , thus vieldmg an mterleaver gam at high Ei No Substitution of the exponent a (h mto Expression (16) truncated to the first term of the summation m h yields hm P„(e) _ ≤ B m N l -*t e ~ f^-) (22) Eb . „ -V. where the constant B„ is and W m is the set of mput weights w that generates codewords of the outer code with weight (h m ) Expression (22) suggests the following conclusions 1 For the values of Eι Noand N where the SMCCC performance is dominated by its free distance d c , s = h m , increasing the mterleaver length yields a gain in performance 2 To mcrease the mterleaver gam, one should choose an outer code with a large df 3 To improve the performance with Ei/No, one should choose an mner and outer code combmation such that h„ is large These conclusions do not depend on the structure of the CCs, and thus they apply for both recursive and nonrecursive encoders However, for a given Ei No, there seems to be a mmimum value of N that forces the bound to diverge In other words, there seem to be coefficients of the exponents in h, for h > h „, that mcrease with N To investigate this phenomenon, we will evaluate the largest exponent of N, defined as a M = nτax{ a(h) } = m∑ιx{ n ° + «' - / - / } (23) This exponent will permit one to find the dommmt contπbution to the bit-error probability for N→o 1 2 2 The Maximum Exponent of A " We need to treat the cases of nonrecursive and recursive inner encoders separately As we will see, nonrecursive encoders and block encoders show the same behavior 1 2 2 1 Block and Nonrecursive Convolutional Inner Encoders Consider the inner code and its impact on the exponent of N in Equation (23) For a nonrecursive inner encoder, e have n ι = / In fact, every input sequence with weight 1 generates a fimte- weight error event, so that an input sequence with weight / will generate, at most, / error events coπespondmg to the concatenation of / eπor events of mput weight 1 Smce the umform interleaver generates all possible permutations of its input sequences, this event will certainly occur Thus, from Equation (23) we have CCM = n° M - 1 ≥ 0 and interleaving gain is not allowed Tins conclusion holds true for both SMCCC employing a nonrecursive inner encoder and for all SMCBCs, smce block codes have codewords correspondmg to input words with weight equal to 1 For those SMCCCs, we alwavs have, for some /;, coefficients of the exponential in h of Expression ( 16) that increase with N, and this explains the divergence of the bound aπsing, lor each Eh No, when the coefficients increasing with V become dominant 1 2 2 2 Recursive Inner Encoders For recursive convolutional encoders, the mmimum weight of mput sequences generating eπor events is 2 As a / consequence, an mput sequence of weight / can generate at most eπor events Assuming that the inner encoder of the SMCCC is recursive, the maximum exponent of N in Equation (23) becomes I l + l CtM max < / - ; = max \ iu ~ 1 (24) wl .2. wl The maximization mvolves / and w, smce Π° depends on both quantities In fact, remembenng the definition of nl as the maximum number of concatenated eπor events of codewords of the outer code with weight / generated by mput words of weight w, it is straightforward, as m Equation (19), to obtain Substituting now the last inequality, Equation (25), into Equation (24) yields a M max - 1 (26) i To perform the maximization of the πght-hand side (RHS) of Expression (26), consider first the case of / = q d f ° where q is an integer, so that The RHS of Expression (27) is maximized, for 2 < df , by choosing q = 1 On the other hand, for the most favorable case is / = qdf , which leads us agam to the previously discussed situation Thus, the maximization requires I = df For this value, on the other hand, we have, from Equation (25), ° M ≤ and the inequality becomes an equality if weWf , where Wf is the set of input weights vi that generates codewords of the outer code with weight / = d°r i conclusion, the largest exponent of n is given by d j ° + l M (28) The value of OCM in Equation (28) shows that the exponents of Λ " m Expression ( 16) are alwavs negative integers Thus, tor all /;, the coefficients of the exponents m h decrease with A 7 , and we always have an mterleaver gam Denotmg by df' e r the mimmum weight of codewords of the mner code generated bv weight-2 mput sequences, we obtain a different weight II(OM) for even and odd values of df For even d , the weight h(c , associated to the highest exponent of Λ 7 is given by d°, d' feβ »(a M J - : Smce it is the weight of an mner codeword that concatenates df /2 eπor events with weight d'r » «■ Substituting the exponent OM mto Expression (16), approximated by only the term of the summation m h correspondmg to h=h(a M ), yields where Be (29b) In Equation (29b), w M jis the maximum mput weight yielding outer codewords with weight equal to d°, , ∞d A' is the number of such codewords For df odd, the value of At is given by where h'm ls e minimum eight of sequences of the mner code generated bv a weιght-3 input sequence In this case, m tact, df° - 1 we have Π'M = concatenated eπor events, of which n' M - 1 are generated bv weight-2 mput sequences and one is generated by a weιght-3 input sequence Thus, substituting the exponent OM mto Expression (16) approximated by keepmg only the term of the summation in h coπespondmg to h = h(au) yields d° r ι hm P b (e) ~≤ Bodd N~ e ' <d ° r ' + M EL No (31) where In cases of df both even and odd, we can draw from Expressions (29) and (31 ) a few important design considerations, as follows (1 ) In contrast with the case of block codes and nonrecursive convolutional inner encoders, the use of a recursive convolutional inner encoder always yields an interleaver gam As a consequence, the first design rule states that the mner encoder must be a convolutional recursive encoder (2) The coefficient II(OM) that multiplies the signal-to-noise ratio Ei No in Expression (16) increases for increasing values of df' e ff Thus, e deduce that the effective free distance of the inner code must be maximized Both this and the previous design rule also had been stated for PMCCCs As a consequence, the recursive convolutional encoders optimized for use in PMCCCs can be employed altogether as inner CC in SMCCCs When d is odd, for special cases it is possible to increase h((%,<) and h m further bv choosing the feedback polynomial of the inner code to have a factor (1 +D), vieldmg h' m = °° Note mat ^ eτe are ouler feedback pol y nomials such as (1 + D + D 2 + D 3 D 4 ) or (1 + D + Lr + D 3 + D 4 + ' - D 6 ) yielding h' m ' = ∞ (3) The mterleaver gam is equal to iV j for even values of df and to N 2 !or odd values of df As a consequence, we should choose, compatibly with the desired rate R c of the SMCCC, an outer code with a large and, possibly, an odd value of the free distance (4) As to other outer code parameters, N°f and wuj should be minimized In other words, we should have the mimmum number of input sequences generating free distance eπor events of the outer code, and their mput weights should be minimized Smce nonrecursive encoders have error events with w = 1 and, m general, less mput errors associated with eπor events at free distance, it can be convenient to choose as an outer code a nonrecursive encoder with minimum /V - and W Λ/ 1 2 2 3 Examples Confirming the Design Rules To confirm the design rules obtamed asvmptotιcally,(ι e , for large signal-to-noise ratios and large mterleaver lengths N) we evaluate the upper bound, Expression (16), to the bit-eπor probability for several block and convolutional SMCCs with different interleaver lengths, and compare their performances with those predicted by the design guidelines 1 2 2 3 1 Senallv Multiple Concatenated Block Codes We consider three different SMCBCs obtamed as follows a) The first is the (7m, 3m, N) SMCBC, b) The second is a (15m, 4m, N) SMCBC usmg as outer code a (5, 4) paπtv-check code and as inner code a (15, 5) Bose-Chaudhuπ-Hocquenghem (BCH) code, c) The third is a (15m, 4m, N) SMCBC using as outer code a (7, 4) Hamming code and as inner code a (15, 7) BCH code Note that the second and third SMCBCs have the same rate, 4/15 The outer, mner, and SMCBC code parameters introduced m the design analysis are listed in Table 2 In Figures 18, 19 and 20, we plot the bit-eπor probability bounds for SMCBCs 1 , 2 and 3 of Table 2 Code SMCBC 1 has d°f = 2, thus, from Equation (21 ), we expect an mterleaver gam gomg as N-l This is confirmed by the curves of Figure 18, which, for a fixed and sufficiently large signal-to-noise ratio, show a decrease in Pb (e) of a factor of 10 when N passes from 4 to 40, from 40 to 400, and from 400 to 4000 Moreover, from Expression (22), we expect, in each curve tor In P b (e), a slope with E b /No as -h„R c From Table 2, we know that R c =3/7, -h m = 3, so that P b (e) should decrease bv a factor oi hmR c =3 6 when the signal-to-noise ratio increases by / (not in dB) This behavior fully agrees with the curves of Figure 18 Finally, the curves of Figure 18 show a divergence of the bound at lower Et/No for increasing N This is due to coefficients of terms with /; > h m in Expression (16) that increase with N and whose influence becomes more important for larger N Table 2 Design parameters of CCs and SMCBCs for three senallv concatenated block codes Outer code Inner code SMCBC Code SMCBC2 has d°/= 2, thus, from Equation (21 ), we expect the same interleaver gain as lor SMCBC1, 1 e , Λ' -/ This is confirmed bv the curves of Figure 19 This code, however, has a larger minimum distance h m = 7, and a rate R c =4/15 Thus, we expect a steeper descent of Pb(e) with £V/Vø More precisely, we expect a decrease bv a factor of 65 when the signal-to-noise ratio increases by 1 This, too, is confirmed bv the curves, which also show the bound divergence predicted m our analysis Code SMCBC3 has d°/ = J, thus, from Equation (21 ), we expect a larger mterleaver gam than for SMCBC 1 ,and SMCBC2, l e , N - 2 This is confirmed by the curves of Figure 20 which, tor a fixed and sufficiently large signal-to-noise ratio, show a decrease in P b (e) of a factor of 100 when N passes from 7 to 70 from 70 to 700, and from 700 to 7000 This code has a minimum distance h m =5 and a rate R c =4/15, which means a descent of P b (e) with E b /No by a factor of 3 8 when the signal-to-noise ratio increases by 1 This, too, is confirmed by the curves As to the bound divergence, we notice a slightly different behavior with respect to previous cases The curve with N = 7000, in fact, denotes a strong influence of coefficients increasing with N for Eb/ o lower than 7 1 2 2 3 2 Senallv Multiple Concatenated Convolutional Codes We consider four different SMCCCs obtamed as follows The first, SMCCC 1, is a (3.1.N) SMCCC, usmg as outer code a four-state (2,1 ) recursive, systematic convolutional encoder and as inner code a four-state (3,2) recursive, systematic convolutional encoder The second, SMCCC2, is a (3,1,N) SMCCC, usmg as outer code the same four-state (2,1 ) recursive, systematic convolutional encoder as SMCCC 1, and as mner code a four-state (3,2) nonrecursive convolutional encoder The third, SMCCC3, is a (3,1,N) SMCCC, usmg as outer code a four-state (2,1) nonrecursive, convolutional encoder, and as mner code the same four-state (3,2) recursive, systematic convolutional encoder as SMCCC 1 Finally, the fourth, SMCCC4, is a (6,2,N) SMCCC usmg as outer code a four-state (3,2) nonrecursive convolutional encoder, and as inner code a four-state (6,3) recursive, systematic convolutional encoder obtained by using three times the four-state (2,1) recursive, systematic convolutional encoders in Table 2 The outer, inner, and SMCCC code parameters introduced in the design analysis are listed in Table 3 In this table, the CCs are identified through the descπptions of Table 2 In Figures 21, 22, 23, and 24, we plot the bit-eπor probability bounds for SMCCCs 1,2,3, and 4 of Table 3, with mput information block lengths R° C N = 100, 200, 300, 400, 500, and 1000 Consider first the SMCCCs employing as mner CCs recursive, convolutional encoders They are SMCCC 1, SMCCC3, and SMCCC4 Code SMCCC 1 has d°/= 5, thus, from Expression (31), we expect an mterleaver gam behaving as Λ " - J This is fully confirmed by the curves of Figure 21, which, for a fixed and sufficiently large signal-to-noise ratio, show a decrease in P b (e) of a factor of 1000 when N passes from 200 to 2000 For an even more accurate confirmation, one can compare the mterleaver gain for every pair of curves m the Figure 21 Moreover, from Expression (31 ), we expect in each curve for In Pb(e) a slope with Eb/No as -h(ctM )Rc From Table 3, we know that R c =l/3 and II(OM )=7,so that P b (e) should decrease by a factor of 10 3 when the signal-to-noise ratio increases bv 1 This behavior fully agrees with the curves of Figure 21 Finally, the curves of Figure 21 do not show a divergence of the bound at lower E / No for increasmg N Tins is due to the choice of a recursive encoder for the inner code, which guarantees that all coefficients a(h) decrease with N Table 3 Design parameters of MCCs and SMCCCs for four SMCCCs Outer code Inner code SMCCC Code SMCCC3 differs from SMCCC 1 only m the choice of a nonrecursive outer encoder, which is a four-state encoder (see Tables 2 and 3) with the same f/as for SMCCC 1, but with w° m = 1 instead of w" m = 2 From the design conclusions, e expect a slightly better behavior from this SMCCC This is confirmed by the performance curves of Figure 23, which present the same mterleaver gam and slope as those of SMCCC 1 but have a slightly lower P b (e) (the curves for SMCCC3 are translated versions of those of SMCCC 1 bv 0 1 dB) Code SMCCC4 employs the same CCs as SMCCC2 but reverses their order It uses as outer code a rate 2/3 nonrecursive convolutional encoder, and as mner code, a rate 1/2 recursive convolutional encoder As a consequence, it has a lower d°f = 3 and a higher CCM = - 2 Thus, from Expression (31), we expect a lower mterleaver gam than for SMCCC 1 and SMCCC3 as N - 2 This is confirmed by the curves of Figure 24, which, for a fixed and sufficiently large signal-to-noise ratio, show a decrease m P b (e) of a factor of 100 when N passes from 150 to 1500 As to the slope with Ei No, this code has the same -)I(CCM)R C as SMCCC 1 and SMCCC3 and, thus, the same slope On the whole, SMCCC4 loses more than 2 dB m codmg gam with respect to SMCCC3 This result confirms the design rule suggestmg the choice of an outer code with d°/ as large as possible Finally, let us consider code SMCCC2, which differs from SMCCC 1 in the choice of a nonrecursive mner encoder, with the same parameters but with the crucial difference of w' m = 1 Its bit-eπor probability curves are shown in Figure 22 We see, m fact, that for low signal-to-noise ratios, say below 3, no mterleaver gam is obtained This is because the performance is dominated by the exponent h(θ M λ whose coefficient increases with N On the other hand, for larger signal-to-noise ratios, where the doimnant contnbution to Pb (e) is the exponent with the lowest value of h m , the interleaver gam makes its appearance From Expression (22), we foresee a gam as N - 4, meaning four orders of magnitude for N passing from 100 to 1000 Curves m Figure 22 show a smaller gain (slightly higher than 1/1000), which is, on the other hand, rapidly increasing 1 3 Parallel Multiple Concatenated Convolutional Codes The concept of Parallel Multiple Concatenated Convolutional Code (PMCCC) utilizes a soft-output decodmg and an iterative decodmg We present two versions of a simplified maximum a posteπon (MAP) decoding algonthm The algonthms work in a sliding window form (like the Viterbi algoπthm) and can thus be used to decode contmuously transmitted sequences obtamed by PMCCC, without requinng code trellis termination A heuπstic explanation is also given of how to embed the maximum a postenoπ algonthms into the iterative decoding of PMCCC The performances of the two algoπthms are compared on the basis of a powerful rate 1/3 PMCCC Basic circuits to implement the simplified a postenon decoding algoπthm usmg lookup tables, and two further approximations (linear and threshold), with a very small penalty, to eliminate the need for lookup tables are proposed The broad framework of this analysis encompasses digital transmission systems where the received signal is a sequence of waveforms whose coπelation extends well beyond T, the signaling peπod There can be many reasons for this coπelation, such as codmg, lntersymbol interference (ISI), or coπelated fading The optimum receiver m such situations cannot perform its decisions on a svmbol-by-symbol basis, so that deciding on a particular information symbol U k involves processing a portion of the received signal Tj seconds long, with Tj>T The decision rule can be either optimum with respect to a sequence of symbols, « " ! = (ui > U k+ ι < < U k+ n l ) > or with respect to the individual symbol, m The most widely applied algoπthm lor the first kind of decision rule is the Viterbi algoπthm In its optimum formulation, it would require waiting for decisions until the whole sequence ha e been received In practical implementations this drawback is overcome bv anticipating decisions (single or in batches) on a regular basis with a fixed delay, D Choice of D as five to six times the memory of the received data is widely recognized as a good compromise between performance (.omplexitv, and decision delay Optimum symbol decision algoπthms must base their decisions on the maximum a posteπoπ (MAP) probability They have been known smce the early seventies, although much less popular than the Viterbi algoπthm and almost never applied in practical svstems There is a very good reason tor this neglect in that they yield performance m terms of symbol error probability onlv slightly supeπor to the Viterbi algoπthm, vet thev present a much higher conceptual complexity Only recently, the interest in these algonthms has seen a revival in connection with the problem of decodmg concatenated codmg schemes Concatenated codmg schemes (a class m which we mclude product codes, multilevel codes, generalized concatenated codes, and senal and parallel concatenated codes) were proposed as a means of achieving large codmg gams by combining two or more relatively simple "constituent" codes The resulting concatenated codmg scheme is a powerful code endowed with a structure that permits an easy decodmg, like "stage decoding" or "iterated stage decodmg" To work properly, all these decodmg algoπthms cannot limit themselves to passing the symbols decoded by the mner decoder to the outer decoder Thev need to exchange some kind of soft mformation The optimum output of the inner decoder should be m the form of the sequence of the probability distributions over the inner code alphabet conditioned on the received signal, the a posteπoπ probability (APP) distπbution There have been several attempts to achieve, or at least to approach, this goal Some of them are based on modifications of the Viterbi algoπthm so as to obtain, at the decoder output, addition to the "hard"-decoded symbols, some reliability mformation This has led to the concept of "augmented-outpuf* or the list-decoding Viterbi algoπthm, and to the soft-output Viterbi algoπthm (SOVA) These solutions are clearly sub-optimal, as they are unable to supply the required APP A different approach consisted m revisiting the oπginal symbol MAP decodmg algoπthms with the aim of simplifying them to a form suitable for implementation Figure 25 shows a PMCCC whose encoder is formed by two (or more) constituent systematic encoders joined through an interleaver The mput information bits feed the first encoder and, after having been interleaved by the mterleaver, enter the second encoder The codeword of the PMCCC compnses of the mput bits to the first encoder followed by the paπty check bits of both encoders Generalizations to more than one mterleaver are possible and fruitful The sub-optimal iterative decoder is modular and compnses of a number of equal component blocks formed by concatenating soft decoders of the constituent codes (CC) separated by the mterleavers used at the encoder side By increasmg the number of decoding modules and, thus, the number of decoding iterations, bit-error probabilities as low as 10 5 at E b /No =0 0 dB for rate 1/4 PMCCC have been shown by simulation We will descπbe two versions of a simplified MAP decoding algoπthm that can be used as building blocks of the iterative decoder to decode PMCCCs A distinctive feature of the algoπthms is that they work in a "sliding window" form, like the Viterbi algoπthm. and thus can be used to decode "continuously transmitted" PMCCCs, without requiring trellis termination and a block-equivalent structure of the code The final aim is to find suitable soft-output decoding algonthms for iterated staged decodmg of PMCCC employed in a continuous transmission We will refer to the transmission system of Figure 26 The mformation sequence u, composed of symbols drawn from an alphabet L ={ ui ,UM } and emitted by the source, enter an encoder that generates code sequences c Both source and code sequences are defined over a tune index set K (a finite or infinite set of integers) Denoting the code alphabet C={cι, ,CM } , the code C can be wntten as a subset of the Cartesian product of C by itself K times, ι e , C c C f The code symbols t (the index A will refer to time) enter the modulator, which performs a one-to-one mapping of them with its signals, or channel mput symbols x i , belonging to the set X={xι, ,XM } The channel symbols iare transmitted over a stationary memorvless channel with output symbols vi The channel is characteπzed bv the transitions probability distπbution (discrete or continuous, according to the channel model) P ( \x) The channel output sequence is fed to the svmbol-bv-svmbol soft-output demodulator, which produces a sequence ol probabi tv distπbutions y \ (cj over C conditioned on the received signal according to the memorvless transformation Y k (c) = P(x k = x(cJ,y k ) = P(y k \x k = x(c)) P k (c) = γ k (x) (33) where we have assumed to know the sequence of the a pπon probability distπbutions of the channel mput symbols (P k (x) keK) and made use of the one-to-one mappmg C →X The sequence of probability distπbutions γ * (c) obtamed by the modulator on a symbol-by-symbol basis is then supplied to the soft-output svmbol decoder, which processes the distπbutions in order to obtam the probability distnbutions P * (u\ y) They are defined as P k ( \y) = P(u k = u\ v) (34) The probability distπbutions y) are referred to m the literature as symbol-by-symbol a posteπoπ probabilities (APP) and represent the optimum symbol-by-symbol soft output From here on, we will limit ourselves to the case of time-invanant convolutional codes with N states, use the following notations with reference to Figure 27, and assume that the (integer) tune instant we are interested m is the k* (1) S, is the geneπc state at time k, belonging to the set S = {S ; , ,S N} (2) ST (u ') is one of the precursors of S, , and precisely the one defined bv the information symbol « ' emitted during the transition ST ( U ') → S? (3) ST ( U ) 1S ° ne of the successors of S, , and precisely the one defined bv the information symbol « emitted during the transition S, -+Sf (u) (4) To each transition in the trellis, a signal x is associated, which depends on the state from which the transition onginates and on the information symbol u determining that transition When necessary, we will make this dependence explicit by writing x(u ', S, J when the transition ends m S, and x(S, , ) when the transition ongmates from S, 1 3 1 The BCJR Algonthm The BC JR is the optimum algoπthm to produce the sequence of APP We consider first the oπgmal version of the algoπthm, which applies to the case of a fimte mdex set K = {1, ,n} and requires the knowledge of the whole received sequence ;μ =(yι, ,y„ ) to work In the following, the notations u, c, x, and v will refer to sequences n-svmbols long, and the mteger time vaπable A will assume the values 1, ,n As for the previous assumption, the encoder admits a trellis representation with N states, so that the code sequences c (and the coπesponding transmitted signal sequences x) can be represented as paths in the trellis and uniquely associated with a state sequence 5 - (so. ,SN) whose first and last states, so and SH , are assumed to be known by the decoder Defining the a posteπoπ transition probabilities from state S, at time A as σk(S, . ) = P(u k = » . s k .ι = S, I y) (35) The APP P (ιι\y) we want to compute can be obtamed as Pk (u\y) = ∑ σ k (S, ,u) (36) Thus, the problem of evaluating the APP is equivalent to that of obtaining the a postenoπ transition probabilities defined in Equation (35) The APP can be computed as σ k (S, . ) = h σ a k -ι(S γ k (x(S, , u)) β k (ST (u)) (37) where • h σ is such that ∑ σk (S, , u) = 1 • A MS, 11)) are the joint probabilities already defined in Equation (33) l e v k (xi = P( v k . Xk = x) = P( V k \ x k - r ) P ( x k - x> (38) The s can be calculated from the knowledge of the a pπon probabilities of the channel input symbols x and of the transition probabilities of the channel P (y \x k =x) For each time k, there are M different values of γ to be computed, which are then associated to the trellis transitions to form a sort of branch metπcs This information is provided by the symbol-by-symbol soft-output demodulator ctk (S, ) are the probabilities of the states of the trellis at time k conditioned on the past received signals, namely, ctk(S,) = P (s k = S, \ y)) (39) where v, denotes the sequence^;, , v k They can be obtamed by the forward recursion a k (S,) = h a ∑ aia (S ( )) γ k (x(u,S,)) (40) with h a a constant determined through the constraint Σa k (S,J = / Si and where the recursion is initialized as , , \ 1 >/S, = so) ao(S,J = (41) { 0 otherwise) • β k (S, ) ^e the probabilities of the trellis states at time k conditioned on the future received signals P(si c = S, \y +i ) Thev can be obtamed by the backward recursion β k (S,) = h β Σ β k+l (ST (u)) γ k+I (x(S, .u)) (42) with h β a constant obtainable through the constraint Σ β k (S,) = I s, and where the recursion is initialized as We can now formulate the BCJR algoπthm by the following steps (1) Initialize < 0 and β accordmg to Equations (41) and (43) (2) As soon as each term y k of the sequence v is received, the demodulator supplies to the decoder the "branch metπcs" γ k of Equation (38), and the decoder computes the probabilities c tk according to Equation (40) The obtained values of a (S, ) as well as the γ k are stored for all A, s, , and x (3) When the entire sequence y has been received, the decoder recursively computes the probabilities β k accordmg to the recursion of Equation (42) and uses them together with the stored a's and βs to compute the a posteπoπ transition probabilities a. k (S, , ) according to Equation (37) and, finally, the APP P k (u\y) from Equation (36) 1 3 2 The Sliding Window BCJR (SW-BCJR The BCJR algoπthm requires that the whole sequence have been received before starting the decoding process In this aspect, it is similar to the Viterbi algonthm in its optimum version To apply it in a PMCCC, we need to subdivide the information sequence into blocks, decode them bv terminating the trellises of both CCs, and then decode the received sequence block bv block Bevond the πgiditv, this solution also reduces the overall code rate A more flexible decodmg strategy is offered by a modification of the BCJR algonthm in which the decoder operates on a fixed memory span, and decisions are forced with a given delay D We call this new, and sub-optimal, algoπthm the sliding wmdow BCJR (SW-BCJR) algonthm We will descπbe two versions of the slidmg window BCJR algoπthm that differ m the way they overcome the problem of initializing the backward recursion without having to wait for the entire sequence We will descπbe the two algoπthms using the previous step descπption suitably modified Of the previous assumptions, we retain only that of the knowledge of the initial state so , and thus assume the transmission of semi-infinite code sequences, where the tune span K ranges from 1 to oo 1 32 1 The First Version of the Slidmg Wmdow BCJR Algonthm (SW1-BCJR) Here are the steps (1) Initialize o accordmg to Equation (41) (2) Forward recursion at tune k Upon receiving y k , the demodulator supplies to the decoder the M distmct branch metncs, and the decoder computes the probabilities a k (S,) according to Equations (38) and (40) The obtamed values of a t (Si) are stored for all S, , as well as the k (x) (3) Initialization of the backward recursion (k>D) β k (S j ) = a k (S j ) V s y (44) (4) Backward recursion It is performed accordmg to Equation (42) from time k - 1 back to time k -D (5) The a posteπon transition probabilities at time k -D are computed according to a k . D (S, ,u) = h σ a k - D -i(S,) Y k . D (x(S, .u)) β k . D (ST( )) (45) (6) The APP at time k -D is computed as For a convolutional code with parameters (ko .no), number of states N , and cardinality of the code alphabet, M = 2"° , the SW1-BCJR algoπthm requires storage of N χ D values of α's and M ><D values of the probabilities γ k (x) generated by the soft demodulator Moreover, to update the α's and β's for each time instant, the algoπthm needs to perform M x2 ko multiplications and N additions of 2 ko numbers To output the set of APP at each time instant, we need a D-times long backward recursion Thus, the computational complexity requires overall (D+1) Mx2 ko multiplications and (D +1) M additions of 2 ko numbers each As a compaπson, the Viterbi algonthm would require, in the same situation, Mx2 ko additions and Afx2 ko -way compansons, plus the trace-back operations, to get the decoded bits 1 3 2 2 The Second. Simplified Version of the Sliding Window BCJR Algoπthm (SW2-BCJR) A simplification of the slidmg window BCJR that significantly reduces the memory requirements compnses of the following steps (1) Initialize aa accordmg to Equation (41 ) (2) Forward recursion (k > D) If A > D, the probabilities a k ^p- (S,) are computed accordmg to Equation (40) (3) Initialization of the backward recursion (A > D) β k (S j ) = ^ S j (47) (4) Backward recursion (A > D) It is performed accordmg to Equation (42) from time k-1 back to time k-D (5) The a posteπoπ transition probabilities at time A - D are computed according to a k . D (S,, ) = h σ a k .D-ι(S,) Y k _ D (x(S,,u)) β k . D (S7(u)) (48) (6) The APP at time k - D is computed as P k - D (u\y) = Σσ k . D (S,,u) (49) This version of the slidmg window BCJR algonthm does not require storage of the N x D values of a's as thev are updated with a delay of D steps As a consequence, only N values of a's and M*D values of the probabilities γ k (x) generated by the soft demodulator must be stored The computational complexity is the same as the previous version of the algonthm However, smce the initialization of the β recursion is less accurate, a larger value of D should be set in order to obtam the same accuracy on the output values P k .o( \y) This observation will receive quantitative evidence in the section devoted to simulation results 1 3 3 Additive Algoπthms 1 3 3 1 The Log-BCJR The BCJR algoπthm and its slidmg window versions have been stated in multiplicative form Owing to the monotomcity of the logaπthm function, thev can be converted mto an additive form by conversion to logaπthms Let us define the following logaπthmic quantities Tk(x) = log [γ( χ )l A k (S,) = log fa k (S,)J B k (S.) = log (β k (S,)J ∑ k (S„u) = log [ σk (S„ )] These definitions lead to the following A and B recursions, denved from Equations (40), (42), and (37) Ak(S.) = log * Vk(x(u.S t ))) H A (50) B (S.) = log £ g(t .S7WJ + i.,< SM)) + HB (51) Σk(S, . ) = A k .,(S,) Tk(x(S, , )) + B k (S7 ( )) + Hz (52) with the following initializations I >/S, = so) Ao(S = -∞ otherwise) 1 3 3 2 Simplified Versions of the Log-BCJR The problem in the recursions defined for the log-BCJR compnses of the evaluation of the logaπthm of a sum of exponential log Σ e An accurate estimate of this expression can be obtained bv extracting the term with the hi hest exponential, AM = max { A, } so that log = AM T log I 1 - ∑ e [At ' A "> | (53) and by computmg the second term of the πght-hand side (RHS) of Equation (53) usmg lookup tables However, when AM >> A , , the second term can be neglected This approximation leads to the additive logaπthmic- BCJR (AL-BCJR) algonthm Ak(S,) = max f A k .,(S;(")) + r k (x( ,S,)) \ + H A (54) B k (S,) = max [ B k+ ι(ST( )) + r k +ι(ST(u)) \ + H B (55) Σ k (S, ,u) = A k .i(S,) + T k (x(S„u)) + B k (S7 (u)) + Hz (56) with the same initialization of the log-BCJR Both versions of the SW-BCJR algonthm descnbed can be used, with obvious modifications, to transform the block log-BCJR and the AL-BCJR mto their slidmg wmdow versions, leadmg to the SW-log-BCJR and the SWALl-BCJR euid SWAL2-BCJR algoπthms 1 3 4 Explicit Algoπthms for Some Particular Cases In this section, we will make explicit the quantities considered in the previous algoπthms' descnptions by making assumptions on the code type, modulation format, and channel 1 3 4 1 Rate 1/n Binary Systematic Convolutional Encoder In tins section, we particularize the previous equations in the case of a rate 1/n binary systematic encoder associated to n binary-pulse amplitude modulation (PAM) signals or binary phase shift keying (PSK) signals The channel symbols x and the output symbols from the encoder can be represented as vectors of n b ar components Xk = [Xk , Xkn] y k = f v kl , , V kn ] where the notations have been modified to show the vector nature of the symbols The joint probabilities γ k (x) , over a memorvless channel, can be split as γ k (X) = = Xm) P(xkm = Xk) (57) Smce in this case the encoded symbols are n-tuple of binary symbols, it is useful to redefine the input probabilities, γ, m terms of the likelihood ratios P ( v km l Xkm = A) Λkm P ( V m I Xkm ■ A) P ( Xkn A) km P ( Xkm ■ A) so that, from Equation (57), where h γ takes into account all terms independent of .r The BCJR can be restated as follows a k (S,) = h γ h a ∑ a k .,(STM) π [λkm λi,J C uSl> (58) m=l β k (S.) = h v hβ ∑ β k+1 (S7(u)) π [λ(k + nm λ j c„(Sι u) Dm. (59) m=l σ k (S,,u) = h 7 h σ a k .ι(S [ λ(k + ιtm λf k+I)m I 'c m [u si I β k (ST(u)) (60) m=l whereas its simplification, the AL-BCJR algoπthm, becomes A k (S,) = max A k .,(S(u)) + ∑ Cm (u,S,) (Λkm + λ ) + H A (61) m=l Bk(S,) = max \ B k+ ι(STM) + ∑ c m (S,,u)(h km A&J + HB (62) « I m=l J ∑k(S,,u) = Ak-ι(S,)+ Σc m (S,,u)(Λkm + N km ) + Bk(St(u)) (63) where A stands for the logaπthm of the coπespondmg quantity λ 1342 The Additive White Gaussian Noise Channel When the channel is an additive white Gaussian noise (AWGN) channel, we obtain the explicit expression of the log likelihood ratios Λ f e as Hence, the AL-BCJR algoπthm assumes the following form f " 2A Ak(S.) = max A k -ι(S()) + ∑ c m (u,S,) (—y km + A k J \ + HA (64) u [_ m=l σ~ Bk(S t ) = max \ B k+ ι(S (u)) + Σ c m (S,, ) (~y km - N k A m ) \ + HB (65) 1 m=l σ ~ " 2A ∑ k (S,,u) = 4k.ι(S,)+ Σc m (S,,u)(^y km + Λ^ + B k (St()) (66) m=ι cr We will consider turbo codes with rate 1/2 component convolutional codes transmitted as binary PAM or binary PSK over an AWGN channel 135 Iterative Decoding of Parallel Concatenated Convolutional Codes In this section, we will show how the MAP algonthms previously descπbed can be embedded into the iterative decoding procedure of parallel concatenated codes We will deπve the iterative decoding algoπthm through suitable approximations performed on maximum-likelihood decodmg The descπption will be based on the fairly general parallel concatenated code shown m Figure 28, which employs three encoders and three interleavers (denoted by πm the figure) Let Uk be the binary random vaπable taking values in {0,1 }, representing the sequence of information bits u=(uι, ...w . The optimum decision algoπthm on the k Jh bit «* is based on the conditional log-likelihood ratio L k P(uk = i\y) Lk = log P(u k = 0\y) ∑ P(y\x(u)) \ ~ l P(u,) _ Lk = log a^zl + Xog p <^ - l > ( 67 ) Σ P(y\x( )) U P(u } ) 6 P(u k = o) u.ut=0 j≠k where, m Equation (67), P (uj) are the a pπoπ probabilities If the rate kXn 0 constituent code is not equivalent to a punctured rate 1/n O code (in this case the information send is the mformation data and one paπty bit, the paπty bit sent is different every time) or if turbo trellis-coded modulation is used, we can first use the symbol MAP algoπthm as descπbed in the previous sections to compute the log-likelihood ratio of a symbol »=« / , ..Uh,, given the observation y as - ,og m P( \y) where 0 coπesponds to the all-zero symbol Then we obtain the log-likelihood ratios of the /* bit within the symbol by Σ e λ( ) L(u j ) = log Σ e λ(u) In this way, the turbo decoder operates on bits, rather than symbol, mterleavmg is used To explam the basic decodmg concept, we restnct ourselves to three codes, but extension to several codes is straightforward In order to simplify the notation, consider the combination of the mterleaver and the constituent encoder connected to it as a block code with mput u and outputs x, , i =0,1,2,3 (xo=u) and the coπespondmg received sequences as v, , i =0,1,2,3 The optimum bit decision metnc on each bit is (for data with umform a pπoπ probabilities) ∑ P(y 0 \u) P(y,\u) P(y 2 \u) P(y 3 \u) L k = log-^ (68) Σ P(y 0 \u) P( yι \u) P(y 2 \u) P(y 3 \u) . k=0 but, m practice, we cannot compute Equation (68) for large n because the permutations ΛS , πj imply that vi and .vj are no longer simple convolutional encodmgs of u Suppose that we evaluate P(y,\u),ι=0,2,3 in Equation (68) using Bayes' rule and usmg the following approximation P(u\y,) * i p,(uk ) (69) k=l Note that P(ιι\y, ) is not separable in general However, for ; =0, P(u y o ) is separable, hence, Equation (69) holds with equality So we need an algoπthm that approximates a nonseparable distπbution P (u\y , j = P with a separable v __ distπbution Jl p, (u k ) = Q The best approximation can be obtained using the Kullback cross-en tropv mimmizer, which k=l minimizes the cross-entropy H(0,P) =E{log(Q/P )} between the input P and the output 0 The MAP algoπthm approximates a nonseparable distπbution with a separable one, however it is not clear ho good it is compared with the Kullback cross-entropy mnumizer Here we use the MAP algoπthm for such an approximation In the iterative decodmg, as the reliability of the fu k } improves mtuitiveh one expects that the cross-entropv between the input and the output of the MAP algoπthm will decrease, so that the approximation will unprove If such an approximation, 1 e , Equation (69), can be obtamed, we can use it m Equation (68) for ι=2 and ι=3 (by Bayes' rule) to complete the algonthm Define ι lk by where u * ε {0, 1} To obtain p t ) or, equivalents ( £ lk j , we use Equations (69) and (70) for i =0,2,3 (by Baves' rule) to express Equation (68) as Lk =f(y, . Lo- ∑2> Li ■ k) + Lok + Σ 2k + ∑ 3 k (71) where ok = 2Ay d <T (for bιn<ary modulation) and Σ P(y,\«) Yle" ! ' 1 " *1 * *1 ^ f(y, . Lo. L2, L 3 ,k) = log ∑ p(yιW neUj(Zv+ Zv + llj) (72) u, k= j*k We can use Equations (69) and (70) agam, but this tune for ; =0, 1,3, to express Equation (68) as =f(y 2 - ∑o< ∑i ■ Σ 3 . k) + Lok " I + L 3k (73) and similarly, Lk =f(y 3 . Lo + Zi . L 2 - k ) + Lok + Lik + L 2 k (7 ) A solution to Equations (71 ), (73), and (74) is L 2 k = f(y 3 > Lo< L, . L 3 , k) (75) L 3k = f( y 3 . Lo< Li • L 2 - k ) for k =1,2, ,n, provided that a solution to Equation (75) does indeed exist The final decision is then based on Lk = Lok + Lik + L k ÷ L 3k (76) which is passed through a hard limiter with zero threshold We attempted to solve the nonlinear equations m Equation (75) for i < ∑ ' anc l L by using the iterative procedure ∑ l> = a<r>f(y,. to. rT. LT'.VOD fork =1.2, ,n, iterating on m Similar recursions hold for and ι'™ k We start the recursion with the initial condition 2 " , = 2 = ∑ 2 = Lo For the computation off(), we can use any MAP algoπthm as descπbed in the previous sections, with interleavers (direct and inverse) where needed, call this the basic decoder D, , 1 =1,2,3 The Jf^ , 1 =1,2,3 represent the extπnsic information The sign flow graph for extrinsic information is shown in Figure 29, which is a fully connected graph without self-loops Parallel, seπal, or hybπd implementations can be realized based on the signal flow graph (in this figure vo is considered as part of vy) Based on our equations, each node's output is equal to internally generated reliability L minus the sum of all mputs to that node The BCJR MAP algoπthm always starts and ends at the all-zero state since we always terminate the trellis We assumed m=l ldentitv, however, anv πι can be used The overall decoder is composed of block decoders D , connected m parallel, as in Figure 30 (when the switches are m position P), which can be implemented as a pipeline or by feedback A seπal implementation is also shown in Figure 30 (when the switches are in position 5 For those applications where the svstematic bits are not transmitted or tor parallel concatenated trellis codes with high-level modulation, we should set jT 0 = 0 Even m the presence of systematic bits, if desired, one can set o = 0 m ^ consider vo as part of v; If the systematic bits are distπbuted among encoders, we use the same distπbution for yo among the received observations tor MAP decoders At this point, further approximation tor iterative decoding is possible it one term coπespondmg to a sequence u dommates other terms m the summation in the numerator and denommator of Equation (72) Then the summations m Equation (72) can be replaced by "maximum" operations with the same indices, I e , replacmg ∑ u Uk -ι with max „ „*., for / =0,1 A similar approximation can be used for 2k and 3k m Equation (75) This sub-optimal decoder then coπesponds to an iterative decoder that uses AL-BCJR rather than BCJR decoders As discussed, such approximations have been used by replacmg, ∑" with "max" in the log-BCJR algoπthm to obtam AL-BCJR Clearly, all versions of SW-BCJR can replace BCJR (MAP) decoders m Figure 30 For turbo codes with only two constituent codes, Equation (77) reduces to ∑ " = ctr>f ( y , . LO . ti m) . v ∑ " = a' 2 m) f( y 2 . ∑o . ∑T' . k) for A =1,2, ,n, and m =1.2, , where, for each iteration, a{ m) and aψ > can be optimized (simulated annealing) or set to 1 for simplicity The decodmg configuration for two codes is shown m Figure 31 In this special case, since the paths m Figure 31 are disjointed, the decoder structure can be reduced to a seπal mode structure if desired If we optimize a{ m> and ψ . this requires estimates of the vaπances of L χk and ι 2k for each iteration m the presence of eπors In the results presented m the next section, we will use a PMCCC with only two constituent codes 1 3 6 Simulation Results In this section, we will present some simulation results obtamed applying the iterative decodmg algoπthm, which, m turn, uses the optimum BCJR and the sub-optimal, but simpler, SWAL2-BCJR as embedded MAP algoπthms All simulations refer to a rate 1/3 PMCCC with two equal, recursive convolutional constituent codes with 16 states and generator matπx 1 + D + D 3 + D 4 G(D) 1 1 + D 3 + D 4 and an interleaver of length 16,384, usmg an S-random permutation with S = 40 Each simulation run examined at least 25,000,000 bits In Figure 32, we plot the bit-eπor probabilities as a function of the number of iterations of the decodmg procedure usmg the optimum block BCJR algoπthm for vaπous values of the signal-to-noise ratio It can be seen that the decoding algoπthm converges down to bit eπor rate (BER) = 10 "5 at signal-to-noise ratios of 0 2 dB with nine iterations The same curves are plotted in Figure 33 for the case of the sub-optimum SWAL2-BCJR algonthm In this case, 0 75 dB of signal-to-noise ratio is required for convergence to the same BER and with the same number of iterations In Figure 34, the bit-eπor probability versus the signal-to-noise ratio is plotted for a fixed number (5) of iterations of the decoding algoπthm and for both optimum BCJR ,and SWAL2-BCJR MAP decoding algonthms It can be seen that the penalty inclined by the sub-optimum algoπthm amounts to about 0 5 dB Algoπthms were of the block type The penalty is completely attnbutable to the approximation of the sum of exponentials To veπfy this, we have used a SW2-BCJR and compared its results with the optimum block BCJR, obtaining the same results Finallv, in Figures 35 and 36, we plot the number of iterations needed to obtain a given bit-eπor probability versus the bit signal-to-noise ratio, for the two algoπthms These curves provide information on the delav incurred to obtam a given rehabilitv as a function of the bit signal-to-noise ratio 1 3 7 Circuits to Implement the MAP Algoπthm for Decoding Rate 1/n Component Codes of a PMCCC We show the basic circuits required for the implementation of a senal additive MAP algoπthm for both block log-BCJR auid SW-log-BCJR Extension to a parallel implementation is straightforward Figure 37 shows the implementation of Equation (50) for the forward recursion usmg a lookup table for evaluation of log(l+e" ), and subtraction of max A k fS J} from AkjS J is used for normalization to prevent buffer overflow The circuit for maximization can be implemented simply by usmg a comparator and selector with feedback operation Figure 38 shows the implementation of Equation (51 ) for the backward recursion, which is similar to Figure 37 A circuit for computation of log(P k (u\y)J from Equation (36) usmg Equation (52) for final computation of bit reliability is shown m Figure 39 In Figure 39, switch 1 is m position 1 and switch 2 is open at the start of operation The circuit accepts ∑ k (S < ,u) for ; = /, then switch 1 moves to position 2 for feedback operation The circuit performs the operations for i =1,2, ,N When the circuit accepts ∑ k (S t ,u) for ; = N , switch 1 goes to position 1 .and switch 2 is closed This operation is done for u=l and u=0 The difference between log (P k (l\y)) and log (P k (0\y)) represents the reliability value required for turbo decodmg, l e , the value of L k m Equation (67) We propose two simplifications to be used for computation of log (l+e x ) without using a lookup table Approximation 1 We used the approximation log(l+e ") « -ax+ b , 0 < x < b/a where b=log(2), and we selected a =0.3 for the simulation We observed about 0 ldB degradation compared with the full MAP algoπthm for the code The parameter a should be optimized, .and it may not necessanly be the same for the computation of Equation (50), Equation (51 ), and log(P k (u\y)) from Equation (36) using Equation (52) We call this "linear" approximation Approximation 2 We take \ 0 ιf x > η] 0%0 + e- χ ) * [ c ιf x < η \ We selected c=log(2) and the threshold η =1.0 for our simulation We observed about 02 dB degradation compared with the full MAP algoπthm for the code This threshold should be optimized for a given SNR, and it may not necessanly be the same for the computation of Equation (50), Equation (51 ), and log(P (u\y)) from Equation (36) usmg Equation (52) If we use this approximation, the log-BCJR algoπthm can be built based on addition, companson, and selection operations without requiring a lookup table, which is similar to a Viterbi algoπthm implementation We call this "threshold" approximation At most, 8 to 10 bit representation suffices for all operations 1 3 8 Trellis Termination If needed, the encoder in Figure 28 may generate a n(N + M), N) block code, where the M tail bits of encoder 2 and encoder 3 are not transmitted Since the component encoders are recursive, it is not sufficient to set the last M information bits to zero in order to dπve all the encoder to the all zero state, l e to terminate the trellis The termination (tail) sequence depends on the state of each component encoder after N bits, which makes it impossible to terminate the component encoders with just Mbits This issue has not been resolved m previously proposed turbo code implementations Fortunately, the simple stratagem illustrated in Figure 33 is sufficient to terminate the trellis at the end of the block (The code shown is not important) Here the switch is m position "A" for the first N clock cycles and is in position "B" for M additional cycles, which will flush the encoders with zeros The decoder does not assume knowledge of the hi tail bits The same termination method may be used for all encoders 1 3 9 Weight Distπbution In order to estimate the performance of a code, it is necessary to have information about its mmimum distance, eight distπbution, or actual code geometry, dependmg on the accuracy required tor the bounds or approximations The challenge is m finding the paiπng of codewords from each individual encoder, induced bv a particular set of interleavers Intuitively, we would like to avoid joining low-weight codewords from one encoder with low-weight words from the other encoders In the example of Figure 28, the component codes have distances 5, 2 and 2 This will produce a worst-case minimum distance of 9 for the overall code Note that this would be if the encoders were not recursive since, in this case, the minimum weight word for all three encoders is generated by the input sequence u=(00...0000100...000) with a single "1", which will appear again m the other encoders, for any choice of interleavers This motivates the use of recursive encoders, where the key ingredient is the recursiveness and not the fact that the encoders are systematic For our example, the input sequence u=(00...00100100. 000) generates a low weight codeword with weight 6, for the first encoder If the interleavers do not "break" this input pattern, the resulting code-words weight will be 14 In general weight-2 sequences with 2+3/ zeros separating the 1 's would result in a total weight of 14+6/ if there were no permutations permutations before the second and third encoders, a 2 sequence with its l 's separated by 2+3/ι zeros will be permuted mto two other weight-2 sequences with 1 's separated by 2+3/y zeros, /=2,3,.. where each t, is defined as a multiple of 1/3 If any U is not an integer, the coπesponding encoded output will have a high weight because then the convolutional code output is non-terminating (until the end of the block) If all /,'s are mtegers, the total encoded weight will be 14+2∑ι-ι 3 /, Thus, one of the considerations m designing the mterleaver is to avoid integer tπplets (/;, h, ts) that are simultaneously small in all three components In fact, it would be nice to design an mterleaver to guarantee that the smallest value of ∑-i 3 /, (for integer /,) grows with the block size N For companson we consider the same encoder structure in Figure 28, except with the roles of ga and gb reversed Now the minimum distances of the three component codes are 5, 3, and 3, producing an overall minimum distance of 11 for the total code without any permutations This is apparently a better code, but it turns out to be infeπor as a turbo code This paradox is explained by agam consideπng the cntical weight-2 data sequences For this code, weight-2 sequences with 1+2/; zeros separating the two 1 's produce self-terminating output and hence low-weight encoded words In the turbo encoder, such sequences will be permuted to have separations 1+2/,, ι= 2, 3, for the second and third encoders, where now each ( is defined as a multiple of 1/2 But now the total encoded weight for mteger tπplets (/ / , fc, t 3 ) is 11+∑,~ 3 U Notice how this weight grows only half as fast with ∑,= 3 as the previously calculated weight for the oπgmal code If ∑,=ι 3 t, can be made to grow with block size by proper choice of mterleaver, then clearly it is important to choose component codes that cause the overall weight to grow as fast as possible with the individual separations /, This consideration outweighs the cπtenon of selecting component codes that would produce the highest minimum distance if unpermuted There are also many weight-/?, n = 3, 4, 5, ., data sequences that produce self-terminating output and hence low encoded weight However, these sequences are much more likely to be broken up by the random interleavers than the weight-2 sequences and are therefore likelv to produce non-terminating output from at least one of the encoders Thus, turbo code structures, which would have low minimum distances if unpermuted, can still perform well if the low-weight codewords of the component codes are produced by input sequences with weight higher of two 1 3 10 Weight Distπbution with random interleavers Now we bπefly examine the issue of whether one or more random mterleavers can avoid matching small separations between the l's of a weight-2 data sequence with equally small separations between the l 's of its permuted versιon(s) Consider for example a particular weight-2 data sequence (..001001000...) which coπesponds to a low weight codeword m each of the encoders of Figure 28 If we randomly select an mterleaver of size N, the probability that this sequence will be permuted into another sequence of the same form is roughly 2/JV (assuming that N is large, and ignoring mmor edge effects) The probability that such an unfortunate pairing happens for at least one possible position of the oπgmal sequence ( 001001000 ) within the block size of N. is approximately l-(l-2/Nf«l-e : This implies that the mimmum distance of a two-code turbo code constructed with a random permutation is not likely to be much higher than the encoded weight of such an unpermuted weight-2 data sequence, e g 14 for the code m Figure 28 (For the orst case permutations, the d mm of the code is still 9, but these permutations are highly un kelv if chosen randomly) By contrast, if e use three codes and two different interleavers, the probability that a particular sequence ( 001001000 ) will be reproduced bv both interleavers is only (2 N) : Now the probability of finding such an unfortunate data sequence somewhere within the block ol size ;V is roughly 1-(1-2'X) ~ 4/N Thus it is probable that a three-code turbo code using two random interleavers will see an mcrease m its minimum distance bevond the encoded weight of an unpermuted weight-2 data sequence This argument can be extended to account for other weight-2 data sequences which may also produce low weight codewords, e g (. .00100(000)' 1000 ), for the code in Figure 28 For compaπson, let us consider a weιght-3 data sequence such as (. 0011100 ..) which for our example coπesponds to the mimmum distance of the code (usmg no permutations) The probability that this sequence is reproduced with one random mterleaver is roughly 6/Λ^, and the probability that some sequence of the form (...0011100. ) is paired with another of the same form is l-fl-ό/N 2 )" * 6/N Thus for tege block sizes, the bad weιght-3 data sequences have a small probability of being matched with bad weιght-3 permuted data sequences, even in a two-code system For a turbo code usmg q codes and q-\ random interleavers this probability is even smaller, l-(l-(6/N 2 ) q'l * (6/N)(6/N 2 ) q : This implies that the minimum distance codeword of the turbo code m Figure 28 is more likely to result from a weight-2 data sequence of the form ( ..001001000. ) than from the weιght-3 sequence ( ..0011100...) that produces the minimum distance m the unpermuted version of the same code Higher weight sequences have even smaller probability of reproducmg themselves after being passed through a random mterleaver For a turbo code usmg q codes and q-\ interleavers, the probability that a weight-H data sequence will be reproduced somewhere within the block by all q-\ permutations is of the form l-(l-(βN"') q l f where β is a number that depends on the weight-w data sequence but does not increase with block size N For large N, this probability is proportional to l/N"* n'q , winch falls off rapidly with N, when n and q are greater than two Furthermore, the symmetry of this expression indicates that increasing either the weight of the data sequence n or the number of codes q has roughly the same effect on lowering this probability In summary, from the above arguments we conclude that weight-2 data sequences are an important factor in the design of the component codes, and that higher weight have decreasmg importance Also, increasing the number of coders may result in better turbo codes The mimmum distance is not the most important quantity of the turbo code, except for its asymptotic performance, at very high Eι N 0 At moderate SNRs, the weight distπbution for the first several possible weights is necessary to compute the code performance Estimating the complete weight distπbution of these codes for large N and fixed interleavers is still an open problem However, it is possible to estimate the weight distπbution for large N for random mterleavers by using probabilistic arguments 1 3 11 Interleaver design Interleavers should be capable of spreading low-weight input sequences so that the resultmg codeword has high weight Block interleavers, defined by a matπx with υr rows and υc columns such that JV =υr x ΌC, may fail to spread certain sequences For example, the weight 4 sequence shown in Figure 39 cannot be broken by a block mterleaver In order to break such sequences random interleavers are desirable Block interleavers are effective if the low-weight sequence is confined to a row If low-weight sequences (which can be regarded as the combination of lower weight sequences) are confined to several consecutive rows, then the υc columns of the mterleaver should be sent in a specified order to spread as much as possible the low- weight sequence As can be observed m the example in Figure 39, the sequence 1001 will still appear at the mput of the encoders for anv possible column permutation Onlv if we permute the rows of the mterleaver m addition to its columns it is possible to break the low- weight sequences Appropnate selection of a, and q for rows and columns depends on the particular set of codes used and on the specific low-weight sequences that we would like to break We have also designed random permutations (interleavers) by generatmg random integers ; ,1 < ; < N, without replacement We define a "S-random" permutation as follows " each randomly selected integer is compared to S previously selected mtegers If the cuπent selection is equal to anv S previous selections within a distance of ± S, then the cuπent selection is rejected Tins process is repeated until all N integers are selected While the searchmg time increases with 5. e observed that choosing S <- Λ' 2)' 2 usually produces a solution m reasonable time (For S = 1 we have a purelv random interleaver) hi the simulations we used 5 = 1 1 for Λ' = 256 and S - 31 tor \ = 4096 The advantage ot using three or more constituent codes is that the coπespondmg two or more interleavers have a better chance to break sequences that were not taken care by another interleaver The disadvantage is that, for an overall desired code rate, each code must be punctured more, resulting m weaker constituent codes It has been shown that randomly selected interleavers and interleavers based on the row-column permutation descnbed above In general, randomly selected permutations are good for low SNR operation (e g , PCS applications requiπng P b (e) = 10 3 ) where the overall weight distπbution of the code is more important than the mmimum distance 1 3 12 Performance with two codes The performance obtained by turbo decodmg the code with two constituent codes (1, gb/ga ), where ga =(37)octal and gb =(21 )octal , and with random permutations of lengths N = 4096 and (Note that the components of the s coπespondmg to the tail bits are set to zero for all iterations) N = 16384 is compared in Figure 40 to the capacity of a binarv- mput Gaussian channel for rate r = 1/4 The best performance curve in Figure 40 is approximately 0 7 dB from the Shannon limit at BER=10-" 1 3 13 Performance with Unequal Rate Encoders We now extend the results to encoders with unequal rates with two A' = 5 constituent codes (I gb/ga gc/ga) and (gb/ga ), where ga = (37)octal , gb =(33)octal and gc =(25)octal This structure improves the performance of the overall rate 1/4, code, as shown m Figure 40 This improvement is due to the fact that we can avoid usmg the mterleaved information data at the second encoder and that the rate ol the first code is lower than that of the second code For PCS applications, short interleaver should be used, since the vocoder frame is usually 20ms Therefore 192 and 256 bits interleavers as an example, coπespondmg to 9 6 and 13 Kbps The performance of codes with short mterleaver is shown m Figure 41 for the K= 5 codes descπbed above for random permutation and row-column permutation with a = 2 for rows and a = 4 for columns 1 3 14 Performance with Three Codes The performance of a three-code turbo code with random interleavers is showing Figure 42 for ^=4096 The three recursive codes shown m Figure 28 where used for K = 3 Three recursive codes with ga = (\3)octal and gb =(\ \)octal were used for K = 4 Usmg K = 4 code has better performance than several others In Figure 42, the performance of the A " = 4 code was improved by going to 30 iterations and usmg a 5-random mterleaver with 5=31 For shorter blocks (192 and 256), the results are shown m Figure 41 where it can be observed that approximately 1 dB SNR is required for BER=10 3 , which implies a CDMA capacity C = 0 8η We have noticed that the slope of the BER curve changes around BER=10 5 (flattening effect) it the mterleaver is not designed properlv to maximize d m ,„ or is chosen at random 1 4 Compaπson Between Parallel and Senallv Multiple Concatenated Codes In this section, we will use the bit-eπor probability bounds previously deπved to compare the performance of parallel and senally multiple concatenated block and convolutional codes 1 4 1 Parallel and Senallv Multiple Concatenated Block Codes To obtam a fair companson, we have chosen the following PMCBC and SMCBC The PMCBC has parameters (11m, 3m, N) and employs two equal (7,3) systematic cyclic codes with generator g(D)=(l+D) (I + D + D 3 ), the SMCBC, instead, is a ( 15m, 4m, N) SMCCC obtained bv the concatenation of the (7, 4) Hamming code with a (15, 7) BCH code They have almost the same rates (Re, =0 266 and Rc P =0 273), and have been compared choosing the mterleaver length m such a way that the decoding delav due to the mterleaver, measured in terms ol input information bits, is the same As an example, to obtam a delav equal to 12 mput bits, we must choose an interleaver length N=12 for the PMCBC and N =12 R°c=21 for the SMCBC The results are shown m Figure 25 where we plot the bit-eπor probability versus the signal-to-noise ratio Eb No lor vanous input delavs The results show that for low values ot the delav, the performances are almost the same On the other hand increasing the delav (and thus the interleaver length JV) yields a significant mterleaver ga for the SMCBC and almost no gain for the PMCBC. The difference in performance is 3 dB at P b (e) =10 " * in favor of the SMCBC. 1.4.2. Parallel and Serially Multiple Concatenated Convolutional Codes To obtain a fair comparison, we have chosen the following PMCCC and SMCCC: The PMCCC is a rate 1/3 code obtained concatenating two equal rate 1/2, four-state systematic recursive convolutional codes with a generator matrix as in the first row of Table 2. The SMCBC is a rate 1/3 code. It is form using as an outer code the same rate 1/2, four-state code as in the PMCCC and, as an inner code, a rate 2/3, four-state systematic recursive convolutional code with a generator matrix as in the third row of Table 2. Also, in this case, the interleaver lengths have been chosen so as to yield the same decoding delay, due to the interleaver, in terms of input bits. The results are shown in Figure 44, where we plot the bit-eπor probability versus the signal-to-noise ratio Et/No for various input delays. The results show the great difference in the interleaver gain. In particular, the PMCCC shows .an interleaver gain going as N -1 , whereas the interleaver gain of the SMCCC, as from Expression (31), goes as N - ( d°/ + 1)/2 = N -3 , since the free distance of the outer code is equal to 5, which is odd. This means, for P b (e) =10 ' ", a gain of more than 2 dB in favor of the SMCCC. Previous comparisons have shown that serial concatenation is advantageous with respect to parallel concatenation in terms of maximum-likelihood performance. For long interleaver lengths, this significant result remains a theoretical one, as maximum-likelihood decoding is an almost impossible achievement. 2. A SISO MAP Module to Decode Parallel and Serial Multiple Concatenated Codes Multiple concatenated coding schemes with interleavers comprises a combination of two simple constituent encoders and an interleaver. The parallel concatenation has been shown to yield remarkable coding gains close to theoretical limits, yet admitting a relatively simple iterative decoding technique. The serial concatenation of interleaved codes may offer a superior performance. In both coding schemes, the core of the iterative decoding structure is a soft-input soft-output (SISO) module. Here, we describe the SISO module in a form that continuously updates the maximum a posteriori (MAP) probabilities of input and output code symbols and show how to embed it into iterative decoders for parallel and serially concatenated codes. 2.1. Introduction Both concatenated coding schemes admit a suboptimum decoding process based on the iterations of the MAP algorithm applied to each constituent code. Here we describe a SISO module that implements the MAP algorithm in its basic form, the extension of it to additive MAP (log-MAP), which is indeed a dual-generalized Viterbi algorithm with coπection, and finally extension to the continuous decoding of PMCCC and SMCCC. As examples of applications, we will show the results obtained by decoding two low-rate codes, with very high coding gain. 2.2. Iterative Decoding of Parallel and Serial Concatenated Codes In this section, we show the block diagram of parallel and serially concatenated codes, together with their iterative decoders, both iterative decoding algorithms need a particular module, named SISO, which implements operations strictly related to the MAP algorithm. 2.2.1. Parallel Concatenated Codes The block diagram of a PMCCC is shown in Figure 45 (a) (the same construction also applies to block codes). In Figure 45, a rate 1/3 PMCCC is obtained using two rate 1/2 constituent codes (CCs) and an interleaver. For each input information bit, the codeword sent to the channel is formed by the input bit, followed by the parity check bits generated by the two encoders. In Figure 45 (b), the block diagram of the iterative decoder is also shown. It is based on two modules denoted by "SISO," one for each encoder, an interleaver, and a deinterleaver performing the inverse permutation with respect to the interleaver. The SISO module is a four-port device (quadriport), with two inputs and two outputs. Here, it suffices to say that it accepts as inputs the probability distributions of the information and code symbols labeling the edges of the code trellis, and forms as outputs an update of these distπbutions based upon the code constraints In Figure 45 (b) can be seen that the updated probabilities of the code symbols, are never used by the decodmg algonthm 2 22 Senallv Multiple Concatenated Codes The block diagram of a SMCCC is shown m Figure 46 (a) (the same construction also applies to block codes) In Figure 46 (a), a rate 1/3 SMCCC is obtamed usmg as an outer encoder a rate 1/2 encoder, and as an mner encoder a rate 2/3 encoder An mterleaver permutes the output codewords of the outer code before passmg them to the inner code In Figure 46 (b), the block diagram of the iterative decoder is shown It is based on two modules denoted by "SISO", one for each encoder, an mterleaver, and a deinterleaver The SISO module is the same as descπbed before In this case, though, both updated probabilities of the input and code symbols are used m the decoding procedure 2 2 3 Soft-Output algoπthms The SISO module is based on MAP algoπthms These algoπthms perform both forward and backward recursions and, thus, require that the whole sequence be received before starting the decoding operations As a consequence, they can onlv be used m block-mode decodmg The memory requirement and computational complexity grow linearly with the sequence length Some algoπthms require only a forward recursion, so that it can be used in continuous-mode decoding However, its memory and computational complexity grow exponentially with the decoding delav It is possible to use a MAP symbol-by-symbol decoding algoπthm conjugatmg the positive aspects of other algoπthms, I e , a fixed delay and linear memory and complexity growth with decodmg delay All these algonthms are truly MAP algoπthms To reduce the computational complexity, vaπous forms of suboptunum soft-output algoπthms can be used Two approaches have been taken The first approach tnes to modify the Viterbi algoπthm These augmented outputs mclude the depth at which all paths are merged, the difference m length between the best and the next-best paths at the pomt of mergmg, and a given number of the most likely path sequences The same concept of augmented output was later generalized for vaπous applications A different approach to the modification of the Viterbi algoπthm compnses of generating a reliability value for each bit of the hard-output signal and is called the soft-output Viterbi algoπthm (SOVA) In the binary case, the degradation of SOVA with respect to MAP is small, however, SOVA is not as effective m the nonbmary case The second approach compnses of revisiting the oπgmal symbol MAP decoding algoπthms with the ami of simplifying them to a form suitable for implementation 2 3 The SISO Module 2 3 1 The Encoder The decoding algoπthm underlying the behavior of SISO works for codes admitting a trellis representation It can be a time-invaπant or time-varying trellis, and, thus, the algoπthm can be used for both block and convolutional codes In Figure 47, we show a trellis encoder, charactenzed by the following quantities (In the following, capital letters U C, S, E will denote random vaπables and lower-case letters u, c, s, e their realizations The letter P [A] will denote the probability of the event A, whereas the letter P(a) will denote a function of a The subscπpt A will denote a discrete time, defined on the time index set K Other subscπpts, like ;, will refer to elements of a fimte set Also, "()" will denote a tune sequence, whereas "{}" will denote a finite set of elements ) 1 U =( Uk) keK is the sequences of mput symbols, defined over a time index set K (finite or infinite) and drawn from the alphabet U = { u ι . , u Nl j To the sequence of mput symbols, we associate the sequence of a pnoπ probability distπbutions P (u, I) = [P k (u k . I)) keK where P (u k ) = P fU k = u k ] 2 C=( ' Ck) keK is the sequences ol output, or code, symbols, defined over the same time index set K, and drawn from the alphabet C - j c / c Vo j To the sequence oi output symbols we associate the sequence ol a pnoπ probabi tv distπbutions P (c, I) = ( P (c k . V) k κ For simplicity of notation, we drop the dependency of u k and c k on k Thus, P k (u , I) and P k (c , I) will be denoted simply by P k (u, I) and P k(c , I) respectively 2 3 2 The Trellis Section The dynamics of a time-invaπant convolutional code are completely specified by a smgle trellis section, which descnbes the transitions (edges) between the states of the trellis at time instants A and k +1 A Trel sO section is characterized by the following (1) A set of TV states S == { si . s n } The state of the trellis at time A is &= 5, with s e S (2) A set of N xA 7 / edges obtamed by the Cartesian product E = Sx U = \ eι , e NxM , } which represents all possible transitions between the trellis states The following functions are associated with each edge e e E (see Figure 48) ( 1 ) The starting state s s (e) (the projection of e onto S) (2) The ending state (e) (3) The mput symbol u(e) (the projection of β onto U) (4) The output symbol c(e) The relationship between these functions depends on the particular encoder As an example, in the case of systematic encoders, (^ (e) c(e)) also identifies the edge smce u(e) is uniquely determined by c(e) In the following, we only assume that the pair (S 5 (e).u(e)) uniquely identifies the endmg state f (e), this assumption is always veπfied, as it is equivalent to say that, given the initial trellis state, there is a one-to-one correspondence between input sequences and state sequences, a property required for the code to be uniquely decodable 2 3 3 The SISO Algoπthm The SISO module is a four-port device that accepts at the mput the sequences of probability distπbutions P (c, I) P (u, I) and outputs the sequences of probability distπbutions P (c, O) P (u, O) based on its mputs and on its knowledge of the trellis section (or code m general) We assume first that the time index set K is finite, l , K = fl, ,n) The algoπthm by which the SISO operates in evaluating the output distπbutions will be explained in two steps In the first step, we consider the following algoπthm (1 ) At time A the output probability distπbutions are computed as P k (c O) = H c Σ Ak s s (e)] P k [ (e), I] p k [c(e) I] B k [s E (e)] (78) e c(e)=c P k ( , 0) = H u Σ A k .,[s s (e)] P k [u(e), I] P k [c(e), I] B k [s E (e)] (79) e c(e)=u (2) The quantities A k () and B () are obtamed through the forward and backward recursions, respectively, as A k (s) = Σ A k ,[s s (e)J P k [ (e), IJ P k fc(e), IJ , k = l , , n (80) B k (s) = Σ B k+I [s ε (e)J P k + , (u(e), IJ p k +l [c(e), I] k = n - l , 0 (81) e (e)=s with initial values f 1 s = So) Ao(s) = (82) I 0 otherwise) f * S = Sn) B„(s) ~ (83) [ 0 othenvise) The quantities fj c , fϊ u are normalization constants defined as follows H u → ∑ P k ("- 0) = 1 u In the second step, from Equations (78) and (79), it is apparent that the quantities P fc(e), I] in the first equation and P k [u(e), I] in the second do not depend on e, by definition of the summation mdices, and thus can be extracted from the summations Thus, defining the new quantities where H c and H u are normalization constants such that H u → Σ P k ( . O) = 1 It can be easily veπfied that they can be obtamed through the expressions Pk(c O) = He H e ∑ Ak.,[s s (e)J P k [u(e), I] B k [s E (e)] (84) P k (u, 0) = Hu H u ∑ Ak-ι[s s (e)] P k [c(e), I] B k [s E (e)] (85) e c(e)=u where the A 's and B's satisfy the same recursions previously introduced in Equation (80) The new probability distπbutions P k (u.O) and P k (c.O) represent a smoothed version of the input distπbutions P k (c,I) and Pi (u,I), based on the code constraints .and obtamed usmg the probability distnbutions of all symbols of the sequence but the kth ones, P k (c,I) and P k (u,I) In the literature of PMCCC decoding, P (u.O) and P (c.O) would be called extπnsic mformation Thev represent the added value of the SISO module to the a pπoπ distπbutions P I) and Pk(c.I) Basing the SISO algonthm on P k ( ,0) instead of on p k ( , O) simplifies the block diagrams, and related software and hardware, of the iterative schemes tor decoding concatenated codes The SISO module is then represented as m Figure 49 Previously proposed algoπthms were not m a form suitable for working with a general trellis code Most of them assumed bmarv input symbols, some also assumed systematic codes, and none (not even the ongmal BCJR algoπthm) could cope with a trellis havmg parallel edges As can be noticed, (from all summations mvolved m the equations that define the SISO algoπthm) we work on trellis edges rather than on pairs of states This makes the algoπthm completely general and capable of coping with parallel edges and also with encoders with rates greater than one, like those encountered m some concatenated schemes 2 34 Computation of Input and Output Bit Extrinsic Information In this subsection, bit extnnsic information is deπved from the symbol extπnsic information usmg Equations (84) and (85) Consider a rate A < /ι 0 trellis encoder such that each input symbol U compnses of k 0 bits and each output symbol C compnses ot n„ bits Assume Pk( I) = h Pt j (u j . I) (87) where c J e {0 1} denotes the value of the jth bit C J k of the output symbol C k = c j =1 n„ , and u J e {0 1} denotes the alue ot the jth bit J k of the output symbol U * = u j ~ 1 k 0 This assumption is valid in an iterative decoding when bit interleavers rather than symbol interleavers are used One should be cautious when usmg P k (c, I) as a product for those encoders m a concatenated system where the output C m Figure 47 is connected to a channel For such cases, if, for an example, a nonbinary mput additive white Gaussian noise (AWGN) channel is used, this assumption usually is not needed (this will be discussed shortly), and Pk (c, I)=P k (c\y)= Pk (y\x(c))P (c)/P (y), where v is the complex received sample(s) and x(c) is the transmitted nonbinary symbol(s) Then, tor binary mput memoryless channels, P k (y\x(c)) can be written as a product After obtaining symbol probability distπbutions Pk (c, O) and Pk (u, O) from Equations (84) and (85) by usmg Equations (79) and (81), it is easy then to show that the input and output bit extπnsic information can be obtained as Pk.j (c' . O) = Hc> ∑ Pk(c. O) fl Pk.j (d . D (88) c c{=c J ι=hf] P k] (uX 0) = H > Σ P k (u, 0) π P k j ( ' . I) (89) u U{=u J ι= xj where H, and H j are normalization constants such that Equation (86) is not used for those encoders in a concatenated coded system connected to a channel To keep the expressions general, as is seen from Equations (80), (81 ), and (89), Pk c(e),I] is not represented as a product In the following sections, for simplicity of notation, the probability distπbution of symbols rather than of bits is considered The extension of the results to probability distπbutions of bits based on the above deπvations is straightforward 2 4 The Sliding- Window Soft-Input Soft-Output Module (SW-SISO) As previous descπption should have made clear, the SISO algoπthm requires that the whole sequence has been received before starting the smoothing process The reason is due to the backward recursion that starts from the (supposed-known) final trellis state As a consequence, its practical application is limited to the case when the duration of the transmission is short (n small) or, tor n long, when the received sequence can be segmented mto independent consecutive blocks, like for block codes or convolutional codes with trellis termination It cannot be used for continuous decodmg ol convolutional codes This constraint leads to a frame, that πgidity imposed on the svstem and also reduces the overall code rate A more flexible decoding strategy is offered by modifying the algonthm This modification is in such a way, that the SISO module operates on a fixed memory span and outputs the smoothed probability distπbutions after a given delay D This new algoπthm is called the s ding-wmdow soft-input soft-output (SW-SISO) algoπthm (and module) We propose two versions of the SW-SISO that differ in the way they overcome the problem of initializing the backward recursion without waitmg for the entire sequence From now on, we assume that the time index set K is semi-infinite, I e , K={1, , ∞}, and that the initial state so is known 2 4 1 First Version of the Shding-Window SISO Algoπthm (SW-SISOl ) The SW-SISOl algoπthm compnses ot the following steps ( 1 ) Initialize Ao according to Equation (82) (2) Forward recursion at time A Compute the A k through the forward recursion of Equation (80) (3) Initialization of the backward recursion (time A " -> D ) (4) Backward recursion It is pertormed accordmg to Equation (81 ) from iterations ;=/ to ι=D as B k ° ) = Σ BKll,[s E (e)] P k [u(e), I] P k [c(e), I] (91 ) and (5) The probability distπbutions at tune k -D are computed as P k (c. O) = He H e ∑ A k . D -ι fs s (e)J P k . D [u(e), IJ B k - D [s E (e)J (93) e c(e)=c Pk-o(u. O) = He H e ∑ Ak- D -ι[s s (e)] P k - D [c(e), I] B k - D [s E (e)] (94) e u(e}=u 2 4 2 The Second Simplified Version of the Shding-Window SISO Algonthm (SW-SISQ2) A further simplification of the slidmg- window SISO algoπthm, which is similar to SW-SISOl except for the backward initial condition, that significantly reduces the memory requirements compnses of the following steps ( 1 ) Initialize Ao according to Equation (82) (2) Forward recursion at time k, k > D Compute the A k D through the forward recursion Ak. D (s) = Σ Ak-D-ι[s s (e)] Pk. D Me), I] P k . D [c(e),I] . k > D (95) e s(e)=s (3) Initialization of the backward recursion (time k > D) Bψ(s) = - Vs (96) N (4) Backward recursion (time k > D) It is performed according to Equation (91 ) as before (5) The probability distπbutions at tune A - D are computed accordmg to Equations (93) and (94) as before 2 4 3 Memory and Computational Complexity 2 4 3 1 - Algoπthm SW-SISOl For a convolutional code with parameters (ko ,no ) and number of states N , so that Ni - 2 ko and o = 2 "° , the algoπthm SW-SISOl requires storage of N χ £ ) values of A's and D(N 1 + No ) values of the input unconstramed probabilities P k (u, I) and P k (c, I) Moreover, to update the A's and B's for each time instant, it needs to perform 2 xλ 7 A 7 / multiplications and N additions of Λ 7 / numbers To output the set ot probability distπbutions at each time instant, we need a D-times long backward recursion Thus, overall the computational complexity reqwres the following 2(D+l) χ N* N ; multiplications and (D +l)xN* (N i -l) additions 2 4 3 2 Algoπthm SW-SISQ2 This simplified version of the shding-window SISO algoπthm does not require the storage of the N*D values of A's, as they are updated with a delay of D steps As a consequence, only N values of A's and D (Nj + No ) values of the mput unconstramed probabilities P (u, I) and P k (c, I) need to be stored The computational complexity is the same as that for the previous version of the algoπthm However, smce the initialization of the B recursion is less accurate, a larger value of D may be necessary 2 5 The Additive SISO Algoπthm (A-SISO) The shding-wmdow SISO algoπthms solve the problems of continuously updating the probability distπbutions, without requiπng trellis terminations Their computational complexity, however, is still high when compared to other suboptimal algonthms like SOVA This is due mainlv to the fact that they are multiplicative algonthms We overcome this drawback bv proposing the additive version of the SISO algonthm Clearly, the same procedure can be applied to its two slidmg- window versions, SW-SISOl and SW-SIS02 To convert the previous SISO algonthm from multiplicative to additive form, we exploit the monotoiucity of the logaπthm function, and use for the quantities P(u; ),P(c; ). A, and B their natural logaπthms, accordmg to the following defimtions π k (c;I) = log [p k (c, D] πk (u;I) = log [ p k (u; I) 'J πk (c;0) = log [P k (c;0)J π k ( ;0) = log fp k (u;0)J a k (s) = log [A k (s)J β k (s) = log [ k (s)] With these defimtions, the SISO algonthm defined by Equations (84) and (85) and Equations (80) and (81) becomes the following- At time A, the output probability distπbutions are computed as π k (c;0) = log π k ( ;0) = log „[c(e).l} + (98) where the quantities «t () and β k () are obtained through the forward and backward recursions, respectively, as a k (s) = log + πl [c(e).l)) k = 1 n (99) π t c(e),l]) β k ® = l0 8 Σ + + k = n - 1 ,..., 0 (100) with initial values 0 s = So) a 0 (s) -oo otherwise] The quantities h c and Λ„ are normalization constants needed to prevent excessive growth of the numeπcal values of the a's and β's The problem in the previous recursions compnses in the evaluation of the logaπthm of a sum of exponential like (in general) L log Σ (101) To evaluate a in Equation (101), we can use two approximations, with mcreasmg accuracy (and complexity) The first approximation is a = log * au (102) where we have defined a ι - max a, } . > = 1 This approximation assumes that a M > > a, , V ; = / ,. ., L It is almost optimal for medium-high signal-to-noise ratios and leads to performance degradations of the order of 0 5 to 0 7 dB for very low signal-to-noise ratios Usmg Equation (102), the recursions of Equations (99) and (100) become a k (s) = , k = 1 n (103) β k (s) = m , k = n - 1 , .. 0 (104) and the Λ S of Equations (97) and (98) become π k (c;0) = max { αt-J M + π k [ (e) ; I ] + β k \s E (e) 1 } + h c (105) e cfe)=c t L J I J π k ( , 0) + π k [c(e) ; I ] + β k \s E (e) ] } + h u (106) When the accuracy of the previously proposed approximation is not sufficient, we can evaluate "a " in Equation (101 ) usmg the following recursive algoπthm J" ai a® = max { a' 1 -" , a, } + log 1 + 1 = 2 , = a^ To evaluate a, the algoπthm needs to perform (L - 1) times two kinds of operations a compaπson between two numbers to find the maximum, and the computation of log [ 1 + e'- ) ] Δ ≥ 0 The second operation can be implemented usmg a single-entry look-up table up to the desired accuracy Therefore, a in Equation (101) can be written as * faj. The second term, δ ( ai , a ,. .. aι), is called the coπection term and can be computed using a look-up table, as discussed above Now, if desired, max can be replaced by max* in Equations (103) through (106) Clearly, the additive form of the SISO algoπthm can be applied to both versions of the shding-window SISO algoπthms descπbed m the previous section, with straightforward modifications 2 6 Applications of the ASW-SISO Module Consider a PMCCC obtained using as constituent codes two equal rate 1/2 systematic, recursive, 16-state convolutional encoders with generatmg matπx J + D + D 3 + D 4 G(D) J ,- J + D 3 + D 4 The mterleaver length is N= 16,384 The overall PMCCC forms a very powerful code for possible use in applications requinng reliable operation at very low signal-to-noise ratios The performance of the continuous iterative decodmg algoπthm, applied to the concatenated code, is obtamed bv simulation, using the ASW-SISO and the look-up table algonthms It is shown in Figure 50, where we plot the bit-eπor probability as a function of the number of iterations of the decodmg algoπthm for vaπous values of the bit signal-to-noise ratio, E b No It can be seen that the decoding algoπthm converges up to an eπor probability of 10 5 , for signal-to-noise ratios of 0 2 dB with nine iterations Moreover, convergence is guaranteed also at signal-to-noise ratios as low as 0 05 dB, which is 0 55 dB trom the Shannon capacity limit As a second example, we construct the seπal concatenation ot two convolutional codes (SMCCCs) usmg as an outer code the rate 1/2, 8-state nonrecursive encoder with generating matrix G(D) = [ 1 + D + D 3 1 + D J and as an inner code, the rate 1/2, 8-state recursive encoder with generating matrix 1 + D * D 3 G(D) 1 1 + D The resulting SMCCC has rate 1/4 The mterleaver length has been chosen to ensure a decodmg delav in terms of mput mformation bits equal to 16,384 The performance of the concatenated code, obtamed by simulation as before, is shown m Figure 51 , where we plot the bit-eπor probability as a function of the number of iterations of the decoding algoπthm for vaπous values of the bit signal-to-noise ratio, E/ No It can be seen that the decoding algoπthm converges up to an eπor probability of 10' 5 , for signal-to-noise ratios of 0 10 dB with nine iterations Moreover, convergence also is guaranteed at signal-to-noise ratios as low as -0 10 dB, which is 0 71 dB from the capacity limit As a third, .and final, example, we compare the performance of a PMCCC and an SMCCC with the same rate and complexity The concatenated code rate is 1/3, the CCs are tour-state recursive encoders (rates 1/2 + 1/2 for the PMCCCs and rates 1/2 + 2/3 for the SMCCCs), and the decodmg delays in terms of input bits are equal to 16,384 In Figure 52, we report the bit-eπor probability versus the signal-to-noise ratio for six and nine decodmg iterations As the curves show, the PMCCC outperforms the SMCCC for high values of the bit-eπor probabilities Below 10 "5 (for rune iterations), the SMCCC behaves significantly better and does not present the "floor" behavior typical of PMCCCs In particular, at 10 " *, the SMCCC has an advantage of 0 5 dB with nine iterations 3 ADSL svstems Figures 53, 54, 55 and 56 are models for facilitating accurate and concise DMT signal waveform descπptions In the Figures 53, 54, 55 and 56 Z, is DMT sub-earner < (defined in the frequency domam), and x„ is the w" 1 IDFT output sample (defined m the time domam) The DAC and analog processing block construct the contmuous transmit voltage waveform coπespondmg to the discrete digital input samples More precise specifications for these analog blocks aπse indirectly from the analog transmit signal lineaπty and power spectral density specifications The use of Figures 53, 54, 55 and 56 as a transmitter reference model allows all initialization signal waveforms to be descπbed through the sequence of DMT symbols, {Z,}, required to produce that signal Allowable differences in the characteπstics of different digital to analog and analog processing blocks will produce somewhat different contmuous-time voltage waveforms for the same initialization signal 3 1 ATU-C transmitter reference models ATM and STM are application options ATU-C and ATU-R mav be configured for either STM bit sync transport or ATM cell transport 3 1 1 ATU-C transmitter reference model for STM transport Figure 53 is a block diagram of an ADSL Transceiver Unit-Central office (ATU-C) transmitter showing the functional blocks and interfaces for the downstream transport of STM data The basic STM transport mode is bit seπal The framing mode used determines if byte boundaπes, if present at the V-C interface, shall be preserved Outside the ASx/LSx senal interfaces data bvtes are transmitted MSB first All seπal processing in the ADSL frame (e g , CRC, scrambling, etc ) shall, however, be performed LSB first, with the outside world MSB considered bv the ADSL as LSB As a result, the first incoming bit (outside world MSB) shall be the first processed bit inside the ADSL (ADSL LSB) ADSL equipment shall support at least bearer channels AS0 and LS0 downstream Support of other bearer channels is optional Two paths are shown between the Mux/Svnc control and Tone ordeπng, the "fast" path provides low latencv the interleaved path provides verv low eπor rate and greater latency An ADSL system supporting STM, shall be capable of operatmg m a dual latencv mode for the downstream direcUon, m which user data is allocated to both paths (1 e fast and mterleaved) An ADSL svstem supportmg STM, shall be capable of operatmg m a smgle latency mode for both the downstream and upstream dnections, in which all user data is allocated to one path (1 e fast or mterleaved) An ADSL system supportmg STM transport may be capable of operatmg m an optional dual latency mode for the upstream, m which user data is allocated to both paths (1 e fast and mterleaved) 3 1 2 ATU-C transmitter reference model for ATM transport Figure 54 is a block diagram of an ADSL Transceiver Unit-Central office (ATU-C) transmitter showing the functional blocks and interfaces that are referenced in ITU-T G 992 1 Recommendation for the downstream transport of ATM data Byte boundaπes at the V-C interface shall be preserved m the ADSL data frame. Outside the ASx/LSx seπal interfaces data bytes are transmitted MSB first All seπal processing m the ADSL frame (e g , CRC, scrambling, etc ) shall, however, be performed LSB first, with the outside world MSB considered by the ADSL as LSB The first incoming bit (outside world MSB), will be the first processed bit inside the ADSL (ADSL LSB) The CLP bit of the ATM cell header will be earned in the MSB of the ADSL frame byte (l e , processed last), ADSL equipment shall support at least bearer channel ASO downstream) Two paths are shown between the Mux/Svnc control and Tone ordermg, the "fast" path provides low latency, the interleaved path provides very low eπor rate and greater latency An ADSL system supporting ATM transport shall be capable of operatmg m a smgle latency mode, m which all user data is allocated to one path (l e fast or interleaved) An ADSL system supportmg ATM transport may be capable of operatmg m an optional dual latency mode, in which user data is allocated to both paths ( l e fast and interleaved) 3 2 ATU-R transmitter reference models ATM and STM are application options ATU-C and ATU-R may be configured for either STM bit sync transport or ATM cell transport 3 2 1 ATU-R transmitter reference model for STM transport Figure 55 show a block diagram of an ATU-R transmitter showing the functional blocks and interfaces that are referenced m this Recommendation tor the upstream transport of STM The basic STM transport mode is bit seπal The framing mode used determines if byte boundanes, if present at the V-C interface, shall be preserved Outside the LSx senal interfaces data bvtes are MSB transmitted first All seπal processing m the ADSL frame (e g , CRC, scrambling, etc ) shall, however, be performed LSB first, with the outside world MSB considered by the ADSL as LSB As a result, the first incoming bit (outside world MSB) will be the first processed bit mside the ADSL (ADSL LSB) ADSL equipment shall support at least bearer channel LSO upstream Two paths are shown between the Mux/Sync control and Tone ordermg, the "fast" path provides low latency, the interleaved path provides very low eπor rate and greater latency An ADSL system supportmg STM shall be capable of operating in a dual latency mode for the downstream direction, m which user data is allocated to both paths (l e fast and mterleaved) An ADSL system supportmg STM shall be capable of operating in a single latency mode for both the downstream and upstream directions, in which all user data is allocated to one path (l e fast or interleaved) An ADSL system supportmg STM transport may be capable of operatmg m an optional dual latency mode for the upstream, in which user data is allocated to both paths (I e fast and interleaved) 3 2 2 ATU-R transmitter reference model for ATM transport Figure 56 show a block diagram ot an ATU-R transmitter showing the functional blocks and interfaces that are referenced in this Recommendation for the upstream transport of ATM data Byte boundaπes at the T-R interface shall be preserved in the ADSL data trame Outside the LSx senal interlaces data bvtes are transmitted MSB first in accordance with ITU-T Recommendations I 361 and 1432 All seπal processing m the ADSL frame (e g CRC, scrambling etc ) shall however, be performed LSB first with the outside world MSB considered bv the ADSL as LSB As a result the first incoming bit (outside world MSB) will be the first processed bit inside the ADSL (ADSL LSB), and the CLP bit of the ATM cell header will be earned m the MSB of the ADSL frame bvte (1 e , processed last) ADSL equipment shall support at least bearer channel LSO upstream Two paths are shown between the Mux/Sync control and Tone ordeπng, the "fast" path provides low latency, the mterleaved path provides very low error rate and greater latency An ADSL system supportmg ATM transport shall be capable of operatmg m a smgle latency mode, m which all user data is allocated to one path (1 e fast or mterleaved) An ADSL system supportmg ATM transport may be capable of operatmg in an optional dual latency mode, m which user data is allocated to both paths (1 e fast and mterleaved) 3 3 Transport Capacity An ADSL system may transport up to seven user data streams on seven bearer channels simultaneously up to four independent downstream simplex bearers (unidirectional from the network operator (I e V-C interface) to the CI (I e T-R interface)) An ADSL system may transport up to three duplex bearers (bi-directional between the network operator and the CI) The three duplex bearers may alternatively be configured as independent unidirectional simplex bearers, and the rates of the bearers m the two chrections (network operator toward CI and vice versa) do not need to match All bearer channel data rates shall be programmable m any combmation of integer multiples ot 32 kbit/s The ADSL data multiplexing format is flexible enough to allow other transport data rates, such as channelizations based on existmg 1 544 Mbit/s, but the support of these data rates (non-mteger multiples of 32 kbit/s) will be limited by the ADSL system's available capacity for synchronization The maximum net data rate transport capacity of an ADSL system will depend on the characteristics of the loop on which the system is deployed, and on certam configurable options that affect overhead The ADSL bearer channel rates shall be configured during the initialization and training procedure The transport capacity of an ADSL system per se is defined only as that of the bearer channels When, however, an ADSL system is mstalled on a lme that also carnes POTS or ISDN signals the overall capacity is that of POTS or ISDN plus ADSL A distinction is made between the transport of synchronous (STM) and asynchronous (ATM) data An ATU-x shall be configured to support STM transmission or ATM transmission Bearer channels configured to transport STM data can also be configured to carry ATM data ADSL equipment may be capable of simultaneously supporting both ATM and STM transport If an ATU-x supports a particular bearer channel it shall support it through both the fast and interleaved paths In addition, an ADSL system may transport a Network Timing Reference (NTR) 3 3 1 Transport of STM data ADSL systems transporting STM shall support the simplex bearer channel ASO and the duplex bearer channel LSO downstream Bearer channels ASO, LSO, and any other bearer channels supported shall be mdependently allocable to a particular latency path as selected by the ATU-C at start-up The system shall support dual-latency downstream ADSL systems transporting STM shall support the duplex bearer channel LSO upstream using a single latency path Bearer channel ASO shall support the transport of data at all mteger multiples of 32 kbit/s from 32 kbit/s to 6144 kbit/s Bearer channel LSO shall support 16 kbit/s and all integer multiples of 32 kbit/s from 32 kbit/s to 640 kbit/s When AS1, AS2, AS3, LSI and LS2 are provided, thev shall support the range of integer multiples of 32 kbit/s shown in Table 4 Support for data rates based on non-integer multiples of 32 kbit s is also optional Table 4 shows the required 32 kbit/s integer multiples for transport ol STM Table 4 Required 32 kbitts integer multiples tor transport of STM Table 5 illustrates the data rate terminology and definitions used for STM transport Table 5 Data Rate Terminology for STM transport Data Rate Equation (kbits/s) Reference Point STMdata rate = "Net data rate" Σ(Bι,B F ) X 32 ASx + LSx (NOTE) "Net data rate" + Frame overhead rate "Aggregate data Σ(Kι,K F ) X 32 A rate" "Aggregate data + RS Codmg overhead = "Total data rate" Σ(NI,N F ) X 32 B rate" rate "Total data rate" + Trellis Codmg = Lme rate Σb , X 4 U overhead rate NOTE - Net data rate mcrease by 16 kbit/s if a 16 kbit/s "C"-channel is used 3 3 2 Transport of ATM data An ADSL system transporting ATM shall support the single latency mode at all integer multiples of 32kbιt/s up to 6 144 Mbit/s downstream and up to 640 kbit/s upstream For smgle latency, ATM data shall be mapped to bearer channel ASO m the downstream direction and to bearer channel LSO m the upstream direction The need for dual latency for ATM services depends on the service application profile, and is under study by the ITU One of three different "latency classes" may be used Smgle latency, not necessanly the same for each direction of transmission, Dual latency downstream, single latency upstream, Dual latency both upstream and downstream ADSL systems transporting ATM shall support bearer channel ASO downstream and bearer channel LSO upstream, with each of these bearer channels independently allocable to a particular latency path as selected by the ATU-C at start-up Therefore, support of dual latency is optional for both downstream and upstream If downstream ATM data are transmitted through a smgle latency path (I e , 'fast' only or 'interleaved' only), onlv bearer channel ASO shall be used, and it shall be allocated to the appropnate latencv path If downstream ATM data are transmitted through both latency paths (I e , 'fast' and 'interleaved'), onlv bearer channels ASO and ASl shall be used, and thev shall be allocated to different latencv paths Similarly, if upstream ATM data are transmitted through a single latencv path (I e , 'fast' only or 'interleaved' onlv), onlv bearer channel LSO shall be used and it shall be allocated to the appropnate latencv path The choice of the fast or interleaved path mav be made mdependentlv ot the choice for the downstream data It upstream ATM data are transmitted through both latency paths (1 e , 'fast' and 'mterleaved'), only bearer channels LSO and LSI shall be used and they shall be allocated to different latency paths Bearer channel ASO shall support the transport ot data at all integer multiples of 32 kbit/s from 32 kbit/s to 6144 kbit/s Bearer channel LSO shall support all integer multiples of 32 kbit/s from 32 kbit/s to 640 kbit/s Support for data rates based on non-integer multiples of 32 kbit/s is also optional When ASl and LSI are provided, thev shall support the range of integer multiples ot 32 kbit/s shown in Table 4 Data rates based on non-integer multiples of 32 kbit/s is optional Bearer channels AS2, AS3 and LS2 shall not be provided for an ATM based ATU-x Table 6 illustrates the data rate terminology and defimtions used for ATM transport Table 6- Data Rate Terminology for ATM transport Data Rate Equation kbits/s) RefPomt 53 x 8 x ATM cell rate "Net data rate" Σ(Bι B F ) X 32 ASx + LSx "Net data rate" + Frame overhead rate = "Aggregate data Σ(K, K F ) X 32 A rate" 'Aggregate data rate" + RS Codmg overhead rate "Total data rate" Σ(Nt N F ) X 32 B 'Total data rate" + Trellis Coding overhead = Lme rate Σb ι X 4 U rate 3 3 3 ADSL svstem overheads and total bit rates The total bit rate transmitted by the ADSL system when operatmg in an optional reduced-overhead framing mode shall include capacity for the data rate transmitted m the ADSL bearer channels and ADSL system overhead (which includes an ADSL embedded operations channel, EOC, an ADSL overhead control channel, AOC, CRC check bytes, fixed mdicator bits for OAM, FEC redundancy bytes) When operatmg in the full-overhead mode the total bit rate shall also include capacity for the synchronization control bytes and capacity for bearer channel synchronization control The internal overhead channels and their rates are shown in Table 7 Table 7 Internal overhead channel functions and rates 3 4 ATU-C Functional Charactenstics An ATU-C may support STM transmission or ATM transmission or both Framing modes that shall be supported, depend upon the ATU-C be g configured for either STM or ATM transport If framing mode k is supported, then modes k- 1 , , 0 shall also be supported During initialization, the ATU-C and ATU-R shall indicate a framing mode number 0, 1, 2 or 3, which thev intend to use The lowest indicated framing mode shall be used Usmg framing mode 0 ensure than an STM based ATU-x with an external ATM TC will mteroperate with an ATM based ATU-x Additional modes of interoperation are possible depending upon optional features provided in either ATU-x An ATU-C mav provide a Network Timing Reference (NTR) This operation shall be mdependent ot anv clocking that is internal to the ADSL svstem 3 4 1 STM Transmission Protocol Specific functionalities 3 4 1 1 ATU-C mput and output V interfaces for STM transport The functional data interfaces at the ATU-C for STM transport are shown in Figure 57 Input interfaces for the highspeed downstream simplex bearer channels are designated ASO through AS3, input/output interfaces for the duplex bearer channels are designated LSO through LS2 There shall also be a duplex mterface for operations, admmistration, mamtenance (OAM) and control of the ADSL system 3 4 1 2 Downstream simplex channels Four data mput interfaces are defined at the ATU-C for the high-speed downstream simplex channels ASO, ASl , AS2 and AS3 (ASx m general) 3 4 1 3 Downstream/upstream duplex channels Three input and output data interfaces are defined at the ATU-C for the duplex channels supported by the ADSL system, LSO, LSI, and LS2 (LSx in general) LSO is also known as the "C" or control channel It carπes the signaling associated with the ASx bearer channels and it may also carry some or all of the signaling associated with the other duplex bearer channels 3 4 1 4 Payload transfer delav The one-way transfer delay for payload bits m all bearers (simplex and duplex) from the V reference pomt at central office end (V-C) to the T reference pomt at remote end (T-R) for channels assigned to the fast buffer shall be no more than 2 ms For channels assigned to the interleave buffer it shall be no more than (4 + (S-l)/4 +SxD/4) ms The same requirement applies in the opposite direction, from the T-R reference pomt to the V-C reference point 3 4 1 5 Frammg Structure for STM transport An ATU-C configured for STM transport shall support the full overhead frammg structure 0 The support of full overhead frammg structure 1 and the reduced overhead frammg structures 2 and 3 is optional Preservation of V-C mterface byte boundaπes (if present) at the U-C mterface may be supported for any of the U-C interface frammg structures An ATU-C configured for STM transport may support insertion of a Network Tuning Reference (NTR) 3 42 ATM Transmission Protocol Specific functionalities 3 4 2 1 ATU-C input and output V interface for ATM transport The functional data interfaces at the ATU-C for ATM is shown m Figure 58 The ATM channel ATM0 shall alwavs be provided, the channel ATM1 may be provided for support of dual latency mode Each channel operates as an mterface to a physical layer pipe When operatmg m dual latency mode, no fixed allocation between the ATM channels 0 and 1 on one hand and transport of 'fast' and 'mterleaved' data on the other hand is assumed This relationship is configured inside the ATU-C Flow control functionality shall be available on the V reference point to allow the ATU-C (l e the physical layer) to control the cell flow to and from the ATM layer. This functionality is represented by Tx_Cell_Handshake and Rx_Cell_Handshake A cell may be transfeπed from ATM to PHY layer only after the ATU-C has activated the Tx_Cell_Handshake Similarly a cell may be transfeπed from the PHY laver to the ATM layer only after the Rx_Cell_Handshake This functionalitv is important to avoid cell overflow or underflow in the ATU-C and ATM layers There shall also be a duplex interface for operations, admmistration, maintenance (OAM) and control of the ADSL svstem 3 4 2 2 Payload transfer delav The one-way transfer delav (excluding cell specific functionalities) tor pavload bits in all bearers (simplex and duplex) from the V reference point at central office end (V-C) to the T reference point at remote end (T-R) for channels assigned to the fast buffer shall be no more than 2 ms For channels assigned to the interleave buffer it shall be no more than (4 + (S-l)/4 +S D/4) ms The same requirement applies in the opposite direction, from the T-R reference point to the V-C reference point 3.4.2.3. ATM Cell specific functionalities 3.4.2.3.1. Idle Cell Insertion Idle cells shall be inserted in the transmitter direction for cell rate de-coupling. Idle cells are identified by the standardized pattern for the cell header given in ITU-T Recommendation 1.432. 3.4.2.3.2. Header Eπor Control (HEC) Generation. The HEC byte shall be generated in the transmit direction as described in ITU-T Recommendation 1.432, including the recommended modulo 2 addition (XOR) of the pattern 01010101 to the HEC bits. The generator polynomial coefficient set used and the HEC sequence generation procedure shall be in accordance with ITU-T Recommendation 1.432. 3.4.2.3.3. Cell payload scrambling. Scrambling of the cell payload field shall be used in the transmit direction to improve the security and robustness of the HEC cell delineation mechanism. In addition, it randomizes the data in the information field, for possible improvement of the transmission performance. The self synchronizing scrambler polynomial X 3 +l and procedures defined in ITU-T Recommendation 1.432 shall be implemented. 3.4.2.3.4. Bit timing and ordering When interfacing ATM data bytes to the ASO or ASl bearer channel, the most significant bit (MSB) shall be sent first. The ASO or ASl bearer channel data rates shall be integer multiples 32 kbit/s, with bit timing synchronous with the ADSL downstream timing base. 3.4.2.3.5 Cell Delineation. The cell delineation function permits the identification of cell boundaries in the payload. It uses the HEC field in the cell header. Cell delineation shall be performed using a coding law checking the HEC field in the cell header according to the algorithm described in ITU-T Recommendation 1.432. The ATM cell delineation state machine is shown in Figure 59. In the HUNT state, the delineation process is performed by checking bit by bit for the coπect HEC. Once such .an agreement is found, it is assumed that one header has been found, and the method enters the PRESYNC state. When byte boundaries are available within the receiving Physical Layer prior to cell delineation as with the framing modes 1, 2 and 3, the cell delineation process may be performed byte by byte. In the PRESYNC state, the delineation process is performed by checking cell by cell for the coπect HEC. The process repeats until the coπect HEC has been confirmed DELTA times consecutively. If an incorrect HEC is found, the process returns to the HUNT state. In the SYNC state the cell delineation will be assumed to be lost if an incoi * . t HEC is obtained ALPHA times consecutively. (With reference to LTU-T Recommendation 1.432, no recommendation is made for the values of ALPHA and DELTA as the choice of these values is not considered to effect interoperability. However, it should be noted that the use of the values suggested in ITU-T Recommendation 1.432 (ALPHA=1, DELTA=6) may be inappropriate due to the particular transmission characteristics of ADSL). 3.4.2.3.6 Header Eπor Control Verification The HEC covers the entire cell header. The code used for this function is capable of either: single bit eπor coπection or multiple bit eπor detection. Eπor detection shall be implemented as defined in ITU-T Recommendation 1.432 with the exception that any HEC eπor shall be considered as a multiple bit eπor, and therefore, HEC eπor coπection shall not be performed. 3.4.2.4 Framing Structure for ATM transport An ATU-C configured for ATM transport shall support the full overhead framing structures 0 and 1. The support of reduced overhead framing structures 2 and 3 is optional. The ATU-C transmitter shall preserve V-C interface byte boundaries (explicitly present or implied by ATM cell boundaries) at the U-C interface, independent of the U-C interface framing structure. To ensure framing structure 0 interoperability between an ATM ATU-C and an ATM cell TC plus an STM ATU-R (i.e., ATM over STM). transporting ATM cells and not preserving T-R byte boundaries at the U-R interface shall indicate during initialization that frame structure 0 is the highest frame structure supported An STM ATU-R transporting ATM cells and preserving T-R byte boundaπes at the U-R mterface shall indicate during initialization that frame structure 0, 1 , 2 or 3 is the highest frame structure supported An ATM ATU-C receiver operating m frammg structure 0 can not assume that the ATU-R transmitter will preserve T-R mterface byte boundanes at the U-R mterface and shall therefore perform the cell delineation bit-by-bit An ATU-C configured tor ATM transport may support insertion ol a Network Timmg Reference (NTR) 3 4 3 Network tinung reference (NTR) 3 4 3 1 Need for NTR Some services require that a reference clock be available m the higher layers of the protocol stack (I e above the physical layer), this is used to guarantee end-to-end synchronization ot transmit and receive sides Examples are Voice and Telephony Over ATM (VTOA) and Desktop Video Conferencing (DVC) To support the distπbution of a tinung reference over the network, the ADSL system may transport an 8 kHz timmg marker as NTR This 8 kHz timmg marker mav be used for voice/video playback at the decoder (D/A converter) m DVC and VTOA applications The 8 kHz timmg marker is mput to the ATU-C as part of the mterface at the V-C reference pomt 3 4 3 2 Transport of the NTR The intention of the NTR transport mechanism is that the ATU-C provides timmg mformation at the U-C reference pomt to enable the ATU-R to deliver to the T-R reference pomt timing mformation that has a tinung accuracy coπespondmg to the accuracy of the clock provided to the V-C reference pomt If provided, the NTR shall be inserted m the U-C frammg structure as follows a) The ATU-C may generate an 8 kHz local tinung reference (LTR) by dividing its sampling clock by the appropnate integer (276 if 2 208 MHz is used), b) It shall transmit the change m phase offset between the mput NTR and LTR (measured In cycles of the 2 208 MHz clock, that is units of approximately 452 ns) from the previous superframe to the present one This shall be encoded mto four bits ntr3 - ntrO (with ntr3 the MSB), representing a signed integer in the -8 to +7 range m 2's-complement notation The bits ntr3-ntr0 shall be earned m the indicator bits 23 (ntr3) to 20 (ntrO), see Table 9 c) A positive value of the change of phase offset, D 2 f, shall indicate that the LTR is higher In frequency th.an the NTR d) Alternatively, the ATU-C may choose to lock its downstream sampling clock (2 208 MHz) to 276 tunes the NTR frequency, m that case it shall encode Δ 2 f to zero The NTR, as specified by ANSI Standard Tl 101, has a maximum frequency vanation of ±32 ppm The LTR has a maximum frequency vaπation of ±50 ppm The maximum mismatch is therefore ±82 ppm This would result m an average change of phase offset of approximately ± 3 5 clock cycles over one 17 ms superframe, which can be mapped mto 4 overhead bits One method that the ATU-C may use to measure this change of phase offset is shown m Figure 60 3 4 4 Framing This subclause specifies framing of the downstream signal (ATU-C transmitter) Two types of framing are defined full overhead and reduced overhead Furthermore, two versions of full overhead and t o versions ot reduced overhead are defined The four resulting framing modes are defined in Table 8, and shall be refeπed to as framing modes 0 1 , 2 and 3 Table 8- Definition of framing modes Requirements for framing modes to be supported, depend upon the ATU-C being configured for either STM or ATM transport. The ATU-C shall indicate during initialization the highest framing structure number it supports. If the ATU-C indicates it supports framing structure A, it shall also support all framing structures A-l to 0. If the ATU-R indicates a lower framing structure number during initialization, the ATU-C shall fall back to the framing structure number indicated by the ATU-R. Outside the ASx LSx serial interfaces data bytes are transmitted MSB first in accordance with ITU-T Recommendations G.703, G.709, 1.361, and 1.432. All serial processing in the ADSL frame (e.g., CRC, scrambling, etc.) shall, however, be performed LSB first, with the outside world MSB considered by the ADSL as LSB. As a result, the first incoming bit (outside world MSB) will be the first processed bit inside the ADSL (ADSL LSB). 3.4.4.1 Data symbols Figures 53 and 54 show functional block diagrams of the ATU-C transmitter with reference points for data framing. Up to four downstream simplex data channels and up to three duplex data channels shall be synchronized to the 4 kHz ADSL DMT frame rate, and multiplexed into two separate data buffers (fast and interleaved). A cyclic redundancy check (CRC), scrambling, and forward eπor coπection (FEC) coding shall be applied to the contents of each buffer separately, and the data from the interleaved buffer shall then be passed through an interleaving function. The two data streams shall then be tone ordered, and combined into a data symbol that is input to the constellation encoder. After constellation encoding the data shall be modulated to produce an analog signal for transmission across the customer loop. A bit-level framing pattern shall not be inserted into the data symbols of the frame or superframe structure. DMT frame (i.e. symbol) boundaries are delineated by the cyclic prefix inserted by the modulator. Superframe boundaries are determined by the synchronization symbol and shall also be inserted by the modulator, and which carries no user data. Because of the addition of FEC redundancy bytes and data interleaving, the data frames (i.e. bit-level data prior to constellation encoding) have different structural appearance at the three reference points through the transmitter. As shown in Figures 53 and 54, the reference points for which data framing will be described in the following subclauses is: a) A (Mux data frame): the multiplexed, synchronized data after the CRC has been inserted b) B (FEC output data frame): the data frame generated at the output of the FEC encoder at the DMT symbol rate, where an FEC block may span more than one DMT symbol period c) C (constellation encoder input data frame): the data frame presented to the constellation coder. 3.4.4.1. 1 S uperframe structure ADSL uses the superframe structure shown in Figure 61. Each superframe is composed of 68 data frames, numbered from 0 to 67, which are encoded and modulated into DMT symbols, followed by a synchronization symbol, which carries no user or overhead bit-level data and is inserted by the modulator to establish superframe boundaries. From the bit-level and user data perspective, the DMT symbol rate is 4000 baud (period = 250 μs), but in order to allow for the insertion of the synchronization symbol the transmitted DMT symbol rate is 69/68*4000 baud Each data frame within the superframe contains data from the fast buffer and the mterleaved buffer During each ADSL superframe, eight bits shall be reserved for the CRC on the fast data buffer (crc0-crc7), and 24 mdicator bits (ιb0-ιb23) shall be assigned for OAM functions As shown m Figure 62, the synchronizaton byte of the fast data buffer ("fast byte") carπes the CRC check bits m frame 0 and the mdicator bits m frames 1, 34, and 35 The fast byte m other frames is assigned in even-/odd-frame pairs to either the EOC or to synchronization control of the bearer channels assigned to the fast buffer Bit 0 of the fast byte in an even-numbered frame (other than frames 0 and 34) and bit 0 of the fast byte of the odd- numbered frame immediately following shall be set to "0" to indicate these frames carry a synchronization control information When they are not required for synchronization control, CRC, or indicator bits, the fast bytes of two successive ADSL frames, beginrung with an even-numbered frame, may contain mdications of "no synchronization action" or alternatively, they may be used to transmit one EOC message, consistmg of 13 bits The mdicator bits are defined in Table 9 Bit 0 of the fast byte m an even-numbered frame (other than frames 0 and 34) and bit 0 of the fast byte of the odd-numbered frame immediately following shall be set to "1 " to indicate these frames carry a 13-bit EOC message plus one additional bit, rl The rl bit is reserved for future use and shall be set to 1 Table 9 - Definition of indicator bits. ATU-C transmitter (fast data buffer, downstream direction) Eight bits per ADSL superframe shall be used for the CRC on the interleaved data buffer (crcO - crc7) As shown in Figure 63 and Figure 65, the synchronization byte of the mterleaved data buffer ("sync byte") carnes the CRC check bits for the previous superframe m frame 0 In all other frames ( 1 through 67), the svnc byte shall be used for synchronization control of the bearer channels assigned to the interleaved data buffer or used to carry an ADSL overhead control (AOC) channel In the full overhead mode, when anv bearer channel appears in the interleave buffer, then the AOC data shall be earned m the LEX byte, and the svnc bvte shall designate when the LEX byte contains AOC data and when it contains data bytes from the bearer channel When no bearer channels are allocated in the interleaved data buffer (l e , all B (ASx) = B (LSx) = 0), the svnc byte shall carry the AOC data directly 344 1 2 Frame structure (with full overhead) Each data frame shall be encoded mto a DMT symbol As is shown in Figure 61, each frame is composed of a fast data buffer and an mterleaved data buffer, and the frame structure has a different appearance at each of the reference pomts (A, B, and C) The bytes of the fast data buffer shall be clocked mto the constellation encoder first, followed by the bytes of the interleaved data buffer. Bytes are clocked least significant bit first Each bearer channel shall be assigned to either the fast or the mterleaved buffer during initialization, and a pan of bytes, [B F ,B ], transmitted for each bearer channel, where B and Bι designate the number of bytes allocated to the fast and mterleaved buffers, respectively The seven [B F ,B j ] pairs to specify the downstream bearer channel rates are Bp(ASx), Bj(ASx) for X = 0, 1, 2 and 3, for the downstream sunplex channels, B F (LSx), Bj(LSx) for X = 0, 1 and 2, for the (downstream transport of the) duplex channels The rules for allocation are as follow • For any bearer channel, X, (except the 16 kbit/s C channel option) either B (X) = the number of bytes per frame of the fast buffer and Bj (X) = 0, or B F (X) = 0 and Bι(X) = the number of bytes per frame of the mterleaved buffer • For the 16 kbit/s C channel option, Bp(LS0) = 255 (11111111:) and Bj(LS0) =0, or B (LS0) = 0 and Bι(LS0) = 255. 34 4 1 2 1 Fast data buffer (with full overhead) The frame structure of the fast data buffer shall be as shown m Figure 64, for reference pomts A and B, which are defined in Figure 53 and 54 The following shall hold for the parameters shown in Figure 64 Cp(LS0) = 0 fBpiLSO) = 255 (11111111 = Bp(LS0) otherwise N F = K F + R F where R F = number of FEC redundancy bytes, and 3 2 K F = } + ∑ B ≠ASι) + A F + Cp LS0) + ∑ BpfLSj) + L F ι=0 j =\ where A F = 0 if∑ Bp(ASι) = 0 for ι=0-3 ι=0 = 1 otherwise and LF = 0 lfB/ASi) = 0/or i =0-3 and B/LSj) = Oforj =0-2 = 1 otherwise (including Bp(LS0) = 255) At reference pomt A (Mux data frame) in Figure 53 and Figure 54 the fast buffer shall always contain at least the fast bvte This is followed by B F (AS0) bytes of channel ASO, then B F (AS1) bytes of channel ASl, B (AS2) bytes of channel AS2 and B F (AS3) bvtes of channel AS3 Next come the bvtes for any duplex (LSx) channels allocated to the fast buffer If any B F (ASx) is non-zero, then both an AEX and a LEY byte follow the bytes of the last LSx channel, and if any BpfLSx) is non-zero, the LEX bvte shall be included When B F (LS0) = 255, no bytes are mcluded for the LSO channel Instead, the 16 kbit/s C channel shall be transported m every other LEX byte on average, usmg the svnc byte to denote when to add the LEX bvte to the LSO bearer channel R F FEC redundancy bytes shall be added to the mux data frame (reference pomt A) to produce the FEC output data frame (reference pomt B), where Rp is given m the options used during initialization Because the data from the fast buffer is not mterleaved, the constellation encoder mput data frame (reference pomt C) is identical to the FEC output data frame (reference pomt B) 3 44 1 2 2 Interleaved data buffer (with full overhead) The frame structure of the mterleaved data buffer is shown in Figure 65 for reference pomts A and B, which are defined m Figure 53 and 54 The following shall hold for the parameters shown in Figure 65 C { (LS0)= 0 ι/B j (LS0) = 255 (11111111 ) = B fLSO) otherwise N j = (S x K, + Rι) /S, where R j = number of FEC redundancy bytes and S = number of DMT symbols per FEC codeword 3 2 K j = 1 + ∑ B j (ASι) + A + C j (LS0) + T BJ(LSJ) + L ι=0 7 = 1 where A I = ° ' ∑ B l (AS ' ) = ° ι=0 1 otherwise and L j = 0 ιfBι(ASι) =0for i =0-3 and B,(LSj) = Oforj =0-2 = 1 otherwise (including Bι(LS0) = 255) At reference pomt A, the Mux data frame, the interleaved data buffer shall always contain at least the sync byte The rest of the buffer shall be built m the same manner as the fast buffer substituting B\ in place of βp The length of each mux data frame is A' bytes, as defined m Figure 65 The FEC coder shall take m S mux data frames and append Λ j FEC redundancy bytes to produce the FEC codeword of length NFEC = x Λ'τ + Λ bytes The FEC output data frames shall contain N j = NFEC IS bytes, where A' is an integer When S > 1 , then for the S frames in an FEC codeword, the FEC output Data Frame (reference pomt B) shall partially overlap two mux data frames tor all except the last frame, which shall contain the Λ j FEC redundancy bytes The FEC output data frames are mterleaved to a specified mterleave depth The interleaving process delays each bvte of a given FEC output data frame a different amount, so that the constellation encoder input data frames will contam bvtes from manv different FEC data frames At reference point A in the transmitter, mux data frame 0 of the interleaved data buffer is aligned with the ADSL superframe and mux data frame 0 ot the fast data buffer (this is not true at reference point C) At the receiver, the interleaved data buffer will be delayed bv (S interleave depth 250) ms with respect to the fast data buffer, and data frame 0 (containing the CRC bits for the interleaved data buffer) will appear a fixed number of frames after the beginning of the receiver superframe 3 44 1 3 Cyclic redundancy check (CRC) Two cyclic redundancy checks (CRCs)-one for the fast data buffer and one for the mterleaved data buffer-shall be generated for each superframe and transmitted m the first frame of the following superframe Eight bits per buffer type (fast or mterleaved) per superframe allocated to the CRC check bits These bits are computed from the k message bits usmg the equation crc(D) = M(D) D 8 modulo G(D). where M(D) = moD - 1 + ro/lλ" 2 + . . + m^D + mk-l is the message polynomial, G(D) = D 8 + D 4 + D 3 + D 2 + 1 is the generating polynomial, crc(D) = cβD 7 + cjD 6 + .. + eg D + c is the check polynomial, and D is the delay operator That is, CRC is the remainder when M(D) ϋfi is divided by G(D). The CRC check bits are transported m the synchronization bytes (fast and mterleaved. 8 bits each) of frame 0 for each data buffer The bits (l e message polynomials) covered by the CRC mclude Fast data buffer. ■ frame 0 ASx bytes (X = 0, 1 , 2, 3), LSx bytes (X = 0, 1 , 2), followed by any AEX and LEX bytes ■ all other frames fast byte, followed by ASx bytes (X = 0, 1, 2, 3), LSx bytes (X = 0, 1 , 2), and any AEX and LEX bytes Interleaved data buffer • frame 0 ASx bytes (X= 0, 1, 2, 3), LSx bytes (X= 0, 1, 2), followed by any AEX and LEX bytes ■ all other frames sync byte, followed by ASx bytes (X = 0, 1, 2, 3), LSx bytes (X = 0, 1 , 2 ), and any AEX and LEX bytes Each byte shall be clocked into the CRC least significant bit first The number of bits over which the CRC is computed vanes with the allocation of bytes to the fast and mterleaved data buffers (the numbers of bytes in ASx and LSx vary accordmg to the [B Bj] pairs, AEX is present m a given buffer onlv if at least one ASx is allocated to that buffer, LEX is present m a given buffer only if at least one ASx or one LSx is allocated to that buffer) Because of the flexibility in assignment of bearer channels to the fast and interleaved data buffers, CRC field lengths over an ADSL superframe will vary from approximately 67 bytes to approximately 14,875 bvtes 3 44 2 Synchronization If the bit tinung base of the input user data streams is not synchronous with the ADSL modem timing base, the mput data streams shall be synchronized to the ADSL tinung base usmg the synchronization control mechanism (consisting of synchronization control byte and the AEX and LEX bytes) Forward-eπor-coπection coding shall always be applied to the synchronization control byte(s) If the bit timing base ot the input user data streams is synchronous with the ADSL modem timmg base, then the synchronization control mechanism is not needed, and the synchronization control bvte shall always indicate no synchronization action" (see Table 10 and Table 1 1 ) 3 4 4 2 1 Synchronization for the fast data buffer Synchronization control for the fast data buffer may occur m frames 2 through 33, and 36 through 67 of an ADSL superframe, where the fast byte may be used as the synchronization control byte No synchronization action shall be taken for those frames for which the fast byte is used for CRC, fixed mdicator bits, or EOC The format of the fast byte when used as synchronization control for the fast data buffer shall be as given m Table 10 Table 10- Fast bvte format for synchronization ADSL deployments may need to inter-work with DSl (1 544 Mbit/s) or DSIC (3 152 Mbit/s) rates The synchronization control option that allows adding up to two bytes to an ASx bearer channel provides sufficient overhead capacity to transport combinations of DSl or DSIC channels transp.arently (without mterpretmg or stπppmg and regeneratmg the frammg embedded within the DSl or DSIC) The synchronization control algoπthm shall, however, guarantee that the fast byte in some minimum number of frames is available to carry EOC frames, so that a minimum EOC rate (4 kbit/s) may be maintained When the data rate of the C channel is 16 kbit/s, the LSO bearer channel is transported in the LEX byte, usmg the "add LEX byte to designated LSx channel", with LSO as the designated channel, every other frame on average If the bit timing base of the input bearer channels (ASx, LSx) is synchronous with the ADSL modem timing base, then ADSL systems need not perform synchronization control (by addmg or deleting AEX or LEX bytes to/from the designated ASx and LSx channels) In this case, the synchronization control byte shall indicate "no synchronization action" (1 e , sc7-0 coded "XX001 IXO 2 ", with X discretionary) 3 4 4 2 2 Synchronization for the interleaved data buffer Synchronization control for the interleaved data buffer can occur in frames 1 through 67 of an ADSL superframe, where the svnc bvte may be used as the synchronization control bvte No synchronization action shall be taken duπng frame 0, where the svnc bvte is used for CRC duπng frames when the LEX bvte carnes the AOC The format ot the sync bvte when used as synchronization control for the mterleaved data buffer shall be as given m Table 11 In the case where no signals are allocated to the mterleaved data buffer, the sync byte shall carry the AOC data directly, as shown m Figure 63 Table 11 - Svnc bvte format for synchronization ADSL deployments may need to mter-work with DSl ( 1 544 Mbit s) or DSIC (3 152 Mbit/s) rates The synchronization control option that allows adding up to two bytes to an ASx bearer channel provides sufficient overhead capacity to transport combmations of DSl or DSIC channels transparently (without mterpretmg or shipping and regeneratmg the frammg embedded within the DSl or DSIC) When the data rate of the C ch.annel is 16 kbit/s, the LSO bearer channel is transported m the LEX bvte, usmg the "add LEX byte to designated LSx channel", with LSO as the designated channel, every other frame on average If the bit timmg base of the mput bearer channels (ASx, LSx) is synchronous with the ADSL modem timmg base then ADSL systems need not perform synchronization control by adding or deleting AEX or LEX bytes to/from the designated ASx and LSx channels In this case, the synchronization control byte shall indicate "no synchronization action" In this case, when frammg mode 1 is used, the sc7-0 shall always be coded "XX001 IXX2", with X discretionary When scO is set to 1, the LEX byte shall carry AOC When scO is set to 0, the LEX byte shall be coded 00 lo The scO may be set to 0 only in between transmissions of 5 concatenated and identical AOC messages 3 4 4 3 Reduced overhead framing The format descnbed tor full overhead framing includes overhead to allow tor the synchronization of the seven ASx and LSx bearer channels When the synchronization function is not required, the ADSL equipment may operate in a reduced overhead mode This mode retains all the full overhead mode functions except synchronization control 3 4 4 3 1 Reduced overhead frammg with separate fast and svnc bvtes The AEX and LEX bytes shall be eliminated from the ADSL frame format, and both the fast and sync bytes shall carry overhead information The fast byte cames the fast buffer CRC, mdicator bits, and EOC messages, and the sync byte carπes the mterleaved buffer CRC and AOC message The assignment of overhead functions to fast and sync bytes when usmg the full overhead frammg and when usmg the reduced overhead frammg with separate fast and svnc bvtes shall be as shown m Table 12 In the reduced overhead frammg with separate fast and sync bytes, the structure of the fast data buffer shall be as shown m Figure 64 with Ap and Lp set to 0 The structure of the mterleaved data buffer shall be as shown m Figure 65 with A j and L set to 0 Table 12 - Overhead functions for frammg modes NOTE - In the reduced overhead mode only "no synchronization action" code shall be used 3 44 3 2 Reduced overhead framing with merged fast and svnc bvtes In the smgle latency mode, data is assigned to only one data buffer (fast or mterleaved) If data is assigned to only the fast buffer, then only the fast byte shall be used to carry overhead information If data is assigned only to the mterleaved buffer, then only the sync byte shall be used to carry overhead mformation Reduced overhead frammg with merged fast and svnc bytes shall not be used when operatmg in dual latency mode For ADSL systems transporting data using a single data buffer (fast or interleaved), the CRC, indicator, EOC and AOC function shall be earned in a smgle overhead byte assigned to separate data frames within the superframe structure The CRC remains m frame 0 and the indicator bits m frames 1, 34, and 35 The AOC and EOC bytes are assigned to alternate pairs of frames For ADSL equipment operatmg m single latency mode usmg the reduced overhead framing with merged fast and sync bytes, the assignment of overhead functions shall be as shown m Table 13 In the smgle latency mode usmg the reduced overhead frammg with merged fast and sync bytes, only one data buffer shall be used If the fast data buffer is used, the structure of the fast data buffer shall be as shown in Figure 64 (with Ap and Lp set to 0) and the mterleaved data buffer shall be empty (no sync byte and K j = 0) If the interleaved data buffer is used, the structure of the interleaved data buffer shall be as shown m Figure 65 (with A and L j set to 0) and the fast data buffer shall be empty (no fast bvte and Kp = 0) Table 13- Overhead functions for reduced overhead mode with merged fast and svnc bvtes 3.4.5 Scramblers The bmary data streams output (LSB of each byte first) from the fast and interleaved data buffers shall be scrambled separately using the following algorithm for both: d'„ = d n θ d'„.ls θ rf 'n- 23 where d n is the w-th output from the fast or interleaved buffer (i.e., input to the scrambler), and d n ' is the n-th output from the coπesponding scrambler. This is illustrated in Figure 66. These scramblers are applied to the serial data streams without reference to any framing or symbol synchronization. Descrambling in receivers can likewise be performed independent of symbol synchronization. 3.4.6 Forward eπor coπection The ATU-C shall support downstream transmission with at least any combination of the FEC coding capabilities shown in Table 14. Table 14 - Minimum FEC coding capabilities for ATU-C The ATU-C shall also support upstream transmission with at least any combination of the FEC coding capabilities shown in Table 23. 3.4 6.1 Reed-Solomon coding R (i.e , R F or R ) redundant check bytes eg , c j , .. , <r^_ 2 , C β _ j shall be appended to A' (i.e., K / or SxA', ) message bytes mg, m j m K-2 ' m K-l t0 ^ orm a R ee( l-Solomon code word of size N = K + R bytes The check bvtes are computed from the message bvte using the equation: C(D) = M(D) ^ modulo G(D) where M(D) = m 0 D^' 1 + m j D^' 2 + + m κ _ 2 D + m κ , j is the message polynoπual, C(D) = eg rfi- 1 + c l ∑fi- 2 + + c R _ 2 D + c R _ } is the check polynomial, and G(D) = P (D + a' ) is the generator polynomial of the Reed-Solomon code, where the mdex of the product runs from / = 0 to R-l That is, C(D) is the remainder obtamed from dividing M(D) Lft by G(D) The anthmetic is performed in the Galois Field GF(256), where a is a primitive element that satisfies the primitive bmary polynomial x + x^ + x^ + x^ + l A data byte (d , d ... , d j , d Q) IS identified with the Galois Field element d j -a' + d ( β +d j a + g The number of check bytes is R, and the codeword 3 4 62 Reed-Solomon Forward Eπor Coπection Superframe Synchronization When entering the SHOWTIME state after completion of Initialization and Fast Retrain, the ATU shall align the first byte of the first Reed Solomon code-word with the first data byte of DF 0 3 4 6 3 Interleaving The Reed-Solomon codewords in the mterleaved buffer shall be convolutionally interleaved The interleaving depth vanes, but shall always be a power of 2 Convolutional interleaving is defined by the rule " Each of the N bytes BQ, B J , , B y_ j in a Reed-Solomon codeword is delaved by an amount that vanes linearly with the byte index More precisely, byte B, (with index l) is delayed by (D-l ) x i bytes, where D is the interleave depth" An example for N = 5, D = 2 is shown in Table 15, where B) denotes the i-th byte of the 7 -th codeword Table 15 - Convolutional interleaving example for N = 5. D = 2 With the above-defined rule, and the chosen interleaving depths (powers ot 2), the output bytes from the mterleaver always occupy distmct time slots when N is odd When N is even, a dummv byte shall be added at the beginning of the codeword at the mput to the mterleaver The resultant odd-length code-word is then convolutionallv interleaved, and the dummv bvte shall then removed from the output ot the interleaver 3 4 6 4 Support of higher downstream bit rates with S= 112 With a rate of 4000 data frames per second and a maximum of 255 bvtes (maximum R-S code-word size) per data frame, the ADSL downstream line rate is limited to approximately 8 Mbit/s per latency path The line rate limit can be increased to about 16 Mbit/s for the interleaved path by mappmg two RS code-words into one FEC data frame (l e , by using 5=1/2 in the interleaved path) 5=1/2 shall be used in the downstream direction only over bearer channel ASO When the Ki data bytes per mterleaved mux data frame cannot be packed mto one RS code-word, I e , Ki is such that Ki + R > 255, the Ki data bvtes shall be split mto two consecutive RS code-words When Ki is even, the first and second code-word have the same length Nil = N[2 = (Kι/2 + Ri), otherwise the first code-word is one byte longer than the second, I e first codeword has Nil = (Ki + 1 ))/2 + Ri bytes, the second code-word has N|2 = (Ki -1 ) 2 + Ri bytes For the FEC output data frame, Ni = Nil + N,2, with Nι< 511 bytes The convolutional mterleaver requires all code-words to have the same odd length To achieve the odd code-word length, insertion of a dummy (not transmitted) byte may be required For S=l/2, the dummy byte addition to the first and/or second code- word at the mput of the mterleaver shall be as in Table 16 Table 16 - Dummy bvte insertion at interleaver mput for 5 = 1/2 3 4 7 Tone ordermg A DMT time-domain signal has a high peak-to-average ratio (PAR) (its amplitude distnbution is almost Gaussian), and large values may be clipped by the digital-to-analog converter The eπor signal caused by clipping can be considered as an additive negative impulse for the time sample that was clipped The clippmg eπor power is almost equally distπbuted across all tones in the symbol in which clippmg occurs Clipping is therefore most likely to cause eπors on those tones that, m anticipation of a higher received SNR, have been assigned the largest number of bits (and therefore have the densest constellations) These occasional eπors can be reliably coπected by the FEC codmg if the tones with the largest number of bits have been assigned to the mterleave buffer The numbers of bits and the relative gams to be used for every tone shall be calculated in the ATU-R receiver, and sent back to the ATU-C accordmg to a defined protocol The pans of numbers are stored, m ascending order of frequency (or tone number l), in a bit and gam table The "tone-ordered" encodmg shall first assign the S*N F bits from the fast data buffer to the tones with the smallest number of bits assigned to them, and then the 8'Λ 7 / bits from the interleave data buffer to the remaining tones All tones shall be encoded with the number of bits assigned to them, one tone may therefore have a mixture of bits from the fast and mterleaved buffers The ordered bit table b' t shall be based on the oπgmal bit table b, as follows For λ = 0 to 15 From the bit table, find the set of all I with the number of bits per tone b t = A Assign b. to the ordered bit allocation table m ascending order of i A complementary de-ordeπng procedure should be performed m the ATU-R receiver It is not necessary, however, to send the results of the ordermg process to the receiver because the bit table was onginally generated m the ATU-R, and therefore that table has all the mformation necessary to perform the de-ordeπng Figure 67 and Figure 68 show an example of tone ordeπng and bit extraction (without and with trellis codmg respectively) for a 6-tone DMT case, with Np=l and N =l for simplicity 3 4 8 Constellation encoder (Trellis code version) Block processing of Wei's 16-state 4-dιmensιonal trellis code is optional in the ITU-T recommendation G 992 1 to unprove system performance An algonthnuc constellation encoder shall be used to construct constellations with a maximum number of bits equal to Aαownmax. where 8≤ Ndomuiux ≤ 15) 34 8 1 Bit extraction Data bytes from the data frame buffer shall be extracted according to a re-ordered bit allocation table b' v least significant bit first Because of the 4-dιmensιonal nature of the code, the extraction is based on pans of consecutive b' χ , rather than on mdividual ones, as m the non-trellis-coded case Furthermore, due to the constellation expansion associated with codmg, the bit allocation table, b ',, specifies the number of coded bits per tone, which can be any mteger from 2 to 15 Given a pair (x,y) of consecutive b , x+y-1 bits (reflecting a constellation expansion of 1 bit per 4 dimensions, or one half bit per tone) are extracted from the data frame buffer These z = x+y-1 bits (t z , t z _ j , , j ) are used to form the binary word « as shown m Table 17 The tone ordenng procedure ensures x y Single-bit constellations are not allowed because they can be replaced by 2-bit constellations with the same average energy Refer to 0 for the reason behind the special form of the word u for the case x = 0 , y > 1 Table 17 - Forming the binary word u The last two 4-dιmensιonal symbols in the DMT symbol shall be chosen to force the convolutional encoder state to the zero state For each of these symbols, the 2 LSBs of u are pre-determined, and onlv (ΛΓ+V -3) bits shall be extracted from the data frame buffer and shall be allocated to t , 3 4 8 2 Bit conversion The bmary word u=(u z ',u z '_ j , ,u j ) determines two bmary words v=(v 2 >. v ,VQ) and f=(M' j , ,WQ), which are used to look up two constellation points m the encoder constellation table Tor the usual case of x >1 and v >1, z' = z = r-v-1 , and v and w contain x and v bits respectively For the special case of x = 0 and v > 1 , 2' = z+2 = y+l , v = (v j ,VQ) = 0 and w=(w v _ j , ,WQ) The bits (« 3 ,«2,« ] ) determine (VJ .VQ) and accordmg to Figure 69 The convolutional encoder shown in Figure 69 is a systematic encoder (I e i j and 2 are passed through unchanged) as shown in Figure 70 The convolutional encoder state (S 3 . S S j SQ) are used to label the states ot the trellis shown in Figure 72 At the beginning of a DMT symbol penod the convolutional encoder state is initialized to (0, 0. 0, 0) The remaining bits of v and w are obtamed from the less significant and more significant parts of (M^, U^.J , ,U ), respectively When x >1 and v > 1, v = ( « z '. 2 > "z'-y+l 1 » "4> v l> v θ) md w = (" - u zΑ' > u z'-y+3' w \< w 0^ When -r = 0, the bit extraction and conversion algoπthms have been judiciously designed so that v j = V Q = 0 The binary word v is mput first to the constellation encoder, and then the bmary word w In order to force the final state to the zero state (0,0,0,0), the 2 LSBs « j and κ 2 of the final two 4-dιmensιonal symbols m the DMT symbol are constrained to u j = 5 j 5 3 , and « 2 = 5 2 3 4 8 3 Coset partition and trellis diagram In a trellis code modulation system, the expanded constellation is labeled and partitioned mto subsets ("cosets") usmg a techmque called mappmg by set-partitionmg The four-dimensional cosets m Wei's code can each be wπtten as the union of two Cartesian products of two 2-dιmensιonal cosets For example, C4 0 = (C 2 " * C ' ) x (C- C j ) The four constituent 2- dimensional cosets, denoted by C 2 , C 2 , 2 , C 2 , are shown in Figure 71 The encoding algonthm ensures that the 2 least significant bits of a constellation point compnse the mdex 1 of the 2- dimensional coset C 2 ' in which the constellation pomt lies The bits (vj, VQ) and (wj, WQ) are m fact the binary representations of this mdex The three bits (U2,UJ,UQ) are used to select one of the 8 possible four-dimensional cosets The 8 cosets are labeled C 4 ' where 1 is the integer with binary representation (U^ ^ Q) The additional bit « 3 (see Figure 69) determmes which one of the two Cartesian products of 2-dιmensιonal cosets m the 4-dιmensιonal coset is chosen The relationship is shown m Table 18 The bits (VJ,VQ) and (WJ.WQ) are computed from (K ,H2,MJ,KØ) using the linear equations given m Figure 69 Table 18 - Relation between 4-dιmensιonal and 2 -dimensional cosets Figure 72 shows the trellis diagram based on the fimte state machine in Figure 70, and the one-to-one coπespondence between (u , « j , U Q ) and the 4-dιmensιonal cosets In the figures, S=(S2,S 2 .S l ,Sry represents the cuπent state, while T = (T3, T 2 , T j , TQ) represents the next state m the finite state machine 5 is connected to T in the constellation diagram by a branch determined by the values of u and « j The branch is labeled with the 4-dιmensιonal coset specified by the values of u 2 , MJ (and UQ = SQ , see Figure 71 ) To make the constellation diagram more readable, the mdices of the 4-dunensιonal coset labels are listed next to the starting and end pomts of the branches, rather than on the branches themselves The leftmost label corresponds to the uppermost branch for each state The constellation diagram is used when decodmg the trellis code by the Viterbi algoπthm 3 4 84 Constellation encoder For a given sub-camer, the encoder shall select an odd-integer point (Λ' }") from the square-gnd constellation based on the b bits ot either {v^. j ,v^. 2 , .VI .VQ} or {w j . ] ,w^. , ,W ] ,W Q } For convenience of descπption, these b bits are identified with an integer label whose binary representation is ( ^,. ] , ^_ 2 , ,VJ,V Q ), but the same encoding rules apply also to the w vector For example, for b=2, the four constellation pomts are labeled 0,1,2,3 coπesponding to (VJ .V Q ) = (0,0), (0,1 ), ( 1 ,0), (1,1), respectively (v 0 is the first bit extracted from the buffer) 3 4 8 4 1 Even values of b For even values of 6, the integer values A and Y of the constellation point (X,Y) shall be determined from the b bits f fc-l' y b-2< ' v l' v θ ^ foll° ws ^ and Y are the odd mtegers with twos-complement binary representations (v^.j, v6 -3 , , vj , 1 ) and (vj,. , v£_4, ,vrj, 1 ), respectively The most significant bits (MSBs), v^. j and v^, are the sign bits for X and Y respectively Figure 74 shows example constellations for b = 2 and b= 4 (The values of X and Y shown represent the output of the constellation encoder These values require appropnate scalmg such that 1 ) all constellations regardless of size represent the same RMS energy and 2) by the fine gam scalmg before modulation by the IDFT ) The 4-bit constellation can be obtamed from the 2-bit constellation by replacmg each label n by a 2 x 2 block of labels as shown m Figure 74 The same procedure can be used to construct the larger even-bit constellations recursively The constellations obtamed for even values of b are square m shape The least significant bits {v j , VQ} represent the coset labeling of the constituent 2-dιmensιonal cosets used m the 4-dιmensιonal Wei trellis code 3 4 842 Odd values of b. b = 3 Figure 75 shows the constellation for the case b = 3 (the values of X and Y shown represent the output of the constellation encoder These values require appropnate scalmg such that 1 ) all constellations regardless of size represents the same RMS energy and 2) by the fine gain scalmg before modulation by the IDFT) 3 4 8 4 3 Odd values of b. b>3 If b is odd and greater than 3 , the 2 MSBs of A ' and the 2 MSBs of Y are determined by the 5 MSBs of the b bits Let c = (b+\ )l2, then X and Y have the twos-complement binary representations (A r c ^Y c . j ,v^_ 4 ,v^^, ,v3,v j ,l ) and Y^Y^^v^ 5> v b-7' v b-9' > v 2' v 0'l » wnere -*c aα ^ γ c are * e ^S 11 ^ lts f " and Y respectively The relationship betweenA " ^ ^.j, Y c Y c _ j and v _ j , v _2, , ^.- j is shown m the Table 19 Figure 76 shows the constellation for the case b = 5 (the X and Y values are on a ±1 , ±3, gπd The values of X and Y shown represent the output of the constellation encoder These values require appropnate scaling such that 1 ) all constellations regardless of size represents the same RMS energy and 2) bv the fine gain scaling before modulation bv the IDFT The 7-bit constellation shall be obtamed from the 5-bit constellation bv replacing each label n by the 2x2 block ol labels as shown m Figure 74 Again, the same procedure shall be used to construct the larger odd-bit constellations recursively Note also that the least sigmficant bits {v j , VQ} represent the coset labeling of the constituent 2-dιmensιonal cosets used m the 4-dιmensιonal Wei trellis code 3 4 9 Constellation encoder (No Trellis coding) An algonthnuc constellation encoder shall be used to construct constellations with a maximum number of bits equal t0 downmax . where 8 ≤ Ndowπmax ≤ 15 The constellation encoder shall not use trellis codmg with this option 3 4 9 1 Bit extraction Data bits from the frame data buffer shall be extracted accordmg to a re-ordered bit allocation table b , least sigmficant bit first The number of bits per tone, b',, can take any non-negative integer values not exceedmg Λ/downmax. nd greater than 1 For a given tone b = b', bits are extracted from the data frame buffer, and these bits form a binary word {v^_ 1 ' v b-2' ' v l > v θ} Th e ^ "lrst Dlt extracted shall be vo , the LSB 3 4 10 Gam scalmg For the transmission ot data symbols gam scalmg, g, _ shall be applied as requested by the ATU-R and possibly updated dunng Showtime via a bit swap procedure Only values of g, equal to zero or within a range of approximately 0 19 to 1 33 (l e , -14 5 dB to +2 5 dB) may be used For the transmission of synchronization symbols, no gam scalmg shall be applied to any sub-earner Each constellation point, (A " / ,}',), l e complex number A " , +jY,, output from the encoder is multiplied by g, Z, = g, (X , + jY,) 3 4 11 Modulation 3 4 11 1 Sub-camers The frequency spacing, Δ " , between sub-earners is 4 3125 kHz, with a tolerance of +/- 50 ppm 3 4 11 1 1 Data sub-earners The channel analysis signal allows tor a maximum of 255 earners (at frequencies nAf, n = 1 to 255) to be used The lower limit of n depends on both the duplexing and service options selected For example, tor ADSL above POTS service option, if overlapped spectrum is used to separate downstream and upstream signals, then the lower limit on n is determmed by the POTS splitting filters, if frequency division multiplexing (FDM) is used, the lower limit is set by the downstream-upstream separation filters 3 4 11 1 2 Pilot Carner #Λ 7 p α 0 t (/ilot = 4 3125 x NpUot kHz) shall be reserved for a pilot, that is b(N f t ot ) = 0 and g(Λ/pιiot) = 1 The data modulated onto the pilot sub-camer shall be a constant {0,0} Use of this pilot allows resolution of sample timing m a receiver modulo-8 samples Therefore a gross tinung eπor that is an integer multiple of 8 samples could still persist after a micro-interruption (e g , a temporary short- cucuit, open circuit or severe line hit), coπection of such timmg eπors is made possible by the use of the synchronization symbol 3 4 1 1 1 3 Nvquist frequency The earner at the Nvquist trequencv (#256) shall not be used for user data and shall be real valued 3 4 1 1 1 4 DC The earner at DC (#0) shall not be used, and shall contain no energy " 4 1 1 2 Modulation by the inverse discrete Founer transform (IDFT) The modulating transform defines the relationship between the 512 real values x„ and the Z, 511 iπni x n = ∑ ex P("^-) Z / for n = 0 to 511 ι=0 The constellation encoder and gam scalmg generate onlv 255 complex values of Z, In order to generate real values of x n the mput values (255 complex values plus zero at DC and one real value for Nyquist if used) shall be augmented so that the vector Z has Hermitian symmetry That is, Z, = conj (Z '512- 1 ) for / = 257 to 511 3 4 11 3 Synchronization symbol The synchronization symbol permits recovery of the frame boundary after micro-interruptions that might otherwise force retraining The data symbol rate, ^^ = 4 kHz, the earner separation, Δ/= 4 3125 kHz, and the IDFT size, N = 512, are such that a cyclic prefix of 40 samples could be used That is, (512 + 40) x 4 0 = 512 x 4 3125 = 2208 The cyclic prefix shall, however, be shortened to 32 samples, and a synchronization symbol (with a nominal length of 544 samples) is inserted after every 68 data symbols That is, (512 + 32) x 69 = (512 + 40) x 68 The data pattern used m the synchronization symbol shall be the pseudo-random sequence PRD, (d n , for n = 1 to 512) defined bv d„ = 1 for w = 1 to 9 d„ = d„ @ d„.<) for n =10 to 512 The first pan of bits (d\ and </ 2 ) shall be used for the DC and Nyquist sub-earners (the power assigned to them is zero, so the bits are effectively ignored) The first and second bits of subsequent pans are then used to define the X, and Y, for l = 1 to 255 as shown m Table 20 Table 20 Mappmg of two data bits mto a 4QAM constellation The peπod of the PRD is only 511 bits, so d512 shall be equal to dl The dl - d9 shall be re-initialized for each synchronization symbol, so each symbol uses the same data Bits 129 and 130, which modulate the pilot earner, shall be overwritten bv {0,0} generatmg the {+,+} constellation The minimum set of sub-earners to be used is the set used for data transmission (l e , those for which b, > 0) The data modulated onto each sub-earner shall be as defined above, it shall not depend on which sub-earners are used 3 4 12 Cyclic prefix The last 32 samples of the output of the IDFT ( x n tor n = 480 to 51 1 ) shall be prepended to the block of 512 samples and read out to the digital-to-analog converter (DAC) in sequence That is, the subscπpts, /) of the DAC samples m sequence are 480 51 1 ,0 511 3 4 13 Transmitter dynamic range The transmitter mcludes all analog transmitter functions the D/A converter, the anti-aliasing filter, the hybπd circuitn .and the high-pass part of the POTS or ISDN splitter 3 4 13 1 Maximum clippmg rate The maximum output signal of the transmitter shall be such that the signal shall be clipped no more than 0 00001% of the time 3 4 13 2 Noise/Distortion floor The signal to noise plus distortion ratio of the transmitted signal in a given sub-earner is specified as the ratio of the rms value of the tone in that sub-earner to the rms sum of all the non-tone signals m the 4 3125 kHz frequency band centered on the sub-earner frequency This ratio is measured for each sub-earner used for transmission usmg a MultiTone Power Ratio (MTPR) test as shown m Figure 77 Over the transmission frequency band, the MTPR of the transmitter m any sub-earner shall be no less than (3Λ' (]ow + 20)dB, where Λ owru ls defined as the size of the constellation (m bits) to be used on sub-earner i The minimum transmitter MTPR shall be at least 38dB (coπespondmg to an Λfaowni o 6) for anv sub-earner Signals transmitted duπng normal initialization and data transmission cannot be used for this test because the DMT symbols have a cyclic prefix appended, and the PSD of a non-repetitive signal does not have nulls at any sub-earner frequencies A gated FFT-based analyzer could be used, but this would measure both the non-linear distortion and the linear distortion introduced by the transmit filter Therefore this test will requue that the transmitter be programmed with special software probably to be used dunng development only 3 5 ATU-R Functional Charactenstics An ATU-R may support STM transmission or ATM transmission or both frammg modes that shall be supported, depend upon the ATU-R bemg configured for either STM or ATM transport If frammg mode k is supported, then modes k-1, , 0 shall also be supported Dunng initialization, the ATU-C and ATU-R shall indicate a frammg mode number 0, 1, 2 or 3 which they mtend to use The lowest indicated frammg mode shall be used An ATU-R may support reconstruction of a Network Tinung Reference (NTR) from the downstream mdicator bits 3 5 1 STM Transmission Protocol Specific functionalities 3 5 1 1 ATU-R input and output V interfaces for STM transport The functional data interfaces at the ATU-R are shown m Figure 78 Output interfaces for the high-speed downstream sunplex b&arer channels are designated ASO through AS3, input-output interfaces for the duplex bearer channels are designated LSO through LS2 There may also be a functional mterface to transport operations, admmistration and mamtenance (OAM) indicators from the CI to the ATU-R, this mterface may physicallv be combined with the LSO interface 3 5 1 2 Downstream simplex channels - Transceiver bit rates The sunplex channels are transported m the downstream dnection onlv, therefore their data interfaces at the ATU-R operate only as outputs 3 5 1 3 Duplex channels - Transceiver bit rates The duplex channels are transported in both directions, so the ATU-R shall provide both input and output data interfaces 3 5 1 4 Frammg Structure for STM transport An ATU-R configured for STM transport shall support the full overhead frammg structure 0 The support of full overhead frammg structure 1 and reduced overhead framing structures 2 and 3 is optional Preservation of T-R interface bvte boundaπes (if present) at the U-R interface mav be supported for anv ot the U-R mterface framing structures An ATU-R configured lor STM transport mav support reconstruction ol a Network Timing Reference (NTR) 3 5 2 ATM Transport Protocol Specific functionalities 3 5 2 1 ATU-R mput and output V interfaces for ATM transport The ATU-R mput and output T interfaces are identical to the ATU-C mput and output interfaces, as shown m Figure 79 3 5 2 2 ATM Cell specific functionalities The ATM cell specific functionalities performed at the ATU-R shall be identical to the ATM cell specific functionalities performed at the ATU-C 3 5 2 3 Frammg Structure for ATM transport An ATU-R configured for ATM transport shall support the full overhead framing structures 0 and 1 The ATU-R transmitter shall preserve T-R interface byte boundaπes (explicitly present or implied by ATM cell boundanes) at the U-R mterface, mdependent of the U-R mterface frammg structure An ATU-R configured for ATM transport may support reconstruction of a Network Timmg Reference (NTR) To ensure frammg structure 0 interoperability between an ATM ATU-R and an ATM cell TC plus an STM ATU-C (i e , ATM over STM), the following shall apply • An STM ATU-C transporting ATM cells and not preserving V-C byte boundaπes at the U-C mterface shall indicate duπng initialization that frame structure 0 is the highest frame structure supported, • An STM ATU-C transporting ATM cells and preserving V-C byte boundaπes at the U-C mterface shall indicate dunng initialization that frame structure 0, 1, 2 or 3 is the highest frame structure supported, as applicable to the implementation, • An ATM ATU-R receiver operatmg m frammg structure 0 can not assume that the ATU-C transmitter will preserve V-C mterface byte boundaπes at the U-C mterface and shall therefore perform the cell delineation bit-by-bit 3 5 3 Network timing reference If the ATU-C has indicated that it will use mdicator bits 20 to 23 to transmit the change of phase offset, the ATU-R may deliver the 8 kHz signal to the T-R interface 3 5 4 Framing Frammg of the upstream signal (ATU-R transmitter) closelv follows the downstream framing (ATU-C transmitter), but with the following exceptions • There are no ASx channels and no AEX byte, • A maximum of three channels exist, so that only three Bp, B\ pairs are specified, • The minimum RS FEC codmg parameters and mterleave depth differ (see Table 23), • Four bits of the fast and sync bytes are unused (coπespondmg to the bit positions used by the ATU-C transmitter to specify synchronization control for the ASx channels) (see Table 21 and Table 22) • The four mdicator bits for NTR transport are not used m upstream duection Two types of frammg are defined full overhead and reduced overhead Furthermore, two versions of full overhead and two versions of reduced overhead are defined The four resultmg frammg structures are defined as for the ATU-C and are refened to as frammg structures 0, 1 , 2 and 3 Requirements for frammg structures to be supported, depend upon the ATU-R being configured for either STM or ATM transport Outside the ASx/LSx seπal interfaces data bytes are transmitted MSB first in accordance with ITU-T Recommendations G 703, G 707, 1 361, and 1 432 All seπal processing in the ADSL frame (e g , CRC, scrambling, etc ) shall, however, be performed LSB first, with the outside world MSB considered by the ADSL as LSB As a result, the first mcommg bit (outside world MSB) will be the first processed bit inside the ADSL (ADSL LSB) 3 5 4 1 Data symbols The ATU-R transmitter is functionally similar to the ATU-C transmitter, except that up to three duplex data channels are synchronized to the 4 I Hz ADSL DMT symbol rate (uistead of up to four sunplex and three duplex channels as is the case for the ATU-C) The ATU-R transmitter and its associated reference pomts for data fra mg are shown m Figure 55 and Figure 56 3 5 4 1 1 Superframe structure The superframe structure of the ATU-R transmitter is identical to that of the ATU-C transmitter, shown in Figure 61 The ATU-R shall support the mdicator bits The mdicator bits, ιb20-23, shall not transport NTR in the upstream direction and shall be set to 1 3 5 4 1 2 Frame structure (with full overhead) Each data frame shall be encoded mto a DMT symbol As specified for the ATU-C shown m Figure 61 , each frame is composed of a fast data buffer and an interleaved data buffer, and the frame structure has a different appearance at each of the reference points (A, B, and C) The bytes of the fast data buffer shall be clocked into the constellation encoder first, followed by the bytes of the interleaved data buffer Bytes are clocked least sigmficant bit first The assignment of bearer channels to the fast and interleaved buffers shall be configured dunng initialization with the exchange of a (B βi) pan for each data stream, where 5p designates the number of bytes of a given data stream to allocate to the fast buffer, and B j designates the nuπώer of bytes allocated to the mterleaved data buffer The three possible (Bγβι) paus are Bp(LSx), 4-?i(LSx) for X = 0, 1 and 2, for the duplex channels, they are specified as for the ATU-C 3 54 1 2 1 Fast data buffer The frame structure of the fast data buffer is the same as that specified for the ATU-C with the following exceptions • ASx bytes do not appear, • The AEX byte does not appear, The following shall hold for the parameters shown in Figure 80 C F (LS0) = 0 ιfB F (LS0) = 255 (l l l l l l l l ) = B F (LS0) otherwise L F = 0 ιfB LS0) = Bp(LSl) = BF(LS2) = 0 = 1 otherwise K F = 1 + C p (LS0) + B F (LS 1 ) + B LS2) + L F N p = K F + Rp where Rp = number of upstream FEC redundancy bytes m fast path At reference point A (the mux data frame) in Figure 55 and Figure 56 the fast buffer always contains at least the fast byte This is followed by βp(LSO) bytes of channel LSO, then Bγ( LSI) bytes of channel LSI, and βp(LS2) bytes of channel LS2, and if any βp(LSx) is non-zero, a LEX byte When £F(LS0) = 255 (11111111 2 ), no separate bvtes are included for the LSO channel Instead, the 16 kbit/s C channel shall be transported in everv other LEX byte on average, using the synchronization byte to denote hen to add the LEX bvte to the LSO bearer channel Λp FEC redundancv bvtes shall be added to the mux data frame (reference point A) to produce the FEC output data frame (reference point B) where R is given in the C-RATESl signal options received from the ATU-C dunng initialization Because the data from the fast data buffer is not mterleaved, the constellation encoder mput data frame (reference pomt C) is identical to the FEC output data frame (reference pomt B) 3 5 4 1 2 2 Interleaved data buffer The frame structure of the mterleaved data buffer is shown in Figure 81 for the three reference pomts that are defined in Figure 55 and Figure 56 This structure is the same as that specified for the ATU-C, with the following exceptions • ASx bytes do not appear, • the AEX byte does not appear, The following shall hold for the parameters shown m Figure 81 C,(LS0) = 0 if B^LSO) = 255 (1111111 lj) = 8^80) 00161^86 Li = O ιfB,(LS0) = Bι(LSl) = Bι(LS2) = O = 1 otherwise Ki = 1 + C,(LS0) + Bι(LSl) + Bι(LS2) + Li N, = ( S ' K j + Rr y S where R j = number of upstream FEC redundancy bytes m mterleaved path and S = number of mux data frames per FEC codeword 3 5 4 1 3 Cyclic redundancy check (CRC) Two cyclic redundancy checks (CRCs) - one for the fast data buffer and one for the mterleaved data buffer - are generated for each superframe and transmitted in the first frame of the following superframe Eight bits per buffer type (fast or mterleaved) per superframe are allocated to the CRC check bits These bits are computed from the k message bits usmg the equation crc(D) = (D) D 8 modulo G D), where is the message polynomial, GYD) = D 8 + D 4 + D 3 + D 2 + is the generatmg polynomial, crc(D) = co D 7 + c\O 6 + + c 6 D + cη The CRC bits are transported m the fast byte (8 bits) of frame 0 in the fast data buffer, and the sync byte (8 bits) of frame 0 in the interleaved data buffer The bits covered by the CRC mclude, • for the fast data buffer ■ frame 0 LSx bytes (A = 0, 1, 2), followed by the LEX bvte, ■ all other frames fast byte, followed by LSx bytes (A" = 0, 1 , 2), and LEX byte • for the mterleaved data buffer ■ frame 0 LSx bvtes (X = 0, 1 , 2), followed by the LEX byte, • all other frames sync byte, followed by LSx bytes (X = 0, 1, 2), and LEX byte Each byte shall be clocked into the CRC least sigmficant bit first The CRC-generating polynomial, and the method of generatmg the CRC bvte are the same as for the downstream data 3 54 2 Synchronization If the bit tinung base of the mput user data streams is not synchronous with the ADSL modem tinung base the mput data streams shall be synchronized to the ADSL tinung base usmg the synchronization control mechamsm (consisting of synchronization control byte and the LEX byte) Forward-eπor-coπection codmg shall always be applied to the synchronization control byte(s) If the bit tuning base of the mput user data streams is synchronous with the ADSL modem tinung base then the synchronization control mechamsm is not needed The synchronization control byte shall always indicate "no synchronization action" 3 5 4 2 1 Synchronization for the fast data buffer Synchronization control for the fast data buffer can occur m frames 2 through 33 and 36 through 67 of an ADSL superframe, where the fast byte may be used as the synchronization control byte No synchronization action is to be taken for those frames in which the fast byte is used for CRC, fixed mdicator bits, or EOC The format of the fast byte when used as synchronization control for the fast data buffer shall be as given m Table 21 In the case where no signals are allocated to the interleaved data buffer, the sync byte cames the AOC data dnectly as shown in Figure 63 Table 21 - Fast bvte format for synchronization If the bit timing base of the mput bearer channels (LSx) is synchronous with the ADSL modem tinung base then ADSL systems need not perform synchronization control by adding or deleting LEX bytes to/from the designated LSx channels The synchronization control byte shall indicate "no synchronization action" (1 e , sc7-0 coded "00001 IXO 2 ", with X discretionary) When the data rate of the C channel is 16 kbit/s, the LSO bearer channel shall be transported in the LEX byte, usmg the "add LEX bvte to designated LSx channel", with LSO as the designated channel, every other frame on average 3 5 4 2 2 Synchronization for the interleaved data buffer Synchronization control for the mterleaved data buffer can occur m frames 1 through 67 of an ADSL superframe, where the sync bvte mav be used as the synchronization control byte No synchronization action shall be taken duπng frame 0, where the svnc bvte is used for CRC, and frames when the LEX bvte carπes the AOC The format of the svnc byte when used as synchronization control for the interleaved data buffer shall be as given m Table 22 hi the case where no signals are allocated to the interleaved data buffer, the sync byte shall carry the AOC data directly, as shown in Figure 63 Table 22 - Svnc bvte format for synchronization When the data rate ot the C channel is 16 kbit/s, the LSO bearer channel shall be transported in the LEX bvte, usmg the "add LEX byte to designated LSx channel", with LSO as the designated channel, every other frame on average If the bit timmg base of the input bearer channels (LSx) is synchronous with the ADSL modem timing base then ADSL systems need not perform synchronization control by addmg or deleting LEX bytes to/from the designated LSx channels, and the synchronization control byte shall mdicate "no synchronization action" In this case, and when frammg structure 1 is used, the sc7-0 shall always be coded "00001 IXX 2 ", with X discretionary When scO is set to 1, the LEX byte shall carry AOC When scO is set to 0, the LEX byte shall be coded OO 1 6 The scO may be set to 0 only m between transmissions of 5 concatenated and identical AOC messages 3 5 4 3 Reduced overhead framing The format descπbed in 2 5 4 1 2 for full overhead frammg includes overhead to allow for the synchronization of three LSx bearer channels When the synchronization function descnbed m 2 5 4 2 is not requued, the ADSL equipment mav operate in a reduced overhead mode This mode retains all the full overhead mode functions except synchronization control When usmg the reduced overhead frammg, the frammg structure shall be as defined m 2 4 4 3 1 (when using separate fast and sync bytes) or2 4 4 3 2 (when using merged fast and sync bytes) 3 5 5 Scramblers The data streams output from the fast and interleaved buffers shall be scrambled separately usmg the same algoπthm as for the downstream signal 3 5 6 Forward eπor coπection The upstream data shall be Reed-Solomon coded and mterleaved using the same algoπthm as for the downstream data The ATU-R shall support upstream transmission with at least anv combination of the FEC coding capabilities shown in Table 23 Table 23 - Mimmum FEC coding capabilities for ATU-R The ATU-R shall also support upstream transmission with at least any combination of the FEC codmg capabilities shown m Table 14 3 5 7 Tone ordermg The tone-ordering algoπthm shall be the same as for the downstream data 3 5 8 Constellation encoder - Trellis version Block processing of Wei's 16-state 4-dιmensιonal trellis code to improve system performance is optional An algonthπuc constellation encoder shall be used to construct constellations with a maximum number of bits equal to Λupm x, where 8 < jVupmax ≤ 15 The encodmg algoπthm shall be the same as that used for downstream data (with the substitution of the constellation limit of Aiipmax r Λdownmax) 3 5 9 Constellation encoder - Uncoded version An algoπthnuc constellation encoder shall be used to construct constellations with a maximum number of bits equal to Λ'upmax > where 8 < Λ max ≤ 15 The encoding algoπthm is the same as that used for downstream data (with the substitution of the constellation limit of A^pmax for Nd ovm max) The constellation encoder shall not use trellis coding with this option 3 5 10 Gam scaling For the transmission of data symbols gam scaling, g, _ shall be applied as requested by the ATU-C and possibly updated duπng Showtime via the bit swap procedure Only values ot g, equal to 0 or within a range of approximately 0 19 to 1 33 (l e , -14 5 dB to +2 5 dB) may be used For the transmission of synchronization symbols no gam scalmg shall be applied to anv sub-camer Each constellation pomt, (X,,Yι), ι e complex number, A ' , +jYι, output from the encoder is multiplied by g, Z, = g, (X l + J Y,) 3 5 11 Modulation Frequency spacing, Δ/ ~ , between sub-camers shall be 4 3125 kHz with a tolerance of +/- 50 ppm 3 5 1 1 1 Sub-camers 3 5 1 1 1 1 Data sub-camers The channel analysis signal allows for a maximum of 31 earners (at frequencies nAf) to be used The range of n depends on the service option selected For example, for ADSL above POTS the lower limit is set bv the POTS/ADSL splitting filters, the upper limit is set bv the transmit and receive band-limiting filters, and shall be no greater than 31 The cut-off trequencies of these filters are at the discretion ot the manufacturer because the range ot usable n is determined dunng the channel estimation 3 5 11 1 2 Nvquist frequency The sub-earner at the Nyquist frequency shall not be used for user data and shall be real valued 3 5 11 1 3 DC The sub-earner at DC (#0) shall not be used, and shall contain no energy 3 5 11 2 Synchronization symbol The synchronization symbol permits recovery of the frame boundary after micro-interruptions that might otherwise force retraining The data symbol rate, fsymb - 4 kHz, the sub-camer separation, Δ/ = 4 3125 kHz, and the IDFT size, N = 64, are such that a cyclic prefix of 5 samples could be used That is, (64 + 5) * 4 0 = 64 * 4 3125 = 276 The cyclic prefix shall, however, be shortened to 4 samples, and a synchronization symbol (with a nominal length of 68 samples) inserted after every 68 data symbols That is, (64 + 4) * 69 = (64 + 5) * 68 The minimum set of sub-camers to be used is the set used for data transmission (I e , those for which b, > 0), sub-camers for which b, = 0 may be used at a reduced PSD The data modulated onto each sub-camer shall be as defined above, it shall not depend on which sub-earners are used 3 5 12 Transmitter dynamic range The transmitter includes all analog transmitter functions the D/A converter, the anti-aliasing filter, the hybπd circuitry, and the POTS splitter 3 5 12 1 Maximum clipping rate The maximum output signal of the transmitter shall be such that the signal shall be clipped no more than 0 00001% of the time 3 5 12 2 Noise Distortion floor The signal to noise plus distortion ratio of the transmitted signal m a given sub-camer ((S/N+D),) is specified as the ratio of the rms value of the full-amplitude tone m that sub-camer to the rms sum of all the non-tone signals in the 4 3125 kHz frequency band centered on the sub-camer frequency This ratio is measured for each sub-camer used for transmission usmg a Multi-Tone Power Ratio (MTPR) test as shown m Figure 77 Over the transmission frequency band, the MTPR of the transmitter in any sub-camer shall be no less than (3 upι + 20) dB, where N U pχ is defined as the size of the constellation (in bits) to be used on sub-camer / The transmitter MTPR shall be +38dB (coπesponding to an Λ 7 U p 1 of 6) for any sub-camer Signals transmitted dunng normal initialization and data transmission cannot be used for this test because the DMT symbols have a cyclic prefix appended, and the PSD of a non-repetitive signal does not have nulls at any sub-camer frequencies A gated FFT-based analyzer could be used, but this would measure both the non-linear distortion and the linear distortion introduced by the transmit filter Therefore this test will requue that the transmitter be programmed with special software, probably to be used dunng development only 4 - Use of SMCCC and PMCCC for wired communications as xDSL We now descnbe the use of SMCCC and PMCCC for xDSL systems and. m particular, apply it to the case of ADSL transceivers The use tor other xDSL systems and other data communications svstems is straightforward It should be noted that the appended claims are not intended to be limited to the particular application of ADSL An SMCCC is formed bv two (or more) constituent systematic encoders joined through an interleaver The mput information bits feed the first encoder and, after having been scrambled bv the mterleaver, enter the second encoder A code word of a seπal concatenated code compnses of the input bits to the first encoder followed bv the pantv check bits of both encoders SMCCC achieves near-Shannon-limit eπor coπection performance Here we descπbe the proposed encoder, the decoder and some simulation results 4 1- Parallel Multiple Convolutional Concatenated Codes A PMCCC encoder is formed bv two (or more) constituent systematic encoders jomed through one or more interleavers The mput mformation bits feed the first encoder and, after having been scrambled bv the mterleaver, enter the second encoder A code word of a parallel concatenated code compnses of the mput bits to the first encoder followed by the paπty check bits of both encoders Here we present the proposed encoder, the decoder and some simulation results The disadvantage of the PMCCC is that it has a floor-error around 10 " * This could be improved with a good mterleaver design, but usmg a large number of iterations 4 2 1- Parallel Multiple Convolutional Concatenated Codes Encoder A PMCCC encoder compnses ot two parallel concatenated recursive systematic convolutional encoders separated by an mterleaver The encoders are arranged m a "parallel concatenation" In a prefeπed embodiment, the concatenated recursive systematic convolutional encoders may be identical Figure 82 represents the proposed encoder The mput is a block of mformation bits The two encoders generate paπty symbols (uo and u O) from two simple recursive convolutional codes The key innovation of this techmque is an interleaver "r", which permutes the oπgmal information bits before mput to the second encoder The permutation performed by the mterleaver allows those input sequences for which one encoder produces low-weight codewords to usually cause the other encoder to produce high-weight codewords Thus, even though the constituent codes are individually weak, the combmation is surpπsmgly powerful The resultmg code has features similar to a "random" block code In this way, we have the information symbols («/ and u 2 ) and two redundant symbols (uo and u O) With this redundancy it is possible to reach longer loops and to reduce the PAR, at the cost of a slight mcrease of the constellation encoder In the Figure 83 we have presented the conversion that we propose, taking mto account the new panty bit 4 2 2- Parallel Multiple convolutional Concatenated Codes Decoder In Figure 84 we present the decoder, that uses an iterative techmque, with two soft-decision input/output trellis decoder in each decodmg state The Maximum-a-Posteπon (MAP) Trellis decoder provides the soft output result suitable for PMCCC decodmg The first decoder should deliver a soft output to the second decoder The loganthm of the Likelihood Ratio (LLR) of a bit decision is the soft decision mformation output by the MAP decoder Let u k be the binary random vaπable taking values in {0,1}, representing the sequence of mformation bits u=(uι, u„) The optimum decision algonthm on the kth bit Uk is based on the conditional log-hkelihood ratio L k where P(uJ are the a pπoπ probabilities Usmg Bayes' rule and the following approximation The MAP goπthm approximates a nonseparable distπbution with a separable one It is possible to separate P(u\yJ L k = f(y l ,L 0 ,L 2 .k)+L 0k + L 2k (HO) For binary modulation. and sunilarly Lk = f(y 2 ,Lo,L l ,k)+Lok + L lk (113) A soluϋon to this equaϋon is L lk = f(y,,Lo,L 2 ,k) (115) L 2k =f(y 2 ,L 0 ,L,,k) (116) for k=l,2,...,n The final decision is based on. which is passed through a hard hπuter with zero threshold The nonlinear equations can be solve using the iterative procedure L£ 1> = a ( r>f(y l .L 0 , ' iV,k) (118) l ' ) = a < ?>f(y 2 , Lo.L > .k) ( 11 9) The recursion can be started with the initial condiϋon Zf = Z = Z, (120) For each iteration al m) and af m> can be optimized or set to 1 for simplicity 423 Design of the interleaver for PMCCC In a PMCCC the terleaver establishes a relationship between portions of a codeword It is generally assumed that when a PMCCC decoder is operatmg at low bit eπor rates, eπor sequences have small Hamnung weights From this, and properties of PMCCC, a mathematical structure is possible to developed for interleaver design, pemuttmg the identification of quantitatively optimal mterleaver Simulations show the math captures some but not all the essential charactenstics of a successful interleaver Modifying a random mterleaver accordmg to some mathematical ideas gives excellent simulation results The function of the interleaver in the PMCCC is to assure that at least one of the codeword components has high Hamming weight For a better PMCCC, we can design an interleaver of permutation length p that maximizes the mmimum Hamming weight generated bv weight two mputs This requires maximizing σ* ≡ nun 1 < ι,j ≤ p (121) 'j where π is the interleaver function It is also possible to replace the sum with the maximum of s π ≡ nun \ J - i I v | π (j) - π ( 1 ) I 1 ≤ ι,j < p (122) • i An alternate method for mterleaver design is to disperse symbols as widely as possible in a 'constellation way" One effective method is to choose si and s: and generate π one pomt at a tune For each i e [l,pj, taken sequentially, random values are considered for π(ι) until one is found satisfying for s π =sι In Figure 85, it is shown how in curve d the floor eπor can be avoided usmg this method The constellation ot the mterleaver used to obtain curve "d" is presented in Figure 86 4 2 4- Simulations Simulations with (a) two equal, recursive convolutional consistent codes (b) with 16 states, (c) mterleaver of length 4096 and 16384 (d) usmg S-random permutation with S=31 and S=40 (e) running each simulation at least 25 Mbits, shows that the decodmg algonthm converges down to BER=10 5 at Eι N 0 below 1 dB with nine iterations 4 3 Seπal Multiple Concatenated Convolutional Codes 4 3 1 Encoder An SMCCC Encoder compnses of two seπal concatenated recursive systematic convolutional encoders separated by an mterleaver The encoders are aπanged in a "seπal concatenation" The concatenated recursive systematic convolutional encoders are identical Figure 87 represents the proposed encoder A SMCCC encoder is a combmation of two simple encoders The mput is a block of information bits The two encoders generate paπty symbols (uo and u O) from two simple recursive convolutional codes The key mnovation of this techmque is an mterleaver "r" , which permutes the oπgmal mformation bits before mput to the second encoder The permutation allows those mput sequences for which one encoder produces low-weight codewords which will usually cause the other encoder to produce high-weight codewords Thus, even though the constituent codes are individually weak, the combination is surpnsingly powerful The resulting code has features similar to a "random" block code In this way, we have the information symbols («y and «?) and two redundant symbols (uo and u 'o) With this redundancy it is possible to reach longer loops and to reduce the peak to average ratio (PAR) , at the cost of a slight mcrease ot the constellation encoder In Figure 83 we present the conversion that we propose, taking into account the new paπty bit 4 3 2 Decoder In Figure 88, the block diagram of an iterative decoder is shown It is based on two modules denoted by "SISO" one for each encoder, an mterleaver, and a demterleaver The SISO module is a four-port device, with two mputs and two outputs It accepts as mputs the probability distπbutions of the information and code symbols labeling the edges of the code trellis, and forms as outputs an update of these distnbutions based upon the code constraints The updated probabilities of the input and code symbols are used in the decoding procedure The SISO module is a four-port device that accepts at the input the sequences of probability distnbutions and outputs the sequences of probability distπbutions based on its mputs and on its knowledge of the code The output probability distπbutions represent a smoothed version of the mput distπbutions The algoπthm is completely general and capable ot copmg with parallel edges and also with encoders with rates greater than one, like those encountered in some concatenated schemes The SISO algoπthm requires that the whole sequence has been received before starting the smoothing process The reason is that backward recursion starts trom the final trellis state A more flexible decoding strategy is offered bv modifvmg the algoπthm m such a way that the SISO module operates on a fixed memory span and outputs the smoothed probability distnbutions after a given delay, D This new algonthm is called the shding-window soft-input soft-output (SW-SISO) algonthm The SW-SISO algoπthm solves the problems of continuously updating the probability distπbutions, without requiring trellis temunations Theu computaUonal complexity m some cases is around 5 tunes that of other suboptunal algonthms like SOVA This is due mainly to the fact that they are multiplicative algoπthms In this section, we overcome this drawback by proposing the additive version of the SISO algonthm 4 3 3 Interleaver design SMCCC does not have a problem with floor eπors as does PMCCC The floor eπor begins after 10" 7 that made it suitable for ADSL applications In an SMCCC the mterleaver establishes a relationship between portions of a codeword For a good SMCCC, we can design an mterleaver of permutation length " p " that maximizes the minimum Hamnung weight generated by weight two mputs In an SMCCC, the mterleaver establishes a relationship between portions of a code-word In the SMCCC case, because one of the mputs come from the outer encoder, the roll of the mterleaver is not so cntical, for this reason the method proposed for the mterleaver is to disperse symbols as widely as possible in a "constellation way" One effective method is to choose for each i e fl.pj π(ι) =p/3 *ι An example of this method is show m Figure 89 4 3 4- Simulations Simulations with two equal, recursive convolutional consistent codes with 16 states and an mterleaver of length between 100 and 1000 usmg S-random permutation, and each simulation run examined at least 25 Mbits show that the decodmg algoπthm converges down to BER=10 7 at Ei No of below 1 dB with less tlian mne iterations 4 4 The number of iterations m the decoder The number of iterations is a very important subject for the different applications of PMCCC and SMCCC For applications where the delay is not important, a large number is acceptable For real tune applications or for quasi-real tune applications it is important to use a number of iterations as low as possible maintaining the advantages of this techmque The necessary number of iterations depends upon the Eb/N 0 ratio m the receiver In Figure 51, we present this relationship for the SMCCC case, we represent values of ~ V„ below 0 1 dB, for values around 2 dB it is sufficient to use a number below 10 iterations 4 5 Compaπsons The PMCCC has a floor-eπor around a BER ot 10 " °, The reason for this is that the SMCCC functions m an mner and outer encoder structure, while the PMCCC functions as two parallel encoders In Figure 52 we present the floor eπor effect for PMCCC and that SMCCC does not show the floor eπor effect at least until BER of 10 '9 For simulation after 10 9 a lot of tune is required and it is not possible to give a simulation result 5 Reed-Solomon Codes and Turbo Codes for ADSL svstems 5 1 Encoder Figure 90 represents the proposed encoder A PMCCC encoder is a combination ot two simple encoders The mput is a block of information bits The two encoders generate paπty symbols (uo and u'o) from two simple recursive convolutional codes The kev innovauon of this techmque is an interleaver T", which permutes the ongmal information bits before mput to the second encoder The permutation performed bv the mterleaver allows those input sequences for which one encoder produces low-weight codewords to usually cause the other encoder to produce high-weight codewords Thus, even though the constituent codes are individually weak, the combination is surpπsmgly powerful The resulting code has features similar to a random ' block code In this wav, we have the information svmbol (uι ) and two redundant symbols (uo and u o) With tins redundancy it is possible to reach longer loops, or works at higher bit rates in the same loop, at the cost ot a slight increase ol the constellation encoder In a prefeπed embodiment, the reason we suggest the use two 1/2 convolutional encoders in parallel, is that this simplifies the Turbo-code encoder and it still produces results very close to the channel capacity. The use of two 2/3 convolutional encoders in parallel will produce a little better result (in the order of 0.1 or 0:2 dB) and will increase the complexity at least by four. From a practical point of view we think that is not necessary. In Figure 83, we have presented the conversion that we propose, taking into account the new parity bit. 5.2 Decoder. In Figure 84, we present the decoder that uses an iterative technique, using two soft-decision input/output trellis decoders in each decoding state. The Maximum-a-Posteriori (MAP) Trellis decoder provides the soft output result suitable for turbo-code decoding. 5.3. Simulations. In Figure 91 , we present the simulation results that we obtained, with two equal, recursive convolutional consistent codes with an interleaver of length 400 and K=50. With this value the delay is below 5 msec for 1.5 Mbit/s assuming a delay of 3 interleaver. The number of Iterations is always below 10. The convolutional encoder used is presented in Figure 92. 6. Forward Eπor Conection with Low-densitv parity-check codes Low-density parity-check codes are codes specified by a matrix containing mostly 0's and only a small number of 1 's. In particular, an (n, j, k) low-density code is a code of block length n with a matrix like that of Table 24 where each column contains a small fixed number, j, of l's and each row contains a small fixed number, k, of 1' s. Note that this type of matrix does not have the check digits appearing in diagonal form as in Table 25. However, for coding purposes, the equations represented by these matrices can always be solved to give the check digits as explicit sums of information digits. Table 24 Example of a low-densitv code matrix: N = 20. i = 3. k = 4. 1 1 I i 0 o o o o o o o o o o o o o 0 0 0 0 1 1 1 I O 0 0 O O O 0 0 O 0 O 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 I 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1. 0 0 0 t 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0~~0~0 1 0 " o 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 Tables 25 Example of pantv-check matπx INFORMATION CHECK DIGITS DIGITS t Λ K . Λ , X\ Xi Xz Xi Xi Xt l 1 1 ϊ 0 1 0 τ,s = Xi t- x b y it3 1 1 0 1 0 1 o X« = 2l ζ 9 Xi b B 34 1 0 1 1 0 0 1 ! Xi w " Xl ξ b *a & 5 * These codes are not optimum m the somewhat artificial sense of minimizing probability of decodmg error for a given block length, and it can be shown that the maximum rate at which these codes can be used is bounded below channel capacity However, a very simple decodmg scheme exists for low-density codes, and this compensates for theu lack of optimality The analysis of a low-density code of long block length is difficult because of the immense number of code words involved It is simpler to analyze a whole ensemble of such codes because the statistics of an ensemble permit one to average over quantities that are not tractable in mdividual codes From the ensemble behavior, one can make statistical statements about the properties of the member codes Furthermore, one can with high probability find a code with these properties by random selection from the ensemble In order to define an ensemble of (n, j, k) low-density codes, consider Table 24 agam Note that the matπx is divided mto j sub-matπces, each containing a smgle 1 m each column The first of these sub-matnces contains all its l's m descending order, I e , the ι' th row contains l's m columns (ι - l)k + 1 to ik The other sub-matnces are merely column permutations of the first We define an ensemble of (n, j, k) codes as the ensemble resultmg from random permutation of the columns of each of the bottom; - 1 sub-matπces of a matπx such as Table 24, with equal probability assigned to each permutation There are two interesting results that can be proven usmg this ensemble, the first concerning the mimmum distance of the member codes, and the second concerning the probability of decodmg eπor The mmimum distance of a code is the number of positions m which the two nearest code words differ Over the ensemble, the mmimum distance of a member code is a random vaπable, and it can be shown that the distπbution function of this random vaπable can be over bounded by a function As the block length increases, for fixed j ≥ 3 and k > j, this funcUon approaches a unit step at a fixed fraction δ, k of the block length Thus, for large n, practically all the codes m the ensemble have a minimum distance of at least nδ,k, In Table 26 this ratio of typical minimum distance to block length is compared to that for a paπty-check code chosen at random, l e , with a matnx filled in with equiprobable independent bmary digits It should be noted that for all the specific nonrandom procedures known for constructing codes, the ratio of minimum distance to block length appears to approach 0 with mcreasmg block length The probability of eπor usmg maximum likelihood decodmg for low-density codes clearly depends upon the particular channel on which the code is bemg used The results are particularly simple for the case of the BSC, or bmary svmmetnc channel, which is a binary-input, binary-output, memoryless channel with a fixed probability of transition from either input to the opposite output Here it can be shown that over a reasonable range of channel transition probabilities, the low-density code has a probability of decodmg eπor that decreases exponentially with block length and that the exponent is the same as that for the optimum code of shghtlv higher rate as given m Table 27 Table 26. Comparison of o) k . the ratio of typical minimum distance to block len,gth for an (n. j. k) code, to δ. the same ratio for an ordinary parity-check code of the same rate. 6 0.167 0.255 0.263 1 5 0.2 0.210 0.241 3 4 0.25 0.122 0.214 4 6 .333 0.129 0.173 3 5 0.4 0.044 0 45 3 6 0.5 0.023 0. 11 Table 27. Loss of rate associated with low-densitv codes. KATB FOB, EQUIVALENT Rate OPTIMUM CODE 3 6 0.5 0.555 3 5 0.4 0.43 4 6 0.333 0.343 3 4 0.25 0.266 Although this result for the BSC shows how closely low-density codes approach the optimum, the codes are not designed primarily for use on this channel. The BSC is an approximation to physical channels only when there is a receiver that makes decisions on the incoming signal on a bit-to-bit basis. Since the decoding procedure to be described later can actually use the channel a posteriori probabilities, and since a bit-by-bit decision throws away available information, we are actually interested in the probability of decoding eπor of a binary-input, continuous-output channel. If the noise affects the input symbols symmetrically, then this probability can again be bounded by an exponentially decreasing function of the block length, but the exponent is a rather complicated function of the channel and code. It is expected that the same type of result holds for a wide class of channels with memory, but no analytical results have yet been derived. For channels with memory, it is clearly advisable, however, to modify the ensemble somewhat, particularly by permuting the first sub-matrix and possibly by changing the probability measure on the permutations. 7. Application to Modem Communications Svstems In a prefeπed embodiment, the use of PMCCC or SMCCC is negotiated independently in each direction of communication in the system. In the case of ADSL, this permits the use of trellis code in one direction and a SMCCC code in the other direction. Computer Program Listing This patent application includes a computer program listing containing 37 pages, and included as an appendix. The program relates to a Reed-Solomon Encoder and Decoder and a PMCCC Encoder and Decoder for 2 parallel concatenated convolutional codes. Thus it is seen that the objects, features and advantages of the present invention are efficiently obtained. The preferred embodiment described herein is intended to disclose the best mode of the invention and to teach those having ordinary skill in the art how to make and use the invention, but should not be interpreted as limiting the scope and spirit of the invenUon as embodied in the appended claims.

Claims: What We Claim Is 1 A method of forward eπor coπection for commumcation systems, compnsmg the following steps producmg a symbol stream by forward error codmg of a data stream, modulatmg said symbol stream to produce a modulated signal, and, transmitting said modulated signal over a commumcation link 2 The method recited m Claim 1 wherem said commumcation system is a wired system 3 The method recited in Claim 1 wherem said commumcation system is an optical system 4 The method recited in Claim 1 wherem the modulatmg is accomplished with a multicarπer method 5 The method recited m Claim 4 wherem the multicarπer method is a Discrete Multi-Tone (DMT) method 6 The method recited in Claim 1 wherem the modulating is accomplished with a CAP-QAM smgle earner method 7 The method recited m Claim 1 wherem the modulating is accomplished with a Quadrature Amplitude Modulation (QAM) method 8 The method recited m Claim 1 wherem the modulatmg is accomplished usmg a Pulse Amplitude Modulation (PAM) method 9 The method recited in Claim 1 wherem said producmg of said symbol stream by forward error codmg of a data stream is accomplished with a plurality of convolutional coders 10 The method recited m Claim 9 wherem the plurality of convolutional coders are configured m parallel 11 The method recited m Claim 9 wherem the plurality of convolutional coders are configured in seπes 12 The method recited in Claim 1 wherem said producmg of said symbol stream by forward eπor codmg of a data stream is accomplished with a plurality of non-convolutional coders 13 The method recited in Claim 12 wherem said non-con volutional coder compnses a Reed-Solomon Encoder 14 The method recited m Claim 12 wherem said non-convolutional coder compnses a low density paπty check encoder 15. The method recited in Claim 12 wherem the plurality of non-convolutional coders are configured m senes 16 The method recited in Claim 1 wherem said producmg of said symbol stream by forward error codmg of a data stream is accomplished with a non-convolutional coder and a plurality of convolutional coders 17 The method recited in Claim 16 wherem said non-convolutional coder compnses a Reed-Solomon Encoder 18 A method of peak power level reduction for commumcation systems utilizing a plurality of coders compnsmg the following steps producmg a peak reduced signal by encoding said data stream by said plurality of coders, modulatmg said peak reduced signal, and, transmitting the modulated peak reduced signal 19 A method of forward eπor coπection for commumcation systems, compnsmg the following steps producmg a symbol stream by forward eπor coding of a data stream, modulatmg said symbol stream to produce a modulated signal, transmitting said modulated signal over a communication link, receiving said modulated signal, where said received modulated signal includes eπors, demodulatmg said received signal which mcludes eπors, decoding said demodulated signal by a plurality of convolutional decoders, and, regenerating said data stream and eliminating said eπors 20 A method of forward eπor coπection tor communication systems, compnsmg the following steps receiving a modulated signal from a communications link, where said received modulated signal mcludes errors; demodulatmg said received signal which mcludes eπors, decodmg said demodulated signal by a plurality of convolutional decoders, and, regeneratmg said data stream and eliminating said eπors 21 An apparatus for forward error correction for commumcation systems, compnsmg means for producmg a symbol stream by forward enor codmg of a data stream, means for modulating said symbol stream to produce a modulated signal, and, means for transmitting said modulated signal over a commumcation link 22 The apparatus recited m Claim 21 wherem said commumcation system is a wired system 23 The apparatus recited m Claim 21 wherem said communication system is an optical system 24 The apparatus recited m Claim 21 wherein said means for producing said symbol stream by forward eπor coding of a data stream is accomplished with a plurality of convolutional coders 25 The apparatus recited m Claim 24 wherein the plurality of convolutional coders are configured in parallel 26 The apparatus recited m Claim 24 wherem the plurality of convolutional coders are configured m seπes 27 The apparatus recited m Claim 21 wherem said means for producmg said symbol stream by forward eπor codmg of a data stream is accomplished with a plurality of non-convolutional coders 28 The apparatus recited m Claim 27 wherem the plurality of non-convolutional coders are configured m senes 29 The apparatus recited m Claim 21 wherem said means for producmg said symbol stream by forward eπor codmg of a data stream is accomplished with a non-convolutional coder and a plurality of convolutional coders 30 The apparatus recited m Claim 29 wherem said non-convolutional coder compnses a Reed-Solomon Encoder 31 An apparatus for accomphshmg peak power level reduction for commumcation systems utilizmg a plurality of coders compnsmg means for producmg a peak reduced signal by encodmg said data stream by said plurality of coders, means for modulatmg said peak reduced signal, and, means for transmitting the modulated peak reduced signal 32 An apparatus for forward enor coπection for communication systems, compnsmg means for receivmg a modulated signal from a communications link, where said received modulated signal mcludes errors, means for demodulatmg said received signal which includes eπors, means for decodmg said demodulated signal by a plurality of convolutional decoders, and, means for regeneratmg said data stream and eliminating said eπors

Inventors: DEMJANENKO VICTOR, HIRZEL FREDERIC, TORRES JUAN ALBERTO, DEMJANENKO, VICTOR, HIRZEL, FREDERIC, TORRES, JUAN ALBERTO
Applicants: DEMJANENKO VICTOR, HIRZEL FREDERIC, TORRES JUAN ALBERTO, VOCAL TECHNOLOGIES LTD, DEMJANENKO, VICTOR, HIRZEL, FREDERIC, TORRES, JUAN ALBERTO, VOCAL TECHNOLOGIES, LTD.
Application year: 1999
Main classification: H04L1
IPC codes: H04L1, H04L27