Skip to content

This repository provides insights into implementing and interpreting optimum filters such as Wiener filter and adaptive filters such as RLS and LMS.

Notifications You must be signed in to change notification settings

Pahansith7/Digital-Filter-Design-3-Optimum-Filters-and-Adaptive-Filters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaptive and Wiener Filtering for Signal Processing

Project Overview

This project investigates the application of Wiener and adaptive filters for ECG signal processing. The focus is on noise reduction and the comparison of filter designs, including the Least Mean Squares (LMS) and Recursive Least Squares (RLS) methods, for handling stationary and non-stationary noise in bio-signals.


Contents

1. Wiener Filtering

  • Time-Domain Implementation:

    • Determined the optimum filter order by minimizing the Mean Square Error (MSE).
    • Observed successful attenuation of 50 Hz noise and high-frequency components beyond 150 Hz.
    • image
    • image
  • Frequency Domain Implementation:

    • Implemented Wiener filtering in the frequency domain. image

Used an ideal ECG template and a manually modeled ECG signal as the desired signal and analysed the difference; ideal ECG slightly outperforming the modeled ECG due to its closer representation of real-world characteristics.

  • Effect of Non-Stationary Noise:
    • Wiener filtering is less effective for non-stationary noise as it assumes stationary noise and signal characteristics. image

2. Adaptive Filtering

  • Methodology:

    • Primary signal: ECG signal with added noise.
    • Reference signal: A signal closely related to the noise, uncorrelated with the desired signal.
    • Adaptive filters dynamically update coefficients to minimize error between the filtered and desired signals. image
  • LMS Method:

    • Utilized gradient descent to iteratively update filter weights.
    • Performance evaluated for a sawtooth ECG signal with added non-stationary noise. image ** Note:- Here error signal is the filtered signal.
  • RLS Method:

    • Introduced a forgetting factor to account for previous errors in weight updates. image ** Note:- Here error signal is the filtered signal.
  • Comparison:

    • Both LMS and RLS filters effectively attenuated the noise, outperforming Wiener filtering for non-stationary noise scenarios. RLS provides slightly better adaptation due to its incorporation of historical error data.

Acknowledgments

This project was completed as part of the BM4152 Bio-Signal Processing course.

About

This repository provides insights into implementing and interpreting optimum filters such as Wiener filter and adaptive filters such as RLS and LMS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages