http://www.forum.getchip.net/

Случайное число от Владимира Кияшко
http://www.forum.getchip.net/viewtopic.php?f=18&t=605
Страница 1 из 1

Автор:  GetChiper [ 24 май 2015, 17:31 ]
Заголовок сообщения:  Случайное число от Владимира Кияшко

Здравствуйте, меня зовут Владимир Анатольевич Кияшко, разработчик-электронщик, радиолюбитель, уже пенсионер, смотрите мою страничку на сайте радиолюбителей Кубани http://cqham.ru/rz6at/

Хочу поделиться идеей, как очень простой программкой генерировать псевдослучайные числа в диапазоне от 1 до 127 = RAND.alp Один из регистров АВРки обзываем именем RAND и представляем, что это у нас 8-ми разрядный регистр сдвига. Из теории связи на шумоподобных сигналах известно, что если взять выходы с некоторых разрядов этого регистра и подать их на входы лог. элемента "Исключающее ИЛИ", а выход этого элемента подать на вход этого регистра, то если с выходов каждого разряда регистра параллельно снимать код двоичного числа, то будут генериться псевдо-случайные коды чисел с периодом, равным 2 в степени 8 минус 1, то есть 127. Идея заключается в том, что в АВР есть команды проверки содержания 4-го и 8-го бита этого регистра и их то мы и будем использовать для программного вычисления "исключающего или" и подачи результата на вход регистра. Алгоритм см. во вложении.
Всего доброго, Владимир Анатольевич.

Изображение

Вложения:
RAND.zip [916 байт]
Скачиваний: 176

Автор:  GetChiper [ 06 июн 2015, 14:17 ]
Заголовок сообщения:  Re: Случайное число от Владимира Кияшко

Очень полезный алгоритм!
Не смотря на простоту он отлично работает.
Ради интереса протестировал и убедился, что случайные числа исправно выдаются и, более того, за период в 255 вызовов числа не повторяются.
Визуально выдаваемая последовательность похожа на белый шум.

Автор:  vadim2019 [ 03 янв 2020, 23:11 ]
Заголовок сообщения:  Re: Случайное число от Владимира Кияшко

Интересный код. Спасибо!

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/