having a problem using an iir notch filter
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hello everyone,
i want to filter 50 Hz sinus and therefore i implemented a notch filter such as shown in the help. i don'w know why it doesn't work. does everyone have a clue ? see also the attached file 'debuging' this is the program :
if true
% code
end
*t=0:0.0005:0.5; % fs=2000Hz
x=sin(2*pi*50*t)+sin(2*pi*70*t);
figure;
plot(t,x);
title('Sum of sinuses - of 50Hz & of 70Hz ');
% implementation of the notch filter
wo = 50/(2000/2); bw = wo/35;
[b,a] = iirnotch(wo,bw);
fvtool(b,a);
%signal after filterization
figure;
g=filter(b,a,x);
plot(t,g);
title('The signal after removing its 50 Hz sinus');
%figure of 70 Hz for comarison to what i need to get
figure;
y=sin(2*pi*70*t);
plot(t,y);
title('A 70 Hz sinus - for comparison');*
thanks a lot
0 Kommentare
Akzeptierte Antwort
Wayne King
am 5 Jan. 2014
Kobi, did you also supply the optional Ab input argument as I did?
nyquist = 2000/2;
w0 = 50/nyquist;
bw = w0/20;
[b,a] = iirnotch(w0,bw,20);
y = filtfilt(b,a,x);
plot(t,y);
From your output it does not appear that you did.
If you execute the above, you should see that is pretty much a clean 70-Hz sinewave with a reduction in amplitude.
0 Kommentare
Weitere Antworten (3)
Wayne King
am 4 Jan. 2014
It is working, you just need to tweak the parameters a bit to get better results.
nyquist = 2000/2;
w0 = 50/nyquist;
bw = w0/20;
[b,a] = iirnotch(w0,bw,20);
y = filter(b,a,x);
ydft = fft(y);
plot(abs(ydft))
0 Kommentare
Siehe auch
Kategorien
Mehr zu Digital Filter Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!