On semifast Fourier transform algorithms
📝 Original Info
- Title: On semifast Fourier transform algorithms
- ArXiv ID: 0907.1975
- Date: 2010-11-30
- Authors: ** 저자 정보가 논문에 명시되지 않음 **
📝 Abstract
We consider the relations between well-known Fourier transform algorithms.💡 Deep Analysis
📄 Full Content
The n-point Fourier transform over GF (2 m ) is defined by
, where W = (α ij ), i, j ∈ [0, n -1], is a Vandermonde matrix, an element α ∈ GF (2 m ) of order ord(α) = n | 2 m -1 is the Fourier transform kernel. Consider a few well-known Fourier transform algorithms [1,2,3,4,5,6,7] on examples.
The finite field GF (2 3 ) is defined by an element α, which is a root of the primitive polynomial x 3 + x + 1. Cyclotomic cosets modulo 7 over GF (2) are (0), (1,2,4), (3,6,5). The binary conjugacy classes of GF (2 3 ) are (α 0 ), (α 1 , α 2 , α 4 ), (α 3 , α 6 , α 5 ). The standard basis of GF (2 3 ) is (α 0 , α 1 , α 2 ). The normal basis of GF (2 3 ) is (β 1 , β 2 , β 4 ), where β = α 3 . Another normal basis of GF (2 3 ) is the cyclic shift of the previous normal basis: (γ 1 , γ 2 , γ 4 ), where γ = α 6 .
Consider the Fourier transform of length n = 7 over the field GF (2 3 ). Let us take the primitive element α as the kernel of the Fourier transform. The Fourier transform of a polynomial f (x) = 6 i=0 f i x i consists of components
Thus,
Blahut’s modification for finite fields (1983) The first step of the Goertzel algorithm is a long division f (x) by every minimal polynomial:
The second step of the Goertzel algorithm is an evaluated remainder in every element of the finite field:
Thus,
We have
4 Fedorenko-Trifonov’s algorithm (2002)
), is called a linearized polynomial. Any polynomial can be decomposed into a sum of linearized polynomials and a free term. A polynomial f (x) =
We have
Using F i = f (α i ), these equations can be represented in a matrix form as
A circulant matrix, or a circulant, is a matrix each row of which is obtained from the preceding row by a left (right) cyclic shift by one position. If entries of a circulant are matrices, the circulant is referred to as a block circulant. We call a circulant where the first row is a normal basis, a basis circulant. Let (β 1 , β 2 , β 4 ) = (α 3 , α 6 , α 5 ) be a normal basis for GF (2 3 ). Using
we obtain the equivalent Fourier transform
The equivalent Fourier transform F e = W e f e has the following structure:
where A e is a binary matrix, A e consists of binary circulants A ij , D e is a block diagonal matrix, D e consists of basis circulant matrices C i , l is the number of cyclotomic cosets modulo n over GF (2).
Let (γ 1 , γ 2 , γ 4 ) = (α 6 , α 5 , α 3 ) be a normal basis for GF (2 3 ). Combining
1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1
Note that the binary matrix A e for this algorithm in (1) consists of binary circulants and block circulants.
The Fourier transform algorithms [5,6,7] of length n = 2 m -1 over GF (2 m ) take two stages:
- The first stage is calculation of l m-point cyclic convolutions; 2. The second stage is multiplying the binary matrix A e by the vector D e f e .
The complexity of the first stage is about n log n multiplications and additions over elements of GF (2 m ). The complexity of the second stage is N add < 2n 2 / log n additions over elements of GF (2 m ) [8].