Joeressen94term

2
X k d k RSC-Coder 1 Y 1k Interleaver Y 2k Y k Z 1 ν -1 Z 1 ν -2 Z 0 g 11 g 12 RSC-Coder 2 Z 1 ν + -1 Z g 21 g 22 1 ν 2 ν

description

VIterbi

Transcript of Joeressen94term

Page 1: Joeressen94term

ELECTRONICS LETTERS

�th August ����� Vol� ��� No� ���pp� ������

Terminating the trellis of turbo�codes

O� Joeressen and H� Meyr

Indexing terms� Convolutional codes� Trellis

codes

A method for terminating the trellis of thenovel class of parallel concatenated recursiveconvolutional codes� termed turbo�codes� ispresented�

Introduction� The recently introduced novel class of paral�lel concatenated recursive systematic convolutional codes�RSCs� � termed turbo�codes� has attracted broad atten�tion since turbo�codes provide unprecedented error cor�rection capabilities ���� A turbo�coder consists of two re�cursive convolutional coders with memory �� and �� re�spectively� The �rst coder receives the information bitsequence directly while the second receives the sequencevia an interleaver �see Fig� ���

X kdk

RSC-Coder 1

Y 1k

Interleaver

Y 2k

Y k

Z1

ν -1 Z1

ν -2 Z0

g11

g12

RSC-Coder 2

Z1

ν + -1 Z

g21

g22

Figure �� Basic turbo�coder

It is important to note that the coder produces� due to itsrecursiveness� a codeword with in�nite weight if a singlenonzero bit is contained in the information sequence �com�pared to the all�zero codeword�� Codewords with �niteweight contain at least two nonzero bits in the informationsequence� The role of the interleaver in the turbo�coder isto spread the information bits in a way that error eventsassociated with a small distance in one code lead an errorevent in the other code with a very large distance� It hasthus been pointed out that the design of the interleaver

plays a central role for turbo�code design �� and dierentapproaches to the design of the interleaver have been pro�posed ������

The decoding of turbo�codes is done with an iterativescheme which requires soft output decoding of the under�lying RSCs� This is performed for example with a mo�di�cation of the algorithm proposed in � � which requiresknown encoder states at the beginning and end of a datablock� i�e� a terminated trellis� Furthermore� trellis ter�mination is important if short transmission frames are tobe transmitted as investigated in ���� The trellis termina�tion is simple for a single RSC� since we simply need tochoose a number of trailing information bits according tothe state observed before termination� However� termina�ting the trellis of turbo�codes is not as straightforward� asthe information bit sequence which terminates the �rst co�der aects the sequence required to terminate the secondone and vice versa� This problem was pointed out �rstin ���� In fact the simulation results in ����� were simu�lated either with only one of both trellises terminated orwith transmission of the all�zero codeword� It was conjec�tured that the trellis of turbo�codes cannot be terminated�

Trellis termination� We write the state of the turbo�coderas a vector of �� � �� state bits Z � �Z�������� � � � � Z���Remember that every single nonzero bit �a one� causesa periodic in�nite state transition sequence in the coderof an RSC� Furthermore the coders are linear� We canthus describe the complete state transition sequence as thesuperposition of the state transition sequences �adding thestate�bits Zi over GF��� which belong to the codewordscontaining only a single one� We write the state of theturbo�coder in cycle N � which results from setting the k�th bit of the information sequence to one� as Z�N�k�� Thusthe state at the end of a block of N bits can be written as

Z �N��X

i��

diZ�N�i�

where di is the i�th information bit� It becomesclear that we can terminate the trellis of the turbo�code with any set of �� � �� bits in positions P �fp�� � � � � p�������g provided that the associated state vec�

tors fZ�N�p��� � � � �Z�N�p��������g are linearly independent�

ie they need to form a set of base vectors in the state spaceof the turbo�coder� Please note that the termination of thetrellis using the last ����� bits of a frame is possible onlyif the above stated condition holds� It is likely that thetermination bits need to be spread over the whole framefor most turbo�coders� The existence of such a set of bitpositions P depends on the chosen interleaver as well ason the feedback polynomials of the RSC�coders �g��� g����However� we have not found simple examples for whichtrellis termination is impossible�

Encoder implementation� Trellis termination requires the

Page 2: Joeressen94term

superposition of two codewords� because the value of thetermination bits depend on the state at coding step N

caused by the actual information bits� Thus we actuallyneed to encode the input data twice� Mere insertion of thetermination bits into the data stream� after coding the in�formation sequence with the termination bits set to zero�does not su�ce� because the sequence of redundant infor�mation bits �Yk� diers beginning with the encoding stepwhen the �rst nonzero termination bit arrives at one ofthe embedded RSC�coders� In a �rst run the terminationbits are set to zero to determine the state of the encoderat the end of the block and to determine the required ter�mination bits� In a second run the coder is fed with thedata and the determined termination bits to compute thecoded data stream� Because the coder is linear� the actualvector of termination bits may be computed easily as thesuperposition of termination bit vectors which results ina turbo�coder state with only a single state bit Zi set toone�

Conclusion� It has been shown that trellis termination ispossible for turbo�codes� In contrast to the termination ofconvolutional codes the termination is not generally fea�sible using a certain number of trailing bits of the dataframe� It is necessary to determine positions in the dataframe which allow the termination of the trellis if �lledwith appropriate termination data later on� We also havepointed out which properties a given set of positions in adata frame needs to ful�ll to facilitate trellis termination�and that a data frame needs to be encoded twice if trellistermination is required�

Acknowledgment� The authors would like to thank Bj�ornBehrens for many fruitful discussions�

References

��� C� Berrou� A� Glavieux� and P� Thitimajshima� �NearShannon Limit Error�Correcting Coding and Deco�ding� TURBO�Codes�� in Proceedings of the IEEE In�

ternational Conference on Communications� �Geneva�Switzerland�� pp� ���������� IEEE� May �����

�� C� Berrou and A� Glavieux� �Turbo�codes� generalprinciples and applications�� in Proceedings of the ��th

Tirrenia WS on Digital Communications� �����

��� P� Robertson� �Improving decoder and code struvtureof parallel concatenated systematic �Turbo� codes�� inInternational Conference on Universal Personal Com�

munications� ����� �accepted��

��� P� Jung and M� Na�han� �Dependence of the errorperformance of turbo codes on the interleaver struc�ture in short frame transmission systems�� Electronics

Letters� vol� ��� pp� ������ February �����

� � L� Bahl� J� Cocke� F� Jelinek� and J� Raviv� �Opti�mal decoding of linear codes for minimizing symbol er�ror rate�� IEEE Transactions on Information Theory�vol� IT��� pp� ������ March �����

��� P� Jung and M� Na�han� �Performance evaluation ofturbo codes for short frame transmission systems�� El�ectronics Letters� vol� ��� pp� �������� January �����