problem with filtering a signal
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I wanna filter a signal by band-pass filter and the problem is when I exert the filter on my signal the output is so wrong.I try to exert the filter on a easy signal to test it: for example when I exert a band pass filter with 8-12 frequency range to the x=sin(2*pi*10*t)+sin(2*pi*20*t) the output must similar to sin(2*pi*10*t).but its not. I dont know where I am wrong?
0 Kommentare
Antworten (2)
Wayne King
am 8 Jul. 2013
Fs = 250;
t = 0:1/Fs:10-1/Fs;
x = sin(2*pi*10*t)+sin(2*pi*20*t)+0.25*randn(size(t));
y = sosfilt(SOS,x);
I used the following parameters in fdatool:
Fs = 250 fstop1 = 7 fpass1 = 9 fpass2 = 12 fstop2 = 14
60 dB of attenuation in both stopbands and 1 db of passband ripple.
Wayne King
am 8 Jul. 2013
Bearbeitet: Wayne King
am 8 Jul. 2013
You need to post the code you have used to design your filter. Also, include the sampling rate for your data.
For example:
Fs = 100;
t = 0:1/Fs:10-1/Fs;
x = sin(2*pi*10*t)+sin(2*pi*20*t)+0.25*randn(size(t));
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',4,8,12,16,50,1,50,100);
Hd = design(d);
y = filter(Hd,x);
periodogram(y,[],length(y),100)
1 Kommentar
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!