Bandpass filter with FDA tool

7 次查看(过去 30 天)
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.

采纳的回答

Wayne King
Wayne King 2013-12-6
编辑:Wayne King 2013-12-6
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 个评论
Stefan
Stefan 2013-12-6
编辑:Stefan 2013-12-6
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.

请先登录,再进行评论。

更多回答(1 个)

Wayne King
Wayne King 2013-12-4
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 个评论
Stefan
Stefan 2013-12-5
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 2013-12-6
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.

请先登录,再进行评论。

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by