Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
67 views
Signal Processing FFT
Uploaded by
Nehal Hassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Signal Processing FFT For Later
Download
Save
Save Signal Processing FFT For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
67 views
Signal Processing FFT
Uploaded by
Nehal Hassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Signal Processing FFT For Later
Carousel Previous
Carousel Next
Download
Save
Save Signal Processing FFT For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 91
Search
Fullscreen
oO rive Discrete Fourier .?franstorm and Fast Fourler \e wares ee Transform Algorithms The discrete Fourier transform (DET) is ane of the most important digital signal processing epecations, ts implementation using the fast. Fourier transform (FFT ) aigorithnr has made it widely used for real-time signal processing applications 8.@ INTRODUCTION Detection and estimation of signals are fundamental signa! processing Siac ions required by many applications Detection is the process of determining the presence or absence of specific. signals. Estimation is the process of extracting information (eg, amplitude, frequency, phase, and time delay) from the neise-cormupted signals, A broad class of applications required the Jodie signals by determining their sinusoidal components. The che decomposition of the input into analysis of 2 Giscrete Fourier transform (DFT) provid N’ periodic components. ‘The DET is used extensively in digital signal processing for the analysis The concept of signal frequency specuums for both sertations and the discrete signal representation was nee8 THE OFT AND FFT ALGORITHMS sed in Chapter 2, Discrete system Fourier transform relationships were aiso introduced in: Chapter 2, Aitemnative approaches to ihe discussion of 1 DFT are possible, Brigham! derives the DFT as a special case of the continu- ‘ous Fourier transform. Oppenheim and Schafer? based their discussion of the DET on the Fourier series representation of periodic sequences and applied this resull to the representation of finite-length sequences. ‘The DFT is presented and an example is given to demonstrate the transform process, Short-length DFTs are easily programmed and provide insight into the properties of the DFT via observing the output for various input signals. The frequency response resulting from the DETLis completely defined, and the use of weighting functions is described. DFT properties and filtering applications are developed. Computation of the DFT, although possible with, digital processors, requires complex multiplications on the order of the square of the number of samples being processed, For example, a DFT of 1000 samples would require 1 million complex multiplies to obtain 1000 complex frequency output points. ‘This computational load prevented widespread use of the DFT as an analysis tool, In 1965, the fast Fourier transform (FFT) algorithm was published.’ It significantly reduced the computational requirements of the DFT and initiated work that has led to several FFT algorithms that exploit various: machine- processing, capabilities. Several FFT hardware processors have been developed based-on. these-algorithms,-and-many-software programs have been written to implement the DFT efficiently on standard digital computers.“ ‘This chapter develops both the’ decimation-in-time (DIT) and deci- mation-in-frequency (DIF) algorithms. These algorithms are easily pro- grammed on a personal computer. A set of efficient primitive operations for. FFT implementation is discussed. Algorithms for addressing data and coefft- cients are presented. In addition, computer programs that can be implemented on a personal computer are given. 6.1 THE DISCRETE FOURIER TRANSFORM (DFT) The discrete Fourier transform (DFT) of a discrete-time signal x(n) is defined as Lye pp Ln DT NET (63) no x(k) where Wyk = 077/¥ constitute the complex basis functions, or twiddle factors of the DFT. The widdle factors are-periodic and define points on the unit circle in the complex plane. Figure 6. illustrates the cyclic property of the twiddie factors for an eight-point DFT. The twiddle factors are equally spaced around the circle at frequency incremenits of F/N, where F is the sampling rate of the input signal sequence. Therefore, the set of frequency samples,. IME DISCRETE FOURIER TRANSFORM (OFT) 239 1 wg =a wa -wh wh = -W8 whe -we Note: The eyelic character of the twiddle factors are illustrated as follows. wie nf ig’ = t= = aps tor in general the (widdle factors eam be expressed as Jp MODULO _. ySRESIDUE 9/8) wf = wk ” whe: om = EXP(—( 28/8 Figure 6.4 Twiddle leotors for -point DFT. which defines frequency lo! the spectrum X(K), are given on a frequency axis whose discrete s are given by we Sen Ry (6.2) The frequency resolution of the DFT is equal to the frequency increment E/N and is sometimes referred to as the bin spacing of the DFT outputs. The frequency sesponse of any DET bin output is determined by applying @ coraplex exponential input signal and evaluating the DFT bin output response240 0 THE DFT AND FFT ALGORITHMS: as the frequency is varied. Therefore, let >() ef?*/4/F. then the DPT of xin) can be expressed as a function of the arbitrary fregueucy vuiable f by yw Met X(k) = = YD x(n) wy = — Leelee n=0 N co Combining exponential terms and using the geometric series summation, X(k) becomes Lo] ecik/N=s/F YN ND = eG Defining @ = 2a[(k/M) — (//F)] and rewriting X(d), the DFT of x(nT) is given’ by sin (QN/2) = g HUN D/2 a Wain(2/2) (6.3) ‘The'exponential term is the phase of the response, and the ratio of sines is the amiplitude response. If k is an integer, for example, Ko, then X(k) = 1 at k =k, on the frequency axis and zero elsewhere. If k is not an integer, then none-of the DFT-values are zero, ‘This phenomenonis called-speetral~ Magnitude 68 180 — ose Evol tet™ oat 0 agi 01s p O00 1 O12 ete Otte Fractiona! Phase cegrees noting frequency Figure 6.2‘THE INVERSE DISCRETE FOURIER TRANSFORM
f worr | (Eo) ak f Xt ~ 3) ! | | | ¢ o ep oo | | Lear -9-8 o ® Discrete sequence a © Periodic extonsion of ciscrete sequenge Figure 8.4 Circular shift of DFT output sequence: (a) frequency sequ (b)frequency sequence (Kk) right-shittes by three-semples: — --— Equation 6.7 defines a modulation process of the input signal by a complex exponential-with-frequency- xo /N;-where-F is: the-input-sampling raté, This process is often used in signal processing applications to translate the center of a frequency band to zero Hz. Note that the output of this modulation process is complex, thereby requiring processing of each of the quadrature channels 6.3.4 Periodicity The DFT and IDET both produce periodic rasults, with period N (transform length). The periodicity is the result of the complex exponential periodic property shown in Figure 6.1, Therefore, the time and frequency samples are “ periodic with period 1, that is, : x(nj=x(n +N) forn=0,3,2, audOFT PROPERTIES 245 7 © pated extension Figure 6.5 Periodicity of DFT. The signal is viewed as a periodic extension of a finite length DFT input sample sequence (\V = 12): (a) even sequence; (®) odd sequence. This periodic relation is’ demonstrated by taking the transform of a Signal al frequency (k +N)... : Na wea 1 . 1 Xk W) = x(nynrgee = Yala aegtirg where Wi = eS forall a” ee therefore (Ie) = X(k-+ N) ~ An interpretation of this periodicity-is that the DFT of a finite-length sequence results in a periodic sequence as shown in Figure 6.5. Figure 6.5 illustrates the periodic extension of the finite length sequences. Note-that an even function is symmetric about its midpoint and open on the right-hand side. The missing endpoint is the start of the periodic extension of the sequences. Harris® distinguishes this symmetry from thé conventional even symmetry (that is, a sequence with matching endpoints) by referring to it as DFT-even. The endpoint symmetry becomes important when developing windows from the DFT, which will be used to reduce spectral leakage inherent in the sidelobes of the DFT frequency response. An odd function is antisym- metric about the midpoint of the sequence with the right-hand side open. 6.3.5 DFT of Even and ODD Sequences: ‘The DFT of an even sequence is purely real. The DFT of an odd sequence is purely imaginary, We consider these sequences to be even and odd, respec- tively, in the DET sense discussed in the preceding section. Therefore, the246 THE OFT AND FET ALGORITHMS DFT can be evaluated using the cosine transform for even sequences and the sine iransform for odd sequences. X(k)=— oe n)cos(ignk/N) Even transform N ymo yet yD x(n)sin Qnak/N) Odd transform N yao 6.3.6 DFT of Real Sequence ‘The DFT of a real sequence produces symmetric real frequency comporients and antisymmetric imaginary frequency components about the N/2 DFT output point, For a real input sequence, the real part of the DFT outpat is an even function and the imaginary part of the DFT output is an odd function. “Thus, for a real sequence the frequency components are related by Cy (6.8) X(k) = X*(N=k) k= 0,1,2,- This equation is interpreted to mean that only the frequency components from -zero to N/2 need’ to be computed in order to define the output compietely. _ This agrees with the sampling result which showed that frequencies alias above: half the sampling rate (.¢., N/2 output represents the frequency output’ at F/2 where F is the sampling rate). “This property is easily shown by taking the transform of a real sinusoidal Input sequence given by elPenf/P . g=idvafye x(n) = sin Qunf/F) = rT The DFT of x(t) is taken for each of the complex exponential terms wot 1 Net B 2 X(k) = By Dee twis — L k=0 = pemnl/ Fgh jin If f= kE/N (ise, @ frequency at bin £), then Lome Lovet xe) = eS emery wang (= yD, Want ~ ay Em 1 X(k}= J ‘The second tecrn is zero since the summation is over an even number of cyclesCIRCULAR CONVOLUTION 247 (also see Problem 1), Taking the DFT at frequency bin N ~ k yields ov bw, KN =k) =e DR — tenn JON yoo PN joa “1 : 2j X(N -k) Hence, Eq, 6.8 is shown for a sinusoidal signal at any bin & of the DFT. ‘This result can be generalized to apply to any input signal. Note that the signal used was real-odd and the result is imaginary with amplitude equal to half the input. You should repeat this result for a cosine (real-even) signal and observe the output is real (Problem 6.2.3). 6.3.7. Complex-Conjugate : Sequence / DFT Relationships ‘The inverse discréte Fourier transform is given in Eq. 6.4. Taking the complex conjugate of both sides yields t(n) = XC) =N DETLX*(K)] ““Bferefore. the IDET can be computed using the DFT via the following relationship x(n) = NDETLX*(H])* "thie DFT of a complex-conjugate sequence can be obtained by taking — the complex conjugate of both sides of the DFT given by Eq. 6.1 1 Net Xk) = a XS x(n) Wy" = WET x*(2)/N] ey Using the periodicity property discussed in Section 6.3.4 and replacing k by —k, the DFT of the complex-conjugate sequence is DFT[x*(n)] = X*(N — k) ‘Therefore, the DET of ihe complex conjugate of a sequence is equal to the complex conjugate of the frequency output of the sequence reversed in order. For future preference the basic DFT properties are summarized in Table 6.1. 6.4 CIRCULAR CONVOLUTION ‘The process of convolution was defined in Chapter 2 for a discrete-time, linear, time-invariant system, In Section 2.4 the product relationship for the * convolution stim was developed for the frequency responses of the input signal248 THE OFT AND FFT ALGORITHMS xu xe) — OFT a Xeni xin) OE | iper on ort : Sr Figure 8.8 Frequency domain convolution process (digital filtering) and system impulse response. This relationship was based on a Fourier transform for a discrete signal from —0o to +00. The convolution sum process defined in Chapter 2 is a linear convolution. Figure 6.6 illustrates the process of convolution performed as the IDFT of the product of the DFTs of two input signals. This process results in a circular-convolution due to the periodicity of the DET operation. That is, the DFT of a finite-length signal results in a periodic sequence in the frequency domain. To eliminate the circular effect and ensure the DFT method of evaluating the convolution results in a linear convolution, the signals must be zero-padded. The circular convolution of two periodic discrete signals with period V- is given by . (6.9) p(n) =F x(m)i(n — m) =F Alm) x4 — m) mmo" mao where y(n) is also periodic with period N. “This expression is derived by performing the operation shows ir Figure 6,67 that i8, éoitsider the IDFT (a) of the product of two DFTs: Hn) = YS XCeS CDW” where ee x)= BD MH ] Not A{k) = i X am) were mad substituting the expressions for X(k) and H(k).into the expression for y(n) gives WR een Zo aes eg wet y(n) e[t xy som XL nomwe| knoCIRCULAR CONVOLUTION 249 Rewriting by combining the twiddle factor terms a Not . v(m) = x(i)k(m) Do wgemom N*N Jy mmo ko 2 — m and zero otherwise. Therefore, ‘The summation over k equals WV for i = y(n) X x(n ~ m)a(m) qa where the quantity n ~ m is modulo N. ‘To demonstrate the cyclic property of the samples, several authors describe the circular convolution via the use of two concentric rotating circles. To perforni circular (or cyelic) convolution, N samples of one signal are displayed equally spaced around an outer circle iri a clockwise direction and fee eO ees tet? geste eS Eee7] 02/04/06 /08/1.0]12|14)r6 su) wa - [ox]oa)os|oa]os[ia [apis : 7 . os oa 06 lw Figure 6.7 Circular convolution of two sequences: (a) concentric circte approach; (b) equivalent linear convolution approach of two periodic sequences.250 THE OFT AND FFT ALGORITHMS J =2-3-4-5 -6-70 1 2 35 4 5 6 7 vin) 04 06 OF 20 12 14 16 02 04 M6 OR 10 12 14 16 hom) 1S 13 I Rotate innercircle (0) Mi} 0503 01 _onesample clockwise _y() Om) 0. 03 01 a 92), 1s 09 07 05 03 01 a ¥@) 11 09 07 05 03 01 a (4) 13 t1 09 07 0503 01" (5) (6 — m) 1S 1109 07 05 03 01" (6) hm) 15 13 11 09 07 05 03 01 y( Process repeats with period N= 8 xn) = a(mph(n = my nzo 1 1 €Q) = SS xtmjn(O= mt = 5.20, yCt)-= DL xCm) Ald ~ m) = 6.48 moo mao B 2 78) = Dy x(mpbcl =m) = 6.003) = YE x(myh(S ~ mi) = 6.00 smo ao) 1 1 : v2) = Yo xlmyh2= mj = 648 = YE xCmph(6 = my = 5.20 mmo as 1 2 yQ)= YE xan — my = 664 yety~ ES xmph(-~ my) = 408 azo mo h(- = hy A(~ 5) = AQ) h(-2) = 46) MH") bq- 3) A3)— WE“ 7) = bY a= a) = hea) (oy Figure 6? Continued samples of the signal are displayed on the inner circle in a counterclockwise direction starting at the same point. Next, corresponding samples on the two circles are multiplied, and the resultant products are summed to produce an output. Successive values of the circular convolution are obtained by rotating the inner circle one sample at a time in a clockwise direction; the outputs are computed via the summation of the corresponding products. The process is iterated until the inner circle first sample lines up with the first sample of the exterior circle again : This process is illustrated in Figure 6.7, where’it is noted that an equal number of samples are required to perform circular convolution,CIRSULAR CONVOLUTION 254 The linear convolution of two sequences of lengths M and N will result in a sequence of length 4 + WV ~ 1. For the ciicular convolution to yiei same result as the linear convolution, the sequences must be appended with zeros, as follows. ihe N+ M for i= N, M (6.10) where N,, is the number of zeros to be padded to the end of the sequence of length M or W. 1) (0) ACW = 1) CW = 2) 42) ATL «© vr) fh) () (N= 1) 4) 42) |] x@y »(2) 2) 8G). kO 4») 4@) |] xQ) (N= 2) PAC 2) aC =3) m= 4) 4) AY | x= 2) rN 1) Law) a= 2) a= 3) ha) 4) L(y 1) 520]* for 15 13 11 99 07 05 03]fo2 60} }03 01 15 13 11 09-07 o5|loal. 64} }05 03 a1 13 13 11 09 o7|lo6 6b} _ [07 vs 03 01°13 13 11 0d flor 6a }"}o9 07 05 93 01 15 13 11]]10 00] fir 09 07 05 03 02 13 i3'[li2 5m] ]13 11 09 07 05 03 oa 15 fli4 Us 13 12 09 07 05 93 o2SLi6 - ww + tm 70 . 65 2 f° . sof + . D 55 30 : . 45 40 . 35 30 25 - 20 15 10 os i eee eee eee eee o 1 2 3 4 &§ 6 7 @ 9 10 We), S Figure 6.8 Circular convolution process: (a) matrix representation of Figure 6.7; (b) plot of circular Convolution process.252 THE DFT ANO FFT ALGORITHMS OT Tey OO OG OO ALT) gH) ACS) 44) AED ACD HAT] [COD] Gh { [acy a) 0 OO GO GOAL AG) (5) ACH) AG) HE] |x) vO) | iQ) nay Ag) 0G 0 OO GB. OAL) AGG) AG) H(A) HEY] [x 1O)} [2G 42 AAD 0 9-0 0 9 0D 1} | x3) +4) | fired) W03) #2) AC) A] Q-—-O 0 GO O_O HLT WG ACSI] | vC4y (3) | [A459 (4) (3) (2) 4) ACY O99 GD OO ALT ALO)| JCS) (6) | [2G6) (5) HCA) HB) AQ) AG) AD 9 0 0 9 O 0 O MAY Js ot) fo| (7) (6) AA AE) AG) AQ) ACD AO 0 O- 9 O- 6 0 | fxm EB) | | OAC) &(6) A(S) ACA} HG) AQ AQ) HO) O © 8 8 GO O] 10 vO) | | 0 0 ALD AG) HES) HA) AG) A) HO) A 0 0 O 0 O} 1 O v0) | 0 0 0 AC) RG) HGS) ACA) HG) A) AA) HO OO 0 O | 10 rib] | 0 00. OAC) AG) A(S) H(A) AG) A(2) hA} AO) 0 0 9 | | O v2} | © 0 0 OO ALT) AGG) ACS) AC) AG) HQ) AA AG) 0 9 | | 0 rR] | 0 0 0 0 OO AGA) AGG) AGS) H&A) HG) A) AA) AO 0 | | 0 rd4] LG 0 0 0 OD OO AL AG) ALS) ALA) A(3) HQ) HQ) HO] | O ‘O0T] [01-0 0 0 0 O O O 1s 13 11 09-07 05 037) [or o10] | 03 01 0 0 0 0 0 O O 15 13 11 09 07 05 | Joa 028} | 05 03 01 0 9 0 0 0 6 O 15 13 11 09 07 | Jos ooo] | 07 05 03 02 0 0 0 0 GO 0 O 15 713 12 09 | Jos, 110] | 09 07 05 03 02 o-G 0 o- 0 oO 0 15 13 41 | }10 te] | 11 09 07 05 03 OL 0 0 G oO oO oO oO 1513 | |12 240] | 13.11 09-07 05-03 040 0 9 0 0 0 0 15] Jia aos [4] 15 13 13 09 07°05 03 010 0 0 0 0 0 0 16 sig] | 0 15 13 11 09 07 05.03 010 0 0 0 0 0 ° sv] | 0 0 15 43 11 09 07 05 03 01 0 0 0 0 0 0 620} | 0 0 0 15 13 12 09 07 05 03 01.0 0 0 0 0 . sos] | 0 0 0° 0 15 13 1109 07 05 03°01 0 0 0 0 sae] | 9 0 0. 0-0 ¥5 13.42.09 07-05 -03 01-0 0 4+ 0 aig} } 0 0 0 0 0 6 15 13 11 09 07 O5 03 O1 0 ° za} | 0 0 0 9 0.0 15 13 41 09 07 05,03 01}.Lo 3) yin) oa we on cee ee nok 65 pe se [ise oa J trj.t.tii.t» aac 10«412«214~«1GOB 20 eA (by Figure 6.9 Linear convolution process: (a) matrix aporoach; (b) plot of 74).CIRCULAR CONVOLUTION 253 For example, consider two sequences of lengths M = 8 and N linear convolution would produce an, output sequence of length construct two sequences of length 23, the sequence of length 8 is padded with 15 zeros at the end of the sequence and the sequence of length 16 is padded with 7 zeros. For two sequences of equal length N, the number of zeros to be appended is N=N-1 7 . While the concentric circle approach is useful conceptually it is cumber- some for constructing specific numerical solutions, A more convenient method is the matrix approach, whereby solutions 10 extensive problems can be obtained by matrix algebra, In the matrix representation, one sequence re- peated via circular shifting of the samples is'shown in Figure 6 8a for the same two sequences given in Figure 6.7. A linear convolution is produced from the circular convolution of Figure 6.8 by appending zeros (Eq. 6.10) to the sequences. The resulting linear convolution is shown in Figure 6.9. The preceding results are limited to a convolution between’ two’ finite- length sequences. Generally, applications . require real-time’ continuous TABLE 6.4 DFT PROPERTIES Time Domain Sequence x(1) Frequency Domain Sequence X(k) 63.1 Lincarity 1 a YD ayaa) Ya Xk) int : ini 3 a 63.2 Circular shift of x(i) (inte shitGng) - : atu im) Wek" Xk) x(a =m) We XR) 6.3.3 Circular shift of X(4) (quadrature modulation) acne" X(k+m) — (Left shift) x(n Wy” XU m) (Right shift) 6.3.4 Periodicity XU) = xGr+ WD X(k) = K(k N) 6.3.5 DFT of even and odd sequences yee Y xcs) cos(2ank NY m3 x(a) even X(k) N =jpez) yun) odd Ma) = ap z x(a) sin (ank/) 63.6 DFT of real sequence (ut) real xk) 6.3.7 Complex conjugate sequences var} X(N = ky =X X(N = ky Ky)254 THE DFT AND FFT ALGORITHMS processing in performing a convolution sum between an FIR filter impulse response and long duration discreie-timne signals. ‘the output of the convolu- tion is computed for each successive input sample. Since the input sequence is not limited to.a small number ef nonzero values, an approach is required that permits sections of input samples to be processed and the results combined to form an equivalent linear convolution. The two algorithms for performing linear convolution of Jong sequences are referred to as the overlap-save and overlap-add methods, These methods will be presented in Section 6.9. For future reference, the basic DFT properties are summarized in Table 61 6.5 EIGHT-POINT DFT EXAMPLE Equation 6.1 defined the DFT of an arbitrary input signal x(n). In order to gain some insight into the computation of the DFT, an eight-point DFT is performed on a real input signal consisting of a sine and cosine component. Figure 6.10 illustrates the periodic signal components. Each component was selected with frequency exactly at the center of the DFT bin frequency, stn) = sun) + salnd ‘ayth) = 2.sin (210.125) m) al | ite oft = : ° a 2 | | a ail | | A ae | | es | ~ 1 1 oy Figure 6.10 Input signal for eight-point OFT example: (a) signal components s, and s2i - (B) composite sum signal x(n).EIGHT-POINT DFT EXAMPLE 255 2 Bys05 |} - Fy E x(m)sia[} = 6 + jo io xt) oe ~ t ! oeer———CCC won | | oF T 1 intB) of —-} @ 12 inal et Imig Nove: The eal and imaginary parts of Hi! cover one period over the DFT length for & Figure 6.41 DFT process for input signal x(n): (a) DFT output for bin 0; (b) DFT output for bin 1;(c) OFT output for bin 2.256 THE OFT AND FFT ALGORITHMS 4m ig Escopa 3] “Bam -je etwirh Ita") Re[XQ@)} =f: Im[x@] <0 [XQ P= 0.25 (a ote: The real and isaginary parts of ¥¥3" cover two periods over the DFT length for & =.2 Figure 6.44 Continued assuming an input sampling rate of 1 Hz, The input signal is given by x(n) = 5,(n) £55(n) si(1) = 2sin [20(1)0/8) sy() = cos [24(2)n/8] The DFT of. x(12) is computed for each: of the eight output points. For an assumed sampling frequency of 1 Hz, the frequency resolution is obtained from Eq. 6.2, that is, F/N = 1/8 = 0.125 Hz. The s, signal frequency component is at bin 1 (0.125 Hz) and the s, signal frequency component is at bin 2 (0.25 Hz). From the properties for even and odd sequences (6.3.5) and real sequences (6.36), the sine component should appear as an imaginary output as bint with its complex conjugate at bin 7, and the cosine component should appear as a real output at bin 2 and bin 6. The DFT process is shown in Figure 6.11, Figure 6.11¢ illustrates the DFT calculation for bin 0. The twiddle factors are given by the aniplitudes of the real and imaginary terms equal to unity and zero. respectively The DFT ulation for bin 1 is shown in Figure 6.11, Note that the twiddle factorseigHT-PoInT pT exaMPLE 257 represent one cycle of the unit circle given in Figure 6.1. Therefore, compo- nents with frequencies that exactly match dhe bin will be a Fesquen ses at other bin Trequencies will be zero. This is because the nulls of the ee thar are between bin centers will smear across bins based on the frequency response. This will be discussed: in detail in the next section, Likewise, the Caluulation for bi 2 is shown in Figure 6.11e. Bins 4 through 7 were computed Real X18) 1 8 5 . 5 o oo — -28 “5 =75 0 1 2 3 4 5 6 7k @ Ienaginary XG ° Magnitude (3°08)? ° oF ror | 34P 48h SOF sar 7aF Frequency @ Figure 6.12 Gomposite tre wency domain output of sight-point DFT example: (a) real via ot requency response; (0) imaginary part of frequency response, and (c) Magnitude-squared frequency response.sete DFT FREQUENCY RESPONSE CHARACTERISTICS 259 FET af eight-point rectangular window 10h -20f, -» \ ~40) ‘ sob ~60) = aa 10.0- Magnitude &8 | 80 60 40 Magnitude linear 2.0 0.0 5 “05 -04 -03 -02 -01 00 O01 .02 03 04 08 . Frectional sampling frequency Figure 5.43 Frequency selectivity: DFT magnitude frequency response. the. spe age and scalloping Joss characteristics of the rectangular weighted DFT output. 6.6.2 Spectral Leakage Harris’ shows that a discontinuity results at the boundary of the finite length sequence due to the periodicity property of the DFT. This occurs for all signal components that do not ékactly fall on one of the bin centers. Figure 6.14 depicts this phenomena,.showing the samples that-result if they were taken directly from the signal versus the discontinuity resulting from the periodic extension of the signal, This discontinuity gives rise to the leakage (or spectral contributions) across the entire frequency set. Weighting functions reduce the contribution of the samples near the endpoints, and therefore reduce the discontinuity and-its effect on the frequency response. ‘The high sidelobe levels of the DFT response result in false frequency detections. Therefore it is desirable to reduce the sidelobe levels and the resultant false detections via use of a weighting function. Figure 6.15 presents an illustration of adjacent bin outputs for an input signal with frequency at the center between two bins. The output is shown for several bins on each side of the frequency. Note that the levels for the adjacent bins are only 13 dB260 THE OFT AND FFT ALGORITHMS 1 samples» (a) 1 LN samples >] Discontinuity () Figure 6.44 Discontinuity resulting from periodic extension of signal by OFT process: (2) continuous signal; (b) signal showing discontinuity due to DFT process. down and that subsequent bins fall off at approximately 4 dB per bin farther away from the mainlobe 6.6.3 Scalloping Loss Figure 6.16 illustrates the bin crossovers that result in_a signal detection loss due to the reduced signal levels at frequency points off the DFT bin centers. This is commonly referred to as scalloping loss (SL) or the picket-fence effect. Since the weighting function modifies the frequency responses, it can be used to reduce the bin crossover losses. The maximum loss occurs at the bin crossover given by evaluating the frequency response at the frequency midway between adjacent bin centers, that is, at frequencies given by (k + 0.5)F/N, k integer valued. Therefore, SL represents the maximum coca ‘in processing gain due to signal frequency. anid is given:by.s= > - s mine. Dafne suey . NA(0) (6.12) If the signal is equally likely to occur at any frequency across the bin, an average scalloping loss is more appropriate to use in performance calculations.DFT FREQUENCY RESPGNSE CHARACTERISTICS 261 4 Input e+ L5aF Frequency Input signal source with frequency midway between bink + Land bin k + 2 Adjacent Bin responses shawn below for uniform weighted DFT outputs Bin h-2h-1 kh halk? Frequency - ‘Therefore the signal output will sow up in the ‘output of all Bins with amplitude based upon the bin responses . FFT Bia No. output signal fovel based upon h-2 31d sidelobe kel 2nd sidelobe & 2st sidelobe hed _Mainlobe, crossover point ha? Mainlobe crossover point Aas Ist sidelobe etc. ot ne for signal input , above py 717-13 68 -13.08 17 8 9) gp, — jt fp, Ra 2 k= 1 B kaL ee 2RASRH ARES Figure 6.15 Spoctral leakage of OFT. Picket fence" ea Magnitude of XA) ‘mainlobe Maximum loss at crossover kh keih+2 bea Frequency Figure 6.16 Scalloping loss of DFT.262 THE OFT AND FFT ALGORITHMS Peak power gain = 1FI0))2 ko kel kee Frequency Figure 6.17 Equivalent noise bandwidth ‘This loss is computed by integrating over the weighting function between the bin crossover points. "6.6.4 Equivalent Noise Bandwidth (ENBW) Another key characteristic of the DFT output is the equivalént noise band- width. The ENBW is interpreted as the bandwidth of a hypothetical rectangu- lar filter, which passes a white noise* signal with a mean square value equal to the actual filter output, as illustrated in Figure 6.17. ENBW is used as a measure for comparing the desirability of various weighting functions, The equivalent noise bandwidth is given by waa ~ WY a%n) ENBW = [Esof (6.13) X a(n) 20" The ENBW is used to normalize the power spectrum measurements to power spectral density (power per unit frequency), 6.6.5 Overlap Correlation It will be shown in Chapter 8 that in order to obtain’good, DFT. spectral analysis results many contiguous DFT outputs must. be computed and aver- aged. This results in a reduction of the variance of the DET bin outputs containing noise-only by a factor equal to the number of outputs averaged. The details will be: shown in Chapter 8, but the. concept of redundancy. Processing and overlap correlation is presented here owing to its dependencies on weighting functions. When a weighting function is applied to the input data, the data points near each end are reduced. This reduces the spectral leakage as discussed in Section 6.5.2, but is also creates voids in the input data being analyzed, as “White noise refers to a random input signal having « 't power spectrum for all frequencies. We consider sigrials to be white provided they have a fai speclruin’ over 2 speci frequenciesDFT FREQUENCY RESPONSE CHARACTERISTICS 263 Times Be An Ys / ~ An NZ NZ a aN of rn aN te) ° COOK KOCOK A XOCOOXOKOOOX OOK o Figure 6.18 Triangular weighted daia sections showing: (@) nonoverlapped data sec- tions; (2) 50% overlapped data sections; (c) 75% overlapped data sections. shown in Figure 6.18¢ using a riangular weighting function, It.has.been shown** that the performance is improved if additional DFTs are inserted to fill the voids, as shown in Figure 6.185. The process of filling the voids via additional DFTs is referred to as redundancy (overlap) processing. — ‘The performance enhancement achieved by redundancy processing is dependent on the weighting function and the amount of overlap used. Figures 6.185, and ¢ illustrate 50% and 75% overlaps of the data used for successive DFT computations. To quantify the performance benefits due-to the ad- ditional processing performed; ‘the correlation coefficient between sticcessive DFTs for a given fractional overlap r, and bin is computed ea (6.14) Generally, 50% to 75% overlap processing provides 90% of the possible petformance improvement for most weighting functions (see Chapter €)264 THE OFT AND FFT ALGORITHMS 6.7 WEIGHTING FUNCTIONS Weighting functions (i.e. windows)’ are used to modify the DFT frequency ‘output response characteristics. Weighting functions are used in conjunction with. DFT spectral analysis to feduce spectral leakage, reduce scalloping loss, provide variable resolution, and change DFT output bin centers. The weighted DFT output represents the product of two sequences; therefore the output can also be computed as the convolution of the DFTs af each of the sequences ¥(K) Ean) Ch =n) (6.15) Equation 6.15 is the form generally used to implement-weighting functions for spectral processing. Very good results can be achieved with weighting func- tions with five or fewer nonzero A(m) values, which was shown by Harris.> Table 6.2’presents ‘a summary of the key characteristics of several weighting functions taken from Harris.S Each of these weighting functions is described in the following sections based on the results of Harris. For more detail, you should refer to the referenced paper, which provides one of the most comprehensive treatments of weighting functions for harmonic analysis available, 8.7.4 Triangular Weighting Function ‘The triangular weighting function’ for the DFT is defined as, 2n/N * n=0,1,...,N/2 200) = (Sr ~ ne (N/2) HAND) +2,25N~ 1 (619) and is illustrated in Figure 6.19 for a 16-point window. Note that’ the weighting function is symmetrical with the endpoint missing at N. The frequency response is computed by evaluating Eq. 6.11 with the input signal x(t) equal to a complex exponential as the frequency is varied. This results in an expression that is given by —parunpiyzisyp{ Si CINZZEY P 7 Af) = 2ePUny on | which is seen to be equal to the square of the rectangular weighted DFT frequency response of length N’/2. This result can be explained by viewing the triangular window of length NV as a convolution of two N/2-point rectangular windows. Actually, N +1 points would result if the zero endpoints were counted. Since convolution in the time domain is equivalent to multiplication in the frequency domain, the expected result is the product of the spectrums of the two rectangular windows. Therefore, the mainlobe width is doubled, the first sidelobe is approximately ~26 dB down from the peak of the mainlobe, and the maximum scalloping loss that occurs at the bin crossover point is‘veae Gi? = tah? = tie Oe = BX) 6- Gi = tis Ss OS i C= GX) ss OE=P voc Ll9 SBT PTE) | OT) CET ET OTS t- Sta e, wessneg v6 ese St Bh ETL’ BOT 9% . 870 oe- os = 2 cel 88h 0 OTT—S(itBESCMET OST LTO se- Ova sO 919) (OST) LT MET oSHT hO te- O¢=” Aqone >
rh TRL BET) GEE) KT. TOT OTT 880 vI- sto=h fain uissnog us eer SST LE 6D TRT HT BE we s— aA eT aa tw PEL LT COE | BT) OTT SET 6G tI wt uber vee SOL 6ST OE LTC OKT: TI t 259PH ste ‘LOL ST Ore = TOT) Tw s- er Sonaareyy Ci ot OSC ciel 98 Oe ent rage 0 oe- Ly~ b=? se Ls UZ LE ROT 99T LT tO ve 6e- Of” 29 659. O0Z STE TOT OST SO aI- tw- 0tan auruce Hy ele ss sot Ee - OTe OLt ET 90 t= @- OT=" (2) soa ost STL BLT LOE BT. BLT KET oso u~ - adueny. vos ose ISTE HE 68D OUT. 9- et adueroay IC BOS TO%SL (SNIG) (ap) (ap) (SNe) (SNI@) ; aD (0 /aP) (ae) MOpUL AL CLNDd) Me soy SOT Ma ‘Ma, Juezaqoy HO aeT HORLPLCD —-EP-Y'S ssoo1g does PVE SION wea =q07 dopaag, asey carn 2go7 pls, S10. apg 1soyaTy (,susey wWou}) SOLLSTYALOVAVHO NOLLONN ONLULHOTIM #9 SIBVE, 2655 Bauauajayy sarang essog-r9ste ve oes we SE OT PLT OBT OVO 9- 69- oO atdures-y susey-reunpeyg ots rT OSE LOTT BLT Or 9- pL aidures-b EP pL surey-ueunyperg ocr 01D STZ EE TST OT. SO oe - ardues-¢ ap 19 SuTBET-UUUDE|G, SE 0% | ULTOSRE EBD OZ SD 9- %- ——sidureg-y umenraryy sure-ueanyoeig 06 vis TST SHE ETT. OPT) LT th. 9- ig aydures-¢ wnurtaryy 6 49S SET ewE OLE BT. LT tr st as wourjoutg grr Lt ELZBE. ET «STS 9~ Is- veunsperg ex ve PHS TSE SOT OTTO 9- 9- Ob=P rot 98S eZ HE ATT ST ug evo 9- %~ gene somal cul Of LOZ EET TST ev 9~ s- Oe=0 Bp 8B SZ MLE OHO BTC LEO 9- w- ste PL ses 68? SE OT CLT BT Oro 69- Ofer cu S6S eR LTS SOT. 9- is- stan [essog 2 2 ) 3- w~ OTR” 29stey Bess ET HE COLT: SOT LTC. tro 0 8- Or=2 L039 LIZ SEE STL SST oT se 0 @- se=n COT Le. TOT eTE th wT OST BO 0 09- Oe= > — ryskqayo ew 969 SBT OME LTE eT 0 as- st=” audio IO %0S TO %SL (SNI@) (ap) (ap) | (SNTa) (SNI@) RD (10 / ap) (a?) MOPULAL (LNOd) ME SOT SOT MAME uaLYOD HO. PRT LonEIaH0 —gP-S * ssav01g doWeIG GP-V'E asION ea qo] depro4Q ase, van aqoT 20S ISI, PIS 304s eo sew 266WEIGHTING FUNCTIONS 267 ero plot 32-pnint teangular winston” Imaginary - Real @ ‘Window coefficients LT CT TTT male i coe ee | YO i2 14 16 18 20 22 24 26 28 30 32 Sequence numiber(0} = Beer ot window 2 00 T_T TT T = oof + : 8 ao0h. | 2 60,0 DCA f 7 o ? O55 0:4 G:F =O: OL -0.0 -- 02 02... 0.3, oA 05 Fractional sampiing frequency i Figure 6.19 Triangular weighting function approximately — 1,82 dB. The sidelobes falloff at a rate of approximately ~12 AB per octave, An octave is defined as a.successive doubling in frequency away from the reference point (e.g., 100, 200, 400, 800,...), As shown in Table 6.2, the ENBW is 1.33. Harris> demonstrates that the uiangular window is the simplest window that exhibits a positive transform, Any weighting function (of half-extent) can be convolved with itself to obtain a positive transform that is the square of the original window's transform. 6.7.2. Hann (Hanning) Weighting Function The Hann window, more commonly known as the Hanning window,’ is a member of ihe cos*(8) family of weighting functions with the parameter268 THE OFT AND FFT ALGORITHMS Zero plet . 2-pini Hanning window a aaro isk 4 Lo 4 % oot £ 0.5 4 nish 4 ~10f- 4 ~2oL-L 11 1 =20-10 00 10 20 Real (a) Window coetiients 3 er a] 2 ost é 7 oD beeeke O24 6 8 10 12 14 16 18 20 22 24 26 28 30 32 . Sequence number (0) - ” Ber of window : 2329 TT ~ 2 a00f- § 400 3 cao = 5000 —— $B -05 04203" =02- 01 00 Tat os OF Os Fractional sampling frequency @ Figure 6.20 Hann weighting function. a = 2. The Hann weighting function is defined as a(n) = 0:5[1 = cos (2an/N’)]; O,1,2...,N—1 (6.17) and is illustrated in Figure 6.20a. The frequency response is computed by evaluating Bq. 6.11 with’a complex exponential iipuls Rewriting a(n) in complex exponential form and substituting into Bg, 6.11 results in 0.25 ® ~ Extn) Wyte) no HvtotatomeasauinllalndWEIGHTING FUNCTIONS 269 where the first term is 0.5 times the DFT of x() for bin k, the second and ihird-terms sepescni 0.25 times the DFTS of (nm) for bins k -- band & +3, respectively . Y(k) = -0.25X(k - 1) + 0.5X(k) - 0.25X(k +1) From this expression the frequency response is easily computed as the summation of the appropriate unweighted DFT bin frequency responses, ACf) = 052i DA SON) 9 jaev—rya S(O2N/2) Nsin (,/2) Nsin(2,/2) —p asenur—nya S8(05N/2) Nsin(2,/2) Q, = 2a[(//F) ~ (K/N)] Q, = In[(1/F) ~ ((k- D/N)] 95 = Ia[(J/F) ~ ((k + 1)/N)] (6.18) ‘The frequency response is shown in Figure 6.20b. Note that the first sidelobe is approximately — 32 dB, the bin crossover point is approximately — 1,42 dB, and the ENBW is 1.5. Computationally, the Hanning weighting function can be computed by the convolution summation of the three unweighted outputs multiplied by = 0.25, 0.5, and —0.25, respectively. The DFT unweighted output is complex, requiring that the operation bé’perTormied Gn’ the réal ‘and intagiiary outpiats. ‘Therefore, each bin output can be obtained via 10 shift operations and 4 adds. 6.7.3 Hamming Weighting Function ‘The Hamming weighting function is very much like the Hann window, but with different coefficients for the cosine terms a(n) = 0.54 —0.46cos(2an/N) n= 053,25.... (6.19) ‘The frequency response of the Hamming window is of the same form as the Hann window with the coefficients replaced by-0.54 and 0.23. The coefficients ‘were computed by adjusting the contribution of each of the three kernels of the Hann frequency response to achieve cancellation of the first sidelobe. Since the coefficients are not simple (i.e, 0, 1, or 2'), implementation via convolution in the frequency domain requires six multiplications ‘and four adds for each weighted output bin. The Hamming window characteristics are given in Table 6.2. Note that the first sidelobe is reduced to approximately —43 dB, the sidelobes fall off at ~6 dB per octave, the scalloping loss is 1.78 dB, and the ENBW is equal to 1.36.270 THE DFT AND FFT ALGORITHMS 6.7.4 Blackman-Hartis Weighting Function The Hann and Hamming weighting functions’ are examples of time domain raised cosine bell-shaped functions that result in frequency responses ‘con- structed as summations of shifted Dirichlet kernals given by — jew SD (QN/2) - 5 D(f) = ei Nain (72) Q=Anl(f/F) — (k/N)} (6.20) D(J) is the basic frequency response function for the rectangular weighted input signal. This concept can be generalized by expanding the weighting function as a summation of cosine terms a(n) = § (-1)"b(m)cos(2mnm/N), 2 = 0,1... M m=0 where the summation of the 6(m) coefficients is constrained to unity and the general frequency response function is given by AY)= yoy 2nm/N) + D( f+ 2nm/N)] mmo ‘The Blackman’? weighting function is equal to a three-term expression with (0) = 0.42, b(1) = 0.50, “and (3) = 0.08, Harris uses a gradient search technique to find a set of windows with three and four nonzero terms that —~ -——-resultin-minimum sidelebe-levels- He extends this set by trading-oif mainlobe width for sidelobe level. Harris calls this family of weighting functions the Blackman-Harris windows. The four windows summarized in Table 6.2 are itemized in Table 6.3. TABLE 6.3, BLACK MAN-HARRIS WINDOW COEFFICIENTS 3-Term 3-Term Term 4Term | Coefficients (-67 4B) (-61 dB) (—92 4B) (74 dB) | 040323. 0.48959 0.35875... . . 0.40217 0.49755 0.49364 0.48829 0.49703, 0.07922 0.05677 0.14128 0.09392 a ~ 0.01268 0.00183 In) = ay eos{ 73") OL. Nad Sumee Referee 5FAST FOURIER TRANSFORM (FFT) 271 6.7.5 Kaiser-Bessel Weighting Function Kaiser" deveioped an approximation to the zero-order prolate-spheroidal wave Junctions in terms of the zero-order modified Bessel function of the first kind, J. The coefficients are given by To( #8) Iowa) a(n) = OSM
log, : EFT CAPS = F log, N TABLE 6.4 DFT / FFT COMPUTATION REQUIREMENTS (F = 1000 s/s) Number of DET FET Savings (%) Samples CMPS. CAPS CMPS CAPS CPS’ CAPS 8 8000 7000-1500 3000, 1.25 S14 16 16000 y5000 2000 4000 © 87:50" 73:33 32 32000 31000-2500 ©» $000 92.19 83.87 64 64000 63000 3000 6000.95.31 90.48 128 128000 127000 3500" 7000" 97.27 94.49 256 256000 255000 4000» 8000 98.44 (96.86 $12 512000 5110004500 9000 99.12 98.24 1024 1024900 1023000 $000, «10000 99.51 99.02 2048 2043000 2047000 «5500-11000 99.73 99.46 4096 4096000 4095000 «6000-12000 99.85 99.71 8192 8192000 8191000 6500-13000 499.92 99.84 16384 16384000 16383000 7000-14000 -99.96 99.91FAST FOURIER TRANSFORM (FFT) 273 These expressions are developed in the following paragraphs. Table 6.4 presents 2 comparison of te DFi and ri*f compucational requirements ior several values of N with F=-1000 samples per second (s/s). Note the significance of the FFT reduction in processing requirements, which is the source of the popularity of the use of DFT analysis via an PFT in many signal processing applications. Chapter 10 discusses the implementation of signal’ processing algorithms from the perspective of hardware and software. For the purpose of compari- sons, in this chapter the number of multiplications and additions will be used as a measure of the processing capacity required. You are cautioned that this is a rough-order method of comparing algorithms and that the actual estimates of processing time should be made based on the planned hardware and software implementation. This will be discussed in Chapter 10. 6.8.1 FFT Decimation-in-Time (DIT) Algorithm Several approaches can be used to develop the FFT algorithm. Bellanger® uses matrix notation to show the successive decomposition of the DFT algorithm. Brigham! transforms the indices for frequency and time into binary form in order to do thie decomposition. We start with the DPT expression and factor it into.two DFTs of length N/2 by splitting the input samples into even and odd samples ~ ge ; X(k)=— Yox(n) Wek k= 81,2,..N N Zo Nyt -2 E WAL X(ky=—= OY. xm) + = Y xQam + IWR No nzo Nano The remainder of the development assumes that the normalizing factor is handled by dividing the input signal by 1/N. Since hardware implementations of the FFT are often limited by cost and size (¢.g., for signal processing on-board a military aircraft), it is important to consider wordlength require- ments while maintaining dynamic xange of the input and output. Normaliza- tion techniques will be discussed in Chapter 9, along with finite arithmetic effects of implementing the FFT algorithm. Let x, and x, equal the even and ‘odd input sample components respectively; that is, x,(m) = x(2m) and x,(m) = xQm +1), m=0,1,...,(M/2) ~ 1, the foregoing summation can be written as (N/Uo1 (N/2)-1 XE) = Loa (m) Wt WD a(n) mao mo where "= Wy, and each of the summation (erms is reduced to an N/2 point DFT. Graphically, the DFT computation has been decomposed as274 The OFT AND FET ALGORITHMS Stage 4 x10 210) 0—-—| 1 en i 2@)0-——f x Tate Mo], L xe) “point He (6) ela z X3) or a 28) 0o——|_ (6 even input xa). samples) [_34@) 10) x0) Xi) 3012) = xe) — Lo ’ sta) SRNR xa) a x20) KSA xe) ety %e@) Whe 26) o~ y SS x00) pein : ca ie Se xan x19) (8 odd input St x02 samples) I ve— —— 26) oN ra a az? aA Te => xa: Figuro.6.21. First step in developing 16:point decimationsin-time FFT signal flow graph. shown in Figure 6.21 for N = 16 aid thé general form is written as ee ae K(k) =X (k) + WEXG(k) . X(k-+.N/2) = X\(k) + WENAX,(k) Xi(k) > WHX(k) (6.21) where Wift87? = — WA, and Wyetn/2) = With, . Since the DFT output is periodic, X,(k) = Xy(k + N/2) and X,(k) = 44(k + N/2). Equation 6.21 is. commonly referred: to asthe FFT DIT: but- terily, and is shown in Figure 6.22 in three different forms, For.forms 1 and 2, the intersection nodes of the X, and X, values represent complex additions The form 2 butterfly-is derived frony the symmetry-of ‘the twiddle factors:as shown in the figure and is the form implemented since it requires only one complex multiply operation and two complex additions. Form 3 is an alterna- lve method sometimes used"? to depict the second form of the butterfly. For this first decomposition (Fig. 6.21), the twiddle factors are indexed consecutively and the butterfly values are separated by N/2 samples. This observation is important for developing general expressions using the basic butterfly operations. Also, the order of the input samples has been rearranged, which will be important for selecting the desired FFT implementation.AST FOURIER TRANSFORM (FFT) x) ar x0) xa) eR xe + Ni2) wh “1 o xe ty 2 sain + wh x20 ee — x40) 0 a ee) ' X08) — Whe X2th) rc) Figure 6.22 FFT decimation- normal form 1; (b) normat form 2; (c) butterfly representations: (a) mative form 2. ly the “gach 1 each of the N/2 sample DFTs, ~~ where xy(m) = xyQm) and x,2(mm) = x,(2m + 1), m= 0,1,...,0N/4) 1 ‘Then CN /aym (Nsa)— X(k) = xy(2m)Wamk + x,(am + 1ST : mo oa-s Xy(k) = Semon WR EWR Dm alm) mao mao Resulting in the-butterfly. expressions. tor the. N/4 decomposition of > given? by (A) = Xulk) + We XaUle) Xy(k + 4) = Xu (ke) — WX) ‘Therefore, sequence x, has been decomposed into (wo DFTs of lengthy N/4. The same process is followed for sequen Phe resulting decomposition of the two N/2 point DFTs is shown in Figure 6.23 for N = 16, and the N/4276 THE DFT ANO FET ALGORITHMS x7) om x11) om x15) o— ot x”) Figure 6.23 Secona step in developing 16-point decimination-in-time FFT signal flow graph. point butterflies are expressed as Ka(e) = Nay() + WX (He) alk N/A) = Xa (R) — WARK (Ue) Note that the input sequence is again reordered, the input samples to each butterfly are separated by N/4 samples, and the twiddle factor exponents are separated by a factor of two. . : ‘The decomposition process is repeated until two-point DFTs are gener- ated. Each decomposition is called a stage, and the total number of stages is given by log, N (6.22) The 1é-poini DFT requires four stages. The decompositions for stage 2 and Stage } are shown in Figure 6.24, and the total flow graph for the 16-point DIT radix-2 FFT is shown in Figure 6.25. The twiddle factors for the two-pointFAST FOURIER TRANSFORM (FFI) 277 Stage J se stage 2 Xo) Xt Xj) Oo Xu a —— es 2X02) Xn8) 20) Xn) X22) X28) X10) (1) 112) 218) Xa) Xna(l) Koal2 Xx) Figure 6.24 FFT 16:poirl déciination‘in-ime siage 1 and stage 2 decom- positions, DFTs are equal to 1 and ~1, and therefore the first stage can be implemented without mulliplies;-that is; only-additions-and subtractions are required. ~ Figiire 6.25 describes an in-place radix-2 DIT FFT algorithm. From Figure 6.25 we note that the in-place algorithm requires that the input data must be stored in bit-reversed order in consecutive memory locations. The in-place version-of the algorithm allows the input data storage registers to be reused for intermediate storage for subsequent stage computations. Alternative in-place structures,can be developed that preserve the order of the input aud result in a bit-reversed output. BIT REVERSAL* ‘The input sample sequence has been reordered, as seen from Figure 6.25, in a bit-reversed order. The bit reversal process is defined in Figure 6.26. Each of the decimal time sample indices is converted to its binary representation. Then the binary bit streams are reversed. Converting the reversed binary numbers to decimal values gives the reordered lime indices. Radar! presented a bit-reversal algorithm that iteratively generates the reversed time: indices. The algorithin can be initialized at any point in the “Bit is usd to represent the postions of the inary number. The number 12 requires four bits for its binary representation (110),Mc 273Fast FOURIER TRANSFORM (FFT) 279 Ingut Sample tndes {-Reversed Sample index Decimal Binary Binary Decimal 2 0900 — ce 0000 0 1 9001 1000 8 2 oie o100 4 3 0011 1100 12 @ 01900 Loo 2 5 ards 1010 19 6 0110 o110 6 7 O11 1ile 4 2 1000 ooor 1 9 1003 1001 9 10> 1010 o1o1 5 ie ioli diol 13 12 1100 oor 3 13 Lvl - vor ou illo oll) 7 wait viii’ 18 Exchenge values when bitreversed jes grezter than input index Nirber Tapa BitReversed System Saunple index Sannple Index yea payee FD Binary By Byoy vs By By By By By By By By Ba Be weet poe é Decimal apeg be eee =o Higure’s.28 Bil-reversai process. reversed sequence and only requires the preceding reversed indices. A flowchart of the algorithm is presented in Figure 6.27a. Another algorithm commonly used reverses any given: saraple index into its bit-reversed index. This proce- dure is shown in Figure 6.27 along with a BASIC subroutine. The process works by iteratively determining if the input index binary bit positions are unity and building wp the-bit-reversed index decimal value. Example 6-1 Use the procedures in Figures 6.272 and 6 to determine the fourth input sample to the 16-point FFT shown in Figure 6.25. The fourth input is the twelfth time-ordereé sample of input x. Since we are using a 16-point FFT, four bits are required to represent the binary sample indices. Using the first bit-reversal procedure shown in Figure 6.274, the preced- ing bit-reversed value, 0100 (4 decimal), is needed to generate the next value,280 tHe cer ano Fer aLGoaHns IT REVERSE + meme DECIBIAL VALUE. —— 7 X — FET LenoTH FT INPUT INDEX : 12 Nel ves [ WOMBER Too pone i eT | Sn iate BIT REVERSE DECIMAL, VALUE Xie ‘STORE IN BIT-REVERSE TABLE ~ (@) Eigure 6.27 Bit-reversal algorithm: (a) bit-reverse sequence generation algorithim; (b) Feorithm to convert one value to bi-roverse valu, (c) Basi Cone to neve ee value to bit-reverse value, ‘The first test is applied; and Since 4 is not greater than or equal to 8, the result is obtained as 4 + 8 12. | -oprie second procedure (Fig. 6.27b) uses the sample index cf.the input directly. Therefore, we apply the sample index 3 to the bit-reversel algorithm. Since N= 16, the number of bits is 4 as before. From the BASIC program the following calculations are made: a Fhe number to be bit-reversed is set equal to B. . The variable BU is initialized to 3 (B) and will be used to hold the results of successive integer divisions by 2 ‘The variable BR is initialized to zero and will be used to develop the bit-reversed output value.23t FAST FOURIER TRANSFORM (FFT) DECIMAL NUMBER B TO BE BIT-REVERSED B2_= INTEGER (y!2) lag = (2 BR) + Bl ~,(2-B2) Bl = Ba tebe) ‘STORE BR AS BIT-REVERSE, OF INPUT B o : Figure 6.27 Continued | The remaining calculations are iterated based on the aumber of its four times. 1. B2=3\2=1; BR= 042+ (3-261) 2, B2 =1\2=0: BR=1*2 + (1 240) B= + 3, By =O0\2=0: BR= 342+ (O20) = 6: Bl = 0 4. BL =O0\2 = 0: BR= 642 + (0 ~ 280) = 12: B= 1 ad the result, BR, equals 12; Whiekr agrees with Figure 6.25 and the procedure: given in Figure 6.27. in the above equations the backslash Symbol (\) denotes integer division, for example, 10\ 4 = 25.68\ 699-3. & Figure 6.26 shows the input/output data shufting that results for a 16-point transform. The operation can be performed without another storage array (o hold the bitereversed index sample values. As shown in the figure, when the input index and bit-seversed index are equal. no operation IS required. When the bit-reversed i the input sample values ares performed only once, and therel index is different than the input index, then japped. This swapping operation must be ‘ore the algorithm must exercise control by282 THE DFT AND FFT ALGor IMS 1000 WH eekeE ee corkreseeenrnsrercagtntee centrerencee seers sausy Hes k Bit Reverse Data Vector * 1002 2 NeFET LENGTH r 1003 °4 XREREAL INPUT VECTOR: XI=IMAGINARY INPUT VECTOR ¥ NOUS” MERE NER EASE EKRAEEREATHRSAR AHEAD PLES HEEHSTEEKOEEETSERSENE EELS Los DIM ERCIOZa), XECLO24) 1010 CLS:LGCATE 5, 10:PRINT "AIT REVERSAL. FOR DATA VECTOR IN PROCESS" 1020 NLOB2z=.06 (N} /LOG (2) 1030 TO Nat 194¢ BOSUB 1560 1080 RINT "BIT REVERSAL FOR avesa%5" BRE 1070 1oBo 1090 1100 ieety 11200 XT Ce eX KL 13a Rdg) aREAL, : BEY, 1140 ‘ 4150 NE 1500 SEBO ESCH COCR OG SOOOCOOOL RECO DCE NOE DO ELLER EEEEK 1sc1 > BIT REVERSE SUBROUTINE aaa) 1510's NLOG2Z=4 OF BITS FOR BX ® 1820 5% RASINFUT ff TO BE BIT REVERSED ® S21 7 BASES ONS EMER EARS ES EKEREKE EEE EEE EES S OxET EEE KERA ENE LE EEE OLE LE A530 BIKeB, 1540 BR%=0 : 1580 FOR Iz=1 TO NLOG2% 1580 Exe ELAN? 1870 BRUABRIAZ+ (Bay-2eB21 1B8O | BixeRon 1890 NEXT. 1 0 1599 RETURN @ Figure 6.27 Continued performing the swap only when the bit-reversed index is greater than the input index or vice versa. This process of performing the bit-reversal without requiring an additional storage array is referred to as an in-place operation. For implementation of the bit reversal, one of the preceding approaches could be used, another algorithm could be used, or the bit-reversed addresses could be stored for the sets of FFT lengths desired. The primary factors in selecting a suitable bit-reversal approach are the time required to perform. the operation and the amount of hardware and software required IN-PLACE COMPUTATIONS. The DIT FFT algorithm presented in Figure 6.25 results in an FFT with the intermediate data storage in-place. The storage requirements for intermediate FET stage outputs are satisfied by the input data storage requirements since sample values are uséd only once in a butterfly operation. NOT-IN-PLACE COMPUTATIONS ‘The FFT could be restructured to provide an ordered input and output, Such FFTs are defined as not-in-place, require an additional N element complex storage array for intermediate computations, and are described in several ofFAST FOURIER TRANSFORM (FFT) 283 the references.®? ‘These algorithms preserve the data ordering, eliminating the processing time required for bit-reversal algorithms of the input or output data. The twiddle factor ordering for each stage will be modified and aust be assessed in analyzing the suitability of the various FFT design choices. The symmetry of the butterfly input/output addresses is also complicated and must be assessed when selecting an FFT for impiementation, RADIX-2 DIT IN-PLACE FFT SUMMARY The following list summarizes the radix-2 DIT in-place FFT algorithm char- acteristics. 1. N = 2, where M is an integer, and N equals the number of input and output samples. 2. The input sequence is reordered via bit-reversal. 3. The number of stages is given by M = log, N. 4, Each stage requires N/2 butterfly computations, 5. The symmetry of the butterfly input/output addresses for the mth stage ~ is equal 10 2""!, This is the separation between sample‘addresses Al and A2 for each butterfly of stage m. 6. The number of complex multiplies is approximated by where no advantage is taken for simple (ie., zero, unity or f) twiddle factor complex coefficients, » The number of complex additions eT given by CADD ='W log, N 8. The powers of Wy ‘itivelvéd' in” omputing the muh. stage from the (m ~ 1)th siage are given by WN: m: Nk Ze 1) 2 WE 1,9, FH LY 1=0,1,2,...,(N/2) - 1 where ¢ is the butterfly index for each, stage. There are 2" distinct owiddle factors per stage, which ave repeated according to R= ri" Op pet Also, if the implementation is restructured to provide sequential input data to the first stage, the powers will be in bit-reversed order284 | THE DFT AND FFT ALGORITHMS PRIMITIVE OPERATION ‘The process for each butterfly operation, can be defined as a primitive oper- ation, as shown in Figure 6.28. In order to perform the operation, the input data addresses for the butterfiy are required along with the twiddle factor. The output is stored back into the input addresses since this is an in-place operation, Table 6.5 lists the twiddle factor. exponents (Nk/2”) for N = 16, 64, 256, and 1024. As shown in the table, the exponents are a function of the stage index m and the exponent repeat factor (RF), which is the number of times the exponent sequence associated with m is repeated. For example, consider stage m = 3 for N = 16, For this case, the ERF = 2; theréfore, the exponent sequence (0, 2, 4, 6) is repeated two times. The utility of Table 6.5 as a twiddle factor look-up table is illustrated in the following example. Example 6.2 ° ‘ For a 16-poiit radix-2 DIT FFT, use the foregoing summary statements to verify the 16-point implementation shown in Figure 6.25. Solution: . : Each of the 8 summary statements are computed for the 16-point FFT. 1. The number of input samples, N= 16. -Radix-2 Computation Unit (CU) SONG OE EDO ED DE COEOOLEE EU DOR UNDO EEE BS HAE IEEE EE 1 Boos Ravix-2 FFT Computational Unit x 10 "2 Complex Data Inputs at & Az x oY Gomples Twiddle acter. WNe x °y F& T APPENDED TO VARIAELE DEFINITIONS REFER TO * ce REAL “IMAGINARY COMPONENTS RESPECTIVELY ¥ 3 Al = AL + Ag # WNP * a @2 = Al ~ a2 4 UNE ® * JUECCLEE SO DER EEDEr2 So BESU EE an Ono DED ne TEE OEE A! E PRINT “FETA PROGRAM IN PROCESS! ~ eae * WPI) at 7G ALQUTFUTR © ALR + (AR & WNER By @IQUIPUTT = 61] © Cee & UNI) 4 APL & WNPRO 9 @2ONTPUTL © alt 28 A PNET 4 (AZT ¢ BNPRD? JOO ACQUTENTR = ai © 2 GAS ENE RI) CART WNPTD 119 RETURN wv) Figure 6.28 (a) FFT2 CU primitive operation; (b) radi 2 CU BASIC program.FAST FOURIER TRANSFORM (FFT) 285 p- TABLE 6.5 |g FFTD TWIDDLE FACTOR EXPONENTS FOR WY = 16, (4,296, AND 1024 POINT FFTS N| m | ERF Radix-2 Twiddle Factor Exponents ~ wha 8 |o 2 o4 a 0246 4 01234567 a] 1 [32 [0 2 | 16 |0 16 3 8 | 0 8 16 24 4 | 4 [0 4 8 1216 202428 5 | 2 0 2 4.6 8.10.12 14 16 18 20 22 24 26 28 30 6 1 {012345 67 8 9 10111213141516 ... 31 256| 1. | 128}0 . 2 | 64 0 64 3 | 32 [0.32 64 96 4 | 16 [0 16 32 48 64 80 96 112 3 810 8 16 24 32 40 48 $6 64 72 80 88 96 104 112 120 Ble 4 [0 4 81216 20 24 2832-36 40 44 48 52 56 60 ... 124 1 2JO 2. 4°6 81012 14 16 18 2022 24 26 28 30 126 8 1jo123 45 6 7 89103112 13 14 35... 127 1024) 1 |" si2} 0 2 | 256] 0256 . 3 | 128] 0128 256 384 4 | 64] 0 64 128 192 256 320 384 448 5 | 32] 0 32 64 96 128 160 192 224 256 288 320 352 384... 480 6 | 16] 0 16 32 48 64 80.96 112 128 144 160 176 192 ... 496 7 8| 0 & 16 24 32 40 48 56 64 72 80 88 96 ... S04 8 4] 0 4 8 12 16 20 24 28 32 36 40 44 48 ... 508 9 2| 0 2 4 6 8 10 12 14 16 18 20 22 2%... 510 10 ifo 123 45 67 8 $WH 1D... St 2. The bit-reversal was shown in Example 6. 3. The number of stages, M = 4. 4. The number of butterflies per stage is N/2 = 8. &, The butterfly input/output memory addresses, that is, the separation between the addresses of (wo complex input samples (o a butterfly is + 2D that is, Stage 1 Inputs/ovtputs for each butterfly are 1 sample apart Stage 2 Inpuls/outputs for each butterfly are 2 samples apart Stage 3. Inputs outputs for each butterfly are 4 samples apart Stage 4 Inputs/outputs for each butterfly are 8 samples apart.anod co La mad cu Lae) — med cu Lao: 4 CU Lago SFC HO} EMO) MH 12,0) LM) MAE (3.0) Lela) Mea} 4.0) Easy meq | vi wad My CU LMA) May cu Lay M4 cu Lay un} cu bm) M34 (1) LM) 1) PMG), ——-M(S)4 IB.) aes) M)] HE} wi Wi We ma | na(ay May] CO Lady MQ} cu Lag) MQ cu Lay MESH] TL 2] a(S) MC) 2.2] MC) MBL} B.2] EME) — ax} (4,2) EO) mi we] mi m4 MiG CU LM) gs) CULM) «= MG CU LMG) MG) cu Lay MO LD EM OY BE bM —oMO Gs LM — ain (4,3) Fay wi Wis Wh wi wae} cu Lae mer] cu fae ad co fue mend cu Lave M(S) [1.4] M(LO)- [2,4] |-M4(10) M2) [3,4] |-4(02) 4 (12)-4 4,4} 2) vied we Mel mio] CU Laraoy MCL (15) Mad) ws Mis) AM) ba) as} CU Mis Fmcaty M3] 3,5) Lvs) a3] fas Lava) W waa CO bea — ward cu aaa Mand cu Laan — m4 cu bans) May Ms} PMas Maay Bs pas cn) Bs Mae wae ea Fas mi wed | we, ws. = — may aay} CU -m3) man], cu Eman “a cu ban PMA MGS 2.7) bMS) Mad BT EMG Mas (4.7) Laas) Wie me wa 7 Figure 6.28 FFT2 16-point DIT FFT representation using primitive operations, 286FAST FOURIER TRANSFORM (FFT) 287 6. The number of compiex multiplies is approximated: by 32 compared to 256, the square of 16, for th impiementation. Count the number of multiplications required in Figure 6.25, eliminating the simple twiddle factors, which are zero o¢ unity, for further reductions. 7. The cumber of additions required is, 64 compared to the DFT require- ments of N? - N 40. 8, The wwiddle factors for each stage are computed as follows: Stage 1 One unique coefficient with power equal to zero, therefore, W(16: 1:0; 2) = 1 for all Stage 2. Two unique coefiicients with powers equal to zero and four, therefore, W(16:2:0; 0,2,4,6) =1 (16: 2:4; 1,3,5,7) = J Stage 3” Four unique coefficients with powers equal to 0, 2, 4, and 6, therefore, W(i6:3:0;0,4) =1 W(16:3:2; 1,5) = 0.7071068 ~ j0.7071068 W(16:3:4; 2,6) = ~; - WA16: 3:.6;.3.7) ~ 0.2071068 —j0.7071068 Stage 4 Eight unique coefficients with powers equal to 0, 1,2, 3, 4, 5,6, and 7, therefore. W(16:4:0;0) =i Y/(16 421; 1) = 0.9238795 — 70.3826834 W(16 4:2; 2) =.0.7071068 ~ j0.7071068 W(16:4:3; 3) = 0.3826834 — /0.9238795 W(16:4:4; 4) = —/ : W(16 24:5; 5) = ~0.3826834 ~ 70.9238795 W(16 4: 6; 6) ="~0.7071068 — 70,7071068 W(16:4:7; 7) = —0.9238795 ~ 70.3826834 Note that the twiddle factors for stages 1, 2, 3 and 4 could have easily’ been obtained from Table 6.5 The primitive operations are shown in Figure 6.29 for the 16-point FFT. =288 THE DFT AND SF ALGORTHMS IMPLEMENTATIONS wit COMPUTATIONAL SAVINGS If the hardware and/or oftware control provides: Ie capability to avoid multiplications by simple twiddle factors (real or imaginary components equal ve 0 oF 1); then the number Sf complex multiplies is given by N “ CMULT = 5 (0B nf) ~ \" y | int Additional savings are possible sf the implementation is designed to take advantage ‘of the ‘twiddle factors at 45, 135, 225, and 315 degrees On the unit viele. The real and imaginary Tomponents are equal and therefore only half of complex multiply is actually required. We have assumed that @ cOmPICK sauttiply requires Four real ae plications and two real additions. A simple imple of a Fast algorithm fOr apex multiplication i? (A + jBYC 4 jD) = AC~ BD + j(AD + BC) B+jF fee ac poe E=A(C~P)* DAT?) reap vacor P= B(C+P)* DAB) “he normal form of the comple multiplication requires [08 real multi- plications and 6¥0 real additions. The ified form requires three real Paltiplications and five real Be Es cae ace much easier x ane > point o x) oft 02) (epain's) oe «9.20 OFT decoration or deimaton inetrequency FFTFAST FOURIER TRANSFORM (FFT) 289 to implement than multiplications on the hardware/software being used, the modified form would be better. Also, if the twiddle factors are stored as the C and D coefficients, the C+ D and CD terms could be stored for the modified form, reducing the number of additions required to three. A trade-off between control and computational requirements must be performed to de- termine the best design approach. 6.8.2 FFT Decimation-In-Frequency (DIF) Algorithm ‘The development of the radix-2 DIF FFT algorithm is very similar to the DIT development. For the DIF decomposition, the data are split into batches of 1/2. samples of contiguous input data, Thepefore, lt X(k) be expressed as wa nay x)= xtayngt sD a(n + (ayn ‘Now we can factor W"* out of the summations, and combining terms in one summation results in (N/2)~1 Xie) YL [x (n) + WAM a(n + (N72) no ‘The next step is to separate the-frequency ‘terms X(k) into even and odd samples of k; the resulting expression provides’the first decomposition into N/2 point DFTs shown in Figure 6.30 and expressed as py hy = OL (x(n) + xr (N22) Wie way XQh+ I= YS [x(n)-x(n-b(W/2))| MY — (6.23) nao a aS a Xolh) 0x et +) 7 vb ay Xk) Xtk) = Xitk) + X2tk) Xa) Xk + NI2).= UX\0 — Xe) WH, » Figure'G.31 FFT decimation-in-frequency (DIF) two-point butterfly representations: (a) form 2; (b) alternative torm 2.weABEIP MOY 1534 Z-KOBY IG WUlod-g) Zo"g sani 290FAST FOURIER TRANSFORM FFT) 291 Again, the process of decomposition is continued until the last stage is made up of two-point DFTs. The butterfly representation for. the DIF FFT implementation is showsi in Figure 6.31, A 16-point DIF FFT is illustrated in Figure 6.32. Note that the decomposition proceeds from left to right for the DIF development and the symmetry relationships are reversed from the DIT algorithm (e.g., the bit reversal occurs at the output instead of the input). Similar to the DIT algorithm, alternative structures can be developed that preserve the in-place computations and provide an ordered output and a bit-reversed input. Similarly, a DIF not-in-place structure provides an ordered input and output but requires an additional N-complex storage array for intermediate calculations, 6.8.3 FFT Radix-4 (FFT4) DIT Implementation The radix-2 FFT algorithms produce the lowest possible level of DFT decomposition. Alternative decompositions are possible. Radix-4 and radix-8 FFT algorithms are popular because they are better adapted to pipeline” hardware implementations."'* This section presents a ‘detailed approach to the implementation of a radix-4 DIT FFT algorithm. A decomposition of the DFT into factors of four results in the FFT4 algorithm, where for this case the DFT length: is a power of.4. The radix-8 FFT used in combination with the FFT algorithm provides implementation‘ of any power of two. FFT4 COMPUTATIONAL UNIT-(CUy This development uses the radix-2 FFT structure and builds four-point primitive operations from the two-point structures. Figure 6.33 illustrates a four-point computational unit (CU). Note that the computational unit requires four input data memory addresses (4,, i= 1,2,3,4), three twiddle factor complex coefficients (TW,, i = 1,2, 3), and four output memory addresses (C,, i= 1,2,3,4). Similar to the EFT2 algorithm, the computations will be performed in-place. Therefore, 4;= C, and the input data, will, be-tead into consecutive memory locations in bit-reversed order. Consider the FFT4 CU given in Figure 6.33. The general expressions for the FFT4 primitive operation are easily derived by writing the equations. in complex form. From the signal flow graph, A, are the complex input values obtained from a read memory location, B; are the intermediate CU values, and G, are the complex output values. Since the computation is performed in-place, the output values from stage m are read back into the input memory address locations to be used for the next (m + 1) FFT4 stage computation each performing a basic operation *A pipeline architecture provides multiple hardware stages, each performing n (ex, mulpicaion, addition) simultaneously, through which the data progres a she hardvat syde rate. The pipeline is discussed in Chapter 10292 THE OFT AND FFT ALGORITHMS A [—» c aoe Fea | _. oe COMPUTATIONAL I As UNIT ees | oo }——-0 Ce Ayo | oc Azpo——] [—oce A30—— po 05 Ago j———-9 Ca i [| TW TW, TWs Figure 6.33 FET4 CU primitive operation. The basic CU primitive algorithm is developed by assuming complex input data, and twiddle Tactois a¥e read in from memory, that is A= AR, +jAl, TW, = TWR, + jTWH, Ag = AR, + jdl, TW, = TWR, + {TW Ay =ARy+jAl, TW, = TWR, + jTWL, Ag= ARy + jAly where the real and irhaginary components of the complex values are represen~ ted. by appending R and 7, respectively, to the complex values. On subs- titution, the CU intermediate complex values are By = A, + A,TW, = AR, + jAl, + (AR, + jAl, (TWR, + JTW) = BR, + jBI, where the real and imaginary parts are BR, = AR, + (AR,TWR,) ~ (ALTWh) I, = Al, + (ALTWR,) + (AR,TWh)FAST FOURIER TRANSFORM (FFT) 293 Similarly, the comiplex intermediate values B,, By, and By ai@given by BR, =AR, ~ AR,TWR, + AL,TWI, BI, =Al, ~ ALTWR, ~ AR,TWI, BR, =AR, +(AR,TWR,) ~ (AL,TWh) 5 Aly +(ALTWR,) + (ARIW1) Ry = AR; ~ AR,TWR, + AL,TWI, BI, =AI, — AI,TWR, ~ AR,TWR, Finally, the complex values at the output of the radix-4 CU are determined to be C= 3B, + BTM, = BR, + JBL, + (BR, + jBl,)(TWR, + jTWI,) = CR, + jCh, (6.24) where "Ry = BR, + (BRjTWR,) - (BL,TWI,) Ch, = BI, + (BRsTW1,) + (BI,TWR,) .. Similarly, the complex EU output values C;, Cs, aiid’ Cy ae given by CR, = BR, +(BR,TWRs) — (BLTWL) Ch, =Bl, +(BR,TW1y) + (BLTWR,) CR, =BR, ~ BR;TWR, + BLTWI, Cl, =BI, — BRsTWL, — BILTWR, CR, =BR, ~ BR,TWR, + BI,TWL, Cl, =BI, — BR,TWI,— BI,TWR, ‘The BASIC expressions implementing the FFT4 computational unit are given in Figure 6.34. To implement .the FFT4 algorithm it is required to develop a method for determining the read and write memory addresses as well'as a method for obtaining the respective complex twiddle factors. This method is developed in the following section. For the FFT4 algorithm developed, there are 16 unique real multiplies (indicated by parentheses) and 32 unique feal adds per FFT4 CU. The radix-4 FFT processing load can be determined by computing the number of real multiplies and adds per second, that is, RMPS = R4"""?M and the number of
You might also like
What_is_the_fast_Fourier_transform
PDF
No ratings yet
What_is_the_fast_Fourier_transform
11 pages
What Is The Fast Fourier Transform
PDF
No ratings yet
What Is The Fast Fourier Transform
11 pages
Discrete Fourier Transform
PDF
No ratings yet
Discrete Fourier Transform
47 pages
Discrete Fourier Transform
PDF
No ratings yet
Discrete Fourier Transform
12 pages
Finite Length Discrete Fourier Transform
PDF
No ratings yet
Finite Length Discrete Fourier Transform
23 pages
50 Years of FFT Algorithms and Applications.
PDF
No ratings yet
50 Years of FFT Algorithms and Applications.
34 pages
Fourier Series and Fourier Transform - Fourier Transform (Chap 7)
PDF
No ratings yet
Fourier Series and Fourier Transform - Fourier Transform (Chap 7)
18 pages
B.P. Poddar Institute of Management and Technology
PDF
No ratings yet
B.P. Poddar Institute of Management and Technology
20 pages
Discrete Fourier Transform and Signal Spectrum: Advance Digital Signal Processing
PDF
No ratings yet
Discrete Fourier Transform and Signal Spectrum: Advance Digital Signal Processing
40 pages
Basics of DFT
PDF
No ratings yet
Basics of DFT
31 pages
SDA09 Handout6 Full
PDF
No ratings yet
SDA09 Handout6 Full
13 pages
A DFT
PDF
No ratings yet
A DFT
88 pages
DSP DFT FFT Iir Fir Ebook
PDF
No ratings yet
DSP DFT FFT Iir Fir Ebook
360 pages
11 DFT and FFT
PDF
No ratings yet
11 DFT and FFT
37 pages
DFT and FFT: C. Kankelborg Rev. January 28, 2009
PDF
No ratings yet
DFT and FFT: C. Kankelborg Rev. January 28, 2009
17 pages
19ece211 Unit I
PDF
No ratings yet
19ece211 Unit I
84 pages
DSP Lab Expt 4 Manual EECE GITAM-1-6
PDF
No ratings yet
DSP Lab Expt 4 Manual EECE GITAM-1-6
6 pages
EC-504 - Aritra Dutta
PDF
No ratings yet
EC-504 - Aritra Dutta
6 pages
Control
PDF
No ratings yet
Control
74 pages
LectureD5_DFT
PDF
No ratings yet
LectureD5_DFT
34 pages
DFT
PDF
No ratings yet
DFT
54 pages
Unit - 1.2-15.07.2020-EC8533 - DTSP-Basics of DFT
PDF
No ratings yet
Unit - 1.2-15.07.2020-EC8533 - DTSP-Basics of DFT
13 pages
Unit 1 & 2
PDF
No ratings yet
Unit 1 & 2
86 pages
Chap6 PDF
PDF
No ratings yet
Chap6 PDF
40 pages
Chapter 5 Slides
PDF
No ratings yet
Chapter 5 Slides
72 pages
Dit 705 - DSP - 3
PDF
No ratings yet
Dit 705 - DSP - 3
18 pages
EEE504-DFT and FFT.
PDF
No ratings yet
EEE504-DFT and FFT.
11 pages
Week 14
PDF
No ratings yet
Week 14
34 pages
Discrete Fourier Transform Fast Fourier Transform Signal Processing
PDF
No ratings yet
Discrete Fourier Transform Fast Fourier Transform Signal Processing
24 pages
Frequency Domain Discrete
PDF
No ratings yet
Frequency Domain Discrete
7 pages
b14 SP Lect4
PDF
No ratings yet
b14 SP Lect4
31 pages
DSP Unit 2
PDF
No ratings yet
DSP Unit 2
137 pages
Computation of Discrete Fourier Transform
PDF
No ratings yet
Computation of Discrete Fourier Transform
8 pages
DFT
PDF
No ratings yet
DFT
19 pages
Biomedical Signal Processing
PDF
No ratings yet
Biomedical Signal Processing
72 pages
Fast Fourier Transform
PDF
100% (1)
Fast Fourier Transform
16 pages
Lecture3A-combined
PDF
No ratings yet
Lecture3A-combined
34 pages
Time and Frequency Analysis of Discrete-Time Signals
PDF
No ratings yet
Time and Frequency Analysis of Discrete-Time Signals
16 pages
Mathematics of The Discrete Fourier Transform
PDF
No ratings yet
Mathematics of The Discrete Fourier Transform
142 pages
DSP Slide III
PDF
No ratings yet
DSP Slide III
31 pages
2-dft1
PDF
No ratings yet
2-dft1
18 pages
SignalProcessing - SS2023 Part - 5-dft-fft
PDF
No ratings yet
SignalProcessing - SS2023 Part - 5-dft-fft
91 pages
Fourier Analysis of Discrete Time Signals
PDF
No ratings yet
Fourier Analysis of Discrete Time Signals
18 pages
Chapter2 Lect8
PDF
No ratings yet
Chapter2 Lect8
12 pages
BDSP-Lecture 4
PDF
No ratings yet
BDSP-Lecture 4
27 pages
Fast Fourier Transform
PDF
No ratings yet
Fast Fourier Transform
13 pages
The Fast Fourier Transform: (And DCT Too )
PDF
No ratings yet
The Fast Fourier Transform: (And DCT Too )
36 pages
DSP Fundamentals Lecture Note Set #21 The FFT: 1 Course Announcements
PDF
No ratings yet
DSP Fundamentals Lecture Note Set #21 The FFT: 1 Course Announcements
5 pages
l5 PDF
PDF
No ratings yet
l5 PDF
20 pages
Time and Frequency Analysis of Discrete-Time Signals
PDF
No ratings yet
Time and Frequency Analysis of Discrete-Time Signals
15 pages
Chapter 7
PDF
No ratings yet
Chapter 7
8 pages
Chapter6_Modified2021
PDF
No ratings yet
Chapter6_Modified2021
20 pages
Chapter3 DiscreteFourierTransform
PDF
No ratings yet
Chapter3 DiscreteFourierTransform
65 pages
Applications of Fourier Series in Electric Circuit and Digital Multimedia Visualization Signal Process of Communication System
PDF
No ratings yet
Applications of Fourier Series in Electric Circuit and Digital Multimedia Visualization Signal Process of Communication System
9 pages
DFT
PDF
No ratings yet
DFT
48 pages
CH 11
PDF
No ratings yet
CH 11
20 pages
Digital Signal Processing, Discrete-Time Fourier Analysis: Dr. Alan Tan 28 August 2011
PDF
No ratings yet
Digital Signal Processing, Discrete-Time Fourier Analysis: Dr. Alan Tan 28 August 2011
44 pages