filtfilt for filter.m ?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi I am trying to implement a bandpass filter for EEG data like given below
H = fdesign.bandpass ('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',0.05,0.1,200,220,50,0.5,50,1000);
D = design(H,'kaiserwin'); % filter
fvtool(D) % filter's magnitude response
x=randn(1,100000);
y = filter(D,x);
xdft = fft(x);
ydft = fft(y);
subplot(221);semilogy(abs(xdft(1:length(x)/2+1)));
subplot(222);semilogy(abs(ydft(1:length(x)/2+1)));
subplot(223);plot(x);
subplot(224);plot(y);
It seems to work fine as i can see only my desired band of frequences in power spectrum but filtered time domain signal (y) seems to be overdamped for some startup time. I have looked for this problem and it looks like i should use filtfilt instead of filter, can someone guide me how to use filtfilt in above code. Thanks in Anticipation Regards
0 Commenti
Risposte (1)
Malcolm Lidierth
il 30 Mar 2012
If you have R2011b+ (or a+?), using the standard filtfilt. If not, see http://www.mathworks.com/matlabcentral/fileexchange/17061-filtfilthd
0 Commenti
Vedere anche
Categorie
Scopri di più su EEG/MEG/ECoG in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!