• 沒有找到結果。

A Complex-valued Cyclic Code Using Fast Fourier Transform

N/A
N/A
Protected

Academic year: 2022

Share "A Complex-valued Cyclic Code Using Fast Fourier Transform "

Copied!
4
0
0

加載中.... (立即查看全文)

全文

(1)

A Complex-valued Cyclic Code Using Fast Fourier Transform

G =

Yeun-Renn Ting, Erl-Huei Lu, Chiou-Yng Lee Ermail: d882 1002@stmail.cgu.edu.tw, or lueh@mail.cgu.edu.tw

Department of Electrical Engineering, Chang Gung University, Kuei-San, Tao-Yuan, Taiwan, R.O.C.

-

1 1 1

I(N-I)

1 w I I

..

w

.

W h

(2)

W - W ' - I )

1 (K-1)l

-

-

Abstract: A (N, N-d,h+l) cyclic code based on complex-valued discrete Fourier transform is proposed in this paper. Since the code length N of the code can be any positive integer and each symbol in a code word can be a complex value (consists of two real-valued symbols), the code may be more suitable for some applications, than those codes based on Galois fields. One can design encoder structure using existing FFT chip. Due to the cyclic structure the decoding are easy to use a step-by-step manner.

Keywords: RS-like Code, FFT Code, cyclic code, decoding, Complex-valued

1. Introduction

Error control coding is one of efficient techniques for error control in many digital systems. In particular, the class of Reed-Solomon codes (RS code) has been widely used in reliable communication systems and data storage systems. An (n, k) RS code is encoding and decoding by the arithmetic of Galois fields GF(P).

Since the minimum distance of the code is n-k+l, it is called a maximumdistance-separable code (MDS code).

Although the RS has many important advantages; for example, it has high error correcting capability and can simultaneously correct random errors and multiple burst errors. However its code length is constrained to be p"-1 or a factor of pm-l, and each byte in a code word should be m bits (if p=2), besides any error bit caused by a low noise will be counted as an error of the whole byte.

Discrete Fourier Transforms are playing on increasing implement role in many practical applications.

There are same branches for investigation of the discrete transform; for example, as indicated by Marshall [ 11, the using of error control coding for discrete signals, and by Lin and Shiu [2], using DCT in Real-valued error control coding.

In this paper, a (N, N d " + l ) cyclic code is presented based on complex-valued discrete Fourier transform, the cyclic structure of the code makes the encoding and decoding procedures much easier than that of Marshall's and Wu-Shiu's codes. Since the code length N of the code can be any positive integer and each symbol in a code word is a complex value (consists of two real value), the code can be directly applied to analog communication systems and analog signal storage systems. Moreover, small amount of errors caused from low noise, computation truncating or rounding can be deleted by using a proper threshold for syndrome values.

Finally, a (N, N-2) code is used as an example to illustrate the encoding and decoding procedures.

2. DFT cyclic codes

H =

Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT)[3] are defined as:

X [ k ] = x d n ] w f Where k ~ [ O , N - l l (1.a)

d n ] = - x X [ k ] w p Where n E [0, N -11' (1.b) ,where wN = e - j W o

-

- e - J 2 n / N

.

Expanding n equation

N-l

n=O

1 N-l

N k=O

K ( N - 1) W K ( N - z )

..

1 -, W ( K + I)( N-I) (K+I)( N - 2 )

..

1

.

w h ' (3)

..

1

(N-I)( N-I) w( N-I)( N - 2 )

-

-

of (1 .a) in matrix form, one gets

-

We can easy show that the G

-

HT=O [4]. G in (2) generates (N, K) cyclic codes, which are easy to be decoded using syndrome.

3. Encoding and Decoding of (N, N-2) DFT cyclic One can gets fast Fourier transform (FFT) encoding structure from (1.a) and IFFT decoding structure from (1.b) for cyclic complex-number codes. One can design encoder structure using existing FFT chip as shown in

codes

0-7803-6720-0/01/$10.0092001 IEEE 271

Authorized licensed use limited to: IEEE Xplore. Downloaded on January 9, 2009 at 23:50 from IEEE Xplore. Restrictions apply.

(2)

Fig 1, the pa ins are connected to ground directly.

U0

1 - 7

"0

= [e, e,

. .

e N - , ] .

u I

I I- "'

-,,,K(N-I) #+I)(N-I)

,,,K(N-2) ,,,(K+I)(N-2)

..

W K 1 (K+I )I

1 1

-

Fi g.

. Block diagram of the encoder (N=8, K=6) Viewing the Peterson-Gorenstein-Zierier algorithm described in reference [4], we know that fx a (N, K) DFT cyclic code, when d=3 it can correct one symbol error. Now we just consider a (N, N2) code. For its' cyclic property, K=N-2, NK=2, syndrome number is 2.

So we can design the decoder structure as Fig 2.

.

I

U ("Karron dnm) 4

Fig. 2. Decoder of (N, N-2) smgle error correction double error detection DFT cyclic code

Let us consider three conditions as follow If there is no error:

Errorpattem=[eoel . R N - I ] , theneo=el =..F~N.I=O.

So that syndrome s1=s2=0

= (1)

,

S2

=o,

S , ( N - U

=

S $ N - 9

= O ...

Where sii) is S, cyclic shift i times. We can verify there is no error.

If there is one error:

Error pattem=[eo el ..e ~ - 1 1 , and the error location is at a. So some one

ea=a+jb f o r 0 5 a S N-1 ei=0 f o r i f a

When one block data received in register & RI

..

&-I,

We have

0-7803 -6720-0/01/$10.00~200 1 IEEE 272

,,,

K ( N - 2 ) W ( K + I ) ( N - 2 )

(7)

,,,KI ,,,(K+I)I

1 1

We assume e6 =a+jb, ei =O, fori# 6 and 0 5 i 5 N-1, then

S [ @ = U

+ j b

si6) = a + j b

So we can verify that the error location is 6 , and error value is a+ jb.

(iii) If there are more then one errors:

S ( i ) I = c + j d

S ( ' ) = f

+ jg

Then we shift the register data right i times, i from 0 to N-1, can' t get the same syndrome. So we verify there are more than one error and can' t be corrected.

The IFFT structure is similar to FFT structure

,

just

2

(i) Change wkn as w - ~ " , (ii) Results divide by N.

Authorized licensed use limited to: IEEE Xplore. Downloaded on January 9, 2009 at 23:50 from IEEE Xplore. Restrictions apply.

(3)

It's block diagram show in Fig 3. Im

" I

x-t *

4.

error can be corrected?

Error Correcting Capability of DFT codes For a (N, N 2 ) DFT code, how large magnitude the

Define: dw = Iw'+' - w'

I

= la+ j A =

d w

Then we define a threshold t

.

(Reference Fig 4).If V is a code vector, then syndrome vector S=(sl,sz)=O.If there is one symbol error, and the error location is at position 6 , that is es =a+ jb, then

s,

= e , w

= c + j d

= e W(k+')S = 0 WkJ # W(k+1)6

k6

f

+ j g

2 s

: . c + j d # f + j g s,

-

s2 =

e,

(Wk6

-

W(k+')6

>- >

e s - d ,

If e6 ad,

<

7 , we judge sl=sz,so this error will be ignore (Fig 4,case 1). In other word, a magnitude of error,

le, .

d w / 2

14,

le, 1

El

, can be corrected.

Selecting N and K, ldwl would be decided. For example (128, 126) code same as (8,6) code can correct one symbol error. It's code rate 126/128 is higher than (8, 6) code rate 6 4 but it's /dwl is smaller than (8, 6) code's ldwl

.

If the truncating or rounding error (roundoff for short) of every symbol is q, Suppose there is no any symbol transmition error, but total roundoff e, x N> r

,

we judge it's syndrome SI f s z it is out of fault tolerance (Fig 4,case 2), then will be corrected. If

r

is fixed, (128, 126) code total roundoff eT is larger than (8, 6) code's, then (128, 126) code will easier out of fault tolerance.

0 Syndrome vector of a cordword Syndrome vector of a e m r message Fig 4. Syndrome vector of codeword and error message

Now let us construct a (8, 6) DFT cyclic code as an example. Which can correct one symbol error and detect double errors. As one can see, the arbitrary one symbol error can be corrected, and more than one error can detected, though coupled with some small computational error. As mentioned above if the magnitude were not big enough, it would be ignore. So the threshold value is chosen appropriately, small amount of errors caused fiom low noise, computation truncating or rounding can be deleted by the syndrome values, as shown in fig 5,we choose the threshold

r

to be fault tolerance.

x(t)

T

I

. . .

. . .

I

(b)

Fig 5. Illustration of DFT code (N=8,K=6), (a) input sequence x[n], (b) Fourier series coefficients X[k]

for x[n]. To emphasize that receiver sequence after decode procedure, the symbol error can be correct and after IFFT the input sequence will be recover.

5. A fast decoding algorithm for (N, N-2) DFT cyclic codes

0-7803-6720-0/01/$10.00O2001

IEEE

273

Authorized licensed use limited to: IEEE Xplore. Downloaded on January 9, 2009 at 23:50 from IEEE Xplore. Restrictions apply.

(4)

For (N, N 2 ) DFT codes, we have been discussed in previous section. It turns out that; we find two fast decision rules. (i) If there is no error, the syndrome is equal to zero, i.e. S , = S , =

0.

Just one step then the decoding procedure is complete. (ii) If there is only one symbol error, the magnitude of syndrome is equal to the magnitude of symbol error, i.e.

IsII=ls2i =(e,wkil=le,I.Iwkil=leiI,for04i4N-l Flow chart of the decoding algorithm is shown as fig 6.

Unconect

I

+-

Fig 7. Fast decoder of (N, N-2) single error correction double error detection DFT cyclic code

6. Conclusion

In this paper ve have introduced a new class of complex-valued cyclic codes and have shown that a subclass of them has a similar structure to the Reed-Solomn code defined over finite field. This result supports the well-known concept that the RS code should be a subclass of a cyclic code. There exist a RS-like subclass cyclic code in frequency domin too. These results are derived using transform domain techniques,.

Furthermore we demonstrated the encoding method could direct using FFT, and the decoding method could use a step-by-step manner and IFFT. It turns out that, how standard signal processing techniques could be applied to derive new decoding algorithms for cyclic error correcting codes.

7 . References

[ 11 T.G. Marshall, Jr.: ' Coding of real-number sequences for error correction: a digital processing problem', IEEE Trans. Select. Areas Commun., [2] Ja-Ling Wu, Jiun Shiu: ' Real-valued error control

coding by using DCT' , IEE proceeding-I vol. 139, 1984,SAG2 (2), pp. 381-391

NO 2, April 1992, pp. 133-139 [3] Alan V. Oppenheim, Ronald W.

Schafer: ' Discrete-Time Signal Process'

.

2nd ed.

Prentice Hall 1999, pp.542-546

Shun-Fu Pon, "A MaximumDistance-Separable Cyclic Code Using Discrete Fourier Transform", IEEE signal proceedings, Asia Pacific Conference on Multimedia Technology and Applications, Dec [5] R.E. Blahut: ' Theory and practice of error control

codes'

.

Addision-Wesley, New York, 1983 [4] Yeun-Renn Ting, Erl-Huei Lu, Shao-Wei Wu,

17-19 2000.

0-7803-6720-0/01/$10.0002001 IEEE 274

Authorized licensed use limited to: IEEE Xplore. Downloaded on January 9, 2009 at 23:50 from IEEE Xplore. Restrictions apply.

參考文獻

相關文件

We proposed a LARPBS algorithm for implementing the message-passing decoder of the regular (j, k) LDPC code defined by any sparse parity-check matrix H M×N , in constant time,

First, in the Intel documentation, the encoding of the MOV instruction that moves an immediate word into a register is B8 +rw dw, where +rw indicates that a register code (0-7) is to

Under the differentiated dynamic reliability policy, a link can provide a different error probability (i.e., a different code rate) to each of the sources using this link.. We

Hence, code for each non zero AC coefficient is composed of a basecode (corresponding to runlength/category) and a code corresponding to offset in.. Standard tables vs

• code such that make tree would generate a program named tree, which reads examples and outputs a piece of code for the decision tree according the format that will be

 Extend the syntax analyzer into a full-blown compiler that, instead of passive XML code, generates executable VM code.  Two challenges: (a) handling data, and (b)

• tiny (a single segment, used by .com programs), small (one code segment and one data segment), medium (multiple code segments and a single data segment), compact (one code

The set of all adherent points of A is denoted by A called the closure of A.. When A is empty, the statement