2017-06-13 43 views
0

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

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

我试过的文档阅读,但我还是需要一些清理起来:因为我的理解,我想用下面的重载黄油() - 功能:

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

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

回答

0

根据文档,用于Wn

值必须位于0和1,其中1对应于奈奎斯特速率的一半之间 采样率或π弧度/样品

Nyquist rate是不一样的Nyquist frequency(你可以在这里阅读https://dsp.stackexchange.com/questions/26721/difference-between-nyquist-rate-and-nyquist-frequency

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

该顺序是过滤器的结果多项式的程度。如果n = 1,则信号衰减20dB /十倍频程。如果n = 2,那么它将衰减40 dB /十倍频程等等。对于某些用途,低阶滤波器将不可能实现,因为信号在给定频率下无法衰减到所需的值。理论上讲,阶数越高,截止越精确(并且需要更多的计算),但在实际的滤波器中,可能很难实现非常高阶的滤波器。