MIT OpenCourseWare http://ocw.mit.edu MAS.160 / MAS.510 / MAS.511 Signals, Systems and Information for Media Technology Fall 2007 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. M y [ n ] = bk x [ n k ] FIR y [ n] = h [k ] x [n k ] convolution k= 0 M k= 0 x [ n ] = Ae j� e j�ˆn Complex exponential input M y [ n ] = h [ k ] Ae j� e jˆ ( nk) k= 0 M � j� jˆn jˆk = h [ k ]e Ae e k= 0 = H (�ˆ ) Ae e j� H (�ˆ ) j�ˆ n frequency response let M H (�ˆ ) = h[k]e j�ˆ k k=0 Ex. y [ n ] = 13 x [ n ] + 13 x [ n �1] + 13 x [ n � 2] h [ n ] = 13 � [ n ] + 13 � [ n �1] + 13 � [ n � 2] 2 H (�ˆ ) = h[k]e j�ˆ k k=0 = h[0]e j�ˆ 0 + h[1]e j�ˆ 1 + h[2]e j�ˆ 2 = 13 + 13 e j�ˆ + 13 e j�ˆ 2 = 13 (1+ e j�ˆ + e j 2�ˆ ) = 13 e j�ˆ (e j�ˆ +1+ e j�ˆ ) = 13 e j�ˆ (1+ 2 cos �ˆ ) FIR 1 � j�ˆ ˆ H (� ) = 3 e (1+ 2 cos �ˆ ) = 13 (1+ 2 cos �ˆ )(cos �ˆ � j sin �ˆ ) H (�ˆ ) = (1+ 2 cos �ˆ ) 1 1 3 Note: H( 2� 3 ) =0 H (�ˆ ) 0.6 0.4 linear phase � �ˆ 2 � 3 � ˆ < 0 =� ��ˆ + � � � ˆ < 2 � 3 �H (��ˆ ) = ��H (�ˆ ) linear phase 0.2 0 -4 �H (ˆ ) = �ˆ low pass filter 0.8 -3 -2 -1 0 1 2 3 4 -3 -2 -1 0 1 2 3 4 3 2 1 �H (�ˆ )0 -1 -2 -3 -4 �ˆ principal value of phase fn zero Normalized vs. actual frequency H (�ˆ ) = Note: 1 3 (1+ 2 cos �ˆ ) H( 2� 3 1 H (�ˆ ) ) =0 0.6 0.4 �ˆ = f =? linear phase 0.2 0 -4 2� 3 low pass filter 0.8 normalized frequency 3 actual frequency (Hz) 1 2 -3 f fs 0 f �ˆ =� �ˆ = 2 �f̂ = 2 � �ˆ fs f= 2� -2 -3 -4 -1 � < �ˆ < � -1 f̂ = -2 -3 -2 0 1 �ˆ �fs fs = = 2� 2 -1 0 2 zero 3 4 3 4 Nyquist 1 2 �ˆ f fs �ˆ = 23� , fs = 8000Hz f= 2� 3 8000 8000 = Hz = 1667Hz 3 2� Convolution / solving the difference equation x [ n ] = 3 + 3cos(0.6�n ) y [ n ] = 13 x [ n ] + 13 x [ n �1] + 13 x [ n � 2] input FIR filter sample domain y [ n ] = 1+ cos(0.6�n ) + 1+ cos(0.6� ( n 1)) + 1+ cos(0.6� ( n 2)) = 3 + cos(0.6�n ) + cos(0.6� ) cos(0.6�n ) + sin(0.6� ) sin(0.6�n ) + cos(1.2� ) cos(0.6�n ) + sin(1.2� ) sin(0.6�n ) M = 3 + 0.382cos(0.6�n 0.6� ) Multiplication in frequency domain x [ n ] = 3 + 3cos(0.6�n ) closer �ˆ to a zero, the smaller the output. 1 0.8 H (�ˆ ) 0.6 0.4 0.2 0 -4 -3 -2 -1 0 1 2 3 4 -3 -2 -1 0 1 2 3 4 3 2 �H (�ˆ ) 1 0 -1 -2 -3 -4 H (�ˆ ) = 13 (1+ 2 cos �ˆ ) �H (�ˆ ) = ��ˆ �ˆ H (0) = 1 H (0.6 � ) = 0.127 �H (0) = 0 �H ( 0.6 � ) = 0.6 � y[n ] = 3(1) + 3(0.127) cos(0.6�n 0.6� ) = 3 + 0.382cos(0.6�n 0.6� ) h1[n]= [1/3,1/3,1/3] x [ n] h2[n]= [1/3,-1/3,1/3] h1[n]=[1/3,1/3,1/3] h2[n]=[1/3,-1/3,1/3] lowpass highpass 1 1 0.9 0.9 0.8 0.8 0.7 H 1 (�ˆ ) 0.7 H 2 (�ˆ ) 0.6 0.5 0.4 0.6 0.5 0.4 0.3 0.3 0.2 0.2 0.1 0 0 y[ n ] 0.1 0.5 1 1.5 2 2.5 0 0 3 0.5 �ˆ 1 1.5 2 2.5 3 3.5 �ˆ x [ n] y[ n ] h1[n]* h2[n] bandstop h1[n]* h2[n]=[1/9,0,1/9,0,1/9] 0.35 H (�ˆ ) = H 1 (�ˆ ) � H 2 (�ˆ ) 0.3 0.25 H 1 (�ˆ ) H 2 (�ˆ ) 0.2 0.15 0.1 0.05 0 0 0.5 1 1.5 �ˆ 2 2.5 3 3.5 sample domain convolution = freq domain multiplication (and visa versa) Ideal High pass �c=2.6 Ideal Low pass �c=.8 x [ n] lowpass H 1 (�ˆ ) highpass 1 1 0.8 0.8 H 2 (�ˆ ) 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.5 1 1.5 2 y[ n ] 2.5 0 3 0 0.5 �ˆ 1 1.5 2 2.5 3 �ˆ x [ n] y[ n ] h1[n]* h2[n] null 1 0.9 0.8 0.7 H 1 (�ˆ ) H 2 (�ˆ ) 0.6 0.5 passbands don’t overlap 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 �ˆ 2 2.5 3 Ideal High pass �c=0.8 Ideal Low pass �c=.2.6 x [ n] lowpass H 1 (�ˆ ) highpass 1 1 0.8 0.8 H 2 (�ˆ ) 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.5 1 1.5 2 y[ n ] 2.5 0 3 0 0.5 �ˆ 1 1.5 2 2.5 3 �ˆ h1[n]* h2[n] x [ n] y[ n ] Ideal Bandpass �c=0.8 -> 2.6 bandpass 1 0.8 H 1 (�ˆ ) H 2 (�ˆ ) 0.6 passbands overlap 0.4 0.2 0 0 0.5 1 �ˆ 1.5 2 2.5 3 Ideal Low pass �c=.8 x [ n] y[ n ] Ideal High pass �c=2.6 lowpass H 1 (�ˆ ) highpass 1 1 0.8 0.8 H 2 (�ˆ ) 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.5 1 1.5 2 2.5 0 3 0 0.5 �ˆ 1 1.5 2 2.5 3 �ˆ h1[n]+ h2[n] x [ n] y[ n ] Ideal Bandstop �c=0.8 -> 2.6 bandstop 1 0.8 H 1 (�ˆ ) + H 2 (�ˆ ) 0.6 passbands don’t overlap 0.4 0.2 0 0 0.5 1 �ˆ 1.5 2 2.5 3 Ideal All - pass �[n] x [ n] y[ n ] Ideal Low pass �c=.8 - all-pass H 1 (�ˆ ) lowpass 1 1 0.8 0.8 H 2 (�ˆ ) 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.5 1 1.5 2 2.5 0 3 0 0.5 �ˆ 1 1.5 �ˆ �[n]- h2[n] Highpass �c=0.8 x [ n] y[ n ] highpass 1 0.8 1� H 2 (�ˆ ) 0.6 0.4 0.2 0 0 0.5 1 �ˆ 1.5 2 2.5 3 2 2.5 3 h1[n]=[1/3,1/3,1/3] h2[n]=�[n]-h1[n]=[2/3,-1/3,-1/3] lowpass highpass 1.4 1.4 1.2 1.2 H 2 (�ˆ ) 1 H 1 (�ˆ ) 0.8 = 1� H 1 (�ˆ ) 0.6 0.4 1 0.8 0.6 0.4 0.2 0.2 0 0 0.5 1 1.5 2 2.5 3 0 0 0.5 1 1.5 �ˆ 2 2.5 3 �ˆ h5 [n] h3[n] =h1[n]* h2[n] h4[n] =h1[n]+ [1/3 -1/3 1/3] =[2/3 0 2/3] =[2/9, 1/9, 0, -2/9, -1/9] bandpass bandstop 1.4 1.4 H 3 (�ˆ ) = H 1 (�ˆ ) H 2 (�ˆ ) 1.2 1.2 H 4 (�ˆ ) 1 0.8 = H4 0.6 0.4 (�ˆ ) + H (�ˆ ) 1 0.8 0.6 5 0.4 0.2 0.2 0 0 0.5 1 1.5 2 2.5 3 0 �ˆ 0 0.5 1 1.5 �ˆ 2 2.5 3 FIR low-pass filter response vs. number of taps N N=5 N=20 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 b =[0, -0.049, 0.549, 0.549, -0.049, 0] 0 0 0.5 1 1.5 2 2.5 3 0 0 0.5 1 1.5 N=50 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0.5 1 1.5 2.5 3 N=100 1 0 2 2 2.5 3 0 0 0.5 1 More coefficients (“taps”), can achieve more ideal response; Longer to compute, more memory, greater phase shift 1.5 2 2.5 3 Note: These aren’t L-point averagers, fir1(), Hammingwindow, Wn=0.8 Causal FIR Filter x [ n] Causal FIR filter y[ n ] In an FIR filter, the output y at each sample n is a weighted sum of the present input, x[n], and past inputs, x[n-1], x[n-2],…, x[n-M]. y [ n ] = b0 x [ n ] + b1 x [ n �1] + K + bM x [ n � M ] M y [ n ] = bk x [ n k ] k= 0 Causal IIR filter Infinite Impulse Response x [ n] y[ n ] Causal IIR filter For an IIR filter, the output y at each sample n is a weighted sum of the present input, x[n], past inputs, x[n-1], x[n-2],…, x[n-M], and past outputs, y[n-1], y[n-2],…, y[n-N].. y[n] = b0 x [n] + b1 x[n �1] +K+ bM x [n � M ] + a1 y[n �1] + a2 y[n � 2] +K+ a M y[n � N ] N M y[n] = al y[n l ] + bk x[n k ] l=1 k=0 N�M proper system IIR Impulse Response x[n] = 1� [n ] y[n] = 12 y[n �1] + 2x [n] To calculate output at step n, need previous outputs. At step n=0, assume initial rest conditions. x[n]=0, y[n]=0 for n<0 y[0] = 12 y[0 �1] + 2x [0] = 12 � 0 + 2 �1 = 2 y[1] = 12 y[1�1] + 14 x[1] = 12 y[0] + 14 x [1] = 12 � 2 + 14 � 0 =1 for n>0 0 y[n] = 12 y[n �1] + 2x [n] = 12 y[ n �1] n = [ �1 x [ n] = [ 0 � 2 0 1 2 3 4 K] 0 1 0 0 0 0 K] y[n] = 12 y[n �1] + 2x [n] y[ n ] = [ 0 0 2 1 1 2 1 4 1 8 K2 � 12 n ] = h[n] impulse response 2 1.8 1.6 1.4 y[n] 1.2 1 TextEnd 0.8 0.6 0.4 0.2 0 1 2 3 4 5 6 n 7 8 9 10 decays exponentially, goes on forever “infinite impulse response” IIR impulse response N M l=0 k=0 y[n] = ak x [n l ] + bk x[n k ] IIR filter �1 n=0 x [ n ] = �[n] = � �0 otherwise Delta function M y[n] x=� [ n ] = h[n] � � bk� [n � k ] k=0 Can’t read filter coefficients off of impulse response impulse response y [ n] = � � h[n]x [n � k ] k=�� Convolution sum: LTI systems: FIR/IIR IIR convolution x[n] = x[k]� [n � k ] � y[n] = � x[k]h[n � k ] k=�� We can decompose x[n] into scaled delayed impulses. Here assume finite length x[n]. Convolution sum: LTI: FIR / IIR y[n] = x[0]h[n] + x[1]h[n �1]+ x[2]h[n � 2]+ K Each impulse has a scaled impulse response. The final output is a sum of those scaled and delayed impulse responses. Now the impulse responses are Infinite in length. IIR convolution x[n] = 2� [n] � 3� [n �1] + 2� [n � 2] h[ n] = [ 0 n=-2 0 2 1 1 2 1 4 1 8 -1 2 3 4 0 1 � y[n] = � x[k]h[ n � k ] K2 � 12 n ] … Each impulse has a scaled impulse response. The final output is a sum of those scaled and delayed impulse responses. k=�� y[n] = 2 � h[n] � 3� h[n �1]+ 2 � h[n � 2] n>2 � 0 � = � � � � 0 0 4 0 0 �6 �3 0 4 2 1 1 2 1 4 1 8 �3 2 �3 4 �3 8 0 4 2 1 1 2 �4 2 1 1 2 1 4 K2 � 12 n�1 � � 1 n�2 K� 3� 2 � K2 � 12 n�3 � n�2 � 1 K2 [ 2 ] � K[ ] 1 2 n �3 [ 2 12 2 � 3 12 + 2] IIR convolution x[n] 5 0 TextEnd h[n] -5 -2 5 0 2*h[n] -3*h[n-1] 2*h[n-2] 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 n 6 8 10 TextEnd -5 -2 10 y[n] 0 0 TextEnd -10 -2 10 0 -10 -2 10 TextEnd 0 -10 -2 10 TextEnd 0 TextEnd -10 -2 [ y[n] = 0 0 4 �4 2 1 1 2 1 4 K2 � [ ] 1 2 n�2 ] IIR convolution x[n] = 2� [n] � 3� [n �1] + 2� [n � 3] h[ n] = [ 0 0 2 1 1 2 1 4 1 8 y[n] = h[n]* x[n] y[n] = 0 0 4 �4 2 1 [ 1 2 K2 � 12 n ] 1 4 K2 � [ 4 3 2 y[n] 1 0 TextEnd -1 -2 -3 -4 -2 0 2 4 n 6 8 10 ] 1 2 n�2 ] Frequency response � y[n] = � h[ k ] x [n � k] convolution k=0 x [ n ] = Ae j� e j�ˆn � y[n] = � h[ k ] Ae j� e Complex exponential input j�ˆ ( n�k ) k=0 ( ) � = � h[ k ]e� j�ˆ k Ae j� e j�ˆ n k =0 = H (�ˆ ) Ae e j� j�ˆ n frequency response let � H (�ˆ ) = � h[k]e j�ˆ k k=0 This sum must converge for H (�ˆ ) to exist. H (�ˆ ) is the Discrete Time Fourier Transform of the impulse function h[n] Frequency response FIR IIR M y [ n ] = bk x [ n k ] k= 0 M h[ k ] = bk� [n k ] k=0 M H (�ˆ ) = h[k]e N M l=1 � k=0 y[n] = al y[n l ] + bk x[n k ] h[ k ] � � bk� [n � k ] k=0 x j�ˆ k k=0 M H (�ˆ ) = bk e j�ˆ k Argh! � H (�ˆ ) = � h[k]e j�ˆ k k=0 k=0 Easy to go from difference equation to frequency response because h[n] finite length and h[n] = [b0, b1,…]. Tough to go from diff.eqn. to freq. response because h[n] infinite length, h[n]=f(a ,bk) is complicated, and H (�ˆ ) may be unbounded. l temporal space - n complex frequency space- z N M y[n] = al y[n l ] + bk x[n k ] l=1 � k=0 h[ k ] � � bk� [n � k ] z-transform M H ( z) = k=0 Argh! @#! road block � H (�ˆ ) = � h[k]e j�ˆ k bk z M �( z zzi ) k k=0 N 1 ak z k = k=1 i=0 N � (z z pi ) i=0 Fourier transform k=0 frequency space - � Hurray! H (� ) = H (e j� ) = H ( z) z=e j� The frequency response is H(z) evaluated on unit circle Benefits of z-plane and z-transforms: 1. Get around road block by using z-plane and z-transforms. Compute system function from diff.eq. coefficients, then evaluate on the unit circle to find the frequency response. 2. z-plane (pole/zeros) will tell us if system stable and frequency response exists. 3. By using z-transforms, solution to diff.eq goes from solving convolution in n-space to solving algebraic equations in z-domain (easier). And lots more…! Frequency response � y[n] = � h[ k ] x [n � k] convolution k=0 x [ n ] = Ae j� e j�ˆn � y[n] = � h[ k ] Ae j� e Complex exponential input j�ˆ ( n�k ) k=0 ( ) � = � h[ k ]e� j�ˆ k Ae j� e j�ˆ n k =0 = H (�ˆ ) Ae e j� j�ˆ n frequency response let � H (�ˆ ) = � h[k]e j�ˆ k k=0 This sum must converge for H (�ˆ ) to exist. H (�ˆ ) is the Discrete Time Fourier Transform of the impulse function h[n] System function � y[n] = � h[ k ] x [n � k ] convolution k=�� x [ n] = z n y[n] = power sequence of complex numbers � � h[ k ] z ( n�k ) k=�� ( � = � h[ k ] z k =�� �k )z n = H ( z) z n = H ( z) e j�H ( z) z n � H (z) = � h[ k ] z � k system function k=�� let � H (z) = � h[ k ] z � k k=�� scaled and shifted power sequence LTI z characteristic functions of LTI systems n 1 0.8 Re( z n ) 0.6 0.4 z=e 0.2 0 z n +(z * )n 2 j 216� -0.2 -0.4 sinusoid -0.6 -0.8 -1 0 5 10 15 20 25 30 35 1 Re( z n ) z n +(z * )n 2 0.5 z = 0.9e 0 j 216� damped sinusoid -0.5 0 5 10 15 20 25 30 35 1 0.9 0.8 0.7 0.6 z n z = 0.8 0.5 0.4 0.3 exponentials 0.2 0.1 0 0 5 10 15 20 25 30 35 z-plane and sample responses zn Im(z)1 2 0 1 0 -2 0 5 1 -1 1 1 0 0 -1 0 -1 5 0 0 5 -1 0 0 5 1 0 -1 0 0 5 -1 1 0 0 5 Re(z) 0.5 -1 5 1 1 1 0 0 5 1 0 0 1 -1 0 -1 0 5 -1 -1 0 5 0 5 0 5 zn z-plane 1 Im(z) high freq z =1 low freq DC, �=0 0 -1 0 5 1 1 Re(z) z = e ± j�ˆ 0 -1 z = �1 unit circle sinusoids 0 5 1 Nyquist sampled sinusoid 0 -1 0 5 zn z-plane 1 ± j �4 z = 0.5e 0 -1 high freq Im(z) 0 5 0 5 0 5 low freq 1 ± j �2 z = 0.5e 0 -1 0.5 Re(z) z = 0.5e |z|<1 Damped sinusoids 1 ± j 34� 0 -1 1 z = �0.5 0 -1 0 5 Nyquist sampled damped sinusoid zn z-plane 1 Im(z) z =1 0 -1 10 z = 0.6 1 0 -1 10 Re(z) z = 0.4 5 5 0 -1 0 5 0 5 +Re(z) axis exponential decay 1 z=0 0 -1 Im(z) z = �0.5 1 -1 1 -Re(z) axis 0 Re(z) 0 5 �s 2 2 samples/cycle 1 z = �1 0 -1 0 5 Nyquist sampled signals zn z-plane Im(z) 1 z = ±1j 0 -1 0 5 0 5 0 5 1 1 Re(z) z = ± j0.5 0 -1 Im(z) axis every other sample 0 1 z=0 0 -1 Im(z) |z| > 1 unstable 2 1 z = ± j1.1 Re(z) 0 -2 0 5 |z| < 1 stable System function � y[n] = � h[ k ] x [n � k ] convolution k=�� x [ n] = z n y[n] = power sequence of complex numbers � � h[ k ] z ( n�k ) k=�� ( � = � h[ k ] z k =�� �k )z n = H ( z) z n = H ( z) e j�H ( z) z n � H (z) = � h[ k ] z � k system function k=�� let � H (z) = � h[ k ] z � k k=�� scaled and shifted power sequence LTI z-transform z x[n] � X(z) = � � x[k]z definition �k k=�� Ex. impulse x[n ] = � [ n ] z � X(z) = � �� [ k ] z �k k=�� = z�0 Ex. y[n] = h[n]� x[n] = h[n]� �[n] =1 Y (z) = H(z) �1 = H(z) H(z) is the z-transform of the impulse response h[n] y[n] = h[n] H (z) = � h[ k ] z � k c z c z � k=�� LTI Ex. n0 sample delayed impulse x[n] = � [ n � n 0 ] n0th power of z-1 X(z) = � � �k � k � n z [ ] � 0 k=�� =z Ex. finite response �n 0 = (z ) �1 n 0 8 6 4 x[n] 2 0 TextEnd -2 -4 -6 -8 -1 0 1 2 3 4 5 6 n x[n] = 1� [ n ] � 2� [ n �1] + 5� [ n � 2] � 7� [ n � 3] cz X(z) = 1� 2z�1 + 5z�2 � 7z�3 7 8 9 10 Ex. y [ n ] = 13 x [ n ] + 13 x [ n �1] + 13 x [ n � 2] FIR h [ n ] = 13 � [ n ] + 13 � [ n �1] + 13 � [ n � 2] 2 H ( z) = h[k]zk k= 0 = h[0]z 0 + h[1]z1 + h[2]z2 = 13 + 13 z1 + 13 z2 = 1 3 (z ) 1 0 + 1 3 ( z ) + (z ) 1 1 2 1 3 1 2 polynomial in z-1 2 h[n] = bk� [ n k ] � H ( z) = bk zk k= 0 sequence � n-domain (sample space) FIR only! k= 0 polynomial z-domain (complex freq space) 2 z + z +1 1 1 �1 1 �2 H ( z) = 3 + 3 z + 3 z = 3z 2 Ex. y[n] = H ( z) z n H ( z) = 0 num=0 y[n] = 0 ( ) z = 12 1± j 3 = e H ( z) = � denom=0 z2 + z + 1 = 0 y[n] = � z 2 = 0 z = 0, 0 ± j 2� zeros 3 roots of numerator poles roots of denominator 5 4 3 |H(z)| 2 1 2 0 2 1 2 1 0 Im(z) 0 -1 -1 -2 -2 Re(z) FIR filters only have zeros on unit circle, and poles are either at 0 or �. #poles=#zeros “extra” zero/poles are at z=�. system response |H(z)| pz plot 1 5 0.8 4 0.6 0.4 3 Imaginary part |H(z)| 2 1 2 0.2 2 0 -0.2 2 TextEnd -0.4 0 2 -0.6 1 2 -0.8 1 Im(z) 0 0 -1 -1 -2 -1 Re(z) -1 -2 -0.5 0 Real part 0.5 1 1 0.9 frequency response H (� ) = H (e j� ) = H ( z) z=e j� 0.8 0.7 |H(ej�)| 0.6 0.5 0.4 0.3 The frequency response is H(z) evaluated on unit circle 0.2 0.1 0 -3 -2 -1 0 � 1 2 3 Ex. N M l=1 k=0 N M l=1 k=0 y[n] = al y[n l ] + bk x[n k ] IIR h[n] = al h[n l ] + bk� [n k ] N M H (z) = al H (z)z + bk z k l l=1 ( k=0 N H (z) 1 al z l=1 M H ( z) = l bk z ) M = bk z k k=0 k k=0 N 1 ak z k freqz(b,a) k=1 sequence � n-domain (sample space) polynomial z-domain (complex freq space) Equivalent ways to represent the system 1 2 N M y[n] = al y[n l ] + bk x[n k ] l=1 � k=0 b1 x[n] b0 a1 unit delay + + difference equation x[n]=�[n] c c inspection M 3 bk z z h[n] = y[n] x[ n ]=� [ n ] � H ( z) = k=0 N z = e 6 = k=1 4 j� c system function polynomial H (� ) = H (e j� ) = H ( z) z=e j� frequency response y[n] M k 1 ak z k impulse response sequence block diagram �( z zzi ) i=0 N �( z z pi ) i=0 pole-zero locations 5 All poles must be inside unit circle for H (�) to converge and the system to be stable. (FIR filter always stable) IIR filter difference equation y [ n ] = x [ n ] + y [ n �1] � 0.5y [ n � 2] 1 0.8 0.6 M Imaginary part 0.4 0.2 2 0 -0.2 H ( z) = 2 TextEnd bk z k k=0 N 1 ak z k k=1 -0.4 -0.6 -0.8 -1 -1 -0.5 0 Real part 0.5 1 1 z2 H ( z) = = 1� z �1 + 0.5z �2 z 2 � z + 0.5 M = = frequency response H (� ) = H (e j� ) = H ( z) z=e j� �( z � zzi ) i=0 N � (z � z pi ) i=0 z�z (z � 0.5 � j0.5)(z � 0.5 + j0.5) zeros: 0, 0 poles: 0.5±j0.5 zeros: 0, 0 poles: 0.5±j0.5 1 0.8 IIR filter 0.6 M Imaginary part 0.4 0.2 2 0 -0.2 H ( z) = 2 TextEnd = -0.4 -0.6 -0.8 -1 -1 -0.5 0 Real part 0.5 1 1 z2 = � 2 �1 �2 �1 �2 1� z + 0.5z 1� z + 0.5z z z2 = 2 z � z + 0.5 frequency response H (� ) = H (e j� ) = H ( z) z=e j� 1 �( z � zzi ) i=0 N � (z � z pi ) i=0 z�z (z � 0.5 � j0.5)(z � 0.5 + j0.5) z2 1 = 2 = z � z + 0.5 1� z �1 + 0.5z �2 M H ( z) = bk z k k=0 N 1 ak z k k=1 difference equation y [ n ] = x [ n ] + y [ n �1] � 0.5y [ n � 2] zeros: 0, 0 poles: 0.5±j0.5 1 0.8 IIR filter 0.6 z2 H ( z) = ( z � 0.5 � j0.5)( z � 0.5 + j0.5) Imaginary part 0.4 0.2 2 0 -0.2 2 z2 1 = 2 = z � z + 0.5 1� z�1 + 0.5z�2 TextEnd -0.4 -0.6 H (�ˆ ) = H ( z) z= e j�ˆ -0.8 -1 -1 -0.5 0 Real part 0.5 y [ n ] = x [ n ] + y [ n �1] � 0.5y [ n � 2] 1 Magnitude Response (dB) 10 1 5 0.8 0 0.6 -5 TextEnd -10 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 Normalized frequency (Nyquist == 1) 0.6 0.8 1 100 Phase (degrees) 0.4 y[n] 0.2 50 0 0 -0.2 -50 -100 -1 TextEnd -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 Normalized frequency (Nyquist == 1) 0.6 0.8 1 -0.4 0 2 4 6 8 10 n 12 14 16 18 20 zeros: 0, 0 poles: 0.5±j0.5 1 0.8 IIR filter 0.6 z2 H ( z) = ( z � 0.5 � j0.5)( z � 0.5 + j0.5) Imaginary part 0.4 0.2 2 0 -0.2 2 z2 1 = = 2 z � z + 0.5 1� z�1 + 0.5z�2 TextEnd -0.4 -0.6 H (�ˆ ) = H ( z) z= e j�ˆ -0.8 -1 -1 -0.5 0 Real part 0.5 1 y [ n ] = x [ n ] + y [ n �1] � 0.5y [ n � 2] 1 To go from p-z map to impulse response: Look at locations of poles. Closer poles are to zeros, the weaker their response. 0.8 0.6 0.4 y[n] 0.2 0 -0.2 -0.4 0 2 4 6 8 10 n 12 14 16 18 20 zeros: 0, 0 poles: 0.5±j0.5 1 0.8 IIR filter 0.6 z2 H ( z) = ( z � 0.5 � j0.5)( z � 0.5 + j0.5) Imaginary part 0.4 0.2 2 0 -0.2 2 z2 1 = 2 = z � z + 0.5 1� z�1 + 0.5z�2 TextEnd -0.4 -0.6 H (�ˆ ) = H ( z) z= e j�ˆ -0.8 -1 -1 -0.5 0 Real part 0.5 y [ n ] = x [ n ] + y [ n �1] � 0.5y [ n � 2] 1 Magnitude Response (dB) 10 5 0 -5 TextEnd -10 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 Normalized frequency (Nyquist == 1) 0.6 0.8 1 -0.4 -0.2 0 0.2 0.4 Normalized frequency (Nyquist == 1) 0.6 0.8 1 Phase (degrees) 100 50 0 -50 -100 -1 TextEnd -0.8 -0.6 From zp map to freq response: Go around unit circle from DC to Nyquist. Response goes down near zeros, goes up near poles. Closer poles are to zeros, the weaker their effect. z-transform x[n] = � � x[k]�[n � k ] � X(z) = k=�� sequence � n-domain (sample space) � �k x[k]z � k=�� polynomial z-domain (complex freq space) M h[n ] � H ( z) = impulse response sequence b z k k k= 0 N 1 ak zk system function k=1 polynomial H(z) is the z-transform of the impulse response h[n]. LTI z-transform x[n] = � � x[k]�[n � k ] � X(z) = k=�� sequence � n-domain (sample space) � �k x[k]z � k=�� polynomial z-domain (complex freq space) Why’re we interested? M y [ n] = h [k ] x [n k ] convolution sum Y (z) = H(z)X(z) polynomial multiplication k= 0 z-transform x[n] � X(z) = � �k x[k]z � k=�� impulse x[n] = � [ n ] � X(z) = � �� [ k ] z �k k=�� = z�0 =1 Ex. y[n] = h[n]� x[n] = h[n]� �[n] c z Y (z) = H(z) �1 = H(z) c z y[n] = h[n] H(z) is the z-transform of the impulse response h[n] LTI n0th power of z-1 n0 sample delayed impulse x[n] = � [ n � n 0 ] X(z) = � � �k � k � n z [ ] � 0 k=�� =z Ex. finite response �n 0 = (z ) �1 n 0 8 6 4 x[n] 2 0 TextEnd -2 -4 -6 -8 -1 0 1 2 3 4 5 6 n x[n] = 1� [ n ] � 2� [ n �1] + 5� [ n � 2] � 7� [ n � 3] cz X(z) = 1� 2z�1 + 5z�2 � 7z�3 7 8 9 10 Infinite signals � x[n]u[n] � X(z) = � x[k]z�k right-sided signals k= 0 x[n] = a u[n] n � � X(z) = � a k z�k k= 0 � = � ( az ) �1 k k= 0 = 1+ az + ( az �1 ) + (az ) K �1 2 geometric series �1 3 Infinite signals x[n] = a n u[n] � � X(z) = � a k z�k k= 0 = 1+ az + ( az �1 geometric series X ( z) = 1+ az + ( az �1 - az X ( z) = � az �1 �1 ) + (az ) K �1 2 �1 3 ) + (az ) K � ( az ) � ( az ) � ( az ) K �1 2 �1 3 �1 2 �1 3 �1 4 �1 1� az ( ) X (z) = 1 1 X ( z) = 1� az�1 az�1 < 1 or z > a region of convergence Infinite series: x[n] = a n u[n] IIR filter � X(z) = � a k z�k � k= 0 x[n]=0 n<0 right sided 1 X ( z) = 1� az�1 z > a region of convergence Finite series: x[n] = a n ( u[n � M] � u[n � N]) � X(z) = az ) ( X ( z) = �1 M � ( az 1� az�1 lim X(z) = N � M z�a N 1 FIR filter a z k k k= M ) �1 N all z region of convergence Ex. x[n] = 1u[ n ] X(z) = X(z) = ? � �k x[k]z � We know: k=�� � = �z � � (az ) �k k= 0 k= 0 � = � (z ) 1 = 1� z�1 1 = 1� az�1 z>a �1 k k= 0 �1 k let a =1 z >1 roc Ex. x[n] = cos(�ˆ n)u[ n ] � � x[k]z X(z) = �k k=�� � =� = = ( � = � cos(ˆ k ) z�k k= 0 e jˆk + e � jˆk 2 k= 0 � 1 2 k= 0 )z jˆk �k e � z + � 1 2 � (e ) jˆ �1 k z k= 0 let a = e X(z) = ? j�ˆ We know: � �k � (az ) k= 0 � 1 2 + �1 k � jˆk �k e � z 1 = 1� az�1 z>a k= 0 � 1 2 roc � (e ) � jˆ �1 k z k= 0 let a = e 1 1 1 1 =2 +2 j�ˆ �1 1� e z 1� e� j�ˆ z�1 � j�ˆ intersection of roc’s z > e j�ˆ � e� j�ˆ z >1 Ex. x[n] = cos(�ˆ n)u[ n ] X(z) = � � k=�� k= 0 X(z) = ? Cont. �k �k ˆ = cos k z x[k]z � ( ) � 1 1 1 = +2 j�ˆ �1 1� e z 1� e� j�ˆ z �1 z z 1 1 =2 +2 j�ˆ � j�ˆ z�e z�e 1 2 � j�ˆ j�ˆ 2z � e � e = 12 z 2 z � (e� j�ˆ + e j�ˆ ) z + 1 z � cos(�ˆ ) =z 2 z � 2cos(�ˆ )z + 1 z >1 Table of z-transforms signal �[n � k] u[n] n 2 u[n] � cos(�n ) u[n] n � n sin(�n ) u[n] z-transform ROC z�k all z z z �1 z >1 z( z + 1) ( z �1) 3 z( z � � cos � ) z 2 � (2� cos� ) z + � 2 z� sin � z 2 � (2� cos� ) z + � 2 z >1 z>� z>� z-transform properties a1 x1 [ n ] + a2 x 2 [ n ] � a1 X1 ( z) + a2 X 2 ( z) linearity/superposition x [ n � m] � z�m X ( z) sample shift h [ n ] � x [ n ] � H ( z) X ( z) sample domain convolution z domain multiplication dX(z) nx [ n ] � �z dz a n x [ n ] � X ( az ) multiply by a ramp z domain differentiation multiply by an exponential z domain scaling Ex. X ( z) = ? x[n] = na n u[n] We already know 1 a u[n] � 1� az�1 n dY (z) ny [ n ] � �z dz and d � 1 � d � z � = � � � �1 � dz �1� az � dz � z � a � = na n u[ n ] � �z �� �a ( z � a) 2 = az�2 (1� az ) �1 2 az �1 (1� az ) �1 2 �az�2 (1� az ) �1 2 Next: Solve difference equation using z-transforms. Convolution problem in the temporal domain becomes an algebra problem in the z-domain. Need to know how to convert from z-domain back to temporal domain (inverse z-transform). y [ n ] = 13 x [ n ] + 13 x [ n �1] + 13 x [ n � 2] h [ n ] = 13 � [ n ] + 13 � [ n �1] + 13 � [ n � 2] x[n] = cos(�ˆ n )u[ n ] y [ n ] = h [ n ] � x [ n ] � Y (z) = H ( z) X ( z) 2 + z +1 z 1 1 �1 1 �2 H ( z) = 3 + 3 z + 3 z = 2 3z z � cos(�ˆ ) X(z) = z 2 z � 2cos(�ˆ )z + 1 z 2 + z + 1 � z � cos(�ˆ ) � Y (z) = � z 2 � 2 3z � z � 2cos(�ˆ )z + 1 � 2 � z � cos(�ˆ ) � � z + z +1 � �1 y[n] = Z � z 2 2 ˆ � 3z � z � 2 cos(� )z + 1 ��