【发布时间】:2014-11-08 18:05:55
【问题描述】:
我需要一种算法来检测纯正弦信号的频率和相位。输入信号的频率在 0 到 100 Hz 之间变化。
以 20kHz 的频率捕获信号的值(因此我每秒获得 20.000 个值) - 这是给定的,无法更改。我需要检测此输入信号的频率和相位,并使用 PWM 生成与输入信号频率相同的 MCU 中断。
谁能建议使用什么算法来做这个简单而有效的?也许是 Goertzel 算法?
【问题讨论】:
-
快速傅里叶变换。
-
@HotLicks 为这样一个简单的问题建议 FFT 并不是一个好建议。这就像为其他简单问题建议蛮力算法。
-
如下面的 user2485710 所述,this question has been re-posted on dsp.SE。
-
@NilsPipenbrinck - 根据平台,FFT 相当简单。例如,该代码内置于 iPhone 中,并且相当不神秘。其他平台很难说。
标签: algorithm signal-processing dft frequency-analysis goertzel-algorithm