Визначення "білості" шуму


14

Як можна кількісно визначити, наскільки "білий" якийсь шум? Чи існують якісь статистичні заходи чи інші заходи (наприклад, ЗПП), які можуть оцінити, наскільки близький до білого шуму конкретний зразок?


3
Вас цікавлять пропозиції щодо порівняння різних джерел / сигналів шуму чи шукаєте "галузевий стандарт", який стосується кількості "кольору" в джерелі шуму? Я не знаю загальної метрики, яка застосовується, але ви можете порівняти величину забарвлення, переглянувши розподіл потужності шуму у FFT або PSD (плоскіше = біліше), або ви можете порівняти фукотони автокореляції (вужчий = лесліший).
користувач2718

Якщо я правильно вас зрозумів, ви шукаєте автоматичний калькулятор чорного поля "білості", правильно?
Спейси

1
+1 для обчислення спектральної щільності потужності джерела. Для завершення я хочу додати, що білого шуму на практиці не можна відібрати, оскільки його PSD є рівним в -∞ <f <∞.
Серж

@Mohammad - Не обов’язково чорний ящик для обчислення. Мені просто цікаво, чи є математичний оцінювач білості.
Кітчі

1
@BruceZenone - Для реальної вибірки даних, як зазначив Сергій, PSD ніколи не буде повністю рівним, ні? Але я все одно здогадуюсь, що чим він легше, тим ближче до "справжнього" білого шуму.
Кітчі

Відповіді:


12

Ви можете сформувати статистичний тест на основі автокореляції потенційно білої послідовності. Handbook Digital Signal Processing пропонує наступне.

введіть тут опис зображення

Це може бути здійснено в scilab, як показано нижче.

Виконуючи цю функцію над двома шумовими послідовностями: білий шум один і злегка відфільтрований білий шум, то наведені нижче графіки. Сценарій для створення кожної реалізації послідовностей шуму знаходиться в кінці.

введіть тут опис зображення

Середнє значення статистики для білого шуму - 9,79; середнє значення статистики для відфільтрованого шуму становить 343,3.

Дивлячись на таблицю чі-квадрата на 10 градусів свободи, ми отримуємо:

введіть тут опис зображення

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)];

я не є великим статистиком ... Але у мене є стурбованість щодо загальної обґрунтованості викладеного вище тесту на не гауссові процеси білого шуму: наскільки я розумію, білий шум означає лише, що в часі немає кореляції, і, отже, автокореляція є імпульс при 0 відставанні. Білий не обов'язково означає, що амплітуди зазвичай розподіляються, це те, що передбачає тест ... Отже, наскільки я розумію, тест справедливий для білого гауссового шуму (тому що сума квадратичних гауссових розподілів є Chi-квадратом), а не для загального білого шуму? Я маю рацію чи є щось, що написано
Фабіан

@Fabian: Так і ні. Ви вірні в тому, що тест передбачає, що значення автокореляції є гауссовими. Якщо вихідний шум стосується будь-якого розподілу, то центральна гранична теорема означає, що розподіл оцінок автокореляції буде гауссовим. Є деякі патологічні випадки, коли коефіцієнти автокореляції не будуть гауссовими, але їх, як правило, мало і далеко між ними (і, можливо, аналіз автокореляції не найкраще робити в цих випадках).
Пітер К.

@ PeterK. Чи не міг би бути "складнішим" тестом визначити плоскощі PSD? Таким чином, жодних припущень не робиться, і розподіл зразків шуму не має значення.
Енвідія

@Envidia: Два рівносильні, чи не так? PSD - це лише DFT послідовності автокореляції.
Пітер К.

@PeterK. У вашому прикладі так, вони по суті є рівнозначними. Однак процедура передбачає, що, як правило, зразки можуть бути розподілені будь-яким способом. Я розумію, що теорема про центральний ліміт дійсно грає і є дійсною, тому я використовую термін "важче". Можливо, кращим терміном було б "загальне".
Енвідія

5

Я б використовував властивості автокореляції сигналу або плоскостопість PSD, щоб визначити це. Автокореляція теоретичного білого шуму є імпульсом при відставанні 0. Крім того, PSD фур'єрного перетворення функції автокореляції, PSD теоретичного білого шуму є постійним.

Будь-яке з них повинно дати вам гарне уявлення про білість вашого шуму.


3

Білість рівнозначна незалежності.

Ви можете подивитися на https://en.m.wikipedia.org/wiki/Diehard_tests

У томі 2 напівчислових алгоритмів Кнута є розділ про генерататори випадкових чисел та тестування.

Проблема тестів, що базуються на DFT, полягає в тому, що існує невеликий спектральний витік, коли методика вводить певну кореляцію, яка, якщо ви робите свої перетворення "довгими", зазвичай можна нехтувати.

Тести для випадкових бітових потоків також є в NIST


Забув сказати, Стен: +1 для цих твердих випробувань! Я не бачив цього списку. :-)
Пітер К.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.