matlab填充变换频率

时间:2013-11-20 17:04:03

标签: matlab signal-processing fft padding frequency

我试图比较一个cosinus的Matlab fft和两个不同的零填充。我认为它不会改变频率响应,但是当我叠加两条曲线时,频率不一样。我想我做两个fft的方式有问题吗?

Fe = 8000;
F = 1680;
w = 2*pi*F;
N = 50;
P = 50;
T = 1/Fe;
t = (0:T:P*T);

x = real(exp(i*w*t))
x_reduced = x(1:P)

X = fft(x_reduced,N)
N = 1000;
Y = fft(x_reduced,N)


plot(abs(Y))
hold on
plot(abs(X),'*')

提前致谢

2 个答案:

答案 0 :(得分:6)

plot((0:999)/1000*Fe,abs(Y))
hold on
plot((0:49)/50*Fe,abs(X),'*')

您可能需要调整两种情况的频率。

答案 1 :(得分:4)

当您填充FFT时,您可以更改每个bin的分辨率(您实际上在bin之间进行插值),因此当相应的频率仍然相同时,实际映射到bin索引将会改变。如果您要缩放两个FFT图,使两个水平轴对齐(即bin 0在两者上对齐,bin 50与bin 1000对齐),那么图将匹配。

相关问题