Белый шум. Цифровая обработка сигналов. Что такое шум

Белый шум

В математике для теоретических исследований иногда удобно использовать математические объекты, которые нереализуемы на практике (например, дельта-функцию). В теории случайных процессов важную роль играет белый шум , имеющий равномерную спектральную плотность по всем частотам, то есть, . Очевидно, что при этом площадь под кривой спектральной плотности (определяющая средний квадрат процесса) бесконечна, то есть сигнал имеет бесконечную мощность и не может существовать в природе.

Если нет никакой информации о свойствах случайных возмущений, действующих на системы, часто считают, что они приближенно описываются моделью белого шума. Если мы докажем, что даже в этом (наихудшем) случае характеристики системы останутся удовлетворительными, то они будут не хуже и при любой другой случайной помехе.

Корреляционная функция белого шума равна . Действительно, преобразование Фурье сразу дает

.

Значения такого сигнала отстоящие по времени на любой, сколь угодно малый интервал, некоррелированы. Это означает, что нет никакой зависимости между соседними, сколь угодно близко расположенными друг к другу, отсчетами такого случайного процесса. Корреляционная функция и спектральная плотность белого шума показаны на рисунках:

Белый шум, как сигнал с бесконечной энергией, невозможно получить на практике. При моделировании его обычно заменяют на белый шум с ограниченной полосой , который имеет равномерный спектр в полосе частот от до , и нулевой вне этой полосы:

.

Средний квадрат такого сигнала равен , а не бесконечности. Корреляционную функцию можно найти с помощью обратного преобразования Фурье:

.

Поскольку при любом целом , корреляционная функция равна нулю при всех , где – любое целое число, не равное нулю. Это значит, что значения, взятые из такого сигнала в моменты времени , (выборка с периодом ) будут некоррелированы.

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ

Тема 12. ОПТИМАЛЬНЫЕ ЛИНЕЙНЫЕ ЦИФРОВЫЕ ФИЛЬТРЫ.

Как много дел считалось невозможными, пока они не были осуществлены.

Гай Плиний Секунд (философ).

Специалисты в науке подобны старателям. Стоит одному найти крупинку золота, как другие выроют в этом месте котлован. А тема оптимальности, это вообще золотое Эльдорадо, можно копать в любом направлении.

Владимир Старцев. Уральский геофизик, ХХ в.

Введение.

1. Случайные процессы и шумы. Белый шум. Модель белого шума. Фильтрация белого шума.

2. Критерии построения оптимальных фильтров. Среднее квадратическое отклонение. Амплитудное отношение сигнал/шум. Энергетическое отношение сигнал/шум.

3. Фильтр Колмогорова-Винера. Условие оптимальности фильтра. Система линейных уравнений фильтра. Частотная характеристика фильтра. Задание мощности шумов. Эффективность фильтра. Пример расчета оптимального фильтра воспроизведения сигнала. Фильтры прогнозирования и запаздывания.

4. Оптимальные фильтры сжатия сигналов. Условие оптимальности. Частотная характеристика. Примеры использования.

5. Фильтр обнаружения сигналов. Частотная характеристика. Система линейных уравнений. Эффективность фильтра. Согласованный фильтр. Обратный фильтр.

6. Энергетический фильтр. Критерий оптимальности. Расчет векторов операторов фильтров.

ВВЕДЕНИЕ

Результаты практических измерений, подлежащие обработке, содержат определенный полезный сигнал на фоне различного рода помех (шумов), при этом спектр помех в общем случае представлен по всему интервалу главного частотного диапазона и наложен на спектр полезного сигнала. В этих условиях ставится задача реализации оптимальных фильтров, которые позволяют достаточно надежно производить обнаружение сигнала, наилучшим образом выделять сигнал на фоне помех или подавлять помехи без существенного искажения сигнала.

Главным критерием при проектировании оптимальных фильтров, как правило, является минимизация среднеквадратичной ошибки восстановления полезного сигнала. Линейные оптимальные фильтры, которые рассматриваются в настоящей теме, обычно базируются на оптимальном фильтре Колмогорова-Винера.

случайные процессы и шумы /12/.

Случайные процессы и шумы описываются функциями автокорреляции и спектрами мощности. Модели случайных процессов и сигналов с заданными статистическими характеристиками обычно получают фильтрацией белого шума.

Белый шум является стационарным случайным процессом q(t), у которого автокорреляционная функция описывается дельта - функцией Дирака, спектральная плотность мощности не зависит от частоты и имеет постоянное значение W q (f) = s 2 , равное дисперсии значений q(t). Все спектральные составляющие белого шума имеют одинаковую мощность. По существу, это идеализированный случайный процесс с бесконечной энергией. Но в случае постоянства спектральной плотности мощности случайного процесса в конечном диапазоне частот такая идеализация позволяет достаточно просто разрабатывать оптимальные методы фильтрации. Многие помехи в радиотехнике, в технике связи и в других отраслях, в том числе в информатике, рассматривают как белый шум, если эффективная ширина спектра сигналов B s много меньше эффективной ширины спектра шумов B q , а спектральная плотность мощности шумов слабо изменяется в интервале спектра сигнала. Понятие "белый шум" определяет только спектральную характеристику случайного процесса и под это понятие подпадают любые случайные процессы, имеющие равномерный энергетический спектр и различные законы распределения.


Если частотный диапазон спектра, на котором рассматриваются сигналы и помехи, равен 0-В, то спектральная плотность шума задается в виде.

Стационарным белым шумом называют стационарную случайную функцию Х (t ), спектральная плотность которой постоянна:

s x (ω )=s=const .

Найдем корреляционную функцию белого шума. Используя формулу (**) (см. § 3)

Приняв во внимание, что [см. § 6, соотношение (*)]

окончательно имеем

(**)

Таким образом, корреляционная функция стационарного белого шума пропорциональна дельта-функции; коэффициент пропорциональности 2πs называют интенсивностью стационарного белого шума .

Дельта-функция равна нулю при всех значениях τ≠0, поэтому и корреляционная функция k x (τ ) также равна нулю при этих же значениях τ [это видно из формулы (**)]. Равенство же нулю корреляционной функции стационарного белого шума означает некоррелированность любых двух его сечений-случайных величин Х (t 1) и Х (t 2 )(t 1 ≠t 2). Благодаря этой особенности белый шум находит широкое применение в теории случайных функций и ее приложениях. Однако эта же особенность указывает на то, что осуществить белый шум невозможно, так как в действительности при очень близких значениях t 1 и t 2 соответствующие случайные величины Х (t 1) и Х (t 2) в известной степени коррелированы.

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

Пример. Спектральная плотность стационарной случайной функции Х (t ) постоянна в диапазоне частот (- ω 0 , ω 0). а вне его равна нулю:

Найти: а) корреляционную функцию; б) дисперсию случайнойфункцииХ (t ).

Решение, а) Найдем искомую корреляционную функцию:

Итак,

б) Найдем искомую дисперсию:

D x =2s ω 0 .

§ 8. Преобразование стационарной случайной функции стационарной линейной динамической системой

Стационарной линейной динамической системой называют устройство, которое описывается линейным дифференциальным уравнением с постоянными коэффициентами вида

где Х (t )- входная стационарная случайная функция (воздействие, возмущение), Y (t )- выходная случайная функция (реакция, отклик).

Если динамическая система устойчива, то при достаточно больших значениях t , т. е. по окончании переходного процесса, функцию Y (t ) можно считать стационарной. Подчеркнем, что при дальнейшем изложении предполагается, что X (t ) и Y (t )- стационарные случайные функции.

Поставим перед собой задачу найти характеристики выходной функции по известным характеристикам входной функции.

Найдем математическое ожидание т y , зная т x , для чего приравняем математические ожидания левой и правой частей уравнения (*). Учитывая, что Х (t ) и Y (t )- стационарные случайные функции, а значит, математические ожидания производных этих функций равны нулю, получим

a n m y = b m m x

Отсюда искомое математическое ожидание

m y = b m m x / a n (**)

Пример 1. На вход линейной динамической системы, описываемой уравнением

Y ’(t )+2Y (t )=5X ’(t )+6X (t ).

Х (t ) с математическим ожиданием т x = 10. Найти математическое ожидание случайной функции Y (t ) на выходе системы в установившемся режиме (после затухания переходного процесса).

Решение. Используя формулу (**), получим

m y = b m m x / a n =(6/2)10=30.

Введем понятия передаточной функции и частотной характеристики, которые понадобятся далее. Предварительно запишем уравнение (*) в операторной форме, обозначив оператор дифференцирования черезр , - через р 2 и т. д. В итоге уравнение (*) примет вид

(a 0 p n +a 1 p n-l + ...+a n )Y (t )= (b 0 p m +b 1 p m-l + ...+b m )X (t ). (***)

«Решим»это уравнение относительно Y (t ):

(****)

Передаточной функцией линейной динамической системы называют отношение многочлена относительно р при Х (t ) к многочлену при Y (t ) в операторном уравнении (***):

Из соотношения (****) следует, что выходная и входная функции связаны равенством

Y (t )= Ф(р )Х (t ).

Частотной характеристикой линейной динамической системы называют функцию, которая получается заменой аргумента р в передаточной функции на аргумент i ω (ω -действительное число):

Доказано, что спектральные плотностивыходнойивходной функций связаны равенством

s y (ω )=s x (ω )|Ф(i ω )| 2 .

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

Зная же спектральную плотность выходной функции, можно найти ее корреляционную функцию [§ 3, формула (**)]:

а следовательно, и дисперсию:

Пример 2. На вход линейной стационарной динамической системы, описываемой уравнением

3Y ’(t )+Y (t )=4X "(t )+X(t ),

подается стационарная случайная функция Х (t ) с корреляционной функцией k x (τ)= 6e - τ . Найти дисперсию случайной функции Y (t ) на выходе системы в установившемся режиме.

Решение 1. Найдем спектральную плотность выходной функции. Используя решение примера 2 (см. § 4) при D =6 и α=2, получим

2. Найдем передаточную функцию, длячего напишем заданное уравнение в операторной форме:

(3р +1)Y(t )=(4р +1)Х (t ).

Следовательно, передаточная функция

3. Найдем частотную характеристику, для чего заменим в передаточной функции аргумент р на i ω ):

4. Найдем спектральную плотность выходной функции, длячегоумножим спектральную плотность входной функции на квадрат модуля частотной характеристики:

5. Найдем искомую дисперсию:

Представим подынтегральную функцию в виде суммы простейших дробей:

Выполнив интегрирование, получим искомую дисперсию:

D у = 96,4.

Задачи

1. Найти дисперсию стационарной случайной функции X (t ), зная ее спектральную плотность

Отв . D x = 6.

2. Найти спектральную плотность стационарнойслучайнойфункции Х (t ), знаяее корреляционную функцию

Отв .

3. Найти спектральную плотность стационарной случайной функции Х (t ), зная ее корреляционную функцию k x (τ)=5e -2| τ |.

Отв . s x (ω ) = 10/(π (4 + ω 2)).

4. Задана спектральная плотность s x (ω )=6/(π (1+ω 2)) стационарной случайной функции Х (t ). Найти нормированную спектральную плотность.

Отв . s x норм (ω )=1/(π (1 – ω 2)).

5. Найти корреляционную функцию стационарной случайной функции Х (t ), зная ее спектральную плотность

Отв .

6. Спектральная плотность стационарной случайной функции X (t ) постоянна в диапазоне частот (ω 1 ,ω 2), а вне его равна нулю:

Найти: а) корреляционную функцию; б) дисперсию; в) нормированную корреляционную функцию случайной функции Х (t ).

Отв . а)
, б)D x =s (ω 2 - ω 1 ) ,в)ρ x (τ )=

7. На вход линейной стационарной динамической системы, описываемой уравнением Y " (t )+ 3Y (t )= X " (t )+ 4X (t ), подается стационарная случайная функция Х (t ) с математическим ожиданием m x =6 и корреляционной функцией k x (τ )=5e -2 τ . Найти математическое ожидание и дисперсию случайной функцииY (t ) навыходе системы в установившемся режиме.

Отв . m y =8; D y =22/3.

8. На вход линейной стационарной динамической системы, описываемой уравнением

Y "(t )+ 5Y (t )+6Y (t )=X’(t )+X(t ),

подается стационарная случайная функция X (t ) с математическим ожиданием m х =4 и корреляционной функцией k x (t ) - τ . Найти математическое ожидание и спектральную плотность случайной функции Y (t

Отв . m y =2/3; s y (ω )=1/.

9. На вход линейной стационарной динамической системы, описываемой уравнением

Y ```(t )+6Y ``(t )+11Y `(t )+6Y (t )=7X ""(t )+5X (t ),

подается стационарная случайная функция Х (t ) с известной корреляционной функцией k x (τ )=2e -| τ | (1+|τ|). Найти спектральную плотность случайной функции Y (t ) на выходе системы в установившемся режиме.

Указание. Разложить на линейные множители знаменатель передаточной функции: р 3 +бр 2 +11р +6=(р +1) (p +2)(p +3).

Отв . s y (ω )=4(49ω 6 +25)/(π(ω 2 +l) 3 (ω 2 +4)(ω 2 +9)).

10. На вход линейной стационарной динамической системы, описываемой уравнением Y " (t )+Y (t )=(t ), поступает случайная функция Х (t ) с постоянной спектральной плотностью S 0 (стационарный белый шум). Найти дисперсию случайной функции Y (t ) на выходе системы в установившемся режиме.

Отв . D =s 0 π .

При исследовании динамики дискретных систем при случайных воздействиях, так же как и непрерывных систем, широко используется понятие „белого" шума. Дискретный во времени „белый" шум математически определяется как такой дискретный случайный процесс, спектральная плотность которого сохраняет постоянное значение на всех частотах:

Корреляционная функция такого процесса

Иначе дискретный во времени «белый» шум определяется как такой дискретный случайный процесс, в котором можно

пренебречь значениями корреляционной функции для Очевидно, что

где - дисперсия дискретного во времени „белого" шума.

Так как в большинстве случаев дискретный случайный процесс получается из соответствующего непрерывного случайного процесса дискретной выборкой, то всегда интересуются связью непрерывного и дискретного „белого" шума. В соответствии с формулой (XIV.92) уровень дискретного во времени „белого" шума равен произведению интервала дискретности на дисперсию дискретного процесса, которая равна дисперсии соответствующего непрерывного процесса. Нетрудно убедиться, что для „белых" шумов установить такую связь невозможно, так как дисперсия математического непрерывного „белого" шума равна бесконечности (см. гл. XIII).

Рис. XIV.16. Определение спектра непрерывного «белого» шума

На практике чаще имеют дело с физическим (непрерывным или дискретным во времени) „белым" шумом. Непрерывный стационарный случайный процесс можно считать физическим „белым“ шумом по отношению к данной системе, если в пределах полосы пропускания по частоте этой системы его спектральная плотность сохраняет постоянное значение или если за время, когда его корреляционная функция отлична от нуля, импульсная переходная функция системы сохраняет постоянное значение (рис. XIV. 16, а и б).

Очевидно, что за уровень непрерывного „белого" шума в этом случае следует принимать значение спектральной плотности входного сигнала на нулевой частоте:

Физический дискретный „белый" шум по отношению к данной дискретной системе определяется как такой дискретный случайный процесс, спектральная плотность которого сохраняет постоянное значение в пределах полосы пропускания дискретной системы (рис. XIV. 17).

В данном случае формула (XIV.83) перепишется в виде

уровень дискретного „белого" шума. Учитывая формулы (XIV.7) и (XIV.4), выражение (XIV.95) можем переписать в виде

Эти формулы являются исходными для определения уровня дискретного „белого" шума. Можно рекомендовать три способа вычисления значения со по заданной графически или аналитически корреляционной функции или спектральной плотности соответствующего непрерывного случайного процесса.

Рис. XIV.17. Кривые спектральной плотности дискретного входного сигнала и модуля частотной характеристики системы для случая физического дискретного «белого» шума

При графическом вычислении уровня дискретного „белого" шума используют следующую формулу:

Аналитически же это суммирование выполнить достаточно трудно.

При вычислении уровня дискретного „белого" шума, соответствующего непрерывному процессу, также можно применять следующую формулу:

Если известна корреляционная функция непрерывного процесса, то используют формулу

На вход непрерывной системы воздействует случайный процесс, который можно считать по отношению к данной системе „белым" шумом (рис. XIV. 18, а).

Рис. XIV.18. Кривые спектральной плотности входного сигнала и модуля частотной характеристики системы для случаев: а - непрерывные входной сигнал и система; б - дискретный входной сигнал и непрерывная система; в - дискретные входной сигнал и система

Введем интервал дискретности и будем его увеличивать. Вначале система останется непрерывной, кривые смещенных частотных характеристик системы не перекрываются, а входной сигнал станет дискретным во времени

раньше, так как его кривая спектральной плотности шире, и смещенные кривые будут при более малом перекрываться (рис. XIV. 18, б). В данном случае на вход непрерывной системы воздействует дискретный „белый" шум. При дальнейшем увеличении интервала дискретности начинают перекрываться частотные характеристики системы (рис. XIV. 18, в), тогда входной сигнал и система - дискретны во времени.

В данной статье описываются подходы генерации шума, подробнее рассматривается набор наиболее популярных методов и даётся сопутствутствующая терминология. Статья во многом обзорная, и содержит достаточно много (поверхностно изложенной) теории, целью которой является дать читателю наводки для дальнейшего самостоятельного изучения.

Все приведённые отрывки кода, если явно не указано обратное, находятся в общем доступе.

Шумы находят широкое применение в разработке игр.
Примерами их использования являются:

  • 1-мерные: звуковые эффекты и анимация хаотичных процессов (напр. дрожание камеры при взрывах)
  • 2-мерные: текстуры, карты нормалей, ландшафт.
  • 3-мерные: объёмные текстуры (которые дают возможность использовать пространственные координаты в качестве текстурных, в т. ч. и для динамических моделей), анимированные текстуры (3-я координата используется как время)
  • 4-мерные: анимированные объёмные текстуры.


  • Рис. 1 . elevated by Rgba & TBC , 4k demo. Ландшафт и текстура сгенерированы с использованием процедурного шума.

    Определения

    Шум - беспорядочные колебания различной физической природы, отличающиеся сложностью временной и спектральной структуры.


    (https://ru.wikipedia.org/wiki/Шум).

    Данная статья не вдаётся в философские проблемы определения случайности, и предполагает, что читатель имеет интуитивное представление о понятиях "случайное событие" и "вероятность" . Также, предполагается наличие общего представления о распределении вероятности и независимости случайных величин . Интересующиеся формализацией этих понятий отсылаются к определениям, содержащимся в учебниках по теории вероятностей.

    Последовательность независимых случайных величин (не обязательно равномерно распределённых) называется также дискретным белым шумом.

    В дальнейшем в статье под случайными числами будут чаще всего пониматься, без явного указания на это, псевдослучайные числа, т. е. генерируемые детерминированным образом, но "выглядящие" как случайные, в частности с т. з. некоторого набора статистических тестов.
    https://ru.wikipedia.org/wiki/Псевдослучайная_последовательность
    https://ru.wikipedia.org/wiki/Генератор_псевдослучайных_чисел

    Источники шума

    В программировании часто встречаются 2 объекта, связанных с генерацией шума:

    1. Генератор случайных чисел (ГСЧ (англ. RNG - random number generator), или ГПСЧ - генератор псевдослучайных чисел; в данной статье под ГСЧ подразумевается именно ГПСЧ). При вызове ГСЧ выдаёт следующий элемент в последовательности (псевдо)случайных чисел.

    2. Шумовая функция (англ. Noise function). Чистая функция, которая аргументу сопоставляет результат, ведущий себя, в некотором смысле, как шум. Аргумент может быть как дискретным, так и непрерывным, одно- или многомерным.
    Для непрерывного случая чаще всего нас интересует когерентная шумовая функция:

    Coherent noise is generated by a coherent-noise function, which has three important properties:
    Passing in the same input value will always return the same output value.
    A small change in the input value will produce a small change in the output value.
    A large change in the input value will produce a random change in the output value.

    An n-dimensional coherent-noise function requires an n-dimensional input value. Its output value is always a scalar.


    Примером ГСЧ является функция rand стандартной библиотеки C. Для многих целей данная конкретная функция является неудачной, т. к. её состояние (определяющее следующий элемент) - невидимая глобальная переменная. Соответственно несколько использующих её подсистем будут влиять друг на друга.
    Более удобными в этом смысле являются объекты генераторов, которые хранят своё состояние, например генераторы, определённые в заголовочном файле стандартной библиотеки C++ ( присутствует в стандартной библиотеке начиная с C++11).

    Шумовую функцию от дискретного аргумента концептуально можно реализовать через ГСЧ, отбросив соответствующее количество начальных значений, например так:

    float noise(int i) { std::minstd_rand rng(0); // Initialize RNG with the internal state of 0. rng.discard((unsigned long long)i); // Advance the internal state by i steps. return std::uniform_real_distribution(0.0f,1.0f)(rng); }

    Но с практической точки зрения это не очень удачный код, т. к. вычисления слишком медленны, причём время работы зависит от аргумента.
    Примечание : теоретически, n-й результат LCG (реализованного в minstd_rand) может быть вычислен за O(log n) действий (что, впрочем, тоже медленно), но ни одна из тестированных реализаций стандартной библиотеки этого не делала.

    Поэтому обычно шумовые функции вычисляют с помощью явных формул.

    Шумовыми функциями часто удобно оперировать на концептуальном уровне (т. к. они являются функциями в обычном математическом смысле ("чистыми функциями" в программистской терминологии), и манипуляции с ними можно проводить по обычным правилам). Для практических целей во многих случаях достаточно прямого использования ГСЧ для получения последовательных значений, т. е. лёгкое получение значения по аргументу (а иногда и вообще повторяемость) не требуется. Использование ГСЧ в подобных случаях может оказаться более эффективным.

    "Цвета" шума

    Спектр шума является важной его характеристикой, т. к. он сильно влияет на воспринимаемый характер шума и при этом имеет удобное математическое описание.
    Под спектром чаще всего понимают "спектральную плотность" - квадрат модуля (амплитуды) Фурье-преобразования (это определение "спектральной плотности энергии"; определение спектральной плотности мощности использует автокорреляционную функцию), реже - саму амплитуду (т. к. амплитуда в общем случае является комплексной величиной, иногда кроме модуля представляет интерес также и фаза).

    Белый шум - стационарный шум, спектральные составляющие которого равномерно распределены по всему диапазону задействованных частот.


    https://ru.wikipedia.org/wiki/Белый_шум
    Назван он так по аналогии с белым светом, также содержащим цвета всех частот (оптического диапазона).
    Непрерывный идеальный белый шум (для которого два значения нескоррелированы, если они не одновременны) физически некорректен, т. к. имеет бесконечную мощность. Для дискретного белого шума эта проблема отсутствует.

    Также по аналогии с оптикой вводят розовый (с преобладанием низких частот) и синий (с преобладанием высоких частот). Часто используют более узкие определения: красным, розовым, синим и фиолетовым называют шумы со спектральными мощностями, зависящими от частоты как 1/f^2, 1/f, f, f^2 соответственно.
    См. https://ru.wikipedia.org/wiki/Цвета_шума .

    Одним из методов получения дискретного шума с заданными спектральными характеристиками является перемножение спектра дискретного белого шума и заданной спектральной огибающей (Fourier Spectral Synthesis):
    Пусть - дискретный белый шум. Тогда шум с огибающей (в частотном пространстве) можно получить как

    что выглядит как

    где

    Пример :

    Рис. 2 . Слева направо - белый шум, его Фурье-образ (зелёным обозначена действительная часть, синим - мнимая), фильтр в частотном пространстве, действительная часть от обратного преобразования Фурье от произведения Фурье-образа белого шума и фильтра. Эффект затенения вызван асимметричностью фильтра (его величина близка к 0 для отрицательных частот).

    Примечание : для дискретного случая может быть практичнее использование дискретного косинусного преобразования (англ. discrete cosine transform (DCT)).

    Этот метод естественно обобщается на большее количество измерений.
    В силу существования быстрого преобразования Фурье этот подход в некоторых случаях практичен по времени.

    Примечание : Для дискретного белого шума с гауссовым распределением значений, его Фурье-преобразованием является также дискретный белый шум с гауссовым распределением значений (в частотном пространстве).

    Примеры использования розового шума (в широком смысле слова) встречаются далее в статье.
    Синий шум часто применяют в ситуациях, когда нужно получить случайно выглядящую регулярную структуру, а белый шум кажется слишком кластеризованным. Примеры: Poisson disk (http://devmag.org.za/2009/05/03/poisson-disk-sampling/ , https://www.jasondavies.com/poisson-disc/), random dithering и другие.

    Категории процедурного шума

    За обзором разных методов генерации процедурного шума читатель отсылается к
    http://physbam.stanford.edu/cs448x/old/Procedural_Noise%282f%29Categories.html а также замечательной статье State of the Art in Procedural Noise Functions
    Далее приводится сжатое изложение некоторых из них.

    Один метод - Fourier Spectral Synthesis уже был рассмотрен выше.

    Шумы на решётке (Lattice Noises) являются, возможно, наиболее популярными. В них задаются случайные значения в узлах решётки, исходя из которых находится значения в произвольных точках (т. е. строится непрерывная шумовая функция). Их наиболее известные классы:
    1. Численный шум (value noise) - в каждом узле решётки задаётся (детерминированным образом) псевдослучайное число. Значением шумовой функции является интерполяция (чаще всего линейная или кубическая) между значениями в углах ячейки, куда попадает аргумент.


    Рис. 3 . Двумерный численный шум. Слева - одна октава (с билинейной интерполяцией), справа - сумма 5 октав (с билинейной интерполяцией, и коэффициентом 0.73).

    2. Градиентный шум (gradient noise) - в каждом узле решётки задаётся (детерминированным образом) псевдослучайный вектор (называемый градиентом). Значение шумовой функции получается исходя из значений в углах ячейки и направлений на эти узлы. Наиболее известным представителем является шум Перлина.


    Рис. 4 . Двумерный срез трёхмерного шума Перлина.


    Рис. 5 . Plasma fractal, сгенерированный Diamond-square algorithm.



    Рис. 7 . Gabor Noise.



    Рис. 8 . Примеры из Gabor Noise by Example .

    Существуют разные способы генерации набора точек для шума Уорли. Jittered grid (регулярная сетка с детерминированным образом определённым случайным смещением вершин) является довольно популярной, но приводит к анизотропии. Уорли в статье использовал метод с разбиением пространства на кубы и генерации для куба случайных точек количеством, определяемым распределением Пуассона; метод похож на приведённый в подпункте Sparse Convolution Noise (см. ниже).


    Рис. 9 . Ячеистая текстура (cellular texture).

    Многие из этих методов производят шум в довольно узком диапазоне частот (другими словами - с определённым характерным размером деталей). Он может быть не очень интересен сам по себе, но является удобным строительным блоком для комбинаций, реализующих более интересный шум.
    Очень частым подходом является суммирование октав шума:

    Коэффициент носит разные названия. Библиотека libnoise использует термин Persistence, как и , где упоминается, что термин persistence в отношении шума был введён Бенуа Мандельбротом с обратным смыслом (т. е. ).
    Коэффициент в libnoise назван Lacunarity, и в большинстве случаев выбирается равным 2.
    См. .
    Коэффициент чаще всего выбирают в диапазоне , хотя это и не обязательно.
    Примечание : для случая ряд сходится для бесконечного количества октав, и каждая новая вносит всё меньшую поправку. Это не обязательно справедливо для производных, см. функцию Вейерштрасса .
    Такой метод даёт розовый шум, который находит много применений.
    Этот подход часто называют фрактальным броуновским движением (fractal Brownian motion) или сокращённо, fBm, даже в случаях когда он, строго говоря, не соответствует определению fBm.