Digital Signal Processing Lecture 8
Total Page:16
File Type:pdf, Size:1020Kb
Lecture 8 Recap Introduction CT->DT Digital Signal Processing Impulse Invariance Lecture 8 - Filter Design - IIR Bilinear Trans. Example Electrical Engineering and Computer Science University of Tennessee, Knoxville Overview Lecture 8 1 Recap Recap Introduction CT->DT 2 Introduction Impulse Invariance 3 Bilinear Trans. CT->DT Example 4 Impulse Invariance 5 Bilinear Trans. 6 Example Roadmap Lecture 8 Introduction Discrete-time signals and systems - LTI systems Unit sample response h[n]: uniquely characterizes an Recap LTI system Introduction Linear constant-coefficient difference equation CT->DT Frequency response: H(ej!) Impulse Invariance Complex exponential being eigenfunction of an LTI j! j! Bilinear Trans. system: y[n] = H(e )x[n] and H(e ) as eigenvalue. Example z transform P1 −n The z-transform, X(z) = n=−∞ x[n]z Region of convergence - the z-plane System function, H(z) Properties of the z-transform The significance of zeros 1 H n−1 The inverse z-transform, x[n] = 2πj C X(z)z dz: inspection, power series, partial fraction expansion Sampling and Reconstruction Transform domain analysis - nwz Review - Design structures Lecture 8 Different representations of causal LTI systems LCDE with initial rest condition H(z) with jzj > R+ and starts at n = 0 Recap Block diagram vs. Signal flow graph and how to determine Introduction system function (or unit sample response) from the graphs CT->DT Design structures Impulse Invariance Direct form I (zeros first) Bilinear Trans. Direct form II (poles first) - Canonic structure Example Transposed form (zeros first) IIR: cascade form, parallel form, feedback in IIR (computable vs. noncomputable) FIR: direct form, cascade form, parallel form, linear phase Metric: computational resource and precision Sources of errors: coefficient quantization error, input quantization error, product quantization error, limit cycles Pole sensitivity of 2nd-order structures: coupled form Coefficient quantization examples: direct form vs. cascade form Rationale Lecture 8 Recap Review of complex exponentials as eigenfunctions of Introduction the LTI CT->DT x[n] = ej!0n ! y[n] = H(ej!0 )ej!0n Impulse or x[n] = cos ! n ! y[n] = jH(ej!0 )j cos(! n + θ) Invariance 0 0 Bilinear Trans. Separation of signal when they occupate different Example frequency bands — choose the system function that is unity at selective frequencies Given a set of specifications, design a rational transfer function that approximates the ideal filter maintaining specifications of δp, δs, and the transition band. Stages of digital filter design Lecture 8 Recap Introduction The specification of the desired properties of the CT->DT system Impulse application-dependent Invariance usually done in the frequency domain Bilinear Trans. Example The approximation of the specifications using a causal discrete-time system The realization of the system e.g., DSP board Practical frequency-selective filters Lecture 8 Approximate ideal filters by a rational function or LCDE Recap Introduction CT->DT Impulse Invariance Bilinear Trans. Example Factors that affect the filter performance the maximum tolerable passband ripple, 20 log10 δp the maximum tolerable stopband ripple, 20 log10 δs the passband edge frequency !p the stopband edge frequency !s M and N: order of the LCDE Example Lecture 8 Design a discrete-time lowpass filter to filter a Recap continuous-time signal with the following specs (with a Introduction sampling rate of 104 samples/s): CT->DT The gain should be within ±0:01 of unity in the Impulse Invariance frequency band 0 ≤ Ω ≤ 2π(2000) Bilinear Trans. The gain should be no greater than 0.001 in the Example frequency band 2π(3000) ≤ Ω Parameter setup δp1 = δp2 = 0:01, δs = 0:001 4 4 !p = 2π(2000)=10 , !s = 2π(3000)=10 Ideal passband gain in decibels? maximum passband gain in decibels? maximum stopband gain in decibels? Design techniques for IIR filters Lecture 8 Recap Introduction CT->DT Impulse Invariance Analytical — closed-form solution of transfer function Bilinear Trans. Continuous-time ! Discrete-time Example Algorithmic General guidelines for CT->DT Lecture 8 Recap Introduction CT->DT continuous ! discrete Impulse Invariance Ha(s) ! H(z) Bilinear Trans. ha(t) ! h[n] Example jΩ-axis (s-plane) ! unit circle (z-plane) if Ha(s) is stable ! H(z) is stable Different CT->DT approaches Lecture 8 Recap Introduction Mapping differentials to differences CT->DT Impulse z = 1 + sT Invariance the jΩ-axis is NOT mapped to the unit circle Bilinear Trans. stable poles might not be mapped to inside the unit Example circle Impulse invariance Bilinear transformation Impulse invariance Lecture 8 h[n] = Td hc(nTd ) (1) Recap 1 Introduction j! X j! j2πk H(e ) = Hc[ + ] (2) CT->DT Td Td k=−∞ Impulse Invariance Bilinear Trans. Preserve good time-domain characteristics Example Linear scaling of frequency axis, ! = ΩT Existence of aliasing Impulse invariance doesn’t imply step invariance Impulse invariance (cont’) Lecture 8 N N Recap X A X T A ( ) = k ! ( ) = d k Introduction Hc s H z s T −1 s − sk 1 − e k d z CT->DT k=1 k=1 Impulse Invariance Mapping poles Bilinear Trans. Example sk Td s = sk ! z = e Preserve residues s = jΩ ! z = ejΩTd = ej!, the unit circle if sk is stable, i.e., region of sk is less than 0, ! jzk j < 1 ! digital filter is stable Impulse invariance - An example Lecture 8 Recap Introduction Find the system function of the digital filter mapped CT->DT from the analog filter with a system function s+a Impulse Hc(s) = 2 2 . Compare magnitude of the Invariance (s+a) +b Bilinear Trans. frequency response and pole-zero distributions in the s- Example and z-plane −aT −1 Sol: H(z) = 1−(e cos bT )z (1−e−(a+jb)T z−1)(1−e−(a−jb)T z−1) Note that zeros are not mapped. Also note that jHs(jΩ)j is not periodic but jH(ej!)j is. Bilinear transformation Lecture 8 Mapping from s-plane to z-plane by relating s and z according to a bilinear transformation. Hc(s) ! H(z) Recap −1 sT 2 1 − z 1 + 2 Introduction s = ( ); or z = T 1 + z−1 1 − sT CT->DT 2 Impulse Two guidelines Invariance Preserves the frequency characteristics? I.e., maps the Bilinear Trans. jΩ-axis to the unit circle? Example Stable analog filter mapped to stable digital filter? Important properties of bilinear transformation Left-side of the s-plane ! interior of the unit circle; Right-side of the s-plane ! exterior of the unit circle. Therefore, stable analog filters ! stable digital filters. The jΩ-axis gets mapped exactly once around the unit circle. No aliasing The jΩ-axis is infinitely long but the unit circle isn’t ! nonlinear distortion of the frequency axis Blinear transformation - Mappings Lecture 8 Recap Introduction CT->DT Impulse Invariance Bilinear Trans. Example Bilinear transformation - How to tolerate distortions? Lecture 8 Prewarp the digital cutoff frequency to an analog cutoff 2 ! frequency through Ω = T tan 2 Recap Better used to approximate piecewise constant filters which Introduction will be mapped as constant as well CT->DT Can’t be used to obtain digital lowpass filter with linear-phase Impulse Invariance Bilinear Trans. Example Avoid aliasing at the price of distortion of the frequency axis The class of analog filters Lecture 8 Butterworth filter jH (jΩ)j2 = 1 c 1+( jΩ )2N Recap jΩc Note about the butterworth circle with radius Ω Introduction c Ωc is also called the 3dB-cutoff frequency when CT->DT 2 −10log10jHc(jΩ)j jΩ=Ω ≈ 3 Impulse c Invariance Monotonic function in both passband and stopband Bilinear Trans. Matlab functions: buttord, butter Example Chebyshev filter Type I Chebyshev has an equiripple freq response in the passband and varies monotonicaly in the stopband, 2 1 jHc(jΩ)j = 2 2 1+ TN (Ω=Ωp) Type II Chebyshev is monotonic in the passband and 2 1 equiripple in the stopband, jHc(jΩ)j = T (Ω =Ω ) 1+2[ N s p ]2 TN (Ωs=Ω) Matlab functions: cheb1ord, cheby1, cheb2ord, cheby2 The class of analog filters (cont’d) Lecture 8 Recap Introduction Elliptic filter CT->DT 2 1 jHc(jΩ) = 2 2 where RN (Ω) is a rational Impulse 1+ RN (Ω=Ωp) Invariance function of order N satisfying the perperty Bilinear Trans. RN (1=Ω) = 1=RN (Ω) with the roots of its numerator Example lying within the interval 0 < Ω < 1 and the roots of its denominator lying in the interval 1 < Ω < 1 Equiripple in both the passband and the stopband Matlab functions: ellipord, ellip Example Lecture 8 Recap Specs of the discrete-time filter: passband gain Introduction between 0dB and -1dB, and stopband attenuation of at CT->DT least -15dB. Impulse Invariance 1 − δp ≥ −1dB; δs ≤ −15dB Bilinear Trans. Example j0:2π j0:2π −0:05 20 log10 jH(e )j ≥ −1 ! jH(e )j ≥ 10 = 0:89130 ≤ j!j ≤ 0:2π (3) j0:3π j0:3π −0:75 20 log10 jH(e )j ≤ −15 ! jH(e )j ≤ 10 = 0:17780:3π ≤ j!j ≤ π (4) Example (cont’d) Lecture 8 Impulse invariance Round up to the next integer of N Due to aliasing problem, meet the passband exactly Recap with exceeded stopband Introduction j 0:2π CT->DT 1 + ( T )2N = 100:1 (5) Impulse jΩc Invariance j 0:3π Bilinear Trans. 1 + ( T )2N = 101:5 (6) Example jΩc Bilinear transformation Round up to the next integer of N By convention, choose to meet the stopband exactly with exceeded passband j2 tan(0:1π) 1 + ( )2N = 100:1 (7) jΩc j2 tan(0:15π) 1 + ( )2N = 101:5 (8) jΩc Example - Comparison Lecture 8 Recap Introduction CT->DT Impulse Invariance Bilinear Trans. Example.