Stopband's edges in bandpass IIR filter
4 次查看(过去 30 天)
显示 更早的评论
Good evening to everyone,
I've tried to get an IIR bandpass filter having the passband [0.1,0.5] Hz and working at the sampling frequency 8 Hz using the following command:
[fdata,BPDigFilt] = bandpass(data, [0.1,0.5], 8, 'ImpulseResponse', 'iir', 'StopbandAttenuation', 30);
I get the following frequency response:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/476333/image.jpeg)
but the command info(BPDigFilt) returns this
Second Passband Edge : 500 mHz
Passband Ripple : 0.1 dB
First Stopband Edge : 84.3 mHz
First Passband Edge : 100 mHz
First Stopband Atten. : 30 dB
Second Stopband Atten. : 30 dB
Second Stopband Edge : 1.0495 Hz
The strange thing is the second stopband edge equal to 1.0495 Hz. It seems strange to me because, from the previous plot, it seems that the required attenuation is reached at 0.6 Hz about, and not near 1 Hz. Can someone explain to me the reason of this behaviour? Thanks.
0 个评论
回答(1 个)
Star Strider
2021-1-2
This may have more to do with the way fvtool analyses filter Bode plots than the design of the filter itself. (The documentation does not discuss anything similar to that result.) The info function here is a digitalFilter property created by designfilt. There does not appear to be any documentation example relevant to this on those pages, either. There is clearly only one passband and stopband defined, so someone from MathWorks will likely need to enter this discussion to clarify that.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filter Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!