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!

