реклама на сайте
подробности

 
 
> Чем быстро проверить нормальное распределение, массив случайных величин
toweroff
сообщение Feb 22 2012, 12:19
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый день!
Сабж

Хочу проверить шум ADC в нулевом разряде, буду формировать из этого шума какие-то значения (8, 16, 32 бит) в виде массива порядка 1000-10000 значений

Этот массив нужно скормить чему-то что бы проверило на нормальное распределение (оно же "белый шум", правильно?)

Чем можно сделать?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 25)
zombi
сообщение Feb 22 2012, 12:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Задавал когда то подобный вопрос.
http://electronix.ru/forum/index.php?showt...st&p=837433
Мне посоветовали в гоогле искать DIEHARD tests.
Искал. Нашол. Работало. Но ужо забыл где и что.
Go to the top of the page
 
+Quote Post
alexvu
сообщение Feb 22 2012, 12:42
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299



Постройте гистограмму в любой программе и посмотрите на нее
Go to the top of the page
 
+Quote Post
R.A.K.
сообщение Feb 22 2012, 12:47
Сообщение #4


Участник
*

Группа: Validating
Сообщений: 55
Регистрация: 6-04-11
Пользователь №: 64 180



Цитата(toweroff @ Feb 22 2012, 16:19) *
что бы проверило на нормальное распределение (оно же "белый шум", правильно?)

Не, не правильно sm.gif

К тому же шум квантования имеет (в теории sm.gif ) равномерное распределение

Сообщение отредактировал R.A.K. - Feb 22 2012, 12:50
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 22 2012, 13:09
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 22 2012, 16:19) *
Добрый день!
Сабж

Хочу проверить шум ADC в нулевом разряде, буду формировать из этого шума какие-то значения (8, 16, 32 бит) в виде массива порядка 1000-10000 значений

Этот массив нужно скормить чему-то что бы проверило на нормальное распределение (оно же "белый шум", правильно?)

Чем можно сделать?


Дональда Кнута почитайте, кажется, второй том. Там это очень подробно разобрано. А еще книжку Шелеста "Микрокалькуляторы в физике". От себя добавлю, что для получения случайной выборки одного только разряда АЦП будет недостаточно, в чем я и убедился на личном опыте ...

P.S. У Шелеста это стр. 51
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 22 2012, 13:24
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



To toweroff: у меня на старом винте может сохранилось, если чё черкни, поищу.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 22 2012, 13:36
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(zombi @ Feb 22 2012, 17:24) *
To toweroff: у меня на старом винте может сохранилось, если чё черкни, поищу.

поищи, пожалуйста
что-то я с diehard'ом не разберусь... может и правда самому наваять тест? sm.gif
только вот вопрос в правильности того, что я там наваяю... biggrin.gif хотелось бы 100% утилиты

Цитата(kovigor @ Feb 22 2012, 17:09) *
От себя добавлю, что для получения случайной выборки одного только разряда АЦП будет недостаточно, в чем я и убедился на личном опыте ...

а в чем причина?

Цитата(kovigor @ Feb 22 2012, 17:09) *
P.S. У Шелеста это стр. 51

угу.. смотрю
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 22 2012, 14:00
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(toweroff @ Feb 22 2012, 16:36) *
поищи, пожалуйста

Вспомнил ссылку ENT
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 22 2012, 14:00
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(toweroff @ Feb 22 2012, 16:19) *
Хочу проверить шум ADC в нулевом разряде, буду формировать из этого шума какие-то значения (8, 16, 32 бит) в виде массива порядка 1000-10000 значений

Этот массив нужно скормить чему-то что бы проверило на нормальное распределение (оно же "белый шум", правильно?)

Неправильно. Распределение последнего бита будет распределением Бернулли. В стационарном случае.
Но есть грандиозная теорема о предельном распределении. Гауссовом. Вот про это и читайте.
Только... какой в этом толк?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 22 2012, 14:05
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 22 2012, 17:36) *
а в чем причина?


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

P.S. Одного источника энтропии обычно бывает мало. Надо комбинировать случайные данные от нескольких источников.
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 22 2012, 14:25
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Использую Xorshift128 и все нормуль!
Go to the top of the page
 
+Quote Post
skripach
сообщение Feb 22 2012, 14:30
Сообщение #12


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
Чем быстро проверить нормальное распределение, массив случайных величин

Excel офисный.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 22 2012, 14:32
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(zombi @ Feb 22 2012, 18:25) *
Использую Xorshift128 и все нормуль!

да не в том дело. Начальный SEED тоже где-то надо брать
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 22 2012, 14:37
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 22 2012, 18:32) *
да не в том дело. Начальный SEED тоже где-то надо брать


Для ARM я использовал готовую библиотеку LibTomCrypt, там есть несколько генераторов случайных чисел, использующих энтропию от множества источников.
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 22 2012, 14:42
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(toweroff @ Feb 22 2012, 17:32) *
да не в том дело. Начальный SEED тоже где-то надо брать

Ну да ...
Просто у меня на борту NVRAM имеется. А начальная инициализация при первом прожиге (random() из Delphy).
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 22 2012, 14:47
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(zombi @ Feb 22 2012, 18:42) *
Просто у меня на борту NVRAM имеется. А начальная инициализация при первом прожиге (random() из Delphy).


Так в любом Си-компиляторе есть функция генерации случайных чисел. И решительно все равно (или почти все равно), какой это компилятор - из состава Delphi, или тот же Codevision или IAR. Нет смысла генерить числа генератором из Delphi, их точно так же можно сгенерить прямо в МК ...
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 22 2012, 14:56
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(kovigor @ Feb 22 2012, 17:47) *
Так в любом Си-компиляторе есть функция генерации случайных чисел. И решительно все равно (или почти все равно), какой это компилятор - из состава Delphi, или тот же Codevision или IAR. Нет смысла генерить числа генератором из Delphi, их точно так же можно сгенерить прямо в МК ...

Да 100% без разницы в чём на PCшке генерить! я просто написал чем генерю лично я biggrin.gif

А как "прямо в МК" начальный SEED сгенерить???
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 22 2012, 14:58
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kovigor @ Feb 22 2012, 18:05) *
Полученные таким образом случайные числа проваливают даже простейшие тесты на случайность.

Это как?
Вот подряд сто единиц, а потом - сто нулей. Проваливает?
Меня вот сама постановка вопроса смущает ужасно. Что хотим-то?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 22 2012, 15:25
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(Tanya @ Feb 22 2012, 18:58) *
Что хотим-то?

хотим попробовать использовать ADC в качестве ГСЧ или, если уж там все не так хорошо, хотя бы в качестве SEED
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 22 2012, 15:30
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(toweroff @ Feb 22 2012, 19:25) *
хотим попробовать использовать ADC в качестве ГСЧ или, если уж там все не так хорошо, хотя бы в качестве SEED

Ваш жаргон мне непонятен. Последний (и не только) бит будет подчиняться простому такому распределению.
0 с некоторой вероятностью, 1 с вероятностью 1 - вероятность нуля.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 22 2012, 16:00
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Tanya @ Feb 22 2012, 19:30) *
Ваш жаргон мне непонятен. Последний (и не только) бит будет подчиняться простому такому распределению.
0 с некоторой вероятностью, 1 с вероятностью 1 - вероятность нуля.

Я не хочу сейчас затевать бесконечную дискуссию о "случайности" случайных чисел. Интересующихся отсылаю к соотв. литературе - первым делом к книге Кнута. Там это очень подробно рассматривается на более чем сотне страниц. Читать - не перечитать. Еще можно Брюса Шнайера глянуть "Прикладную криптографию", как приятное чтение перед сном ...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 22 2012, 16:23
Сообщение #22


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kovigor @ Feb 22 2012, 20:00) *
Я не хочу сейчас затевать бесконечную дискуссию о "случайности" случайных чисел. Интересующихся отсылаю к соотв. литературе - первым делом к книге Кнута. Там это очень подробно рассматривается на более чем сотне страниц. Читать - не перечитать. Еще можно Брюса Шнайера глянуть "Прикладную криптографию", как приятное чтение перед сном ...

У Кнута ничего такого не может рассматриваться. Ведь речь идет не о генерации некоторой последовательности псевдослучайных чисел.
А о физической реальности. Так вот предельная теорема гласит, что сумма достаточно большого количества случайных чисел с любым распределением будет распределена по Гауссу. А мы априори предполагаем, что то, что мы измеряем именно такая сумма и есть.
В априорном же предположении о стационарности. Поэтому проверять распределение полезно.
Можно своими руками убедить свои же мозги в справедливости предельной теоремы.
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 22 2012, 17:21
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Tanya @ Feb 22 2012, 20:23) *
Так вот предельная теорема гласит, что сумма достаточно большого количества случайных чисел с любым распределением будет распределена по Гауссу. А мы априори предполагаем, что то, что мы измеряем именно такая сумма и есть.
В априорном же предположении о стационарности.

Праильно ли я Вас понял: поскольку на входе ацп величина напряжения НЕ распределённая по Гауссу то и результат измерения соответственно тоже.

Цитата(Tanya @ Feb 22 2012, 20:23) *
Поэтому проверять распределение полезно.

Ага.

Ув. toweroff, если не затруднит сообщите плиз результат тестирования ГСЧ на ацп.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 22 2012, 17:38
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 22 2012, 18:25) *
хотим попробовать использовать ADC в качестве ГСЧ или, если уж там все не так хорошо, хотя бы в качестве SEED



А вот, кстати, статья почти об этом же. Там же перечисляются и тестовые инструменты:

http://habrahabr.ru/blogs/python/62237/
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 23 2012, 04:36
Сообщение #25


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(zombi @ Feb 22 2012, 21:21) *
Праильно ли я Вас понял: поскольку на входе ацп величина напряжения НЕ распределённая по Гауссу то и результат измерения соответственно тоже.

Неправильно понимаете. И на только меня. И не только Вы.
Go to the top of the page
 
+Quote Post
Alexashka
сообщение Feb 23 2012, 16:00
Сообщение #26


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Цитата(toweroff @ Feb 22 2012, 16:19) *
Хочу проверить шум ADC в нулевом разряде, буду формировать из этого шума какие-то значения (8, 16, 32 бит) в виде массива порядка 1000-10000 значений

Этот массив нужно скормить чему-то что бы проверило на нормальное распределение (оно же "белый шум", правильно?)

Цитата
Иногда ошибочно предполагается, что гауссовский шум (то есть шум с гауссовским распределением по амплитуде — см. нормальное распределение) обязательно является белым шумом. Однако эти понятия неэквивалентны. Гауссовский шум предполагает распределение значений сигнала в виде нормального распределения, тогда как термин «белый» имеет отношение к корреляции сигнала в два различных момента времени (эта корреляция не зависит от распределения амплитуды шума). Белый шум может иметь любое распределение — как Гаусса, так и распределение Пуассона, Коши и т. д

Источник
Так Вам нужен белый шум или нормальное распределение?

Скорее всего Вам надо убедиться, что
Цитата
это случайный процесс с нулевым математическим ожиданием, имеющий автокорелляционную функцию, являющуюся дельта-функцией Дирака.

Цитата
К примеру, двоичный сигнал, который может принимать только значения, равные нулю или единице, будет являться белым шумом только если последовательность нулей и единиц будет некоррелирована.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01613 секунд с 7
ELECTRONIX ©2004-2016