【发布时间】:2014-03-22 10:22:44
【问题描述】:
我正在尝试在智能手机上进行 FFT 并提取高频特征。事实证明,在智能手机上对 44100HZ 采样数据进行完整 FFT 太慢,但由于奈奎斯特定理,下采样会杀死高频信息。有没有办法在保持较高频率的同时加快 FFT?
【问题讨论】:
-
原生 ARM 代码中的 FFT(在 Android 上使用 NDK)应该能够轻松地跟上大多数当前智能手机上 44.1kHz 的采样率,并且只使用一小部分 CPU。
-
您使用的分段大小是多少?您是否将重叠添加用于过滤器实现?对于较短的高通滤波器,您也可以直接实现卷积。
-
即使在纯 Java 中,你也应该能够跟上,除非你的窗口很大。
-
如果您要过滤,请完全避免 FFT 并进行时域过滤。
标签: android signal-processing fft