the parks mcclellan algorithm a scalable approach for
play

The Parks McClellan algorithm: a scalable approach for designing FIR - PowerPoint PPT Presentation

The Parks McClellan algorithm: a scalable approach for designing FIR filters Silviu Filip under the supervision of N. Brisebarre and G. Hanrot (AriC, LIP, ENS Lyon) Rencontres Arithmtiques de lInformatique Mathmatique (RAIM) Rennes,


  1. The Parks McClellan algorithm: a scalable approach for designing FIR filters Silviu Filip under the supervision of N. Brisebarre and G. Hanrot (AriC, LIP, ENS Lyon) Rencontres Arithmétiques de l’Informatique Mathématique (RAIM) Rennes, April 7-9, 2015 1 / 21

  2. Digital Signal Processing became increasingly relevant over the past 4 decades: ANALOG → DIGITAL 2 / 21

  3. Digital Signal Processing became increasingly relevant over the past 4 decades: ANALOG → DIGITAL think of: data communications (ex: Internet, HD TV and digital radio) audio and video systems (ex: CD, DVD, BD players) many more 2 / 21

  4. Digital Signal Processing became increasingly relevant over the past 4 decades: ANALOG → DIGITAL think of: data communications (ex: Internet, HD TV and digital radio) audio and video systems (ex: CD, DVD, BD players) many more What are the ’engines’ powering all these? 2 / 21

  5. Digital filters → we get two categories of filters finite impulse response ( FIR ) filters infinite impulse response ( IIR ) filters 3 / 21

  6. Digital filters → we get two categories of filters finite impulse response ( FIR ) filters infinite impulse response ( IIR ) filters → natural to work in the frequency domain 3 / 21

  7. Digital filters → we get two categories of filters finite impulse response ( FIR ) filters infinite impulse response ( IIR ) filters → natural to work in the frequency domain H is the transfer function of the filter 3 / 21

  8. Digital filters → we get two categories of filters finite impulse response ( FIR ) filters H is a polynomial infinite impulse response ( IIR ) filters H is a rational fraction → natural to work in the frequency domain H is the transfer function of the filter 3 / 21

  9. The filtering framework Steps: 1. derive a concrete mathematical representation of the filter → use theory of minimax approximation 4 / 21

  10. The filtering framework Steps: 1. derive a concrete mathematical representation of the filter → use theory of minimax approximation 2. quantization of the filter coefficients using fixed-point or floating-point formats → use tools from algorithmic number theory (euclidean lattices) 4 / 21

  11. The filtering framework Steps: 1. derive a concrete mathematical representation of the filter → use theory of minimax approximation 2. quantization of the filter coefficients using fixed-point or floating-point formats → use tools from algorithmic number theory (euclidean lattices) 3. hardware synthesis of the filter 4 / 21

  12. The filtering framework Steps: 1. derive a concrete mathematical representation of the filter → use theory of minimax approximation 2. quantization of the filter coefficients using fixed-point or floating-point formats → use tools from algorithmic number theory (euclidean lattices) 3. hardware synthesis of the filter Today’s focus: first step for FIR filters 4 / 21

  13. Finite Impulse Response (FIR) filters large class of filters, with a lot of desirable properties Usual representation: H ( ω ) = � n k =0 a k cos( ωk ) 5 / 21

  14. Finite Impulse Response (FIR) filters large class of filters, with a lot of desirable properties Usual representation: H ( ω ) = � n k =0 a k cos( ωk ) = � n k =0 a k T k (cos( ω )) → if x = cos( ω ) , view H in the basis of Chebyshev polynomials 5 / 21

  15. Finite Impulse Response (FIR) filters large class of filters, with a lot of desirable properties Usual representation: H ( ω ) = � n k =0 a k cos( ωk ) = � n k =0 a k T k (cos( ω )) → if x = cos( ω ) , view H in the basis of Chebyshev polynomials Specification: 5 / 21

  16. Finite Impulse Response (FIR) filters large class of filters, with a lot of desirable properties Usual representation: H ( ω ) = � n k =0 a k cos( ωk ) = � n k =0 a k T k (cos( ω )) → if x = cos( ω ) , view H in the basis of Chebyshev polynomials Specification: 8 � H ( ω ) = a k cos( ωk ) k =0 5 / 21

  17. Optimal FIR design with real coefficients The problem: Given a closed real set F , find an approximation H ( ω ) = � n k =0 a k cos( ωk ) of degree n for a continuous function D ( ω ) , ω ∈ F such that δ = � E ( ω ) � ∞ ,F = max ω ∈ F | H ( ω ) − D ( ω ) | is minimal . 6 / 21

  18. Optimal FIR design with real coefficients The solution : characterized by the Alternation Theorem Theorem The unique solution H ( ω ) = � n k =0 a k cos( ωk ) has an error function E ( ω ) , for which there exist n + 2 values ω 0 < ω 1 < · · · < ω n +1 , belonging to F , such that E ( ω i ) = − E ( ω i +1 ) = ± δ, for i = 0 , . . . , n. 7 / 21

  19. Optimal FIR design with real coefficients The solution : characterized by the Alternation Theorem Theorem The unique solution H ( ω ) = � n k =0 a k cos( ωk ) has an error function E ( ω ) , for which there exist n + 2 values ω 0 < ω 1 < · · · < ω n +1 , belonging to F , such that E ( ω i ) = − E ( ω i +1 ) = ± δ, for i = 0 , . . . , n. → well studied in Digital Signal Processing literature 1972: Parks and McClellan → based on a powerful iterative approach from Approximation Theory: 1934: Remez 7 / 21

  20. The Parks-McClellan design method: Motivation Why work on such a problem? one of the most well-known filter design methods no concrete study about its numerical behavior in practice need for high degree ( n > 500 ) filters + existing implementations not able to provide them (e.g. MATLAB, SciPy, GNURadio) useful for attacking the coefficient quantization problem 8 / 21

  21. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  22. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  23. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  24. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  25. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  26. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  27. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  28. The Parks-McClellan design method: Example 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 9 / 21

  29. The Parks-McClellan design method: Steps 10 / 21

  30. Step 1: Choosing the n + 2 initial references Traditional approach: take the n + 2 references uniformly from F → can lead to convergence problems 11 / 21

  31. Step 1: Choosing the n + 2 initial references Traditional approach: take the n + 2 references uniformly from F → can lead to convergence problems → want to start from better approximations Existing approaches: most are not general enough and/or costly to execute 11 / 21

  32. Step 1: Choosing the n + 2 initial references Traditional approach: take the n + 2 references uniformly from F → can lead to convergence problems → want to start from better approximations Existing approaches: most are not general enough and/or costly to execute Our approach : extrema position extrapolation from smaller filters → although empirical, this reference scaling idea is rather robust in practice 11 / 21

  33. Step 2: Computing the current error function E ( ω ) and δ Amounts to solving a linear system in a 0 , . . . , a n and δ .       1 cos( ω 0 ) · · · cos( nω 0 ) 1 D ( ω 0 ) a 0 . . . . . . . . . . . .       . . . . . .  =             1 cos( ω n ) · · · cos( nω n ) ( − 1) n D ( ω n ) a n      ( − 1) n +1 1 cos( ω n +1 ) · · · cos( nω n +1 ) D ( ω n +1 ) δ → solving system directly: can be numerically unstable 12 / 21

  34. Step 2: Computing the current error function E ( ω ) and δ Amounts to solving a linear system in a 0 , . . . , a n and δ .       1 cos( ω 0 ) · · · cos( nω 0 ) 1 D ( ω 0 ) a 0 . . . . . . . . . . . .       . . . . . .  =             1 cos( ω n ) · · · cos( nω n ) ( − 1) n D ( ω n ) a n      ( − 1) n +1 1 cos( ω n +1 ) · · · cos( nω n +1 ) D ( ω n +1 ) δ → solving system directly: can be numerically unstable → use barycentric form of Lagrange interpolation [Berrut&Trefethen2004] 12 / 21

  35. Barycentric Lagrange interpolation Problem: p polynomial with deg p � n interpolates f at points x j , i.e., p ( x j ) = f j , j = 0 , . . . , n 13 / 21

  36. Barycentric Lagrange interpolation Problem: p polynomial with deg p � n interpolates f at points x j , i.e., p ( x j ) = f j , j = 0 , . . . , n → the barycentric form of p is: n w j � f j x − x j j =0 p ( x ) = , n w j � x − x j j =0 1 where w j = k � = j ( x j − x k ) . � Cost: O ( n 2 ) for computing all w j , O ( n ) for evaluating p ( x ) . 13 / 21

  37. Barycentric Lagrange interpolation Why should we use it? → numerically stable if the family of interpolation nodes used has a small Lebesgue constant [Higham2004;Mascarenhas&Camargo2014] The Lebesgue constant: specific for each grid of points; measures the quality of a polynomial interpolant with respect to the function to be approximated 14 / 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend