Real-time digital signal filtering is a fundamental challenge in embedded systems engineering, sitting at the intersection of computer science and electronic engineering. As embedded processors become increasingly powerful while remaining severely resource-constrained, designing efficient filtering algorithms that meet strict timing requirements demands a deep understanding of both hardware architecture and software design. This paper presents a comprehensive hardware-software co-design approach to implementing real-time digital filters on embedded microcontrollers. We examine three filtering architectures — the Finite Impulse Response (FIR) filter, the Infinite Impulse Response (IIR) filter, and an adaptive Least Mean Squares (LMS) filter — and implement them on an ARM Cortex-M4 microcontroller (STM32F4 series). The system is evaluated on three real-world signals: ECG (electrocardiography) biomedical signals, audio signals, and industrial vibration data from motor sensors. Our experiments demonstrate that optimized IIR filters achieve a 3.2x speed improvement over naive FIR implementations through strategic use of hardware floating-point units (FPU) and Direct Memory Access (DMA) controllers. The adaptive LMS filter successfully removes 50 Hz power-line interference from ECG signals with an average Signal-to-Noise Ratio (SNR) improvement of 28 dB while consuming only 11 mW of power. These results confirm that careful co-design of algorithms and hardware resources can enable high-quality real-time filtering even on low-cost embedded platforms.
Keywords: Real-time processing; Digital filters; Embedded systems; ARM Cortex-M4; FIR filters; IIR filters; Adaptive filters; Hardware-Software co-design; DSP; Signal-to-Noise Ratio.
📄 Download Full Article (PDF)