Bandpass filter with FDA tool

9 ビュー (過去 30 日間)
Stefan
Stefan 2013 年 12 月 4 日
編集済み: Stefan 2013 年 12 月 6 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpectral Measurements についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by