在频域中检测频率模式

信息处理 fft 离散信号 信号分析 互相关 相关性
2022-02-18 09:28:22

我希望检测频域中的频率组合。例如,这是我的光谱:

光谱!

我正在尝试检测导频音。我有导频音的 FFT:

飞行员

放大后看起来像这样:

放大

我尝试在 matlab 中进行互相关:

trainingfft = fft(trainingfreq);
datafft = fft(idat);
Hxcorr = dsp.Crosscorrelator;
CorrResult = step(Hxcorr,datafft,trainingfft);

但最后是这样的:

相关性

我真的很想检测光谱中任何地方的三个峰的存在。我认为由于存在本底噪声,互相关不起作用,所以我正在考虑使用某种阈值检查器来清理噪声,但我真的在寻找一个优雅的解决方案。

有没有一种优雅的方式来做到这一点?

1个回答

尝试

xcorr(trainingfft,datafft,'option') 

为互相关指定归一化。有关该选项的更多详细信息,请参阅文件页面