multiple burst-correcting array codes

6
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 5, SEPTEMBER 1988 1061 ing the algorithms show similar performances. The modified algorithm is somewhat better with 600-bit interleaving, but for short interleaving (300 bits) the modified algorithm is, of course, much better. Finally, in Fig. 5 it is shown that the SJZ algorithm gives slightly better performance using short interleaving than the modification of Hagenauer’s algorithm does. Fig. 5. Comparison of our modification of Hagenauer’s algorithm with new SJZ algorithm for three different interleavings: 300,600, and 3000 bits. Remark: The modifications of the algorithm necessary to deal with a more general channel are nontrivial. In [9] we presented some preliminary results for the Gilbert-Elliot channel. REFERENCES E. N. Gilbert, “Capacity of a burst-noise channel,” Bell Sysf. Tech. J., vol. 39, pp. 1253-1266, Sept. 1960. K. Sh. Zigangirov, “Some sequential decoding procedures,” Prohl. Peredachi Inform., vol. 2, pp. 13-25, 1966. F. Jelinek, “A fast sequential decoding algorithm using a stack,” IBM J. Res. Deuelop., vol. 13, pp. 675-685, Nov. 1969. J. Hagenauer, “Sequential decoding for burst-error-channels,’’ in Commu- nication Systems and Random Process Theory, J. K. Skwirzynski, Ed. Alphen am Rhein, The Netherlands: Sijthoff & Noordhoff, 1978, pp. 249- 265. K. Berglund, R. Johannesson, and K. Sh. Zigangirov, “A new sequential decoding algorithm for fading channels,” in Proc. 2nd Joint Swedish-Souief Int. Workshop Inform. Theory, Granna, Sweden, Apr. 1985, pp. 212-216. J. L. Massey, “Variable-length codes and the Fano metric,” IEEE Truns. Inform. Theory, vol. IT-18, pp. 196-198, Jan. 1972. R. M. Fano, “A heuristic discussion of probabilistic decoding,” IEEE Trans. Inform. Theory, vol. IT-9, pp. 64-74, Apr. 1963. R. Johannesson, “Some rate 1/3 and 1/4 binary convolutional codes with an optimum distance profile,” IEEE Trans. Inform. Theoiy, vol. IT-23, pp. 281-283, Mar. 1977. G. Bratt, R. Johannesson, and K. Sh. Zigangirov, “On sequential decod- ing for the Gilbert-Elliot channel,” in Proc. 3rd Joint Swedish-Souiet Inr. Workshop Inform. Theory, Sochi, USSR, May 1987, pp. 192-193. Multiple Burst-Correcting Array Codes MARIO BLAUM, MEMBER, IEEE, PATRICK G. FARRELL, MEMBER, IEEE, AND HENK c. A. VAN TILBORG, SENIOR MEMBER, IEEE Abstract -Two families of binary linear multiple burst-correcting array codes are presented. The codes consist of all possible n1 X n, arrays over GF(2), where the columns have even parity and the rows belong to any given code of length n, and minimum distance 2t. It is shown that if the bits are read out diagonally instead of horizontally, each diagonal followed by the preceding one (viewed cyclically), then the code can correct up to t bursts of length I n1 if and only if n, 2 2tn, + 1. If each diagonal is followed by the next one, the code can correct up to t bursts of length - < n1 - 1 if and only if.n, 2 2r(n, -2)+1. For t =1 some of these results are already known. Decoding algorithms are presented, and the case t = 1 is discussed in more detail. I. INTRODUCTION Consider the simple binary array code n1 X n2 where each row and column has even weight. It is well-known that this code can correct any random error. However, if the bits are read diago- nally instead of horizontally, the code can correct a burst of errors [l], [5]. The diagonal readout proceeds as follows. Fix a parameter s, 1 I s I n2 - 1, gcd(s, n2) = l ; start in the upper left hand comer, and read the corresponding diagonal; then do the same thing to diagonal s, then to diagonal 2s, etc. [7]. The array is viewed cyclically on n,, i.e., the last column is followed by the first one. Fig. 1 shows an example of diagonal readout with s = 3. The purpose of this correspondence is to generalize the result [l], that the n1 x n,-code with readout s =1 can correct any burst of length up to n, - 1 if and only if n, 2 2n, - 3. (Codes with s = 1 were investigated also in [2] and (51.) We study arrays in which columns have even weight and rows are codewords from a code with minimum distance 2t. It was observed [3], [4], that in some cases one has multiple burst-error correction. The proposed decoding algorithms depended on the specific choice of the code of minimum distance 2t. Only the readout with s =1 was considered in [3] and [4]. Here we obtain conditions on n, and n2 that are independent of the particular code of minimum distance 2t implemented on the rows. We concentrate on the case s = n, - 1 (denoted s = - l), but the analogous result for s = 1 is also given. Our main result is proved in the next section and can be stated as follows: Consider the n, x n, array code with the s = - 1 readout, each column having even weight and each row being a codeword in a given code of minimum distance 2t. Then this array code can correct up to t bursts of length I n, if and only if n2 2 2tn1 +l. A similar result can be obtained when s =l. In this case, the array code can correct up to t bursts of length I n, - 1 if and only if n2 2 2t( n, - 2) + 1. Notice that when t = 1, we obtain the result of [l]. In Section 111 we discuss decoding strategies. In Section IV we study the special case t = 1 and shortening procedures. Manuscript received November 7, 1986; revised November 3, 1987. M. Blaum is with the IBM Almaden Research Center, 650 Harry Road, K65/802, San Jose, CA 95120-6099. P. G. Farrell was with the California Institute of Technology, Pasadena, CA. on sabbatical. He is now with the Department of Electrical Engineering. University of Manchester, Manchester, UK. H. C. A. van Tilborg was visiting with the IBM Almaden Research Center, San Jose, CA. He is now with the Department of Mathematics, Eindhoven University of Technology, Eindhoven, The Netherlands. IEEE Log Number 8823986. 001 8-9448/88/09OO-1061$01 .OO 01988 IEEE

Upload: hca

Post on 13-Apr-2017

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Multiple burst-correcting array codes

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 5 , SEPTEMBER 1988 1061

ing the algorithms show similar performances. The modified algorithm is somewhat better with 600-bit interleaving, but for short interleaving (300 bits) the modified algorithm is, of course, much better.

Finally, in Fig. 5 it is shown that the SJZ algorithm gives slightly better performance using short interleaving than the modification of Hagenauer’s algorithm does.

Fig. 5. Comparison of our modification of Hagenauer’s algorithm with new SJZ algorithm for three different interleavings: 300,600, and 3000 bits.

Remark: The modifications of the algorithm necessary to deal with a more general channel are nontrivial. In [9] we presented some preliminary results for the Gilbert-Elliot channel.

REFERENCES E. N. Gilbert, “Capacity of a burst-noise channel,” Bell Sysf. Tech. J . , vol. 39, pp. 1253-1266, Sept. 1960. K. Sh. Zigangirov, “Some sequential decoding procedures,” Prohl. Peredachi Inform., vol. 2, pp. 13-25, 1966. F. Jelinek, “A fast sequential decoding algorithm using a stack,” IBM J . Res. Deuelop., vol. 13, pp. 675-685, Nov. 1969. J. Hagenauer, “Sequential decoding for burst-error-channels,’’ in Commu- nication Systems and Random Process Theory, J. K. Skwirzynski, Ed. Alphen am Rhein, The Netherlands: Sijthoff & Noordhoff, 1978, pp. 249- 265. K. Berglund, R. Johannesson, and K. Sh. Zigangirov, “A new sequential decoding algorithm for fading channels,” in Proc. 2nd Joint Swedish-Souief Int. Workshop Inform. Theory, Granna, Sweden, Apr. 1985, pp. 212-216. J. L. Massey, “Variable-length codes and the Fano metric,” IEEE Truns. Inform. Theory, vol. IT-18, pp. 196-198, Jan. 1972. R. M. Fano, “A heuristic discussion of probabilistic decoding,” IEEE Trans. Inform. Theory, vol. IT-9, pp. 64-74, Apr. 1963. R. Johannesson, “Some rate 1/3 and 1/4 binary convolutional codes with an optimum distance profile,” IEEE Trans. Inform. Theoiy, vol. IT-23, pp. 281-283, Mar. 1977. G. Bratt, R. Johannesson, and K. Sh. Zigangirov, “On sequential decod- ing for the Gilbert-Elliot channel,” in Proc. 3rd Joint Swedish-Souiet Inr. Workshop Inform. Theory, Sochi, USSR, May 1987, pp. 192-193.

Multiple Burst-Correcting Array Codes

MARIO BLAUM, MEMBER, IEEE, PATRICK G. FARRELL, MEMBER, IEEE, AND HENK c. A. VAN TILBORG,

SENIOR MEMBER, IEEE

Abstract -Two families of binary linear multiple burst-correcting array codes are presented. The codes consist of all possible n1 X n, arrays over GF(2), where the columns have even parity and the rows belong to any given code of length n, and minimum distance 2 t . It is shown that if the bits are read out diagonally instead of horizontally, each diagonal followed by the preceding one (viewed cyclically), then the code can correct up to t

bursts of length I n1 if and only if n , 2 2tn, + 1. If each diagonal is followed by the next one, the code can correct up to t bursts of length - < n1 - 1 if and only if.n, 2 2r(n, -2)+1. For t =1 some of these results are already known. Decoding algorithms are presented, and the case t = 1 is discussed in more detail.

I. INTRODUCTION Consider the simple binary array code n1 X n2 where each row

and column has even weight. It is well-known that this code can correct any random error. However, if the bits are read diago- nally instead of horizontally, the code can correct a burst of errors [l], [5]. The diagonal readout proceeds as follows. Fix a parameter s, 1 I s I n2 - 1, gcd(s, n 2 ) = l ; start in the upper left hand comer, and read the corresponding diagonal; then do the same thing to diagonal s, then to diagonal 2s , etc. [7]. The array is viewed cyclically on n,, i.e., the last column is followed by the first one. Fig. 1 shows an example of diagonal readout with s = 3.

The purpose of this correspondence is to generalize the result [l], that the n1 x n,-code with readout s =1 can correct any burst of length up to n, - 1 if and only if n, 2 2n , - 3. (Codes with s = 1 were investigated also in [2] and (51.)

We study arrays in which columns have even weight and rows are codewords from a code with minimum distance 2t . It was observed [3], [4], that in some cases one has multiple burst-error correction. The proposed decoding algorithms depended on the specific choice of the code of minimum distance 2t . Only the readout with s =1 was considered in [3] and [4]. Here we obtain conditions on n, and n2 that are independent of the particular code of minimum distance 2t implemented on the rows. We concentrate on the case s = n, - 1 (denoted s = - l), but the analogous result for s = 1 is also given. Our main result is proved in the next section and can be stated as follows: Consider the n, x n, array code with the s = - 1 readout, each column having even weight and each row being a codeword in a given code of minimum distance 2t . Then this array code can correct up to t bursts of length I n, if and only if n2 2 2tn1 +l.

A similar result can be obtained when s = l . In this case, the array code can correct up to t bursts of length I n, - 1 if and only if n2 2 2t( n, - 2) + 1. Notice that when t = 1, we obtain the result of [l].

In Section 111 we discuss decoding strategies. In Section IV we study the special case t = 1 and shortening procedures.

Manuscript received November 7, 1986; revised November 3, 1987. M. Blaum is with the IBM Almaden Research Center, 650 Harry Road,

K65/802, San Jose, CA 95120-6099. P. G. Farrell was with the California Institute of Technology, Pasadena, CA.

on sabbatical. He is now with the Department of Electrical Engineering. University of Manchester, Manchester, UK.

H. C. A. van Tilborg was visiting with the IBM Almaden Research Center, San Jose, CA. He is now with the Department of Mathematics, Eindhoven University of Technology, Eindhoven, The Netherlands.

IEEE Log Number 8823986.

001 8-9448/88/09OO-1061$01 .OO 01988 IEEE

Page 2: Multiple burst-correcting array codes

1062

Fig. 1. s = 3 readout when n, = 5 and n z = 10.

11. DEFINITIONS AND MAIN RESULT For given integers n,, n,, and t , 11 n , s n , , t 21, fix any

[n,, k,,2t] binary linear code (denoted by C,,), and let d ( n , , n,; t ) be the array code consisting of all binary n, X n2 array A = ( a,,), ~, < , <, ~ " 2 satisfying the following two condi- tions:

1) 2)

every row of A is a codeword in Gr; every column of A has even weight.

Clearly, d ( n l , n,; t ) is a code of length n1n2 and dimension

To complete the description of the code, we need to specify the order in which the bits are going to be read. As discussed in Section 1, we use the diagonal readout with parameter s, 1 I s I n,- l ,gcd(s ,n , )=l .So,forgivenn, ,n , , t , a n d s , l ~ n , ~ n , , r , l ,gcd(s ,n , )=l andafixed[nz,k, ,2t] binaqlinearcode,we denote by d ( n , , n,; s; t ) the codewords obtained from the d( n,, n,; t ) array code with the diagonal readout defined in Section I.

We hereafter concentrate on &(TI, , n,; - 1; t ) (the analogous results for d( n,, n,; 1; t ) will, however, also be stated).

Let i and j be integers, j > 0. We denote by ( i ) , the unique integer k, 0 5 k < j , such that i = k(mod j ) . Let A =

( a , , ), < , < ,,,.os , < ,12 E &(n,, n2; - 1; t ) . The s = - 1 readout can be described by the following ordering:

(n, - 1)k,.

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 5. SEPTEMBER 1988

where

/(i,;) = ( i ( n , + 1) -;.,>,,. ( 2.4) Proof: The statement follows from the following observa-

tions:

a(O,O) = c,

It is easy to verify that readout (2.1) gives array A the structure of a directed cycle [7]. So, a burst with beginning point a,, and

following readout (2.1). The next lemma charactenzes bursts of length up to n,.

Lemma 2.1: Let A = (a , , ) , I < <, < " 2 be a burst of length < n, with beginning point a,, and endpoint ukl . Then, the burst follows the path

endpoint akl can be described by a directed path a,,, + . . . + a&/

a! , + a!+ 1. ( J + I ) ,* --t ' . ' + a k /

a,, +al+l , ( ,+l )"2+ . . . + ~ " l - l ~ ( ~ l - l ~ , - f ) "2

(2.2)

where I < k I n, - 1, I - k = J - I(mod n 2 ) , or the path

+ . . . + a o . ( J - l - 1 ) n 2 4 + (2'3)

where 0 5 k < I , I - k = j - i -l(mod n?). The proof of Lemma 2.1 is immediate using readout (2.1).

What it means is that a burst of length up to n1 can be either in a single diagonal or in two consecutive diagonals. Observe also that no burst of length up to n, can dffect any given row or column more than once. Hence &( n,, n,; - 1; t ) can trivially correct t - 1 bursts of length 5 n,. Indeed, by Lemma 2.1, t - 1 bursts of length I n, will leave at most t - 1 errors in each row. These errors are corrected by C,,. Note that in this decoding the vertical code is never used.

Let A = (a , , ) , ~ I < n , . ~, < "2 be a codeword with the s = - 1 readout. Let n = n,n,, and c = (co,cl , . . . c , , - ~ ) be the codeword obtained by writing the bits of (a,,), , % , < n , , O < " z as a vector.

Lemma 2.2: a,, = c / ( ! , , ) ' O I I < I I ~ , 01 j < n ,

u ( i , j ) = c k - u ( i + l , j ) = c ~ ~ + , ~ ~ + ~ ) , ,

a ( i , j ) = c k - a ( i , j + l ) =qk-,,,) , , O < j I n , - 2 . 0

We say that array entries a,, and a,,, 0 I i, k < n,,O I j , / < n,, are at distance d < ( ( i , j) ,(k,I)) , where

dc( ( i, j ) , ( k , I)

O I is n, -2

= A n { ( / ( i d - / ( k , ~ ) ) n , ( / ( k 7 / ) - f ( i A l l } . (2.5)

This means that array entries a,, and a,, are at distance d, if the corresponding coordinates, say c, and c ~ , , are d,. positions apart when viewed cyclically, i.e., d,. = min { Iu - V I , n - 1u - V I } .

Our aim is to prove that &(TI, , n,; - 1; t ) can in effect correct t bursts of length I n, provided that certain conditions are met. In our proof we do not want to make use of the particular structure of C,,. We just want to use its minimum distance 2t. This restriction may very well have effects on the condition that we are going to derive.

Before proceeding with the main result, we define the horizon- tal and vertical syndromes of an array (a , , ) , % , < ,ll,o <, < ,,2.

The vertical syndrome u is a vector of length n2 whose components are

n l - 1

u,= a,,, 0 5 j 1 n , - 1

The horizontal syndrome h is a vector of length n, whose ith component h, is the syndrome of row (a,,, a l l , . . ., a,,,,* 1) with respect to the code C2,. We can now prove the main result.

r = O

Theorem 2.3: Let n1 and n2 be integers such that n2 2 2tn, + 1. Then &(TI , , n,; -1; t ) is able to correct up to t bursts of length I n,.

Proof: It is enough to prove that no sum of 2t bursts each of length I n, can be a codeword, i.e., it cannot have u = 0 and h = 0. Notice that when we say a burst, we also include the array containing it. There should be no confusion about this slight abuse of notation. So, assume we have 2t bursts BO, B'; . ., B2'-' each of length I n, and that the sum B =E;'=;'Bh is a code- word, i.e., the horizontal and vertical syndromes of B are zero. From Lemma 2.1, each burst of length I n, hits each row of the array at most once. Since h = 0, each row in B has weight 0 or 2t. In particular, each burst has the same weight w and its nonzero entries are in the same rows, say 0 I i, < i, < . . . < i, I n, - 1. Since u = 0, it follows that w 2 2.

Assume that the nonzero entries of burst Bh are

(i,, j,ck)) ,( i,, j i ' ) ) ; . .,( i,, j,!"), 0 I k < 21

Without loss of generality, 0 I j:') < j j l ) < < . . . < j j2'- ') - < n, - 1. Since u = 0, the nonzero entry at position (i,, j ! ' ) ) , 1 I k < 2t, has to be cancelled by a nonzero entry in the same column, say by ( i / , J , ( h * ) ) , where 2 I I I w, k* # k and J j h * ) = J ! , ) . Since j ! k ) - j l . (&- I ) I ( J j ' ) - j,(k*)),,2, for 1 I k < 21,

Page 3: Multiple burst-correcting array codes

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 3 4 , NO. 5, SEPTEMBER 1988 1063

Row 0

Row q

1 2 r 1 2 2t-r

* q+l - q+l - - q+l = = 4 = = 9 - . - 1 0 . . . o 1 O ” ’ 0 . . . . 1 0 “ ‘ 0 1 O “ 0 1 O ” 0 . * - 1 O”0

0 0 0

0 0 0 1 0 ‘“0 1 0 . . . o . . . 1 0 “ ‘ 0 1 0 * * 0 1 O “ 0 * * . 1 0 a . o

0 0 0

Fig. 2. Bursts of length 5 n, with zero syndrome

Similarly,

so

This contradicts the assumption n2 2 2tn, +l.

Theorem 2.3 gives a sufficient condition on n , and n2 for an d ( n , , n,; - 1; t) code to correct up to t bursts of length I n,. The next theorem shows that this condition is also necessary.

Theorem 2.4: Let n, and n , be integers such that n1 2 2, n2 2 2t, n2 I 2tn,. Then without assuming additional structure on Gr, d( n, , n,; - 1; t) is unable to correct all possible error patterns of t bursts of length I n,.

Proo) It suffices to give a code Gr and an error pattern of 2t bursts of length I n, with zero syndrome.

If n2 = 2t, C& is the repetition code { O , l } . Thus the array A with ones in the two top rows and zeros everywhere else in the code. It is also the sum of 2t bursts of weight and length 2. Thus we may assume that n , > 2t.

W r i t e n , = 2 t q + r , l ~ r ~ 2 t . C l e a r l y , 1 ~ q ~ n l - 1 . L e t c b e the word of length n2 and weight 2t defined by ~ ( ~ + , ) ~ = 1 , 0 1 i 1 r - 1 , and ~ , , - ~ , = 1 , 1 1 i 1 2 t - r , c,=O,otherwise. Let A be the n, X n2 array which has row 0 and row q equal to c and zeros everywhere else (Fig. 2).

Without assuming additional structure on G,, the word c may very well be in qf, in which case A has horizontal and vertical syndrome equal to zero. We can also see that A is indeed the sum of 2t bursts of length I n,. These 21 bursts are given by

the r bursts of weight 2 and length n1 - q + 1 starting at position (q, ( i + 1)( q + 1)) and ending in position (0, i( q + l)), 0 I i I r - 1; the 2t - r bursts of weight 2 and length q + 1 starting at position (0, n2 - iq) and ending in position ( q , ( n , -(i -

0

An analogous result can be stated for the readout s -1. The proof is similar.

Theorem 2.5: Let n, and n2 be integers such that n, I n 2 . Then d ( n , , n,; 1; t) can correct any pattern of t bursts of length - < n, - 1 if and only if n2 2 2t(n, -2)+1.

1)

2)

l)q),,,), 1 I i I 2t - r.

Example 2.5: t = 2, n, = 7, n2 = 29, s = - 1. Let C, be a [29,23,4] code (for instance, a shortened BCH

code). Then d(7 ,29; -1,2) is a [7.29,6.23] = [203,138] code ca- pable of correcting two bursts of length up to seven. The reader could compare this with interleaving a [29,19,5] code seven times. This interleaved code can also correct two bursts of length up to seven. It also has length 7.29=203, but it only has 7.19 = 133 information symbols.

Notice that if t =1, Theorems 2.2 and 2.3 state that d ( n l , n,; - 1; 1) can correct any burst of length I n1 if and only if n2 2 2n1 + 1, while Theorem 2.4 states that d ( n l , n,; 1; 1) can correct any burst of length I n1 - 1 if and only if n , 2 2n, - 3. This last result is already known [l l , 121, [51.

111. THE DECODING OF t BURSTS Consider any array code d ( n , , n,; - 1; t). In this section, we

concentrate on the case s = - 1, although, as usual, similar results can be proven for s =l. Let B be an error pattern which is the sum of at most t bursts of length I n,. As before, let h and u be the horizontal and vertical syndromes, respectively.

By Lemma 2.1, each burst affects each row of B at most once, so each row of B has weight at most t. If B has rows of weight

t, these rows can be decoded by the decoding algorithm of the horizontal code c,. If a row in B has weight t, these t nonzero elements come from t different bursts.

Definition 3.1: A gap of length I has occurred at positions j + l , j + 2 , . . . , j + l (taken modulo n 2 ) in u if ~ ~ = u , + ~ + ~ = l and uJ+ , = uJ+, = . . . = uJ+/ = 0. According to this definition, a gap of length I cannot be extended to a gap of length 1+1. Clearly, if vJ = 0, column j in B will contain an even number of ones.

Definition 3.2: A gap at positions j + 1, j + 2,. . . , j + 1 is er- ror-free if the corresponding columns j + 1; . ., j + I in B are error-free, i.e., do not contain ones.

Theorem 3.3: Let n2 2 2tn, + 1. Then the vertical syndrome u contains an error-free gap of length 2 n,.

Proof: Each of the t bursts affects at most n, + 1 consecutive columns in B and thus at most n1 + 1 consecutive coordinates (viewed cyclically) of u. These t bursts separate at most t error-free gaps of total length 2 n2 - t(n, + 1). So, at least one error-free gap will have length

1 [ 2tn1 + 1 ,t( n, + 1)

Once one has found an error-free gap of length 2 n , , the decoding algorithm is straightforward. The real problem is that more gaps of length 2 n1 may be present in u, not all of them error-free.

Conditional Decoding Algorithm 3.4: Let B be the sum of I t bursts of length I n,. Assume that positions I + 1, I + 2,. . ., I + n, (taken cyclically) are part of an error-free gap of length rn,.

Page 4: Multiple burst-correcting array codes

1064 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 5. SEPTEMBER 1988

Then the t bursts are decoded as follows:

FOR i = 1 UNTIL n, DO BEGIN IF h, is the syndrome of < t errors

THEN decode row i in B ELSE BEGIN; :=smallest integer > I + n, such that

U( I )"2 = ; correct position (i, j ) ; update h , ; decode row i

END; update u

END.

Proof: The algorithm trivially decodes the bursts if each row of B contains at most t - 1 errors, since C,, can correct t - 1 errors. No row can contain more than t errors since each burst affects each row at most once.

Let i be the first row containing t errors. These errors must come from t different bursts. Let the errors in row i be at positions (;l),r2,(;2),t2,. . .,(;,),,,, where I + n, < j , < J2 < . . . < j , I I + n 2 . Since columns I + 1, I + 2,. . . , I + n, are error-free, it follows from Lemma 2.1 that position ( i , , j , ) is the only error in the columns ( I + n , + l ) ~ ~ , ( I + n , + 2 ) , , 2 , . . . , ( j l ) , ~ * . Indeed any other error could not lie in the same burst as ( i , j,,), 1 I n I t . So at least t + 1 bursts have occurred. This contradicts our assump- tion on the number of bursts.

So (i,, j , ) is the only error in columns ( I + n, + l),r2, ( I + n, + 2),,>,. . It follows that j , is the smallest integer > I + n,, such that v ( , ) n 2 = l . Clearly, after correcting position ( i , j , ) , row i

0

The problem with the conditional decoding algorithm 3.4 is that not all gaps of length > n, in u are error-free; see, for instance, Fig. 3. This problem, however, is not as catastrophic as it seems. Theorem 3.3 states that at least one error-free gap of length > n , does exist. On the other hand, at most t gaps of length 2 n, exist, since there are at most t bursts to separate them.

contains t - 1 errors. These can be corrected by code C,,.

0 0 0 0 0 0 1 0 0 1 0 0

!!= 0 0 0 1 0 0 0 0 0 1 0 0 -- gap

Flg 3 In A(4.12, - 1,2), nonerror-free gap of length 2 nl = 4

We can now state the general decoding algorithm. The idea is first to identify each of the gaps of length 2 n,, and then determine if it is really error-free. A way of doing that is to apply the conditional decoding algorithm 3.4 to this gap. If it gives an acceptable error pattern of at most t bursts, this implies by Theorem 2.2 that we are done. If ii does not, we proceed with the next gap. By the above remark, we will have to make at most t tries.

Decoding Algorithm 3.6: Let B be an error pattern which is the sum of at most t bursts of length ~ n , . Then the decoding algorithm proceeds as follows.

1) k + - 1 . 2) 3)

4)

5 )

Find the kth gap of length 2 n,. Apply conditional decoding algorithm 3.4 to B with re- spect to the gap found in 2). If a pattern of at most t bursts of length I n, is found, then stop. Else k + k + 1 and go to 2).

Proof: By Theorem 2.2, the syndromes are uniquely deter- mined by the error pattern consisting of at most t bursts of length I n,. By the conditional decoding algorithm 3.4, we can identify this error pattern once we have an error-free gap of length > n,. To this end, we will apply the conditional decoding algorithm to the gaps of length > n,. There are at most t of those and at least one of them is error-free. 0

Iv. THE CASE t = 1: DECODING AND SHORTENING

When t =1, the condition for an n, x n , array to be n,-burst correcting (always with the - 1 readout) is n 2 > 2n, + 1. In this case, when a burst of length 5 n, occurs, then there is a unique error-free gap of length 2 n, in the vertical syndrome. If we have an array

( ~ J 0 5 , ~ n - l 3

O S , S n 2 - I

the horizontal and vertical syndromes are now defined as- horizontal syndrome:

n 2 -1

h , = a, , , 0 1 i < n , (4.1) J - 0

vertical syndrome : n , - 1

u,= a,,, O < j < n , . ( 4 . 4 r = O

Note that h = ( h o , h , , . . . , h , , l ~ , ) = O and U = ( U ~ ) , ~ ~ , ~ ~ ~ , U , , ~ ,) = 0 imply that

( ' , J ) 0 5 ( 5 ) I l

is a codeword. The decoding algorithm for d ( n , , n2; - 1; 1) then, which com-

bines decoding algorithms 3.5 and 3.6, works as follows ( n , 2 2n,

Decoding Algorithm 4.1: Let B be an error pattern which is a + 1).

burst of length I n,, then

compute horizontal and vertical syndromes, h and t' by (4.1) and (4.2); if w ( h ) = w(u) = O stop (no burst oc- curred) ; determine 0 I io < i, < . . . < i,.- , < n, and 0 I j,, < j , < . . . < J H , _ , < n , , such that u,,=vJ,= . . . = u , , - , = l and h = h = . . . = h =1, 0 elsewhere; determine the unique [(mod w ) such that ( j , - 2 n , + 1; let j,* = j , , j: = j , , ,,. . . , ;:- , = j , , I( ,, where the sub- scripts of j are taken modulo w ; the burst has ones at positions (io, j< ), ( i , , j: ), . . . ,

10 [I l w - 1

( i,. - 1 9 ;:- 1 1. In Fig. 4, we give examples of the decoding algorithm 4.1 for code d ( 5 , l l ; - 1; 1). We end this section by discussing shorten- ing of d ( n , , n,; - 1; 1)-codes, n, > 2n, + 1.

Simple array codes with s = - 1 readout are in general nonsys- tematic. Therefore, it is not immediately obvious how to shorten the codes efficiently. We may proceed as follows, however, as- suming initially that n2 = 2n, +l.

Shortening by 1 I i I n: - 2 elements is straightforward and consists of using only those words in the array code which have zero elements in the first i readout positions (e.g., 0-22 in the example of Fig. 5 ) . Thus shortening by i elements corre- sponds to setting i information elements to zero. This is true whether the elements are information or parity, because a parity check can be set to zero by adjusting the value of an appropriate information element elsewhere in the array. Note that, if I = n,( n, - 1) - 1 so that all readout positions up to and including

1)

Page 5: Multiple burst-correcting array codes

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 5, SEPTEMBER 1988 1065

Step I: h = /o.I.~.o,o)~

Step 2: I)= ~o.o,o.o,l,o.l,o.o,o.o, i n = 1. i, = 2 ” . io = 4. i l = 6 k,, = 8, k, = 1

Steo3: P = 0 Step 4: Step 5: burst at (1,4),(2,6)

j; = 4, I; = 6

I . 4 1 3 ? * . /i 0

0 0 0 0 1 0 1 0 0 0 0

b = ~l,l,l,l,OI~ y = (1.1.o,o.o,o.o.o,1,1,ol in = 0. il = 1. il = 2, il = 3 - , < * j, = 0, j, = 1, j 2 = 8, j3 = 9 k,, = 1, kl = 0. k2 = 6, k j = 0 P = 2

15 16 1 1 2 1 3

I . 1 1 0 0 0 0 0 0 1 1 0

0

Fig. 4. Decoding of two words (n, = 5, n2 = 11)

position nl(nl - 1) - 2 = n: - n, - 2 have been set to zero (0-18 in Fig. 5), then position n: - 1 (24 in Fig. 5) is also zero. This is because the leftmost column in the array has n, - 1 zero ele- ments, and the even parity relationship forces the remaining element to be zero also. No advantage of this can be taken, since position n: - 1 (24) is not consecutive with the shortened posi-

diagonal -1

5

TABLE I SHORTENED ARRAY CODES WITH b = 5

n’ k‘ r‘ R

(55) 54

32 30

27 25

22 20

18 17 15

12

. . .

. . .

...

. . .

...

(40) (15) 39 15

17 15 16 14

13 14 12 13

9 13 8 12

6 12 5 12 4 11

1 11

. . . . . .

. . . ...

. . . . . .

. . . . . .

. . . . . .

(0.727) 0.722

0.531‘ 0.533

0.481 0.480

0.409 0.400

0.333 0.294 0.267

0.083

. . .

. . .

. . .

. . .

. . .

I 0 50 45 40 35 30 25 20 15 10 51 6 1 51 46 41 36 31 26 21 16 11

12 7 2 52 47 42 37 32 27 22 17 18 13 8 3 53 48 43 38 33 28 23 24 19 14 9 4 54 49 44 39 34 29

\‘diagonal 0 diagonal -1

Fig. 5. CodeA(5,ll; -1; l )

tions 0 to n: - nl - 2 (in Fig. 5, 24 is not consecutive with 0 to 18).

2) When shortening reaches readout position n: - 2 (23), then n: - 1 (24) can be included as a bonus, since it is already forced to zero. Now the forced position can, without loss of generality, be thought of as a parity check. Thus the array code has been shortened, so far, by n: - 1 information elements and one parity element (n: elements in all).

3) As shortening continues, for every n1 - 1 additional con- secutive information elements set to zero, a further bonus parity element is obtained, in positions n: + jn, - 1, where 1 I j I n, - 2 (positions 29, 34, and 39 in Fig. 5).

Shortening terminates when the dimension k’ of the short- ened code reaches unity. That the maximum number c of bonus parity checks is c = n, - 1 and that these bonus parity checks are in positions n; + i n l - 1, where 0 I j I n, - 2, can be seen as follows. If we could obtain another bonus parity check, it would occur in position n: + (n, - l)n, - 1 (position 44). Then the length n’ of the shortened code would be

4)

n’= 11,112 - [ n: + (n, - l)n,]

= 2n; + n, - 2n; + n, = 2n,

and the redundancy would be r’ = n1 + n2 - 1 - n, = 2n,. Thus the dimension k’ of the shortened code would be 0, a contradic- tion. In Fig. 5, c = 4.

In Table I, we list the shortened codes derived from the array code with parameters t = l , n , = 5 , n2=11, s = - 1 , and b = 5 (the example of Fig. 5). The shortened block length is n’, r ’= n’ - k‘, and R is the rate of the shortened code.

In the range 1 5 k‘ I n, - 1, the shortened array codes have

r’= (n, + n2 -1) - c

= 2n, + 1 = 2b + 1

R 5 ( n1 -1)/3n1 <1/3.

Thus the shortened codes in this range meet the Reiger bound [6]. However, they probably are not useful because they have rates less than 1/3, the rate of the triplication code.

In the range n, I k‘ I 2( n, - l) , we have

r’= (n, + n2 -1) -( c-1) = 2n, + 2 = 2 b + 2

and for k’= n1 + 1

R=(n l+1) / (3n1+3) =1/3.

Thus the shortened codes in this range have burst lengths which are by one element short of the Reiger bound, and with the exception of the k’= n, case have rates > 1/3; i.e., better than triplication.

Because of the geometry of the array, it is not possible to devise a more efficient form of shortening for the array codes with s = - 1 and n, = 2n, +l . If n2 > 2n, + 1, then shortening can be done as in 1)-4) above, but it is more efficient to begin by deleting columns of n, elements (n, - 1 information, one parity) from the array until n2 = 2n, +l . Similar efficient forms of shortening can be devised for array codes with s = 1 and other values, and for array codes with t > l . Shortening reduces or destroys the ability of an array code to correct “end-round” bursts.

Page 6: Multiple burst-correcting array codes

1066 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 5, SEPTEMBER 1988

REFERENCES M. Blaum, P. G . Farrell, and H. van Tilborg. "A class of burst error-cor- recting array codes,'' IEEE Truns. Inform. Theory, vol. IT-32, pp. 836-838. Nov. 1986. R. Campello de Souza, Internal Report, Communications Res. Group. Univ. of Manchester, 1984. J . S. Daniel, "Double burst correcting array codes, generation and decod- ing," presented at the IEEE Int. Symp. Information Theory, Brighton, UK, June 1985. J. S . Daniel and P. G. Farrell, "Burst-error-correcting array codes: Fur- ther developments," presented at the E E E Conf. Digital Processing of Signals in Comms., Langhborough, Apr. 1985. P. G. Farrell and S . J . Hopkins, "Burst-error-correcting array codes," Radio Elm. Eng., vol. 52, no. 4, pp. 188--192, Apt. 1982. S. Reiger. "Codes for the correction of 'clustered' error," I R E Truns. Inform. Theory, vol. IT-6, pp. 16-21, Mar. 1960. W. Zhang and J. K. Wolf, "A class of binary burst error-correcting quasi-cyclic codes," I E E E Trans. Inform. Theory, vol. 34, pp. 463-479, May 1988.

A Geometric Approach to the Maximum Likelihood Spectral Estimator for Sinusoids in Noise

C. FOIAS, ARTHUR E. FRAZHO, MEMBER, IEEE, A N D PETER J. SHERMAN, MEMBER, IEEE

Abstract -Using the Naimark dilation for the data correlation se- quence, a new interpretation is obtained of the maximum likelihood spectral estimator. This settkg also provides new insight into some funda- mental results on orthogonal polynomials.

I. INTRODUCTION We address the problem of estimating sinusoids that have been

corrupted by additive stationary noise. Our intent is to demon- strate how the Naimark dilation for the data correlation sequence can be used to provide additional insight into some results of Szego' concerning orthogonal polynomials [9], and to give a new interpretation of the maximum likelihood (ML) spectral estima- tor developed by Capon [2].

It is well-known that the frequency resolution of the ML estimate is better than that of the periodogram [2] but in general not as good as that of the autoregressive (AR) spectral estimate for a fixed number of correlation lags (Lacoss [7], Kay and Marple [6]). The primary value of the ML estimate, as demon- strated by Lacoss [7], is that it tends to yield reliable sinusoid power estimates for sufficiently high signal-to-noise ratios, inde- pendent of the noise color. Along these lines, Capon [2] has also demonstrated that, if we use a sufficient number of data correla- tion lags, the spectral power near a peak corresponding to a sinusoid will have a neghgible effect on the value of the peak. We prove that, in any regular noise environment and for any signal- to-noise ratio, the ML spectral estimate converges monotonically to the point power spectrum associated with the sinusoids as the number of available correlation lags goes to infinity. We also

Manuscript received April 8, 1987; revised November 23, 1987. This work was supported in part by the Research Fund of Indiana University and the National Science Foundation under Grant ECS 8419354. The paper was presented at ISSPA, Brisbane, Australia, August 1987.

C. Foias is with the Department of Mathematics, Indiana University, Bloomington, IN 47405.

A. E. Frazho is with the School of Aeronautics and Astronautics, Purdue University, West Lafayette, IN 47909.

P. J . Sherman is with the School of Mechanical Engineering, Purdue Univer- sity, West Lafayette, IN 47907.

IEEE Log Number 8823985.

demonstrate in an example how this convergence property can be used to determine whether or not a strong spectral peak corre- sponds to a sinusoid. This geometric development can be ex- tended to the multivariate case.

11. PRELIMINARIES We begin by introducing our notation and conventions. All

spaces are Hilbert spaces, and (.;) denotes the inner product corresponding to any Hilbert space. The closed linear span of a set of elements { uk }I is denoted by V;l u k . A vector f is cyclic for an operator T on H if V, ~ oT'lf = H. The Hardy space H' is the subspace of L2[0,2n) whose Fourier coefficients of e'"" are zero for any n < 0, that is, h is in H 2 if h has a power series expansion of the form

m

h( e'") = Ch, ,e 'nw 0

Consider the observation process X,, = S,, + N,, where N,, is a purely nondeterministic wide-sense stationary zero mean random noise process, and S, is a purely deterministic random signal process of the form:

k

S,, = A , COS( nu, + +,). (2.1) I = 1

Here the +, are independent identically distributed random vari- ables, uniform over [0,2n), while the A , and the distinct a, are unknown parameters. The purpose of this correspondence is to give a new interpretation of Capon's method [2] for estimating both the frequencies 52 = { w, }'; and the amplitudes { A , }$ of the harmonic signal S, from X,,.

The correlation sequence for S, is k

R,( n) = (Af/2) cos( n w , ) . (2.2)

M n ) = (W"q,q) (2.3)

I = 1

Using the Euler-De Moivre identity, this may be written as

where

W = &g[ e ' w l , e-'"' . . . , e ' " ~ , e - r " ~ ]

q = ( V ) [ A , , 4,. . ., A, 3 4 1 ' and the inner product is the standard inner product on C2'. Obviously, W is a unitary operator on C2h. Because the eigneval- ues are distinct, q is cyclic for W.

Since N,, is purely nondeterministic, the correlation sequence for N, has a spectral representation of the form

= (277) - i 2 T g ( e'") j ( e 'u) e"lu d w . (2.4) Here, SN(e'") is the spectral density for N,,, and g in H' is the minimum phase spectral factor of S,,,(e'"). Let S denote the unilateral shift on H 2 , that is, Sf = e'"f for all f in H 2 . Then (2.4) may be expressed as the H 2 inner product

R N ( n ) = ( S " g , g ) . (2.5) Obviously, S is an isometry (that is, S*S = I). Moreover, be-

0018-9448/88/0900-1066$01.00 01988 IEEE