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 equationN-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.
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 bSo 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
,
just2
(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.
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, thens,
= e , w
= c + j d= e W(k+')S = 0 WkJ # W(k+1)6
k6
f
+ j g2 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 / 214,
le, 1El
, 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. Ifr
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
273Authorized licensed use limited to: IEEE Xplore. Downloaded on January 9, 2009 at 23:50 from IEEE Xplore. Restrictions apply.
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.