Я провел эксперименты по обработке импульсов от своего DIY-дозиметра, подключенного к аудиоразъему ноутбука, в MATLAB.
MATLAB (произносится как Матла́б) - это пакет прикладных программ для выполнения технических вычислений, имеющий свой язык программирования.
Приложение, написанное на языке программирования MATLAB, позволяет выполнять регистрацию и обработку импульсов от дозиметра:
импульсы от разрядов в счетчике Гейгера на фоне шума
импульс от дозиметра в крупном масштабе
Я выполнил серию из 50 измерений, причем длительность каждого измерения составила 1 минуту. Обработка результатов измерений выполнялась в MATLAB:
Минимальное число импульсов в минуту (CPM) составило 43, максимальное - 73. Среднее значение CPM составило 55,8, а стандартное отклонение - 7,54. Также была построена гистограмма распределения числа импульсов.
GeigerCounter_MATLAB
Также я реализовал в MATLAB популярный алгоритм оценки радиационной обстановки - "скользящее среднее" в проекте GeigerCounter_MATLAB. Исходный код этого проекта открыт (лицензия GPL версии 3.0) и расположен на GitHub в репозитарии https://github.com/Dreamy16101976/GeigerCounter_MATLAB . Основу проекта составляет M-файл geiger.m - скрипт на языке MATLAB.
Проект предназначен для использования под 32-битной версией MATLAB.
При запуске скрипта geiger.m (пункт Run в меню Debug) у пользователя запрашивается:
длительность измерений в секундах (по умолчанию 900):
ширина окна "скользящего среднего" в секундах (по умолчанию 900):
Затем начинается регистрация импульсов от дозиметра, процесс которой отображается в командном окне MATLAB:
При этом отображается текущая длительность измерения (Full) в % от заданной и текущее "скользящее среднее" (MA) числа импульсов в минуту (CPM).
При необходимости процесс измерений можно прервать, нажав сочетание клавиш Ctrl + C:
Измерения выполняются, пока Full не достигнет 100 %:
После завершения измерений график изменения CPM в процессе эксперимента сохраняется в png-файл:
а также в текстовом виде в txt-файл в виде разделенных запятыми значений (CSV):
с именами YYYYMMDDhhmmss, сформированными на основе текущей даты и времени, например, 20150919034315.png и 20150919034315.txt.
Также можно скомпилировать M-файл в исполняемый (.exe) файл. Для этого в командной строке, находясь в каталоге проекта, необходимо ввести команду:
mcc -mv -o geiger geiger.m
(после ключа -o задается имя получаемого исполняемого файла)
Результатом выполнения команды будет файл geiger.exe, который может быть запущен под управлением операционной системы Microsoft Windows:
Необходимым условием для запуска полученного приложения является наличие на компьютере инсталлированного MATLAB Component Runtime (MCR).
Эксперименты
Ширина окна играет важную роль при измерениях. При ее выборе необходимо найти компромисс между точностью измерений и скоростью реакции дозиметра на изменение радиационного фона.
При ширине окна, равной 1 минуте, флюктуации скорости счета довольно заметны:
А при ширине окна в 15 минут флюктуации значительно сглажены:
измерения в течение 15 минут
измерения в течение 5 часов
Я провел эксперимент для оценки реакции связки "дозиметр + MATLAB" с шириной окна 15 минут на резкое повышение фона:
Сначала 20 минут на дозиметр действовал естественный радиоактивный фон (на графике заметен начальный переходный процесс (1) и стабилизировавшийся уровень скорости счета (2). Затем я приблизил (момент 3 на графике) к счетчику Гейгера дозиметра компас с радиоактивной светомассой. Реакцией на резкий скачок уровня радиации стало практически линейное (!) возрастание скорости счета (4).