Filter function doesn't do filtering
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a notch filter designed for 50Hz. Then I generated the filter design code with Filter Design app:
function Hd = filter_notch
Fs=500; Fnotch=50; BW=1; Apass=1;
[b, a] = iirnotch(Fnotch/(Fs/2), BW/(Fs/2), Apass);
Hd = dfilt.df2(b, a);
This is it's frequency response:

Now, I filter input signal with this filter:
filter_block=filter_notch;
out_signal=filter(filter_block,in_signal);
but to my surprise at notch frequency, it amplifies the signal for about 10dB!! Here is the zoomed version. Blue is output, Red is Input. What is going on here?!

%
0 Kommentare
Antworten (1)
Star Strider
am 23 Aug. 2017
I don’t have the DSP System Toolbox, so I cannot run your code.
The power spectral density is probably not the best way to evaluate your filter performance. I would use the fft (link) function instead. I would also use the filtfilt function to do the actual filtering.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Digital Filtering finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!