Як можна кількісно визначити, наскільки "білий" якийсь шум? Чи існують якісь статистичні заходи чи інші заходи (наприклад, ЗПП), які можуть оцінити, наскільки близький до білого шуму конкретний зразок?
Як можна кількісно визначити, наскільки "білий" якийсь шум? Чи існують якісь статистичні заходи чи інші заходи (наприклад, ЗПП), які можуть оцінити, наскільки близький до білого шуму конкретний зразок?
Відповіді:
Ви можете сформувати статистичний тест на основі автокореляції потенційно білої послідовності. Handbook Digital Signal Processing пропонує наступне.
Це може бути здійснено в scilab, як показано нижче.
Виконуючи цю функцію над двома шумовими послідовностями: білий шум один і злегка відфільтрований білий шум, то наведені нижче графіки. Сценарій для створення кожної реалізації послідовностей шуму знаходиться в кінці.
Середнє значення статистики для білого шуму - 9,79; середнє значення статистики для відфільтрованого шуму становить 343,3.
Дивлячись на таблицю чі-квадрата на 10 градусів свободи, ми отримуємо:
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.m.wikipedia.org/wiki/Diehard_tests
У томі 2 напівчислових алгоритмів Кнута є розділ про генерататори випадкових чисел та тестування.
Проблема тестів, що базуються на DFT, полягає в тому, що існує невеликий спектральний витік, коли методика вводить певну кореляцію, яка, якщо ви робите свої перетворення "довгими", зазвичай можна нехтувати.
Тести для випадкових бітових потоків також є в NIST