F F TFFT产生非线性噪声

信息处理 fft 频谱
2022-02-21 13:34:36

我按照教程在这里生成信号的频谱,为了测试,我生成了一个频率为的正弦信号。这导致了下图中的时域:440 Hz

在此处输入图像描述

当我将其转换为频域时,我得到:

在此处输入图像描述

我现在的问题是:

  • 为什么背景噪音的形状像现在这样?
  • 我本来预计会有更均匀的噪音,或者更确切地说是线性形状的噪音。这种形状从何而来?

关于技术数据的编辑:

  • 采样率为,应该足够了 44100Hz
  • FFT长度与信号长度相同,即1323000点。
1个回答

首先,看看你所谓的背景噪音的力量:

它比峰值功率低 -150 dB 到 -120 dB。这意味着这些 FFT 点的幅度在主峰值幅度[107.5;106]

到处都在尖叫“数字不准确”:

假设您的 FFT 是使用 32 位 IEEE754 浮点数实现的,您必须意识到对于 FFT 输出的每个点,至少有一个 FFT 长度的加法量以非常有限的数值精度发生。

现在你的 FFT 有很大的长度;加法使最稳定的算法崩溃。有关常用 FFT 算法的误差分析的一些详细信息,请参阅 [1]。13230001.3106

查看 DFT 矩阵以了解这些值如何产生的概念:对于频谱峰值的频率,将信号周期 ( ) 间隔样本相加; 因为它们总是具有相同的值(“周期”的定义),所以结果很大;对于所有其他人,应该相互抵消。例如,处的 bin总是将相同的绝对值相加,但符号交替。对于其他箱,您只需从正弦中获取值并将它们相加。现在发生的情况是,由于有限的浮点数学运算,当您将一个大数和一个小数相加,然后再次减去大数时,您将不会得到与原来相同的小数 - 精度会随着数量级而降低!1fsignal2fsignal

现在,FFT 是一种在这方面非常有弹性的算法(因为它不会尝试一次将所有 FFT 长度值相加),但是算法只能在给定机器上实现这么多的稳定性ϵ

我本来预计会有更均匀的噪音,或者更确切地说是线性形状的噪音。

为什么?如果有的话,您正在观察 FFT 的缺陷与输入信号相关的过程。那样的东西不会有“白色”PSD!请记住,过程的 PSD 是其自相关的傅里​​叶变换;在你的情况下,似乎在更高的频率有更多的自相关。

帮您理解一下,并在输入中添加一些尽可能好的白高斯噪声,可能正弦幅度的方差为,然后再次执行您的 mag squared FFT . 您会在预期的位置看到本底噪声,并且它是平坦的,因为(主要)噪声源实际上是白色的,并且没有强相关性。N=103

另外,您的1.3106FFT 真的没那么有用,除非你真的需要一个频率分辨率fsampleN=4.411041.323106=33mHz(我敢怀疑)。尝试使用较短的信号片段!


[1] Tasche, M. 和 H. Zeuner,快速三角变换的舍入误差分析应用数学分析计算方法手册,G. Anastassiou(编辑),Chapman & Hall/CRC,Boca Rota,2000 , 357–406。