为什么在级联噪声信号的 FFT 中添加零值?

信息处理 fft 声音
2022-02-06 20:22:01

在将一个 11 秒的 *.WAV(采样率 44100 Hz)文件连接 27 次后(只需将它们从头到尾粘合),我获得了一个约 300 秒的噪声信号。我在原始文件和级联信号上都使用了 MATLAB(2015b) 和FFT 函数。正如预期的那样,级联信号的 FFT 与原始信号非常相似。但是,对于级联 FFT 中的每个 y 轴点(光谱功率),有 2 个零(不完全是零,而是 x*10 -19数量级的值,因此比“真实”FFT 低大约 18 个数量级值)。原始噪声文件是专门为允许循环而设计的。下面是显示添加零的级联 FFT 的特写:

fft 浓

因此,级联信号的频谱功率图看起来像原始的,但每个频率功率点之前和之后都有两个零。怎么会这样?这是否与延长信号会增加 FFT 的分辨率以及在级联信号中分析由于分辨率限制而在原始信号中不存在的频率有关?或者这是我的脚本中的一个错误?不过,其他光谱显示良好。

1个回答

您遇到了通常用于相反方向的 DFT 属性:在一个域中的样本之间填充零会导致整个序列在相反域中的复制。让我们从您绘制的信号开始在频域,X[k],并查看逆变换以查看它对应的时域信号。

x[n]=k=0N1X[k]ej2πkn/N

N是您应用于数据的 DFT 的长度。让我们这么说X[k]由稀疏值组成M每个之间的零,所以X[k]=0  kkM. 上面看起来像:

x[n]=k=0N1MX[k]ej2πkMn/N

在指数内做一些重新排列以获得:

x[n]=k=0N1MX[k]ej2πknNM

这不过是一个NM频域信号中非零样本的点逆 DFTX[k]. 由于 DFT 的周期性属性,您可以证明x[n]是周期性的NM,这正是你一开始就推入 DFT 的信号形式。

摘要:在一个域中复制信号会导致在相反域中填充零信号。这用于插值滤波器和其他多速率处理背后的理论。有一个双重属性,如果您对信号进行下采样(通过删除M每一个N样本),相反域中的数据相互重叠并相加(导致混叠)。