IIR bandpass filter with very low corner frequencies
2 ビュー (過去 30 日間)
古いコメントを表示
Hi All! I'm trying to get in the MATLAB Signal Processing Toolbox a bandpass IIR filter having the following specifications: pass-band [0.1-0.5] Hz and stop-band attenuation 30 dB. I'm using the following command:
[fdata,DigFilt] = bandpass(data, [0.1,0.5], fs, 'ImpulseResponse', 'iir', 'StopbandAttenuation', 30);
The sampling frequency fs is 860 Hz. The command
info(DigFilt)
says that
IIR Digital Filter (real)
Number of Sections : 5
Stable : Yes
Linear Phase : No
Design Method Information
Design Algorithm : Elliptic
Design Options
Match Exactly : both
Design Specifications
Sample Rate : 860 Hz
Response : Bandpass
Specification : Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2
Passband Ripple : 0.1 dB
First Stopband Edge : 84.3 mHz
Second Stopband Atten. : 30 dB
Second Stopband Edge : 67.9315 Hz
Second Passband Edge : 500 mHz
First Passband Edge : 100 mHz
First Stopband Atten. : 30 dB
The very strange parameter is Second Stopband Edge = 67.9315 Hz that seems to me too high considering the high corner frequency of 0.5 Hz. In fact, when i plot the frequency response with
fvtool(DigFilt)
i get the following
where i see that at 67.9315 Hz the attenuation is far below 30 dB. A zoom of the pass-band is the following
With this image, the first stop-band edge seems to be 57 mHz (and not 84.3 mHz as indicated by the command info) and the second stop-band edge seems to be 577 mHz. Why is there such disagreement between the images and the output of the command info ? Is it caused by the very low corner frequencies? Thanks to all.
0 件のコメント
採用された回答
Frantz Bouchereau
2020 年 8 月 24 日
Emanuele, the passband frequencies are extremely small for the 860 Hz sample rate. I recomend you donwssmple the signal to a much smaller sample rate and then design the filter with the required passband frequencies.
HTH
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Filter Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!