【问题标题】:the Length of signal in calculating FFT计算 FFT 时的信号长度
【发布时间】:2012-08-15 22:46:14
【问题描述】:

我想问一些与我最后一个问题有关的问题,所以我不想在另一个线程中发帖。我的问题包含一个代码,因此我不能将其作为评论发布。所以我必须将我的旧问题编辑成一个新问题。请看一下并提供帮助。谢谢。

我是 FFT 和 DSP 的新手,我想问你一些关于在 Matlab 中计算 FFT 的问题。以下代码来自Matlab帮助,我只是去除了噪音。

  1. 我可以选择不同于NFFT的信号长度L吗?

  2. 我不确定我是否正确使用了窗口。但是当我使用window(下面代码中的hanning)时,我无法获得幅度的确切值?

  3. 当 L 和 NFFT 得到不同的值时,幅度值也不同。如何获得输入信号幅度的确切值? (在下面的代码中,我使用了一个已知的信号来检查代码是否正常工作。但是,如果我从传感器获得信号并且我不知道它的幅度,我该如何检查?)

非常感谢您,期待您的回音:)

Fs = 1000;                    % Sampling frequency
T = 1/Fs;                     % Sample time
L = 512;                     % Length of signal
NFFT=1024;                   % number of fft points
t = (0:L-1)*T;                % Time vector
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);    input signal
X = fft(hann(L).*x', NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
plot(f,2*abs(X(1:NFFT/2+1)))     % Plot single-sided amplitude spectrum.

【问题讨论】:

    标签: matlab signal-processing fft wavelet


    【解决方案1】:

    L 是输入信号中的样本数。如果是L < NFFT,那么差值是零填充的。

    我建议您阅读零填充对 FFT 的影响。通常最好使用L = NFFT,因为这将为您提供数据的最佳表示。

    此处给出了关于使用零填充和 FFT 的例外答案: https://dsp.stackexchange.com/questions/741/why-should-i-zero-pad-a-signal-before-taking-the-fourier-transform

    在您的实验中,您会看到不同的幅度,因为每个不同的L 都会有不同的频谱泄漏量。

    【讨论】:

    • 谢谢马库斯。我不知道它是否与 NFFT=L 一起正常工作?我听说如果 NFFT=2^nextpow(L),程序会运行得更快。对吗?
    • 我有一个传感器,可以将来自两个不同过程的声发射信号以 3MHz 的采样率记录为原始信号。然后我得到了一个时基信号。现在我想使用 FFT 比较这些信号。我的问题似乎很愚蠢,但我是一名学生,并不是专门研究 DSP 的。谢谢你的帮助。你能解释一下,我需要做什么来分析这些信号吗?
    • @Mai:你看到其他答案了吗(来自我)?您需要应用窗口函数,还应该考虑使用 MATLAB 的周期图函数,而不是直接使用 FFT。
    • Mai,如果 FFT 的长度是 2 的幂,Matlab 的 FFT 函数会运行得更快,但是将输入信号填充到下一个 2 的幂并不能改善数据Matlab 可以处理其他 FFT 长度。当您增加 FFT 的长度时,您将获得更高的频率分辨率,从而减少相邻 bin 之间的泄漏。 Paul R 建议使用加窗——这也是减少频谱泄漏的好方法,Matlab 有许多加窗函数供您尝试。
    • 谢谢你,Markus 和 Paul R :)
    【解决方案2】:

    您需要在 FFT 之前应用 window function 以获得与采样窗口内具有非整数周期数的频率分量一致的结果。

    您可能还想考虑使用periodogram 而不是直接使用 FFT - 它会为您处理窗口函数和许多其他的日常事务。

    【讨论】:

      猜你喜欢
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 2011-03-10
      • 2017-11-25
      • 2021-08-14
      相关资源
      最近更新 更多