Abstract:
Apparatus for producing the Fourier coefficients of a time and/or space-varying input signal utilizes a bank of delay filters whose outputs are selectively connected to the inputs of a bank of accumulating circuit each of which produces one of the desired Fourier coefficients. Each of the delay filters produces an output signal which is the weighted average of one or more samples of the input signal, the samples being equally spaced in time over the period of the input signal. The accumulating circuits, equal in number to the number of harmonics in the desired Fourier series, each produce a weighted sum of the output(s) of selected delay filters which are interconnected with the accumulating circuits in accordance with the so-called Mobius function. The apparatus may employ either general purpose or special purpose digital or analog processing circuits, and is particularly suitable for implementation with VLSI fabrication techniques. Futher circuit simplification may be achieved by preprocessing the input signal into a delta modulated bipolar signal to reduce the number of internal data paths and to permit the signal averaging function to be implemented with a simple up-down counter.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to high speed signal processing circuits and more particularly to special purpose VLSI coprocessing circuits for performing Fourier analysis and synthesis. 
     Spectacular advances have been made in recent years in the development of general purpose signal processing VLSI chips based on a microprocessor type of architecture. Though the development has been very rapid, the next generation of signal processing chips will require some innovative changes. One such change is the use of special-purpose coprocessors for basic operations such as narrow band filtering and Fourier analysis. 
     When performing real time signal processing, the continuous flow of data together with the complexity of the computations that have to be performed make it difficult to design a general purpose system which will perform a specific task efficiently. On the other hand, if an efficient algorithm for a specific task is found, there must be a suitable match between algorithm and VLSI layout if the solution is suitable for realization in hardware. 
     It is accordingly a principal object of the invention to efficiently and accurately perform a large class of signal processing tasks (including Fourier analysis, narrow-band filtering, and beamforming) by means of very large scale integration (VLSI) devices. 
     SUMMARY OF THE INVENTION 
     The present invention implements a novel algorithm for accurate high-speed Fourier analysis and synthesis. The necessary computations proceed in parallel and the individual operations are very simple. Except for a small number of scalings in one stage of the computation, only multiplications by 0, +1, and -1 are required. If the input samples were not quantized and if ideal real-number operations were used internally, then the results would be exact. The accuracy of the computation is limited only by the input A/D conversion process, any constraints on the word lengths of internal accumulating registers, and the implementation of the few scaling operations. 
     In accordance with a feature of the invention, the Fourier coefficients of a time-varying input signal are derived by the combination of a bank of delay filters whose outputs are selectively connected to the inputs of a bank of accumulating circuits each of which produces one of the desired Fourier coefficients. Each of the delay filters produces an output signal which is the weighted average of one or more samples of the input signal, the samples being equally spaced in time over the period of the input signal. The accumulating circuits, equal in number to the number of harmonics in the desired Fourier series, each produce a weighted sum of the output(s) of selected delay filters. 
     More specifically, to obtain the coefficients of a Fourier series of N harmonics, the coprocessor contemplated by the present invention would comprise a bank of N delay filters and a bank of N accumulators. Each of the delay filters, individually designated by a number n from 1 to N respectively, produces an output signal S(n,t) which is the average of n samples, equally spaced in time, of the input signal A(t). Each filter samples the input signal within an analysis interval which, in the case of a periodic input signal, may be the period of the lowest frequency component of the input signal. Expressed mathematically, the output S(n,t) of a given delay filter n at time t is given by the relation: ##EQU1## 
     In order to enhance the efficient, effective, high-speed realization of the algorithm in an integrated circuit, further simplicities are realized by the use of delta modulation to represent the input function in digital form. The result is that only binary (or preferably,ternary) sequences need to be processed in the parallel computation, and the required accumulations can be performed by up/down counters. The dynamic range of the resulting transformation can be increased by the use of adaptive delta modulation (ADM). 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the description which follows, reference will frequently be made to the attached drawings which are briefly described below: 
     FIG. 1 graphically depicts the signal processing components which perform the conversion of a time-varying input signal into a set of output signals each representing one of the coefficients of the Fourier series which represents the input signal; 
     FIG. 2 depicts an analog, switched capacitor circuit which produces the recursive running sum of timed samples of an input signal, and which may be used to implement the delay filters employed in the invention; 
     FIG. 3 is a schematic diagram of a 3-stage analog delay filter implemented as a lossless discrete integrator, which may alternatively be used to implement the invention; 
     FIG. 4 illustrates still another implementation of the delay line filter which may be used to construct a signal processing circuit in accordance with the invention; and 
     FIG. 5 is a schematic diagram of a simplified circuit realized by employing delta modulation to represent the input function. 
    
    
     DETAILED DESCRIPTION 
     The basic organization of the signal processing circuit contemplated by the invention is illustrated in FIG. 1 of the drawings. The circuit processes an input signal from a source 11 into a set of output signals, each of which represents one of the coefficients of the Fourier series representation of the signal from source 11, the output signals being delivered to a utilization unit 13 as seen in FIG. 1. The signal processing circuit contemplated by the invention may be implemented by analog or digital devices and preferably takes the form a single VLSI circuit which may be employed to rapidly and accurately derive the Fourier coefficients which are utilized, in known ways, in a wide variety of applications, such as imaging systems, digital signal filters, and the like. 
     In accordance with the invention, a signal processing circuit capable of developing a desired number of coefficients comprises a bank of delay filters 15 and a bank of accumulators 17. Each of the delay filters in the bank 15 has an input connected to receive the input signal from source 11 and delivers, at its output, the average of a set of equally spaced samples of the time-varying input signal. In the embodiment seen in FIG. 1, the circuit delivers eight (8) Fourier series coefficients to the utilization unit 13. The uppermost filter in the bank 15 delivers a single sample taken (taken at time t=0) to its output. The next filter delivers the average of two samples (the first at time t=0 and the second at t=-1/2, where the period of the input waveform is assumed to be unity). The eighth and last filter at the bottom of bank 15 delivers the average of eight samples taken at t=0, t=-1/8, t=-1/4, t=-3/8, t=-1/2, t=-5/8, t=-3/4 and t=-7/8. As will be discussed later, the delay filters in the bank 15 may be simply implemented in a variety of ways using either analog or digital circuits, or a hybrid of analog and digital devices. 
     In accordance with the invention, the averaged sample signals produced by the delay filter bank 15 are summed in the bank of accumulators 17 each of which is connected to selected filters in the bank 15 in accordance with a pattern which is mathematically describable by the so-called &#34;Mobius function,&#34; a known function which translates integers into the values +1, -1 and 0. The relationship of the Mobius function to the connection pattern depicted in FIG. 1 between the bank of delay filters 15 and the bank of accumulators 17 will be described and justified in more detail next. 
     THE MOBIUS FUNCTION 
     The Mobius function μ(n) of the positive integer n is defined by the formulas 
     
         μ(1)=1                                                  (1) 
    
     
         μ(n)=(-1).sup.s if n=(p.sub.1) (p.sub.2) . . . (p.sub.s)(1b) 
    
     where the p i  are distinct primes 
     
         μ(n)=0 if p.sup.2 |n for any prime p           (1c) 
    
     The vertical bar notation m|n in (1c) and in other formulas below means that the integer m divides the integer n exactly with no remainder. 
     The function μ(n) is called the Mobius function after A. F. Mobius (1790-1868). Importantly, the only possible values of μ(n) are +1, -1, and 0. Properties of the Mobius function are presented in books on number theory. One useful source is the book entitled &#34;Number Theory in Science and Communication&#34;, by Manfred R. Schroeder, Springer-Verlag, Berlin, 1986. 
     778 The Kronecker delta function may be represented using the Mobius function. The Kronecker delta function is defined for positive integers m and n by the formula 
     
         δ(m,n) =1 for n=m                                    (2) 
    
     
         otherwise, δ(m,n)=0                                  (3) 
    
     The summary function of the Mobius function and its representation of the Kronecker delta function are expressed by the formula 
     
         δ(m,n)=Σμ(d)={1 if (m/n)=1, 0 otherwise}d|(m,n)(4) 
    
     The values of m and n are positive integers and the summation is carried out over all positive integer values of d which exactly divide the positive integer m/n, including the values 1 and m/n. If m and n are chosen so that m/n is not an integer, there are no terms in the sum and its value is defined to be zero. 
     APPLICATION OF THE MOBIUS FUNCTION TO FOURIER ANALYSIS 
     The goal is the conversion of a real-valued periodic function A(t) into a Fourier series ##EQU2## 
     
         in which a.sub.k (t)=A.sub.k cos (2πkt+0.sub.k)         (6) 
    
     and A k  and 0 k  are the amplitude and the phase, respectively, of the k th  harmonic term. As can be seen from formula (5) it will be assumed that A(t) has period one and contains no zero-frequency (constant) term. In addition, each harmonic term above the N th  is assumed to be zero. 
     
         a.sub.k (t)=0 for k=N+1, N+2, . . .                        (7) 
    
     The conversion circuit, as will be seen, employs a bank of delay-line (or transversal) filters each with input A(t). The output of the n th  filter is denoted by S(n,t) and defined by the formulas ##EQU3## 
     
         and S(n,t)=0 for n=+1, +2, . . .                           (8b) 
    
     Note that S (a,t)=A(t). By replacing the variable t in formula (8) by (t+1/n) and using the periodicity of A(t), it can be seen the S(n,t) is periodic with period 1/n for n=1, 2, . . . , . Further, by calculating the frequency response of the linear filtering operation of formula (8), the Fourier series of S(n,t) may be written as ##EQU4## 
     Because of the assumption of formula (7), only the first [N/n] terms of (9) can be non-zero. [N/n] denotes the largest integer which is less than or equal to N/n. 
     The main preliminary result, formula (9), about the harmonic content of the output of the n th  filter can be restated as ##EQU5## 
     The following inverse formula may now be proven. ##EQU6## Recall that, because of (8b), the summation in (11) contains at most n terms. The function μ(m) is the Mobius function which only takes on values +1, -1, and 0. Hence, formula (11) provides a very simple way of calculating the k th  Fourier harmonic component from the simply computed filter outputs of formula (8a). 
     Formula (11) may be proven by the following steps: (a) substitute formula (10) into the right-hand side of the formula (11); (b) rearrange the order of summation; and (c) use the Kronecker-delta-function property of the summatory Mobius function (formula (4) above). Step (a) yields: ##EQU7## The remainder of the proof is carried out by rearranging the order of summation of the finite number of non-zero terms on the right side of (12) and using the special index-selection property of the summed values of the Mobius function which is specified by formula (4) above. 
     Rearranging the order of summation on the right hand side of (12) provides the following results: ##EQU8## 
     In forming (13b) from (13a) the terms are taken from (13a) which have a(j) as a factor and then added for j=1, 2, . . . . Because some values of j can be expressed in different ways as the product of three integers, j=kmn, the values of μ in (13a) for which the index m divides j/k are used; that is, j/k=mn because j =kmn by definition. finally, formula (4) is used to obtain (13c). That is, ##EQU9## 
     Computing Fourier Coefficients using the Aft 
     The equations of the previous section may be explicitly written out to illustrate the computation of Fourier coefficients using the Arithmetic Fourier Transform for a signal band limited to eight harmonics. It will be assumed, without affecting the validity of the proof of the previous section, that A(t) is complex-valued. ##EQU10## The set of complex valued non-zero Fourier coefficients {A k  } for k=1, 2, . . . 8, can be calculated by evaluating formula (11) at t=0. The flow chart for the computations is shown in FIG. 1. For eight channels the values of A(t) at 22 instants, corresponding to the various values of m/n, are required. 
     It is instructive to compare this with the Fast Fourier Transform (FFT) algorithm. In the FFT computation only eight samples of the signal equally spaced in time are required. However, for VLSI realization the fact that multiply operations are involved in the FFT algorithm makes the implementation difficult. The algorithm based on the Mobius inversion which is contemplated by the present invention, having a simpler flow diagram, presents an easier task for VLSI layout. 
     VLSI Implementations 
     High speed signal processing circuits which embody the principles of the present invention may employ digital, analog or possibly mixed digital-analog techniques. Conventional sequential and parallel digital processing techniques, including those used in conventional, general purpose processors, may be employed as will be apparent to those skilled in the art, and the use of the arithmetic Fourier transform methods described here can significantly reduce the computational burden imposed. However, as has been noted, the methods contemplated by the present invention can be applied to particular advantage in the construction of special purpose VLSI processing circuits which are specially adapted to perform Fourier analysis and synthesis. 
     In order to obtain more insight into the trade-offs involved in a combined digital-analog realization, the use of analog sampled data techniques for the implementation of the algorithm will be discussed in more detail below. 
     Considerations for a Mixed Analog/Digital Implementation 
     Signal processing in accordance with the invention involves two types of arithmetic operations; averaging over different groups of equidistant samples and weighted summing with the Mobius coefficients as weight factors. Hence, when the process is performed continuously, it operates as a linear filter bank with outputs separating the harmonics. 
     First, consider an implementation where the delay-line filter outputs S(n,t) are continuously updated. To reduce the implementation costs for these filters, we can apply the following mathematical identity: ##EQU11## 
     Apart from the scaling factor 1/, the right hand side of this equation involves only two substractions, whereas the sum on the left requires additions. Therefore, the recursive representation of the running sum, also referred to as recursive running sum (RRS), is an attractive alternative for the implementation of the averaging filters S(n,t). 
     When inspecting formula (16) we note that the denominator quotient of the RRS is identical with the denominator of a lossless discrete integrator, a common building block for switched-capacitor (SC) filters. Hence, the recursive approach seems also well suited for an implementation by analog sampled-data techniques. 
     FIG. 2 of the drawings shows a simple 3 rd  order SC RRS filter together with the corresponding switching scheme of the type proposed in the paper &#34;Switched-Capacitor FIR Filters,&#34; by G. Fisher, Proceedings of ISCAS, pp. 742-745, Philadelphia, May 1987. To understand the operation of this circuit, focus on one of the 4 input capacitors only, say C 1 . During phase 1, this element is charged by the input voltage V in1 . Simultaneously, the law of charge perservation causes an identical, but negative charge to be built up in the feedback element C 0 . This charge remains there until the following phase 4, when it is completely removed again from C 0  by discharging C 1 . Hence, the initial condition is restored and the net charge transferred by C 1  over one full cycle is zero. If the initial sample and hold function (with a 25% duty cycle) is neglected, the z-domain transfer function realized by this single path can be written as: 
     
         H.sub.1 (z)=-(C.sub.1 /C.sub.0)(1-z.sup.-3/4)/(1-z.sup.-1/4)(17) 
    
     The same sequence of charge redistributions is repeated with the other three input capacitors, the only difference being a shift of the sampling instant at the input by one, two or three quarters of a period, respectively. 
     The SC filter shown in FIG. 2 thus realizes an N-path system of the class described by L. E. Franks and I. W. Sandburg in &#34;An Alternative Approach for the Realization of Network Transfer Functions: the N-Path Filter,&#34; Bell System Technical Journal, PP 1321-1350, Sept. 1960. Consequently, the discrete time domain variable z must be replaced by z (in our sample=4). For unity-gain at dc, the feedback capacitor of the 3 rd  order filter must be 3 times larger than the 4 identical input elements (remember that we average over a sequence of 3 samples). 
     Since the recursive sum comprises a pole-zero cancellation at the origin, it is important to know how a nonideal amplifier affects this operation. If the finite amplifier open-loop gain A o  is included in a first-order analysis, it can be shown that the finite gain does not affect the pole location. Instead it causes only a small gain error. The pole-zero balance at the origin is therefore not disturbed by the finite gain. This considerably reduces the requirements for the amplifier gain. 
     Another possible implementation of a continuously updated transversal filter is described by N. S. Reddy and M. S. Swamy in the paper &#34;Switched-Capacitor Realization of FIR Filters,&#34; Proceedings of ISCAS, pp. 69-72, Montreal, May 1984. This solution is based on the earlier published concept described by A. Peled and B. Liu in &#34;A new Approach for the Realization of Nonrecursive Digital Filters,&#34; IEEE Transactions on Audio and Electroacoustics, pp. 477-484, Dec. 1973, which suggests that the input signal may be delta modulated so that all subsequent operations may be carried out in a 1-bit binary system. So, even in case of an analog implementation, the delay line can be realized by a simple 1-bit binary shift register. The major drawback of this approach is the high sampling rate that is required in order to accurately represent the input signal by delta modulation techniques. 
     The circuit of FIG. 3 represents an improvement over the most obvious solution for the realization of the averaging filter which would consist of a tapped delay line followed by a weighted summing stage. When using analog sampled data techniques, the adder can readily be implemented by a single, multiple input SC gain stage. The realization of an inexpensive analog delay line, however, is not a trivial problem. Typically, with a 2-phase nonoverlapping system clock, one unit-delay element requires one amplifier. In order to reduce the number of active elements, the circuit of FIG. 3 employs a poly-phase clocking scheme (&gt;2 phases), where the amplifiers can be time multiplexed, resulting in a 3 stage SC delay line based on a 4-phase clocking scheme which compromises only one amplifier. 
     The circuit shown in FIG. 3 can readily be expanded to 4 or more delay stages by adding the corresponding number of feedback capacitors and providing an equal amount of extra clock phases. Generally, delay stages require +memory elements (i.e. feedback capacitors) and as many clock phases. The given stray-insensitive sampled data circuit is a modified version of the circulating-delay type SC integrator proposed in the paper &#34;Narrow Band SC Bandpass Filters,&#34; IEEE Transactions on CAS, pp. 557-572, Aug. 1982, for the reduction of the clock feedthrough effect in SC-path filters. Since a delay line is transversal shift register, the original circuit has been modified such that the last memory element (i.e. the capacitor C 1 ) either transfers its charge to a subsequent identical delay line, or, as shown in FIG. 3, completely discharges itself during phase 4. An essential feature of the circuit of FIG. 3 is that the error due to capacitor mismatch is not cumulative since the signal transport is realized by shifting the same charge from one stage to the next, an operation that is independent of the actual capacitor values. The ratio error occurs only when the voltage across a capacitor is sensed, i.e., when the charge is transformed back to a voltage for further processing. In order to obtain a lossless charge transfer between the different states, the inverting input node of the amplifier must act as virtual ground. This typically requires an amplifier gain in the range of 80 dB. 
     Naturally, the advantage of requiring only one amplifier for delay stages must be paid for by a more complex phasing scheme and by higher requirements with regard to the amplifier settling behavior. Nevertheless, for a moderate number of delay-stages per amplifier (e.g. 3-7), the presented SC delay line may be advantageously used in analog signal processing implementations. 
     The circuit shown in FIG. 4 of the drawings represents a mixed analog/digital approach for the implementation of the simpler single event analysis, where only a single frame of windowed input function has to be analyzed. The basic building blocks required are a signal averaging stage followed by an adder which realizes the Mobius combining of the intermediate sums S n . FIG. 4 shows how the initial data acquisition and the summation can be merged into a single SC gain stage. This circuit is essentially a discrete integrator which operates only during a specified time interval which corresponds to the length of the chosen time window. φ n  and its complement are nonoverlapping clock signals which sample the input signal at n times equi-distantly over the entire analysis period. φ n0  controls the data read-out and φ 0  serves to reset the system. This solution considerably reduces the computations costs, since the only operation left after the A/D conversion is the Mobius combining of the intermediate sums S n . Furthermore, by digitizing the data after the summation, the conversion rate is reduced considerably. 
     DELTA MODULATION 
     If the input data obtained from the source 11 seen in FIG. 1 takes the form of a sequence of multi-bit digital words, and all of the parallel channels used to process the individual coefficients also handle the data as multibit words, substantial circuit complexity is required. 
     Delta modulation may be employed to translate the time varying input function into a train of bipolar pulses, where a positive going (+1) pulse indicates an increase in baseband signal value (over the value at the immediately prior sampling time), and a negative going pulse (-1) indicates a decrease in that value. With a delta modulation signal (DMS) of this form, the delay filters of FIG. 1 which average the timed samples of DMS, may take the form of simple up-down counters which increment an accumulated count upon the receipt of each +1 pulse, and decrement the count upon the receipt of each -1 pulse. An adaptive delta modulation mechanism may be employed to enhance the dynamic range of the processing circuit. A review of delta modulation together with an extensive bibliography may be found in &#34;Digital Coding of Waveforms, Principles and Applications&#34; by N. S. Jayant and P. Noll, Prentice Hall, Inc. Englewood, NJ, 1984. The derivation of the delta modulated sequence for the scaled sum of n signals using the DMS of the individual signals as inputs to a simple logic network is described in &#34;Operations on Delta Modulated Signals and their Application to the Realization of Digital Filters,&#34; The Radio and Electronic Engineer, Vol. 48, o. 9, pp. 431-438, Sept. 1978. 
     FIG. 5 of the drawings illustrates a delta modulation scheme which utilizes the simplified up-down counter arrangement discussed above, and which also embodies a second reduction of hardware complexity by effectively moving the Mobious weighting function in front of the accumulation function. To understand how this may be done, note the nature of the signals accumulated in the bank of accumulators in FIG. 1. The accumulator A4, for example, receives average value signals based on samples taken at both 1/8 and 1/4 period intervals. Since the 1/4 period samples are merely a subset of the 1/8 period samples, a single 1/8 divider can be employed to supply both the A4 and A8 coefficient accumulations. Note that the first coefficient A1 accumulation must obtain samples at intervals of 1/7, 1/6 and 1/5 of the period (samples at 1/2 and 1/3 being a subset of the samples at 1/6 of the period). Thus the A1 accumulator may be supplied with samples at intervals equal to 1/210 of the period (since 210 is an intergral multiple of 5, 6 and 7). The arrangement of FIG. 5 accordingly illustrates how the Mobius function can performed prior to the performance of the accumulation function, rather than in the order shown in FIG. 1 of the drawings. 
     It is to be understood that the embodiments of the invention which have been described are merely illustrative applications of the principle of the invention. Numerous modifications may be made to the arrangements described without departing from the true spirit and scope of the invention.