【问题标题】:matlab padding fft changing frequenciesmatlab填充fft改变频率
【发布时间】:2013-12-04 19:37:37
【问题描述】:

我正在尝试将余弦的 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),'*')

提前致谢

【问题讨论】:

    标签: matlab signal-processing fft padding frequency


    【解决方案1】:
    plot((0:999)/1000*Fe,abs(Y))
    hold on
    plot((0:49)/50*Fe,abs(X),'*')
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-12-16
        • 1970-01-01
        • 2020-01-13
        • 2021-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        相关资源
        最近更新 更多