<<

Solving impulse response y[n] = x[n]− y[n − 2] x[n] = δ[n] z-transform iteration € −2 y[0]= x[0]− y[−2]=1− 0 =1 Y (z) = X(z) − z Y (z) € y[1]= x[1]− y[−1]= 0 − 0 = 0 1+ z−2 Y (z) = X(z) y[2]= x[2]− y[0]= 0 −1= −1 ( ) Y (z) 1 system y[3]= x[3]− y[1]= 0 − 0 = 0 H (z) = = € −2 function € y[4]= x[4]− y[2]= 0 − (−1) =1 X(z) 1+ z € ( ) € M € 1 Y (z) = H (z)X(z) = X(z) € (1+ z−2) € € € Remember: 1 z 2 z 2 − cos(ωˆ )z Y (z) = = X(z) = −2 2 2 1+ z z +1 z − 2 cos(ωˆ )€z + 1 ( ) c ⇓ Inverse z-transform (lookup) x[n] = cos(ωˆ n)u[n] €  2π  π 2π y[n]= h[n]= cos nu [n] € ωˆ = = € 2 4 €  4  y[n]= {1,0,−1,0,1, } € K € € € The signal has same z-transform y[n] = x[n]− y[n − 2] as system. The signal is the impulse response of the system ⇓ z-transform

2 € Y (z) 1 z system zeros = roots(z 2) = 0,0 H (z) = = = 2 € 2 2 function poles = roots(z +1) = ± j X(z) (1+ z− ) z +1

n € n Poles: values of z for input x [ n ] = z where output€ y[n] = H(z)z → ∞ Zeros: values of z for input x [ n ] = z n where output y[n] = H(z)z n → 0 € € 2π  € signal 1 y[n]= h[n]= cos€ nu [n] €  4  0.8

⇓ z-transform 0.6 2 1 z 0.4 Y (z) = = 1 z−2 z 2 +1 0.2 € + 2 € ( ) 0

Imaginary part -0.2 TextEnd Poles: z locations of y[n] = z n -0.4 -0.6 Zeros: related to the magnitude and phase of y[n] = z n € -0.8 -1 The closer a zero is to a pole, the smaller € -1 -0.5 0 0.5 1 the effect the pole. Real part € Solve difference equation  2π  y[n] = x[n]− y[n − 2] h[n]= cos nu [n] impulse response  4  x[n] = u[n] step input iteration € y[0]= x[0]− y[−2]=1− 0 =1 € € y[1]= x[1]− y[−1]=1− 0 =1 y[2]= x[2]− y[0]=1−1= 0 y[3]= x[3]− y[1]=1−1= 0 € y[4]= x[4]− y[2]=1− 0 =1 € € M € x[n] 1 1 1 1 1 1 1 … € h[n] 1 0 -1 0 1 0 - 1 … € ======1 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 -1 -1 -1 … 0 0 0 0 1 1 1 M ======1 1 0 0 1 …

€ z-transforms y[n] = x[n]− y[n − 2] x[n] = u[n]

⇓ z ⇓z 1 Y (z) = X(z) − z−2Y (z) X(z) = € € 1− z−1 1 Y (z) = X(z) = H (z)X(z) multiplication y[n] Y(z) € −2 € € (1+ z ) € €  2π  1 1 1 € cos nu [n] ⇔ −2 Y (z) =  4  (1+ z ) −2 −1 1 1+ z 1− z n ( ) ( ) € a€ u[n] ⇔ −1 (1− z ) € ⇓ partial fraction expansion (distinct complex roots) € 1 2 1 2 1 z−1 € n y[n]€ Y (z) = + + € € €(1 − z−1) (1+ z−2) 2 (1+ z−2 ) 0€ 1/2+1/2+0=1€ 1 1/2+0+1/2=1 ⇓ Inverse z-transform (lookup) € €2 1/2-1/2+0=0 1 1  2π  1  2π  3 1/2+0-1/2=0 € y[n] = €+ cos n + cos (n −1) ⇒ 2 2  4  2  4  4 1/2+1/2+0=1 5 1/2+0+1/2=1 €

€ Partial fraction expansion

1 A B Y(z) = = −1 + −1 We know: 1 2z−1 1 3 z−1 1+ 2z 1− 3 z ( + )( − 4 ) ( ) ( 4 ) right sided sequence 1 ⇔ anu[n] 1− az−1 ⇓ cross multiply z > a € € left sided sequence 3 −1 −1 A(1− 4 z ) + B(1+ 2z ) Y(z) € 1 n = −1 −1 € ⇔ −a u[−n −1] 3 € −1 (1+ 2z )(1− 4 z ) 1− az z < a ⇓ collect terms

€ € 3 € −1 € (− 4 A + 2B)z + (A + B) Y(z) = −1 3 −1 (1+ 2z )(1− 4 z )

€ 1 Y(z) = −1 3 −1 (1+ 2z )(1− 4 z ) A B = + We know: −1 3 −1 (1+ 2z ) (1− 4 z ) right sided sequence € 1 n −1 ⇔ a u[n] 3 −1 1− az (− 4 A + 2B)z + (A + B) = z > a € 1+ 2z−1 1− z−1 ( )( ) left sided sequence

1 n − 3 A + 2B = 0 A + B = 1 match coefficients€ ⇔ −a u[−n −1] 4 1−€az −1 € 8 3 z < a A = B = 11 11 € € € € 8 11 3 11 1 Y(z) = + = € € −1 3 −1 1+ 2z−1 1− 3 z−1 (1+ 2z ) (1− 4 z ) ( )( 4 )

€ € Inverse z-transform 1 Y(z) = −1 3 −1 (1+ 2z )(1− 4 z ) 8 11 3 11 = + We know: −1 3 −1 right sided sequence (1+ 2z ) (1− 4 z ) poles:3/4,-2 € 1 ⇔ anu[n] ⇓ Inverse z-transform −1 n 1− az 8 n 3  3 z > a y[n]= (−2) u[n]+   u[n] z > 2 € 11 11 4  € causal, unstable left sided sequence 1 € ⇔ −anu[−n −1] 1−€az −1 ROC € € z < a

1 € 200 RSS RSS € . 100

0 10 0 10 Inverse z-transform 1 Y(z) = −1 3 −1 (1+ 2z )(1− 4 z ) 8 11 3 11 = + We know: −1 3 −1 right sided sequence (1+ 2z ) (1− 4 z ) poles:3/4,-2 € 1 ⇔ anu[n] ⇓ Inverse z-transform −1 n 1− az 8 n 3  3 3 z > a y[n]= − (−2) u[−n −1]−   u[−n −1] z < 4 € 11 11 4  € left sided sequence anticausal, unstable 1 € ⇔ −anu[−n −1] 1−€az −1 € € z < a

5 € . 1 € LSS LSS

0

10 0 10 Inverse z-transform 1 Y(z) = −1 3 −1 (1+ 2z )(1− 4 z ) 8 11 3 11 = + We know: −1 3 −1 right sided sequence (1+ 2z ) (1− 4 z ) poles:3/4,-2 € 1 ⇔ anu[n] ⇓ Inverse z-transform −1 n 1− az 8 n 3  3 z > a y[n]= − (−2) u[−n −1]+   u[n] € 11 11 4  3 z 2 € 4 < < left sided sequence two-sided, stable 1 € ⇔ −anu[−n −1] 1−€az −1 € € z < a 1 € 1 . 0 LSS RSS €

1 10 0 10 Inverse z-transform 1 Y(z) = −1 3 −1 (1+ 2z )(1− 4 z ) 8 11 3 11 = + We know: −1 3 −1 right sided sequence (1+ 2z ) (1− 4 z ) poles:3/4,-2 € 1 ⇔ anu[n] ⇓ Inverse z-transform 1− az−1 n z a 8 n 3  3 > € y[n]= (−2) u[n]−   u[−n −1] 3 < z ∩ z > 2 11€ 11 4  4 left sided sequence not possible 1 € ⇔ −anu[−n −1] 1−€az −1 z < a € €

€ € Inverse z-transform 1 Y(z) = −1 3 −1 (1+ 2z )(1− 4 z ) 8 11 3 11 = + We know: −1 3 −1 right sided sequence (1+ 2z ) (1− 4 z ) poles:3/4,-2 € 1 ⇔ anu[n] ⇓ Inverse z-transform −1 n 1− az 8 n 3  3 z a y[n]= (−2) u[n]+   u[n] z > 2 > € 11 11 4  € causal, unstable left sided sequence n 1 n 8 n 3  3 z <€ 3 ⇔ −a u[−n −1] y[n]= − (−2) u[−n −1]−   u[−n −1] 4 1−€az −1 11 11€ 4  € anticausal, unstable z < a n 8 n 3  3 3 y[n]= − (−2) u[−n −1]+   €u [n] 4 < z < 2 11 11 4  € € € two-sided, stable n 8 n 3  3 y[n]= (−2) u[n]−   u[−€n −1] 3 z z 2 € 11 11 4  4 < ∩ > not possible

€ € Partial fraction expansion II 4 + 7.6z−1 4 + 7.6z−1 Y(z) = = −6z−2 + 5z−1 + 4 1+ 2z−1 4 − 3z−1 ( )( ) We know: 1+1.9z−1 factor into form right sided sequence = 1 n −1 3 −1 1 p z−1 1 p z−1 ⇔ a u[n] (1+ 2z )(1− 4 z ) ( + 1 )( − 2 ) −1 € 1− az z > a A B = + −1 3 −1 left sided sequence (1+ 2z ) (1− 4 z ) € € € 1 n −1 ⇔ −a u[−n −1] −1 1−€az −1 1+1.9z A = Y(z) 1+ 2z = = 0.036 z < a ( ) z=−2 3 −1 1− 4 z € ( ) z=−2 −1 3 −1 1+1.9z € B = Y(z) 1− 4 z = = 0.964 ( ) z= 3 −1 4 1+ 2z € ( ) z= 3 € 4 0.036 0.964 Y(z) = + −1 3 −1 (1+ 2z ) (1− 4 z ) €

€ Effects of a zero

zeros: 0,-1.9 zeros: 0,0 1+1.9z−1 Y(z) 1 = −1 −1 Y(z) 3 = −1 −1 1+ 2z 1− 4 z poles:3/4,-2 3 ( )( ) (1+ 2z )(1− 4 z ) 0.036 0.964 Y(z) 8 11 3 11 = −1 + −1 = + 3 −1 3 −1 1+ 2z 1− 4 z 1+ 2z 1− z € ( ) ( ) ( ) ( 4 ) € n n 3 n 8 n 3  3 y[n]= −0.036(−2) u[−n −1]+ 0.964( 4 ) u[n] y[n]= − (−2) u[−n −1]+   u[n] 11 11 4  3 € 4 < z < 2 3 € 4 < z < 2 1 € zero at z=-1.9 1 0.5 close€ to pole at z=-2, € . . pole’s effect reduced 0 0 € (0.036 vs. 0.727) 0.5 1 10 0 10 10 0 10 two sided sequences Partial fraction expansion III

1+1.9z−1 Y(z) = We know: −1 3 −1 (1+ 2z )(1− 4 z ) right sided sequence 1 z = ⇔ anu[n] 4 + 7.6z−1 1− az−1 z − a = −6z−2 + 5z−1 + 4 z > a € 4z2 + 7.6z left sided sequence = 2 € € 1 z n 4z + 5z − 6 1 = ⇔ −a u[−n −1] € 1− az− €z − a z2 +1.9z = factor into form (z-p1)(z-p2) z < a z + 2 z − 3 ( )( 4 ) Hint: use matlab’s root command € A B € = + 3 € (z + 2) (z − 4 ) €

€ Partial fraction expansion III

1+1.9z−1 Y(z) = 1+ 2z−1 1− 3 z−1 We know: ( )( 4 ) right sided sequence 2 1 z n 4z2 + 7.6z z +1.9z = ⇔ a u[n] = = 1− az−1 z − a 2 z + 2 z − 3 4z + 5z − 6 ( )( 4 ) z > a € Az Bz = + + C left sided sequence z + 2 z − 3 1 z ( ) ( 4 ) € € = ⇔ −anu[−n −1] € € 1− az−1 €z − a 4z2 + 7.6z C = = 0 z < a 4z2 5z 6 + − z=0 € Y(z)(z − 3 ) z2 +1.9z B = 4 = =€0.964 z z= 3 z(z + 2) 3 € 4 z= 4 € Y(z)(z + 2) z2 +1.9z A = = = 0.036 z z(z 3 ) z=−2 − 4 z 2 € =−

€ Partial fraction expansion III

1+1.9z−1 Y(z) = 1+ 2z−1 1− 3 z−1 We know: ( )( 4 ) right sided sequence 2 1 z n 4z + 7.6z −1 = ⇔ a u[n] = 2 1− az z − a 4z + 5z − 6 z > a € 0.036z 0.964z = + left sided sequence z + 2 z − 3 1 z ( ) ( 4 ) € € anu[ n 1] € −1 = ⇔ − − − n n 1− az €z − a y[n]= −0.036 −2 u[−n −1]+ 0.964 3 u[n] ( ) ( 4 ) z < a 3 < z < 2 € 4 1 € € € . € 0

1 10 0 10 two sided sequence Long Division 1+1.9z−1 1+1.9z−1 Y(z) = = −1 3 −1 3 −2 5 −1 (1+ 2z )(1− 4 z ) − 2 z + 4 z +1

1+ 0.65z−1 + 0.687z−2 + 0.116z−3 right sided sequence € =1+ 5 z−1 − 3 z−2€1 +1.9z−1 4 2 ) 1+1.25z−1 −1.5z−2 0.65z−1 +1.5z−2 0.65z−1 + 0.813z−2 − 0.975z−3 0.687z−2 + 0.975z−3 0.687z−2 + 0.859z−3 −1.031z−4 2 0.116z−3 +1.031z−4

y[n]= δ[n]+ 0.65δ[n −1]+ 0.69δ[n − 2]+ 0.12δ[n − 3]+ . L 0 compare n 3 n € y[n]= 0.036(−2) u[n]+ ( 4 ) 0.964u[n] ={1, 0.65, 0.69, 0.12} n=0,1,2,3 2 10 0 10 €

€ Long Division 1+1.9z−1 1+1.9z−1 Y(z) = = 1+ 2z−1 1− 3 z−1 − 3 z−2 + 5 z−1 +1 ( )( 4 ) 2 4 left sided sequence

2 3 −1.267z −1.723z − 2.281z +K = −1.5z−2 +1.25z−1 +1 1.9z−1 +1 € € ) 1.9z−1 −1.584 −1.267z 2.584 +1.267z 2.584 − 2.154z −1.723z−3 3.421z−2 + 0.975z−3 3.421z−2 − 2.851z−3 − 2.281z−4

20 y[n]= −1.27δ[n +1]−1.72δ[n + 2]− 2.28δ[n + 3]+ L € compare 10 .

n 3 n y[n]= −0.036(−2) u[−n −1]− ( 4 ) 0.964u[−n −1]={-1.27, -1.72, -2.28} 0 € n={-1, -2, -3} 10 0 10

€ Discrete (DFT) Compute spectrum of discrete-time periodic signals DFT ⇒ N samples in ⇐ N complex numbers in IDFT

€ € N−1 DFT X[k] = ∑ x[n]e− j(2πk / N)n analysis n=0

1 N−1 IDFT x[n] = X[k]e j(2πk / N )n synthesis ∑ z € N k=0

1

€ DFT: sample continuous H(ω) at N evenly spaced frequencies Discrete Fourier Transform (DFT) Compute spectrum of discrete-time periodic signals DFT ⇒ N samples in time domain ⇐ N complex numbers in frequency domain IDFT

Sampling x[n]= x(nTs ) Discrete time € € Periodic freq

T0 − j 2πkt € 2 T Fourier X = x(t)e 0 dt Periodic in time Series k ∫ T0 0 Discrete freq

N−1 Discrete & periodic time DFT X[k] x[n]e− j(2πk / N)n = ∑ Discrete & periodic freq € n=0

€ x[n] periodic

N−1 j 2 k /N n DFT X[k]= x[n]e− ( π ) ∑14 4 2 4 4 3 € n=0

move X k to DC

original spectrum € X0 * X € * X1 1 X2 X 2 * € −2πk / N 0 −€π € 0 2πk / N π ω X0 € € * X * X1 1 X2 X = € € 2 € € € € € € π € −π € 0 ω € shifted€ spectrum

€ € € € x[n] periodic

N−1 j 2 k /N n DFT X[k]= x[n]e− ( π ) ∑14 4 2 4 4 3 € n=0

move X k to DC original spectrum € X0 X1 * € X2 * X1 X2 *

€ −2πk / N € 0 2πk / N π 2π 0 € € ω ω>π aliases€ of negative frequency X components * 0 X * X1 1 X X2 € = 2€ € € € € € € € € 0 € π ω € shifted spectrum

€ € € x[n] periodic

N−1 DFT X[k]= ∑ x[n]e− j(2πk /N)n € {n=0

FIR low pass filter to measure DC (N point running sum, {1,1,1…1} ) € zeros @ harmonics shifted spectrum X1 X0 * X1 * ⇒ X1 X2 X2 € € 0 π € 2π€ ω€ € € FIR filter w/ zeros at harmonics € € € € x[n]= {1, 1, 1, 0} Impulse response of 3pt averager

3 N−1 − j(2πk / 4)n X[k] = ∑ x[n]e− j(2πk / N)n = ∑ x[n]e n 0 € n=0 = = x[0]+ x[1]e− j(2πk / 4) + x[2]e− j( 2πk / 4) 2 + x[3]e− j(2πk / 4)3

π − j 2 k − jπk € =1+ e € + e z − j 3π k j π k − j π k =1+ e 4 e 4 + e 4 € ( ) 1 k =1+ 2 − 2 1+ j cos π k € [ ( )] ( 4 ) check: k=0, 1, 2, 3 »x=[1 1 1 0]; »X=fft(x) € X[k]= {3, −i, 1, i} X =  3π  3.0000 0 - 1.0000i 1.0000 0 + 1.0000i − j(π / 2) − j(π ) − j  DC e e e  2  »fftshift(X) € ans = 1.0000 0 + 1.0000i 3.0000 0 - 1.0000i Note: 0>ω>2π € € only €extract € € limited number of frequencies due to N samples per period x[n]= {1, 1, 1, 0}

N 1 3 − j 2 k / 4 n − j(2πk / N)n = x[n]e− ( π ) X[k] = ∑ x[n]e ∑ z n 0 € n=0 =

k 1 =1+ 2 − 2 1+ j cos π k [ ( )] ( 4 ) € €

k=0, 1, 2, 3

X[k]= {3, −i, 1, i} 3

 3π  − j π / 2 − j π j ( ) ( ) −   2.5 3H ωˆ € DC e e e  2  ( )  −3π  − j π / 2 − j π ( )   − j(− 2 ) 2 DC e e  2  e € € 1.5 X[k] € € € H ωˆ = 1 e−€j ωˆ 1+ 2cosωˆ € 1 ( €) €3 ( € ) 0.5

0 Note: 0>ω>2π 0 0.5 1 1.5€ 2 2.5 3 3.5 4 € only extract limited number of frequencies due to N samples per period Redo like homework

x[n]= {1, 1, 1, 0}

3 2 N−1 − j(2πk / 4)n − j(2πk /4)n X[k] = ∑ x[n]e− j(2πk / N)n = ∑ x[n]e = ∑e n 0 € n=0 = n=0

1− e− j(2πk 4)3 1− e− j 3πk /2 Remember = = − j(2πk 4) − jπk 2 € 1− e € 1− e € N−1 N k 1− a k ∑a = 1− j k=0 1− a = k k≠0 1− (− j) € € 2 2 2 k=0 X[k]= ∑e− j(2π 0/4)n = ∑e− j0 = ∑1= 3€ € n=0 n=0 n=0 1− j 1− j 1− 2 j −1 X[1] = = = − j 1+ j 1− j 2 X[k]= {3,−i,1,i} 2 X[2] 1− j 1− (−1) = 2 = =1 k={0,1,2,3} € 1− (− j) 1− (−1) € € 1− j 3 1− (− j) 1+ j 1+ j 1+ 2 j −1 X[3] = 3 = = = = j € 1− (− j) 1− j 1− j 1+ j 1+ 2 € € € € How does a Fast Fourier Transform (FFT) work? 2 Point DFT N−1 FFT is an efficient DFT X[k] = ∑ x[n]e− j(2πk / N)n N=2 way of calculating n=0 a DFT. = x[0]e− j(2πk /4)0 + x[1]e− j(2πk /2)1 = x[0]+ x[1]e− j(πk) € X [0]= x[0]+ x[1] € 2 1 1 coefficients block € X2[1]= x[0]− x[1] 1 -1

€ FFT butterfly

k − j(2πk /2) W2 = e 0 W2 =1 -1 1 N2=4 mult € N2-N=2 adds € 4 Point DFT N−1 DFT X[k] = ∑ x[n]e− j(2πk / N)n N=4 n=0 = x[0]e− j(2πk /4)0 + x[1]e− j(2πk /4)1 + x[2]e− j(2πk /4)2 + x[3]e− j(2πk /4)3 − j π k j k − j 3π k = x[0]+ x[1]e ( 2 ) + x[2]e− (π ) + x[3]e ( 2 ) € running sum € X[0]= x[0]+ x[1]+ x[2]+ x[3] − j π j − j 3π € X[1]= x[0]+ x[1]e ( 2 ) + x[2]e− (π ) + x[3]e ( 2 ) = x[0]− jx[1]− x[2]+ jx[3] € X[2]= x[0]+ x[1]e− j(π ) + x[2]e− j(2π ) + x[3]e− j(3π ) € = x[0]− x[1]+ x[2]− x[3] € − j 3π − j 9π X[3]= x[0]+ x[1]e ( 2 ) + x[2]e− j(3π ) + x[3]e ( 2 ) € = x[0]+ jx[1]− x[2]− jx[3] €

− j(2π ) − j(4π ) − j(6π ) € X[4]= x[0]+ x[1]e + x[2]e + x[3]e € = x[0]+ x[1]+ x[2]+ x[3] alias of X[0] N2=16 mult N2-N=12 adds € € 4 Point DFT N−1 DFT X[k] = ∑ x[n]e− j(2πk / N)n N=4 n=0 − j π k j k − j 3π k = x[0]+ x[1]e ( 2 ) + x[2]e− (π ) + x[3]e ( 2 )

€ X[0]= x[0]+ x[1]+ x[2]+ x[3] running sum € X[1]= x[0]− jx[1]− x[2]+ jx[3] X[2]= x[0]− x[1]+ x[2]− x[3] € X[3]= x[0]+ jx[1]− x[2]− jx[3] € € € X[4]= x[0]+ x[1]+ x[2]+ x[3] alias of X[0] X[5]= x[0]− jx[1]− x[2]+ jx[3] alias of X[1] periodic in frequency € €only extract limited number of frequencies due to N samples per period DFT N=4 N=2

X4 [0]= x[0]+ x[1]+ x[2]+ x[3] 1 1 1 1 X2[0]= x[0]+ x[1] 1 1 X [1]= x[0]− jx[1]− x[2]+ jx[3] 4 1 -j -1 j X2[1]= x[0]− x[1] 1 -1 X [2]= x[0]− x[1]+ x[2]− x[3] 4 1 -1 1 -1 € € X4 [3]= x[0]+ jx[1]− x[2]− jx[3] 1 j -1 -j € € -1 even: X[0],X[2] € 1 1 1 1 X [0]= x[0]+ x[2] + x[1]+ x[3] = X [0] 4 [ ] [ ] 2 even k − j(2πk /4) € W4 = e 1 -1 1 -1 X4 [2]= [x[0]+ x[2]] − [x[1]+ x[3]] = X2 [1]even recursive Looks like a 2pt FFT of combined signals € odd: X[1],X[3] € 1 -j -1€ j 1 Looks like a 2pt FFT 1 j -1 -j of combined signals j X [1]= x[0]− x[2] + j −x[1]+ x[3] = X [0] 4 [ ] [ ] 2 odd FFT X4 [3]= [x[0]− x[2]] − j[−x[1]+ x[3]] = X2[1]odd fewer multiplies/adds N/2log2N=4 mult € € DFT N=4 N=2

X4 [0]= x[0]+ x[1]+ x[2]+ x[3] 1 1 1 1 X2[0]= x[0]+ x[1] 1 1 X[1]= x[0]− jx[1]− x[2]+ jx[3] 1 -j -1 j X2[1]= x[0]− x[1] 1 -1 X[2]= x[0]− x[1]+ x[2]− x[3] 1 -1 1 -1 € € X[3]= x[0]+ jx[1]− x[2]− jx[3] 1 j -1 -j € € € even: X[0],X[2] € 1 1 1 1 1 -1 1 -1 1

odd: X[1],X[3] 1 1 -j -1 j j 1 1 j -1 -j N/2log N=4 mult 4pt FFT butterfly 2 Nlog2N=8 add N−1 DFT X[k] = ∑ x[n]e− j(2πk / N)n N=8 n=0 = x[0]e− j(2πk /4)0 + x[1]e− j(2πk /8)1 + x[2]e− j(2πk /8)2 + x[3]e− j(2πk /8)3 x[4]e− j(2πk /8)4 + x[5]e− j(2πk /8)5 + x[6]e− j(2πk /8)6 + x[7]e− j(2πk /8)7 € − j π k − j π k − j 3π k = x[0]+ x[1]e ( 4 ) + x[2]e ( 2 ) + x[3]e ( 4 )

5π 6π 7π − j(πk) − j( 4 k) − j( 4 k) − j( 4 k) € x[4]e + x[5]e + x[6]e + x[7]e

X[0]= x[0]+ x[1]+ x[2]+ x[3]+ x[4]+ x[5]+ x[6]+ x[7] running sum 2 2 X[1€] = x[0]+ 2 (1− j)x[1]− jx[2]− 2 (1+ j)x[3] 2 2 −x[4]+ 2 (−1+ j)x[5]+ jx[6]+ 2 (1+ j)x[7] € X[2]= x[0]− jx[1]− x[2]+ jx[3]+ x[4]− jx[5]− x[6]+ jx[7] € X[3]= x[0]+ 2 −1− j x[1]+ jx[2]+ 2 1− j x[3] € 2 ( ) 2 ( ) 2 2 −x[4]+ 2 (1+ j)x[5]− jx[6]+ 2 (−1+ j)x[7] € 2 M N =64mult € N2-N=56 add € € N−1 DFT X[k] = ∑ x[n]e− j(2πk / N)n N=8 n=0

− j π k − j π k − j 3π k = x[0]+ x[1]e ( 4 ) + x[2]e ( 2 ) + x[3]e ( 4 )

5π 6π 7π − j(πk) − j( 4 k) − j( 4 k) − j( 4 k) € x[4]e + x[5]e + x[6]e + x[7]e x[n]

X€[ k] 1 1 1 1 1 1 1 1 2 2 2 2 − 2 (1− j) 1 2 (1− j) -j 2 (−1− j) -1 j 2 (1+ j) € 1 -j -1 j 1 -j -1 j 2 2 2 2 1 2 (−1− j) j 2 (1− j) -1 − 2 (−1− j) -j € 2 (−1+ j) € 1 -1 € 1 -1 € 1 -1 € 1 -1 2 2 2 2 2 (−1+ j) − 2 (−1+ j) 1 -j 2 (1+ j) -1 j 2 (−1− j) € 1 j € -1 -j € 1 j € -1 -j 2 2 2 2 2 (−1+ j) − 2 (1+ j) 1 2 (1+ j) j -1 -j 2 (1− j) € € € € N2=64mult N2-N=56 add € € € € DFT N=8 even: X[0],X[2],X[4],X[6] N=4 x[n] X[k] 1 1 1 1 1 1 1 1 1 1 1 1 1 -j -1 j 1 -j -1 j 1 -j -1 j 1 -1 1 -1 1 -1 1 -1 € 1 -1 1 -1 € 1 j -1 -j 1 j -1 -j 1 j -1 -j

odd: X[1],X[3],X[5],X[7]

2 2 2 2 2 (−1− j) − 2 (1− j) 2 (1+ j) 1 2 (1− j) -j -1 j 2 2 2 2 − 2 (−1− j) 1 2 (−1− j) j 2 (1− j) -1 -j 2 (−1+ j) 2 2 2 2 − 2 (−1+ j) 1 −1+ j -j -1 j 2 (−1− j) 2 ( ) 2 (1+ j) € € 2 € € 2 2 1 j 2 -1 − 2 (1+ j) -j 2 (1+ j) 2 (1− j) 2 (−1+ j) € € € € € € € € € € € € 8pt FFT

k − j(2πk /8) W8 = e

N/2log2N=12 mult Nlog2N=24 adds

x(t) = t 0 ≤ t < T0

T T j π X = 0 X = 0 e 2 € 0 2 k πk ∞ T0 T0 π x(t) = + ∑ cos(2πkf0t + 2 ) 2 k=1 πk € €

T0 x[n]= x(nTs ) = nTs 0 ≤ n < € Ts Ts = 0 T0 = NTs NT x[n]= x(n) = n 0 ≤ n < s Ts € N−1 € N N  1 π  x(t) = + ∑ cos 2πk n + 2  2 k=1 πk  N  €

€ FFT Convolution y[n]= h[n]* x[n]⇔ Y(ωˆ ) = H(ωˆ )X(ωˆ ) sample frequency domain domain € H[k] sampled version of H(ωˆ ) Use DFT/FFT to compute H[k] and X[k] Y[k]=H[k]X[k] € Use IDFT/IFFT to€ compute Y[k] Problem: H[k]X[k] must have equal lengths N to multiply Y[k] and y[n] will also have length N BUT Circular Convolution y[n]= h[n]⊗ x[n]⇔ Y[k]= H[k]X[k] sample frequency domain domain € Y[k]=H[k]X[k] Use IDFT/IFFT to compute Y[k]

Problem: H[k]X[k] must have equal lengths N to multiply Y[k] and y[n] will also have length N BUT Long Division 1 Y (z) = (1+ 2z−1)(1− z−1) 1 = −2z−2 + z−1 +1 € 1− z−1 + 3z−2 − 5z−3 = 1+ z−1 − 2z−2 1 € ) 1+ z−1 − 2z−2 −z−1 + 2z−2 −z−1 − z−2 + 2z−3 3z−2 − 2z−3 compare 2 n −2 −3 −4 y[n] = (−2) u[n]+1 3u[n] 3z + 3z − 6z 3 −5z−3 + 6z−4 ={1,-1,3,-5} n=0,1,2,3 € y[n] = δ[n]−δ[n −1]+ 3δ[n − 2]− 5δ[n − 3]+ L €

€ N−1 DFT X[k] = ∑ x[n]e− j(2πk / N)n N=2 n=0 = x[0]e− j(2πk /4)0 + xN=4[1]e− j(2πk /2)1 = x[0]+ x[1]e− j(πk) € X [0]= x[0]+ x[1] € 2 X[0]= x[0]+ x[1]+ x[2]+ x[3] € X2[1]= x[0]− jx[1] X[1]= x[0]− jx[1]− x[2]+ jx[3] Compare with N=4 X[2]= x[0]− x[1]+ x[2]− x[3] € € X[3]= x[0]+ jx[1]− x[2]− jx[3] € X4 [0]= x[0]+ x[1]+ x[2]+ €x[ 3]

X4 [2]= x[0]+ x[2]− (x[1]+€x[ 3]) € € X4 [1]= x[0]− x[2]− j(x[1]− x[3]) € X4 [3]= x[0]− x[2]− j(x[3]− x[1])

€ € 1 1 1 1 1 1 1 1 2 2 2 2 1 2 (1− j) -j − 2 (1− j) 2 (−1− j) -1 j 2 (1+ j) 1 -j -1 -j j j 1 2 -1 2 2 2 1 j 1− j − 2 (−1− j) −1+ j 1 2 (− − ) j 2 ( ) -1 -j 2 ( ) € € 1 -1 €1 -1 1 -1 1€ -1 2 2 2 2 2 (−1+ j) − 2 (−1+ j) 1 -j 2 (1+ j) -1 j 2 (−1− j) € € 1 j €-1 -j 1 j €-1 -j 2 2 2 2 1 2 (1+ j) j − 2 (1+ j) 2 (−1+ j) -1 -j 2 (1− j) € € € € 1 1 1 1 1 1 € € 1 1 1 -j €-1 j 1 -1 € -j j 1 -1 1 -1 1 1 -1 -1 1 j -1 -j 1 -1 j -j

1 1 1 -1 Even 8pt DFT 4pt DFT 1 1 1 1 1 1 1 1 1 -j j -1 1 -j -1 j 1 -1 -1 1 1 -1 1 -1 1 j -j -1 1 j -1 -j 1 1 1 1 1 -j -1 j 1 1 1 1 1 -1 1 -1 1 -j -1 j 1 j -1 -j 1 -1 1 -1 odd 1 j -1 -j 1 1 1 2 2 1 2 2 (1− j) 2 (−1− j) − 2 (1− j) 2 1+ j -j j 2 ( ) 2 -j -j 2 j 2 2 (1− j) −1− j − 2 (−1− j) 2 ( ) 2 1 j € € 2 (− + ) -1 -1 € -1 2 2 € -1 2 2 (−1+ j) 2 (1+ j) − 2 (−1+ j) 2 −1− j € € € 2 ( ) j -j j € 2 2 -j 2 2 (1+ j) 2 (−1+ j) bot=-top − 2 (1+ j) 2 1 j € € € 2 ( − ) €

€ € € € Long Division 1+1.9z−1 1+1.9z−1 Y(z) = = (1+ 2z−1)(1− z−1) −2z−2 + z−1 +1

1+ 0.9z−1 +1.1z−2 + 0.7z−3 right sided sequence € = 1+ z−1 − 2€z− 2 )1+1.9z−1 1+ z−1 − 2z−2 0.9z−1 + 2z−2 0.9z−1 + 0.9z−2 −1.8z−3 1.1z−2 +1.8z−3 1.1z−2 +1.1z−3 − 2.2z−4 0.7z−3 + 2.2z−4 y[n] = δ[n]+ 0.9δ[n −1]+1.1δ[n − 2]+ 0.7δ[n − 3]+ L compare n € y[n] = 0.033(−2) u[n]+ 0.9u[n] ={1, 0.9, 1.1, 0.7} n=0,1,2,3 €

€ Long Division 1+1.9z−1 1+1.9z−1 Y (z) = = 2 1 (1+ 2z−1)(1− z−1) −2z− + z− +1 −0.95z − 0.975z 2 − 0.9625z 3 left sided sequence −2 −1 −1 = −2z + z +€1 1.9z +1 € ) 1.9z−1 − 0.95− 0.95z 1.95+ 0.95z 1.95− 0.975z − 0.975z−3 1.925z−2 + 0.975z−3 1.925z−2 − 0.9625z−3 − 0.9625z−4

y[n] = −0.95δ[n +1]− 0.975δ[n + 2]+ 0.9625δ[n + 3]+ L € compare n € y[n] = 0.033(−2) u[−n −1]+ 0.9u[−n −1] ={0.95, 0.975, 0.963} n={-1, -2, -3}

€  2π  x[n] = 1, 0, −1, 0 x[n] = cos n { }  4 

3 N−1 € − j(2πk / 4)n X[k] = ∑ x[n]e− j(2πk / N)n = ∑ x[n]e n 0 € n=0 = = x[0]+ x[1]e− j(2πk / 4) + x[2]e− j( 2πk / 4) 2 + x[3]e− j(2πk / 4)3

€ − j 2πk / 4 2 € = x[0]+ x[2]e ( )

− jπk € = 1− e k = 1− −1 € ( ) check: k=0, 1, 2, 3 »x=[1 0 -1 0]; € X[k] = {0, 2, 0, 2} »X=fft(x)

 3π  X = − j(π / 2) − j(π ) − j  e e  2  0 2 0 2 € DC e Note: 0>ω>2π € € only €extract € € limited number of frequencies due to N samples per period