Bandpass filter with FDA tool

16 views (last 30 days)
Stefan
Stefan on 4 Dec 2013
Edited: Stefan on 6 Dec 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.

Accepted Answer

Wayne King
Wayne King on 6 Dec 2013
Edited: Wayne King on 6 Dec 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 Comment
Stefan
Stefan on 6 Dec 2013
Edited: Stefan on 6 Dec 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.

Sign in to comment.

More Answers (1)

Wayne King
Wayne King on 4 Dec 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 Comments
Stefan
Stefan on 5 Dec 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 on 6 Dec 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.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!