what filter can be used to remove background noise in my signal?
18 views (last 30 days)
Show older comments
I was given a signal with lots of noise, particulary noise from x*100hz where x = (1:1:100).
Below is the frequency representation of this signal (FFT plot):
I am trying to remove all the noise at x*100hz, where x = (1:1:100), but I am not sure what filter should I use.
I first tried a comb filter using filter Design app: below is the magnitude response:
But this does not work on my signal.
The multipand-pass filter may also work, but I am not sure how to define its parameter.
If you happen to know how to remove this type of noise, please share with me.
Big thanks!
2 Comments
Star Strider
on 26 Jan 2022
‘But this does not work on my signal.’
Please describe what ‘does not work’ is in this context.
There could be several problems, one being that this will be an extremely long filter (a FIR filter with an order of 200 may not be nearly long enough), so it requires an extremely long signal, another being that using the filtfilt function is necessary for this (or any) filter to work correctly, the third that the stopbands do not exactly match the desired frequency components in the signal, and the fourth being that filters designed with the DSP System Toolbox may not work with the Signal Processing Toolbox functions.
Answers (1)
Vidip
on 18 Jan 2024
Edited: Vidip
on 18 Jan 2024
I understand that you want to remove noise at specific harmonics (multiples of 100 Hz), a comb filter is indeed a good starting point, as it is designed to remove periodic noise at regular intervals. However, as you've noticed, the comb filter you've designed might not be providing the attenuation needed to sufficiently clean your signal.
Designing a series of 'notch' filters, each tuned to remove a specific harmonic frequency. You can stack multiple 'second-order notch' filters (also known as band-stop filters) to target each of your harmonics. Applying many filters sequentially can introduce significant signal processing delay but you can provide very precise attenuation at the desired frequencies.
If the noise frequencies are not exactly at the harmonics due to some variations or if there is any drift over time, an adaptive filter like LMS or RLS could be more effective. These filters adjust their coefficients in real-time to minimize the error between the filter output and a reference signal.
For further information, refer to the documentation links below:
0 Comments
See Also
Categories
Find more on Spectral Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!