Bandpass filter with FDA tool

9 visualizzazioni (ultimi 30 giorni)
Stefan
Stefan il 4 Dic 2013
Modificato: Stefan il 6 Dic 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.

Risposta accettata

Wayne King
Wayne King il 6 Dic 2013
Modificato: Wayne King il 6 Dic 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 Commento
Stefan
Stefan il 6 Dic 2013
Modificato: Stefan il 6 Dic 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.

Accedi per commentare.

Più risposte (1)

Wayne King
Wayne King il 4 Dic 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 Commenti
Stefan
Stefan il 5 Dic 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 il 6 Dic 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.

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by