Beruflich Dokumente
Kultur Dokumente
1
0
1
) (mod ) (
N
n
kn
n k
x p N X
and
, ) (mod ) (
1
0
1
=
=
N
k
kn
k n
X p N x
where ) ( p GF has multiplicative order N and
) (mod 1
2
1
p N
p
\
|
=
1 2 4 3
2 3 2 3
4 2 1 3
3 3 3 3
F .
The spectrum of x is ). 1 2 2 3 ( = X The even
and odd parts of x and X are
), 3 1 3 4 ( ) ( = x E
), 4 2 4 3 ( ) ( = X E
) 1 0 4 0 ( ) ( = x O
and ). 2 0 3 0 ( ) ( = X O
Therefore ( ) 2 3 2 2 ) ( ) (
1
= + = X E x E y and
( ), 2 0 3 0 ) ( 2 ) (
2
= = X O x O y respectively,
are eigensequences with associated eigenvalues
) 5 (mod 1
and ) 5 (mod 2 j .
3. Code Construction
From Definition 1, the F matrix is given by
( )
|
|
|
|
|
|
\
|
=
) 1 )( 1 ( ) 1 ( 2 1
) 1 ( 2 4 2
1 2
1
1
1
1
1 1 1 1
) (mod
N N N N
N
N
p N F
L
M O M M M
L
L
L
where ) ( p GF has order N. If X x
and x is
an eigensequence of the linear transform , F
then its
spectrum satisfies , x Fx = so that ( ) 0 = x I F .
As a result, the matrix ) ( I F
plays a role
analogous to the parity-check matrix of a linear
block code with length N and dimension , K
where ( ) I F rank K N = . In what follows, the
standard echelon form of the parity-check and
generator matrices is used, i.e., | | P I H
K N
|
= and
| |
K
T
I P G | = . Four block codes over ) ( p GF
can
be generated, one for each eigenvalue . The
possible values for p are determined from the
restrictions implied by Definition 1, namely, N is a
quadratic residue of p that divides . 1 p
Example 2: Constructing linear block codes from
the FNTT of length , 5 = N over GF(41). Consider
, 10 = an element of order 5 in the given field,
) 41 (mod 13 5 and ). 41 (mod 9 j From the
transform matrix F
one obtains
|
|
|
|
|
|
\
|
26 14 17 6 19
14 6 26 17 19
17 26 6 14 19
6 17 14 26 19
19 19 19 19 19
I F
After some elementary row operations, the parity-
check matrices, in standard echelon form,
associated with the four eigenvalues j = , 1
are, respectively,
|
|
|
\
|
=
0 40 1 0 0
40 0 0 1 0
34 34 0 0 1
) 1 (
H ;
|
|
|
|
|
\
|
=
40 1 0 0 0
40 0 1 0 0
40 0 0 1 0
12 0 0 0 1
) 1 (
H ;
|
|
|
|
|
\
|
=
10 1 0 0 0
31 0 1 0 0
1 0 0 1 0
0 0 0 0 1
) ( j
H ;
and
|
|
|
|
|
\
|
=
4 1 0 0 0
37 0 1 0 0
1 0 0 1 0
0 0 0 0 1
) ( j
H ,
which yields the following Fourier Codes ) , ( K N F
with generator matrices
) (
G :
), 2 , 5 ( F
|
|
\
|
=
1 0 0 1 7
0 1 1 0 7
) 1 (
5
G ;
), 1 , 5 ( F ( ) 1 1 1 1 29
) 1 (
5
=
G ;
), 1 , 5 ( F ( ) 1 31 10 40 0
) (
5
=
j
G ;
), 1 , 5 ( F ( ) 1 37 4 40 0
) (
5
=
j
G .
3.1 The Code Parameters
In a more appropriate notation, consider the
Fourier code ) , , ( d k n F
be the parity-
check matrix of an ) , , ( d k n F
=
). (mod if , 1
), (mod 1 if , 1
p j
p p
m
Proof: According to Lemma 1(ii), x is an
eigensequence with even symmetry if its associated
eigenvalue is ). (mod 1 p and with odd
symmetry if ). (mod p j
Thus, if ) , , ( d k n F x
,
we have:
i) For ) (mod 1 p ;
In this case, the codeword x may be written as
x = (x
0
, x
1
, x
2
, x
3,
...., x
N-3
, x
N-2
, x
N-1
) =
= (x
0
, x
1
, x
2
, x
3
, .., x
3
, x
2,
x
1
).
In systematic form, x = (c
1
, c
2,
.... , c
n-k
, k
1
, k
2
, ... k
k
),
where c
i
and k
j
represent the parity-check and
information symbols, respectively. This leads to the
parity check equations c
2
=k
k
, c
3
=k
k-1
, c
4
=k
k-2
, ....,
c
k-1
=k
3
, c
k
=k
2,
and c
k+1
=k
1
. These equations, which
do not represent the complete set of parity check
equations of the code, in matrix form, correspond to
the matrix D
s
.
ii) For ) (mod p j ;
In a similar way, the condition
x = (x
0
, x
1
, x
2
, x
3,
...., x
N-3
, x
N-2
, x
N-1
) =
= (x
0
, x
1
, x
2
, x
3
, .., -x
3
, -x
2,
-x
1
),
leads to the parity-check equations c
2
= -k
k
, c
3
=-k
k-1
,
c
4
= -k
k-2
, ....., c
k-1
= -k
3
, c
k
= -k
2,
c
k+1
= -k
1
and the
result follows.
Example 3: i) Consider the code ) 4 , 3 , 8 (
1
F
over
GF(17), described by the parity-check matrix
Since =1, x is an eigensequence with even
symmetry, x = (x
0
, x
1
, x
2
, x
3
, x
4
, x
3
, x
2
, x
1
) = (c
1
, c
2
,
c
3
, c
4
, c
5
, k
1
, k
2
, k
3
). Considering , 0 =
T
xH the
following parity-check equations arise:
c
1
+ 3k
1
+ 5k
2
+ 3k
3
= 0;
c
2
+ 16k
3
= 0;
c
3
+ 16k
2
= 0;
c
4
+ 16k
1
= 0; and
c
5
+ 14k
1
+ 5k
2
+ 14k
3
= 0,
which leads to the indicated D
s
matrix.
ii) Consider the code ) 4 , 2 , 8 (
j
F over GF(17), with
, 4 = j described by the parity-check matrix
In this case x = (x
0
, x
1
, x
2
, x
3
, x
4
, -x
3
, -x
2
, -x
1
) = (c
1
,
c
2
, c
3
, c
4
, c
5
, c
6
, k
1
, k
2
) and the following parity
check equations arise:
c
1
= 0;
c
2
+ k
2
= 0;
c
3
+ k
1
= 0;
c
4
+ 6k
1
+ k
2
= 0;
c
5
=0; and
c
6
+ 11k
1
+ 16k
2
= 0,
which leads to the indicated D
s
matrix.
(
(
(
(
(
(
=
14 5 14 1 0 0 0 0
0 0 16 0 1 0 0 0
0 16 0 0 0 1 0 0
16 0 0 0 0 0 1 0
3 5 3 0 0 0 0 1
) 1 (
H
(
(
(
(
(
(
(
(
=
16 11 1 0 0 0 0 0
0 0 0 1 0 0 0 0
1 6 0 0 1 0 0 0
0 1 0 0 0 1 0 0
1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
) ( j
H
Proposition 2 (An upper bound on the minimum
distance): The minimum distance of a Fourier
code ) , , ( d k n F
satisfies . 2 2 + k n d
Proof: According to Proposition 1, there are at least
1 k zeros in every column of the P
submatrix.
Therefore, the maximum weight of these columns
is . 1 2 ) 1 ( ) (
max
+ = = k n k k n w Considering the
generator matrix
| |
k
T
I P G |
= , we have
. 2 2 + k n d
Corollary: In ), , , ( d k n F
and e is the error sequence.
The syndrome of r is defined as , r Fr S =
which
is zero if, and only if, r is an FNTT eigensequence
associated with the eigenvalue . A fast transform
can be used to compute . S
4.2 Single Error Correction
The decoding algorithm is described considering
the possible symmetry of the received sequence.
4.2.1 The symmetric case (even or odd
symmetry)
Consider that the received sequence r = (r
0
, r
1
,
r
2
,..., r
N-1
)
exhibits the same type of symmetry
displayed by the eigensequences associated with
the eigenvalue . In what follows, without loss of
generality, 1 = is considered. The procedure for
j =
follows similar lines.
If N is odd and a single error has occurred, then
it must be in the first position of r, since only an
even number of errors could preserve symmetry.
This condition is checked simply by observing that,
according to Definition 1, r
0
must satisfy
), ... ( ) 1 (
1 2 1
1
0
+ + + =
N
r r r N r
for r to be an eigensequence. If N is even, for the
same reason, the possible single-error occurred at
position r
0
or r
N/2
. Therefore, to decode the received
sequence, use the following algorithm:
1. Make ) ... ( ) 1 (
1 2 1
1
0
+ + + =
N
r r r N r ;
2. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise, make
); ... ... ( ) 1 (
1 1 2 / 1 2 / 1 0 2 / +
+ + + + + =
N N N N
r r r r N r r
3. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise, more than one
error has occurred.
4.2.2 The nonsymmetric case
Consider the received sequence r = (r
0
, r
1
, r
2
,....,
r
N-2
, r
N-1
). If the symbols r
i
and r
N-i
are different, the
error occurred either at position r
i
or position r
N-i
.
The decoding algorithm is:
1. Substitute r
i
by r
N-i;
2. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise, substitute r
N-i
by
r
i
.
3. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise, more than one
error has occurred.
4.3 Double Error Correction
In what follows, the occurrence of a single error
is considered to be a more likely event than the
occurrence of double errors. Therefore, for a double
error correcting code, the decoding algorithm
consists in applying the single error correcting
approach described in last section. If decoding is
not possible, the occurrence of a double error is
assumed and decoding proceeds according to the
following steps. Without loss of generality, N is
considered to be odd. When N is even, the
procedure follows similar lines. In particular, once
symmetry is reestablished, the symbol r
N/2
can be
computed from the symmetric symbols via its
parity-check equation.
4.3.1 The symmetric case
If symmetry is preserved in the received word,
the errors have occurred in a pair of symbols (r
i
,
r
N-i
), . 0 i The decoding algorithm is:
1.For
2
1
1
N
i
make
) (
2
1
1
,
0 0
=
=
N
i N i j
j j i
r r N r
and .
i i N
r r =
2. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise, more than two
errors have occurred.
4.3.2 The nonsymmetric case
Consider the received sequence r = (r
0
, r
1
, r
2
,....r
N-2
,
r
N-1
). If a double error has occurred, the possible
options are:
i) Errors in symbols
0
r
and ,
i
r . 0 i
Decoding Algorithm 1:
1. Substitute r
i
by r
N-i
.
2. Make ) ... ( ) 1 (
1 2 1
1
0
+ + + =
N
r r r N r ;
3. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise substitute r
N-i
by r
i
and make ) ... ( ) 1 (
1 2 1
1
0
+ + + =
N
r r r N r ;
4. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise use decoding
algorithm 2.
Example 4: Consider the double-error correcting
code F
1
(7,2,5) over GF(29), with , 7 =
), 29 (mod 6 7 generator matrix
,
1 0 20 20 0 1 20
0 1 10 10 1 0 16
) 1 (
7
|
|
\
|
= G
and received sequence r = (16, 2, 1, 10, 10, 1, 3).
Substituting r
1
by r
N-1
and making
) 29 (mod 23 ) 3 1 10 10 1 3 ( ) 1 6 1 (
1
0
. + + + + + =
r
results in =
) 1 (
r (23, 3, 1, 10, 10, 1, 3) and =
) 1 (
R
(23, 22, 25, 25, 25, 25, 22).
Substituting r
N-1
by r
1
and making
) 29 (mod 11 ) 2 1 10 10 1 2 ( ) 1 6 . 1 (
1
0
+ + + + + =
r
results in =
) 2 (
r (11, 2, 1, 10, 10, 1, 2) and =
) 2 (
R
(11, 5, 17, 20, 20, 17, 5). In this case the sequence
could not be decoded using Algorithm 1.
ii) One error in
i
r and another in ,
i N
r
. 0 i The
decoding algorithm is similar to the symmetric
case, with the difference that now the error
positions are known
Decoding Algorithm 2:
1. Make ) (
2
1
1
,
0 0
=
=
N
i N i j
j j i
r r N r and .
i i N
r r =
2. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise more than two
errors have occurred.
Example 5: Considering the decoding of the
sequence given in Example 4, we have
. 0 )) 1 10 10 1 16 ( 16 . 6 . 1 (
2
1
1 1
= + + + + = =
r r
N
Therefore =
) 1 (
r (16, 0, 1, 10, 10, 1, 0), =
) 1 (
R (16,
0, 1, 10, 10, 1, 0) and decoding is complete.
iii) One error in ,
i
r , 0 i and another in ,
j
r
. i N j In this case it is necessary to make at
least 2
2
substitutions to satisfy the symmetry and
verify the eigensequence condition.
Decoding Algorithm 3:
1. Substitute r
i
by r
N-i;
and substitute r
j
by r
N-j;
2. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise substitute r
N-i
by r
i
and r
j
by r
N-j;
3. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise substitute r
i
by r
N-i
and r
N-j
by r
j;
4. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise substitute r
N-i
by r
i
and r
N-j
by r
j;
5. If the obtained sequence is an eigensequence,
decoding is complete. Otherwise more than two
errors have occurred.
Example 6: In Example 4, let the received
sequence be r = (16, 2, 3, 10, 10, 1, 0). It is
straightforward to verify that at least two errors
have occurred. Thus, using the latter algorithm, we
have:
First possibility: the decoded sequence is =
) 1 (
r
(16, 2, 3, 10, 10, 3, 2) and its spectrum =
) 1 (
R (27,
13, 19, 17, 17, 19, 13);
Second possibility: the decoded sequence is =
) 2 (
r
(16, 2, 1, 10, 10, 1, 2) and its spectrum =
) 2 (
R (7, 1,
13, 16, 16, 13, 1);
Third possibility: the decoded sequence is =
) 3 (
r
(16, 0, 3, 10, 10, 3, 0) and its spectrum =
) 3 (
R (7,
12, 7, 11, 11, 7, 12);
Fourth possibility: the decoded sequence is =
) 4 (
r
(16, 0, 1, 10, 10, 1, 0) and its spectrum =
) 4 (
R (16,
0, 1, 10, 10, 1, 0). So, r
4
is the estimated transmitted
sequence.
In the decoding procedures just described, the
algorithms requires only FNTT computations,
which can be implemented via fast Fourier
transforms, and simple operations such as
additions, multiplication by constants and
substitutions. Considering that the FNTT of a
symmetric sequence displays the same type of
symmetry, it is also possible to use Goertzel like
algorithms [12], instead of an FNTT computation,
to verify the eigensequence condition.
5. Conclusions
In this paper a new family of nonbinary linear
block codes, the Fourier codes, was introduced. The
codewords of a Fourier code ) , , ( d k n F
are the
eigensequences of the Fourier number theoretic
transform, associated with a given eigenvalue .
Strategies for single and double error control based
upon the FNTT eigenstructure were examined. The
approach described in the paper can be extended to
other families of finite field transforms, such as the
Hartley number theoretic transform [11]. The
family of Hartley codes over ) ( p GF
can be
constructed following the same approach described
here. The families of Fourier and Hartley codes are
members of a new class of codes, which we call
transform codes. For a given finite field transform
of length N , its eigenstructure can be used to
construct a linear code of length N and dimension
k , where k is the multiplicity of the transform
eigenvalues. Different multiplicities will lead to
codes with different rates. In this scenario fast
transforms and properties of the transform
eigenstructure can assist in the implementation of
the code.
Using the same approach and discrete
transforms defined over infinite fields, codes
defined over the field of real numbers can also be
constructed.
The restrictions on the code parameters that
results from the use of standard transforms, either
finite or infinite, can be removed if arbitrary linear
transforms are considered. In this case, codes with
unrestrained rates can be constructed.
References
[1] J. M. Pollard, The Fast Fourier Transform in a
Finite Field, Mathematics of Computation, vol. 25,
No. 114, pp. 365-374, April 1971.
[2] R. E. Blahut, Theory and Practice of Error
Control codes, Addison-Wesley, 1985.
[3] D. F. Elliott and K. R. Rao, Fast Transforms -
Algorithms Analyses Applications, Academic Press,
1982.
[4] H. Alaedine, E. H. Baghious, G. Madre and G.
Burel, Realization of Block Robust Adaptive Filters
using Generalized Sliding Fermat Number
Transform, 14
th
European Signal Processing
Conference, EUSIPCO2006, Florence, Italy.
[5] T. Toivonen and J. Heikkil, Video Filtering
With Fermat Number Theoretic Transforms Using
Residue Number System, IEEE Transactions on
Circuits and Systems for Video Technology, vol.
16, No. 1, January 2006.
[6] S. Gudvangen and H. Buskerud, Practical
Applications of Number Theoretic Transforms,
Norwegian Signal Processing Symposium,
NORSIG99, Asker, Norway.
[7] H. Tamori, N. Aoki and T. Yamamoto, A
Fragile Digital Watermarking Technique by
Number Theoretic Transform, IEICE Trans.
Fundamentals, vol. E85-A, No. 8, pp. 1902-1904,
August 2002.
[8] D. T. Birtwistle, The Eigenstructure of the
Number Theoretic Transforms, Signal Processing 4
(1982), pp. 287-294.
[9] J. H. McClellan and T. W. Parks, Eigenvalue
and Eigenvector Decomposition of the Discrete
Fourier Transform, IEEE Transactions on Audio
and Electroacoustics AU-20, pp. 66-74. 1972.
[10] R. M. Campello de Souza, H. M. de Oliveira,
Eigensequences for Multiuser Communication over
the Real Adder Channel, VI International
Telecommunications Symposium (ITS2006),
Fortaleza, BR.
[11] R. M. Campello de Souza, H. M. de Oliveira
and M. M. Campello de Souza, Hartley Number-
Theoretic Transforms, Proceedings of the 2001
IEEE International Symposium on Information
Theory, p. 210, Washington, D.C., USA.
[12] G. J. da Silva Jr., R. M. Campello de Souza
and H. M. de Oliveira, New Algorithms for
Computing a Single Component of the Discrete
Fourier Transform, Accepted for presentation at the
Tenth International Symposium on Communication
Theory and Applications (ISCTA 09), Ambleside,
Lake District, UK.