我只是在学习傅立叶变换,作为输入,我正在使用 WAV 文件(Matlab)并获取它的一个通道并执行快速傅立叶变换。我已经对输入进行了零填充,因为有人告诉我它可以提供更好的频率分辨率。我已经这样做了,除了幅度发生了变化之外,我看到了一个相同的图表。有人可以向我解释为什么幅度下降了,它们与它的变化有任何线性关系吗?
我假设频率将与零填充之前的频率相似,但更适合?
我只是在学习傅立叶变换,作为输入,我正在使用 WAV 文件(Matlab)并获取它的一个通道并执行快速傅立叶变换。我已经对输入进行了零填充,因为有人告诉我它可以提供更好的频率分辨率。我已经这样做了,除了幅度发生了变化之外,我看到了一个相同的图表。有人可以向我解释为什么幅度下降了,它们与它的变化有任何线性关系吗?
我假设频率将与零填充之前的频率相似,但更适合?
零填充是使用 sinc 函数(或内核)的有用插值工具。我将在下面分3部分解释它。第一:什么是DFT;第二:补零;第三:使用零填充。
(一种):通过对数据集进行 DFT,我们将数据值从当前离散域(许多情况恰好是音频信号中的时间示例;它也可以是图像的空间坐标)映射到离散频域。使用变换做这个映射是一个矩阵(因此是线性的),它总是满秩的,映射总是可逆的,没有任何信息内容的损失。例如,我们可以对获得的 dft 进行 idft 并重新获取我们开始使用的相同数据或没有丢失!
为什么要转到表示相同数据的另一个域(所谓的变换(此处为频率)域)?好吧,(现实生活中的笔记)当我们试图做出决定时,我们希望看到摆在我们面前的事实。我们不希望不必要的事实和好恶在我们的脑海中徘徊。它与信号处理类似。当我们想要分析数据时,我们希望在我们拥有的这种表示域中查看数据,
因此很明显,通过使用 DFT,我们想看看我们是否可以从上述两个中获益。当然,如果数据本身具有 DFT 矩阵的一列,我们已经从基于 DFT 域的表示中获得了最大值,即理想情况下,映射域值中只有一个点具有非零值。现在假设信号不能使用 DFT 矩阵的任何一列来表示。然后 DFT 将尝试通过 DFT 矩阵的列的最小混合数来表示数据,即只有少数映射的域值将具有非零值。那么,哪种类型的数据会做到这一点:那些与 DFT 矩阵列共享某些特征的数据,例如周期性的。 :因此 DFT 可以很好地表示周期性数据,因为它基于非零值的数量给出了最小表示(幅度捕获了每列在构成原始域数据中的贡献)。
(二):在零填充中,我们首先将零填充到原始域中的数据,然后采用新的零填充信号的 DFT。这意味着通过零填充,我们增加了 DFT 矩阵中的列数(矩阵现在也是正交的),而原始域中没有添加新数据。有了这个,我们可以希望更深入地了解新添加的列在表示时域信号方面的贡献。请注意,我们之前所说的 N 点 DFT 在相同数据的后续 2N 点 DFT 中的那些 N 点上也会看到相同的结果。所以峰值幅度不会改变。(考虑到我们没有对 DFT 矩阵进行归一化)。现在,当我们考虑 iDFT 归一化因子时,这次我们必须归一化 1/2N 以获取相同的数据,而不是在前一种情况下按 N 归一化,而不是只选择 2N 点数据中的 N 个点。时域中的零填充也可以解释为 DFT 域中的 sinc 插值,以获得 2N-pont DFT 中新引入的列的贡献。这需要单独的详细说明。但是您可以通过绘制信号并将零填充信号视为原始假设为 2N 长度信号与矩形窗口的乘积,从而在频域中使用 sinc 函数进行卷积,从而轻松看到它。现在可能很清楚,我们并没有通过零填充 i 来提高频率分辨率。e 我们没有解析附近的两个频率,而是在现有 N 点 DFT 频率之间填充新频率,并找到它们对产生信号的贡献。只有通过更精细地采样数据或获取新的数据点才能提高频率分辨率,只有当我们是实验者时,我们才能掌握这些数据点。
(C):它用作频域插值工具,用于获取滤波器的旁瓣结构。它还用于通过频域中的零填充在时域中进行插值(或重新采样)。频域中的零填充需要注意以保持信号的原始相位。
希望这篇文章很清楚。如果您已经了解很多,可能会有很多冗余。
这与前一个问题的概括和Parseval 的相等性直接相关。当您通过零填充扩展频谱时,您会增加信号的大小。因为你没有改变它的总能量(因为你只添加了's),你确实在傅里叶变换反演后划分了每个样本的幅度。
例如,考虑 DC 系数,它等于输入图像的平均值。将每个维度上的频谱大小加倍后:,以及傅里叶变换的反演,您获得的图像像素多 4 倍,但均值相同。因此,您确实将每个单独样本的值除以 4。每个系数的推理相同。
另一方面,如果您在反转傅里叶变换之前应用正确的缩放比例(在您的情况下将幅度乘以 2,在我的图像示例中乘以 4),您将获得幅度正确的缩放信号。
FFT 之前的零填充可为您提供更高密度的插值,这可以提高图形或绘图的分辨率,但它只是插值,而不是添加信息。任何更接近的光谱峰对或光谱中更精细的“皱纹”都不会出现,并且您可以在绘制非零之前使用适当的平滑曲线拟合算法(例如样条或 Sinc 内核插值)获得几乎相同的效果-填充的 FFT 结果。
如果您的 FFT 除以 N,则向其提供完全相同的数据,但使用更大的 N 分母(零填充后更宽的 FFT 孔径),将按两个 N 的比率重新缩放 FFT 结果。但并非所有 FFT 实现都除以 N。检查你的。