Bandpass filter with FDA tool

9 visualizaciones (últimos 30 días)
Stefan
Stefan el 4 de Dic. de 2013
Editada: Stefan el 6 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.

Respuesta aceptada

Wayne King
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
Stefan
Stefan el 6 de Dic. de 2013
Editada: Stefan el 6 de Dic. de 2013
Thanks wayne,
And I think the sampling freq needed to design a digital filter in matlab will be equal(same) to the sampling rate with which the analog signal is sampled by the ADC.As here,if the ADC has sampled at 50Hz then the digital filter design in matlab also needs 50Hz I guess. Isn't it true? Can I know what is the gain of the above designed BPfilter.

Iniciar sesión para comentar.

Más respuestas (1)

Wayne King
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.
  2 comentarios
Stefan
Stefan el 5 de Dic. de 2013
Hi wayne,
Yes, I can downsample it to in the range between 20Hz to 50Hz. But what can be the sampling rate needed to get a better bandapss filter with above mentioned things. And how the filter can be designed with this needed sampling rate that gives a better filter response.
Stefan
Stefan el 6 de Dic. de 2013
Can anyone help me out in designing a bandpass filter if the sampling rate needed is in between 20Hz to 50Hz choosing the best needed for digital filter design.

Iniciar sesión para comentar.

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!

Translated by