On semifast Fourier transform algorithms

We consider the relations between well-known Fourier transform algorithms.

Authors: ** *저자 정보가 논문에 명시되지 않음* **

On semifast F ourier transform algorithms Sergei V. F edor enk o Informa tion s ystems security departm en t St.Petersburg Sta te Uni v ersity of Aerospace Instrumen tatio n 1900 0 0, Bo lsha y a Mor sk aia, 67, St.Petersburg, Russia Abstract In this pap er, f ollo wing [1, 2, 3, 4, 5, 6, 7] w e consider th e relations b et w een w ell-kno wn F ourier transf orm algorithms. 1 In tro duction A semifast algorithm for a computation is an algorithm tha t significan tly reduces the n um b er o f m ultiplications compared with the natural form of the computation, but do es not reduce the num b er of additions. A semifast F ourier transform in GF ( q ) is a computatio na l pro cedure f o r computing the n -p oint F ourier transform in GF ( q ) that uses ab out n log n m ultiplications in G F ( q ) and ab out n 2 additions in GF ( q ) [4]. The n -p o in t F ourier transform o v er GF (2 m ) is defined by F = W f ,       F 0 F 1 F 2 · · · F n − 1       =       α 0 α 0 α 0 · · · α 0 α 0 α 1 α 2 · · · α n − 1 ( α 0 ) 2 ( α 1 ) 2 ( α 2 ) 2 · · · ( α n − 1 ) 2 · · · · · · · · · · · · · · · ( α 0 ) n − 1 ( α 1 ) n − 1 ( α 2 ) n − 1 · · · ( α n − 1 ) n − 1             f 0 f 1 f 2 · · · f n − 1       , where W = ( α ij ), i, j ∈ [0 , n − 1], is a V andermonde matr ix, an elemen t α ∈ GF ( 2 m ) of order ord( α ) = n | 2 m − 1 is the F ourier tr a nsform k ernel. Consider a few w ell-kno wn F ourier transform algorithms [1, 2, 3, 4, 5, 6, 7] on examples. The finite fi eld GF (2 3 ) is defined by a n elemen t α , whic h is a ro ot of the primitiv e p olynomial x 3 + x + 1. Cyclotomic cosets modulo 7 o ve r 1 GF (2) are (0) , (1 , 2 , 4) , (3 , 6 , 5 ). The binary conjug a cy 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 ba sis of GF (2 3 ) is ( β 1 , β 2 , β 4 ), wh ere β = α 3 . Another normal basis o f GF (2 3 ) is the cyclic shift of the previous normal basis: ( γ 1 , γ 2 , γ 4 ), where γ = α 6 . Consider the F ourier tra nsform of length n = 7 o v er the field GF (2 3 ). Let us take the primitive elemen t α as the k ernel of the F ourier transform. T he F ourier transform of a p olynomial f ( x ) = 6 X i =0 f i x i consists of comp onents F i = f ( α i ) , i ∈ [0 , 6]. Th us,           F 0 F 1 F 2 F 3 F 4 F 5 F 6           =           α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 3 α 4 α 5 α 6 α 0 α 2 α 4 α 6 α 1 α 3 α 5 α 0 α 3 α 6 α 2 α 5 α 1 α 4 α 0 α 4 α 1 α 5 α 2 α 6 α 3 α 0 α 5 α 3 α 1 α 6 α 4 α 2 α 0 α 6 α 5 α 4 α 3 α 2 α 1                     f 0 f 1 f 2 f 3 f 4 f 5 f 6           . 2 Go ertzel’s algorith m (1958) Blah ut’s mo dification for finite fields (1983) The first step of the Go ertzel algorithm is a long division f ( x ) b y ev ery minimal p olynomial: f ( x ) = ( x + 1) q 0 ( x ) + r 00 f ( x ) = ( x 3 + x + 1) q 1 ( x ) + r 1 ( x ), r 1 ( x ) = r 21 x 2 + r 11 x + r 01 f ( x ) = ( x 3 + x 2 + 1) q 2 ( x ) + r 2 ( x ), r 2 ( x ) = r 22 x 2 + r 12 x + r 02 , where r 00 = f 0 + f 1 + f 2 + f 3 + f 4 + f 5 + f 6 r 01 = f 0 + f 3 + f 5 + f 6 r 11 = f 1 + f 3 + f 4 + f 5 r 21 = f 2 + f 4 + f 5 + f 6 r 02 = f 0 + f 3 + f 4 + f 5 r 12 = f 1 + f 4 + f 5 + f 6 r 22 = f 2 + f 3 + f 4 + f 6 . The second step o f the Go ertzel algorithm is an ev aluated rem ainder in ev ery elemen t of the finite field: 2 F 0 = f ( α 0 ) = r 00 F 1 = f ( α 1 ) = r 1 ( α 1 ) = r 21 α 2 + r 11 α 1 + r 01 F 2 = f ( α 2 ) = r 1 ( α 2 ) = r 21 α 4 + r 11 α 2 + r 01 F 4 = f ( α 4 ) = r 1 ( α 4 ) = r 21 α 1 + r 11 α 4 + r 01 F 3 = f ( α 3 ) = r 2 ( α 3 ) = r 22 α 6 + r 12 α 3 + r 02 F 6 = f ( α 6 ) = r 2 ( α 6 ) = r 22 α 5 + r 12 α 6 + r 02 F 5 = f ( α 5 ) = r 2 ( α 5 ) = r 22 α 3 + r 12 α 5 + r 02 or   F 1 F 2 F 4   =   1 α 1 α 2 1 α 2 α 4 1 α 4 α 1     r 01 r 11 r 21   ,   F 3 F 6 F 5   =   1 α 3 α 6 1 α 6 α 5 1 α 5 α 3     r 02 r 12 r 22   . Th us,           F 0 F 1 F 2 F 4 F 3 F 6 F 5           =           α 0 α 0 α 1 α 2 α 0 α 2 α 4 α 0 α 4 α 1 α 0 α 3 α 6 α 0 α 6 α 5 α 0 α 5 α 3                     1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1                     f 0 f 1 f 2 f 3 f 4 f 5 f 6           . 3 Blah ut ’ s algorithm (200 8 ) W e hav e           F 0 F 1 F 2 F 3 F 4 F 5 F 6           =           α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 3 α 4 α 5 α 6 α 0 α 2 α 4 α 6 α 1 α 3 α 5 α 0 α 3 α 6 α 2 α 5 α 1 α 4 α 0 α 4 α 1 α 5 α 2 α 6 α 3 α 0 α 5 α 3 α 1 α 6 α 4 α 2 α 0 α 6 α 5 α 4 α 3 α 2 α 1                               f 0 0 0 0 0 0 0           +           0 f 1 f 2 0 f 4 0 0           +           0 0 0 f 3 0 f 5 f 6                     = =           1 1 1 1 1 1 1            f 0  +           1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1             α 0 α 0 α 0 α 1 α 2 α 4 α 2 α 4 α 1     f 1 f 2 f 4   + 3 +           1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1             α 0 α 0 α 0 α 3 α 6 α 5 α 6 α 5 α 3     f 3 f 6 f 5   . 4 F edorenk o –T rifono v’s algorithm ( 2 002) A polynomial L ( x ) = X i l i x 2 i , l i ∈ GF (2 m ), is called a linearized poly- nomial. An y p olynomial can be decomposed in to a sum of linearized p oly- nomials a nd a free term. A p olynomial f ( x ) = 6 X i =0 f i x i can b e represen ted as f ( x ) = L 0 ( x 0 ) + L 1 ( x 1 ) + L 2 ( x 3 ) L 0 ( y ) = f 0 L 1 ( y ) = f 1 y + f 2 y 2 + f 4 y 4 L 2 ( y ) = f 3 y + f 6 y 2 + f 5 y 4 . W e hav e f ( α 0 ) = L 0 ( α 0 ) + L 1 ( α 0 ) + L 2 ( α 0 ) f ( α 1 ) = L 0 ( α 0 ) + L 1 ( α 1 ) + L 2 ( α 3 ) = L 0 (1) + L 1 ( α ) + L 2 (1) + L 2 ( α ) f ( α 2 ) = L 0 ( α 0 ) + L 1 ( α 2 ) + L 2 ( α 6 ) = L 0 (1) + L 1 ( α 2 ) + L 2 (1) + L 2 ( α 2 ) f ( α 3 ) = L 0 ( α 0 ) + L 1 ( α 3 ) + L 2 ( α 2 ) = L 0 (1) + L 1 (1) + L 1 ( α ) + L 2 ( α 2 ) f ( α 4 ) = L 0 ( α 0 ) + L 1 ( α 4 ) + L 2 ( α 5 ) = L 0 (1) + L 1 ( α ) + L 1 ( α 2 ) + L 2 (1) + L 2 ( α ) + L 2 ( α 2 ) f ( α 5 ) = L 0 ( α 0 ) + L 1 ( α 5 ) + L 2 ( α 1 ) = L 0 (1) + L 1 (1) + L 1 ( α ) + L 1 ( α 2 ) + L 2 ( α ) f ( α 6 ) = L 0 ( α 0 ) + L 1 ( α 6 ) + L 2 ( α 4 ) = L 0 (1) + L 1 (1) + L 1 ( α 2 ) + L 2 ( α ) + L 2 ( α 2 ) . Using F i = f ( α i ), these equations can b e represen ted in a matrix form as 4           F 0 F 1 F 2 F 3 F 4 F 5 F 6           =           1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1                     α 0 α 0 α 0 α 0 α 1 α 2 α 4 α 2 α 4 α 1 α 0 α 0 α 0 α 1 α 2 α 4 α 2 α 4 α 1                     f 0 f 1 f 2 f 4 f 3 f 6 f 5           . 5 T rifono v–F edor e nk o’s algorithm (2 003) A circulant matrix, or a circulan t, is a mat r ix eac h row of whic h is o btained from the preceding ro w b y a left (righ t) cyclic shift by one p o sition. If en tries of a c irculan t are matrices, the circulant is referred to as a blo c k circulant. W e call a circulan t where the first row is a normal basis, a basis circulan t . Let ( β 1 , β 2 , β 4 ) = ( α 3 , α 6 , α 5 ) b e a normal basis for GF (2 3 ). Using   α 0 α 0 α 0 α 1 α 2 α 4 α 2 α 4 α 1   =   1 1 1 0 1 1 1 0 1     β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2   , w e get           F 0 F 1 F 2 F 3 F 4 F 5 F 6           =           1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0                     1 β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2 β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2                     f 0 f 1 f 2 f 4 f 3 f 6 f 5           . 6 F edorenk o ’s algorithm ( 1) (20 06) Com bining   α 3 α 6 α 5 α 6 α 5 α 3 α 5 α 3 α 6   =   β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2   ,   α 1 α 2 α 4 α 2 α 4 α 1 α 4 α 1 α 2   =   0 1 1 1 0 1 1 1 0     β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2   , 5   α 2 α 4 α 1 α 4 α 1 α 2 α 1 α 2 α 4   =   1 0 1 1 1 0 0 1 1     β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2   , w e obtain the equiv a lent F o ur ier transfor m           F 0 F 1 F 2 F 4 F 3 F 6 F 5           =           α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 4 α 3 α 6 α 5 α 0 α 2 α 4 α 1 α 6 α 5 α 3 α 0 α 4 α 1 α 2 α 5 α 3 α 6 α 0 α 3 α 6 α 5 α 2 α 4 α 1 α 0 α 6 α 5 α 3 α 4 α 1 α 2 α 0 α 5 α 3 α 6 α 1 α 2 α 4                     f 0 f 1 f 2 f 4 f 3 f 6 f 5           = =           1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1                     1 β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2 β 1 β 2 β 4 β 2 β 4 β 1 β 4 β 1 β 2                     f 0 f 1 f 2 f 4 f 3 f 6 f 5           . The equiv alen t F ourier transform F e = W e f e has the following structure: F e = W e f e = A e D e f e =   A 11 · · · A 1 l · · · · · · · · · A l 1 · · · A ll        C 1 0 . . . 0 0 C 2 . . . 0 . . . . . . . . . . . . 0 0 . . . C l      f e , (1) where A e is a binary matrix, A e consists of binary circulants A ij , D e is a blo ck diagonal matrix, D e consists of basis circulan t matrices C i , l is the n um b er of cyclotomic cosets mo dulo n ov er GF ( 2). 7 F edorenk o ’s algorithm ( 2) (20 06) Let ( γ 1 , γ 2 , γ 4 ) = ( α 6 , α 5 , α 3 ) b e a normal basis for GF (2 3 ). Com bining 6   α 6 α 5 α 3 α 5 α 3 α 6 α 3 α 6 α 5   =   γ 1 γ 2 γ 4 γ 2 γ 4 γ 1 γ 4 γ 1 γ 2   ,   α 1 α 2 α 4 α 2 α 4 α 1 α 4 α 1 α 2   =   1 1 0 0 1 1 1 0 1     γ 1 γ 2 γ 4 γ 2 γ 4 γ 1 γ 4 γ 1 γ 2   , w e obtain           F 0 F 1 F 2 F 4 F 6 F 5 F 3           =           α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 4 α 6 α 5 α 3 α 0 α 2 α 4 α 1 α 5 α 3 α 6 α 0 α 4 α 1 α 2 α 3 α 6 α 5 α 0 α 6 α 5 α 3 α 1 α 2 α 4 α 0 α 5 α 3 α 6 α 2 α 4 α 1 α 0 α 3 α 6 α 5 α 4 α 1 α 2                     f 0 f 1 f 2 f 4 f 6 f 5 f 3           = =           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                     1 γ 1 γ 2 γ 4 γ 2 γ 4 γ 1 γ 4 γ 1 γ 2 γ 1 γ 2 γ 4 γ 2 γ 4 γ 1 γ 4 γ 1 γ 2                     f 0 f 1 f 2 f 4 f 6 f 5 f 3           . Note that the binary matrix A e for this algorithm in (1) consists of binary circulan ts and blo c k circulan ts. 8 Complexit y The F ourier transform alg orithms [5, 6, 7] o f length n = 2 m − 1 ov er GF (2 m ) tak e t wo stages: 1. The first stage is calculation of l m -p oint cyclic con volutions; 2. The second stage is m ultiplying the binary matrix A e b y the v ector D e f e . The complexit y of the first stage is ab out n log n m ultiplications and additions o v er elemen ts of GF (2 m ). T he complex it y of the second stage is N add < 2 n 2 / log n additions ov er elemen ts of GF (2 m ) [8]. 7 References [1] Gerald Go ertze l. An Algorithm for the Ev aluation of Finite T rigonometric Series. The Americ an Mathematic al Monthly , v ol. 65, no. 1, pp. 34–35, Jan ua r y 195 8. [2] R. E. Blahut, The ory and Pr actic e of Err or Contr ol C o des . Reading, MA: Addison-W esley , 19 83. [3] R. E. Blahut, F ast A lgorithms for D igital Signal Pr o c essi ng . Reading, MA: Addison-W esley , 1985. [4] R. E. Blahut. A lgebr aic Co des on Lines, Planes, and Curves: An Eng i- ne ering Appr o ach. Cam bridge, U.K.: Cam bridge Univ ersit y Press, 20 0 8. [5] S. F edorenk o, P . T rifonov. On computing the fast F ourier transform ov er finite fields. Pro ceedings o f Eigh th In ternationa l W orkshop on Algebraic and Com binat o rial Co ding Theory at Tsarsk o e Selo, R ussia, pp. 108 –111, Septem b er 2 002. [6] P . V. T rifono v, S. V. F edorenk o. A method for fa st computatio n of the F ourier transform o v er a finite field. Pr oblems of Information T r ansmis- sion , v ol. 39, no. 3, pp. 231– 238, 2 003. T ranslation of Pr oble my Per e dachi Informatsii . [7] S. V. F edorenk o. A metho d fo r computation of the discrete F ourier trans- form o ver a finite field. Pr oblems of I nformation T r ansmi ssion , v ol. 42, no. 2, pp. 139–15 1, 200 6. T ranslation of Pr oble my Per e da chi Inf ormatsii . [8] A. Aho, J. Ho p croft, and J. Ullman, The Design and A nalysis of Com- puter Algorithms . Reading, MA: Addison-W esley , 1 9 76. 8

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment