我正在编写一个代码来使用FFTW计算简单的实际数据转换。我想比较相同数据的FFTW和FT的频谱。我的DFT数据长度是5000.但是,即使我使用更大的FFTW大小(例如N=450000
),我也无法获得所需的频率分辨率。换句话说,输出频谱中的每个频率区间之间存在很大差距。
这使我的频率间隔为1 /(deltat * N)= 1,154,700.5
有没有什么方法可以产生更小的频率而不会大幅增加FFT大小(N
),这会牺牲速度。
答案 0 :(得分:2)
请注意,大约1e6
的频率分辨率只占wave_frequency
3e9
的一小部分。也就是说,如果您想在给定的感兴趣频率(例如3e9
)周围的小带宽内分析或处理频率,那么1e6
可能代表该带宽的相当大一部分。然后诀窍是放大感兴趣的频段。这可以通过以下广泛步骤来实现:
M
个采样一个)。这将增加deltat
,从而为相同的FFT块大小提供更好的分辨率(降低频率区间的频率差)。