A robust and scalable implementation of the Parks-McClellan algorithm for designing FIR filters
Résumé
With a long history dating back to the beginning of the 1970s, the Parks-McClellan algorithm is probably the most well-known alternative for designing finite impulse response filters. Despite being a standard routine in many signal processing packages, it is possible to find practical design specifications where such codes fail to work. In this paper, we introduce a new implementation of this algorithm. It is based on three main ingredients: (1) a new heuristic initialization strategy that generally improves the convergence properties of the Parks-McClellan routine, (2) numerically stable barycentric Lagrange interpolation formulas, and (3) colleague matrix-based rootfinding algorithms. We argue that our approach is very robust in practice, even for hard to design problems. The result, an open source C++ library, is capable of constructing filters where the final degree is more than 50000, outperforming other implementations.
Origine | Fichiers produits par l'(les) auteur(s) |
---|