【问题标题】:Understanding Butterworth filters了解巴特沃斯滤波器
【发布时间】:2017-06-14 05:58:28
【问题描述】:

我想创建一个带通滤波器,将我的音频信号过滤成任意数量的大小相等的子带。现在我正在尝试使用巴特沃斯滤波器来实现这一点(对于这种性质的问题,这是一个很好的解决方案吗?)。

假设我有一个采样频率为 1200Hz 的信号,因此奈奎斯特频率为 600Hz。现在我想将此信号分解为三个不同的子带,每个子带长度为 200Hz。我如何实现这一目标?

我已经尝试阅读文档,但我仍然需要清理一下:据我了解,我想使用以下重载的 butter() 函数:

butter(#order, [min_freq, max_freq]/nyq_freq)

这是正确的吗?它说最小和最大频率必须在区间 (0,1) 内 - 我该如何创建第一个和最后一个子带?只需选择任意的小/大值(0.0001 和 0.9999)? #order 有什么作用?更高阶是否确实会在信号上提供更精确的截止,但它需要更广泛的计算?

【问题讨论】:

    标签: matlab bandpass-filter


    【解决方案1】:

    根据文档,Wn 的值

    必须介于 0 和 1 之间,其中 1 对应于奈奎斯特速率 - 一半 采样率或 π rad/sample

    Nyquist rateNyquist frequency 不同(您可以在此处阅读https://dsp.stackexchange.com/questions/26721/difference-between-nyquist-rate-and-nyquist-frequency

    基本上,Nyquist rate 是您带宽的两倍。

    阶数是滤波器得到的多项式的次数。如果 n=1,信号将衰减 20 dB/decade。如果 n=2,那么它将衰减 40 dB/decade,依此类推。对于某些用途,低阶滤波器是不可能的,因为信号将无法在给定频率衰减到所需值。是的,理论上,阶数越高,截止值就越精确(并且需要更多的计算),但在实际滤波器中,很难实现非常高阶的滤波器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-09
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多