Найти тему
radiophysics

Вероятностные распределения случайных величин

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

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

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

Распределения вероятностей случайных величин показано на рисунке 3. Видно, что источник равномерного шума генерирует все значения переменной с почти одинаковой вероятностью (фрагмент 1), а источники нормального шума генерируют значения так, что вероятность распределения представляет собой функцию Гаусса (фрагменты 2 и 3). Фрагменты 2 и 3 на рисунке 3 отличаются друг от друга среднеквадратичным отклонением случайной величины, вероятность распределения в случае sigma=0.5 более выраженно увеличивается в нуле.

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

p.s. Полную программу для исследования шума можете скачать на сайте кафедры радиофизики и нелинейной динамике СГУ.

p. s. Чтобы сразу увидеть новый материал в моем блоге в своей ленте, подписывайтесь! Буду рад комментариям, вопросам, предложениям.

Функция для генерации случайных значений с нормальным распределением

//Normal distribution noise generator////////////
float gasdev (long *idum, float sigma) {
static int iset=0;
static float gset;
float fac,rsq,v1,v2;
if (*idum < 0) iset=0;
if (iset == 0) {
do {
v1=2.0*ran(idum)-1.0;
v2=2.0*ran(idum)-1.0;
rsq=v1*v1+v2*v2;
}
while (rsq >= 1.0 || rsq == 0.0);
fac=sqrt(-2.0*log(rsq)/rsq);
gset=v1*fac;
iset=1;
return v2*fac*sigma*sqrt(2.0);
}
else {
iset=0;
return gset*sigma*sqrt(2.0);
}
}
//Normal distribution noise generator////////////

p. s. Чтобы сразу увидеть новый материал в моем блоге в своей ленте, подписывайтесь! Буду рад комментариям, вопросам, предложениям.