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

qvd2yx6kpw3ol774a2d7eko4rmc.png

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

Введение


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

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

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


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

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

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


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

pw9c-31frewdvkdsei1mtqyh1bm.jpeg

akdm69jaonpu8aq9nacauk5sypu.jpeg

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

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


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

i84qlnwdvwxngh_01di_hvo9ada.png

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

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

leb502yrjybpgkjyzjowwwuzwn0.png

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

hwsrah-158f8jw6-ykjcelqfw4u.png

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


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

4muc46nx6cqsfhj9wee-8jekj_4.png

Компаратор


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

oxeqmwsww-v75y2opxpyjnenfjo.png

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

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


3ncfdgu3sqc_e5c8ww06uabvtx8.jpeg

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

kvxwc521i-zp8sn5nfus4ojadus.png

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

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

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

Корпус


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

yumronl-qydd0boeaktpkgorj90.jpeg

ythg46hyj_i13cwibawxf_p1bfo.jpeg

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

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru