of 64 rows by 32 columns), each bit of range i of the synchronization word is combined with the last bit of row i.

Similar documents
Performance of a Low-Complexity Turbo Decoder and its Implementation on a Low-Cost, 16-Bit Fixed-Point DSP

VHDL IMPLEMENTATION OF TURBO ENCODER AND DECODER USING LOG-MAP BASED ITERATIVE DECODING

A Robust Turbo Codec Design for Satellite Communications

Implementation of a turbo codes test bed in the Simulink environment

Part 2.4 Turbo codes. p. 1. ELEC 7073 Digital Communications III, Dept. of E.E.E., HKU

Performance Study of Turbo Code with Interleaver Design

HYBRID CONCATENATED CONVOLUTIONAL CODES FOR DEEP SPACE MISSION

Design and Implementation of Encoder and Decoder for SCCPM System Based on DSP Xuebao Wang1, a, Jun Gao1, b and Gaoqi Dou1, c

On the design of turbo codes with convolutional interleavers

Hardware Implementation of Viterbi Decoder for Wireless Applications

An Efficient Viterbi Decoder Architecture

Higher-Order Modulation and Turbo Coding Options for the CDM-600 Satellite Modem

A Novel Turbo Codec Encoding and Decoding Mechanism

CCSDS TELEMETRY CHANNEL CODING: THE TURBO CODING OPTION. Gian Paolo Calzolari #, Enrico Vassallo #, Sandi Habinc * ABSTRACT

AN UNEQUAL ERROR PROTECTION SCHEME FOR MULTIPLE INPUT MULTIPLE OUTPUT SYSTEMS. M. Farooq Sabir, Robert W. Heath and Alan C. Bovik

REDUCED-COMPLEXITY DECODING FOR CONCATENATED CODES BASED ON RECTANGULAR PARITY-CHECK CODES AND TURBO CODES

Adaptive decoding of convolutional codes

Analog Sliding Window Decoder Core for Mixed Signal Turbo Decoder

Optimum Frame Synchronization for Preamble-less Packet Transmission of Turbo Codes

IMPLEMENTATION ISSUES OF TURBO SYNCHRONIZATION WITH DUO-BINARY TURBO DECODING

ITERATIVE DECODING FOR DIGITAL RECORDING SYSTEMS

Design Project: Designing a Viterbi Decoder (PART I)

Implementation of CRC and Viterbi algorithm on FPGA

FPGA Implementation of Convolutional Encoder And Hard Decision Viterbi Decoder

NUMEROUS elaborate attempts have been made in the

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

VITERBI DECODER FOR NASA S SPACE SHUTTLE S TELEMETRY DATA

Low Power Viterbi Decoder Designs

Review paper on study of various Interleavers and their significance

Performance Improvement of AMBE 3600 bps Vocoder with Improved FEC

The Design of Efficient Viterbi Decoder and Realization by FPGA

An Implementation of a Forward Error Correction Technique using Convolution Encoding with Viterbi Decoding

A 13.3-Mb/s 0.35-m CMOS Analog Turbo Decoder IC With a Configurable Interleaver

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Decoder Assisted Channel Estimation and Frame Synchronization

Error Performance Analysis of a Concatenated Coding Scheme with 64/256-QAM Trellis Coded Modulation for the North American Cable Modem Standard

CODING AND MODULATION FOR DIGITAL TELEVISION

Performance Analysis of Convolutional Encoder and Viterbi Decoder Using FPGA

Investigation of the Effectiveness of Turbo Code in Wireless System over Rician Channel

Transmission Strategies for 10GBase-T over CAT- 6 Copper Wiring. IEEE Meeting November 2003

No title. Matthieu Arzel, Fabrice Seguin, Cyril Lahuec, Michel Jezequel. HAL Id: hal

LOW POWER VLSI ARCHITECTURE OF A VITERBI DECODER USING ASYNCHRONOUS PRECHARGE HALF BUFFER DUAL RAILTECHNIQUES

Interleaver Design for Turbo Codes

Design And Implementation Of Coding Techniques For Communication Systems Using Viterbi Algorithm * V S Lakshmi Priya 1 Duggirala Ramakrishna Rao 2

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

FPGA Implementation of Viterbi Decoder

IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID ARQ

SDR Implementation of Convolutional Encoder and Viterbi Decoder

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

VA08V Multi State Viterbi Decoder. Small World Communications. VA08V Features. Introduction. Signal Descriptions

ISSCC 2006 / SESSION 14 / BASEBAND AND CHANNEL PROCESSING / 14.6

THIRD generation telephones require a lot of processing

A 2.5 mw - 10 Mbps, Low Area MAP Decoder

THE USE OF forward error correction (FEC) in optical networks

BER Performance Comparison of HOVA and SOVA in AWGN Channel

IC Design of a New Decision Device for Analog Viterbi Decoder

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

EFFECT OF THE INTERLEAVER TYPES ON THE PERFORMANCE OF THE PARALLEL CONCATENATION CONVOLUTIONAL CODES

Analysis of Various Puncturing Patterns and Code Rates: Turbo Code

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Design of Fault Coverage Test Pattern Generator Using LFSR

TERRESTRIAL broadcasting of digital television (DTV)

Design of Polar List Decoder using 2-Bit SC Decoding Algorithm V Priya 1 M Parimaladevi 2

PCD04C CCSDS Turbo and Viterbi Decoder. Small World Communications. PCD04C Features. Introduction. 5 January 2018 (Version 1.57) Product Specification

(12) United States Patent (10) Patent No.: US 6,810,502 B2

Using Embedded Dynamic Random Access Memory to Reduce Energy Consumption of Magnetic Recording Read Channel

Implementation and performance analysis of convolution error correcting codes with code rate=1/2.

VLSI System Testing. BIST Motivation

WYNER-ZIV VIDEO CODING WITH LOW ENCODER COMPLEXITY

Clocking Spring /18/05

RX40_V1_0 Measurement Report F.Faccio

FPGA Implementaion of Soft Decision Viterbi Decoder

Exploiting A New Turbo Decoder Technique For High Performance LTE In Wireless Communication

SPACOMM 2013 : The Fifth International Conference on Advances in Satellite and Space Communications. Standard

Optimization of Multi-Channel BCH. Error Decoding for Common Cases. Russell Dill

DATUM SYSTEMS Appendix A

Commsonic. (Tail-biting) Viterbi Decoder CMS0008. Contact information. Advanced Tail-Biting Architecture yields high coding gain and low delay.

INTERNATIONAL TELECOMMUNICATION UNION

VLSI Chip Design Project TSEK06

EFFECT OF CODE RATE VARIATION ON PERFORMANCE OFOPTICAL CONVOLUTIONALLY CODED IDMA USING RANDOM AND TREE INTERLEAVERS

Frame Synchronization in Digital Communication Systems

Viterbi Decoder User Guide

FPGA Implementation of Convolutional Encoder and Adaptive Viterbi Decoder B. SWETHA REDDY 1, K. SRINIVAS 2

CONVOLUTIONAL CODING

Operating Bio-Implantable Devices in Ultra-Low Power Error Correction Circuits: using optimized ACS Viterbi decoder

OFDM-Based Turbo-Coded Hierarchical and Non-Hierarchical Terrestrial Mobile Digital Video Broadcasting

COM-7003SOFT Turbo code encoder/decoder VHDL source code overview / IP core

Quiz #4 Thursday, April 25, 2002, 5:30-6:45 PM

A Discrete Time Markov Chain Model for High Throughput Bidirectional Fano Decoders

On Turbo Code Decoder Performance in Optical-Fiber Communication Systems With Dominating ASE Noise

An Efficient Low Bit-Rate Video-Coding Algorithm Focusing on Moving Regions

Hardware Modeling of Binary Coded Decimal Adder in Field Programmable Gate Array

Scan. This is a sample of the first 15 pages of the Scan chapter.

Understanding ATSC Mobile DTV Physical Layer Whitepaper

Experiment 7: Bit Error Rate (BER) Measurement in the Noisy Channel

ALONG with the progressive device scaling, semiconductor

Turbo Decoding for Partial Response Channels

Microprocessor Design

TRELLIS decoding is pervasive in digital communication. Parallel High-Throughput Limited Search Trellis Decoder VLSI Design

Transcription:

TURBO4 : A HCGE BT-RATE CHP FOR TUREO CODE ENCODNG AND DECODNG Michel J.Mquel*, Pierre P&nard** 1. Abstract Thrs paper deals with an experimental C developed for encoding and decoding turbo codes. The chip includes an encoder and a decoding module which pcrforms one iteration of the decoding process. All rhe necessary interleaving memories and delay-lines are included in the circuit. The encoder is made up of a parallel concatenation of 2 convolutional encoders (constraint lengrh = 5) separated by an interleaver (64 x 32 matrix). The decoder uses the SOVA technique and a dedicated module achieves the synchronization task as well as a supervision function. Very high level performances can be achicved in 5 iterations : with a QPSK modulation, a BER of 258 is obtained with EbNo = 2 db. The turbo 4 chip can work in continuous mode up to 54 Mbitsk useful data throughput and is well suited for dara flow applications snch as vidco broadcasting. The C is designed in a 0.25 pm CMOS techoiogy and its core size is less than 8 mm'. 2. ntroduction Turbo codes are a new family of error correcting codes introduced by C. Berrou and d [1,2J. The coding operation is based on a parallel concatenation of recursive and systematic convolutiond codes. The decoding process is iterative and the performance of a decoder is a function of the number of iterations. A codec based on this principle provides performmces which are very close to the theoretical channel limit. 3. Chip description The circuit may be used either as an encoder or as a decoding module and except for the U 0 pads, the encoder does not share any hardware with the decoder. n order to reach a high bit rate throughput, the hardware of one chip performs only one iteration of the decoding process. The chip has been designed and packaged in order to facilitate the cascading of several chips according to the required number of iterations. 3.1 The encoder (Figure 1) Two dentical Recursive Systematic Coders with a 4-bit length memory are used to build the encoder, Their polynomials are 23,35. The incoming data is fed to a first encoder which produces redundancy Yl while the second encoder receives interleaved data and produces redundancy Y2. The overall basic rate is 113 but it can be increased by puncturing the output sequence. f a 112 codmg rate is targeted, a built-in puncturing function provides the composite redundancy Y folowing the sequence : Y2 Yl Y1 Y1. One of the main issues of a turbo code decoder is the synchronization of its interleaveddeintedeavers and, for this purpose, a 64-bit word may be inserted on X or Y1 as follows : Representing the data in the way they are writen in the interleaving memory (a ma~x of 64 rows by 32 columns), each bit of range i of the synchronization word is combined with the last bit of row i. 3.2 The decoder (Figure 2) The decoder is made up of 2 Soft Output Viterbi Algorithm decoders (SOVAl and SOVA2), interleaving and de-interleaving modules, the necessary delay lines, and a synchronization block * ENST de retape, Technop8le Brest roise, BP 832, 29285, Brest Cedex France. ** CCET, 4 rue du dos Cornel, BP $9,35512 CESON-SEVGNE Cedex Fmnce. Email : michel.jez~uel@enst-bremgne.fr Emait : F ~ ~ ~. p ~ n ~ d ~ C n e ~. ~ ~ ~ l ~ ~ r n. ~ 4/1 @ 1999 The nmion of Electrical Engineers. Printed and published by the EE, Savoy Place, Lundan WG2R OBL, 1.

(SYNCHSUP) which also features supervision functions. Many programming capabilities have been implemented to adjust the results of the decoding process particularly in cascading applications. ncoming data X, Y1, Y2, Z are coded on 4 bits in 2 s complement mode; Z is the extrinsic information. The circuit provides the following outputs : properly delayed and ordered : XO, Y 10, Y20 and computed 20. hard decisions of the SOVAs : XlQ, X20. quality measurement of the decoding operation OR 3 bits (Q). synchronization information. The data flow aong the chip is the following : as a first step, SOVAl works on redundancy Y1 with the noisy data X added to 2. Switching and inverting/delaying capabilities have been inserted before the SOVAl in order to cope with the various ambiguities caused by the different modulations used to broadcast the signal. This first stage is automatically positioned by the synchronisation module. Then the SOVA2 processes Y2 and the interleaved output of SOVAl from which incoming Z has been subtracted. Finally, the X input of SOVA2, is subtracted from its output and, after de-interleaving, the extrinsic information 20 may be used by the subsequent module as input 2. 33 The SOVA block (Figure 3) The proposed architecture in order to build a Viterbi decoder providing weighted decisions is based on the SOVA principle (Soft Output Viterbi Algorithm proposed by J. Hagenauer [3]), t has been chosen for its low complexity and its area saving properties for an implementation on silicon [4]. Furthermore, it can work at a high clock rate. The a posteriori weighting algorithm is executed in 2 steps : first, a regular Viterbi decoder provides the maximum likelihood path; the survivors are updated in a 33-stage Register Exchange trellis. in a second trellis, 2 paths are retrieved : one is the following of the likeliest path back 25 more stages; the other one, reaching the same state is the likeliest discarded path ( concurrent path ). The weighting mechanism : From the properly delayed input symbols, transition metrics and path rnetrics are computed a second time. n order to get the weight W,(k) of a node m, its 2 accumulated metrics are substracted and the absdute value of the result is applied to the input of the revision register. Under the control of the revision logic, values are shifted in the register in the following way : (k is the time, L and L are respectively the length of the first and of the second Register Exchange). At a level j, Wj(k) being the content of the register, if the binary decision yielded by the maximum likelihood path (sj(kk)) and the one yielded by the concurreny path (s j(k)) are different, and if Wj(k) > W,(k) then Wj(k) is replaced by W,(k) and this value is shifted in the register. The final weighted decision of the decoder is given by sl+lfk) for the sign and by WbL,(k) for the absolute value. n order to reduce weighting error effects especially when several modules are cascaded, a clamping function is applied to the last 4 stages of the revision register. 3.4 nterleaving and de-interleaving These dud stages are necessary to present the noisy data in the right order at the input of each SQVA. The interleaver s memory size is 2K words and the addressing sequence has the following properties ; non-uniform interleaving, regular patterns are rejected and as the memory is split into 2 pages of 1K words, writdread operations are alternatively made at different addresses in different pages. 412

3.5 Synchron~ation/supervision To get the circuit to work properly, interleaving and &-interleaving blocks must be synchronized. Synchronisation information can be externally provided to the chip on pin SYNCN or automatically recovered by the circuit, Princide : starting from an arbitrary position, each bit of the supposed synchronization word is punctured at the input of the SOVAl; at the output of this block, the recovered bits are analyzed through a correlator comparing the received word to the reference one. f they are different, the searching position is shifted by one bit and a new supposed word is collected again. When enough bits are recognized, the circuit: is declared "synchronized, interleaving and de-interleaving address generators are initidized and the supervision function is set. The supervision function (ie : tracking function) is completely different from the synchronization one and does not refer to the synchronization word. The so-called pseudo-syndrome technique [4] consists in analyzing each couple of data (X,Y) at the input of the $OVA2 and evaluating whether it belongs to the code sequence or not. Counting the wrong couples of data (the syndromes), the quality of the decoded signal is evaluated; if it is below a given threshold, the Loss Of Synch signal is activated and a new synchronization process is started. 4. Performances This section presents results of tests performed on the circuit. Figure 4 shows the results for a Gaussian channel. The global coding rate is 112 and up to 5 iterations are performed. n figure 5 we dso have a Gaussian channel and the coding rate is 2/3. The dotted curve represents the 1/2 rate in 5 iterations. n these 2 figures a A attening of the curves can be noticed for the low bit rates. This degradation is due to the data-path width inside the chrp which uses only 4 bits. 5. Chip characteristics This circuit performs one iteration of the decoding process and the required number o iterations is simply done by cascachng the right number of chips. t contains about 600.000 transistors including 46 kbit of static memory, and the die size (including the pads) is ess than 9 mmz in 0.25 pm, 5 metal CMOS technology (Figure 6); it does not include any dynamic device and can work from a very low frequency domain up to 54 MHz. 6. Conclusion The very efficient coding gain of the turbo codes was verified on the turbo4 chip. Present work is ongoing in 2 domains : the integration of 4 turbo4 modules in the same circuit and the design of a multi-purpose chip performing the turbo code decoding algorithm in black, mode with various sizes, and with an adjustable number of iterations. 7. References [l] C. Berrou, A. Glavieux and P. Thitimajshima, "Near Shannon limit error-correcting coding and decoding: turbo codes", CCP3, Geneva. [Z] C. Berrou and A. Glavieux, "Near optimum error correcting coding and decoding : turbo codes", DXE Transactions on communications, va1.44, nrl0, pp 1261-1271. [31 5. Hagenauer ad P. Hoeher, "A Viterbi algorithm with soft-decisions outputs and its applications", Proc. leee GlbccomB9, Dallas, Texas, nov. 89, pp 47.1.1-47.1.7. [4] C. Berrou, P. Adde, E. Angui,, and S. Faudeil, "A low complexity soft output Viterbi decoder architechhe", CC93, Geneva, May 1993. [5] C. Berrou and C. Douillard, "Pseudo-syndrom method for supervising Viterbi decoders at any coding rate", Electron. Letters, vok. 30, no 13 pp 1036-1037, lune 1994.

X - 1 Figure 1 : the encoder X z- - + 1 nput symbols 74meha Add J,X20 + SOVA 1 + SOVA2 w - Y Transition Compare Select Deay f + ncer- -* * + leaver - /+ 1 4 Delay Figure 2 : the decoder U Delay Line (L) Subtract De-interleaver TREJLS ; rill'-------- trace-back logic (x2) 1 20 Sign + Figure 3 : the SOVA block 414

B it En0........ jl............ j...... 0 2 3Eb/No (db 1 d, 2.- #S... r,...!...,.., #5L 5...!.<.... 0 2... \... : Figure 4 : Rate = 1/2 Figure 6 : microphotograph of the chip 415