Stopband's edges in bandpass IIR filter

5 visualizzazioni (ultimi 30 giorni)
Emanuele
Emanuele il 1 Gen 2021
Risposto: Star Strider il 2 Gen 2021
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:
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.

Risposte (1)

Star Strider
Star Strider il 2 Gen 2021
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.

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by