CA1159570A - Method of and arrangement for calculating the discrete fourier transform by means of two circular convolutions - Google Patents

Method of and arrangement for calculating the discrete fourier transform by means of two circular convolutions

Info

Publication number
CA1159570A
CA1159570A CA000372867A CA372867A CA1159570A CA 1159570 A CA1159570 A CA 1159570A CA 000372867 A CA000372867 A CA 000372867A CA 372867 A CA372867 A CA 372867A CA 1159570 A CA1159570 A CA 1159570A
Authority
CA
Canada
Prior art keywords
data elements
data
generating
arrangement
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000372867A
Other languages
French (fr)
Inventor
Theodoor A.C.M. Claasen
Wolfgang F.G. Mecklenbrauker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Application granted granted Critical
Publication of CA1159570A publication Critical patent/CA1159570A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/144Prime factor Fourier transforms, e.g. Winograd transforms, number theoretic transforms

Abstract

ABSTRACT:
Method of a N-point discrete Fourier transform The original set, consisting of N input data elements {a(k)} k=0,1,2, ...N-1 is converted into two sets of data elements {b1(q)} q=1,2, ...M and {b2(q)} q=1,2, ...M, which each comprise M=(N-1)/2 data elements, each element being a linear combination of two of the iginal input data elements a(k). These sequences are circularly con-volved with the impulse response H1(v)=.alpha. cos and h2(v) = j.beta. sin , respectively, for generating a set of third data elements y1(p) and a set of fourth data elements y2(p). Herein N is a prime and .alpha., .beta. and g represent constants and it holds that p, v=1,2, ...M, whereas

Description

1 ~ 59~7~1 PHN 9708 l 19-8-198o "Method of and arrangemen-t ~or calculating the cLiscrete Fourier transform by means o~ two circular convolutions."

A.
A(1). Field of the in~ention _______________.__________ .
The invention relates to a method of converting a set o~ N first data elements into a set of second data elements, the relationship between these first and second data elements being given by an N-point discrete Fourier transform, N being a prime.
The inven-tion also rela-tes to an arrangement for ~arrying out the above~mentioned method and this arrange-10 ment will be denoted a Discrete-Fourier-~rans~orm-arrange-ment hereinafter.
A(2l Description of the prior art.
______________________________ An N point discrete Fourier transform is a name for a special relationship between the elements of a set 15 of N data elements ~a(k)~ k = 0,1,2, ... N-1 and a data element z(n) of a set of N data elements ~z(n)~ n=01,2,3, .... ....N-1. This relationship is defined as follows:

z(n) = A ~ a(k)E ~(1) k-0 In this expression n may assume each of the inte-gral numbers of the field gO~ 1, 2, 3, ~.., N-13 . Each quantity E and A may assume two values. In the first case the quantities may be defined by the relations:
E = exp(-j2~/N) A = 1 ...~....(2) In this case expression ( 13 is sai~ to express in a narrower sense a discrete Fourier transform of the set of data elements fa(k)~ k- 0~ 1, 2~ N-1.
30 This discrete Fourier trans~orm in the narrow senso is usuall~ abbreviated DFT. In this case each data element a(k) may represent the ampl:Ltude of a sample of a time-continuo1ls complex signal which is sampled at a frequency I/T. Each ~.

-~.

~ ~ .

1 159~

PHN 9708 2 -l9-8-1980 data element z(n) -then represents the ampli-tude and the phase of -the frequency componen-t n/(NT) of the original comple~t signal.
In the second case E and A may be defined b~ the relations:
E = exp(~j2'~/N) A = 1/N .,....~....(3) In this case expression ('I) is sometimes said to be the inverse discrete Fourier transform of -the set of data lO elements {a(~)} K=0,1,2~ .,. N-1, This inverse discrete Fourier transform is usually abbreviated IDF~. In this case a data element a(k) may represent the amplitude and the phase of the frequenc~ component k/(NT) o~ a time-Contim:LoUS
complex signal which is sampled at a frequency 1/T and 15 each data element z(n) then represents the amplitude of such a sample, As will be apparent from expression (1), a large number of arithmetic operations such as additions and multi-plications must be carried out to convert the set of data 20 elements ~a(k)l k = 0~ 1, 2, ,., N-1 into a data element z(n) are calculated using expression (1), a total of NZ
complex multiplications and N(N-1) complex additions are required, For high values of N this means that the com-putation o~ a data element z(n~ not only takes much compu-25 tational time but also requires very elaborate equipment.
Over the years a number of methods have beendeveloped to compute such a data element z(n). Depending on the number of arithmetic operations required, the known methods ma~ be arranged into two categories namely the 30 a, the rapid methods b. the direct methods.
The most well-known rapid methods is the so-called "~ast Fourier Transform~' ab'breviated FFT. This method is extensively described in References 1 and 2 (see later).
35 novel rapid method has been proposed more recently 'by 1Yinograd. This novel method is described in Reference 3, These rapid methods require a num'ber o~` arithmetic operations which is proportional to N log N, Thes~ known rapid methods , ~, '~' .'' ' , :~ 1595'7~) - PHN 97O8 3 1~-8-19~0 however have the drawback -that -they are onl-y e~ective when N is a number which can be written as the product o~
a number o~ integers and when all, or nearl-~ all, the N
data elements z(n) must be ca~culated. It should further be noted that a Discrete-Fourier-Transform-arrangement the structure o~ which is based on one of these rapid me-thods can onl~ be implemented by means o:~ digital circuits.
The direct methods are based upon one o~ -the ~ollowing algorithms:
lO - the Goertzel al~orithmg which ~or e~ample is described on pages 2~7-289 o~ Re~erence 2. A discrete-Fourier- trans-form arrangement whose structure is based on this Goe~tzel algorithm is ~ormed by a recursive discrete filter which for pratical reasons can~ howe~er, only be implemented 15 digitall~.
- the Bleustein algorithm, also called the "Chirp-z-trans-~orm"-algorit~m, which for example is described on pages 321-326 of Reference 2. A discrete-Fourier-trans~orm arrange-- ment whose structure is based upon this algorithm comprises 20 a finite impulse response discre-te filter (a so~called FIR-~ilter). Be~ore the data elements a(k) are applied to this filter the~ are multiplied by a so-called chirp signal.
Also the data elements produced by -this ~ilter ~re multi-plied by such a chirp signal in order to obtain the desired 25 data elements z(n).
- the Rader algorithm, also called "prime ~actor" algorithm, which is described in ~eferences 4 and 5 For this algo-rithm it is that N is a prime.
With this algorithm the set o~ data elements ~a(k)3 k=0,l,2, 30 ... N-1 is divided into two groups. The ~irst group only comprises the data element a(O), while the second group comprises the remaining data elements{a(k)~ k=~ 2~
For the generation o~ the data elemen-t z(O) the N-data elements of the set ~a(k)3 k= 0,1,2, .,, N-1 are accumulated.
35 For the generation o~ the other data elements o~ the set ~z(n)~ n= 1,2, ... N-1 the elements o~ the set {a(k)} k= 1,2, ... N-1 are permuted. That is to say, a set o~ data elements {b(i)~ i= 1,2, ... N-1 is genera-ted, .

. .

1 1~95 t~

PHN 970~ l~ 19-8-1980 the data element b(i) being equal to the data element a(g mod N). Herein g represents a constant which is equal to a primitive root of the field consisting of the numbers 1, 2, 3, ... N-1 (see Reference 6). In accordance with this Rader algorithm, the set of data elements ~b(i)} i= l~2~...
N-1 thus obtained is now further converted into a se-t of data elements ~y(m)} m= 1,2~ ... N-1, wherein the relation-ship between the data element y(m) and the said set of data eiemen-ts b(i) i- 1,2, .., N-1 is defined b~:
( ~ gi-~m l~hen now the data elemen-t a(0) is added to a data element y(m) and the sum thus obtained multiplied by the factor 15 A~ the data element z(n) _ A ry(m) ~ a(0)] is obtained, whose number n is defined by theexpression:
n = gm mod N ................................ (5) In a discrete-Fourier-transform arrangement implementing this Rader algori-thm, the conversion operation 20 defined in e~pression (L~) is implemented in a discrete filter having a filter length N-1. The discrete filter meant here and also the discrete filter included in the discrete-Fourier-transform arrangement whose struc-ture is based upon the Bluestein-algorithm may be a "sampled data filter", or 25 a "digital fil-ter". ~or a definition of these last-mentioned terms reference is made to Reference 7.
The number of arithmetic operations required with these direct methods is proportional to N . This number of operations decreases when the number of data elements z(n) 30 to be determined increases. ~t should further be noted that the Goertzel algorithm and also the Bluestein algorithm may be used for each value of N~ whereas, the Rader algo-rithm requires that N is a prime.
B. Summar~ of th _ nvention It is an object of` the inven-tion to improve the Rader-algorith~ which improvement reswlts in a considerable saving in material for a hardware implementa-tion of this algorithm on the one hand, and, which on the other hand is : ' . ' . ': . .

~ 1595r7~

PHN 970~ 5 19-8-19Xo extremely suitable, even :for high values of N~ f`or programm-ing in order to compute the da-ta elements z(n) by means of a microprocessor.
In -this Rader algorithm in which for the conver-sion of a set of first data elements {a(k)~ k= 0~1,2, ...
N-1 into a number of predetermined second data elements of a set of second data elements {z(n~-~a(0)~ n= 1~29 ... N-l, N being a prime and A a constant, and in which the relation-s~ip between a data element z(n) and -the firs-t date ele-lO ments is given by the N-point discrete Fourier transform, and which comprises the following s-teps:
- a permuting step for generating a set of third ata elements ~ b(i)~ i=l ,2, . . . N-l, which is formed by a permuted version of the first data elements of the first set ~a(k)} k= 1,2, ... N~
- a conversion step for converting the se-t of third data elements ~b(i)~ i= 1, 2, ,.. N-1 into the desired da-ta elements of the set of second data elements {z(n) - ~a(0 n = 1,29 ... N-1; this conversion step according to the invention comprising the fol.lowing steps:
- a first generating step ~or generating a se-t of four-th data elements ~b1(q)l q= 1,2, ... M, in which M=(N-1)/2 and b.l(q) is equal to b(q) ~ b(M~q);
- a second genera-ting step for genera-ting a set of fif-th data elaments {b2(q)~ q= 1,2, -- ~ 2(q) being equal to b(q)-b(M~q);
- a first auxiliary conversion step for converting the set o~ fourth data elements into a sixth data element y1(p) of a set of si~th data elements {Y1(p)~ p= 1,2, -- M~
in accordance with the expression:

Y1(p) =~- ~ b1(q) cos (2 r gl~ ~ (p-q)mod N~
q=1 in which O~represents a constan-t and in which g is a posi-tive integer which is equal to a primitive root of the field consisting of the numbers 1, 2, 3, ... N-1;
- a second auxiliary conversion step f`or converting the set of fifth data elements into a seventh da-ta element Y2(p) 1 ~5~570 P~IN ~708 6 19-~-1980 of a set of seventh data elements ~Y2(p)~ p= 1,2, .~. M~
in accordance with the expression:

Y2(P) = j~ ~ b2(q) sin(2N~ g1~ ~(p-q) mod i~
q=1 -i~ ~ b2(q) sin(2N g1-~ ~(p-q) mod N~
q~p~
wherein ~ represents a constant and wherein j = ~ ~ ; and lO - a combining step for generating the second data element z(n)-Aa(O) in accordance with the e~pression:

z(n) Aa(O) = Y1(p) + (-1) Y2(p) where p = 1, 2, ... M
l5M = (N-1)/2 wherein for n = gPmod N it holds that S=+-l and ~herein ~or n = gM~Pmod N it holds that S=O.
It is now achieved that the number of multipli-cations required with the Rader-algori-thm is reduced by a 20 number which is at least equal to M = (N-1)/2. In the Discrete-Fourier-transform arrangement whose structure is based upon the method according to the invention there is also a gain in storage capacity. If it is assumed that each first and each second auxiliary conversion step is realized 25 ~ith a discrete FIR-filter, then each filter will only ha~e a fil-ter length (N-1)/2.
C. References .
1. An Algorithm for the Machine Calculation of Com-ple~ Fourier Series; J.W.Cooley, J.W.Tukey; Mathematics 30 Of Computation, Vol. 19~ no. 90, 1965, pages 297-301.
2. Digital Signal Processing; A.V.Oppenheim, R.W.
e,~ se,~/
'p~ Schafer; Pren-tice-Hall, inc, Englewood Cliffs, New Yo~e~
l975-
3. On computing the Discrete Fourier Transform;
35 S.l~inograd; Proceedings of the National Acaderny of Science U.S.A., Vol. 73, no. 4 April 1976, pages -1005-1006.
4. Discrete Fourier Transforms When the Nurrl~er of Data Samples is Prime; C.M.Rader; Proceedings of -the IEEE, .

~' '' .' " ' , ~
' .. ,:

~ 15g570 - PHN 970~ 7 19-8~1980 Vol. 56, June -l968, pages 1107-1108.
5. Signal Processing with Combined CCD and Digital Techniques; The Impact of ~$ew Technologies in Signal Pro-cessing; H.J.~hitehouse, J.M.Speiser, IEE Conference Publi-cations No. l44~ pages 61-65.
6. Number Theory; J.~Iunter; (University Mathema-tical Texts), Oliver and Boyd~ London 196L~.
7. Terminology in Digi-tal Signal Processing; I~E~
Transactions on Audio and Electroacoustics~ Vol. AU-20 lO No. 5, December 1972, pages 322-337.
S. Digital Processing of Signals; B.Gold, C.~.Rader;
~Ic~raw-Hill ~ook Company 1969~
9. Arithma-tic Operations in Digital Computers; R.K.
Richards, D.Van Nostrand Company, INC, 1957.
10. The Art of Computer Programming; D.~.Knuth; Semi numerical algorithms, Vol II, Adison ~esley Publishing Company, 1969.
11~ Theory and ~pplication of Digital Signal Pro-cessing; L.~.Rabiner, B.Gold; Prentice-EIall, inc., Englewood 20 Cli*fs, New ~ersey, 1975.
D. Definitions and Symbols 1. ~e(r)~ r= 0,1,2,3, ... N~ represents a set of data ele-ments wherein the data element having number r has the value e(r).
25 2. mod N, represents the modulo N operation. Of two numbers ~ and ~ it is said that they are congruen-t modulo N
when ~ - 7 ~ ~ N. This will be written as:~ rnod N = ~ .
All quantities N, ~ may be complex pol~nominals.
3. i = ~ .
30 4. A discrete signal ~f(r)~ r= -~5~ ... -1, O~ 1~ ... co ) is considered to be complex when each component contains in general a real and an imaginary part, so -that it holds that: f(r)=f1(r)~jf2(r). The components a(~) ancl z(n) wi~l generally be complex.
35 ~
Figure 1 shows the matrix lE ~ f`or N-10;
Figure 2 shows the matrix ~E J *or N is equal to the prime 7;

, '~ "~ :
, .-.

1 1~9~7~

Fi~. 3 ,sho~rs the equation (10) in -the form of a matrix for the case N=7 and g=3;
Fig. 4 shows a Discrete Fourier-transform arrange ment ~rhose structure is an implementation of the Rader-algorithm;
Fig. 5 shows a Discrete Fourier-transform arrange-ment whose structllre is an implemen-tation of the me-thod according to the invention;
Fig. 6 shows an embodimen-t of the permuting 10 arrangement 8, which serially produces the elements of the set ~b(i)} i=1,2, .,. N-1;
Fig. 7 shows an embodiment of the permuting ar-rangement 27 which serially produces the elements of the et {Z(n)} n= 1,2, ... N_1;
Fig. 8 shows a combination of the permuting ar-rangement 8 and the switching arrangement 13 of Fig. 5;
Fig. 9 shows an embodiment of the circular filter 9 shown in Fig. 5;
Fig. 10 shows an embodimen-t of the circular filter 20 20 shown in Fig. 5;
Fig. -l1 shows a circuit in which the permuting arrangement produces the data elements of the set ~b(i)~
i- 1,2, ... N-1 simultaneously, and wherein -the switching arrangement 13, the adder 16~ the subtracter 17 and the 25 circular filters 19 and 20 are implemented in an alternative way.
F. Description of the embodimen-ts F(1) Introduction _____________ ~
In this paragraph the basic concept of the afore-30 mentioned Rader algorithm such as it is concisely described in Reference 4 will be discussed. In the first place it should be noted that -the expression (1) may alternatively be written in the following matrix form:
Lz(n)~ = A ~Ekn~ . ~a(k)~ .................. (6) [z(n)] represents a colu~m matrix consisting of -the set of data elements ~z(n)~ n= 0~1~ ... N-1;
L a(k)~ represents a column matrix consisting of the set of - . . , : , :

:

1 lsss7a :' data elements ~a(k)} k=0,1, ... N-l;
~ ] represents an NxN matrix consisting of the elements Ekn, more particularly n represents the number of the row and k the number of the column.
When kn = ~ ~ ~ N, it holds that:
Ekn = E~
For N=10, this matrix [Ekn] is shown by way of example in Fig. 1. From this Figure it can be seen that not each row contains all the possible powers of E. This is the case for the rows numbered n=0, n=2, n=4, n=5, n=6 and n=8. As can be seen from, for example, Fig. 2, which shows the matrix LEkn] for N=7, each row of this matrix having a number different from n=0 does contain all the possible powers of E if N is a prime.
As will now be further explained, this matrix property which is associated with the fact that N is a prime renders it possible to carry out the most important part of the required computations in a perfectly advantage-ous manner. First it is noted that expression ~1) may also be written as follows:
N-l z(0) = A ~ a(k) ........................... (7a) k=0 z(n)-Aa(0)=A ~ a(k)Ekn for n=1,2,3, ......N-l ....... (7b) As N is a prime, there is a number g (a so-called primitive root; see Reference 6) such that the set of num-bers i=1,2,3, .. N-l is unambiguously mapped onto the set k=1,2,3, ... N-l, this mapping being defined as follows:
k = gi mod N ............................. . ~(8) More particularly it then appears that:
N-l = 21 mod N .............. (8a) g As regards the primitive root g it is noted that a set of numbers may have more than one primitive root. By way of example it is noted that for N=3 thereis only one primitive ,t 1 ~5g57V
PHN 970~ 10 19-8-1980 root, namely g=2. For N=5 there are the -two prirniti~e roots g=2 and g=3, whereas ~`or N=7 there are -the two primi-tive roots g=3 ancl g=5.
When now the se-t of data elemen-ts ~a(~)~ k=1,2, ... N-1 and the set of data elements rz(n)~ n=1~2, ... N-1 are permuted in accordance with expression (8), expression (7b) becomes:
N-1 m~1 z(gm mod N)-Aa(0) - A ~ a(gl mod N)~g ..... 7 (9) i=1 wherein m=1,2,3, ... N-1 or, which amounts to the same:
N-l . Nfm-i z(gm mod N)-Aa(0) = A ~ a(g~ l mod N)Eg ....... (10) Just like e~pression (1), also this e~pression (10) ma~ be written in matrix form , this being depicted in Fig. 3, where N=7 and g=3.
As will be clear from Fig~ 3 the elements of a 20 row having the number n+1 are obtained by shi~ting the elements of the preceding row o~ number n in a circular way one position to the right. Expression (10) is some-times called a circular convolution.
The most impor-tant aspect of the Rader algorithm 25 is that this circular convolution can be realized in a par-ticularly simple manner by means of a non-recursive discrete circular filter ha~ing a finite impulse response of leng-th N~1.
F(2~ A Discrete-~`ourier-Trans~orm-arrangement based on the _______________________________________________~______ Rader-algorithm _______________ Fig. ~ shows schema-tically an embodiment o~ a Discrete-Fourier-Transform-arrange~ent whose structure is based on this Rader-algorithm. The arrangement shown in that Figure has an input 1 to which a set of data elements ~a(k)~ k=0,1, ... N-1 is applied. It is assumed that the data elements a(k) are complex quan-tities and that these elements occur sequentially. These data elements are applied to a switching arrangement 2~ which is shown symbolically ~,:

1 1595'~

only and which has two ou-tputs 3 and ~. This switching arrangemen-t 2 is controlled such that the da-ta element a(0) which as the first elemen-t of the set is applied to input 1 is rou-ted to the output 3 and that the remaining data elements of this set are routed to the output L~, The set o~
data elements ~a(k)~ k=1~2, ... N-1, which is procluced at the output 4 of the switching arrangemen-t 2 is applied to an accumulator 5, which accumulates -the data elements of this set. In adder 6 the sum produced by the accumulator 5 ~o is increased by a(0) and the sum thus obtained is multiplied by the factor ~ in a multiplier 7. At the output of -th~s multiplier 7 the data element z(0) defined in expression (7a) is produced.
The set of da-ta elements produced at output 4 o~
15 the switching arrangemen-t 2 is not only applied to accumu-lator 5 but also to a permuting arrangement 80 This per-muting arrangement 8 changes the order of occurrence of the data elements a(k) within the set ~a(kj~ k=1,2, ... N-1 and produces a set of data elements ~b(i)~ i=l,2, ... N-1.
20 It will be assumed here that these data elements b(i) also occur sequentially. The operation of this permuting arrange-ment 8 is such that for each da-ta element b(i) it holds that b(i) a( N-i d N) The data elements b(i) thus obtained are then applied to a circular non-recursive discret~ filter 9, having the finite impulse response h(i)_Eg . This filter 9 produces the elements z(gm mod N) - Aa(0) defined in 30 expression (10). In an adder 10, each elemen-t is augmented by a(0) and the sum thus obtained is mul-tiplied in a multi-pler 11 b~ -the factor A~ to achieve each data element (gm mod N). This last data elemen-t may optionall~v be applied to a second permuting arrangement 12 to be placed 35 in the desired (proper!) se~uence toge-ther with the other data elements produced by the multipl~ing arrangement 11 .
F(~) The method according -to the invention _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _. _ _ _ _ _ _ _ _ _ ~ _ _ _, _ _ _ As mentioned in the foregoing, expression (10) ~, :

~ 1595'~

represents a circular convolution. With the following identities y(m) = ~z(g mod N)-Aa~0) /A]
b(i) = a(gN~i mod N) ................. ~..... (11) h(v) = Eg where v = 1,2, .O. N-l expression (lO) may be written in the circular convolution form shown in paragraph 6.2 of Reference 8 (pages 166 and 167 in particular). More particularly, expression (10) then changes in-to N-l y(m) = ~ b(i) h(l+ ~(m-i) mod(N-l)} ) ........... (12) This expression (12) is known from pol~nominal theory (see, for example, Reference 10). This theory teaches the following: Let the data elements y(m) repre-sent the coefficients of a polynominal Y(u) for which it holds that: N-l Y(u) = ~ y(m)um 1 .......................... (13) m=l Let further the data elements b(i) represent the coefficients of a polynominal B(u) for which it holds that:
N~
B(u) = ~ b(i)u ............................. (14) i=l and let in a corresponding manner the filter coeficients h~v) represent the coefficients of a polynominal H(u) for which it holds that:
N-l v l ............................. (15) v=l then it can be proved (see also Reference 10) that when the coefficients y(m) are defined by expression (12) it then holds that Y(u) = B(u)H(u) mod (uN 1-1) ............... (16) Since N is a prime, it holds that N-l is an even number, so that:

1 1595~
PHN 9708 l3 19-8-1980 (u -1) = (U -1)(uM~1) M = (N-1)/2 ........................... (17) Using the ~hinese remainder theorem (see P~eferen-ce 6) i-t can be verified -that expression (16) rnay bewritten in the form:

Y(u) = 2 ~B1(u)I11(u) mod(u -1)~ (u *1~ +

-2 ~B2(u)E2(u) mod(u *-l)} (u -1) ......... .. -(18) lO wherein B1(u)=B(u) mod(u -1) = ~ bl(q)u ...,.,...(19a) B2(u)=B(u) mod(u ~1) = ~ b2(q)uq 1 ~1(U)=H(u) mod(u -1) = ~ h1(r)u ......... (19b) H2(u)=H(u~ mod(u +1) = ~ h2(r)u r=1 From these expressions (19a) and (19b) it can no~r be deri~ed that:
25 b1(q) = b(q) ~ b(M~q) b2(q) = b(q) - b(M+q) h1(r) = h(r) ~ h(M*r) ........ (20) h2(r) = h(r) - h(M*r) for r, q - 1,2,3, 0.. M
In expression (20~ i-t is indicated that the co-efficients of the polynominals B1(u) and B2(u) are linear combinations of the origina.l, permu-ted data elements. Also the coefficients of the pol~nominals H1(u) and H2(u) are linear comhinations of the ori.ginal filter coeffi.cients.
35 As from expression (11) it follows that:
h(r) = E ........ (21) then it holds that:

:
' ` `

~ 15g5~
PHN 9708 l4 19-8-1980 M+r h(M+r) = Eg ........................................... (22) Using the expressions (8a), (21) and (22) it follows from (20) that, for E = exp(-j2 ~/N), h1(r) = 2 cos~2l~g /N) S h2(r) = -2J sin(2 ~ g /N) .,.,~... .(23) and that for E = exp(+2~j~ /N), h1(r) = 2 cos(27Jg /N) h2(r~ = f2j sin(2~g /N) ... ,.,.. .(23a) Stating thato , lO Yl(U)=Bl(u)Hl(u) mod(u -1)= ~ Y1(~)UP

....... (24) Y2(U)=B2(u)H2(U) mod(u +1)= ~ Y2(P)UP
p= 1 then it follows from (18) that:

Y(U) = 2 (U + l ) Y1(u) f --2-(U -1 ) Y2(u) ...... (25) From the above it follows that the coefficients Y1~p) of 20 polynominal Y1(u) are obtained from the circular convolu-tion:
M

Y1(P) æ b1(q) h1(1* ~(p-q) mod M~ ) ................ (26) q-1 25 By substituting herein for h1(r) the values defined in (23) and (23a) then (26) becomes:

Y1(P) = ~ 2b1(q) cos(2N~ g1+ ~(p-q) mod M~

30 It can now further be veri~ied -that the coe~ficients Y2(p) of Y2~u) follows from the equation:

Y2(P) ~ 1 b2(q) h2(1+ ~(p-q) mod M} ) +

M
- ~ b2(q) h2(1+ ~(p-q) mod M~ ) ..,,...(27) As well as expression (26) this expression (27) also des-`:

.; :; :
.. ` ;. ` : ::

. :~

, .

~ 15957~
PHN 9708 15 19-8~1~80 cribes a circular convolution in which, however, the polari-ty of those da-ta elemen-ts b2(q) whose nurnber is larger -than or equal to p*1 must be inverted.
From (24) and (25) it now further follows -that it holds that the coefficients of Y(u) satisfy the followlng expressions:
Y(P) 2 ~Y1(P) Y2(p)~ .. . . . . . ..(28) y(M~p) = -2 {Y1(p) + Y2(P)}
for p = 1,2,3, ... M
lD From equation (12) it will be clear that the cir-cular convolution to be calculated in accordance with the ~ader-algo~it~m requires N-1 complex data elements b(i) and N-1 complex filter coefficients.
In the method proposed here two circular convolu-tions are used which now, howe~er, each require (N-1)/2 complex data elements b1(q) and b2(q), respectively, and (N-1)/2 filter coefficients which however are either purely real or purely imaginary.
F(4) A Discrete Fourier Transform Arrangement based on the __________________________ ~~______ ______________________ 20 method according to the invention ____________________________ ____ 4n embodiment of a Discrete Fo~lrier Transform arrangement which is an implementation of the method accor-ding to the invention, is schematically shown in Fig. 5.
The arrangement shown -there is implemen-ted to a very great 25 extent in the same manner as the arrangement shown in Fig.
4. In the arrangement of Fig. S the data elements b(i) produced by the permuting arrangement 8 are, however, pro-cessed in a completely different way than in the arrange-ment of Fig. 4. The arrangement shown in Fig. 5 comprises 30 a con~ersion arrangement 9' including a switching arrange-ment 13~ shown symbolically only, which has t-wo outputs denoted 1~ and 15, respectively. Both outputs 14 and 15 are connected to inputs of an adder 16 and inputs of a sub-tracter 17. Adder 16 produces the data elements bl(q) de-35 fined in expression (20) and subtrac-ter 17 produces the data elements b2(q), which are also defined in expression (20).
The data elements b1(q) are applied to a circular non-re-cursive discrete filter 19 having the impulse response ' : ; :

~ 15~5~

~hl(r) of length M = (N-l)/2. The data elements b2(q) are applied to a circular non-recursive discrete filter 20 hav-ing the impulse response ~h2(r) of length M. These impulse responses hl(r) and h2(r) are defined by either expression (23) or expression (23a). Filter l9 produces the data ele-ments Yl(P) defined in expression (26) or (26a), and the filter 20 produces the data elements Y2(p~ defined in expression (27). The data elements Yl(P) and Y2(p) thus obtained are applied to both a subtracter 21 and an adder 22, which pr~duce the data elements y(p) and y(M+p), res-pec~ively, in accordance with expression (28). The last-mentioned data elements are augmented by a(0) in adders 23 and 24, respectively. The sums thus obtained are multi-plied by the factor A in the multipliers 25 and 26, res-pectivelyr resulting in the data elements z(gP mod N) andz(gM P mod N). ~ust as described for the arrangement shown in Fig. 4, the data elements produced by the multipliers can be placed in the desired (proper!) sequence by means of the second permuting arrangement 27.
F(5) Detailed embodiments of some components F~5 1 ) The ~ermutin~ arranqements 8 and 27 Fig. 6 shows an embodiment of the permuting arrangement 8, to which the elements of the set {a(k)}k=l, ... N, are applied sequentially and which produces the elements of the set ~b(i)} i= 1,2, ... N-l, also sequen-tially. In this embodiment it is assumed that N=7 and that g=3. This permuting arrangement comprises a shift register 28 including six shift register elements 28(1)-28(6), which are each arranged for storing a data element a(k).
This shift register has an input 29, which is connected ~o the output 4 of the switching arrangement 2 of Fig. 5.
The outputs of the shift register elements 28(.) are connected in the way shown in the Figure to the output 32 of the permuting arrangement through AND-gate circuits 30(.) and an OR-gate circuit 31. These AND-gate circuits 30(.) receive control pulses Tl, T2,... T6, whichare each produced a period To after one another and which can be generated ina way as described in,for example, Reference ~P~, 1 ~5957~
P~IN 97O8 17 19-8-1980 9 on pages 75 and 76. More par-ticularly it holds tha-t when the control pulse T1 occurs at an instc~lt to then control pulse T2 occurs at an instant -to~To and ~3 at an instant to 2To etc. With this mode of control it is achieved tha-t at the output 32 of this permuting arrangeMent is produced:
b(1) = a(1) at instant to;
b(2) = a(5) at the instant to~To;
b(3) = a(4) at the instant -to~2To;
b(L~) = a(6) at -the instant to + 3To;
b(5) = a(2) at the instant to + ~To i b(6) = a(3) at the instant to ~ 5To.
The permuting arrangement 27 may be implemented in a manner which largely corresponds to the permuting arrangement shown in ~ig. 6. An embodiment of this permuting 15 arrangement 27 is shown in Fig. 7. It is again assumed that N=7 and g=3 and that the data elements z(n) of -the set ~z(n)~ n= 1,2~ ... N-1 occur sequentially. This permuting arrangement 27 comprises two shift register 33 and 34~ each including three shift register elements 33(1) - 33(3) and 20 34(1) - 34(3), respectively, each of these shift register elements being arranged for storing a data element ~ y(m)~a(O)~. . Shift register 33 has an input 35 connected to the output of multiplier 26. Shift register 34 has an input 36, connected to the outpu-t of multiplier 25. As 25 shown in the Figure, the outputs of the shift register elements 33(.) and 34(.) are connected to the output 39 of the permuting arrangement through ~ND-gate circuits 37(.) and an OR-gate circuit 38. Control pulses T~1, T'2 ~ - T'6 which each occur a period T~o after one another are now 30 applied to the AND-gate circuits 37(.). When control pulse T~l occur at instant tlo, then T~2 occurs at instan-t t'o+T'o and T~3 at instant t'o+2T'o, etc. ~lso these con-trol pulses may be generated in the way describe~ in ~e-ference 9. With this mode of control it is achie~ed that 35 at the output 39 of this permuting arrangement there is produced:
z(1) = A ~y(6) ~ a(O)? at the instant t'o z(2) = A ~y(2) ~ a(~)} at the instant t'o+T'o - :
. , .

, ~ ' ',, ~: , 1 159~7~
PHN 970S l8 19-8-1980 z(3) - A ~y(1) ~ a(O)} at -the instant -t'o~2T'o z(~) - A S~(4) ~ a(O)~ at th~ instant -t~o~3T~o Z(5) = ~ ~y(5) + a(O)~ at the instant tlo~T~o z(6) = A ~y(3) ~ a(O)~ at the ins-tant t~o~5T~o In practice, it is advantageous to combine the runction of the permuting arrangement 8 and the function of the switching arrangement 13; for example in the way shown in greater detail in Fig. 8. This combined permutlng-switching arrangemen-t, shown in Fig. 8, is implemented to a very great e~tent in the same manner as the permuting arrangement shown in Fig. 6. Elements in Fig. 8 correspon-ding to elements in Fig. 6 have the same reference numerals as in ~ig. 6. The arrangement shown in Fig. 8 differs ~rom the arrangement shown in Fig. 6 in the ~ollowing respects~
15 - The combined permuting-switching arrangement comprises two OR-gate circuits 40(1) and 40(2), whose outputs cor-respond to the outputs -l4 and 15~ respectively, of the switching arrangement 13 of Fig. 5. Inputs of OR-gate circuit 40(1) are connected to outputs o~ the AND-gate 20 circui$s 30(1), 30(4), 30(5), while inputs of OR-gate circuit 40(2) are connected to outputs of the ~ND-gate circuits 30(2), 30(3), 30(6).
- With this combined permuting-switching arrangement -the ~ND-gate circuits 30(.) are controlled o~ly by the -three control signals T1~ T2~ T3, Tl being applied to the AND-gate circuits 30(1) and 30(6), T2 being applied to the AND-gate circuits 30(2) and 30(5)~ and T3 being applied to the ~D-gate circuits 30(3) and 30(4). This mode of control results in that the data element b(q) appears at output 14 and simultaneously therewith the data element b(M~q) at the output 15.
It should be noted that a permuting arrangement may also be realized by meQns of a R~M '(random access memory). The data elements applied to this RAM are then 35 entered in storage locations which are addressed by a counter. The address code required to read -the da-ta ele-ments may be generated by a ROM.
A permuting arrangement which is particularly : : , ~, ,: , ll~s~7a suitable for processing "sampled da-ta" signals is des-cribed in detail in Reference 5.
F~5.2) The circular filters 19 and 20 __________________________________ An embodiment of the circular filter 19 is shown in greater detail in ~ig. 9. The discrete filter shown there is in the form of a trans~ersal filter and comprises a switching arrangement 41, shown syrnbolically ha~ing an input 42 and an input 43 as well as an output 44. The input 42 is connected to -the output of the adder 16. A shift 10 register 45 which, in the case considered here for N=7 and g=3, comprises three shift register elements 45(.), each arranged for storing a data element b1(q)~ is connected to the output 44. Via a multiplier 46(.) ha~ing the fi~ed filter coefficients -2h1(~), the outpu-t of each shif-t regis-15 ter element 45(.) is connected to an input of an adder 47, which thus produces the desired data element Y1(p). The circular character of this filter is obtained in that the output of the shift register element 45(1) is also con-nected to the input ~l3 of the switching arrangement 41~
The filter shown in Fig. 9 operates as follows.
At an instant to ~ ~ in which ~is much smaller than the period To defined in paragraph f(5.1.), the outpu-t 44 of switching arrangement 41 is connected to its input 42.
At the instant to the data element b1(1) is applied to 25 this input, and written into the shift register element 45(3). At the instant to~To the data element b1(2~ is applied to input 42 and written into the shift regis-ter element 45(3), while simultaneously the data element b1(1) is shifted to the shift register element 45(2). At the 30 instant to~2To the data element b1(3) is applied to the input 42 and written into the shift register elernent 45(3) while simultaneously the data element bl(2) is shifted to the shift register element 45~2) and the data element b1(l) to -the shift register element 45(1). The da-ta elemeIlts stored 35 thus, are now mul-tiplied in a manner customary for trans-~ersal filters by the associated f'ilter coef~'icients 2h1(1), 2h1,~3) and ~h1(2) andthe products obtained are accumulated in adder 47. The content of -the shift register ~ l~g5~
PHN 970~ 20 19-8-1980 45 being as shown in the Figure~ the adder 47 produces the data element Y~
At an instant located between the ins~ant at which the data element b1(3) is written lnto -the shift register 45 and the instant at which -the above-mentioned data element y1(1) is produced, the output ~4 of -the swit-ching arrangement 41 is connected to its input 43. ~ter the adder 47 has produced the da-ta elemen-t y1(1) the con-tent of the shift register 45 is shifted one position to the right, causing b1(1) to be stored in the element 45(3), b1(3) to be stored in the element 45(2) and b1(2) to be stored in the element 45(-l). With the data elements stored thus, the adder 47 produces the data element Y1(2). There-after the content of the shif-t register 4~ is again shifted l5 one position to the right, thus causing data element b1~3) to be stored in shift register element 45(1), data element b1(1) to be stored in shift register element 45(2) and data element bl~2) to be stored in shift register element 45(3). With the data elements stored thus the adder 47 20 produces the data element Y1(3)- This operation is then repeated, but now with a new set of three data elements {b1(q)} q= 1~2, 3 The circular filter 20, which has -the impulse response 2h2(r) and which produces the data elements Y2(p) 25 defined in expression (27), may be implemented in sub-stantially the same manner as the circular filter 19. Fig.
10 shows an embodiment of this circular ~ilter 20, which is implemented to a very great e~tent in a similar way as the circular filter shown in Figo 9. In Fig. lO elements 30 corresponding to elements already shown in Fig. 9 have been given the same reference numerals as in Fig. 9, now however provided with an accent no-tation. The circular filter shown in Fig. 10 differs from the filter shown in Fig. 9 in that the output l~4~ of the switching arrangement 35 41' is connec-ted to the input of shift register 1~5- through a multiplying device 4~. This multiplying device 4~ has the constant multiplication factor -1. Further, the multi-plication factor of the mul-tiplier 46'(1) is now equal to ~:, , .

5~5~V
PHN 970~ 21 19-8~1980 2h2(1), that of multiplier L~6'(2~ -to 2-h2(33 and that of the multiplier 46'(3) is equaL to ~-h2(2).
F(5.3.) An al-ternative struc-ture ___________________________~___~_ The embodiments described in paragraph F(5.1) are based on the assumption that the data elements b(i) are sequentially produced by the permuting arrangemen-tO If it is allowed -that the permuting arrangement produces all data elements b(i) of the set Ib(i)~ i= 1,2, ,.. N-1 simul-taneously (and -therefore in parallel form) then the func-tion of the permuting arrangement ~, the switching arrange-ment 13 the adder 16, -the subtracter 17, the circular filter 19 and the circular filter 20 can be realized by means of the circuit arrangement which is shown schema-tically in Fig. 11. I-~erein~ the permuting arrangement 8 lS is again formed by the shift register 28 having the shift register elements 2~(.). The input 29 of this shift regis-ter is again connected to the output 4 of switching arrange-ment 2 (see Fig. 5). The outputs of the shift register elements 28(.) are connected in the way shown in the Figure 20 to inputs of ~-gate circuits 49(.~. These AND~gate cir-cuits all receive simultaneously a control pulse T at an instant to~ in response to which -they produce the set of data elements {b(i)~ i=1,2, ... N-1. The data elements b(i) which are then simul-taneously available are applied in the 25 way shown in the Figure to the three subtracters 17(.) and the three adders 16(.), which produce the set of data elements ~b2(q~ q= 1~2~3 and {bl(q)2 q=1~2~3~ respectively.
The set of data elements bl(q) is directly applied to the circular filter 19', which is predominantly implemented in 30 the way shown in Figo 9. ~ia multipliers 50(.)~ each having a multiplication factor 1 the set o~' data elemants ~b2(q)}
is applied to the circular filter 20', which is predominan-t-ly implemented in the way shown in Fig. 10. For the cir-cular filters 19' and 20' shown in Fig. 11 -the shif-t 35 register elements 45( . ) and l~5 ' ( . ) are of the type having a preset inp1lt S (alterna-tively denoted Set- input) via which a data element can be written in-to the shift register element.

... . .

5~) PIIN ~70~ 22 19-8-1980 It should be noted that the filters -l9 and 20 and also 19' and 20' may al-ternati~ely be implemented in the way which is extensi~ely described on pages 5L~1-556 of Reference 11.
It should also ba noted that when all the da-ta elements a(k) are real, then Y1(P) form -the real and Y2(p) forms the imaginary part of y(p~ and y(M~p3~ so that for e~ample the subtracter 21 ancl the adder 22 may be omitted.
Also the adders 23 and 24 can now be sirnplified as a(0) lO needs only be added to -the real data element Y1(p).
In practice it will, however, frequently be the case that the adders 23 and 2~ are completely absent, as the addi-tion of a~0) to y~p) and y(M+p) introduces only a, in many cases uninteresting~ level shift so that in 15 practice there is often only an interest to known the quan-tity z(n)-Aa(0)0 In practice the discrete Fourier trans~orm ar~
rangement is often used for spectrum analysis. This results in that in practice there is no need to known z(n) or, 20 possibly z(n)-Aa(0), but only to known the square of the modulus of z(n) or z(n)-Aa~0~. ~hen all data elements a(k) are real, this means that there is only an interest in the square of the modulus of Y1(p) increased by the square of the modulus fY2(p), so that the elements 21 to 27 may 25 be dispensed with ., ~ . ~, . . . .

.
, . ~ .

Claims (3)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS-
1. A method of performing the discrete Fourier trans-form on an array of signal values a(k), k=0,1,2, ... N-1, wherein N is a prime, the method comprising the following steps:
- a permuting step for generating a first array of signal values b(i), i=1,2, ... N-1, wherein b(i) = a(gN-i mod N) and g is a positive integer which is equal to a primitive root of a field consisting of the numbers 1,2,3, ... N-1;
- a first generating step for generating a second array of signal values b1(q), q=1,2, ... M, wherein M=(N-1)/2 and b1(q) is equal to b(q) + b(M+q);
- a second generating step for generating a third array of signal values b2(q), q=1,2, ... M, wherein b2(q) is equal to b(q) - b(M+q);
- a first conversion step for converting the second array of signal values b1(q), q=1,2, ... M into a fourth array of signal values yl(P), p=1,2, ... M, wherein , in which .alpha. represents a constant;
- a second conversion step for converting the third array of signal values b2(q) into a fifth array of signal values y2(p), p=1,2, ... M, wherein in which .beta. represents a constant and where ;
- a combining step for generating an array of output signal values z(n)-Aa(0), n=1,2, ... N-1 which are proportional to the discrete Fourier transform of the array of input signal values and which are defined by the relations z(n)-Aa(0) = y1(P) + (-1)Sy2(p) where: p = 1,2, ... M
M = (N-1)/2 S = +1 for n=gP mod N
S = 0 for n=gM+P mod N
A being a constant.
2. An arrangement for converting a set of first data elements {a(k)} k=1,2,3, ... N-1, into a number of predeter-mined second elements of a set of second data elements {z(n) Aa(0)} n=1,2, ... N-1, wherein N is a prime and A a constant and the relationship between a second data element and the first data elements being given by the N-point dis-crete Fourier transform, the arrangement comprising:
- permuting means for generating a set of third data ele-ments {b(i)} i=1,2, ... N-1, which is formed by a permuted version of the first data elements of the first set {a(k)};
- conversion means for converting the set of third data ele-ments {b(i)} into the predetermined data elements of the set of second data elements {z(n)-Aa(0)};
characterized in that the said conversion means comprises:
- first generating means for generating a set of fourth data elements {b1(q)} q=1,2, ... M, wherein M=(N-1)/2 and b1(q) is equal to b(q) + b(M+q);
- second generating means for generating a set of fifth data elements {b2(q)} q=1,2, ... M, b2(q) being equal to b(q) - b(M+q);
- first auxiliary conversion means for converting the set of fourth data elements {b1(q)} q=1,2, ... M, into a sixth data element y1(p) of a set of sixth data elements {y1(p)} p=1,2, ... M, in accordance with the expression wherein .alpha. represents a constant and wherein g is a positive integer which is equal to a primitive root of the field con-sisting of the numbers 1,2,3, ... N-1;
- second auxiliary conversion means for converting the set of fifth data elements {b2(1)3 q=1,2, ... M into a seventh data element y2(p) of a set of seventh data elements {y2(p)} p=1,2, ... M, in accordance with the expression:

wherein .beta. represents a constant and wherein , and - combining means for generating the second data element z(n)-Aa(0) in accordance with the expression:
z(n) Aa(0) = yl(p)+(-1)Sy2(p) where p = 1,2, ... M
M = (N-1)/2 and wherein it holds for n-gp mod N that S=+l and for n=gM P mod N it holds that S=0.
3. An arrangement as claimed in Claim 2, character-ized in that each of the first and the second auxiliary conversion means comprises a circular discrete filter having an impulse response of length M.
CA000372867A 1980-03-17 1981-03-12 Method of and arrangement for calculating the discrete fourier transform by means of two circular convolutions Expired CA1159570A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8001559A NL8001559A (en) 1980-03-17 1980-03-17 METHOD AND APPARATUS FOR CALCULATING THE DISCRETE FOURIER TRANSFORMATION USING TWO CIRCULAR FILTERS
NL8001559 1980-03-17

Publications (1)

Publication Number Publication Date
CA1159570A true CA1159570A (en) 1983-12-27

Family

ID=19835005

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000372867A Expired CA1159570A (en) 1980-03-17 1981-03-12 Method of and arrangement for calculating the discrete fourier transform by means of two circular convolutions

Country Status (7)

Country Link
US (1) US4435774A (en)
EP (1) EP0037130B1 (en)
JP (1) JPS56143081A (en)
AU (1) AU546485B2 (en)
CA (1) CA1159570A (en)
DE (1) DE3174923D1 (en)
NL (1) NL8001559A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4587626A (en) * 1981-10-13 1986-05-06 Trw Inc. Sum and difference conjugate discrete Fourier transform
CA1200910A (en) * 1981-12-29 1986-02-18 Toshiaki Yamada Terminal device for editing document and communicating data
US4646256A (en) * 1984-03-19 1987-02-24 The Board Of Trustees Of The Leland Stanford Junior University Computer and method for the discrete bracewell transform
FR2568036B1 (en) * 1984-07-20 1989-06-02 Thomson Csf CALCULATION CIRCUIT
US5477465A (en) * 1993-08-31 1995-12-19 Talx Corporation Multi-frequency receiver with arbitrary center frequencies
US5987005A (en) * 1997-07-02 1999-11-16 Telefonaktiebolaget Lm Ericsson Method and apparatus for efficient computation of discrete fourier transform (DFT) and inverse discrete fourier transform
US6208946B1 (en) * 1997-09-30 2001-03-27 Advantest Corp. High speed fourier transform apparatus
JP6662627B2 (en) * 2014-12-16 2020-03-11 ジーイー グローバル ソーシング エルエルシーGE Global Sourcing LLC Engine cylinder misfire detection system

Also Published As

Publication number Publication date
JPS56143081A (en) 1981-11-07
EP0037130A1 (en) 1981-10-07
AU546485B2 (en) 1985-09-05
US4435774A (en) 1984-03-06
JPS6235712B2 (en) 1987-08-03
AU6833181A (en) 1981-09-24
EP0037130B1 (en) 1986-07-16
DE3174923D1 (en) 1986-08-21
NL8001559A (en) 1981-10-16

Similar Documents

Publication Publication Date Title
AU689439B2 (en) Digital filter having high accuracy and efficiency
Jackson On the interaction of roundoff noise and dynamic range in digital filters
US3665171A (en) Nonrecursive digital filter apparatus employing delayedadd configuration
CA1159570A (en) Method of and arrangement for calculating the discrete fourier transform by means of two circular convolutions
US4563750A (en) Fast Fourier transform apparatus with data timing schedule decoupling
US9705476B2 (en) Optimal factoring of FIR filters
Mehrnia et al. Optimal factoring of FIR filters
Liu et al. Calculation of narrow-band spectra by direct decimation
US4093994A (en) Fast discrete transform generator and digital filter using same
US4012628A (en) Filter with a reduced number of shift register taps
JPH0831776B2 (en) Digital filter
US5128886A (en) Using long distance filters in the presence of round-off errors
EP0791242B1 (en) Improved digital filter
US6058404A (en) Apparatus and method for a class of IIR/FIR filters
Perera Architectures for multiplierless fast Fourier transform hardware implementation in VLSI
Bae et al. Overlap-save commutators for high-speed streaming data filtering
Xue et al. Hardware implementation of Hirschman optimal transform based on distributed arithmetic
Farhang-Boroujeny et al. Sliding transforms for efficient implementation of transform domain adaptive filters
Lowdermilk et al. Finite arithmetic considerations for the FFT implemented in FPGA-based embedded processors in synthetic instruments
US4584564A (en) Residue to analog converter
Jaber et al. Fast method to detect specific frequencies in monitored signal
Tanaka et al. The tapped analog delay
US20200151238A1 (en) Processor and Methods Configured to Provide a Low-Complexity Input/Output Pruning Fast Fourier Transform
KR950002072B1 (en) Digital filter
Smith A one-parameter method for accelerating the convergence of sequences and series

Legal Events

Date Code Title Description
MKEX Expiry