problem with filtering a signal
Afficher commentaires plus anciens
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?
Réponses (2)
Wayne King
le 8 Juil 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.
1 commentaire
hossein
le 9 Juil 2013
Wayne King
le 8 Juil 2013
Modifié(e) : Wayne King
le 8 Juil 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 commentaire
Catégories
En savoir plus sur Filter Analysis dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!