提取的频谱取决于采样点数

时间:2016-10-16 17:59:50

标签: matlab signal-processing fft

我有一个信号a(t),这是我绘制它时的样子:

enter image description here

我试图在MATLAB中使用FFT提取该信号的特征频率。我是这样做的

Y=fft( a );
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
plot(P1)

现在,事实证明,如果我使用Y=fft( a ),我在绘制光谱时只会得到接近0的频率。如果我使用Y=fft( a(1:3:end) ),那么我的频率为0 非零频率。

  1. 为什么在对完整数据集进行FFT时不会出现这些非零频率,但仅当我每隔4点采样一次?
  2. 我的数据集中是否包含非零频率 ,还是神器?

1 个答案:

答案 0 :(得分:1)

如果更改数据集跨越FFT输入的宽度,则将数据与矩形窗口相乘,矩形窗口将光谱与Sinc函数进行卷积。这种频谱卷积的结果将显示在FFT新宽度内不是精确整数周期的任何频谱频率。