besself does not plot correctly
1 次查看(过去 30 天)
显示 更早的评论
When i run my filter command, the output plots stop at 1.5kz. This code works fine on Chebychev and Elliptic filters, but Bessel which is simpler seems to not work.
采纳的回答
Walter Roberson
2020-7-8
You use freqs(bn, an, 1e6) . That asks it to pick out 10^6 frequencies, but it does not say anything about the range to pick the frequencies from.
For the first two sets of data, b has 3 poles, one of which is real, and the other are complex conjugates with absolute values less than 1e5. That combination leads to 1e6 being chosen as the last frequency.
For the third (and remaining) sets of data, b has 3 poles, one of which is real, and the others are complex conjugates in which the absolute values are greater than 1e5. For whatever reasons, the frequency interpolation routine freqint() discards the ones greater with absolute values greater than 1e5, and that leads to 10000 as the last frequency to be generated.
The work-around is to pass in a vector of frequencies instead of the number of frequencies to generate.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Analog Filters 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!