Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: псевдослуч. послед-ть огромной длительности
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
shf_05
алгоритм формирования ПСП такой:
//------------
//algoritm: iran= 1664525L*iran+1013904223L;
//для генерации числа в диапазоне 0 - 2^32-1 достаточно простого умножения
//на мультипликатор и сложения с инкрементом.
//Деление по модулю будет произведено автоматически при переполнении.
//значения мультипликатора и инкремента для этого случая получены в исследованиях
//D. Knuth и H.W. Lewis.
//значения (0...MAX/2) и (MAX/2...MAX) равновероятны и можно интерпретировать число как знаковое в доп коде
//как -MAX/2...MAX/2
//------------

для 16 разр. проца беру старшие 16бит
//generate random signal from -32768 to 32767
//OUTPUT in sr0

интересующие меня вопросы:
1, последовательность повторяется через 2^32 или 2^64?
2, более важный вопрос:
для запуска генератора применены следующие НУ
#define RAND0_HI 0xa4ce //---inital conditions //HI
#define RAND0_LO 0x39a7 //LO
скажем досчитав до 2^32 или 2^64 поменяю нач. уловия (например подставлю значение входной переменной из АЦП оно случайно), получу ли новый набор чисел?
имхо- да, но есть люди, говорящие что это чушь и я запущу ту же посл-ть лишь с другого "места".
Artem_Petrik
Цитата(shf_05 @ Nov 25 2008, 15:48) *
интересующие меня вопросы:
1, последовательность повторяется через 2^32 или 2^64?
2, более важный вопрос:
для запуска генератора применены следующие НУ
#define RAND0_HI 0xa4ce //---inital conditions //HI
#define RAND0_LO 0x39a7 //LO
скажем досчитав до 2^32 или 2^64 поменяю нач. уловия (например подставлю значение входной переменной из АЦП оно случайно), получу ли новый набор чисел?
имхо- да, но есть люди, говорящие что это чушь и я запущу ту же посл-ть лишь с другого "места".


1. Если оперируете 32-х разрядными числами, период повторения больше чем 2^32 быть не может в принципе.
2. Люди полностью правы.

Чтоб получить другую последовательность, нужно менять те константы, которые у вас 1664525L и
1013904223L. Но нельзя брать "от фонаря", потому как только немногие комбинации дадут максимальный период повторения.
shf_05
1. ага 2^32
2. по уму то вроде правы, я сам так думал, но смутило, что, смутно помню- моделили такой алгоритм, для разных НУ получались разные последовательности, были даже случаи, когда алгоритм давал "плохой" шум... надо повспоминать.
shf_05
все верно, там изменялись коэффициенты, которые и были этими НУ, изменение "стартового числа" ни к чему хорошему не приводит
Михаил_K
Цитата(shf_05 @ Nov 25 2008, 14:48) *
1, последовательность повторяется через 2^32 или 2^64?

через 2^32-1;
shf_05
Цитата(Михаил_K @ Nov 25 2008, 19:51) *
через 2^32-1;

простите за неточность, под 2^32 или 2^64 я и имел ввиду 32-1.(63)
вобщем почесав репу, отдохнув немного во всем разобрался, тема закрыта, всем спасибо.
shf_05
однако...

http://www.xakep.ru/post/25259/default.asp?print=true

"Получаемая последовательность зависит от выбора стартового числа X0 и при разных его значениях получаются различные последовательности случайных чисел. В то же время, многие свойства последовательности Xk определяются выбором коэффициентов в формуле и не зависят от выбора стартового числа. Ясно, что последовательность чисел, генерируемая таким алгоритмом, периодична с периодом, не превышающим m. "

они неправы или неправильно поняты? есть специалисты в этой теме?

PS чтобы не заморачиваться использовал ал-м Marsaglia-Multicarry.
TSerg
Цитата(shf_05 @ Nov 26 2008, 08:19) *
однако...

http://www.xakep.ru/post/25259/default.asp?print=true

"Получаемая последовательность зависит от выбора стартового числа X0 и при разных его значениях получаются различные последовательности случайных чисел. В то же время, многие свойства последовательности Xk определяются выбором коэффициентов в формуле и не зависят от выбора стартового числа. Ясно, что последовательность чисел, генерируемая таким алгоритмом, периодична с периодом, не превышающим m. "

они неправы или неправильно поняты? есть специалисты в этой теме?

PS чтобы не заморачиваться использовал ал-м Marsaglia-Multicarry.


"Да что Вы всякую щваль читаете" (С)

Хотя бы:
http://www.agner.org/
http://crypto.mat.sbg.ac.at/results/karl/server/node1.html
shf_05
виноват, что нагуглил
пробовал зайти на [url=http://www.agner.org/]- не пустил пров,- сказал- сайт забанен- порно((, с др. места попробую

имхо: эта "шваль" передирает все с тех же сайтов, тока переводит- наверное неточно)

огромное спасибо за ссылки!
alex_os
Цитата(shf_05 @ Nov 26 2008, 11:18) *
виноват, что нагуглил
пробовал зайти на [url=http://www.agner.org/]- не пустил пров,- сказал- сайт забанен- порно((, с др. места попробую

имхо: эта "шваль" передирает все с тех же сайтов, тока переводит- наверное неточно)

огромное спасибо за ссылки!


Да все правильно почему последовательность будет зависеть от стартового числа? Есть стартовое число (т.е. состояние генератора ПСП ) М, при любом стартовом состоянии X, мы придем к состоянию М за число итераций <=2^32-1. Т.е начальное состояние задает какбы "фазу" этой ПСП, видимо это имелось ввиду.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.