|
Инициализация псевдослучайной последовательности, как это сделать? |
|
|
|
Mar 11 2011, 05:42
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Отправная точка: миниатюрное устройство, где каждый новый компонент - лишний. устройство формирует ряд "случайных" сигналов, используя rand(). в сущности, алгоритм генерации ПСПЧ не принципиален. но есть большая проблема: два одинаковых устройства, включенные одновременно, генерируют абсолютно одинаковые "случайные" последовательности, что очень плохо. более того, после подачи питания устройство всегда стартует с одного и того же "места", что тоже очень плохо.
есть, конечно, функция srand(), которая могла бы помочь, но для нужного результата эту функцию нужно передать случайное число... круг замкнулся.
вопрос знатокам: посоветуйте, какими простыми и дешевыми средствами реализовать получение хотя бы одного-единственного, но на самом деле случайного числа в программе?
сразу ограничу круг советов: надежда на то, что после включения питания ячейки ОЗУ содержат случайные данные, не срабатывает, в подавляющем большинстве у одного и того же контроллера при более-менее одинаковых условиях содержимое ОЗУ после подачи питания так же более-менее одинаковое, вариации крайне недостаточные для того, чтобы считать их действительно случайными - проверено на некотором количестве atmega32.
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
 |
Ответов
|
Mar 11 2011, 07:52
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Цитата(Petka @ Mar 11 2011, 10:24)  На самом деле "действительно случайное" число не нужно. Нужно всего-лишь навсего при каждом запуске в srand подсовывать ДРУГОЕ число. Получить его достаточно просто. При каждом запуске инкрементируйте какую-нибудь ячейку EEPROM и данным значением инициализируйте srand. да, действительно  спасибо, что натолкнули на эту мысль, хотя я уже получил аналогичный совет на телесиськах http://530.ru/wwwboards/mcontrol/2979/messages/1182899.shtmlесли вдруг кому потребуется действительно случайный генератор чисел, то я нашел целый трактат по этой теме (может, это его посчитали за апноут атмеля?) http://www.avrfreaks.net/index.php?name=PN...pic&t=59417
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
Сообщений в этой теме
ARV Инициализация псевдослучайной последовательности Mar 11 2011, 05:42 Taradov Alexander У Атмела есть аппнот на эту тему, номер не помню п... Mar 11 2011, 06:29 ARV пока что не нашел такого апноута... с АЦП я пробов... Mar 11 2011, 06:53 Taradov Alexander QUOTE (ARV @ Mar 11 2011, 09:53) но для о... Mar 11 2011, 07:55 314 Висящий в воздухе вывод АЦП лихо реагирует на влаж... Mar 11 2011, 07:04 ARV в том-то и дело, что висящий вход лихо на все реаг... Mar 11 2011, 07:08 DpInRock Согласен с предыдущим оратором.
Хуже того, набор 1... Mar 11 2011, 08:05 rx3apf Цитата(ARV @ Mar 11 2011, 08:42) вопрос з... Mar 11 2011, 08:07 ARV Цитата(rx3apf @ Mar 11 2011, 11:07) Уника... Mar 11 2011, 08:20 domowoj Если говорить о псевдослучвайной последовательност... Mar 11 2011, 15:27 rx3apf Цитата(domowoj @ Mar 11 2011, 18:27) Если... Mar 11 2011, 15:56 domowoj Тогда усилить шумы стабилитрона
и оцифровать Mar 11 2011, 17:19 muravei Цитата(domowoj @ Mar 11 2011, 20:19) Тогд... Mar 13 2011, 09:53  SKov Цитата(muravei @ Mar 13 2011, 12:53) А ес... Mar 13 2011, 09:59   demiurg_spb Уважайте поиск! :-)
В ветке AVR по слову RAND ... Mar 13 2011, 10:12 zombi Цитата(ARV @ Mar 11 2011, 08:42) Отправна... Mar 11 2011, 18:51 forever_student Цитата(ARV @ Mar 11 2011, 08:42) ... посо... Mar 13 2011, 10:51 HALFer дребезг контактов (геркон, реле). обмотку на выход... Mar 14 2011, 01:06 ARV не смотря на то, что лично для меня тема исчерпана... Mar 14 2011, 05:56 =AK= Цитата(ARV @ Mar 14 2011, 16:26) 1. однов... Mar 14 2011, 06:22 rx3apf Цитата(ARV @ Mar 14 2011, 08:56) 5. кнопо... Mar 14 2011, 09:41  demiurg_spb Цитата(rx3apf @ Mar 14 2011, 12:41) Еще в... Mar 14 2011, 11:17   rx3apf Цитата(demiurg_spb @ Mar 14 2011, 14:17) ... Mar 14 2011, 11:29 ARV снова у меня проблема rand() вместе с srand() не ... Mar 19 2011, 18:24 defunct Цитата(ARV @ Mar 19 2011, 20:24) посодейс... Mar 19 2011, 21:22 forever_student Цитата(ARV @ Mar 19 2011, 21:24) ...посод... Mar 19 2011, 21:43  ARV Цитата(forever_student @ Mar 20 2011, 00... Mar 20 2011, 09:54   rx3apf Цитата(ARV @ Mar 20 2011, 12:54) мне нуже... Mar 20 2011, 12:29    ARV Цитата(rx3apf @ Mar 20 2011, 15:29) У мен... Mar 20 2011, 13:38     rx3apf Цитата(ARV @ Mar 20 2011, 16:38) скажите ... Mar 20 2011, 14:05   defunct Цитата(ARV @ Mar 20 2011, 11:54) требующи... Mar 20 2011, 14:53 Warlockwolf Кодu32 iran;
u8 Radom(){
iran=(iran*... Mar 19 2011, 21:51 ARV всем в очередной раз спасибо. как обычно, в попытк... Mar 21 2011, 09:07 Метценгерштейн а не лучше ли использовать алгоритм ПСП, например ... Mar 2 2012, 13:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|