iPhone中的低通滤波器

1 filtering signal-processing objective-c filter ios

我有代码实现低通滤波器,以检测麦克风上的打击.我无法理解如何确定频率并选择我自己的ALPHA:

lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults;
Run Code Online (Sandbox Code Playgroud)

这应该可以检测到麦克风受到的打击.

我想获得一个新的ALPHA来实现fc = 1 khz或更高的低通滤波器.

我如何选择另一个ALPHA来做到这一点?

他们的ALPHA = 0.05,根据维基百科的公式,他们的采样率是每秒30次,我得到了1.2赫兹的fc.

或者我应该采用44.1 kHz的采样率?我们以30 Hz的频率对信号进行采样.

Pau*_*l R 5

这是一个简单的递归低通滤波器,仅用于平滑麦克风的测量(瞬时)功率.通常,您需要一个低截止频率,例如1 Hz,以便滤除所有噪声,并获得平滑的功率测量.增加截止频率(增加ALPHA)将使输出响应更快但会引入更多噪声.相反,降低截止频率(减少ALPHA)将使输出响应更慢,但也会减少噪声量.

请注意,如果您仅以30 Hz更新滤波器,则无法将截止频率设置为1 kHz.该尼奎斯特速率是15赫兹,所以你可以在低于此频率只能过滤.此外,如果您想要做的就是检测麦克风上的吹气,那么尝试以如此高的频率进行滤波是没有意义的.