Comparative Design and Application of IIR Digital Filters in Noise Suppression Using MATLAB and Python Environment
Résumé
Noise and interference remain major impairments in modern electronic communication systems, degrading signal quality and overall system performance. Although the bilinear transformation method provides an efficient and mathematically robust framework for digital filter design, limited research has examined its implementation across different computational platforms. This study addresses this gap by applying a bilinear transformation-based approach to the design and comparison of Infinite Impulse Response (IIR) digital low-pass filters for broadband noise suppression in MATLAB and Python. Chebyshev Type I, Chebyshev Type II, Elliptic, and Bessel filters were designed under identical specifications and evaluated using a composite noisy signal. Performance assessment was carried out in both time and frequency domains using signal-to-noise ratio (SNR) improvement and mean square error (MSE) reduction as quantitative metrics. Results show that Chebyshev Type I and Elliptic filters provide superior noise suppression due to their sharp transition bands and high stopband attenuation, while Bessel filters preserve waveform integrity owing to their near-linear phase characteristics. Specifically, the Chebyshev Type I filter improved the input SNR of 4.50 dB to 11.25 dB in MATLAB (SNR gain of +6.75 dB) and to 11.05 dB in Python (SNR gain of +6.54 dB). Similarly, the MSE was reduced from 0.241 to 0.050 (79.3% reduction) in MATLAB and to 0.054 (77.8% reduction) in Python. A close agreement was observed between MATLAB and Python implementations, with minor variations attributed to differences in internal scaling and floating-point precision. The computational complexity of IIR filters depends on the filter order and scales as O(N) operations per output sample. With a fixed 9th-order design, both MATLAB and Python have similar theoretical time complexity. However, MATLAB typically executes faster due to optimized built-in functions, while Python introduces slight overhead from its libraries. The bilinear transformation adds negligible cost, and memory usage is low in both cases, scaling only with the filter order. The study confirms that the choice of filter and implementation environment is application-dependent. Chebyshev Type I and Elliptic filters implemented in MATLAB are most suitable for applications requiring strong noise suppression, while Bessel filters implemented in Python are better suited for applications where signal shape preservation is critical. Overall, both environments are effective for practical IIR filter design, with performance primarily influenced by filter characteristics rather than the software platform. However, this study is limited by its reliance on a single filter order and fixed design specifications, which may not fully capture performance variations under different design conditions. Additionally, the evaluation was conducted using a simulated composite signal rather than real-world measured data, which may affect generalizability to practical systems.