digital signal processing for communication systems ||

343

Click here to load reader

Upload: bahram

Post on 27-Jan-2017

288 views

Category:

Documents


16 download

TRANSCRIPT

  • DIGITAL SIGNAL PROCESSING FOR COMMUNICATION SYSTEMS

  • DIGITAL SIGNAL PROCESSING FOR COMMUNICATION SYSTEMS

    edited by

    Tadeusz Wysocki Edith Cowan University and

    A ustralian Telecommunications Research Institute

    Hashem Razavi Curtin University o/Technology

    Bahram Honary Lancaster University

    SPRINGER SCIENCE+BUSINESS MEDIA, LLC

  • Library of Congress Cataloging-in-Publication Data

    Digital signal processing for communication systems / edited by Tadeusz Wysocki, Hashem Razavi, Bahram Honary.

    p. cm. -- (Kluwer international series in engineering and computer science; SECS 403)

    Selected revised papers from the Fourth UK/Australian International Symposium on DSP for Communication Systems, held in Joondalup, Perth, Western Australia, Sept. 23-27, 1996.

    Includes bibliographical references and index. ISBN 0-7923-9932-3 (alk. paper)

    ISBN 978-1-4613-7804-4 ISBN 978-1-4615-6119-4 (eBook) DOI 10.1007/978-1-4615-6119-4

    1. Signal processing--Digital techniques. 2. Digital communications. I. Wysocki, Tadeusz. II. Razavi, Hashem. III. Honary, Bahram. IV. UK/Australian International Symposium on DSP for Communication Systems (4th: 1996: Perth, W.A.) V. Series. TK5102.9.D533 1997 621.3 82 ' 2--dc21 97 -15446

    Copyright Springer Science+Business Media New York 1997 Originally published by Kluwer Academic Publishers 1997 Softcover reprint of the hardcover 1st edition 1997

    CIP

    All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanical, photo-copying, recording, or otherwise, without the prior written permission of the publisher, Springer Science+Business Media New York 1997

    Printed on acid-free paper.

  • CONTENTS

    PREFACE ............................................................................................................... ix

    Part I MODULATION AND CODING

    1. Levinson-Durbin algorithms used for fast BCH decoding

    M. Schmidt, G. P. Fettweis............................................................ ................. 3

    2. On the MAP algorithm, iterative decoding and turbo codes

    L. Zhang ......................................................................................................... 9

    3. A turbo-coded, low-rate HF radio modem

    L. Zhang, W. Zhang, J. T. Ball, M. C. Gill .................................................. 19

    4. Evaluation of the undetected error probability interleaved block codes

    H. J. Zepemick ............................................................................................. 27

    5. Effective trellis decoding techniques for block codes

    L. E. Aguado Bayon, P. G. Farrell ............................................................... 37

    6. On header forward error control in ATM systems

    A. Rieke, H. J. Zepemick ............................................................................ 45

    7. An alternative multi stage sigma-delta modulator circuit suitable for pulse stuff'mg synchronizers

    S. S. Abeysekera ...................................................................... .................... 55

    8. Digital pulse interval modulation: Spectral behaviour

    D. E. Kaluarachchi, Z. Ghassemlooy ...................................... ............ ........ 65

    9. Block multidimensional MPSK modulation codes with unequal error protection

    C.S.C.M. de Jesus, J.Portugheis .................................................................. 73

    10. A frame synchronisation scheme for Turbo Codes

    W. Zhang, L. Zhang, J. Ball, M. Gill ........................................................... 81

  • vi

    Part II CHANNEL CHARACTERISATION AND SIGNAL DETECTION

    11. Radio channel measurement using a novel hybrid simulation approach

    R. Weber ...................................................................................................... 93

    12. A study of VHF troposcatter communication channels in South Australia

    W. Zhang, J. A. Hackworth, W. R. Schoff .... ..... ....... ..... ..... ....... ..... ..... ...... 103

    13. Implementation of a digital frequency selective fading simulator

    X. F. Chen, K. S. Chung ............................................................................ 113

    14. Measurements of noise in the 2.3 - 2.5 GHz band

    T. Walker, T. Wysocki, 1. Hislop ................................................................ 121

    15. On the development of a real time wide band channel simulator for LEO satellite channels

    M. Tykesson, L. Sabel, R. Wozniak, T. Zierch, D. Tran, P. Koufalas .... ... 131

    16. Portable channel characterisation sounder

    M. Mossammaparast, N. Afifi, K. S. Chung ............................................. 141

    17. A flexible DSP-based system for propagation path characterisation

    M. Darnell, P. D. 1. Clark, A. Barlett & P. W. Piggin ................................ 147

    18. Non-stationary, narrowband Gaussian signal discrimination in time-fre-quency space

    G. Roberts, A. Zoubir, B. Boashash .......................................................... 159

    19. A new delay Root-Nyquist filter design method for signals corrupted by ACI

    L. P. Sabel, T. I. Laakso, V. Rose, A. Yardim, G. D. Cain ......................... 167

    20. Adaptive CFAR tests for detection of a signal in noise and deflection crite-rion

    N.A. Nechval ...... ..... ......... ............................................................. ..... ....... 177

    21. Adaptive signal equalisation for frequency discriminator output signal in a mobile channel

    B. Rohani, K. S. Chung ............................................................................. 187

    22. Combination of a Viterbi decoder with an adaptive neural equaliser over a Rician fading channel

    I. Soto, R. A. Carrasco ............................................................................... 195

  • vii

    23. Tracking behaviour of lattice filters for linear and quadratic FM signals

    M. H. Kahaei, A. Zoubir, B. Boashash, M. Deriche .................................. 207

    Part In SYSTEM DESIGN AND IMPLEMENTATIONS

    24. Regularisation procedures for iterated recursive digital filters

    B. 1. Phillips, N. Burgess, K. V. Lever ....................................................... 217

    25. On a design of FIR digital filters with equiripple error function

    F.Wysocka-Schillak, T.Wysocki ................................................................ 225

    26. Establishment of wide sense digital filter for wind noise cancellation in a low frequency sound measurement

    S. Miyata, M. Ohta .................................................................................... 231

    27. A detailed analysis of phase locked loops used in clock jitter reduction

    S. S. Abeysekera, A. Cantoni ..................................................................... 243

    28. A novel synchronisation scheme for Spred Spectrum communications

    D. E. Gossink, S. Cook .............................................................................. 255

    29. Reed-Solomon code (255,247,4) decoder with TMS320C30

    S. Le-Ngoc, Ying Ye .................................................................................. 263

    30. An optimised implementation of Reed-Solomon FEC on the PC

    M. 1. Riley, I. E. G. Richardson ............ ........ .......... ..................... .............. 271

    31. Development and implementation of robust and spectrally efficient medium data rate modems Part 1: Architectures

    A. Guidi, G. Bolding, W. G. Cowley ......................................................... 279

    32. Development and implementation of robust and spectrally-efficient medium data rate modems Part 2: Synchronisation algorithms

    W. G. Cowley, A. M. Guidi, G. Bolding .................................................... 289

    33. Avoiding phase accumulator truncation in a direct digital frequency syn-thesizer

    R. Wozniak, L. Sabel..... ....... ............ ................. .......... ................. ............. 297

    34. High performance DSP implementation with FPGA

    S. Nooshabadi, J. Montiel-Nelson ............................................................. 307

  • viii

    35. A DSP based diversity modem for FDMA and TDMA mobile satellite applications

    M.Rice, J.Wojtiuk ...................................................................................... 319

    36. Scare-state-transition Viterbi decoding of punctured convolutional codes for VLSI implementation

    L.H.C. Lee, P.G. Farrell ...................... ....... ... .............. ... ........................ .... 327

    INDEX ................................................................................................................... 335

  • PREFACE

    This book contains selected and revised papers from the Fourth UK/Australian Inter-national Symposium on DSP for Communication Systems which was held at Joonda-lup Resort Hotel, Joondalup, Perth, Western Australia from 23rd to 27th of September 1996. The revisions have been done by the authors after the Symposium to include the latest results and address the main issues raised during the question time.

    The Symposium was planned by a group of academics and professionals from both Australia and the UK to examine the plans for the future and the progress that has already been made in the field of DSP and their application to communication systems.

    A major objective of the Symposium was to pursue the progression from commu-nication and information theory through to the implementation, evaluation and per-formance enhancing of practical communication systems using DSP technology. This was achieved by bringing together researchers and developers from many different backgrounds to share their experience in this important field of technology.

    The papers are presented in the following format:

    Part I deals with various types of coding and modulation techniques with the first six papers describing different applications of Turbo-Codes, BCH codes and gen-eral block codes. The next three papers are devoted to pulse modulations and combined modulation and coding in order to improve the overall system perform-ance, while the last one addresses the issue of frame synchronisation for Turbo-Codes.

    Part II groups papers dealing with DSP applications in measurements performed for channel characterisation, papers where the use of DSP for design of effective channel simulators is described, and finally includes eight papers concerned with equalization and detection of various signal formats for different channels.

    Part III groups together papers concerning several system design issues where digital signal processing is involved. It also contains papers reporting on the suc-cessful implementation of the system components using DSP technology or on the problems involved with implementation of some DSP algorithms.

  • x

    The editors are most grateful to all the authors for their contributions to the Sym-posium and their hard work in preparing and revising the papers presented in this vol-ume.

    We wish to acknowledge here the financial and logistic support the Symposium received from the following institutions:

    Cooperative Research Centre for Broadband Telecommunications and Network-ing, Perth, Western Australia,

    Edith Cowan University, Perth, Western Australia,

    Curtin University of Technology, Perth, Western Australia,

    Defence Science and Technology Organisation, Salisbury, South Australia,

    Western Australian Chapter of IEEE Communications Society.

    Special thanks are also directed to Mrs. Beata J. Wysocki and Dr. Hans-Jiirgen Zepernick for their vital support in the preparation of this volume.

    Tadeusz Wysocki, Hashem Razavi

  • Part I

    MODULATION AND CODING

  • 1 LEVINSON-DURBIN ALGORITHM USED

    FOR FAST BCH DECODING

    Michael Schmidt and Gerhard P. Fettweis

    Dresden University of Technology Department of Electrical Engineering

    Communications Labomtory Endowed Chair for Mobile Communications Systems

    1. INTRODUCTION

    BCH codes are a subclass of cyclic codes in which the generator polynomials of the codes have as roots 2t consecutive powers of an element O! of order n. Let c be a code word of the (n, k)-BCH code of length n with minimum distance of dmin = 2t + 1 = n - k + 1, hence, the capability of error correction is t. The vector e is the additive error vector of length n which produces the erroneous received word r = c + e.

    The conventional way to retrieve c from r is the following:

    1. Evaluation of the Syndromes:

    i = 0, 1, ... , 2t - 1.

    The complexity of this step is 2t(n - 1), using the well-known Ruffini-Horner method.

    2. Determination of the Error-Locator Polynomial: Suppose I ~ t errors oc-curred at locations it, h, ... ,it- Then the polynomial

    I

    A(x) = II (1 - XiX) with Xi = ali i=l

  • Michael Schmidt and Gerhard P. Fettweis

    determines the error locations, i.e. A(a- j ) = 0 :} ej "I- o. Assuming Ao = 1, it can be shown that A(x) is the solution of

    I

    Sj = - L AiSj - i , j = 1,1 + 1, ... ,2t - 1, (1) i=1

    where both I and Ai are the unknown components and 1 is minimal [2]. The philosophy of the Berlekamp-Massey algorithm is to synthesize a linear feed back shift register of minimum length 1, such that the sequence of syndromes can be generated. This requires approximately C I' = 4t2 + 2tl + lOt + e (multiplicative) steps [5J. The Berlekamp-Massey algorithm is very elegant and can be implemented efficiently.

    3. Determination of Error Values: The actual error values ei can be com-puted as follows:

    ei = {_f,\:~i!) : A(a-~) = 0 o : A(a-t) "I- 0

    where N{x) is the formal derivation of A(x). The error-evaluator poly-nomial r(x) is given by the relation

    r(x) = A(x)S(x) mod x2t.

    There are completely different ways of BCH decoding. In particular, for the decoding of Reed-Solomon codes the introduction of the Welch-Berlekamp key equations may be advantageous, since they do not involve the computation of syndromes. However, re-encoding is required then, which seems to be of the same computational load as the syndrome computation. The main problem of BCH decoding is often focused on the computation of A(x) (and/or r(x)), although the computational complexity of the syndromes is much higher. In this paper, a different algorithm for the evaluation of A(x) which is based on fast inversion techniques for Hankel matrices is introduced.

    2. FAST INVERSION OF HANKEL MATRICES WITH SINGULAR SECTIONS

    The concept behind the algorithm is straightforward. With v = 1, equation 1 can be written as:

    [

    So S1

    S~~, :: Sv-1 1 [ Av 1 [SV 1 Sv Av- 1 Sv+l S2~-2 L = - S2~-1 . (2)

    ~'--------Vy--------~' Zv(S)

  • Digital Signal Processing for Communication Systems 5

    Assume I I [2]. Hence, there is a unique solution for the coefficients of A(x) and they can be obtained by inverting Zl(S), This was used by the Peterson-Gorenstein-Zierler BCH decoder [2]. They tested the nonsingularity of Zv(S), beginning from v = t and decrementing v. However, the computational complexity for general matrix inversion techniques is still O(v3 ). This makes the method of Peterson, Gorenstein and Zierler not appli-cable for large l.

    Equation 2 looks familiar with problems arising from auto-regressive models [3]. Fast algorithms (Levinson-Durbin-type algorithms) with complexity O(v2) are known, which exploit the Toeplitz structure and the positive definiteness of such matrices. Hankel matrices can be inverted with similar algorithms, since Hankel and Toeplitz matrices are simply related by column permutation. How-ever, in the case of Hankel matrices, as given in 2, positive definiteness cannot be assumed and therefore such matrices may not be strongly regular. This means that some of the leading principal submatrices may be singular. Thus, the inversion technique must apply to Hankel matrices with singular principal sections.

    Such algorithms have been studied by Heinig and Rost [4] and also by Zarowski [6], who corrected several typographical errors in [4]. A short outline for Hankel matrices is given here.

    Let b = [bo b1 . . . b2t f and H t (b) be the txt Hankel matrix

    Let Xv = [Xo Xl XV-l f and ev-l = [0 0 ... 0 1 f be vectors of dimension v. In order to find the inverse of Ht(b), the fundamental solutions

    h def [ ]T hv, v = bv ... b2v- l (3)

    (4)

    are recursively computed, beginning from v = 1 to t. Heinig and Rost consider two cases:

    The Regular Case: Suppose Hv(b) isnonsingular. Letcv=[bv ... b2v] [w~ -If. Then HvH (b) is nonsingular, if and only if Cv "I O. In this case the solutions for W vH and YvH are given by:

    YvH = c1v [w~ _l]T (5)

  • 6 Michael Schmidt and Gerhard P. Fettweis

    where flv = .1.. [ bV+1 ev

    The Singular Case: Here, Hv (b) is supposed to be nonsingular but Hv+1 (b) is singular, that is cv = O. First, one has to find the number m with

    Then for n = m + v, Hn+ 1 (b) is nonsingular. The index m is characteristic for the singular gap between Hv (b) and Hn+1 (b). The solutions for w n+1 and Yn+1 can be obtained as follows. Let I~,n = [8i ,Hd with i = 0, ... , m - 1 and j = 0, ... , n - 1. Let uv = I~,v' Using the identity [4]

    where h(b, {) = [bv . . . b2v- 2 {] and { is arbitrary, it can be shown that the solution of

    H (b)wm+l - hm+1 ~f [b b]T v v - v - v+m+ 1 . 2v+m

    is given by the following recursion:

    w~+l = uvw~ + PkYv + "IkWv k = 0,1, . .. ,m, (8)

    with Pk = b2v+k-h~w~, "Ik = e~_lw~ and w~ = WV' Having evaluated W~+l, the fundamental solution for H n+1(b), vector wn+1 is given by:

    m

    _ 10 m+l +" I m- i [T _l]T. Wn+l - n+l,vw v ~ 'Yi n+l,v+l Wv (9) i=O

    Values 'Yi must satisfy:

    o n [I] [ bn+V+1] [[ bv . .. b2v- 1 ]w~+1 ] bn+V+2 [ bV+1 . . . b2v ]w~+1 = .. b2n+1 [bn bn+v-l ]w~+1

    (10) The solution for Y n+1 is obviously given by

    _ 1 10 [T -1 ]T. Yn+1 - - n+l,v+l Wv am

    (11)

  • Digital Signal Processing for Communication Systems 7

    3. ERROR-LOCATOR POLYNOMIAL EVALUATION

    LEMMA. Let S = [So S1 ... Sut be the vector of syndromes of r(x), where S2t is arbitrary. Let wo, Yo be vectors of dimension 0 and let co = So. Apply recursions 5, ... ,11 to Wv and Yv for v = 0, ... , t - 1. Then, with I the first v such that c/ = 0 and m ~ t - I, the cOOT'dinates of w/ = [wo W1 . . . Wl-l t correspond to the coefficients of the error-locator poly-nomial A(x) = 1 + A1x + ... + A/x', that is Wi = A,- i for i = 0, ... , 1- 1.

    PROOF: Comparing equation 2 with 4, it is straightforward to verify that the l-th fundamental solution WI corresponds already to the desired solution. Thus, explicit inversion of the Hankel matrix HI (S) is not necessary. However, I is not known. Ci = 0 implies that HI+! (S) is singular but there may be a number l = m + I > I such that Hi+! (S) is nonsingular. If m ~ t -I then no such l exists, since Hv(S) is singular for v > t.

    The computational complexity becomes apparent now. The v-th fundamen-tal solution is upperbounded by O(v2 ) steps. This is also true in the singular case, since all matrix-vector products are simple shift operations. With cl = 0, one has to compute m according to equation 7. If H,(S) has maximum rank already, the check m ~ t - I requires about l(t .,.. I) steps. Thus, the total amount of steps is upperbounded by O(lt).

    4. IMPLEMENTATION

    The fact that the computational workload of error-locator polynomial is O(lt) only rather than O(t2 ) as with the Berlekamp-Massey algorithm may have some significant advantages. First, BCH codes are mostly applied in the region of relative safety. Thus, the average number of errors 1 is much less than ~. The decoder may then operate at a throughput rate according to its average run-time. In order to avoid increased error rate, when the decoder occasion-ally cannot keep up with the channel, buffers and punts can be used [1]. The decreased number of fetch and store operations may also lead to a reduced power consumption, assuming an implementation on a Digital Signal Proces-sor (DSP).

    The algorithms from [4] for such Hankel matrices has been designed for the field of complex numbers actually. However, due to several tests for equality to zero this may lead to serious numerical stability problems. Since BCH codes are usually defined in finite fields GF(q), there is no such stability problem at all.

  • 8 Michael Schmidt and Gerhard P. Fettweis

    The algorithm has been implemented in C++. The expected run-time de-pendency on I could be verified. Using a (255,223)-RS code over GF(28 ) and a very low t-rate, the algorithm outperformed the Berlekamp-Massey algorithm by factor 3 ... 5. Simulation results showed, that the occurrence of singular gaps is relative low. It was even more interesting to note that in the case of appearance of such singular gaps, the index m was almost always equal to 1. Thus, the additional computational workload is relative small, when singular gaps occur. However, the program structure in the singular case is more compli-cated and requires more program code than the Berlekamp-Massey algorithm.

    5. CONCLUSIONS

    A Levinson-Durbin-type algorithm for the evaluation of the error-locator poly-nomial has been introduced. It was shown that this algorithm needs O{lt) steps only instead of O{t2 ) steps using the traditional Berlekamp-Massey algorithm. This can be advantageous, when the average number of errors is relative small compared to the maximum number. The algorithm requires more program in-structions than the Berlekamp-Massey algorithm. There are some interesting problems for future research, for instance improved binary BCH decoding, era-sures and one-run GMD for soft-decision Reed-Solomon decoding.

    REFERENCES

    [1] E. Berlekampj Bounded Distance+l Soft Decision Reed-Solomon Decoding, Preprint, 1995, Oktober.

    [2] R.E. Blahutj Theory and Practice of Error Control Codes, Addison-Wesley, 1984.

    [3] S. Haykinj Adaptive Filter Theory, Prentice-Hall, 1991.

    [4] G. Heinig and K. Rostj Algebraic Methods for '1beplitz-like Matrices and Operators, Akademie-Verlag Berlin, 1984.

    [5] J. Hong and M. Vetterlij Simple Algorithms for BCH Decoding, IEEE Transactions on Communications, vo1.43, no.8, Aug. 1995, pp.2324-2333.

    [6] Ch. J. Zarowskij Shur Algorithms for Hermitian 'Ibeplitz, and Hankel Matrices with Singular Leading Principal Submatrices, IEEE Transactions on Signal Processing, vo1.39, no.11, Nov. 1991, pp.2464-2480.

  • 2 ON THE MAP ALGORITHM, ITERATIVE

    DECODING AND TURBO CODES

    Lin Zhang

    Communications Signal Processing Discipline, Bldg 27 TSAS Communications Division, Defence Science and Technology Organisation

    DSTO, POBox J 500, Salisbury, South Australia 5 J 08 Email: [email protected]

    1. INTRODUCTION

    Traditional error-control coding research has been focusing. on the construction of good codes with large minimum Hamming distances and/or large minimum squared Euclidean distances. This approach is often guided by some kind of performance bound, which gives the asymptotic error performance of the code over certain com-munication channels. Since performance bounds are valid only at large signal-to-noise ratio (SNR), good codes that are maximum likelihood decodable and perform well at low SNR (close to the theoretical limit) have not been found. Although there have been some very powerful code constructions such as the concatenation of Reed-Solomon codes and large memory convolutional codes that are predicted to give excellent error performance at low SNR, it is currently impractical to implement maximum likelihood soft decision decoders for such codes.

    The recent emergence of turbo codes [1] has opened a whole new way of looking at the problem of error control. A turbo code is constructed from a parallel concatena-tion of recursive systematic convolutional codes separated by interleaver(s). The astonishing error performance of turbo codes (0.7 dB from the theoretical limit as claimed in [1]) is mainly due to the large interleaver(s) and the iterative decoding method that approaches the performance of optimal maximum likelihood decoding. At the core of iterative decoding is the MAP algorithm. This paper will concentrate on the analysis and simple implementation of the MAP algorithm for turbo codes.

    The MAP algorithm was first introduced by Chang and Hancock [2] in 1966 as an efficient detection method to eliminate intersymbol interference in high speed digital communication channels. Independently, the algorithm was re-discovered by Bahl et al. [3] as a method of minimising the symbol error rate in the decoding of linear codes. As an unattractive alternative to the Viterbi algorithm which minimises the sequence error rate, the MAP algorithm did not receive much attention because it is

  • 10 Lin Zhang

    computationally much more complex, and requires much more memory. Further-more, the goal of minimising symbol error rate is asymptotically the same as that of minimising the sequence error rate at large SNR. Recent advances in electronic tech-nology has allowed the soft-decision maximum likelihood decoding of powerful error correcting codes, giving the MAP algorithm the attention it deserves. The major application of the MAP algorithm and its simplified versions (for example, soft out-put Yiterbi algorithm - SOYA) has been in channel detection and decoding concate-nated codes, in order to provide a soft measure of the channel output, such that the succeeding decoder can use soft decision decoding.

    In the original turbo coding paper [1], Berrou et al. introduced a modified Bahl et al. MAP algorithm for the turbo decoder. Unfortunately, the Berrou et al. algorithm is an excessively complicated algorithm which calculates probability constants such as the probability of the received sequence, and associates the input bits with the inter-mediate probability functions that are used in the enumeration of the soft output. Pie-trobon and Barbulescu [4] simplified the Berrou et al. algorithm by avoiding calculating the probability constants in enumerating the intermediate probability functions. The use of trellis information further simplifies the realisation of the MAP algorithm. However, the Pietrobon and Barbulescu algorithm still has the input bits in the enumeration of the intermediate probability functions, therefore doubling the necessary computation and storage requirements. The implementation of the MAP algorithm that we propose in this paper avoids associating the input bits with the intermediate probability functions, and makes use of trellis information as proposed in [4].

    2. THE MAP ALGORITHM

    Consider a simple transmission model with a rate 1/2, memory length u convolu-tional encoder, as depicted in Fig.l. We follow the notation that was used in [3]. At time t, the information bit ut is encoded by a (2,1, u) systematic convolutional encoder. The encoder output comprises ut and a parity check bit. They are BPSK modulated into Xt = (xti' xtp) where x,i and xtp correspond to ut and the parity check bit respectively. The encoding process can be illustrated by a trellis diagram with M distinct states where M = 2u . They are indexed by the integer m, m = 0,1, ... , M - 1. The state of the trellis at time t is denoted by S, and its output by Xt . The state transi-tions of the encoder are governed by the transition probabilities

    p, (mlm') = Pr{S, = mlS,_1 = m'}, 0 ~ mlm'< M, (1)

    and the output by the probabilities

    q,(Xlm',m)= Pr{X, = XIS,_I =m';S, =m},O~m,m'< M,e{-I,+I}. (2)

  • Digital Signal Processing for Communication Systems JJ

    For a given input sequence { ul, ... , Ut' ... , uN}, the encoding process starts in the ini-tial state So = 0, and produces an output sequence x,' = {XI> ... , XI> ... , Xt} ending in the terminal state St = 0, where 't' = N + U.

    Figure 1 A Convolutional Coded Transmission System.

    The input to the noisy channel is X ,r , and the channel output is the sequence ~' = {YI> ... , Yt, ... , Yt } where Yt = (Ytb Ytp)' Xt and Yt are related by Yt = Xt + nt where

    nt comprises two independent zero mean Gaussian variables. The transition probabil-ity of the Gaussian noise channel is given by

    { } _ { } __ 1_ [_ (Y,; -X,;)2 + (Y,p - x'P r 1 Pr Y,IX, - Pr Y,plx,l' - 2 exp 2 2nu 2u (3)

    The objective of the MAP decoder is to decide, based on the received sequence Y,' and the trellis information, the best estimate". of the transmitted information bit

    Ut. Let Pr{ut = 01 ~' } and Pr{ut = 11 Y,' } be the a posteriori probabilities (APP) of the transmitted information bit ut. A logarithm of likelihood ratio (LLR), denoted by A(ut), of the APP can be r1p.finf~r1l1s

    () P r {u, = II Y, ' } A u, = log --i-;"""":,,,-....;......:~-P r {u, = 0 I Y,' } (4)

    such that u, is given by u, = { 10 if A( u, ) < 0

    otherwise.

    (5)

    Examining the trellis diagram (Fig.2, for example), it is obvious that the APP of ut = 1, Pr{ Ut = 11 Y,' }, is the sum of the APP of all the state transitions that are caused by ut = 1, i.e., the solid lined branches in Fig.2. Similarly, Pr{ut = 01 Y,' } is the sum of the APP of the dashed branches.

    The APP of ut can be written as

    Pr{u, = 01 y.'} = L Pr{S,./ = m';8, = ml y.'} (m.mleR!'

    (6) Pr{u, = 11 Y;'} = L Pr{S,./ = m' ;S, = mlY;'}

    (m'.m)e8~

  • 12 Lin Zhang

    where B," is the set of transitions (SI_I = m' ) ~ (SI = m) that are caused by the input information bit Ut = 0, and B,' is the set of transitions (SI_I = m') ~ (SI= m) that are caused by the input information bit Ut = 1.

    19) 2 m 0100 0/00 0/00 0/00 0/00 0

    ~o ~ /10 , / ~0/~1// 0/01/ / 0/01/ /

    .-.. 1/11 1/11 1111

    Figure 2 Trellis Diagram of a (2.1.1) Systematic Convolutional Code.

    Let us define Aim',m) as the joint probability Pr{s,., = m' ;S, = m; y,'} . Since Pr{S,., = m' ;S, = ml y,'} = Pr{S,., = m';S, = m; y,'} / Pr{ Y,' } and Pr{ Y,' } is a constant,

    the LLR in Eq.(4) can be expressed as

    '" A(m'm) A(u,) = log L.J(m',m)EB: ' '" A(m'm) L.J(m'.m)EBO; ,

    (7)

    The decoding problem has now been reduced to calculating the joint probabilities At(m',m). Let us define the intermediate probability functions

    alm} = Pr{s, =m~};

    fl,(m) = Pr{ Y,~/ls, = m};

    y,(m',m) = Pr{S, =m;Y,IS'.1 =m'}.

    If we can calculate these intermediate probabilities, the joint probability At(m',m) can also be obtained from

    A,(m) = a,_I(m').y,(m' ,m)./3,(m).

    According to [3], u/(m) and pt(m) can be recursively obtained by

    with boundary conditions

    M-I

    a,(m) = Ia,(m').y,{m',m); m'=O M-I

    /3,(m) = I/3,+I(m')y,Am',m) m'=O

    ao{O) = ],andau(m) = O,form;t: 0;

    /3,{O) = I,and /3,{m) = 0, form;t: 0;

    (8)

    (9)

    (10)

    The intermediate probability Yt(m',m) is actually the decoding metric for the MAP algorithm. It is given by

  • Digital Signal Processing for Communication Systems J3

    r,(m',m} = LP,(mlm'}.q,(Xlm',m}.Pr{Y,1X, = X} (II)

    where pt(mlm' ), qt(Xlm', m) and Pr{YtIXt } were defined by Eqs.(I), (2) and (3) respectively.

    By utilising the trellis information as in [4], we may summarise the implementa-tion steps of the MAP algorithm as follows:

    STEP 1: Generate trellis: for each trellis state m = 0,1, ... ,M-I and information input i E {O,l}, generate the previous state S;(m) and the next state S;(m), and the code words X;(m) and ~(m) associated with the state transitions. Store them in an array of size 8 M.

    STEP 2: Forward recursion:

    Initialise ao(m), m = 0,1, ... , M-I: ao(O) = 1; and, ao(m) = 0, for m -j:. O.

    For t = 1,2, ... , t and m = 0, 1, ... , M-I, calculate and store at

  • 14 Lin Zhang

    s'J(m) po+.(S;(m)

    Figure 3 Graphical Representation of Forward and Backward Recursions.

    3. ITERA TIVE DECODING

    Consider a turbo coding scheme with a concatenation of two rate 1/2 recursive sys-tematic convolutional codes, separated by a random interleaver. The interleaved information bit sequence for the second encoder is punctured prior to BPSK modula-tion and transmission. The channel adds AWGN noise to the transmitted sequence. The receiver then de-multiplexes its input into three sequences: (I) the noise cor-rupted information bit sequence Yi = {YIi' ... , Yli' ... , Ytd; (II) the noise corrupted par-ity bit sequence of the first convolutional encoder Yp = {YIp' ... , Yip' ... , Ytp}; and (III) the noise corrupted parity bit sequence of the second convolutional encoder Y p = { Y Ip' ... , Y tp ... , Y tp}' The iterative decoder for this turbo coding scheme is iIIus-tmted in Fig.4.

    J:le.~leaver

    MAP y,

    Decoder I y,

    MAP A"

    ji, Dcooder2

    Figure 4 Iterative Decoder of a Rate 1/3 Turbo Code.

    Assigning one MAP decoder for each corresponding encoder, the first MAP decoder takes (I) and (II) as its input and produces the LLR A,(ut) for each informa-tion bit by following the procedures described in the previous section. At this stage of the iterative decoding, the MAP decoder assumes zero a priori information, i.e., assigning 0.5 to Pt

  • Digital Signal Processing for Communication Systems 15

    Th,! second MAP decoder takes interleaved (I) and (III) as input, together with A,(u,) , the interleaved A1(Ut) as the improved a priori information, and produces

    another set of LLR A2(Ut). The decoding proceduff~s lm~ the same as for the first MAP decoder except that now we may make use of A,(u,) in computation of de cod-ing metric by assigning

    i-I(N,)

    p,(O) = 1- -1 +-e~X~I(N~') (16)

    into Eq.(l3). The soft output produced by the second MAP decorl~r is then it~rlltively used in the first MAP decoder. This can be done by replacing A,(u,) with A,(u,) in Eq.(16) when calculating the decoding metric in Eq.(l3).

    To prevent the excessive re-use of the improved a priori information, and the information from the noise corrupted information bit sequence, it is necessary to take out their contribution from the soft output after each iteration. Substituting Eq.(13) into Eq.(l5), we can write

    (17)

    where the third item in the right hand side of the equation is called the extrinsic infor-mation, denoted by AiUt). For both MAP decoders, the extrinsic information is obtained by

    This method of extracting extrinsic information is idental to that of [5]. It is sim-pler to use A1(ut) and A2(ut ) directly in iterative decoding. The decoding iteration converges two times faster than the above method, with a cost of about 0.3 dB in per-formance.

    4. SIMULATION STUDY

    A simulation study has been carried out using the Monte Carlo method. Two recur-sive systematic convolutional codes, both with generator polynomials (037,021) octal, are used to construct the parallel concatenation. The random interleaving is achieved by using a computer to generate a non-repetitive, pseudo-random pattern ranging between I and interleaving size N, then re-ordering the information bits according to the generated pattern. De-interleaving is a reverse mapping process.

    Two turbo codes, rate 113 and rate 112 respectively. are simulated over AWGN channels. The rate 113 turbo code is obtained by puncturing the interleaved informa-tion sequence in the encoder, and the rate 112 turbo code by interchangeably punctur-

  • 16 Lin Zhang

    ing the two parity bit streams from the two recursive systematic convolutional (RSC) encoders of the rate 113 code. The bit error performance of the rate 113 turbo code over the AWGN channel is depicted in Fig.5. It is shown that when the interleaving size is 16384 bits and using 20 iterations, the required E';N 0 to achieve a bit error rate of 10-5 is about 0.1 dB, less than 0.6 dB from the Shannon limit of -0.4954 dB to achieve error-free coding at this code rate. A degradation of more than 0.05 dB is observed when the number of iterations is reduced to 10 times. When we reduce the interleaving size down to 4096 bits, the error performance will degrade more than 0.1 dB in both cases of 20 and 10 iterations.

    1E01

    lE02

    -1; 21 1E-03 .3 ~ lE-04 ~

    lE05

    lE06 ~tl 005 0 0.05 0.1 0.15

    EblNo

    Figure 5 Bit Error Performance ofa Rate 1/3 Turbo Code on the AWGN channel.

    lE-Ol ~N=10000: 1-10

    .... N= 1 0000, 1=18 -N=4096: 1=10

    lE-02 ~ ~ o .... N=4096; 1=18 - :;

    1; .... N=65536: '-18

    ~ lE-03 I : ,-~ j};

    lE04 ,

    _ i -

    lE-05 '---'--'----'---'--'---'--'---'---'---' 0.45 0_5 0.55 0.6 0 65 0.7 0.7S 0_8 0_85 0.9 0.95 1

    EbINO

    Figure 6 Bit Error Performance of a Rate 1/2 Turbo Code on the AWGN channel.

    The simulation result for the rate 112 turbo code over an AWGN channel is depicted in Fig.6. The best performance is achieved at interleaving size of 64 Kbits with 18 iterations. It is about 0.6 dB from the Shannon limit of the similar scenario.

  • Digital Signal Processing for Communication Systems 17

    This result conforms with the simulation result announced in [I]. The performance curves of interleaving size 10000, iterations of 18 and 10 times conforms with the results presented in [5]. The more realistic interleaving size is 4096 bits. The simula-tion shows that when the numbers of iterations are 18 and 10, the turbo code can achieve a BER of 10-4 at less than 1.0 dB.

    5. DISCUSSION

    Turbo coding has caused a revolution in the research of error-correcting codes in information theory community. The performance of these codes are so far the best achievable (within $0.6$ dB from the Shannon limit). Though many powerful block and convolutional codes (such as Reed-Solomon codes and concatenating Reed-Solo-mon codes and convolutional codes) also have such error-correcting capability, the implementable decoding algorithm to achieve this potential is not known. Turbo codes can operate at very low SNR, especially when very low rate codes, e.g., 114, 1/ 8, are used. When used in combination with spread spectrum techniques, they can be the ideal candidates for military information networks that need to be extremely reli-able and covert.

    References

    [I] c. Berrou, A. Glavieux, and P. Thitimajshima, "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes (I)", Proceedings ofICC'93, Geneva, Switzerland, pp.I064-1070, May 1993.

    [2] R.W. Chang and lC. Hancock, "On Receiver Structures for Channels having Memory", IEEE Trans. Inform. Theory, vol.lT-12, pp.463-468, October 1966.

    [3] L.R. Bahl, l Cocke. F. Jelinek and J. Raviv, "Optimal Decoding of Linear Codes for Minimising Symbol Error Rate", IEEE Trans. Inform. Theory, voI.lT-20, pp.284-287, 1974.

    [4] S.S. Pietrobon and A.S. Barbulescu, "A Simplification of the Modified Bahl Decoding Algorithm for Systematic Convolutional Codes", Proceedings, International Symposium on Information The-ory and its Applications, Sydney, Australia, November 1994.

    [5] P. Robertson, "Illuminating the Structure of Code and Decoder of Parallel Concatenated Recur-sive Systematic (Turbo) Codes, Proceedings GLOBECOM'94, San Francisco, California, USA, pp.1298-1303, December 1994.

    [6] D. Divsalar and F. Pollara, "Low-rate Turbo Codes for Deep Space Applications", Abstract of Papers, IEEE International Symposium on Information Theory, Whistler, B.C., Canada, Septem-ber 1995.

  • 3 A TURBO-CODED, LOW-RATE HF RADIO MODEM

    Lin Zhang, Weimin Zhang, Jeff T. Ball and Martin C. Gill

    Communications Signal Processing Discipline. Bldg 27 TSAS Communications Division. Defence Science and Technology Organisation DSTO. POBox 1500. Salisbury. South Australia 5108Tel:+61-8-2595501

    Fax: +61 -8-2596549 Email: [email protected]

    1. INTRODUCTION

    In 1993, DSTO presented a uniquely designed, low-rate HF modem called the chirp modem [2] to enable military radio communications over a broad range of adverse channel conditions. The chirp modem operates at the data rate of 75 bits/sec. It uti-lises a frequency-swept waveform sweeping over a voice band HF frequency from 300 Hz to 3 kHz to represent a symbol. Information is modulated onto the waveform using differential QPSK, and errors are controlled by a rate 112, memory length 10 convolutional code with soft-decision Viterbi decoding. To improve the perform-ance of the chirp modem over HF channels, it is necessary to use a more powerful error-correcting code. However, the memory length of the convolutional code is con-strained by the computational complexity of the decoder.

    The recent development in information theory sees the proposal of a new type of coding scheme, namely, turbo coding [3]. A turbo code is formed by a concatenation of two or more recursive systematic convolutional codes separated by one or more interleaver(s). It was demonstrated [1][3] that on an AWGN channel, the rate 112 turbo code requires an EJlNo of only 0.7 dB for a bit error rate (BER) of 10-5. The near Shannon-limit performance of the turbo code is often accompanied by the pen-alties of long coding delay, due to the large interleaver, and excessive computational complexity, because a considerable number of iterations is required in the iterative decoding. These penalties hinder turbo codes from being readily applied to real-time communications systems. The most interesting application of turbo codes is to deep space communications systems [4][5]. Recently, there have been research attempts to employ turbo codes with a relatively small interleaver to speech transmission over digital mobile radio systems [6].

    The DSTO chirp modem is well suited to the application of turbo codes because it operates at a low data rate, and employs a large data interleaver (64 seconds of delay is used to combat multipath fading). In this paper, we will tackle the practical

  • 20 Lin Zhang. Weimin Zhang. leffT. Ball and Martin C. Gill

    problems in the turbo-coded modem design, and evaluate the performance improve-ment of the turbo-coded chirp modem over the convolutionally-coded chirp modem over AWGN channels and HF test channels.

    2. SYSTEM DESCRIPTION

    The system under consideration is depicted in Fig.l. Two recursive systematic con-volutional (RSC) codes, both with generator matrix g = (037, 021) octal, are parallel concatenated to form the turbo code. A random interleaver of 2368 bits is employed to separate the two convolutional encoders. The output bit streams from the encoders are punctured to form a rate 112 turbo code, as proposed in [3]. Twenty-eight syn-chronisation bits are used for frame alignment in addition to four tail bits. Therefore, the length of a coded frame is 2400 bits, exhibiting 32 seconds of delay at the trans-mitter's side. The same amount of delay will be expected at the receiver's side, giving a total system delay of 64 seconds.

    I ~ __ . __________ l

    Figure 1 A Turbo-Coded HF Modem System.

    The structure of the turbo encoder and the differential QPSK modulator is illus-trated in Fig.2.

    Figure 2 Block Diagram of Turbo Encoder and DQPSK Modulator.

    Two output bit sequences from the turbo encoder can be distinguished: the uncoded information bit sequence, and the punctured parity check bits, Gray-mapped into the

  • Digital Signal Processing for Communication Systems 21

    I and Q channels of a QPSK constellation, respectively. After the differential pro-

    cess, the modulated symbol is sent as a chirp waveform from 300 Hz to 3 kHz in 11 75-th second. The HF channel is characterised by mUltipath fading and additive

    noise. In the process of modem design, a test channel called CCIR Good is used. The CCIR Good channel is a statistical model which comprises two independent Rayleigh fading paths with fading rates 0.1 Hz, and a time delay of 0.5 ms.

    The receiver takes the distorted and noise-corrupted waveform from the channel, and performs sampling, discrete Fourier transform, Doppler correction, and symbol timing. The received signal is processed in both time and frequency for one symbol in order to account for partial-band interference due to carrier waves, jammers and modulated signals and frequency selective fading due to multipath propagation [2]. The receiver produces an estimated sample of QPSK constellation for each time and frequency interval.

    The key elements in Fig. I , which are covered in this paper, are the metric calcula-tor, synchronisation and the iterative decoder (enclosed in a dashed box). The next three sections are devoted to these elements.

    3. METRIC CALCULATION

    The objective of the metric calculator is to provide the iterative decoder with proba-bilistic metrics based on the receiver output. Let Yt be the received symbol at time interval t. The metrics are the probabilities of yt conditioned on the transmitted bit via the I channel of QPSK modulation, denoted by P(Yt 11), IE (0, I), and the probabili-ties of yt conditioned on the transmitted bit via the Q channel, denoted by P(Yt IQ), Q E (0,1).

    In the case of an AWGN channel and coherent detection, P(Yt 11) and P(Yt IQ) are given by

    (1)

    pI. IQ) = _l_exp[_llm~t }Z(Q)2 ~t 23w 2 20 2 (2)

    where if is the variance of the noise, Re(Yt) and lm(Yt) are the real and imaginary parts of Yt respectively, and Z(1) and Z(Q) are the two BPSK constellations on the I channel and Q channel, respectively. In the rest of this section, we will only derive P(Yt 11), because P(Yt IQ) can be similarly calculated.

  • 22 Lin Zhang. Weimin Zhang. leffT. Ball and Martin C. Gill

    Given that we have multiple samples per symbol, and that the HF noise can be modelled as a Gaussian process with a time-changing variance [8], we can make use of the noise information from each sample. Let j = I ,2, ... J index the frequency win-dows in one symbol, and Ytj be the received sample at time t and the j-th frequency segment. Assuming that the frequency segments are independent, the probabilistic metric P(Yt II) can be computed as

    (3)

    where a 2 is the dynamic noise variance estimate at the symbol time interval t and q

    the j-th trequency segment. a ~ is estimated by performing noise excisions in both frequency and time.

    Since differential QPSK modulation is used in the transmitter, the received sam-ple ytj cannot be directly used in Eq.(3) to evaluate the probabilistic metric P(ytjll). Its differential equivalent can be calculated as

    4. SYNCHRONISATION

    The convolutionally-coded DSTO chirp modem uses a convolutional interleaver [9]. While this method requires considerably more memory when compared with the conventional block interleaver, it has two major advantages: for the same delay the interleaving depth is doubled, and there is no requirement for frame synchronisation. In our turbo-coded chirp modem design, the use of frame synchronisation is impera-tive. Since the modem is designed to operate at very low SNR, a strong frame align-ment word must be employed to avoid false synchronisation lock. We choose to use a synchronisation sequence of 28 symbols for each turbo-coded block of 't = 2372 symbols. A partial computer search has been carried out to find the frame synchroni-sation sequence, which has a good auto-correlation property. If we compute the vari-ance of the soft output at each iteration of the decoder, it will give us a reliability measure of the decoder performance [13]. This reliability measure can be used as a feedback by the synchronisation process, as shown in Fig.l. A separate paper has been devoted to the design of frame synchronisation schemes for turbo codes [12].

  • Digital Signal Processing for Communication Systems 23

    5. ITERA TIVE DECODER

    The structure of the iterative decoder is illustrated in Fig.3. Every 32 seconds it receives a block of probabilistic metrics (P(Yt II = 0), P(Yt II = 1); P(Yt IQ = 0), P(Yt IQ = I)} for t = 1,2, ... ,"t, where "t = 2372 is the number of symbols in a turbo-coded block. The decoder produces a block of"t - 'U bits, where 'U = 4 is the number of memory units of the component codes of the turbo coding scheme. The operations of a MAP decoder have been detailed in the companion paper [1].

    p(y"iQ)

    p(y,iQ)

    U,+- +1::: ~ -1 DH_ r -A,(u,) Aj.uJ

    Figure 3 Iterative Decoder Structure.

    At the first iteration, the first MAP decoder takes P(Yt II) and P(Ytl IQ) as inputs to enumerate the logarithm of likelihood ratio (LLR) AI(ut ) for each information bit ut. From Eq.(15) in [1], AI(ut) is calculated as

    (4)

    where M denote the number of trellis states of the RSC encoder used in turbo coding, indexed by m = 0,1 , ... ,M-1. at(m) and pt(m) are the intermediate probability func-tions that can be enumerated recursively with proper boundary conditions [I] and the branch metric y: (m ), i E 1>,1~. y : (m) can be calculated as

    (5)

    where Pt(i) is the a priori probability of each information bit and is assumed to be 0.5 for iE{O,l} at the first iteration. Substituting Eq.(5) into Eq.(4), we can write

    I) p,(i=l) P(Y,II=l) () AI\u, = log (. ) + log (Y I ) + Ale U,

    p, 1=0 P ,I = 0 (6)

    - () P(y,II=l) I) = A u, + log I .. , ) + Ale\u, 2. P", 1=0

    where

  • 24 Lin Zhang, Weimin Zhang, leffT. Ball and Martin C. Gill

    is the extrinsic information of the first MAP decoder for each transmitted information bit.

    A fu)= log p,(i = 1) Ze\;, p,(i=O)

    is the loop-back extrinsic information from the second MAP decoder. The a priori information pt(i=l) and p,(i=O) can be recovered from Aze(u, )as

    To ensure that the noise-corrupted version of the information bit sequence and the loop-back extrinsic information are not excessively used in iterative decoding, their contributions towards the calculation of A1(ut) in Eq.(4) must be taken out,

    (7)

    However, their contribution towards the recursions of a,(m) and ~,(m) remain.

    At the first iteration, due to the assumption that Pt(i = 1) = p,(i = 0) = 0.5,

    Aze (u, )= 0 for t =1, 2, ... , N. The second MAP decoder takes the interleaved P(YtlJ), P(YtIQ), and the interleaved A1e(ut) as inputs, and produces the improved extrinsic information AZe(ut) for each information bit in the same manner as the first MAP decoder. A2e(ut) are then de-interleaved, and used as the improved a priori informa-tion by the first MAP decoder in the second iteration. After a number of iterations,

    the soft output from the second MAP decoder will be de-interleaved, and a hard

    decision is made on each Az(ut) to give the estimate ii of each information bit ut . ,

    6. RESULTS

    The proposed turbo-coded chirp modem has been implemented in real time on a DSP chip. Twenty iterations are required to decode every block of 2372 symbols. The modem has been tested over AWGN channels and the CCIR Good HF test channel. Fig.4 shows the bit error rate performance of the turbo-coded chirp modem and the existing convolutionally-coded DSTO modem over an A WGN channel. Above a SNR of -11.4 dB, the turbo-coded modem begins to outperform the convolutionally-

  • Digital Signal Processing for Communication Systems 25

    coded modem, and the coding gain is about 1.3 dB from a BER of 10-3 to 10-5. More coding gain can be achieved on the Cc/R Good test HF channel, as shown in Fig.5. The turbo-coded modem outperforms the convolutionally-coded modem by about 2.5 dB at a BER of 10-4.

    lE.OO

    lE'()1

    lE'()2 .! i1 ] lE'()3 ... III

    lE'()4

    lE05

    lEOS 12 11,5 1 1

    I -+- Turbo Coded

    +ConvolulionaJ Coded

    10,5 -10

    SNR in 2,7l

  • 26 Lin Zhang, Weimin Zhang, leffT. Ball and Martin C. Gill

    and iterative decoding have been addressed. The simulation results show that the turbo-coded chirp modem achieves significant improvement in bit error rate over the existing DSTO convolutionally-coded chirp modem on both the AWGN channels and CClR Good HF test channels.

    REFERENCES

    [I] Zhang, "On the MAP algorithm, Iterative Decoding and Turbo Codes", the 4th UK/Australian International Symposium 011 DSP for Commullication.~ Systems, Perth, WA, Australia, September 1996.

    [2] J.B. Scholz, T.e. Giles and M.C. Gill, "A Unique, Robust Low-Rate HF Radio Modem", COllfer-ellce Record, the 1993 IEEE Military Commllllicatiolls COllferellce, pp.333-337, Boston, MA. October 1993.

    [3] e. Berrou, A. Glavieux, and P. Thitimajshima. "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes (I)". Pmceedillgs of ICC'93, Geneva, Switzerland, pp.I064-1070, May 1993.

    [4] D. Divsalar and F. Pollara, "Low-rate Turbo Codes for Deep Space Applications", Abstract of Papers, IEEE International Symposium 0/1 biformatinn Theory, Whistler, B.C., Canada, Septem-ber 1995.

    [5] lV. Couleaud "High Gain Coding Schemes for Space Communications", Research Report, Uni-versity of South Australia, September 1995.

    [6] P. Jung and M. Nasshan, "Designing Turbo-Codes for Speech Transmission in Digital Mobile Radio Systems", the 1995 IEEE Illtemational COIiferellce on Telecommunications, Bali, Indone-sia, April 1995.

    [7] M. Preiss, "The Measurement and Analysis of Several HF Links using the DSTO Replay Simula-tor", the 4th UK/Australiall Illtemational Symposium on DSP for Communications Systems, Perth, WA, Australia, September 1996.

    [8] R.W. Merchant. "Modelling and Simulation ofHF Atmospheric Noise". DSTO Research Report, January 1996.

    [9] S.e. Cook, T.C. Giles, B. Vyden and M.C. Gill, "Error-Control Options for Parallel-Tone HF Modems", COIiference Record, the 1993 IEEE Military Communicatiolls Conference, pp.933-938, Boston, MA. October 1993.

    [10] R.W. Chang and J.e. Hancock, "On Receiver Structures for Channels having Memory", IEEE TrQlLf. biform. Theory. voI.IT-12, pp.463-468, October 1966.

    [II] L.R. Bahl. J. Cocke, F. Jelinek and J. Raviv, "Optimal Decoding of Linear Codes for Minimising Symbol Error Rate", IEEE Trails. Inform. Theory, voI.IT-20. pp.284-287, 1974.

    [12] W. Zhang. L. Zhang, J.T. Ball and M.C. Gill, "A Frame Synchronisation Scheme for Turbo Codes". submitted to the 4th UK/Australiall Ilitemational Symposium on DSP for Commullica-tiolls System.f, Perth, WA, Australia, September 1996.

    [13] P. Robertson, "Illuminating the Structure of Code and Decoder of Parallel Concatenated Recur-sive Systematic (Turbo) Codes, Pmceedings GLOBECOM'94, San Francisco, California, USA, pp.l298-1303. December 1994.

    [14] J. Hagenauer. P. Hoeher and J. Huber, "Soft-Output Viterbi and Symbol-by-Symbol MAP Decoding: Algorithms and Applications", submitted to IEEE Trans. Commull., June, 1991.

  • 4 EVALUATION OF THE UNDETECTED

    ERROR PROBABILITY OF INTERLEAVED BLOCK CODES

    1. INTRODUCTION

    Hans-J iirgen Zepernick

    Cooperative Research Centre for Broadband Telecommunications and Networking

    GPO Box U1987, Perth, WA 6001, Australia

    In digital communication systems, interleaving of an error-control code is a commonly used technique to randomize errors caused by a bursty channel. An interleaver collects several codewords and transmits their symbols in a rear-rangend but unified order. In this way, a burst error can be dispersed in time and hence distributed among the interleaved codewords. From a decoder point of view, errors appear randomized and therefore an error-control code designed to combat random independent errors can be employed.

    This paper presents an analytical method for evaluating the undetected er-ror probability of algebraically decoded interleaved binary block codes. Clearly, the interleaved block code is used on a burst error channel and the interleaving degree has to be considered as an additional system parameter. The proposed method is part of a general approach employed to analyze the performance of coding schemes by vector-matrix techniques [1], [2]. We note that unlike [3], the presented method is not restricted to one specific channel model, but allows the class of generative stochastic channel models. It traces the anal-ysis task back to an evaluation of coset probabilities, which are regarded as elementary performance characteristics. For that purpose, a modified parity check matrix is introduced which reflects the separation of blocks of symbols in time. A compound automaton is used to describe an interleaved coded sys-tem in an original domain leading directly to coset probabilities. To reduce

  • 28 Hans-Jii,rgen Zepernick

    the computational complexity and storage requirements, which are related to the original domain, the analysis task is shifted into a spectral domain with a simple structure. Spectral coefficients obtained in the spectral domain are related to coset probabilities by a Walsh-Hadamard transform. It appears that interleaving a block code and interleaving a channel both describe the same interleaving process and may be used interchangeably.

    The paper is organized as follows. Section 2 reviews aspects of genera-tive stochastic channel modeling with emphasis on the Gilbert-Elliott channel. The process of block interleaving is described in Section 3. A modified parity check matrix is introduced in Section 4, which enables a syndrome evaluation for a one-dimensional equivalent of a two-dimensional interleaver matrix. In Section 5, we present the automata approach used to describe a block coded system with interleaving and its application for evaluation of coset probabil-ities. The relationship between various performance characteristics and their usage for evaluation of the desired undetected error probability are addressed in Section 6. In Section 7, an example is presented to illustrate the application of the proposed method. Section 8 concludes the paper.

    2. THE CHANNEL MODEL

    To enable an exact performance analysis of interleaved block codes on chan-nels with memory, we employ generative stochastic channel models. Thus, we consider a discrete channel D with a finite alphabet X of input sym-bols x, a finite alphabet Y of output symbols y, and a finite set S of chan-nel states 8. The stochastic characteristics of the channel are specified by a stochastic automaton V = (V,O"o) consisting of a stochastic sequential ma-chine V = (X,Y,S, {D(ylx)}) and an initial probability distribution 0"0 on the states s of S. The family of S x S input-output matrices D(ylx) takes the stochastic effects of channel memory into consideration.

    For the sake of simplicity but without loss of generality, we utilize a binary two-state Gilbert-Elliott channel (GEC). We have to deal with binary alphabets of input symbols x E {a, I} and output symbols y E {a, I}. The two channel states are classified into a good state G and a bad state B. State transitions between G and B are assumed to occur with probabilities P = Prob(BIG) and Q = Prob(GIB), respectively. A specification of the bit error probabilities Po in state G and PB in state B completes the model. For a GEC, the family {D(ylx)} of input-output matrices can be represented by the two channel ma-trices Do = D(y = xix) and D1 = D(y :f: xix) indicating correct and faulty symbol transmission. To be precise, we have

    D [ I-pa 0 ] [I-P P ] D [pa 0] [I-P P ] (1) 0= 0 I-PB Q I-Q ' 1= 0 PB Q l-Q .

  • Digital Signal Processing for Communication Systems 29

    Of interest are also the state transition matrix D = Do + Dl and difference matrix a = Do - Dl of the channel matrices Do and D l . They are given by

    [ 1 - P P] [ 1 - 2pG 0 ] [ 1 - P P ] D= Q 1- Q ' ~= 0 1- 2PB Q 1- Q . (2)

    By solving 0"0 = 0"0 D, we obtain the steady-state probabilities (fG and (fB of being in state G and B, respectively, yield the initial probability distri-bution 0"0 = [(fG, (fB] = [Q/(P + Q), P/(P + Q)] on the two states of the state set. Finally, the steady-state probabilities combine the bit error probabilities assigned to the individual states to an average bit error rate Pb = (fGPG+(fBPB

    3. BLOCK INTERLEAVING

    An interleaver performs a rearrangement of the symbols of a codeword accord-ing to a suitable one-to-one deterministic rule. The variety of strategies can be roughly classified as either block interleaving, diagonal interleaving, or convo-lutional interleaving. At the receiving end, a deinterleaver restores the original ordering and a conventional decoding algorithm can be used to decode each received word.

    In this paper, we focus on block interleaving. We consider binary (n, k) block codes, where n is the code length and k the number of information bits per codeword. A block interleaver arranges the codewords released by an en-coder in the columns of a matrix as shown in Figure 1. The first k information

    c=J Info Bit T r---, r---, r---, r---., r---, r---, 1"'---'

    I II II II II II I I I r - - -.,

    I I Parity Bit \. ___ .1 .. ___ .I "' ___ .1 L ___ .1 L ___ .1 L ___ .1 L ___ .1

    ,.---, ,.---, r---, r---, r---, r---, r---, I II II II II II II I

    Figure 1 Principle of block interleaving (1 ~ v ~ nand 1 ~ l ~ L)

    bits in each column determine the n - k parity check bits at the bottom of the column. The width L of the matrix is the interleaving degree and specifies the

  • 30 Hans-Jurgen Zepernick

    number of codewords taken to generate a complete matrix. After the n x L interleaver matrix is filled, its symbols are transmitted over the channel on a row-by-row basis. Consequently, an error burst is distributed over several in-terleaved codewords and a less powerful code may be used.

    4. A PARITY CHECK MATRIX FOR INTERLEAVED CODES

    Suppose a linear (n, k) block code Vo over the Galois field F = GF(2) is de-fined by a suitable parity check matrix H = [hl , h2, ... , hn], where columns h = [hn-k_l,,hl,ho]T consist of elements hp E GF(2). The parity check matrix is used at the receiving end to detect transmission errors. In the case of block interleaving, a parity check has to be performed for each column of the reassembled matrix of received words.

    To determine the exact performance of a block interleaved code, we pro-pose a modified parity check matrix which allows for the separation of blocks of symbols in time. The interleaver arranges L codewords column-by-column into a matrix and then performs a permutation of symbols by means of a row-by-row transmission. Therefore, a two-dimensional interleaver matrix can be represented by its one-dimensional equivalent. A symbol located at point (v, I) of the interleaver matrix is transformed at position K, = (v - 1) . L + 1 of the cor-responding one-dimensional equivalent. Similarly, we disperse the conventional parity check matrix in time and inherently include the interleaving process. Each super column of a modified and transposed parity check matrix performs a parity check for one particular interleaved word. A modified parity check matrix can be easily written in closed form, that is

    HBJ = [I hl I I h2 I ... I I hn ] = (3)

    where I is an identity matrix and A b is the Kronecker product of a matrix A and a column vector b. The [th partition HI of HBI corresponds to the Ith codeword of the interleaver matrix:

    HI=~hl~h2~IO ... Ohn~' (4)

    [-I L-I L-I L-[

    where 1 ~ I ~ L and the (n - k )-dimensional all-zero columns 0 = [0, ... ,0, Or reflect the dispersion of codewords in time. Moreover, each one-dimensional

  • Digital Signal Processing for Communication Systems 31

    received word v is uniquely assigned to a syndrome

    s = [SI, ,Sl, ,SL] = V H~I' where SI = V Hi- (5)

    5. MODAL ANALYSIS OF AN INTERLEAVED SYSTEM

    The method introduced to evaluate coset probabilities of block interleaved sys-tems is based on the trellis representation of linear block codes and the modal analysis of block coded systems [1], [2]. A code trellis is a directed graph con-sisting of nodes which are connected by directed branches. It illustrates the classification of the words of a vector space into disjoint cosets, reflecting the one-to-one correspondence between syndromes and cosets. A channel-decoder-cascade can be represented by a weighted trellis, where a suitable channel matrix is assigned to each branch of the code trellis. Thus, we are able to eval-uate the probability assigned to a distinct path through a code trellis. These probabilities are systematically summed up giving coset probabilities.

    5.1 Modeling and Analysis of a Syndrome Decoder

    We assume that a linear (n, k) block code Vo over F = GF(2) is defined by a parity check matrix H and then block interleaved by degree L. A modified parity check matrix HB/ can be constructed and used to compute a syndrome for a orie-dimensional equivalent of an interleaving matrix. Because after dein-terleaving a syndrome decoder checks the reassembled matrix of received words individually on a column-by-column basis, we are interested only in the syn-drome partition Sl generated by an lth partition H,. A step-by-step compu-tation of the related syndrome partition Sl can be described by a recursion of partial syndromes

    Based on (6) a syndrome decoder is modeled as deterministic automaton, where a syndrome partition Sl = [Sl,n-k-l,, SI,I, 81,0] represents a decoder state. The states will be numbered by the integer representation t = dec(sl) = E::~-1 81,1-' 21-' of possible syndrome partitions Sl E Fn-k. The output sym-bols y of the channel are processed by the syndrome decoder and cause state transitions. The structure of state transitions for a recursion step '" is deter-mined by (6) and can be described in closed form by a trellis matrix as follows. A pair of an originating state t(lt-l) = i and terminating state t(lt) = j is indi-cated by a one-component in the ith row and jlh column of a trellis matrix.

    In the setting of block interleaving, the columns h = [hn - k - 1 , . , hI, hoV of a selected lth partition H, of HB/ determine the pairs of originating and ter-minating states. State transitions due by y = 1 can be described analytically

  • 32 Hans-Jurgen Zepernick

    by a Kronecker product of elementary matrices to result in a trellis matrix [1]

    Because y = 0 produces no state transitions, we obtain an identity matrix I.

    The eigenvectors of a trellis matrix yield the modal matrix [1]

    [+1 +1] W 1 = +1 -1 . (8) Using W n-k for similarity transformation ofMh results in a spectral matrix

    Since in HI the columns of H are shuffled by insertion of all-zero vectors, the process of block interleaving causes additional matrices. These matrices reflect the dispersion of initially clustered symbols in time and are given by

    Mo = Mo Mo ... Mo = I , Ao = Ao Ao ... Ao = I. (10) , ., , , T v

    (n-k)- fold (n-k)- fold

    5.2 Modeling and Analysis of a Channel-Decoder-Cascade

    A channel-decoder-cascade is modeled as a compound automaton and consid-ered as description in an original domain. Its structure can be illustrated by a weighted trellis, where a proper channel matrix is assigned to each branch of the conventional code trellis. Each weighted trellis section is described by a weighted trellis matrix [2]

    (11)

    The appropriate weighted trellis matrix for an entire channel-decoder-cascade when based on a selected {th partition H, of a modified parity check matrix HBJ is given by the product matrix

    UH, = U~-l . UhI U~-l . Uh2 U~-l ... Uhn U~-l, where Uo=I D. (12)

    The weighted trellis matrix U H, can be used to evaluate coset probabilities directly in the original domain. Thereto, we multiply (12) from the left-hand side with the Kronecker product TO /To of the initial probability distribution TO = [1,0,,0] of the decoder and the steady-state distribution /To of the channel. Then, we obtain compound probabilities in channel state ordered representation. We use the matrix Ie for summing these ordered probabilities

  • Digital Signal Processing for Communication Systems 33

    to get the desired coset probabilities, where e denotes the all-one column vector. Furthermore, it can be shown [2] that the T = 2n - k coset probabilities Pt are independent of the chosen lth partition HI and are finally given in the vector

    P=[Po,, Pt,, PT-d= (TOO"O)Uhl U~-lUh2 U~-l ... Uh" (Ie). (13)

    In most applications, weighted trellis matrices turn out to be of very large dimension and are rather taken as a closed form system setting than for usage to evaluate coset probabilities directly in the original domain. Fortunately, the structure of the original domain can be decomposed by means of the transfor-mation matrix T = W n-k I. We obtain block diagonal matrices which are assigned to a spectral domain and denoted as weighted spectral matrices [2]:

    8h = T-1 . Uh T = diag [ 8 ih E {D,4} ]. (14)

    A description of an entire channel-decoder-cascade in the less complex spectral domain can be easily achieved by the product matrix

    eHI = e~-l . ehl 8~-1 . 8h2 e~-l ... eh" e~-', where 8 0 = I D. (15) Premultiplying (15) by the initial distribution 0 0"0 = (TO 0"0) . T of a channel-decoder-cascade in the spectral domain and postmultiplying the result by I e, yields T = 2n - k spectral coefficients Qi given in the vector

    Q= [Qo,, Qi,, QT-I] = (O0"0)8hl E>~-18h2E>~-1 ... E>hn (Il8le). (16)

    After taking advantage of the block diagonal structure in the spectral do-main, the coset probabilities can be obtained from the spectral coefficients through a Walsh-Hadamard transform written in vector-matrix notation as

    (17)

    From (13) and (16), we observe that block interleaving is represented by

    U~-l = e~-l = I D L - 1, (18)

    and the formulae inherently approach those of a conventional non-interleaved system when taking L = 1. Furthermore, block interleaving effectuates prod-ucts UhU~-l and 8h8~-1 which can be written as

    Uh U~-l = I DO,BI + Mh D1,BI E>hE>~-l = diag [ E>ih,BI E {DBJ, 4BJ} ],

    (19)

    (20)

    respectively, where DO,BI = DoDL-l, D1,BL = D1DL-l, DBI = DDL - 1, 4BJ = 4DL-l. In other words, interleaving can be considered interchange-ably either as interleaving the code or the channel. In the later interpretation, channel matrices have to be substituted by their interleaved counterparts.

  • 34 Hans-Jurgen Zepernick

    6. PERFORMANCE EVALUATION

    The undetected error probability Pu is commonly used to characterize the relia-bility provided by a block code on a given channel. It is related to the probabil-ity PD of decoding and the probability Pc of correct decoding by Pu = PD - Pc, where PD is the probability that a received word is in a coset Vt used for de-coding and Pc is the probability that an error word is a coset leader. Thus, we are able to rephrase the evaluation of the undetected error probability Pu by tracing it back to an evaluation of PD and Pc. For an adaptation to the setting of block interleaving we will use both presented approaches, interleaving of a block code to compute PD and interleaving of a channel for evaluation of Pc.

    To compute the probability PD of decoding, we take advantage of the coset probabilities Pt obtained already. In doing so, let ID be the set of indices t of cosets Vt used for decoding. Then, we simply have

    PD = L Pt. (21) tEID

    Similarly, we are going to decompose the probability Pc of correct decoding into elementary pieces. For that purpose, let dmin denote the minimum dis-tance of a block code and P(m, n) the block error distribution defined as the probability of m errors in a block of length n. Assuming minimum distance decoding, the probability of correct decoding is given by

    l dmi;-l J Pc = L P(m,n), (22)

    m=O

    where LxJ denotes the largest integer no greater than x. The block error distri-bution P(m, n) for a channel with memory can be computed through recursions.

    For stochastic finite-state channels of the type considered in this paper, it is convenient to formulate a recursion in matrix notation. In this context, let p(m, n, s'ls) be the probability, when the initial channel state is s, that m errors occur in a block of length n and the channel is in state s' after processing n symbols. These conditional probabilities are the elements of a matrix

    P(m, n) = [p(m, n, s'ls)lsxs. (23) Using the concept of an interleaved channel and accordingly matrices DO,BI and DI,BI, a recursion for computing the block error distribution is given by

    P(m,n) = P(m,n-l) DO,BI+P(m-l,n-l) DI,BI, (24) where (24) is initialized by P(O,I) = DO,BI and P(I, 1) = DI,BI' In case of m = 0 and m = n, the following recursions are valid:

    P(O,n)=P(O,n -1) DO,BI and P(n,n)=P(n -1,n -1) DI,BI, (25)

  • Digital Signal Processing for Communication Systems 35

    respectively. Multiplying (23) from the left-hand side by 0"0 and the result from the right-hand side by e gives the block error distribution

    P(m, n) = 0"0 P(m, n) . e. (26) Finally, we obtain the desired undetected error probability Pu by summing

    up the elementary performance characteristics Pt and P(m, n), that is

    l dmirl J Pu = L Pt - L P(m,n). (27)

    tEID m=O

    7. EXAMPLE

    We examine a shortened (60,48) cyclic code defined by the generator polyno-mial g(X) = X 12 + XU + X3 + X 2 + X + 1 and used for error detection on a Gilbert channel (GC: Pa = 0, PB = 0.5, Q = 0.01). An effective binary sym-metric channel (BSC) is used for comparison having the same average bit error rates as given by each set of GC parameters.

    Figure 2 shows the undetected error probability Pu versus transition prob-ability P = Prob(BIG) between good state G and bad state B. As can be seen

    II

    l!

    II + I + .'

    I + . I

    solid: GC daShed: l.=10

    dotted: l=2O Slar: l.=100 plus: l.=200 dashdot BSC

    10 - -5 4 3 2 1 10 10- 10- 10- 1f

    Transition probability p=prob(sIG)

    Figure 2 Performance Pu of a (60,48) block code on a Gilbert channel (GC)

  • 36 Hans-Jurgen Zepernick

    from the plots, Pu increases the more likely a transition from state G into state B occurs. It finally approaches an interval of constant undetected error probability whether interleaved or not. As the interleaver degree increases, the undetected error probability approaches that obtained on the effective BSC (L -t 00). To be more specific, for an interleaving degree of L = 10 the perfor-mance of the block interleaved system deteriorates compared to the pure GC (L= 1). Under a moderate and large interleaving degree, the undetected error probability can be improved only for transition probabilities of P < 2.5 . 10-4 but gets worse compared to L = 1 the higher the probability for being in the bad state B. In other words, the curves are in nice keeping with the well-known result that interleaving actually randomizes a bursty channel but show also that this does not inherently improve performance.

    8. CONCLUSION

    The concept introduced in this paper is a new approach to evaluate the unde-tected error probability of interleaved block codes. The performance analysis of non-interleaved binary block codes is included as a special case and is obtained by choosing the interleaving degree equal to one. The results are exact within the framework of the system model. By way of example, it has been shown that interleaving does not necessarily give an improvement in system performance.

    ACKNOWLEDGMENT

    The author wishes to thank Prof. L. Kittel for his encouragement and helpful discussions during the course of this research.

    REFERENCES

    [1] L. Kittel; Modal Analysis of Block Coded Transmission Systems with Application to Error Control Performance Evaluation, ITG-Fachbericht 107, VDE-Verlag GmbH, Berlin 1989, pp. 281-288.

    [2] H.-J. Zepernick; Modal Analysis of Coding Schemes Used on Channels Without and With Memory (in German), Ph.D. dissertation, University of Hagen, 1994.

    [3] J .R. Vee and E.J. Weldon; Evaluation of the Performance of Error-Correcting Codes on a Gilbert Channel, IEEE Trans. on Comm., vol. 43, Aug. 1995, pp. 2316-2323.

  • 5 EFFECTIVE TRELLIS DECODING

    TECHNIQUES FOR BLOCK CODES

    L. E. Aguado Bay6n and P. G. Farrell

    Communications Research Group, University of Manchester

    1. INTRODUCTION

    The trellis and tree diagrams of a code provide a highly structured combina-torial representation of the code as a graph. This permits the soft-decision (SD) decoding of the code by mapping the received sequence of values from the channel onto the branches of the graph and computing the likelihood of each path so formed by means of an additive function of the (estimated) chan-nel, called the metric. The extra information provided by the SD decoding is equivalent to around 2 dB of gain in the signal-to-noise ratio when compared to hard-decision decoding for an additive white Gaussian noise channel. Graph-decoding techniques have traditionally been restrained to convolutional codes, giving them the primacy over the block codes, whose algebraic SD decoding algorithms [4] resulted much more complex in comparison. However, there are many applications, such as mobile radio communications, where block codes are advantageous, because they avoid error propagation problems and they can be well matched to the characteristics of the information source and the chan-nel.

    Like the convolutional codes, block codes can also be represented as trellis and tree graphs, and a great deal of work has been done during the last eight years on the structure of the trellis of a block code. In these works the complex-ity of decoding using the Viterbi algorithm (VA) as been taken as a reference, since it gives maximum likelihood performance at a constant complexity rate. However, the VA becomes impractical for medium to large sized codes due to the large number of states in the trellis, and other alternatives must be used. As in the convolutional case, reduced complexity, sub-optimal algorithms must

  • 38 L. E. Aguado Bay6n and P. G. Farrell

    be adopted, such as reduced breadth algorithms or sequential algorithms.

    We present here a soft-decision decoding algorithm for block codes based on the stack algorithm. It is implemented on the trellis of the code, so that it takes advantage of the extra information about the structure of the code it carries.

    This paper is organised as follows. Section 2 introduces the trellis dia-gram to be used. In section 3 we consider some other soft-decision decoding algorithms and propose two metrics that can be used with our algorithm. In section 4 the merging stack algorithm is explained and simulation results pre-sented for performance and complexity. Finally, some concluding remarks and suggestions for further work are given in section 5.

    2. THE TRELLIS OF THE CODE

    As introduced above, our decoding algorithm is going to work on the trellis di-agram of the code. A minimal trellis representation is adopted like that defined by Muder [13]. A good permutation of the code like those presented in [1] will provide the simplest n-section trellis for our chosen code in terms of the total number of branches, where n is the block length.

    However, these simpler trellises are still quite complicated for medium to large dimensioned codes, and they would require a large amount of memory to be stored. Since sequential algorithms generally only visit a very small por-tion of the trellis for each decoding operation, we have opted for constructing the trellis 'on-the-fly'. In this way, the new branches are created at the time of being used as a complexity trade-off between memory and number of op-erations. To do so, the procedure introduced by McEliece [12], that permits us to expand any state at the cost of a very small number of operations, has been implemented. A dedicated hardware would greatly speed up the process of constructing the trellis so it would almost present no delay compared to a stored trellis system.

    McEliece's construction method is based on the minimum span generator matrix. This is a generator matrix in trellis-oriented form, and hence is non-systematic. This originates a problem at the time of retrieving the information back from the encoded message, since, besides the extra task of converting the codeword to an informtion word, an error in an incorrectly decoded codeword tends to spread to several information bits, because each column of the gen-erator matrix may include several of them, whereas in a systematic system it would only affect a single information bit. In the same way, errors can com-pensate for each other, but this case is much less likely than the previous one.

  • Digital Signal Processing for Communication Systems 39

    To overcome this problem, two equivalent generator matrices are used. the first, G T , in trellis-oriented form to construct the trellis, the other, Ge, in systematic form to encode the information. To convert one to the other only row operations are used, hence they generate the same codebook although for different information words. Thus, the trellis generated by G T can be used to decode the codewords generated by G e from which the information is obtained by picking up those bits where the columns of Ge have weight 1.

    3. A TRELLIS STACK ALGORITHM

    The Viterbi algorithm produces maximum likelihood error correction perfor-mance but at the cost of very high computational complexity when dealing with large trellises. The alternative used in the similar case of high constraint length convolutional codes are the suboptimal breadth-first [10] and sequential algorithms [3]. Some implementations of those have already been presented for block codes like the M-algorithm in [11] and some sequential algorithms based on the metric of the A * algorithm [8], [6], [14]. Some of these algorihtms in-clude the reordering of the positions of the code according to the confidence of the values of the received sequence. In this way they increment the confidence of the explored path very rapidly. However, this implies reprocessing of the generator matrix for each word decoded.

    We propose here an algorithm based on the Zigangirov-Jelinek or stack algorithm using the trellis as the frame to calculate the soft variable length path metric. There are two alternative metrics that can be used: the metric used in the A * algorithm in [6], [14]:

    M( .) _ {a if sign(Yi) = sign(xi) Y~ - IYi I if sign(Yi) f. sign(xi) (1)

    or the Fano metric with a code-matched bias as introduced in [2] for an AWGN channel with BPSK modulation:

    M(YiIO) = log2 ( 2 2Yi ) - b . R, l+e~

    (2a)

    M(YiI1) = log2 ( 2 2y. ) - b R, l+e~

    (2b)

    where R is the rate of the code, ao 2 is the variance of the noise distribution and b is a bias factor, that is estimated via simulation to match the code been used. This second metric equation looks much more complicated, but it must be taken in account that in a quantised channel it resolves into q constant

  • 40 L. E. Aguado Bay6n and P. G. Farrell

    precalculated values. As shown in [2], both metrics give very close to ML per-formance for a reduced complexity, somewhat smaller for the second one.

    4. THE MERGING STACK ALGORITHM

    Using the trellis diagram instead of the tree, permits us to reject one of the paths when two of them coincide at the same state and limits the maximum complexity case, a mayor drawback of sequential algorithms. Moreover, it en-ables us to begin to decode from both extremes of the trellis, using a single common stack, and expanding the most likely paths of both directions that will meet in a middle, received-signal dependent, point of the trellis to complete a full path. In this way, the incomplete paths accumulated in our limited length stack are more likely than in the case of a single decoding direction, since they are chosen to be the best from each of the two directions. This increases the likelihood of finding the correct path in a similar manner to the partitioning algorithms presented in [5]. The bi-directionality also provides a fast resolution to the bottlenecks originated when a noisy area makes all the extending paths from one direction have a similar metric, since a faster, 'cleaner' path from the opposite direction will go through and merge with the best one.

    4.1 The Implementation

    The path merging or path path selection between tWQ paths of opposite or equal direction, respectively, will take place between 'path heads'; that is, the last ex-panded state of that path. Thus, when a new path is expanded, the algorithm must look for other paths finishing at the same state as it does. If another path with the same direction finishes there, their matrics are compared, and only the best path is kept. If a path of the opposite direction finishes there, their entries are removed from the stack, their metrics are added and compared to best best previous full-path metric, if there is one. If the new metric is better, it replaces the best previous full-path metric, otherwise it is dismissed.

    In order to do this process, a memory structure is created containing n + 1 little memory piles, one for each depth of the trellis. Each one of these piles will store the information about the paths finishing at that depth, so that the algorithm will only have to search the entries at the corresponding depth when expanding a new path. Each path in the stack must have a pointer to its piled cell, in order to remove its entry from the pile when the top entry of the stack is extended. If a path is dropped from the stack, due to the limited size of the stack, its information cell still remains in the pile, while there is room for it, but newer entries may force it to be dropped. Hence, an extended path may merge with another path that is not in the stack any more. Nevertheless, this improbable event only happens to very unlikely paths for minimally sized piles,

  • Digital Signal Processing for Communication Systems 41

    so it does not affect greatly the performance of the algorithm. Finally, a double tree (one for each direction) with the labels of the extended branches must also be stored, so that the final codeword can be retrieved when the decoding of the received sequence is finished. It will also have to be linked to the information cells and a reference to it stored with the temporary best path.

    We found out from our simulations that the maximum size of these piles can be reduced to a minimum, with the consequent savings in complexity and memory needed that it implies, without reducing considerably the error cor-rection performance. This is quite sensible, since, again, the dropped paths will be the least likely ones. Figures 1 and 2 show the results of the simula-tion of the (63,45) BCH code for different maximum pile sizes. Figure 3 shows

    10-11 4-------------- max. list size = 128 -- max. list size = 64 I3----------EI max. list size = 32 -- Uncoded

    10-' '--_-'-__ -L--_----1 __ --'-__ -'---_----'-__ --'

    -1

    Eb/No (dB)

    Figure 1 Performance of the (63,45) BCH code for three max. pile sizes.

    the distribution of the complexity, in number of extended branches, of decod-ing a word at different SNR. Two superimposed distribution functions can be distinguished, a log-normal-like distribution corresponding to the complexity of decoding non-erroneous received sequences and a Gaussian-like distribution corresponding to the decoding complexity distribution of sequences with errors. In order to estimate the complexity of the system, a variance approximating the Gaussian component of the worst conditions expected can be taken as an upper bound. Figure 4 shows the average occupation of the list along the depths of the trellis at different SNRs for a large maximum list size. The profile of this

  • 42 L. E. Aguado Bay6n an