如何量化某些噪声的“白”程度?是否有任何统计测量或任何其他测量(例如 FFT)可以量化特定样本与白噪声的接近程度?
确定噪声的“白度”
信息处理
噪音
2022-01-07 03:25:13
3个回答
您可以基于潜在白色序列的自相关来形成统计检验。数字信号处理手册建议如下。
这可以在 scilab 中实现,如下所示。
在两个噪声序列上运行此函数:一个白噪声序列和一个轻度过滤的白噪声序列,然后得到以下绘图结果。用于生成每个噪声序列实现的脚本在最后。
白噪声的统计平均值为 9.79;过滤噪声的统计平均值为 343.3。
查看10 个自由度的卡方表,我们得到:
我们看到,在 9.79(表中)处没有显着性水平表明白噪声不是白噪声。我们还看到 343.3 的值很可能是非白色的(将其与显着性列中的 23.2093 值进行比较)。
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 也对随机比特流进行了测试
其它你可能感兴趣的问题