Paper Menu >>
Journal Menu >>
Int. J. Communications, Network and System Sciences, 2010, 3, 703-710 doi:10.4236/ijcns.2010.38094 Published Online August 2010 (http://www.SciRP.org/journal/ijcns) Copyright © 2010 SciRes. IJCNS Reliable Wireless Communication for Medical Devices Using Turbo Convolution Code Debasish Bera1, Tapas Chakravarty1, Saswat Chakrabarti2 1Tata Consultancy Services Ltd., Kolkata, India 2Indian Institute of Technology Kharagpur, Kharagpur, India E-mail:{debasish.bera, tapas.chakravarty}@tcs.com, saswat@ece.iitkgp.ernet.in Received May 9, 2010; revised June 18, 2010; accepted July 27, 2010 Abstract Wireless technology is now being used to bring significantly innovative products and services in the health- care sector, enabling new medical sensors, and treatment methods. In this paper, a new and improved com- munication system for communicating signals among different medical devices and a console is presented. Considering the need for very high degree of functional reliability of communication link in RF challenged environment (indoor), a novel algorithm called bi-directional “Soft Output Viterbi Algorithm (SOVA)” de- coding for double-binary Circular Recursive Systematic Convolutional (CRSC) turbo codes is presented. The bi-directional SOVA is considered in view of its better performance and implementation complexity trade-off. The basic SOVA has been described for binary turbo code. We have extended it for double binary case, which is useful for high data rate healthcare applications using real time streaming data. Necessary changes in basic message passing equations for double-binary case have been introduced. Coding gain can be used to increase the robustness and immunity to interference. Decoding of CRSC codes requires a pro- logue decoder, prior to the actual trellis decoding, to estimate the initial state. Efficient determination of cir- culation state through prologue decoding has helped in achieving impressive error performance for CRSC codes. The issues related to digital implementation of turbo encoder/decoder and their effects on error per- formance have also been discussed. Adequate simulation results have been included. Keywords: CRSC, FPGA, SOVA, Turbo Code, Reliable Communication 1. Introduction The medical-healthcare industry is constantly evolving, so medical device manufacturers must keep pace with industry trends. Healthcare costs have been also of ex- treme interest over the last several years. Healthcare pro- viders have been addressing cost issues to attempt to become more competitive. A common requirement is to add wireless connectivity to previously isolated serial devices. To reduce costs and improve care, providers must reengineer their acute care settings using informa- tion technology. The availability of mass market wireless technology that supports these devices is necessary. That technology is maturing in the form of Bluetooth, ZigBee, Wi-Fi, and Ultra Wide Band (UWB). Data reliability is an important issue in all these standards, which can be taken care by efficient error correction method. Unlike transporting general data over wireless net- works, however, medical data, video applications can’t tolerate bandwidth fluctuations, so the challenge is sig- nificantly more rigorous. A number of critical factors contribute to satisfactory performance. These include bandwidth, latency, and breadth of coverage, reliability and quality of service (QoS). Reliable operating range is difficult to predict due to the lack of knowledge of the special propagation characteristics in indoor scenario. Reflected signals by floors, ceilings, walls, various furniture and people are present near transmitters and receivers. That is the sig- nals are travelling over multi-paths. In most indoor cases, there is no direct line-of-site path, and all signals are the result of reflection, diffraction and scattering. Higher throughput improves immunity to interferences and ex- cess bandwidth can be traded for longer reach and better power efficiency. In this article we present turbo convo- lution coding technology for reliable communication. Its inbuilt interleaving technology exploits time diversity, which helps in combating multi-path effect. It is also useful in high throughput scenario. Turbo coding is a powerful forward error correction 704 D. BERA ET AL. (FEC) method that has gained considerable attention in recent past [1]. The fundamental turbo encoder is built with two identical Recursive Systematic Convolutional (RSC) codes, which are parallelly concatenated [1] through a random interleaver. A RSC encoder is typi- cally of rate-1/2 and termed as component encoder. The interleaver is a device that permutes the data sequence in some predetermined manner. Only one of the systematic outputs from the two component encoders is used. Dou- ble-binary Circular Recursive Systematic Convolutional (CRSC) elementary codes for iterative decoding have been introduced by Berrou et al. [2]. It provides signifi- cant error-correcting performance while not suffering from the well-known Bit Error Rate (BER) floor of clas- sical binary turbo codes. Double-binary (in general m-binary) codes have certain advantages [3] over binary codes, like: better convergence of the iterative process, larger minimum distance, less sensitivity to puncturing patterns, higher throughput and reduced latency, robust- ness of the decoder etc. Instead of recursive systematic convolution code, a parallel concatenation of CRSC codes [4] makes convolution turbo codes efficient for coding of data in blocks. The double-binary CRSC codes specified for various block sizes and wide range of code rates have been ado- pted in the Digital Video Broadcasting – Return Channel Satellite (DVB-RCS) standard [5]. In this paper, we pre- sent the performance of DVB-RCS compliant rate-1/3, constraint length 4 (i.e., memory v = 3) CRSC code with bi-directional Soft Output Viterbi Algorithm (SOVA) [6] as the component decoding algorithm. It have been con- sidered, A, B are the systematic bits and W, Y are the parity or redundant bits generated from the encoder. Both Maximum A Posteriori probability (MAP) and SOVA are Maximum Likelihood (ML) algorithms. MAP algorithm finds the most probable information symbol that was transmitted, while the SOVA finds the most probable information sequence that was transmitted for a given code sequence. That means MAP minimizes the bit or symbol error probability, where as SOVA minimizes the word error probability. Symbol-by-symbol MAP al- gorithm [7] for estimating the states or outputs of a Markov process observed in white noise is optimal. However MAP algorithm is not practically implement- able due to its numerical complexities. Approximate ver- sions of the MAP algorithm, such as Max-Log-MAP [8], [9], Log-MAP [10], have been derived. Those are less complex and can be used instead of MAP. Log-MAP algorithm avoids the approximations in the Max-Log- MAP algorithm using a simple correction function at each max operation and its performance is near to MAP. SOVA and Max-Log-MAP are sub-optimal approaches at low signal-to-noise ratio (SNR). The most attractive feature of the SOVA is its simp- licity, as far as hardware implementation is concerned, with a little degradation in performance [6]. Battail [11] and Hagenauer et al [12] first proposed the SOVA algori- thm. Berrou et al [13] also proposed an algorithm, which is fundamentally based on [11,12]. Berrou et al [13] considered all 2 (where v = memory order of the constituent encoder) parallel trace back operations, starting from each node at the end of the trellis. The values, which have been memorized during the forward traversal on the 2 survivors, are updated by taking into account the present values. The size is roughly twice the size of classical Viterbi decoder. Vucetic et al. [6] pro- posed a Bi-directional SOVA (BSOVA) by considering the backward path metric calculation. It is computa- tionally more complex than Hagenauer’s method but gives better BER performance. That is why we have selected SOVA as our decoding algorithm. The architectural designs of encoder and decoder for digital implementation on Field Programmable Gate Ar- ray (FPGA) have been discussed. This paper is organized as follows; Different SOVA algorithms have been stud- ied and bi-directional SOVA decoding mechanism with necessary modifications in message passing equations for using them in double-binary codes have been de- scribed in Section 2. Section 3 explains the architecture of the codec to implement on FPGA. Section 4 presents the simulation results and its analysis. Section 5 con- cludes the paper. 2. SOVA for Double-Binary Code In binary case, only two types of transmitted symbols are possible, i.e., d = 0 or 1. But in double binary case four types of transmitted symbols are possible, i.e., d = 00, 01, 10 or 11. The corresponding likelihood ratios are as follows: p 00 P00 P00| P00| p|00P00 xd d dx dxxd d for d = 00 (1) p 01 P01 P01| P00| p|00P00 xd d dx dxxd d for d = 01 (2) p 10 P10 P10| P00| p|00P00 xdd dx dxxd d for d = 10 (3) p 11 P11 P11| P00| p 00 P00 xd d dx dxxd d for d = 11 (4) Copyright © 2010 SciRes. IJCNS D. BERA ET AL. 705 where, d = transmitted symbol and x = received continu- ous valued noisy symbol. The basic message passing equation of an iterative (turbo) decoder in terms of log-likelihood ratio (LLR) is as follows, L dxL xdLd c (5) where, L(d|x) = soft value in terms of LLR, out of the demodulator i.e., demodulator a posteriori LLR value. Lc (x|d) = LLR of the channel measurements of x under the alternate condition, that d = + 1 or d = –1, i.e., this is the result of a channel measurement at the demodulator. L(d) = A priori LLR of the data symbol d. After introducing decoder, for a systematic code: soft e L dxLdxL d (6) where, Lsoft(d|x) = Soft output of a data symbol out of the decoder. L(d|x) = LLR of the data symbol out of the demodula- tor i.e. input to the decoder. Le(d) = Extrinsic LLR, represents extra knowledge that comes from the decoder. Therefore it can be written as, soft ee LdxLxdLdLd (7) where, Le(x|d) = Systematic Information, L(d) = A priori information, and Le(d) = Extrinsic information. Now, Lsoft(d|x) is a real number whose sign denotes the hard decision and magnitude denotes the reliability of that decision. i.e., if Lsoft(d|x) is more + ve then it is more reli- able to be + 1 and if more – ve then it is more reliable to be – 1. P ln P0 i di Ld d , i = 1, 2, 3 (8) In iterative case to compute symbol probabilities for the next decoder from previous decoder, P ln P0 i ei di Ld Ldd (9) Now for double binary code, it can be realized as follows, 00 P00 ln P00 e d Ld d (10) 01 P01 ln P00 e d L dd => 01 1 P00 e Ld ded P0 (11) 10 P10 ln P00 e d Ld d => 11 P11 ln P00 e d Ld d => P1 (13) 11 1 P00 e Ld ded In general, it can be extended for m-binary code. 2.1. For Binary Turbo Code SOVA estimates the soft output information for each transmitted binary symbol (dt) in the form of LLR and which can be simplified as follows [6]: P1 ln P1 t t t dx ddx , x = received noisy symbol, )( )1( ,min, MM ctT (14) MT,min = Minimum path metric of ML-path selected in the same as in Viterbi algorithm (VA). Mt,c = min{ Mt - 1,f (k’) + Bt(k’,k) + Mt,b(k)} = Best competitor of the ML symbol at time instant t. Mt - 1,f (k’) = Path metric of the forward survivor path at time t – 1 and node k’; Bt(k’, k) = Branch metric at time instant t for a complement symbol c from node k’ to k; Mt,b(k) = Backward survivor path metric at time t and node k. For binary case the Equation (14) can further be sim- plified to: t d = (Mt,0 – Mt,1) (15) It is basically path difference between ML paths when ML symbol is “0” and “1” respectively. Equation for ex- trinsic information [6] in iterative process should be as follows: For decoder-1 in r-th iteration: ()()( 1) 11 ,02 4 rr r ettte t ddd d (16) Similarly for decoder-2 in r-th iteration: ~ () ()() 22 ,01 4 rr r ettte t ddd d (17) 2.2. For Double-Binary Turbo Code In double-binary (or duo-binary) code, soft output in- formation for each transmitted quaternary symbol (dt) in the form of LLR is: P ln P0 t t t dix ddx , i = 0,1,2,3 = Mt,c – MT,min (18) MT,min = Minimum path metric of ML-path selected in the same way as in Viterbi Algorithm. 10 0 P00 e Ld ded P1 (12) Copyright © 2010 SciRes. IJCNS D. BERA ET AL. Copyright © 2010 SciRes. IJCNS 706 2.3. Relevance of Prologue Decoding Mt,c = min {Mt - 1,f (k ’) + Bt(k’, k) + Mt,b(k)} = Best competitor of the ML symbol at time instant t. Mt-1,f (k’) = Path metric of the forward survivor path at In circular coding of convolution codes, an encoder goes back to its initial state at the end of the encoding opera- tion. The decoding trellis can therefore be seen as a circle and decoding may be started anywhere on this circle. This avoids forceful termination of a trellis to all-zero state, which is well known as tailbiting [14]. Gianchristofaro et al. [15] have suggested a search for initial state using the last part of the frame and exploiting the trellis closure property. For circular encoding of the double-binary code [5] and associated prologue decoding have been ex- plained in [16,17]. time t – 1 and node k’; Bt (k’, k) = Branch metric at time instant t for a complement symbol c from node k’ to k; Mt,b(k) = Backward survivor path metric at node k and time t. In iterative process of double-binary code, there will be three extrinsic information for each input symbol (01, 10, and 11 w.r.t. 00) to be passed from one decoder to other: For 1st decoder, in r-th iteration, )( ~ 2)1(01 2, )(01 1 )(01 1t r ebtt r t r edddd (19) )( ~ 2)1(10 2, )(10 1 )(10 1t r eatt r t r edddd (20) )( ~ )(2 )1(11 2,, )(11 1 )(11 1t r eatbtt r t r eddddd (21) 3. Architecture of Turbo Code Similarly, for 2nd decoder, in r-th iteration, This section deals with digital design and FPGA imple- mentation of turbo decoder. System and design specifica- tions are given in [5]. It is targeted on Xilinx Virtex-II FPGA [18]. Interleavers are implemented by storing the pre-calculated interleaved addresses in ROM [19]. As dis- cussed in [5] the interleaver follows some algebraic rule. )( ~ 2)(01 1, )(01 2 )(01 2t r ebtt r t r edddd (22) )( ~ 2)(10 1, )(10 2 )(10 2t r eatt r t r edddd (23) )( ~ )(2 )(11 1,, )(11 2 )(11 2t r eatbtt r t r eddddd (24) where, I = 01, 10, 11 and j = 1, 2. dt,a and dt,b construct a symbol i. 3.1. Design of Decoder () - -- ir je t dExtrinsicInformation fori thdatasymbol in rthiteration fromjthdecoderattimet () - - ir je t dSoftoutputforith data symbol inrth iterationfromjth decoderat timet () () - -- ir je t dInterleavedextrinsicInfofor ith data symbol inrth iterationfromjth decoderattimet . - . . The incoming in-phase and quadrature-phase symbols (quantized in 5-bit sign-magnitude) from the demodula- tor are sampled @ 3 Msps and then demultiplexed into six branches: systematicBA,, parity from first encoder 1,1 WY and parity from second encoder2,2WY . The functional block diagram of turbo decoder data-path is shown in Figure 1. Figure 1. Decoder data path. D. BERA ET AL. Copyright © 2010 SciRes. IJCNS 707 After de-multiplexing and de-puncturing, each of '2,'2,'1,'1,',' WYWYBA are written into RAM (part of the delay unit) @ 1Msps. Iterative nature of the decoder is implemented by reading data from these RAMs at higher rate (e.g. @18 MHz for 4 iteration). This data reading rate would depend on the SOVA architecture and number of iterations. The samples are then passed through iterative SOVA architecture. Decisions about the de- coded samples are taken depending on their sign bit. This decoded sequence first deinterleaved, then passed through P/S converter and get the actual decoded sequence. 3.2. Design of Timing Unit The turbo encoder and decoder require different clocks viz., Outclk_encinternal (1 MHz), Outclk_indata (2MHz), Outclk_SOVA (4.5 MHz, 9 MHz, 18 MHz) and Outclk_ACS (54 MHz, 108 MHz, 216 MHz) for the it- erative processing (up to four iterations) of a frame. A timing unit derives the clocks from an input master clock of 55.296 MHz. The input master clock is divided (CLKDV) or multiplied (CLKFX, CLK2X) with differ- ent set of values to generate the different clocks. There are three main synchronization clock signals in the ar- chitecture. One clock signal controls the time sequence of the decoder that is equal to the data symbol time. Each symbol time interval is divided into (2 × number of itera- tions + number of internal latches of SOVA) iteration sequence. Each of the iteration intervals is divided into (number of states + Add-Compare-Select (ACS) internal delay) to perform the reading and writing metrics mem- ory within ACS block. Thus, the highest clock signal (for ACS) required by the architecture for four iterations is 216 MHz. Architecture of timing unit has been realized using four inbuilt Digital Clock Manager (DCM) blocks of FPGA [18]. 3.3. Component SOVA Decoder The functional block diagram of SOVA data-path is shown in Figure 2. It is implemented with micro-level pipelining. Each component SOVA decoder consists of several functional blocks. Branch Metric Calculation Unit (BMCU) takes four type of input and generates all sixteen possible (from ABYW to ~ A~ B ~ Y ~ W) branch metrics. Figure 2. SOVA data path. D. BERA ET AL. Copyright © 2010 SciRes. IJCNS 708 The metrics generated by BMCU is stored in the Branch Metric Storage (BMS) and simultaneously routed to Up- dated Branch Metric Calculation Unit (UMBCU) and Prologue Decoder Unit (PDU). The circular state (Sc) generated by PDU is routed to Add Compare Select Stor- age Unit (ACSSU) with the updated branch metrics gen- erated from UBMCU. ACSSU first calculates forward path metrics and survivor path (for ML-symbol) and then backward path metrics for all nodes. After processing, its metrics are stored in forward path memory and backward path memory respectively. After calculation of both for- ward and backward path metrics, Log Likelihood Ratio (LLR) i. e., soft output calculation unit (SOCU) and extrin- sic information calculation unit (EXTCU) generates wei- ghted data. The iterative nature has been realized with serial and micro level pipe-lining architecture. 4. Result and Discussion In this section we present our results on prologue decod- ing algorithm and BER performance of the DVB-RCS codec with SOVA decoder. Some of the relevant code parameters are indicated below: Variable information frame length: 12 bytes (48 dou- ble-bits), 110 bytes (440 double-bits), 188 bytes (752 double-bits), 212 bytes (848 double-bits); Code rate: 1/2, 1/3; Length of Circular Trellis (IL): information frame length in double-bits; Number of double-bits in a code- word: information frame length in double-bits × (1/Code rate); Interleaver: Type-I and Type-II [5]; Variable num- ber of iterations performed:1, 2, 4, 5 and 8. Figure 3 presents BER performances of turbo decoder when the prologue decoding is applied in every iteration of turbo decoding and the same is carried out in every al- ternate iteration. It may be seen that a performance deg- radation of about 0.1 dB (at BER of 10-4) may be ex- pected if prologue decoding is carried out in alternate iteration. Therefore by performing prologue decoding in alternate iteration, power dissipation of the chip can be reduced with graceful degradation in performance. It shows, proposed method performs better than Saouter’s method. Abbreviations mentioned in the Figure 3 are ex- plained as: uncoded signal: Channel input BER; Pass- ing actual circular state: Decoder performance with complete knowledge of the circulation states; Prologue at each iteration: Decoder performance when prologue decoding is performed at the start of each iteration; Prologue at alternate iteration: Decoder performance when prologue decoding is performed only for even iterations; Coded as Saouter: Performance reported in [20] for a rate-1/2 code with constraint length 4 and eight iterations. Figure 4 explains BER performance of bi-directional SOVA decoding with variable number of iteration for double-binary CRSC code. BER of 10-4 can be obtained at 2.75dB after 5th iteration. It is also observed that, an improvement in performance between 1st and 2nd itera- tion is greater than the improvements in performance between 5th and 8th iteration. It signifies that, the rate of improvements in performance decreases with increase of iteration numbers, which is a well known property of turbo code. In this case prologue decoding is performed in every iteration. Figure 5 explains how the BER performance of bi- directional SOVA varies with variation of interleaver length. A BER of 10-5 can be obtained at 1.5 dB with interleaver length of 212 bytes. Whereas the same BER is obtained at 1.75 dB with interleaver length of 110 bytes. It proves that the BER performance of a turbo code is greatly influenced by the length of the interleaver used. Larger length means larger time dispersion (time diver- sity) i.e., larger the gain obtained. Performance improves as the frame length increases. 1e-005 0.0001 0.001 0.01 0.1 1 11.5 22.5 3 3.5 4 BE R E b /N 0 (dB) Uncoded signal Coded as Saoute r Prologue at alternate step Prologue at each step Passing actual circular state Figure 3. BER performance of bi-directional SOVA and Saouter’s decoding for duo-binary CRSC code according to DVB-RCS standard (frame length = 12 bytes, No. of itera- tion = 5). Performance increases as the prediction of Sc im- proves. 0.1 1e-005 1e-004 1e-003 0.01 BER 'iteration = 1 'iteration = 2 'iteration = 4 'iteration = 5 'iteration = 8 11.522.5 33.5 E b /N 0 (dB) Figure 4. BER performance of bi-directional SOVA decod- ing with variable number of iteration for double binary CRSC code (interleaver length = 12 bytes, code rate = 1/3). Prologue decoding is performed in every iteration. Per- formance increases as number of iteration increases. Itr_i.dat: BER curve for i-th iteration. Eb/N0 is in dB. D. BERA ET AL. 709 1 1e-007 1e-006 1e-005 1e-004 1e-003 0.01 0.1 0 0.5 1 1.5 2 2.5 3 BER E b / N 0 (dB) 'Interleaver length =440 'Interleaver length =752 'Interleaver length =848 Figure 5. BER performance of bi-directional SOVA with code rate = 1/3, number of iteration is 5 and frame lengths 110 bytes (Interleaver length = 440 double-bits), 188 bytes (Interleaver length = 752 double-bits) and 212 bytes (Inter- leaver length = 848 double-bits). Prologue decoding is per- formed in alternate iteration. 00.2 0.40.6 0.8 11.2 1.41.6 1.82 10-6 10-5 10-4 10-3 10-2 10- 1 BE R Code rate: 1/3 Code rate: 1/2 E b /N 0 (dB) Figure 6. BER performance comparison of DVB-RCS stan- dard compliant turbo code with bi-directional SOVA deco- der. Code rate = 1/3 and 1/2 for interleaver length 752 (188 bytes) with 5 iterations. E b / N 0 (dB) 00.20.40.6 0.811.21.4 1.61.8 2 10 -7 10 -6 10 -5 10 -4 10 -3 10 -2 10 -1 10 0 BER Double-binary CRSC Turbo code Bluetooth ZigBee Figure 7. BER performance comparison of DVB-RCS stan- dard compliant turbo code with bluetooth and ZigBee stan- dard. Code rate = 1/3 for interleaver length 752 (188 bytes) with 5 iterations. Turbo code outperforms bluetooth in low and medium SNR and ZigBee in medium SNR region. Figure 6 explains how the BER vs SNR performance of bi-directional SOVA varies with variation of code rate. It shows that BER of 10-3 is obtained at 1.0 dB for code rate 1/3. But with code rate ½ we get BER of 10-2 at 1.0 dB. In both cases same code, interleaver length (188 bytes) and iteration number have been used. It can also observe that at high SNR (2.0 dB) BER performance does not improve considerably, though we decrease code rate from 1/2 to 1/3. It can be concluded that code rate of turbo code affects significantly at low SNR and the per- formance decreases as the code rate increases. Figure 7 compares the performance of proposed decod- ing algorithm for turbo code with Bluetooth and ZigBee standard. These two standards are widely used as short range communication for interconnectivity of medical de- vices. It shows that proposed algorithm completely out per- forms Bluetooth in both low and medium SNR region. On the other hand, though ZigBee performs better at low SNR, but in medium SNR (1.4 to 2 dB) proposed algorithm over performs it. It happens because CRSC code does not suffer from conventional error floor region. 5. Conclusions The healthcare market is just starting to rely on informa- tion technology in acute care. From hospital wide cellu- lar networks, providing continuous reliable monitoring of patients, to personal medical devices used in the home, wireless connectivity provides benefits to patients, and medical professionals. FEC schemes extends the reach that's possible at any given data rate. In the present work, double-binary turbo coding and its bi-directional SOVA based decoding for reliable communication in healthcare have been discussed in details. Instead of general recur- sive systematic convolutional code, a special type of co- mponent encoder called circular recursive convolutional code has been considered. We have proposed a prologue decoding for double-binary CRSC code. Double-binary code ensures the higher throughput, which is very essen- tial for wireless indoor scenario. The basic bi-directional SOVA is described for binary turbo code. We have extended it for double-binary case. Double binary turbo code encodes and decodes two bits at a time which leads to certain advantages compare to single bit in binary case. The necessary message passing equations have been derived. It reduces the well known error-floor of classical turbo codes. Thus ensures the data reliability in medium SNR and multi-path scenario of indoor application. The article also presents the concept of prologue decoding. The decoding complexity can be reduced by not performing prologue decoding on some iteration, with a minimal loss of performance. At the cost of prologue decoding in CRSC, one can avoid the over- head of tail-biting codes. Other interesting future works can be: extension to m-binary codes (where m = 22, 23 etc) to get higher throughput; looking for a satisfactory ex- Copyright © 2010 SciRes. IJCNS D. BERA ET AL. Copyright © 2010 SciRes. IJCNS 710 planation of the quasi-equivalence of the MAP and Max- Log-MAP decoding algorithm; connecting tail-biting codes with CRSC and their prologue decoding; searching for better architecture (both from power and size) which is more suitable to use in portable medical devices. 6. References [1] C. Berrou, A. Glavieux and P. Thitimajshima, “Near Shannon Limit Error-Control Coding and Decoding: Turbo Codes,” Proceedings of IEEE International Conference on Communications, Geneva, 23-26 May 1993, pp. 1064- 1070. [2] C. Berrou and M. Jezequel, “Non-Binary Convolutional Codes for Turbo Coding,” Electronics Letters, Vol. 35, No. 1, 1999, pp. 39-40. [3] C. Douillard and C. Berrou, “Turbo Codes With Rate- m/(m + 1) Constituent Convolutional Codes,” IEEE Tra- nsactions on Communications, Vol. 53, No. 10, 2005, pp. 1630-1638. [4] C. Berrou, C. Douillard and M. Jezequel, “Multiple Para- llel Concatenation of Circular Recursive Systematic Con- volutional (CRSC) Codes,” Annals of Telecommunica- tions, Vol. 54, No. 3-4, 1999, pp. 166-172. [5] Digital Video Broadcasting, “Interaction Channel for Satellite Distribution Systems,” Guidelines for the User of EN 301 790, Version 1.3.1, 2003, pp. 23-27. [6] B. Vucetic and J. Yuan “Turbo Codes: Principles and Applications,” Kluwer Academic Publishers, Boston, 2000. [7] L. Bhal, J. Cocke, F. Jelinck and J. Raviv, “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate,” IEEE Transactions on Information Theory, Vol. 20, No. 2, 1974, pp. 284-287. [8] J. A. Erfanian, S. Pasupathy and G. Gulak, “Reduced Complexity Symbol Detectors with Parallel Structures for ISI Channels,” IEEE Transactions on Communications, Vol. 42, No. 234, 1994, pp. 1661-1671. [9] W. Koch and A. Baier, “Optimum and Sub-Optimum De- tection of Coded Data Disturbed by Time-Varying Inter- symbol Interference,” Proceedings of IEEE Global Tele- communications Conference, San Diego, Vol. 3, 2-5 Dec- ember 1990, pp. 1679-1684. [10] P. Robertson, P. Hoher and E. Villebrun. “A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain,” Proceedings of IEEE International Conference on Communications, Seattle, 18- 22 June 1995, pp. 1009-1013. [11] G. Battail, “Ponderation des Symbols Decodes par l’Al- gorithme de Viterbi,” Annals of Telecommunications, Vol. 42, No. 1-2, 1987, pp. 31-38. [12] J. Hagenauer and P. Hoeher, “A Viterbi Algorithm with Soft-Decision Outputs and its Applications,” Proceedings of IEEE Global Telecommunications Conference, Dallas, 27-30 November 1989, pp. 1680-1686. [13] C. Berrou, P. Adde, E. Angui and S. Faudeil, “A Low Complexity Soft-Output Viterbi Decoder Architecture,” Proceedings of IEEE International Conference on Com- munications, Geneva, Vol. 2, 23-26 May 1993, pp. 737- 740. [14] J. B. Anderson and S. M. Hladik, “Tailbiting MAP De- coders,” IEEE Journal on Selected Areas in Communi- cations, Vol. 16, No. 2, 1998, pp. 297-302. [15] D. Gianchristofaro and A. Bartolazzi, “Novel DVB-RCS Standard Turbo Code: Details and Performances of a Decoding Algorithm,” Proceedings of 7th International Workshop on Digital Signal Processing Techniques for Space Communications, Sesimbra, 1-3 October 2001. [16] D. Bera and J. Sen, “SOVA Based Decoding of Double- Binary Turbo Convolutional Code,” Proceedings of 1st IEEE International Conference on Wireless Communi- cation, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology, Aalborg, 17-20 May 2009, pp. 757-761. [17] D. Bera, “Design of Duo-Binary CRSC Turbo Convolu- tion Code,” Proceedings of 4th IEEE International Con- ference on Computers and Devices for Communication, Kolkata, 14-16 December 2009, pp. 40-43. [18] http://www.xilinx.com [19] G. Masera, M. Mazza, G. Piccinini, F. Viglione and M. Zamboni, “Architectural Strategies for Low-Power VLSI Turbo Decoders,” IEEE Transactions on Very Large Scale Integration Systems, Vol. 10, No. 3, 2002, pp. 279-285. [20] Y. Saouter, “Decoding M-Binary Turbo Codes by the Dual Method,” Proceedings of IEEE Information Theory Workshop, Paris, 31 March-4 April 2003, pp. 74-77. |