使用FFT校正频率轴

时间:2018-01-22 00:12:18

标签: matlab signal-processing fft

如何使用MATLAB FFT 绘制正确的频率向量?

我的问题:

N      = 64;
n      = 0:N-1; 
phi1   = 2*(rand-0.5)*pi; 
omega1 = pi/6;
phi2   = 2*(rand-0.5)*pi; 
omega2 = 5*pi/6;
w      = randn(1,N); % noise
x      = 2*exp(1i*(n*omega1+phi1))+4*sin(n*omega2+phi2);
h      = rectwin(N).';
x      = x.*h;
X      = abs(fft(x));

通常我会这样做:

 f = f     = Fs/Nsamples*(0:Nsamples/2-1); % Prepare freq data for plot

问题是这次我没有Fs(采样频率)。

在这种情况下如何才能正确完成?

1 个答案:

答案 0 :(得分:2)

如果您没有 Fs ,只需将其设置为1(如每个样本的一个样本)。这是我一直使用和看到其他人都使用的典型解决方案。您的频率将从0到1(或-0.5到0.5),没有单位。这将被每个人认可为每个样本的时间和#34;。

修改

根据您的评论,我得出结论您对径向频率感兴趣。在这种情况下,您需要将绘图x轴设置为

omega = 2*pi*f;