确定噪声的“白度”

信息处理 噪音
2022-01-07 03:25:13

如何量化某些噪声的“白”程度?是否有任何统计测量或任何其他测量(例如 FFT)可以量化特定样本与白噪声的接近程度?

3个回答

您可以基于潜在白色序列的自相关来形成统计检验。数字信号处理手册建议如下

在此处输入图像描述

这可以在 scilab 中实现,如下所示。

在两个噪声序列上运行此函数:一个白噪声序列和一个轻度过滤的白噪声序列,然后得到以下绘图结果。用于生成每个噪声序列实现的脚本在最后。

在此处输入图像描述

白噪声的统计平均值为 9.79;过滤噪声的统计平均值为 343.3。

查看10 个自由度的卡方表,我们得到:

在此处输入图像描述

我们看到,在 9.79(表中)处没有显着性水平表明白噪声不是白噪声。我们还看到 343.3 的值很可能是非白色的(将其与显着性列中的 23.2093 值进行比较)。p=0.01


function R = whiteness_test(x,m)
    N = length(x);
    XC = xcorr(x);
    len = length(XC);
    lags = len/2+1 + [1:m];
    R = N*sum(XC(lags).^2)/XC(len/2+1).^2;
 endfunction

X = rand(1,1000,'normal');
Y = filter(1,[1 -0.5],X)
R = [R; whiteness_test(X,10)];
R2 = [R2; whiteness_test(Y,10)];

我会使用信号的自相关属性或 PSD 的平坦度来确定这一点。理论白噪声的自相关是滞后0的脉冲。此外,自相关函数的傅里叶变换的PSD,理论白噪声的PSD是恒定的。

这些中的任何一个都应该让您对噪音的白度有一个很好的了解。

白度相当于独立。

你可以看看顽固分子https://en.wikipedia.org/wiki/Diehard_tests

Knuth's Semi-numerical Algorithms 第 2 卷有一节介绍随机数生成器和测试。

基于 DFT 的测试的问题是存在一点频谱泄漏,该技术引入了一些相关性,如果您使变换“长”,通常可以忽略。

NIST 也对随机比特流进行了测试