Як це працює
«Колір» випадкового сигналу повністю визначається його спектральною густиною потужності S(f) — тим, як його середня потужність розподілена за частотою. Білий шум має пласку PSD (однакову потужність на герц), і його тривіально генерувати: щокроку брати новий незалежний випадковий відлік. Рожевому і коричневому шуму потрібен процес формування спектра, бо просте пропускання білого шуму через довільний фільтр низьких частот не відтворює точний степеневий нахил 1/f чи 1/f², який їх визначає.
Рожевий шум тут генерується алгоритмом Восса-Маккартні: невеликий набір незалежних випадкових генераторів («рядків») оновлюється з октавно рознесеними швидкостями — рядок 0 щовідліку, рядок 1 кожен другий відлік, рядок 2 кожен четвертий, і так далі — і всі сумуються разом, що ефективно реалізується оновленням рядка, вказаного кількістю кінцевих нульових бітів лічильника, що зростає. Коричневий шум генерується як накопичувальна сума (дискретний інтеграл) білого шуму, обмежена, щоб залишатися в межах діапазону — той самий процес, що й одновимірне випадкове блукання, звідки й назва «броунівський шум». Полотно періодично перераховує наближену спектральну густину потужності з буфера останніх відліків за допомогою прямого дискретного перетворення Фур'є, обчисленого на логарифмічно рознесених частотах (періодограма), тож плаский, -3 дБ/окт і -6 дБ/окт тренди видно, а не лише чутно.
Рожевий: S(f) ∝ f⁻¹ (Восс-Маккартні: сума октавно рознесених генераторів)
Коричневий: S(f) ∝ f⁻² (накопичувальна сума / випадкове блукання білого шуму)
Синій: S(f) ∝ f⁺¹ (перша різниця білого шуму, додатково)
Часті запитання
Що таке спектральна густина потужності (PSD) і чому вона визначає «колір» шуму?
Спектральна густина потужності описує, як середня потужність випадкового сигналу розподілена за частотою, S(f). «Кольори» шуму — це просто назви характерних форм PSD: пласке S(f) — білий шум, S(f) ∝ 1/f — рожевий, а S(f) ∝ 1/f² — коричневий. Два сигнали з однаковою формою PSD звучать як один і той самий «колір», хоча самі випадкові відліки щоразу різні при генерації.
Чому білий шум називають «білим»?
Назва — аналогія до білого світла, яке містить приблизно однакову інтенсивність на всіх видимих довжинах хвиль. Так само білий шум має однакову потужність на герц на кожній чутній частоті — його спектральна густина потужності пласка, S(f) ∝ f⁰. У цій симуляції він генерується просто взяттям нового незалежного випадкового відліку щокроку без жодної кореляції між відліками.
Чому рожевий шум звучить «тьмяніше» або тепліше за білий, хоча має більше енергії на низьких частотах на кожен герц?
Людський слух групує частоти в октавні смуги, а кожна октава — це подвоєння частоти, тож у високих октавах набагато більше окремих герц, ніж у низьких. Білий шум має однакову енергію на герц, тож октави однакової ширини на високих частотах збирають значно більше сумарної енергії, ніж на низьких — звідси яскраве, шипляче звучання. Рожевий шум натомість має однакову енергію на октаву, що відповідає тому, як ми сприймаємо висоту тону, тож цей акцент на високих частотах зникає і звук стає теплішим і тьмянішим, попри реальну енергію на кожному герці.
Як алгоритм Восса-Маккартні насправді генерує рожевий шум?
Метод Восса-Маккартні тримає невеликий набір незалежних випадкових «рядків», кожен з яких оновлюється з різною швидкістю: рядок 0 змінюється щовідліку, рядок 1 — кожен другий відлік, рядок 2 — кожен четвертий, і так далі октавними кроками. Сума всіх рядків дає сигнал, чий спектр спадає близько до 1/f, бо повільніші рядки додають більше низькочастотного вмісту, а швидші — більше високочастотного, у октавно збалансованих пропорціях. Дешевий спосіб обрати, який рядок оновити на кожному кроці, — порахувати кількість кінцевих нульових бітів лічильника, що зростає, — це природно оновлює рядок 0 у половині випадків, рядок 1 у чверті випадків, і так далі.
Чому пристрої з білим шумом допомагають людям заснути або замаскувати звук?
Плаский, широкосмуговий спектр білого шуму охоплює практично всі чутні частоти одночасно, тож він дуже ефективно піднімає поріг слухового маскування в усьому діапазоні слуху — тихіші, змінні звуки на кшталт грюкання дверей чи вуличного шуму просто тонуть у постійному незмінному шипінні. Оскільки він не має вираженої висоти чи ритму, мозок також швидко звикає до нього, замість постійно розпізнавати його як новий звук, що привертає увагу.
Чому рожевий шум (1/f-шум) настільки часто трапляється в природі та біологічних системах?
Спектри 1/f надзвичайно поширені в фізичних і біологічних часових рядах: варіабельність інтервалів серцевого ритму, частота нейронних імпульсів, річкові потоки й навіть музика демонструють приблизно рожевий спектр. Це, схоже, виникає щоразу, коли система містить багато взаємодіючих процесів на різних масштабах часу, кожен з яких робить приблизно однаковий внесок на октаву, а не на герц — жоден єдиний механізм не пояснює це повністю, але провідне пояснення — повсюдність слабо пов'язаних багатомасштабних процесів у природі.
Як звучить коричневий (броунівський) шум і чому?
Коричневий шум звучить як глибокий, гуркітливий рев — наче водоспад або сильний дощ, почутий здалеку, — бо його потужність різко спадає (як 1/f²) зі зростанням частоти, тож майже вся енергія зосереджена внизу спектра, а до високих частот доходить дуже мало. Назва походить від броунівського руху, а не від коричневого кольору; це гра слів на прізвище Роберта Брауна, ботаніка, який описав хаотичне тремтіння пилкових зерен у воді.
Який математичний зв'язок між коричневим шумом і випадковим блуканням?
Коричневий шум буквально є накопичувальною сумою (дискретним інтегралом) білого шуму, що є точним визначенням одновимірного випадкового блукання, або дискретного броунівського руху: на кожному кроці до поточної позиції додається новий незалежний випадковий приріст. Інтегрування в часі еквівалентне діленню на частоту в спектральній області, тож одноразове інтегрування білого шуму (плаский спектр) дає спектр 1/f² — додатковий множник f порівняно з одинарним 1/f рожевого шуму виникає саме через цей подвійний ефект інтегрування.
Що таке синій шум і чим він відрізняється від інших кольорів?
Синій шум має потужність, що зростає з частотою, S(f) ∝ f — дзеркальне відображення рожевого шуму. У цій симуляції він генерується різницею послідовних відліків білого шуму, що є дискретним еквівалентом диференціювання і підсилює високі частоти, пригнічуючи низькі. Звучить тонко, шипляче й різко, і використовується в таких галузях, як дизерінг і штрихування, де бажана рівномірно розподілена високочастотна енергія без низькочастотних згустків.