US 4023028 A Abstract A wholly digital system for computing the discrete Fourier transform of sequentially received data in a recursive fashion. Two parallel shift registers store and shift the real and imaginary components of the complex number X
_{k} + iY_{k}. The data in the parallel registers are successively shifted one bit per strobe in response to receipt of new data. Additional logic operates recursively on successive data inputs to compute the discrete Fourier transform.Claims(5) 1. An apparatus for computing the discrete Fourier transform of a waveform comprising:
input register means for receiving a series of digital data samples representative of said waveform; subtract and hold means connected to said input register means for subtracting the oldest data sample stored in said input register from the newest data sample stored in said input register means; an adder network connected to the output of said subtract and hold means; a multiplier network having a first input connected to the output of said adder network and having a second input; constants storage means connected to said second multiplier network input for outputting to said multiplier network a series of predetermined digital constants; output register means having an input connected to said multiplier network and an output connected to said adder network second input; timing means for gating said input and output register means, said subtract and hold means, said adder network, said multiplier network and said constants storage means at predetermined intervals. 2. The apparatus of claim 1 wherein:
said input register means comprises first and second input register means for receiving the real and imaginary components respectively of said digital data samples; said subtract and hold means comprises first and second subtract and hold means; said adder network comprises first and second adders; said constants storage means comprises first and second constants storage devices; and said output register means comprises first and second output register means. 3. The apparatus of claim 2 wherein said first constants storage device holds the real part of e
^{2}.sup.πij/N, j = 0, 1 . . . , N-1 and said second constants storage device holds the imaginary part of e^{2}.sup.πij/N, j = 0, 1 . . . , N-1 where i = √ -1, j = an index indicating a particular Fourier coefficient and N = the number of digital samples stored in said input register means minus 1.4. The apparatus of claim 3 wherein said timing means simultaneously gates said first and second input registers in response to each digital data sample;
said timing means simultaneously gates said first and second subtract and hold means subsequent to each gate to said input registers; said timing means simultaneously gates said first and second adders and said multiplier network with a first series of pulses subsequent to each gate to said first and second subtract and hold means; and said timing means gates said constants storage means and said output registers with a second series of pulses, each pulse of said second series of pulses following a pulse of said first series of pulses; whereby in response to the receipt of each digital data sample, said first output register contains a series of the real part of Fourier coefficients and said second output register contains a series of the imaginary part of Fourier coefficients. 5. A method of computing the discrete Fourier transform of a waveform comprising the steps of:
receiving a series of digital data representative of said waveform; storing sequentially said series of digital data representative of said waveform; subtracting the oldest stored data from the newest stored data to obtain a difference each time a data is received; generating a series of predetermined constants; providing an output shift storage means; adding sequentially each of the data stored in said output shift storage means to said difference to produce a series of addition signals; multiplying each addition signal by a predetermined constant from said series of predetermined constants to obtain a series of products; sequentially storing said series of products in said output shift storage means; whereby said output shift storage means contains a series of Fourier coefficients. Description The Fourier transform is used for characterizing linear systems when continuous waveforms are involved. However, for sampled data the discrete Fourier transform (DFT) is the tool that is applied. The fast Fourier transform is simply an efficient computational method for obtaining the DFT. For a sequence Z Applicant's invention pertains to a simple recursive method that can be applied in the computation of the DFT. In certain practical situations, the data Z To implement the technique of the present invention, Applicant has derived the "moving-window" discrete Fourier transform (MWDFT) as described below. Rather than treat the special case where the DFT of the sequence Z For each N = 0, 1, . . . the MWDFT W(j,n) is defined herein as ##EQU2## for j = 0, 1, . . . , N-1. From (2) it follows that ##EQU3## and ##EQU4## A manipulation of (3b) gives the desired recursive formula
(4a) W(j,n+1)= [W(j,n)+Z
(4b)P W(j,0)= W(j), where W(j) is defined in (1) above. The present invention provides an apparatus for computing the MWDFT as derived in equation (4) above. It should be noted that for each n the calculation of Z The recursive method of equation (4) requires computation of the initial value W(j,0) = W(j), which is defined in (1). This can be accomplished by the recursive formula
(5a) W'(j,m+1)= [W'(j,m)+Z and
(5b) W'(j,0)= Z m = 0, 1, . . . , N-2. The desired initial value is W(j,0) = W' (j,N-1). Equation (5) can be verified by applying (4) to the sequence obtained by inserting N-1 zeros at the beginning of the sequence Z It is a primary object of the present invention to provide a novel technique and apparatus for computing the DFT. It is another object of the present invention to provide a method and apparatus for computing the DFT in a "moving-window" fashion. It is another object of the present invention to provide a method and means for computing the DFT in a recursive fashion. Other objects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings. FIG. 1 is a network diagram of the recursive Fourier transform computer of the instant invention. FIG. 2 is a network diagram of the complex multiply network of FIG. 1. FIG. 3 is a network diagram of the timing generator of the present invention. FIG. 4 is a timing diagram of the timing pulses produced by the timing generator of FIG. 3. FIG. 5 is a network diagram of an alternative method of obtaining the complex constants of the instant invention. The DFT to be computed recursively is defined in equations (2) through (4) above. A block diagram of this invention is shown in FIG. 1 to which the timing diagram of FIG. 4 relates as indicated below. Referring to FIG. 1, X and Y registers 10 and 11 are registers that are capable of storing and shifting N+1 multi-bit data obtained as digital input data from suitable input sources such as A/D converters 1 and 2. The digital input data are assumed to consist of b-bits each. For example, registers 10 and 11 could consist of b parallel (N+1)-bit shift registers. The U and V registers 18 and 19 are also capable of storing and shifting N multi-bit data that are obtained as a result of the arithmetical operations described below. The C Referring to the block diagram of FIG. 1 and the timing diagram of FIG. 4, the recursive computation is performed by the apparatus of the instant invention as follows. Upon occurrence of the data-available strobe from A/D converter 1, registers 10 and 11 are shifted right one bit and the new digital data are inserted as the left most data in the registers. Those data which, prior to shifting, were the right most data in the registers are discarded as belonging to the previous "window" of data. Thus, after each SXY pulse, registers 10 and 11 contain the N+1 previously obtained data X The details of the complex multiply network 20 are illustrated in FIG. 2. It is readily apparent that component Z The C The details of the timing generator for producing the timing signals illustrated in FIG. 4 are shown in FIG. 3. As seen in FIG. 3, the data available strobe is input to the monostable multivibrator M1 which generates a pulse (labelled "A") of some specified length (the length of the pulse depends upon the rate at which computations are made and may differ from one application to the next). This pulse is inverted by inverter 31 and the end of pulse A causes multivibrator M2 to generate pulse C which is output as the SXY pulse of FIG. 1 and is also inverted by inverter 32 to produce pulse D to trigger multivibrator M3. Multivibrator M3 generates pulse E which is output as strobe S and is also used to set Flip Flop G. Flip Flop G gates the clock oscillator 33 output F into the binary counter 36 through AND gate 35 and into multivibrator M4. The binary counter 36 counts the number of pulses H at its output and when the count reaches N, comparator 37 produces pulse J which resets Flip Flop G. Thus, exactly N output pulses H are produced. Outputs H are furnished to multivibrator M4 to produce outputs K which are the add and multiply (AM) pulses of FIG. 1. Outputs H are also inverted by inverter 38 to produce output L which in turn triggers multivibrator M5 to produce outputs M which are furnished as the SUVC pulses of FIG. 1. In the discussion above, it was assumed that all N coefficients W(j,n), j = 0, 1, . . . N-1 are of interest. If only K (K<N) are of interest, then only those K corresponding constants need be stored, and the size of the registers 18 and 19 can be decreased accordingly. Also if the input data are real, only the X register 10 is necessary for the input data and the V register 19 would be connected directly to the complex multiply circuit 20, i.e., Z An alternative for generating the complex constants C Alternatives to the embodiments illustrated include alternate methods of data storage, e.g., core storage instead of shift registers. Also parallel adder/complex multipliers can be used so that all N (or fewer if desired) DFT coefficients can be computed simultaneously. The advantage of the present invention is that the computation of the DFT for sequentially received data requires very little time after the receipt of the final datum for which the transforms are computed. Also, the instant invention provides the capability of computing the DFT in a "moving-window" fashion. This is significant in radar and communications applications where unknown signal arrival times makes "moving-window" detection necessary. Another advantage of the present invention is that the circuitry for performing the computations is all digital, thus lending to simplicity, reliability, and commonality. Obviously many modifications and variations of the present invention are possible in the light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims the invention may be practiced otherwise than is specifically described. Patent Citations
Non-Patent Citations
Referenced by
Classifications
Rotate |