Как я могу оценить содержание энтропии этого входа? - PullRequest
2 голосов
/ 13 марта 2012

У меня есть генератор треугольных волн 1 кГц, который я измеряю от микроконтроллера PIC с использованием аналогового входа. Источник частоты для треугольной волны и аналоговый захват являются отдельными источниками частоты. АЦП записывает со скоростью 100 кбит / с с 12 [править: 10] используемых битов точности.

Я хочу оценить энтропию, содержащуюся в аналоговых выборках, с целью генерации истинных случайных чисел. Два источника энтропии, которые я определил, - это шум Кельвина и смещение источника частоты.

Из захваченного сигнала я могу непрерывно различать около двух частот в секунду, и я буду фиксировать в среднем одно событие нарушения порога входа в кельвин в секунду. Поэтому моя оценка составляет около двух бит энтропии в секунду.

Может ли кто-нибудь придумать способ оправдать большую оценку энтропии?

На основании ответов на аналогичные вопросы, уже опубликованные на сайте S.O., я добавлю следующие пояснения:

Меня не особо интересуют другие идеи об источниках энтропии, поскольку мне все равно придется ответить на этот же вопрос для этих альтернативных источников.

Анализ самих данных для автокорреляции или других мер случайности не является правильным ответом, поскольку они будут дико оптимистичными.

Ответы [ 3 ]

1 голос
/ 13 марта 2012

Я достиг определенного прогресса, который может помочь другим.

Первичный ресурс http://en.wikipedia.org/wiki/Johnson%E2%80%93Nyquist_noise

Емкость штырька ограничит количество измеряемого теплового шума до 20 мкВ в полосе пропускания АЦП.Это должно быть более или менее одинаково для довольно большого разнообразия контроллеров.Используйте резистор ~ 10К между сигналом и выводом.Меньшие значения уменьшат шум, но увеличат возможную частоту дискретизации.

Сигнал не должен быть случайным.Он просто должен быть равномерно распределен в пределах как минимум нескольких шагов дискретного ввода.Обратите внимание, что вывод на GPIO в том же домене синхронизации, что и на входе, может не соответствовать этому требованию.

При использовании 10 АЦП с динамическим диапазоном 3,3 В каждый дискретный шаг составляет 3 мВ.Энтропия на выборку составляет около 20 мкВ / 3 мВ = 0,006 бит на выборку.

Также обратите внимание, что для этого не требуется аналоговый вход.Вы могли бы сделать это с цифровым входом, но размер ячейки был бы намного больше (1 В?), И ответ был бы больше как 0,000018 бит на выборку.Таким образом, взятие входной выборки каждую миллисекунду для генерации 64-битного случайного начального числа заняло бы около часа.

0 голосов
/ 20 октября 2012

NIST Публикация SP800-90B рекомендует мин-энтропия в качестве меры энтропии. Однако тестирование мин-энтропии источника энтропии нетривиально. См. NIST SP800-90B, чтобы узнать, как можно провести такое тестирование.

0 голосов
/ 14 марта 2012

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

Простой и удивительно точный метод измерения энтропии в цифровом сигнале заключается впопытайтесь сжать это, используя лучшие доступные методы.Чем выше степень сжатия, тем меньше информационное содержание.

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

...