1 / 37

ELEN E4810: Digital Signal Processing Topic 7: Filter types and structures

Learn about various filter types, minimum and maximum phases, filter implementation structures, comb and allpass filters, minimum/maximum phase concepts, inverse systems, system identification, and filter structures. Understand block diagrams, delay-free loops, equivalent structures, and more.

ccavazos
Download Presentation

ELEN E4810: Digital Signal Processing Topic 7: Filter types and structures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELEN E4810: Digital Signal ProcessingTopic 7: Filter types and structures • Some filter types • Minimum and maximum phase • Filter implementation structures Dan Ellis

  2. 1. Some Filter Types • We have seen the basics of filtersand a range of simple examples • Now look at a couple of other classes: • Comb filters - multiple pass/stop bands • Allpass filters - only modify signal phase Dan Ellis

  3. x[n] y[n] + z-L z-L z-L z-L Comb Filters • Replace all system delays z-1 with longer delays z-L  System that behaves ‘the same’ at a longer timescale Dan Ellis

  4. Comb Filters • ‘Parent’ filter impulse response h[n]becomes comb filter output as: g[n] = {h[0] 0 0 0 0 h[1] 0 0 0 0 h[2]..} • Thus, L-1 zeros Dan Ellis

  5. Comb Filters • Thus, frequency response: • High-pass response  • passw = p/L, 3p/L, 5p/L... • cut w = 0, 2p/L, 4p/L... parent frequency responsecompressed & repeated L times H(ejw) G(ejw) L copies of H(ejw) useful to removea harmonic series Dan Ellis

  6. Allpass Filters • Allpass filter has |A(ejw)|2 = Kwi.e. spectral energy is not changed • Phase response is not zero (else trivial) • phase correction  special effects • e.g. Dan Ellis

  7. Allpass Filters • Allpass has special form of system fn: • AM(z) has polesl whereDM(l) = 0AM(z) has zerosz = 1/l = l-1 = mirror-imagepolynomials Dan Ellis

  8. Allpass Filters • Any (stable) DM can be used: • Phase is always decreasing: -Mp at w = p reciprocalzerosfrom DM(z-1) polesfrom 1/DM(z) peakgroupdelay M Dan Ellis

  9. Allpass Filters Why do mirror-img poly’s give const gain? • Conj-sym system fn can be factored as: • z = ejwz-1 = e-jw also on u.circle... o ejw li e-jw ZP + complex conjugate p/z Dan Ellis

  10. 2. Minimum/Maximum Phase • In AP filters, reciprocal roots have.. • same effect on magnitude (modulo const.) • different effect on phase • In normal filters, can try substituting reciprocalroots • reciprocal of stable pole will be unstable X • reciprocals of zeros? Variants of filters with same magnitude response, different phase Dan Ellis

  11. Minimum/Maximum Phase • Hence: reciprocal zero.. .. same mag.. .. addedphaselag Dan Ellis

  12. Minimum/Maximum Phase • For a given magnitude response • All zeros inside u.circle minimum phase • All zeros outside u.c. maximum phase(greatest phase dispersion for that order) • Otherwise, mixed phase • i.e. for a given magnitude responseseveral filters & phase fns are possible;minimum phase is canonical, ‘best’ Dan Ellis

  13. o o o o o o Minimum/Maximum Phase • Note: Min. phase + Allpass = Max. phase pole-zerocancl’n x = Dan Ellis

  14. x[n] y[n] w[n] Hf(z) Hi(z) Inverse Systems • hi[n] is called the inverse of hf[n] iff • Z-transform: • i.e. Hi(z) recovers x[n] from o/p of Hf(z) Dan Ellis

  15. o o o Inverse Systems • What is Hi(z)? • Hi(z) is reciprocal polynomial of Hf(z) • Just swappoles andzeros: poles of fwdzeros of bwd zeros of fwdpoles of bwd Hf(z) Hi(z) Dan Ellis

  16. lose... w Inverse Systems When does Hi(z) exist? • Causal+stable  all Hi(z)poles inside u.c.  all zeros of Hf(z) must be inside u.c.Hf(z) must be minimum phase • Hf(z) zeros outside u.c.  unstable Hi(z) • Hf(z) zeros on u.c.  unstable Hi(z) only invert if min.phase, Hf(ejw) ≠ 0 Dan Ellis

  17. x[n] y[n] H(z) System Identification • Inverse filtering = given y and H, find x • System ID = given y (and ~x), find H • Just run convolution backwards?  deconvolution but: errorsaccumulate Dan Ellis

  18. x[n] y[n] H?(z) System Identification • Better approach uses correlations;Cross-correlate input and output: • If rxxis ‘simple’, can recover h?[n]... • e.g. (pseudo-) white noise: Dan Ellis

  19. System Identification • Can also work in frequency domain: • x[n] is not observable Sxy unavailable, but Sxx(ejw) may still be known, so: • Use e.g. min.phase to rebuild H(ejw)... make a const. Dan Ellis

  20. 3. Filter Structures • Many different implementations, representations of same filter • Different costs, speeds, layouts, noise performance, ... Dan Ellis

  21. x[n] y[n] G1(z) + G2(z) Block Diagrams • Useful way to illustrate implementations • Z-transform helps analysis: • Approach • Output of summers as dummy variables • Everything else is just multiplicative Dan Ellis

  22. w1 w2 x[n] + + -a -d b e y[n] z-1 z-1 + + w3 g Block Diagrams • More complex example: stackable2nd order section Dan Ellis

  23. x u + A B y v + Delay-Free Loops • Can’t have them! • At time n = 0, setup inputs x and v ;needu for y, also y for u can’t calculate • Algebra: x u + y v + can simplify... Dan Ellis

  24. Equivalent Structures • Modifications to block diagrams that do not change the filter • e.g. CommutationH = AB = BA • Factoring AB+CB = (A+C)·B  A B B A x1 x1 A(z)B(z) A(z) y y B(z) x2 + x2 + C(z)B(z) C(z) fewer blocks less computation Dan Ellis

  25. x b1 y + z-1 b2 z-1 b3 b1 y x + z-1 b2 + z-1 b3 Equivalent Structures • Transpose • reverse paths • addersnodes • inputoutput  Dan Ellis

  26. x z-1 z-1 z-1 z-1 h0 h1 h2 h3 h4 + + + + x h4 h3 h2 h1 h0 y z-1 z-1 z-1 z-1 + + + + FIR Filter Structures • Direct form “Tapped Delay Line” • Transpose • Re-use delay line if several inputs xifor single output y ? y Dan Ellis

  27. x h0 y + + z-1 z-1 z0 -2Re{z1} z-1 |z1|2 FIR Filter Structures • Cascade • factored into e.g. 2nd order sections Dan Ellis

  28. n x z-1 z-1 + + z-1 z-1 b0 b1 b2 y + + FIR Filter Structures • Linear Phase:Symmetric filters with h[n] = (-)h[N - n] • Also Transpose form:gains first, feeding folded delay/sum line ... half as many multiplies Dan Ellis

  29. p0 + + p1 z-1 -d1 z-1 z-1 z-1 p2 -d2 IIR Filter Structures • IIR: numerator + denominator all-poleIIR FIR Dan Ellis

  30. p0 + p1 z-1 -d1 z-1 z-1 z-1 p2 -d2 p0 + + p1 -d1 z-1 z-1 p2 -d2 IIR Filter Structures • Hence, Direct form I • Commutation Direct form II (DF2) • same signal delay lines merge • “canonical”= min. memory usage Dan Ellis

  31. p0 x y + z-1 p1 -d1 + z-1 p2 -d2 + IIR Filter Structures • Use Transpose on FIR/IIR/DF2 • “Direct Form II Transpose” Dan Ellis

  32. b a -b Factored IIR Structures • Real-output filters have conjugate-symm roots: • Can always group into 2nd order terms with real coefficients: real root Dan Ellis

  33. Cascade IIR Structure • Implement as cascade of second order sections (in DFII) • Second order sections (SOS): • modular - any order from optimized block • well-behaved, real coefficients (sensitive?) fwd gain factored out x y + + + + + + p0 z-1 z-1 z-1 a1 -g1 2a2 -2g2 z-1 z-1 -(a22+b22) g22+d22 Dan Ellis

  34. Second-Order Sections • ‘Free’ choices: • grouping of pole pairs with zero pairs • order of sections • Optimize numerical properties: • avoid very large values (overflow) • avoid very small values (quantization) • e.g. Matlab’s zp2sos • attempt to put ‘close’ roots in same section • intersperse gain & attenuation? Dan Ellis

  35. Second Order Sections • Factorization affects intermediate values Factorization 1 Factorization 2 Original System(2 pair poles, zeros)   Dan Ellis

  36. Parallel IIR Structures • Can express H(z) as sum of terms (IZT) • Or, second-order terms: • Suggests parallel realization... Dan Ellis

  37. y g0 x + g01 + + -a11 g11 z-1 z-1 -a21 g02 + + -a12 g12 z-1 z-1 -a22 Parallel IIR Structures • Sum terms become parallel paths • Poles of each SOS are from full TF • System zeros arise from output sum • Why do this? • stability/sensitivity • reuse common terms Dan Ellis

More Related