Как стать автором
Обновить
2783.95
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Собираем квантовый генератор случайных чисел

Время на прочтение4 мин
Количество просмотров21K
Автор оригинала: Lukas Koch aka Ast

Цель этого проекта – создать настоящий квантовый генератор случайных чисел, то есть устройство, производящее на основе квантовых эффектов случайные числа. За реализацию случайности в нем будет отвечать ионизационная камера из пожарного извещателя.

Введение


Квантовая механика – это удивительная наука, выделяющаяся тем, что вносит поистине случайные процессы. К сравнению, в классической механике все перемещения определяются строго. Поэтому, хоть мы и не можем на практике предсказать итог броска монеты или игровых кубиков, теоретически можно в точности вычислить этот итог, если знать все задействованные в процессе силы. С другой стороны, результат единичных измерений в квантовой механике (насколько нам известно) наперед знать невозможно. В этом случае нам доступно лишь прогнозирование вероятности.

Задача проекта состоит в использовании этого свойства для создания настоящего квантового генератора случайных чисел. В качестве источника квантовой случайности я выбрал радиоактивный распад америция-241. Этот элемент используется в виде источника ионизации в ионизационных камерах пожарных извещателей. По факту ионизационные камеры можно использовать непосредственно.

Принцип действия


Идея проста:

  1. Подать на ионизационную камеру напряжение и усилить ток.
  2. Измерить колебания тока, вызванные случайными флуктуациями радиоактивного распада.
  3. Преобразовать колебания тока в поток битов.

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

Ионизационная камера


Такую камеру с Am-241 оказалось несложно достать на eBay всего за несколько долларов. Она состоит из металлического корпуса (1), центрального электрода (2) и электрода с америцием (3):





Америций-241 является источником альфа-излучения. Альфа-частицы (показаны зеленым) ионизируют воздух в камере и делают его слабопроводящим. При подаче напряжения между электродами и/или корпусом начинает протекать слабый ток. Его сила зависит от количества ионов в воздухе, которое, в свою очередь, зависит от количества распадов Am-241 в секунду. Радиоактивный распад – это lдействительно случайный процесс, в связи с чем ток должен иметь соответствующие колебания.

Предусилитель


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



Для получения сильного тока транзисторы Q1 и Q2 сконфигурированы как пара Дарлингтона. Q3 привносит дополнительный этап усиления и вместе с R4 преобразует сигнал тока в напряжение относительно земли. R2 ограничивает максимум протекающего через Q1, Q2 и Q3 тока, поскольку даже небольшая его величина может привести к тому, что пара Дарлингтона станет полностью проводящей.

Эта схема очень чувствительна. Без экранирования она улавливает от всех окружающих устройств шум в 50 Гц:



А с должным экранированием производит сигнал со средним значением около 1.5В и колебанием порядка 100мВ:



Фильтр низких частот


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



Компаратор


Если мы хотим использовать аналоговый выход фильтра в качестве случайного потока битов, то нам нужно преобразовать его в цифровой сигнал. Для этого в качестве компаратора я использую OpAmp.



Выход повышается, если входной сигнал (приходящий слева) оказывается выше опорного напряжения (поступающего снизу слева) и понижается, если ниже. Переключатель SW1 служит для запуска генерации опорного напряжения при запитывании цепи. Перемычка JP2 также, как R10, R11 и R12 используется для тонкой настройки генератора опорного напряжения. Все это я объясню подробнее чуть позже.

Журнал проекта




Собранный на макетной плате комплект работает. Светодиоды произвольно мигают, и у меня есть цифровой выход случайных бит с открытым стоком. Измерения тока очень чувствительны, поэтому экранирование ионизационной камеры и предусилителя очень важно. Без него на выходе получаем только шум в 50Гц.



Канал 2 показывает выходной сигнал измеренного тока за вычетом смещения постоянного тока. Поскольку сигнал достаточно медленный, мне пришлось использовать осциллограф в режиме постоянного тока и добавить собственный RC фильтр верхних частот для повышения надежности измерений.

Канал 1 показывает цифровой выход схемы. Он генерируется путем сравнения аналогового выхода с опорным напряжением при помощи триггера Шмидта.

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

Корпус


Параллельно с проверкой работоспособности схемы и устранением последних багов я также работаю над корпусом для устройства. Он немного тесноват, но все необходимое вполне в нем умещается.





Примечание: используемый автором датчик дыма является общедоступным и вполне может быть куплен на eBay, AliExpress и некоторых отечественных ресурсах. При этом нужно учитывать, что степень активности используемого в нем америция составляет 0.9 МКи. Законом же максимально допустимое значение активности америция-241 для источников, не требующих лицензирования, установлено в пределах 0.29 МКи. Таким образом, заказ и применение подобных датчиков могут быть сочтены незаконными.

Теги:
Хабы:
+40
Комментарии69

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds