Here we look at the conditions placed on a general linear transform in
order for it to support cyclic convolution. The form of a linear
transformation of a length-N sequence of number is given by
X
(
k
)
=
∑
n
=
0
N
-
1
t
(
n
,
k
)
x
(
n
)
X
(
k
)
=
∑
n
=
0
N
-
1
t
(
n
,
k
)
x
(
n
)
(29)for k=0,1,⋯,(N-1)k=0,1,⋯,(N-1). The definition of cyclic convolution of two
sequences is given by
y
(
n
)
=
∑
m
=
0
N
-
1
x
(
m
)
h
(
n
-
m
)
y
(
n
)
=
∑
m
=
0
N
-
1
x
(
m
)
h
(
n
-
m
)
(30)for n=0,1,⋯,(N-1)n=0,1,⋯,(N-1) and all indices evaluated modulo N. We would
like to find the properties of the transformation such that it will
support the cyclic convolution. This means that if X(k)X(k), H(k)H(k), and
Y(k)Y(k) are the transforms of x(n)x(n), h(n)h(n), and y(n)y(n) respectively,
Y
(
k
)
=
X
(
k
)
H
(
k
)
.
Y
(
k
)
=
X
(
k
)
H
(
k
)
.
(31)The conditions are derived by taking the transform defined in Equation 4 of
both sides of equation Equation 5 which gives
Y
(
k
)
=
∑
n
=
0
N
-
1
t
(
n
,
k
)
∑
m
=
0
N
-
1
x
(
m
)
h
(
n
-
m
)
Y
(
k
)
=
∑
n
=
0
N
-
1
t
(
n
,
k
)
∑
m
=
0
N
-
1
x
(
m
)
h
(
n
-
m
)
(32)
=
∑
m
=
0
N
-
1
∑
n
=
0
N
-
1
x
(
m
)
h
(
n
-
m
)
t
(
n
,
k
)
.
=
∑
m
=
0
N
-
1
∑
n
=
0
N
-
1
x
(
m
)
h
(
n
-
m
)
t
(
n
,
k
)
.
(33)Making the change of index variables, l=n-ml=n-m, gives
=
∑
m
=
0
N
-
1
∑
l
=
0
N
-
1
x
(
m
)
h
(
l
)
t
(
l
+
m
,
k
)
.
=
∑
m
=
0
N
-
1
∑
l
=
0
N
-
1
x
(
m
)
h
(
l
)
t
(
l
+
m
,
k
)
.
(34)But from Equation 6, this must be
Y
(
k
)
=
∑
n
=
0
N
-
1
x
(
n
)
t
(
n
,
k
)
∑
m
=
0
N
-
1
x
(
m
)
t
(
m
,
k
)
Y
(
k
)
=
∑
n
=
0
N
-
1
x
(
n
)
t
(
n
,
k
)
∑
m
=
0
N
-
1
x
(
m
)
t
(
m
,
k
)
(35)
=
∑
m
=
0
N
-
1
∑
l
=
0
N
-
1
x
(
m
)
h
(
l
)
t
(
n
,
k
)
t
(
l
,
k
)
.
=
∑
m
=
0
N
-
1
∑
l
=
0
N
-
1
x
(
m
)
h
(
l
)
t
(
n
,
k
)
t
(
l
,
k
)
.
(36)This must be true for all x(n)x(n), h(n)h(n), and kk, therefore from
Equation 9 and Equation 11 we have
t
(
m
+
l
,
k
)
=
t
(
m
,
k
)
t
(
l
,
k
)
t
(
m
+
l
,
k
)
=
t
(
m
,
k
)
t
(
l
,
k
)
(37)For l=0l=0 we have
t
(
m
,
k
)
=
t
(
m
,
k
)
t
(
0
,
k
)
t
(
m
,
k
)
=
t
(
m
,
k
)
t
(
0
,
k
)
(38)and, therefore, t(0,k)=1t(0,k)=1. For l=ml=m we have
t
(
2
m
,
k
)
=
t
(
m
,
k
)
t
(
m
,
k
)
=
t
2
(
m
,
k
)
t
(
2
m
,
k
)
=
t
(
m
,
k
)
t
(
m
,
k
)
=
t
2
(
m
,
k
)
(39)For l=pml=pm we likewise have
t
(
p
m
,
k
)
=
t
p
(
m
,
k
)
t
(
p
m
,
k
)
=
t
p
(
m
,
k
)
(40)and, therefore,
t
N
(
m
,
k
)
=
t
(
N
m
,
k
)
=
t
(
0
,
k
)
=
1
.
t
N
(
m
,
k
)
=
t
(
N
m
,
k
)
=
t
(
0
,
k
)
=
1
.
(41)But
t
(
m
,
k
)
=
t
m
(
1
,
k
)
=
t
k
(
m
,
1
)
,
t
(
m
,
k
)
=
t
m
(
1
,
k
)
=
t
k
(
m
,
1
)
,
(42)therefore,
t
(
m
,
k
)
=
t
m
k
(
1
,
1
)
.
t
(
m
,
k
)
=
t
m
k
(
1
,
1
)
.
(43)Defining t(1,1)=αt(1,1)=α gives the form for our general linear transform
Equation 4 as
X
(
k
)
=
∑
n
=
0
N
-
1
α
n
k
x
(
n
)
X
(
k
)
=
∑
n
=
0
N
-
1
α
n
k
x
(
n
)
(44)where αα is a root of order NN
, which means that NN is the
smallest integer such that αN=1αN=1.
Theorem 1
The transform Equation 13 supports cyclic convolution if and only if
αα is a root of order NN and N-1N-1 is defined.
This is discussed in [2], [4].
Theorem 2
The transform Equation 13 supports cyclic convolution if and only if
N
|
O
(
M
)
N
|
O
(
M
)
(45)where
O
(
M
)
=
g
c
d
{
p
1
-
1
,
p
2
-
1
,
⋯
,
p
l
-
1
}
O
(
M
)
=
g
c
d
{
p
1
-
1
,
p
2
-
1
,
⋯
,
p
l
-
1
}
(46)and
M
=
p
1
r
1
p
2
r
2
⋯
p
l
r
l
.
M
=
p
1
r
1
p
2
r
2
⋯
p
l
r
l
.
(47)This theorem is a more useful form of Theorem 1. Notice that Nmax=O(M)Nmax=O(M).
One needs to find appropriate NN, MM, and αα such that
- NN should be appropriate for a fast algorithm and handle the
desired sequence lengths.
- MM should allow the desired dynamic range of the signals and should
allow simple modular arithmetic.
- αα should allow a simple multiplication for
αnkx(n)αnkx(n).
We see that if MM is even, it has a factor of 2 and, therefore, O(M)=Nmax=1O(M)=Nmax=1 which implies MM should be odd. If MM is prime the O(M)=M-1O(M)=M-1 which is as large as could be expected in a field of MM integers.
For M=2k-1M=2k-1, let kk be a composite k=pqk=pq where pp is prime. Then
2p-12p-1 divides 2pq-12pq-1 and the maximum possible length of the transform
will be governed by the length possible for 2p-12p-1. Therefore, only the
prime kk need be considered interesting. Numbers of this form are know
as Mersenne numbers and have been used by Rader [51]. For Mersenne
number transforms, it can be shown that transforms of length at least 2p2p
exist and the corresponding α=-2α=-2. Mersenne number transforms are
not of as much interest because 2p2p is not highly composite and,
therefore, we do not have FFT-type algorithms.
For M=2k+1M=2k+1 and kk odd, 3 divides 2k+12k+1 and the maximum possible
transform length is 2. Thus we consider only even kk. Let k=s2tk=s2t,
where ss is an odd integer. Then 22t22t divides 2s2t+12s2t+1 and the
length of the possible transform will be governed by the length possible
for 22t+122t+1. Therefore, integers of the form M=22t+1M=22t+1 are of
interest. These numbers are known as Fermat numbers [51]. Fermat
numbers are prime for 0≤t≤40≤t≤4 and are composite for all t≥5t≥5.
Since Fermat numbers up to F4F4 are prime, O(Ft)=2bO(Ft)=2b where b=2tb=2t and
we can have a Fermat number transform for any length N=2mN=2m where
m≤bm≤b. For these Fermat primes the integer α=3α=3 is of order
N=2bN=2b allowing the largest possible transform length. The integer
α=2α=2 is of order N=2b=2t+1N=2b=2t+1. This is particularly
attractive since αα to a power is multiplied times the data values
in Equation 4.
The following table gives possible parameters for various Fermat number
moduli.
Table 1
| t |
b |
M
=
F
t
M
=
F
t
|
N
2
N
2
|
N
2
N
2
|
N
m
a
x
N
m
a
x
|
αα for NmaxNmax |
| |
|
|
|
|
|
|
| 3 |
8 |
2
8
+
1
2
8
+
1
|
16 |
32 |
256 |
3 |
| 4 |
16 |
2
16
+
1
2
16
+
1
|
32 |
64 |
65536 |
3 |
| 5 |
32 |
2
32
+
1
2
32
+
1
|
64 |
128 |
128 |
2
2
|
| 6 |
64 |
2
64
+
1
2
64
+
1
|
128 |
256 |
256 |
2
2
|
This table gives values of NN for the two most important values of
αα which are 2 and 22. The second column give the
approximate number of bits in the number representation. The third column
gives the Fermat number modulus, the fourth is the maximum convolution
length for α=2α=2, the fifth is the maximum length for α=2α=2, the sixth is the maximum length for any αα, and the
seventh is the αα for that maximum length. Remember that the first
two rows have a Fermat number modulus which is prime and second two rows
have a composite Fermat number as modulus. Note the differences.
The books, articles, and presentations that discuss NTT and related topics
are [33], [41], [45], [9], [43], [44], [50], [52], [51], [1], [7], [2], [4].
A recent book discusses NT in a signal processing context [32].
"The Fast Fourier Transform (FFT) is a landmark algorithm used in fields ranging from signal processing to high-performance computing. First popularized by two American scientists in 1965, the […]"