Welcome to Scribd!
Academic Documents
Professional Documents
Culture Documents
Hobbies & Crafts Documents
Personal Growth Documents
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 thenstep 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 samplea 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 apeNext, 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 a9.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) ae387 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 iMUsing 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 = 1C} 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