我仍然很难理解SDR的概念。我研究了源代码auf sdr#和“Gnuradio rtl_fm”以了解实际实现。目前,我正在使用DVBT-USB棒并开始使用c#项目来可视化FM无线电频率范围的频谱。该计划运作良好。采样率为0f 2048 KHz,我可以看到2 MHz的块。 我使用FFTW3计算了2048个样本的傅立叶分析,得到了不同无线电台的漂亮峰值。然而,当我分析峰值的频率时,我发现它们已经离开已知频率几KHz。我认为问题是由fft算法以及使用Lomont fft(http://www.lomont.org/Software/Misc/FFT/LomontFFT.html)以某种方式引起的。但是,这并没有解决问题。 Lomont fft获得的峰值也与已知频率不同,尽管差异与使用FFTW3的差异不同。 当我将信号馈入Gnuradio伴随fft-sink时,峰值对应于正确的频率。
是否需要修正系数?
答案 0 :(得分:1)
最后,我可以解决问题:我忘了对FFT的结果进行排序。在我进行分选程序后,峰值出现在正确的频率上。