Bandpass filter with FDA tool
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Stefan
el 4 de Dic. de 2013
Hello,
Can I know how to design a bandpass filter with range of 0.5 to 3Hz and needed gain is 80 (if possible 100) which will be used instead of a analog with digital filter.Coming to the sampling freq I have acquired a analog signal(having 1Hz) using a 200Hz sampling rate so I am not sure of what should be perfect sampling frequency is needed. I need the perfect bandpass filter as I will use these filter coefficients generated from fda tool in the microcontroller to design the bandpass with this matlab filter coefficients.
So,for this reason I want to be sure to have a better(perfect) filter implementation so that it won't be problem on the microcontroller filter design. Thanks.
0 comentarios
Respuesta aceptada
Wayne King
el 6 de Dic. de 2013
Editada: Wayne King
el 6 de Dic. de 2013
Hi Stefan, yes I'll assume that you downsampled to 50 Hz (using an anti-aliasing filter)
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',0.5,1,3,4,80,0.5,80,50);
Hd = design(d,'butter');
Or using the butter() function
[z,p,k] = butter(30,[(2*0.5)/50, (2*3)/50],'bandpass');
sos = zp2sos(z,p,k);
fvtool(sos)
1 comentario
Más respuestas (1)
Wayne King
el 4 de Dic. de 2013
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',0.5,1,3,4,80,0.5,80,2000);
Hd = design(d,'butter');
but that really is hard to call a bandpass because 0.5 is close to 0. Are you sure you can't get away with a lowpass filter with a 3 Hz cutoff in this case. 80-100 dB attenuation in the stopbands with such a low frequency passband is going to be tough with that sampling frequency.
Can't you downsample this data to a lower sampling rate? 2000 Hz is overkill for this kind of filtering requirement.
Ver también
Categorías
Más información sobre Spectral Measurements en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!