You are on page 1of 112
Solutions - Chapter 8 The Discrete-Time Fourier Transform 291 8.1. We sample a periodic continuous-time signal with a sampling rate: Os _1 6 Ra Mela Son (a) The sampled signal is given by: ln] = 2e(n7) Expressed as a Discrete Fourier Series: . ain = So ae P= ‘We note that, in accordance with the discussion of Section 8.1, the sampled signa is represented ‘by the summation of harmonically-related complex exponentials. The fundamental frequency of this set of exponentials is 2x/N, where N = 6. ‘Therefore, the sequence z(n] is periodic with period 6. (b) For any bandlimited continuous-time signal, the Nyquist Criterion may be stated from Eq, (4.14b) F,>2Fw, ‘where F, is the sampling rate (Fl2), and Fiy corresponds to the highest frequency component in the signal (also Hz). As evident by the finite Fourier series representation of z(t, this continuous-time signal is, indeed, bandlimited with a maximum frequency of Fy = by Hs. ‘Thesfore, by sampling at a rate of F, = pix Hz, the Nyquist Criterion is violated, and aliasing results. {c) We use the analysis equation of Eq. (6.11) tk] =D sine" = From part (a), 2{n] is periodic with N = 6. Substitution yields: xa) = E( xy sna ete aX = SX egetltetimntyn x ‘We reverse the order of the summations, and use the orthogonality relationship from Example 8.1: i=6 ZS om So dfm—k +N ‘Taking the infinite summation to the outside, we recognize the convolution between Gy, and shifted impulses (Recall a, = 0 for [mj > 9). Thus, R=6 So ae Note that from Xk], the aliasing is apparent. 292, 8.2. (a) Using the analysis equation of Eq. (8.11) ya Xt] = Feiner Since 2[n] is also periodic with period 3, . aye Rsk] =D enlw3e = wan me anes wes = Laem + Ysa + = & a Performing a change of variables in the second and third summations of X5[4], xa ot ® Xath) = Do sinlWay + WIN DO ain + WSR + WER = = = Since zn] is periodic with period N, and Wp = Wi!)", ket Ryle) = (14g AD) Sain”? = = (14eFeh 4ereb) £14 _ [ 3Xlk/3, k= 3e et 0, otherwise i (8) Usog N= 2 and so asia Fig P82: | { me Xu) = Saiwee = fi = Dee = = EO) + a[tje* = 142-1) _ [3 kao i a -l, k=1 i ‘Observe, from Fig. P8.2-1, that {n] is also periodic with period 3N = 6: an Xe = YL away = : = Detnlesiee = (Lee FE + OF + (1H) (4 FE 4 SF RE /3) 9 k=O = 4-3, k=3 0, k=1,2,4,5. 8.3. (a) The DFS coefficients will be rea! if 2{n] is even. Only signal B can be even (ie. Zp[n] = 2 if the origin is selected as the midpoint of either the nonzero block, or the zero block). (b) The DFS coefficients will be imaginary if £{n} is even. None of the sequences in Fig PS.3-1 can be odd. (c) We use the analysis equation, Eq. (8.11) and the closed form expression for a geometric series. Assuming unit amplitudes and discarding DFS points which are zero: 2 Zale) = hee _ leet ~ Te elk] = elk] = a (otis — otto) yay Lett = (le) art = 0, bess 8.4. A periodic sequence is constructed from the sequence: z{n] = a*ufn , Ja] <1 as follows: DX ant N ial <1 (a) The Fourier transform of 2 xi) = SS sine lal wr = zo kodd xt) aay even, 0. osk<(v-1) ert -on)(298) sa (Opt — 0) HT] ‘in [(29 — 0x) /2) Note that X(8] = X()loacrtyn (©) Suppose wy = (2ka)/N, where ky is an integer: deensitotr TIT Xi) = - sae enba)(on—2)/0) _ Sin AU = Fo) ‘in(e( = ko)/N) se 8.7, We have a six-point uniform sequence, z{n), which is nonzero for 0 3-+4~ to avoid aliasing. Since N = 4,we expect to get aliasing bere. First, find y[n] = 2{n} « Ain}: For this problem, aliasing means the last three points (n = 4,5,6) will wrap-around on top of the first three points, giving yfn] = zin\@pln} vin] = 2{n}@Aln) (d) Using the DFT values we calculated in parts (a) and (b): Y(k) = XT 1420S 4 4W2 +8 203 — awe! - Bw? Since Wit = WP and Wit = WE Y[k] = -3-6WS+3W7+EWH, Ok <3 ‘Taking the inverse DFT: ule] = ~35{n} — 68[n — 1} + 381m — 2] + 65[n- 3], O P (the DFT size is larger than the data segment), The technique used in this case is often referred to as zero-padding. By appending reros to a staall data block, a larger DFT may bbe used. Thus the frequency spectra may be more finely sampled. It is a common misconception to believe that zero-padding enhances spectral resolution. The addition of a larger block of data toa larger DFT would enhance this quality ‘So, we append N, = N — P zeros to the end of the sequence as follows: in) = { im, OSn<(P-1) a {3 Psnsn tp] weDFT | ___.. xf] (sks) 303 (©) Suppose N’ > P, consider taking a DPT which is smaller than the data block. Of course, some ‘aliasing is expected. Perhaps we could introdace time aliasing to offset the effects. Consider the N-pt inverse DFT of X{k], ge fn] = + S xwe, o 109, the circular convolution zn} (10a) willbe equivalent to the linear convolution of part (a). 8.28. We may approach this problem in two ways. First, the notion of modulo arithmetic may be simplified if we utilize the implied periodic extension. That is, we redraw the original sial as if it were periodic with period N= 4. A few periods are sufficient: 2{((7 ~ 2))4}, we shift by two (to the right) and only keep those points which lie in tthe original domain of the signal (ie. 0 6+ 5~1, so no aliasing occurs, and circular convolution is identical to linear convolution. 8.80. We have a finite length sequence, whose 64-pt DFT contains only one nonzero point (for k = 32). (a) Using the synthesis equation Eq. (8.68): wet shl= 5D XMWa, O = ma X.lk] = cos = sohow (a Recall Pat X= Saini", << (N-1) and Re{X{k]} = So: DFT(ze{n]} # Re{X(E]} (>) Re(xtyy = 2X 18 1 = pei § sews yet = 5 Lienl+ stv - apwir m 1 ef xe)p = DET {Het} + np} 8.35. From condition 1, we can determine that the sequence is of finite length (N’ = 5). Given: X(e) = 1+ Ay cosw + Az cos 2 Mees Bem em ‘From the Fourier analysis equation, we cam see by matching terms that: ain] = in] + Ab(o(n ~ A] + din + 1) + 42(61n — 2] + ain +2) 312 Condition 2 yields one of the values for the amplitude constants of condition 1. Since z{n] + jn ~ 3) = a[n - 3] = 5 for n = 2, we know z{-1} = 5, and also that z{1] = 2[-1] = 5. Knowing both these values tells us that Ay = 20. For condition 3, we perform a circular convolution between 2{((n-3))s] and w[n], a three-point sequence. For this case, linear convolution is the same as circular convolution since N = 8 > 6+3~1. ‘We know 2{((n ~3))e] = zip ~ 3}, and convolving this with w[n] from Fig P8.35-1 gives: Aa +15 2 want , +13 S42 a ue For n= 2, “3-2 -1 0 1 2 38 8.36. We have the finite-length sequence: {nj = 26(n] + 6fn — 1] + 6[n — 3} (i) Suppose we perform the 5-pt DFT: X[K =24+WE+W3, OSES where WE = est (ii) Now, we square the DFT of z[n}: xk = 2426s +20 + OWE + WE WS +IW2 + WE + WS, OSkSS yf) Using the fact W3* = WP = Land Wi = WE Yik) = 3+ 5034+ W2 e4W3t +S, OSE SS 313 (a) By inspection, ln} = 35[n] + 54[n 1] + din —2]+ 450-3] +d[n-4, OAS (b) This procedure performs the autocorrelation of a real sequence. Using the properties of the DFT, ‘an alternative method may be achieved with convolution: fe} = IDFT{X7(K)} = af] « stn) ‘The IDFT and DFT suggest that the convolution is circular. Hence, to ensure there is no aliasing, the size of the DFT must be N > 2M - 1 where M is the length of z[n]. Since M = 3,N > 5. 8.37. (3) nl, OSn<(N-1) sila] = 2-1 xe GfK] = Faw -1-nJWHY, Ok (N~1) Gi = Fawn ¥ = WHS aimlgt Using WE = e-22TH WROD a Wyse glaeh/n) wa aft] = cS sonjttarinrm ao AON XC ecatank/N) ith Gute) (b) gol] =(-1)*z[n], On <(N-1) sex Gik] = Syrenywer, Ose S(N~1) = = SF aawiwe wa = FS aawgrt = Xe eare Hn Gall = Halk] ait © @ © Gale] Galk} fn), O snlwite = X(e*Ylomteran) HelAl zn, Osns(w-1) sinl= 40, N N constraints which can only be satisfied if z{n] = 0. Specifically, we want X(o#) = DFTu{a{n)} = 0. Since M > N, there is no aliasing and [x] can be expressed as ato) = 2S XAT = af 1. MS ia Where X'A] is the M-point DFT of z{n}, since X{k] = 0, we thus conclude that zn] = 0, and therefore the answer is NO. (b) Here, we only need to make sure that when timealiased to M samples, z[n] is all zeros. For example, let {n= dfn} 5{n — 2] then, Xe) a1, Let M = 2, then we have X(o%F*) = 1-1-0 xX(#) = 1-1-0 8.49. z2{n} is 2s[n] time aliased to have only 1V samples. Since Lys, Syrate) We get: 8.50. (a) Let n= O,.n47, we can write 2[n] as zi) = 1 elt pects) — Lee eos Ieee eee nies = 1+ ge ‘+508 ee ata S Je + doe + soot — 20 — 20h) = FL mee & We thus get the following plot for Xa[#}: 323 Kalk] o 12 [34 [567 S2 &} (b) Now let n = 0,...,15, we can write vin] as: vin) = 14 Lette perttny — Heng cote) = 1a testi 4 Lotinte Jotias _ temo = 1s fetes Lone Lote Le = E64 Bet 4 Belin — geltint — gestimiy ‘We thus get the following plot for Vie[k}: © Mel =X()Loge OSE SIS where X(e) is the Fourier transform of 2{n). Note that zn] can be expressed as: a{n) = vb ‘where: fr) 324 and u{n] is an eight-point rectangular window. X,o{él| will therefore have as its even points the sequence |Xa[k]| “The odd points will correspond to the bandlimited interpolation between the even-point samples. The values that we can find ‘exactly by inspection are thus: VXsofkll = 1Xalk/2)1 = 0,24) 14. : reltlt 0123 45 67 8 9 1011 1213 14 15 8.51. We wish to verify the identity of Ba. (8.7): i 1, ‘mN,m: integer 1 gaia f ay (eis (e) Fork kun L simtin a a ‘Since m and n are integers; Wl 21 for k= So, LS kin is Ly okie 2 Ly Noe NS Sart e en (b) ‘This closed form solution is indeterminate for ! = mN only. For the case when { = miV, we use L’Hépital’s Rule to find: {c) For the case when k- 1 xf mN: at + a erin od = 0 Note that the denominator is nonzero, while the numerator will always be zero for k —r # mN. 8.52. (a) We know from Eq. (8:11) tbat if [1] = 2{n — m], we have: Xi) = Tain - mw = If we substitute r =n — m into this equation, we get: Nokon te) = wim aan oe = war DD atrlwxr (b) We can decompose the summation from part (a) into lel = war [= awe “= sewe| Using the fact that Z{r] and WA" are periodic with period N: Sawr- Etre mmr Substituting ¢= 4.7 = Not LD arwy= Haws Nm (c) Using the result from part (b): ei Nome am = wie[ Sawer anwy] Bn a Pm = wae Dale 2 = WEPXIR) Hence, if #[n] = Z{n - m), then X,e] = WA" X{A]- 8.53. (a) 1. The DFS of 2"[n] is given by: Sewwy - (Seems) = K-k 326 2. The DFS of 3" mos Letra = 3. The DFS of Re(3{n}}: = x Fable stele = 5 (m+ X-#) 4. The DFS of je = Ad Siegel = 3 (e-F 4) (b) Consider 3{n} real 1 = Rolk) edie = SHAR From part (a), if [a] is real, DFS {3{n]) = DFS (3"[al} DFS {z[-n]} = DFS (2"[-n}} $0, Xk) = XK gem = eR re(fiay = SEACH = Re(Xi-H) (ie. the real part of X{4] is even.) 2 Im{Xtl) (e., the imaginary part of X(t] is odd.) 3. (eet = Vem = Vet-H XA] = RK 307 (Le, the magnitude of X[k] is even) 4 ay = we (2G) Re{ XIE} mi X | {eA ee (ee) = ~chi-#] (ie, the angle of X{k] is odd.) 8.54. 1. Let z{n] (0 N/2: zialn] = 2y[njeH"/) = 0 zaufa) = ay[nje Hr) = 0 then the modified circular convolution is equivalent to the modified linear convolution: unelr] Qeaute] = sac] + zaaeln} (ie. no aliasing occurs.) tain) = xyaln]* zen(n} He = Donadleewin- 2 a Thus, wea slo] = 0) 5 aseleain renee Merson/Mlnne B wea = Sastrfealn—eferairamnennnd = bead Not zaln] = SO salrlzaln ~ ren8/H0-9) = yf] « an] ms 8.62. (a) We wish to compute z[n] @pain] + let af] = sf, OSn<31 afr] = zin+32}, 0 ( ease wee) = $0(2)"” gin tno) £0) ‘The iter is UR. io) 1 1 Gthl= gigs poem OSES Uro—1) ‘The impulse response, gjn], is just Ain] time-aliased by 4ng points: (+d wt ane (343+ a+ ) an =} (ba ds hgen)atemanga (bo gdp e~) area 4 + get ate] Be, 8 4 2 Tela + Fedle — nol + Sed ~ Bn] + ZeBln ~ Sno] {€) Indeed, CEI =1, 0 Zln|Hw[-nk} wea wet = Cylnok] > Sf) wink] + Sw{nok] Yo en] {—nk] = = = Culrok] Lak] + Swlnok|Xx{-F] ‘Where we have used the periodicity of Hy{nk] and 2{n). (e) We have: DHT{as(n))} = Xuslk) = " 4 DariS alma -m))w)} Ee 1 [m)z2[((n - m))w))H wink] Sate Sane = mit SE smarcetn —m))x]} E simirentcntna + Xwral((—A)) w]Sw[rok}) (using PS.65-7) = sale) X al b1C an + =a (rl Xnal(-AD Sno) Set nll alm + Sa (rn) X ual (Ay) ny Eel al X ull] + Xanl (Howl) + FX nell (A) eal] ~ Xeal((H ed 3Xn (Xara lk] + Xaral((—K))w)) + FXml(Honl Xa ~ Xual((-*)x)) ‘This is the desired'convolution property. (f) Since the DPT of z{n] is given by: wat XH = SD alae = Qekny ay _2tkn = 2{n](cos(- =) + jsin(-*)) 9 yet =X sien 2 ~ samy xa = SE shieewtenl ~ §Swikn}) ther: wa ‘ ZL rrleowten) = 5A + X1(-E)w)) = Do slsw ten] = = Z(1H)— XU(-AmD) We thus gev mt Xulk] = YO afn)(Cwlen| + Swlhn}) = POte + xB) - Boel ~ X{(-#)s}) G- daw G+ xen ‘This allows us to obtain Xx(A] from X[k}. (@) We have: wo Xnlk] = YO 2hn|(Crlen] + Sylen]) = ‘Therefore: wea 7 y ainlOwlkn] = 5 (Xwik] + Xul((-))w}) ra Ystelswlin) = 3O%ulH) ~ Xarl(H)s) ‘We thus get 2 Xi) = {mje iMiiM [n](Cr [en] ~ 5 Sn [kn}) = 3a) + Xal((—H)))) - 5 5 (Xu) — Xnl((-#)e)) = h- Pratt G+ DxaK(#m1 This allows us to obtain X{4] from X{k}. 8.66. (a) The DTFT is given by: Ke) = X() + X(N (CR) + ee) ‘The DET is just samples of the DIFT: R= Oy = X(N + (-1)*) Therefore: ayy = (21H) tome (b) The original system computes the following: [XE], keven XH = { 0, kod We thus want X(HGIA = 2x(RIA(2} k= 0.,N-1 GIk) = 2H 12k) Wot = 2 Aine we k=0,.,N=1 = ate] = 2h) + afa-+ a) ‘System A time aliases and multiplies by 2 For system B, we need: eee ut wf], O X|H}2 000 29) and xn] = aif) for n= O.LyonN =I OsnsN-1 1 8 kn = yal art » wa = fbx" H cos where aft] is given by: Ly ke 7 apje{} > FeOadw a1 1, isken-2 ‘This completes the derivation 8.69. fn] = 222) therefore, for k= 0,2, 1: ViE= dete) + Xalk-+ ND. Using equation (8,168), we have: Vil = Z0Gt+ alk+ OF Re X[hleFB) + SHR Rel Xk + Nes SEA) OP Rel Ke) + SESH Rel AUR NJeHH HF} eff Re( X({kJe AB} + jehth Re{—jX[k + NjeB) = AH (Ref X[hle PH} + jIm{ X[k + Ne}, 343 Using the above expression, we get: DRefe SMV IRI} = 2Refe FH eH (Re{ X|kJe~PH} + jIm{X[k + Me })) 2Re(X{[kjev##) X[k} where we used equation (8.170). Furthermore, we have: na 2Re{e VR} = 2RefewP8 J vfnJe7F*} S = ane opjew ered oe = 2D Refuinjens Hint) a mea = 2 vin) cos EE n+ 3 }y rn +), a by vin] cos and 2Re{e PVT} = 2Re{X{RleH} = ane Sale) = anet sever = 2 maiko e 2 shea, From the results above, we conclude, for k = 0,1,...N 1: X[k] = 2Re{e MVEA} wo -25 eo H+, = Ba an) cost On +1), ). 8.70. Substituting the expression for X[k] from equation (8.174) into equation (8.175), we get: ala) = sy Yo Xalkjerrnrem & wa amet = Fpeertls EE xeqensonenenan 3 yap —someonennen i aos mt ae = horeas SE xayenanaam "esp gestern) & ei HCE es te = Fete FE xepenonsn 5 xaynerninvan, me im = Becees B regenoniem 5 F xayyemamennem : & me = ios aepyenonsvon gemanivamy | ced S yay zk(2n +1), = Ral Ye xa AED Furthermore in] = zafn) for n =0,1,...N-1 = LAX coo HERD) OxnsN- where (fi) is given by: ‘This completes the derivation. 8.71. First we derive Parseval’s theorem for the DFT. Let 2[n} be an WV point sequence and define yn] as follows: ute] = =f" ((-"))w}- Using the properties of the DFT, we have: ‘Y[R) = XTX) = XP. Note that: (0) = SO tafe? and using the DFT synthesis equation, we get: et wol= MH Parseval’s Theorem for the DFT is therefore: x fain]? = mes Dwr. (2) Nove that: wa moa Dew = Yael and, using equation (8.164): anos oa : SO UP = 2 1x1? = xO - Lv — a. & & Using the DFT properties: Liar? = anes Pala? im ‘and, using equation (8.161): ayes ya D beat)? = 2 fafn}? — laf)? — Jal — UP Ed & We thus conclude 1g rouge — xe? — |W — ay) = 2° dele = lon? ~ lel — HP ap ra? OE NF —xM LW =P) = 2 Pe — ei (b) Using equation (8.171), oe a Dixie? = Fatal. = = Note that, using equation (8.167): as wat D Pata)? = 2 TP - XO}, & ms and, using equation (8.166): my wat SS tealnl? = 2 5 keine ed = Using the DPT properties i DS babel? = ge alae. ‘We thus conclude: 1 ut wa gy? D XU? - LX) = 2 5° tain. Fd = Solutions — Chapter 9 Computation of the Discrete-Time Fourier Transform 9.1, There are several passible approaches to this problem. Two are presented below. Solution #1: Use the program to compute the DFT of X{k}, yielding the sequence g{n]. Not fn} = > xIRe sao & ain} = Fal((N = na] .N — 1. We demonstrate that this solution produces the inverse DFT below. = Fall -mye) 1 Mat = FL rime eo = LS in = 2S xem NES Solution #2: Take the complex conjugate of X{k}, and then compute its DFT using the program, yielding the sequence fin}. ey xeon im fin] = Thea, compute / ain) = SS'tn) We demonstrate that tis solution produces the inverse DFT below ae) = Zs") a2 FS xtmerninne NS 9.2. (a) The “gain” along the emphasized path is -W, (b) In general, there is only one path between each input sample and each output sample (©) 2{0) 10 X{2}: The gain is 1 z[1) to X(2): The gain is Wh. [2] to X[2): The gain is -W 7/3] to X[2): The gain is WE WS [6] to X[2): The gain is W = 1. 2[5] 0 X[2) The gain is WW} = Wi, 2/6) to X(2|: The gain is -WEW2 = [7] to X[2): The gain is -WEWRWR Now Wh Wy, as in Part (a) x = HO) + 2[U)W2 + 2[2]$ + [510 + alae + 25]H2? + x16)? + a(7Wet -3f0] + [0]? + [2](-1) + 213(—-W2) + 21401) + 2f6)WF + 2{6)(-1) + 2[7](-W3) X2} we Each input sample contribates the proper amount to the output DFT sample. 9.8. (a) The input should be placed into Al] in bit-reversed order. Alo) = {0} AQ] = 2{4} AB) = 22] Ai) = 26] Aa) = ft} Ai) = 26) ai) = 33 ata = air) ‘The output should then be extracted from Dt] in sequential order. X(K]= Dik}, k=0,...47 (b) Fizst, we find the DFT of (-Wy)" for N = 8. xi) = Demat x Sevwews 7 = Liwetrwewe Ss A sketch of Dje] wis provided below. (©) Fizst, the array Dir] is expressed in terms of C[r} Dio} = Cio} +Cl4} Di} = Ci+cpsiwe Del = Cia|+clelwe Dis} = Cis] +ciwe Di] = Cfo} - cls} Dis) = chy) cls we Dis) = cf2|~CWe Di = op)-crwe Solving this system of equations for Cr] gives Cfo] = (D{0| + Dia))/2 ou} = (Dh) + Dis) /2 (Dp2] + DI6))/2 (D)3}+ De) /2 (D{o} - Dia})/2 (Dh) - Ds) we" (Dp - Dia) we (Of - Diyws/2 A. sketch of Cl] is provided beiow 1 forr = 0,1, {VaTen Fossly Nanak Woec fond Yee! SebeneAnzan 9.4. (a) In any stage, N/2 butterfies must be computed. In the mth stage, there are 2"~* different cients. (b) Looking at figure 9.10, we notice that the coefficients are Isuge WE Dad stage: WEE Sed stage: W2.WE WEE Here we have listed the different coefficients only. The values above correspond to the impulse response Air] = Wuln) which can be generated by the recursion sin] = resin — 1) +210] Using this recursion, we only generate a sequence of length L = 21, which consists ofthe different conficients. Then, the remaining ¥ — L coeficients are found by repeating these 1 coeficients. (c) The difference equation from Part (b) is periodic, since hia) = WRaulnl I ve] has a period R= 2™. Thus, the frequency of this oscillator is met nit) 352 9.5. Multiplying out the terms, we find that (A~B)D+(C- D)A= AD ~ BD + AC ~ AD = AC- BD =X (A~B)D+(C+D)B = AD~BD+BC+BD=AD+BC=¥ ‘Thus, the algorithm is veried 9.6. Answer 9 Decimation in Time: ‘The figure is the basic butterfly with r = 2. Decimation in Frequency: The figure is the end of one butterfly and the start of a second with r 9.7, The figure corresponds to the flow graph of a Second-order recursive system implementing Goertzel's algorithan. This system finds X{k] for k = 7, which corresponds to a frequency of elie = 32 ~ 16 9.8. This is an application of the causal version of the chirp transform with = 20) The length of z{n} = 10 The number of desired samples ‘The starting frequency = HE The frequency spacing between samples Preae " oe We therefore have sin-+ 19] =X), a= for un = uy nw or te), vin} for wy = uo + (n~ 19) Aw. 9.9. In this problem, we are using butterfly flow graphé to compute a DFT. These computations are done in place, in an array of registers. An example flow graph for a N = 8, (or v = log, 8 = 3), decimation-in- time DFT is provided below. an) 42) Ne) AS) AB) (a) The difference between ¢; and fo can be found by using the figure above. For example, in the first stage, the array elements A[é) and A[S] comprise a butterfly. Thus, ¢ — fo = 5~4 = 1. This difference of 1 holds for all the other butterfies in the first stage. Looking at the other stages, we find 2 &-be 2 &-=2 stagem=3: &-=4 From this we find that the difference, in general, is Q-G=P, form=1...v (b) Again looking at the figure, we notice that for stage 1, there are 4 butterflies with the same twiddle factor. The lo for these butterflies are 0,2, 4, and 6, which we see differ by 2. For stage 2, there are ‘two butterfies with the same twiddle factor. Consider the butterflies with the W? twiddle factor. ‘The tg for these two butterflies are 0 and 4, which differ by 4. Note that in the last stage, there are no butterfies with the same twiddle factor, as the four twiddle factors are unique. Thus, we found stage m= 1: Aly =2 stage m= 2: Aly =4 stage m= 3: n/a From this, we can generalize the result Blo=2", forma 4y...¥m1 354 9.10. This is an application of the causal version of the chirp transform with =5 = Psxez Letting W = e~74* we must have ‘The new sample order is 0, 8 4, 12, 2, 10, 6, 14,1, 9, 5, 13, 3, 11,7, 15. 9.12. False. It is possible by rearranging the order in which the nodes appear in the signal flow graph. = 12 The length of z(n] ‘The number of desired samples ‘The starting frequency = Hf The distance in frequency between samples rio] 9.11, Reversing the bits (denoted by -» ) gives nS nnnae “= b= 0001 010 011 = 0100 101 = 00 on 1000 1001 1010 1011 1100 101 a0 wa beaudgggderyedcugeggge ‘0000 1000 0100 1100 0010 1010 ono = a0 ‘0001 1001 o101 01 011 1011 our nu However, the computation cannot be carried out in-place. 9.13. Only the m = 1 stage will have this form. No other stage of a N = 16 radix-2 decimation-in-frequency FFT will have a W3¢ term raised to an odd power. 9.14. The possible values of r for each of the four stages are m=, m=2, m=3, ma4, r=0 r=0,4 7 =0,2,4,6 7 =0,1,2,3,4,5,6,7 nyt cess 9.15. Plugging in some values of N for the two programs, we find 985 N Program A Program B 2 4 8 16 32 o 4 Ey 16 80 4 240 256 640 1024 1600 4096 3840 ‘Thus, we see that a sequence with length NV = 64 is the shortest sequence for which Program B runs faster than Program A. 9.16. The possible values for r for each of the four stages are m=, r=0 r=04 17 =0,2,4,6 m=4, 7=0,1,2,3,4,5,6,7 where Ws, is the twiddle factor for each stage. Since the particular butterfly shown has r = 2, the stages which have this butterfly are madd 9.17. The FFT is a decimation-in-time algorithm, since the decimation-in-frequency algorithm has only W32 terms in the last stage. 9.18. If the Ny = 1021 point DFT was calculated using the convolution sum directly it would take Nf multiplications. If the Nz = 1024 point DFT was calculated using the FFT it would take Nalog, Nz ‘multiplications. Assuming that the nuraber of multiplications is proportional to the calculation time the ratio of the two times is 30217 Nt ———— TO? log, 1024 Nalog Na ‘which would explain the results. = 101.8 = 100 9.19, X(e*/) corresponds to the k = 3 index of a length N = 8 DFT. Using the flow graph of the second-order recursive system for Goertzel’s algorithm, 2eos FR) 08 (2) i oe Tea +i uy 356 9.20. First, we derive a relationship between the X:(e) and X(eM) using the shift and time reversal properties of the DTFT. ails) = 2{92—n] Ki) =X (ee Looking at the figure we see that calculating y{32] is just an application of the Goertzel algorithm with k=7 and N = 32. Therefore, v2] = Xi{7] = Keg = XM H = Xe) iG = X(t) Note that if we put 2{n} through the system directly, we would be evaluating X(z) at the conjugate location on the unit circle, ie, at w= +72/16. 9.21, (a) Assume z{n] = 0, forn <0 and n> N~1. From the figure, we see that Starting with n= ef) wl] val] wl) val} + Wheyein — 1) and iterating this recursive equation, we find (0) all] + Whe(0) 212) + Whol] + W32(0) a{N] + Wha[ ~ 1) +--+ WEY sin) 4 WEN 20) rn 0+ Swag a (b) Using the figure, we find the system function Ya(z). mot D watt = a Sawn S XIN 4] wt? Me) = Xap aat 1- Wats = ATi a WE) a X(z) T-Weet ‘Therefore, ys{n] = zin] + Whyaln ~ 1]. This is the same difference equation as in part (a). 9.22. The flow graph for 16 point radix-2 decimation-in-time FFT algorithm is shown below. 7 7 tr ‘To determine the number of real multiplications and additions required to implement the flow graph, 358 consider the number of real multiplications and additions introduced by each of the coeficients W> Wit: 0 real multiplications + 0 real additions (Wh =1) + 0 real multiplications + 0 real additions (Wi(a + 36) = b- 3) 2 real multiplications +2 real additions (Wix(a + jb) = “(a +8) + j%8(b~a)) Wi: 2veal multiplications +2 real additions similarly Wig: 4 real multiplications +2 real additions Wig: 4 real multiplications +2 real additions Wig: 4 real mattiplications +2 real additions Wie: 4 real multiplications + 2 real additions ‘The contribution ofall the W's on the flow graph is 28 real multiplications and 20 real additioas. The butterflies contribute 0 real multiplications and 32 real additions per stage Since there are four stages, the butterfies contribute 0 real multiplications and 128 real additions. In total, 28 real meltiplications and 148 real additions are required to implement the flow graph. 9.23. (a) Setting up the buttrdy’s system of equation ip matrix form gives [; 1 Ee )- [22] We We | | Xmiial | * | Xmfal [iF] Xm-sla} me] -[} wi" [2] Xmaalel | 14-365" | | Xba) which is consistent with Figure P9.6-2. (b) The flow graph appears below. Solving for {c) The modification is made by removing all factors of 1/2, changing all Wis" to Wj, and relabeling the input and the output, as shown in the flow graph below, (4) Yes. In general, for each decimation-in-time FFT algorithm there existe a decimation-in-frequency FFT algorithm that corresponds to interchanging the input and output and reversing the direction of all the arrows in the flow graph. 360 9.24. (o) Using the figure, it is observed that each output ¥{A] is scaled version of X(k}. The scaling factor is Wk], which is found to be k wie) =0123 45 67 =lGCCECEEE Using this W(k}, Yk] = W(k)X(k}. (©) Wk} = GAH, where pik] = the number of ones in the binary representation of index k. (6) A procedure for finding 3[n] is as follows. step 1: Form W"(k] = 1/W{k] : step 2: Take the inverse DFT of W’[k], yielding w'fn} step 3: Let 2[n] be the circular convolution of zn} and w'fn} If 2{n] is input to the modified FFT algorithm, then the output will be X/A], as shown below. YE] = WIXI) wie) ‘X{k 9.25. Let 2, be the z-plane locations of the 25 points uniformly spaced on an arc of a circle of radius 0.5 from 1/6 to 2n/3. Then wy = OSH, = 0,1,...24 where & 4 ~ = GG) - a From the definition of the z-transform, neo Xa)= Plugging in zy, and setting W = 7/4, X(ax) = So a{nj(o.syre rw = ‘This is similar to the expression for Xe) using the chirp transform algorithm. The oily difference is the (0.5)"™ term. Setting : sin] = a{n(os)-rereenwn re : ma X(ay) = WEP olny (tn = ‘using the result of the chirp transform algorithm. A procedure for computing X(z) at the points zs is thea ‘+ Multiply the sequence x{n] by the sequence (0.5)-*e-#e"W""/2 to form gln. © Convolve g{n] with the sequence W-""/2, + Multiply this result by the sequence W/? to form X (au) AA block diagram of this system appears below. in) oaeCEay te] (sy e Ww" 9.26. aes YE) = SS yfnyenstdome = wa aoa =F eter sce main 5 5 estrmietgcstoeimiran = a wes rt = Soersted mint gc stan sma iave 4 SF erate NUN g-alae/MUA/BIL4N) = = ea ee = Secstermet ecatzermiarain g set eso rm anieny stan myaiay sen eat mF ecsterint estan mt rain 4 aye 5 autem? geateerm/2H = So ecserte ecstzerainran 4 Cyt SS erst atari S J we 14-2) Ses stzerntzan 2X[k/2}, keven 0, oad Thus, eM GS IE, hg vine {VRE m OHI, oven 6, boda 9.27, Let fn] =

zines & aR wre vray Open ea ayajerannrseninn oma 2 cate = = 0, keven Solution #2: Alternatively, we can use the circular shift property of the DFT to find Xi) = x [Re HH EXE] = CD xi When b is even, we have X{k] = -X(t] which can only be tru if X[k] = 0 (b) Evaluating the DPT at the odd-indexed samples gives us wa X21] = afplenstvonects tne pot nea = OS sine teemerszeterinrs 4 FF afnje stoner saeeoin = nop wpa = DET {ale 2") 4S all (N/2y)e PAE MAIN ean = Np = DET yp fein 2) 4 (ayia) Saleen i DPT {2z[ner2"™4} for k= 0,...,N/2~1. Thus, we can compute the odd-indexed DFT values using one 1V/2 point DFT plus a small amount of extra computation. 19.30. (a) Note that we can write the even-indexed values of X{A] as X[2K] for & = 0,...,(N/2) — 1. From the definition of the DFT, we find xo Sinem "& Ka +O ain + (N/a = wan =D Gi) tzins (wae ron = YU Thus, the algorithm produces the desired results. (b) Taking the M-point DFT ¥(k], we find (2k) 0 Injen ivr Yi) = SS ane rage arin as = Fans rage tmertongacsonae 26 Let l= n+eM. This gives Yi) = allem = X(t) ‘Thus, the result from Part (a) is a special case of this result if we let M = N/2. In Part (a), there are only two r term for which y{n] is nonzero in the range n = 0,...,(N/2)~1 (©) We can write the odd-indexed values of X[k] as X[2k+ 1] for k = 0,...,(N/2)~1. From the definition of the DFT, we find Kitab 1] = SE afajeseeenns wea =e = waa wae 2 OR pcan estate Sa 4 ype Aa M mM sina) = = oa S [extol - sin + (/2y)eF¥°] erst» ao Jen g=2e(28 n/N " sin = (={n] — 2fn + (N/2)))e“5*/™)", OS < (N/2)-1 0, otherwise ‘Then ¥[A] = X[2k +1]. Thus, The algorithm for computing the odd-indexed DPT values is as follows. ‘step 1: Form the sequence z esti, On i: wie{é ain + (N/2)) osnswin)-1 step 2: Compute the N/2 point DFT of yin), yielding the sequence ¥{k). step 3: The odd-indexed values of X{é] are then X{k] = ¥{(é - 1)/2), k 9.81. (a) Since 2{n] is real, z(n] = 2*[n}, and X[k] is conjugate symmetric. xik (= sijeineten) Y iJ = xX (N-K Hence, Xa{k] = Xx[N - ] and Xe[k] = —Xr{N — k]. (b) Ln Part (a) it was shown that the DFT of a real sequence z{n] consists ofa real part that has even symmetry, and an imaginary part that bas odd symmetry. We use this fact in the DFT of the sequence g{n] below. GIR) = Xalk] + 5%alA] (Xizalél + iX:or(#)) + j(Xaealk] + jXa0r{k]) Xizalk] — Xzor{k] +3 (Xroslk] + Xazalel) Se eS ea ; real part ‘imaginary part In these expressions, the subscripts "E” and "O” denote even and odd symmetry, respectively, and the subscripts "R” and "I" denote real and imaginary parts, respectively. ‘Therefore, the even and real part of G{k] is Gealk] = Xieale] the odd and real part of G[&] is Gonlk] = ~Xaorl#] ‘the even and imaginary part of G[k] is Gerlk] = Xazalt) and the odd and imaginary part of G[A] is Gorlk) = Xrorlé} Having established these relationships, it is easy to come up with expressions for X,{k] and X2[A]. Xilk] = Xizalk] +5X.or14] Gealk) + iGorlk| Kalk] = Xaenlk] + iXr0r14) = Geilk] - iGorlk] (©) Au W = 2 point FFT requires (N/2) log, N complex multiplications and N log, N complex addi- tions. This is equivalent to 2N log, NV’ real multiplications and 31 log, N real additions. (@) The two N-point FFTs, Xi[A] and X[k}, require a total of AN logy N real multiplications and EN log, N real additions. (i) Computing the N-point FFT, Gf], requires 2 log, N real multiplications and 3N logs N real additions. Then, the computation of Gea{k}, Gerlk}. Gor{k], and Gon|k] from GIA] requires approximately 4N real multiplications and 4 real additions. Then, the formation of X;(k] and Xa{k} from Genlé], Ger{é], Gor(k}, and Goa{k] requires no real additions or multiplications. So this technique requires a total of approximately 2N log, N + 4N real multiplications and 3N log, NV + 4N real additions. (@) Starting with wot Xi] = So eine ener = ‘and separating z[n] into its even and odd numbered parts, we get X= SD alnlePM eT alpen nea aH Subsituting n = 2¢ for n even, and n = 26+1 for nod, gives evs ope Xi = SS eget Satara ye eenaenr & r ops ome aS age ete 9 etn sag g yersamare Ale) +H Ate, ockcd ilk (N/2)] PO GIR (N/D), SRN (e) The algorithm is then step 1: Form the sequence g[n] = 2[2n} + jz[2n-+ 1], which has length N/2. step 2: Compute G[t], the N/2 point DFT of gin} step 3: Separate G[E] into the four parts, for k= 1,...,(N/2)—1 Gonlk] = }Gxlhl- Gal(n/2)~ 4) Graft] = (Galt + Gal(/2) - #) Gorlt] = HGz18)— @rf(0/2)— 4) Geilk] = Hous) + G11) -*) ‘which each have length N/2. step 4: Form Xf] = Gealk] +3Gorl#] Xi'k] =e" Geilk] - Gorlk)) ‘which each have length N/2. step 5: Then, form 7 X= GFA, sk T step 6: Finally, form xwexww-g Eskew ‘Adding up the computational requirements for each step of the algorithm gives (approximately) step 1: 0 real multiplications and 0 real additions. step 2: 2M og, ¥ real multiplications and 3% log, Mf real additions. step S: 2N real multiplications and 2NV real additions. step 4: 2N real multiplications and NV real additions. step 5: 0 real multiplications and WV real additions. step 6: 0 real multiplications and 0 real additions. In total, approximately N log, & + 4N real moltiplications and }1V log, 4 + 4NN real additions are required by this technique, ‘The number of real multiplications and real additions required if X'] is computed using one N- point FFT computation with the imaginary part set to zero is 2/VJog, N real multiplications and 3N log, N real additions. 9.32. (a) The length of the sequence is L+ P—1. (b) In evaluating y(n} using the convolution sum, each nonzero value of h(n} is multiplied once with every nonzero value of 2{n). This can be seen graphically using the fp and slide view of convolution. ‘The total number of real multiplies is therefore LP. (€) To compute yfn] = Alp] + 2{n] using the DFT, we use the procedure described below. ‘step 1: Compute N point DFTs of 2(n] and hin). ‘step 2: Multiply them together to get Y(t] = EUe)X{R- step 3: Compute the inverse DFT to get yr] ‘Since y[n} has length L+ P —1, N must be greater than or equal to L + P —1 so the circular ‘convolution implied by step 2 is equivalent to linear convolution. 367 (4) For these signals, NV i large enough so that circular convolution of zn] ane ‘fn) and the linear con- Felstce of [a] cad hin} produce the same result, Counting the numberof complex multiplications for the procedure in part (b) we get DFT of z[n} (N/2)l0g, N DFT of Alp} (N/2) logs (a) = XAT] N Inverse DPT of ¥{e]__(N/2) logs. N (BN/2) log: N +N Since there are 4 real melipictions for every complex multiplication we see that the procedare SUES GnvIog, N+ 4N real multiplications. Using the answer from part (2), we see thatthe direct method requires (N/2)(N/2) = N?/4 real multiplications. “The following table shows thatthe smallest N= 2 for which the FFT method requires fewer ‘multiplications than the direct method is 256. (Gy [Direct Method | PFT method 2 1 20 4 4 a 8 16 176 16 a 8 | __286 1088 ea | __3024 2560 rae] 4006 3888 256 | __163e4 13312 9.38. (a) For each L point section, P ~ 1 samples are discarded, leaving — P + 1 output samples. The complex maltiplications are: L point FFT of input: (L/2) log, L = ¥2"/2 Multiplication of filter and section DFT: L= 2" L point inverse FFT: (L/2)log, £ = v2" /2 ‘Total per section: 2+) ‘Therefore, Complex Multipications __2*(v +1) —~Outpat Sample F-P+i Note we assume here that Hk} has been precalculated. (6) The figure below plots the numberof complex multiplications per sample vers For v = 12, the aumber of multiplies per sample reaches a minimum of 14.8. Tn comparison, direct evaluation aoe eae olution sum woule require 500 complex multiplications per output sample a BB 3 o ‘Mutiptications per output sample wo és 1 12 «139 «14 «18 16 17 18 19 20 v Although » = 9 is the frst valid choice for overlap-tave method, itis not plotted since the values so large (in the bundreds) i would obscure the graph. © vet ART Thus, for P = 500 the direct method will be more efficient for v > 500. 2(v4+1) (a) We want rw +1) Pris? Plugging in P = L/2 = 2*~* gives 204) os Fare St ‘As seen in the table below, the FFT will require fewer complex multiplications than the direct method when v = 5 or P = 2 = 16. 9.34. This problem asks that’ we find eight equally spaced inverse DFT coefficients using the chirp transform algorithm. The book derives the algorithm for the forward DFT. However, with some minor tweaking, it is easy to formulate an inverse DFT. First, we start with the inverse DFT relation ain = B5E xqgemew & nd = A ape Next, we define An = 1 Re = no +tAn ++17 Substituting this into the equation above gives sind = 3,5 xypjteonmsetanan Defining we find ae 1S eon 4 Using the relation tea He +e ~~ 07 re get reo {n= 7 SE Xeon Aye alee im Let Gl] = X{k]ePrrehlm ye Then, a= forte ($ omwee) From this equation, itis clear that the inverse DFT cam be computed using the chirp transform algorithm. All we need to do is replace n by k, change the sign of each of the exporential terms, and divide by a factor of N. Therefore, mk] = eee yee mak] = Wo? = tween au] = Ew’ Using this system with a = 1020, and ¢ = 0,...,7 will result ina sequence yjn which will contain the desired samples, waere yl0] = 21020) yp] = [102] vi2]_ = (1022) vid} = [1023] wa] = 210) vi] = [i] vf] = 2/2) vit] = ={3) 370 9.35. First note that ea { iegnginem, 0, otherwise _ fan+ity, o a 256-pt = ufo}-ule- 128) Multiply’ yaa FFT-1 MIF] 56.54 ‘The FFT size was chosen as the next power of 2 higher than the length of the linear convolution. This insures the circular convolution implied by multiplying DFTs corresponds to linear convolution as well. Now = Ne +My-1 = 128464 = 191 Nepr = 256 9.36. (a) The fow graph of a decimation-in-frequency radix-2 FFT algorithm for N = 16 is shown below. : Hy TAZ = MINTO nas 1 Ea ai ase = walle XXX Se = (b) The pruned flow graph is shown below. x0) xe) x ac xe x10) x6) x) x) x8) x) xa os) (6) The pruned butterflies can be used in (v ~ ) stages. For simplicity, assume that 1/2 complex rmultiplies are required in each unpruned stage. Counting all Wf; terms gives ‘Number of multiplications “= (Unpruned multiplications) + (Pruned multiplications) Se a 9.37. (a) Starting with the equation Flr) = 2(2n-+ 1] - 2f2n=1]+Q, 2=0,1,..-5 where 373 eo ny Lath we note that 2{2n+ 1] = Afr), and 2{2n ~ 1] = An ~ 2] for n = 0,1,..., 4 — 1. We then get ho) = nfo] - bln — 1] +9, REO Pan. ‘Taking the N/2 point DPT of both sides gives FIR) = a BUR] — Why HTK] +Q = Wit = AUR wa + F088) Fo) = Q 1 Zz vole le im? [20+] n IME : E u 3 tel + WA) G0] + #0] = Go} + Fo} = GIN/2]+ Wy? HIN/2] = G0) + wi" AO) = G0} — H(0) = Gio} - Flo} iE = area. — we) + Loe] So Therefore, XR) (0) X{N/2] (©) The equation, for k #0 becomes FIR) = HOW; = AURA CW" — WH) 374 9.38. Fi] 20 Ewa WE Therefore, X(t) = G+ wie 2 Fi = one re = oj 27H OU 3 omk IY Clearly, we need to compute X[0] and X[N/2] with a separate formula since the sin(2rk/N) = 0 for k = 0 and k = N/2. (@) For each stage of the FFT, the equations X10) = GIO) + FIo) X{N/2] = G[0]- F{o] ‘require 2 real additions each, since the values Go] and F{o] may be complex. We therefore require a total of 4 real additions to implement these two equations per stage. For a single stage, the equation X= Fi) Hl ~ 33 eae) requires (N - 2)/2 multiplications of the purely imaginary “twiddle factor” terms by the complex coefficents of F[k] for k #0,1V/2. The number of multiplications were halved using the symmetry sin(2r(k + N/2)/N) = ~ sin(2rk/N) and the fact that F[k] is periodic with period N/2. Since ‘multiplying a complex number by a purely imaginary number takes 2 real multiplies, we see that the equation requires a total of (N — 2) real multiplies per stage. We also need (N — 2) complex additions to add the G{k] and modified F{k] terms for k 4 0,.N/2. Since a complex addition requires two real additions, we see that the equation takes a total of 2(N ~ 2) real additions per stage. Purting this all together with the fact that there are log, N stages gives us the totals Real Multiplications = (N -2)log,N Real Additions = 2Nlog, N R#ON/2 Note that this is approximately half the computation of that of the standard FFT. (@) The division by sin(2rk/N) for k near 0 and N/2 can cause X[k] to get quite large at these values of k. Imagine a signal 2; n}, and signal z2[n} formed from z,{n] by adding # small amount of white noise. Using this FFT algorithm, the two FFTs X,(é] and X[k] can vary greatly at such values of k. fa) wea xi) = stewie = Oat So (cinta + etn + ewrawgtenr™) & was = SD Glad tzins (w/a wa m= 375 In the derivation above, we used the fact that WAN = 1. Since WH" = WA, X[2k) has been expressed as an N/2 point DFT of the sequence 2[n} + 2{n + (N/2)], "= 0,2,-..,(/2)~ 1. ) x Xe+y = So aii = opt pa N/A yA /4)) = DS (cinlwawat + ain + wang ws = sin + (/2NW ROAM. an 4 (SNAG ON gHOONZO) oye = SY {eln) - ain + (07/2))) ~ slain + (N/4)) - In + N/A WRI = In the derivation above, we used the fact that Wii! = ~j, W2'/* = j, Wh? = ~1,and WEN = 1 Since W!" = WY, X|dk-+ 1] has been expressed as a N/A point DFT. But we need to maltiply the sequence (so = ain + OV/) — stn (N/A) = fo -+ (B04) by te wide for WR, O6) 1 aise asl endif b= 0,8, +6 end for Using this algorithm, the sequence a; is found to be Jo] 2)2]3] 4] sle[7] 8] 9{ 10 sft fia] a] a] af fa] 2-2-1 (c) Note that (X + j¥)(1 + ja,27#) = (X - a¥2"4) +5(¥ + a,X2~). Hence, the recursion is simply ‘multiplying by M complex numbers of the form (1+ ja2~*). These can be represented in polar form: (is jaa) = VIpe Reds eeuaa™) = Gio Multiplication of polar numbers produces a sum of the phases, a/é,. es 6= Saw = (d) Multiplication of polar numbers produces a product of the magnitudes, Ge Ow= [] vier® Fe 9.40. (a) Starting with the definition of the DFT, wa xe) = LD ainywrt = wa 13K) = afnlwg & Np ania wa = DY emits Yo ainwit+ So ainjwit = ans aK ‘Substituting m = n—N/3 into the second summation, and m = n—2N/3 into the third summation gives Np Nat X[sk] = XL alm + Nsw wht + > sim + 2nysywem 3h = = = Np DX Gla] + 2fn + N/3] + 2{n + 2N/3) WE Nas DX Gln) + zin + N/3] +2{n + 2N/3 wp, = Define the sequence 2,{n] = efn} + z[n + N/3] + 2{n +2N/3) ‘The Spoint DFT of z:fn] is X:(k] = X{S4]. (b) This part is similar to part (a). First, zn] is found. Starting again with the definition of the DFT, wos DL atewe ze wg & ma ums a sarge anges «cages = Np wis x(k) X[Bk +3] Substivuting m = n—/3 into the second summation, and m = n—2N/S into the third summation gives Nas wpe XBk+Y = So any) So afm + wyawieeNanceey = a waa +S am + an argeenenaesn En} nan an =D anya se So sims nya w yee = a mt + 1D sim ans WR WA? pet =D Gin ain + NWA? + ain + 2N/aWRN WRT = 381 Nps =D Gln t ans NSW RE tale + 2N/3|WR wR i Define the sequence zaln) = (2[n] + 2fn + N/SIW A? + xin + 2/310) ‘The 3-point DPT of za{n] is X[k] = X[34-+ 1]. Next, zs[n] is found in a similar manner. Starting with the definition of the DFT, tet x = Sewage SS crawg™ & mat aman oon SS singe Taina 4 afew? i oct X[k+ 2] 1 ‘Substituting m = n-N/3 into the second summation, and m = n-2N/3 into the third summation gives was nis isk) = SS afelwa 5 Sein + nyaqir nant? : Nps 4S aim + 2njawyennanaes) = wast nis =F sings SS sims npswnewyewan® npn =D Gin t ain + N/s]w Ah? + zn + 2N/ayWyh yw) = nes DS Gln) + zl + N/R? + sin + 2N/S]WAY WER cad Define the sequence alo) = (an) 42m + N/3]W3? + 2[n 4 203A) ‘The 3-point DFT of z3[n] is X3[k] = X[3k +2]. (c) To draw the radix-3 butterfly, it helps to derive the output of the butterfly first. From the definition of the DFT, 2 x = Datwe* Xio) = 2fo)+2(1]+ 212) Xp] = 2fo) + z(t]w2 + 2[2]W3 X{] = slo) + s(u)63 + slo] = ofo) + 0] + s[2)03 ‘The buttery for the 3 point DFT is drawn below. (@) Using the results from parts (a) and (b), the flow graph is drawn below. ca) xo) a xa xa, x5, x6) 8) A direct implementation of the 9 point DFT equation requires 9* = 81 complex multiplications. ‘The system in part (e), in coustrast, requires 4 complex multiplications for each 3 point DPT, and ‘an additional 4 from the twiddle factors, if we do not count the trival W3, multiplications. In total, the system in part (e) requires 28 complex multiplications. In general, a radix-3 FFT of a sequence ‘approzimately of length NV = 3° requires Number of complex multiplications = 3 stage Jct sag wth wae (Sao N twiddle factors Hage with twiddle factors xe x Co) x8) sles mbiestons) (aseeEm) (v stages) + factors) Replacing v with log, N, and simplifying this formula gives Number of complex multiplications = 2 log 8 — N Note that this formula for a radix-3 FFT is of the form Wlog, N. The constant multiplier, Z,is ‘significantly larger than that of a radix-2 FFT. This is because a radix-2 butterfly has no complex rikiplications, while in prt (c) we found that a radis-3 butterfy bas 4 complex multiplications Also note that this formula is an upper bound, since some of the N twiddle factors in the v— 1 stages will be trivial. However, the formula is a good estimate. yo XU = FTES Glade nate — 0) wa = MS ale fen Moet -ainent = wa = Sanja = (b) Xik+ w= bie my aie & eaten IN ales 1 EMP HRNENTYIN cP IN Qo oeN Reo tee) = ene stopateyae— nel ro = xt (c) From the figure x x) fq we define the signals 2; (k] and z[k] to be ail) = x{A)R( (a) Therefore, wl) all) = 3 slgite-4 % ke (0,....2N-1] Wefklanfk) RE {N,...,2N—1] IS ger HEM GOON EN. 2V =] rs wa Sagem bei. me .2N 1) Xhem ep, N=] x AG) ower = Sewn vary ay = SY erreanrm esa me wae => SS etm neat set garg en aa ect = Setar [= eommesmyeny'| «Berne PE emma Ma = Dern Eo eftertm/ Me Y seen [L = Deve See] = 1 seo ae = DN emnae (e) The fow graph for the system, is drawn below. ctl tat sea) ae 387 aK x iM (f) Complex multiplications: Since we are only interested in y{k] for k= N,N +1,....2N —I we do not need to calculate the complex multiplications on the output side of each parallel branch util k > N. Thus, Operation ‘Complex Multiplications al) = aE) N Poles of H(z) for k= 0,..-4N=1 NM Poles and branch exponentials of H(z) for k= N,...42N—1 NM alk] = aalklA*Te] x =3MN+2N Mo + 2M? ‘We are including the multiplication of ~1 and 1 from the first branch here for simplicity Direct evaluation requires N? = M* complex multiplications. ‘Note that since we are only interested in y(k] for k = N,N +1,...,2N—1, the initial delay of ‘2M? is unneccessary, we have obtained all interesting output before the first delayed sample appears. Complex additions: The complex additions on the output side of each parallel branch do not need to be computed until k > N. Thus, ‘Operation ‘Complex Additions Poles of H(z) for k= 0,...,N=1 Poles and branch exponentials of H(z) for k = N,....2N 1 Direct evaluation requires N(N — 1) = M?(M? ~ 1) complex additions. 9.42. (a) We separate the system function H(z) into two pieces; one corresponding to Agln] = Re{h(n]) | and another corresponding to hr[n] = Jm{hln]}- | 1-Whet BG) = TryceaekiN te aie coe(2uk/ 1 = 2c08(2xk/N)2" haln] = cos(2xkn/N)ufn] sin(2rk/N)o-* Hie) = icra Aria] = sin(2xkn/N)ulnl Since z[n] is real, the real and imaginary parts of X(k] = ys{N] are computed using the following fowgraph. x) Repxta) impqk) >) Re{X(]} = RefyelN]} Im{X{k]} = Im{sal]} Since the output of interest is the Nth sample, we need only consider the variance at time N. ‘The noise e[n] is input to both /g|n] and h(n}. Using the techniques from chapter 6, we find the variance of the noise is eRM = ot, +8, DMI) UM = ote, SMe Let @ = 2xk/N. » x Derh) = Dower = = 1s jon 4 pn stny? = De rein Site " Derm szccien (Gee =e a +UN+1) + (1+ 2(N +2)+1) spate phe Therefore, + (N/2) +1) = = +4)/2 FFasway Ps = Speen wo wen XU) = 5 sfe}cos(antn/v) — 5 So fnlsin(2ekn/) = = For k #0, there are N’—1 multiplies in the computation of the real part and the imaginary part: oh =(N -1)o? 03, where o? = 2°78/12, For k = 0 there are no multiplies, and therefore of = 0 = of. a-a-{ 0 k=0 (N-1)0? E#0 2.44. (@) Xela] il = Xm -allllW hl = LX Leabil S nasil + Kmail <3 +2 = ‘implies that [Re{X,_[p]}] <1 and |Im{Xm[p]}{ <1. A similar argument bolds for |Xm{q}}. @) ‘The conditions are not sufficient to guarantee that overflow cannot occur. [Re{Xmlp]H << [Re{Xmlp]}1 + [Re{Wh.Xm—ala]}1 Im{X{e}=0 z{n]=~2"[N-n] <> Re{X[k]}=0 ‘Thus, z[n] real and even <=> X{é] real and even; and {n] real and odd <=> X{k] imaginary and odd. (a) siln] = 21{n] + 23{n} 2,[n] is real and even; t[n] is real and odd. ilk] = Re{Yitk]} + joni [A]} = Xilk] + XslA] Re{¥,[k]} is real and even; jlm{¥4(k]} is imaginary and odd; X,{é] is real and even; X(t] is imaginary and odd. It follows that Xe Ask ReMi (A) stm (b) slo] = viln] + Sualn] Yolk] = Vile] + s¥Olk] = Re(Vilk]} + sm H(A} + iMRef¥o[h]} + jm{¥a[k]}) = Re{¥i{el} ~ Im{¥a{k]} REED + inf [F)}) real odd ¥s[k] = [Ev{Re{¥s[k]}} + Od{Ref¥s[e})}] + HTEv(Lm{ v5 4]}} + Od{Im{Yot]}}] 393 Thus we have Re{Mi[A]} Re{¥alé]} im { Vil] Inf ¥a{]} Ev{Re{Yalel}} Ev{im{Ya[]}} Od{Im{¥s{A]}} ~Od{Re{¥a[k]}} woud Yim) = FiRe(Vk)) + Re(YsLN ~ HD) +5 fli ¥s(e)) ~ km q5(N — A) YelK) = ffm (¥fe)) +1 (VoL - H] ~PIRe(ValeD) ~ Re(VLN — €)) sand from pat (a) Ail) = PIR (WIAD + RECN — AD) Xl] = 3m (YsiAl) + Im{¥s{N - k]}] afk) = Fen (¥s i) — Im{YsEN — H)) —y Re{Yalé]} — Re{¥s|N ~ k}}] Hale) () usin] = 25[((n + 1))w] - z3[((" - 1))w) vus{((N ~ n))w) = 23[(N — 1 + 1))w] ~ z3[((N - 2 -1))w] Since z3[n] = z3[((N -n))w), ‘ual((N — 9))w] = 2af((n — 1))n] — 2al{( + 1)w] = —us{n] For n= 0, we have us[0} = —usl0}, which is only satisfied for us[0] = 0. (4) Using the circular shift property of the DFT we have Talk] = afk" — xyfee vee = Bj sin(2ek/N)Xs{R) (¢) From part (a), since us{n] is antisymmetric, ilk] = Rei k]} Us{k] = sim{¥i[k}} and so a= So e40,% Note that X;[0] cannot be recovered using this technique, and if N is even, neither can X3{N/2]. 30 {f) In part (b) replace Xj and X, with Us and U, and use the result of (d) to give ile) = Hime (Ua + Revel - aD ale) = Him (Via + ims — A) | Xs) = 3 ¥atAl} — Im{ aN - k]}]/sin(2rk/N), & # 0,N/2 Kalk) = -HHRe(Volkl} ~ Re(WslN — Ap/sin(2nk/w), �,N/2 9.48. First, we find an expression for samples of the system function (2). yi cst bp2-? Be) = Sh ibe se IN Het = Now assume N, M < 511. Let bin] = by and 1, n=0 “Lam IsnsN Let Bik}, Alt) be the 512 pt DFTs of bf], and ofn]. Then Benes 9.49. (a) It is interesting to note that (linear) convolution and polynomial multiplication are the same operation. Many mathematical software tools, like Matlab, perform polynomial multiplication using convolution. Here, we replace i wa pe)= Daz’, (z)= So bet S Ss bates ay Pa pln] =F" aidin — i}, ale] = Yo sla - 4) Then, r{n] = pin] + ain). ‘The coefficients in rn} will be identically equal to thase of r(z). We can compute r{n] with circular convolution, instead of linear convolution, by zero padding pln and g[n] toa length N = L+ M1 ‘This zero padding ensures that linear convolution and circular convolution will give the same result. (b) We can implement the circular convolution of pin] and q{n] using the following procedure. step 1: Take the DFTs of p{n} and g{n] using the FFT program. This gives P{k] and Q{k} step 2: Multiply to get Rik] = PLEQ[E)- step 3: Take the inverse DFT of R{k] using the FFT program. This gives r[n]- 395, Here, we assumed that the FFT program also computes inverse DFTs. If not, it is s relatively simple matter to modify the input to the program so that its output is an inverse DFT. (See problem 9.1). ‘While it may seem that this procedure is more work, for long sequences, it is actually more eficent The direct computation of r[n] requires approximately (L-+ M)? real multiplications, since o: and , are real. Asouming that a length L + .M FFT computation takes ((L + M)/2|log,(L + M) ‘complex multiplications, we count the complex multiplications required inthe procedure described above to be ‘Operation Complex Multiplications FP Te of pln] and ain] | 2[(L + M)/2}loga(L + M) = (L + M)log,(L+ M1) Rik] = PUIQIA] Lem Inverse FFT of R(é] {(L+ M)/2}loga(L +) = [KE + M)/Allogs(L + 1) + (LM) ‘Since a complex multiplication is computed using 4 real multiplications, the number of real roulti- plications required by this technique is 6(L + M) loga(L+ M)+4(L+ M). Plugging in some values for (L+ M) = 2", we find L+M Direct FFT 2 4 2 4 16 64 8 & 176 16255448 32 10 1088, 644096 2560 ‘Thus, for (C+ M) 2 64, the FPT approach is more eficient (©) The binary integers w and v have corresponding decimal values, which are “decimal = et mB we sania = Se! & Note the resemblance to p(z) and ¢(z) of part (a). We form the signals, te = Ywsin-g vuln} vl = So wdin i) and use the procedure described in part (b). Tis computes the product uv in binary. For L = 8000 and M = 1000, this procedure requires approximately # real multiplications = 6(8000-+ 1000) log,(8000 + 1000) + 4(8000 + 1000) = 745 x 10° In contrast, the direct computation requries 8.1 x 10” real multiplications. (@) For the (forward and inverse) FFTs, tbe mean-square value of the output noise is (L+ M)o}. While o} will be small, as there are 16 bits, the noise can be significant, since L + M is a large ‘number 9.50. (a) Using the definition ofthe discrete Hartley transform we get Fiyla+N] = Cwla+N]+Swla+N] cos(2xa/N + 2x) + sin(2na/N + 2x) cos(2ra/N) + sin(2xa/N) Cula] + Swfa} nia) ounnn Flatt] = Cwla+0]+ Syfo+0] cos(2x0/N + 2x8/N) + sin(2xa/N + 2m0/N) 0s(2x0/N) cos(2xb/N) — sin(2x0/N) sin(2xb/N) + sin(2xa/N) cos(2nb/N) + cos(2x0/N) sin(2xb/N) Grouping the terms inthe last equation one way gives us Hnfo+8] = [cos(2no/N) + sin(2x0/N)] cos(2x8/N) + (cos(—2xa/N) + sin(—2na/N)}sin(2mb/N) = HnlelCn{b] + Hw(-o}Sw{6) while grouping the terms another way gives us Hyla+ 8} = cos(2eb/N) + sin(2xb/N)}cos(2x0/N) + [cos(~2xb/N) + sin(~2xb/N)] sin(20/N) = Hnl[bCwla) + Hx[-B)Swla) (b) To obtain a fast algorithm for computation of the discrete Hartley transform, we can proceed as in the decimation-in-time FFT algorithm; ie, 2 wn own 1 Xulk] = Yo eler|Hwl2rk]+ YO aftr + Arle + 1)k) was ons = LY alerewlarkl+ SO afr + ae w[2rk]Cw lA) waa + YD alte + awll(-2rk))w} Syl) = Now since Hw[2rk] = Hyyalrk], we have (way ovr Q Kalk = DS aftelyalet|+ Do afar abewalrk]Cle ms a (rans + LD r+ Newall(-rk))wealSw lh = FUR) + GERI wk] + GU((—K))aval Sth) 397 YL eer + Applet] = is the N/2-point DHT of the odd-indexed points. As in the derivation of the decimation-in-time is the N/2-point DHT of the even-indexed points and wy Fbl= Yo xltrHw,alrk} ot tk ly the same except that we have to access G[((—h))wy2] as well as G[k] and itterfiy” is slightly more complicated. The fast Hartley transform will require FFT algorithm, we can continue to divide the sequences in half if N is a power of 2. Thus the ‘Wlog, N operations as in the case of the DFT, but the multiplies and adds will be real instead of indexing will be exact! complex. where Fi; ie, the “but 9.51. (a) | eccccoeFocscece’d ecocccefooscccc $e Se ecces00 eco eoo ole ee¥ece e ooonccce fol S a otote) orate stern ors enecccccencccsce a eeccesencoccc0. | = FTF:THEs a é a eoescconFooscensjocenco ee P2224 MN eeconoToooncce Sfetepsmald cienedateielac nto s nen ane cieentoosse oa 6 no n eonToccoene Tocca "PF FFT9IS® TRACES 8 ene ee ew 7 T2222 SS Gn Gn ecececL eH CC On CS nmeesscenencccoencconoce n n nl « Ps a aes ) where » denotes conjugation. Drawing the flow graph, we get x0) 1) 32) ae x6] \KXS XxX 281 x8) cl ‘This structure isthe decimation in frequency FFT with the twiddle factors conjugated and therefore caleulates N-IDFT(2(n]} (c) Knowing that Q calculates the DFT and #pQM calculates the IDFT, we should realize that cas- cading the two should just return the original signal. More formally we have PER, =2 FEF) =20 FPP) =21 vit) =1 TET =1 Q/N)Q"Q = (MN) (FETEFRETEFY) (FsT2F.THFi) = (NN) et where N = 8 in this ease. 9.52. (a) First, we derive the circular convolution property of the DFT. We start with the circular convo- lution of z{n} and A{n}. waa ule] = 5° zim)a(n — md} ‘Taking the DFT of both sides gives aKa Ye = YS staan - mew am wa imi wa {rn} SO Af((n — mw iM Using the circular shift property of the DFT, mot ye) = Salm wa HUE) SD stem a= = HEX) 1 Next, the orthogonality of the basis vectors is shown to be a necessary requirement for the circular ‘convolution property. We start again with the circular convolution of z{n] and Afn] wa in] = SO zlmal(n - mw] a ‘Substituting the inverse DFT for z{mn] and A{((n —m))x] gives: eats i vio) = S (GS xewst) (FE aoawgne-™) Zlwd, 7 ene am) (2 ca tain) -z ws ae para Pa -2¢F (xtra : warewy) porn x With orthogonal basis eter, ma [ N. b=0 a" in ego 50 the right-most summation becomes xe yes Slwahewpe = Swgeee = = = Néth - ba] ‘Therefor, rere vio) = gar SD (XU IW GENS ~ }) frome ie = FL Zhe” ize wo 4 = Llmial(e-m)ial =o ‘Therefore, the circular convolution property holds as long as the basis vectors are orthogonal (b) ((E«), = (Qse sie +604), 2 (+14141)y + (1444164 64))ry 2 (1416 +256 + 4096)).7 B= 3: (146444096 +2624) ar ‘The relation holds for P = 17, N = 4, and Wy = 4. (Myr = (@5)hr fA ((4369)xr = ((266305)):7 = (©) 2 mi - ((Eae)) es ® = (142-443-1644 0-644))ir = (42-4 43-16) ay Using this formula for X{E}, Xo) = (1+2+3))7 = (Gr XD = (Q42-443-16)ir = (S7))ar XQ] = ((1+2-16+3-256)jrr = ((801))17 X(3] = ((1+2-64+3-4096))12 = ((12417)):7 A) = ((Sas)) = ” (8-14 1-48 +016 40-644) (B44) Using this formula for H(t], HO) = (B+) = Wr = 4 Hp] = (@+4yr = (Mr = 7 AD) = (B+1%)hr = (Ode = 2 AB] = (B+6)hr = (Or = 16 Multiplying terms ¥[&] = X(R]A(4] gives (@) By trying out different values, Y1O} = (24)hr YD] = (2)ar YP] = (hr we Wye = ¥3) = (Q12))r 10 13 3B (NON) ar = (Wi Waar = ((13 Yar = ((52)),7 = 1 C} 2 yn] = ((» > vuis")) = 7 = ((13(7-148-13" 4 4.169" 4 10-2197") ir Using this formula for y[n}, vio] = ((37+8+4+410))r = (B77) 3 MR) = (037-148-1844. 169+ 10-2197)hiz = ((295841))i7 1 v2] = (13|7-1+8-169-+ 4.28561 + 10 -4826809)).7 = ((628988009))1> u v{3] = ((S[7-1+8-2197 + 4.-4826809+ 10- 10604499373)));r = ((1378896141137)),7 = 3 Performing manual convolution y(n] = z{n] « hla] gives vol = 3 vi] = 7 w= 0 vis} = 3 ‘The results agree. 9.58. (a) The tables below list the values for n and k obtained with the index maps. nm i lojal2 ofr|2 mole? & folate rpsj ays ifr [3ys As shown, the index maps only produce n = 0,...,5 and k =: (0) Making the substitution we get X(k) = Xk +24) = Data ghtaien 24 = Sages + agg ttiveneny moma (©) Expanding out the We terms we get weston Web gbm wg zton WEN WE yee (4) Grouping the terms we get sisson 3 [(E sme snanes) wo wa ‘The interpretation of this equation is as follows (i) Let Gfk,,ma] be the N = 2 point DFTs of the inner parenthesis; ie., 1 Glki.na] = SO 218m +m] PE", leet Ame Eme ‘This calculates 3 DFTs, one for each column of the index map associated with n. Since the DPT size is 2, we can perform these with simple butterflies and use no multiplications. (ii) Let Gfk,,na] be the set of 3 column DFTs multiplied by the twiddle factors. Osh Sl, fhe] = WE™ GI, ma, { Heed (ii) The outer sum calculates two N = 3 point DFTs, one for each of the two values of fy XU + 2k) = So Claw", { esas Oshs2 (©) The signal fiow graph looks like “The only complex multiplies are due to the twiddle factors. Therefore, there are 10 complex multiplies. The direct implementation requires N? = 6? = 36 complex multiplies (a little less if you do not count multiplies by 1 or -1) (©) The alternate index map can be found be reversing the roles of m and h; i.e. nam t2n, — form =0,1jn2=0,1,2 k=Sk thy for ky = 0,1; he = 01,2

You might also like