给定一个由三个 1.xxx kHz 信号加在一起组成的信号(其中 xxx 永远不会超过 0.01)。三个 1kHz 信号中的每一个都是 60 度异相(第一个偏移 0 度,接下来偏移 120 度,第三个偏移 180 度),最好的方法是检测三个“频率非常相似的实例”,以及每个实例的相位偏移?
我尝试使用 FFT,但它似乎没有相位的概念。我在互联网上搜索了一下 FFT 和相位,但找不到任何方法来使用 FFT 来提取仅按相位分隔的频率的多个实例。
我认为为了使用传统意义上的 FFT,我需要有一个极端数量的 bin(1000*sample_rate?)。
我构建了一个 gnuradio 流程图来试验这个概念。
生成的 FFT 在 0kHz 和 1kHz 处显示峰值。我想不出一种从原始信号中提取原始三个信号的方法。
我的用例处理频率差异低至 0.001Hz 的输入信号。检测分量信号的存在并确定它们的精确频率是我需要做的。它们的频率随着时间的推移而变化很小。