如果快速卷积需要LPF,我如何使用基于FFT的快速卷积来实现LPF?

sta*_*010 5 iphone audio android signal-processing fft

我是一位经验丰富的软件工程师,拥有一些较小的大学DSP知识.我正在开发智能手机应用程序来处理信号数据,例如来自麦克风(以44100 Hz采样)和加速度计(以32-50 Hz采样).我的应用将是,例如,音调检测器等.

我想在手机上实现一个低通滤波器(LPF)来消除混叠频率,特别是对于采样率较低的加速度计.但是,在尝试应用基于快速FFT的卷积方法时,我发现了一个矛盾.任何帮助,将不胜感激.

这是我的推理:

  1. 我正在读取信号,我想使用LPF进行抗锯齿处理(去除混叠频率).

  2. 为了在我的智能手机上实现LPF,我选择将FIR滤波器(即窗口sinc函数)应用于时域信号.设x [n]为我的信号,f [n]为我的滤波器内核的系数.所以我想在x [n]和f [n]之间进行卷积,其中x [n]的长度为N(通常为512),f [n]的长度为M(通常为256).

  3. 我在我的智能手机(Android和iPhone)上实现了一个简单的1D卷积.该算法是典型的嵌套循环版本,并以O(NM)运行.智能手机上的运行速度太慢,N = 512且M = 256.

  4. 然后我研究了使用FFT并在O(N lgN)中运行的快速卷积算法.具体来说,滤波后的信号来自:滤波后的x [n] = IFFT(FFT(x).*FFT(f)),其中FFT是fft,IFFT是逆FFT,而*.是逐元素乘法两个数组.

  5. 但是,我发现在这个过程中存在矛盾:IFFT(FFT(x).*FFT(f)).这要求我采用x [n]的FFT,但x [n]可能具有混叠频率.这正是我从第1步开始的第一个问题!

那么,我该如何解决这个矛盾呢?如果快速卷积内部需要LPF,我如何使用快速卷积来实现LPF?

注意:一些EE人员告诉我,有些麦克风内置了基于硬件的LPF,但我无法确定智能手机的麦克风或加速度计.

Pho*_*non 3

智能手机上的麦克风在采样之前始终具有模拟低通滤波器。如果信号中已经出现混叠,则通常无法消除。因此,每个麦克风的 A/D 转换器都在模拟域中实现了低通滤波——甚至在离散化发生之前。除非您自己以某种方式对信号进行下采样或重新采样,否则您不必担心混叠。快速卷积和时域离散循环卷积在数学上是等价的,因此如果一个没有混叠,另一个就没有理由存在混叠。

  • 他们总是拥有它们。如果没有 LPF,就无法对任何内容进行采样。 (3认同)