Аппаратно-программный генератор случайных чисел, сопрягаемый с компьютером типа IBM PC

СПИСОК ЛИТЕРАТУРЫ

1. Ермолин Н.П., Жерихин ИЛ. Надежность электрических машин. - JL: Энергия, 1976. - 248 с.

2. Borovikov Yu.S. Diagnostic system for the estimation of the collector and brush units mechanical state under static and dynamic operating conditions // Modern Technique and Technologies: The VIII Intern. Scientific and

' Practical Conf. of Students, Post graduates and Young Scientists. - Tomsk: Tomsk Polytechnic University, 2002. - P. 104.

3. Качин С.И., Боровиков Ю.С., Нечаев M.A., Меркулов С.В. Автоматизированный диагностический комплекс для оценки механического состояния коллек-•торно-щеточных узлов в статических и динамичес-кихрежимах // Измерение, контроль, информатизация: Матер. IV Междунар. научно-практ. конф. -Барнаул: АГТУ, 2003. - С. 98-103.

4. Герасимов В.Г. и др., Методы и приборы электромагнитного контроля промышленных изделий. - М.: Энергия, 1983. - 272 с.

5. ХарламовВ.В. Совершенствование методов и средств диагностирования технического состояния коллек-торно-щеточного узла тяговых электродвигателей подвижного состава. Автореферат дис.... докт. техн. наук. - Омск: ОмГУПС, 2002. - 43 с.

6. Качин С.И. Высокоиспользованные коллекторные электрические машины малой мощности. Дис. ... докт. техн. наук. - Томск: ТПУ, 2002. - 438 с.

7. Козлов A.A., Скороспешкин А.И. Динамический контроль профиля коллекторов электрических машин // Электротехника. - 1977. -№ 7. - С. 36-39,

8. Стрельбицкий Э.К., Стукач B.C., Цирулик А.Я. Статистическая обработка профилограмм коллектора машин постоянного тока // Известия Томского политехнического института. - 1966. - Т. 160. - С. 102-105.

УДК 681.32

АППАРАТНО-ПРОГРАММНЫЙ ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ, СОПРЯГАЕМЫЙ С КОМПЬЮТЕРОМ ТИПА IBM PC

A.B. Димаки, A.A. Светлаков

Томский государственный университет систем управления.и радиоэлектроники E-maii: dav18@yandex.ru

Представлен аппаратно-программный генератор случайных чисел. Назначение данного устройства ~ генерация последовательностей случайных чисел с заданными статистическими характеристиками. В качестве источника случайных чисел используется апериодический и непредсказуемый физический процесс ~ тепловой шум р-п-перехода стабилитрона. Сопряжение аппаратной части генератора случайных чисел с ЭВМ осуществляется при помощи интерфейса ISA. Приводятся результаты исследо ваний статистических свойств последовательностей, полученных при помощи данного генератора, а также предлагается ряд мер по его совершенствованию.

1. Введение

В современных задачах моделирования различных процессов и объектов, подверженных воздействию различного ряда случайных факторов, часто требуется получение последовательностей случайных чисел. Случайные числа, входящие в данную последовательность, должны соответствовать требованиям исследуемого процесса или объекта и условиям их функционирования, т.е. быть распределены по определенному закону, иметь определенный диапазон изменения, заданные значения математического ожидания, дисперсии, и т.д. В этой связи возникает потребность создания универсального генератора случайных чисел, позволяющего получать случайные числа, удовлетворяющие вышеперечисленным условиям. В данной работе представлен разработанный авторами аппаратно-программный генератор случайных чисел, выполненный в виде периферийного устройства IBM-совместимого компьютера. Использованный в предлагаемом устройстве интерфейс ISA позволяет включать аппаратно-программный генератор случайных чисел в архитектуру большинства современных ЭВМ.

2. Анализ существующих методов получения случайных чисел

В настоящее время к решению задачи получения случайных чисел существует три основных подхода: 1) использование таблиц случайных чисел; 2) генерирование случайных чисел при помощи некоторого алгоритма и 3) использование специальных аппаратных устройств - датчиков случайных чисел [1]. Отметим наиболее существенные достоинства и недостатки вышеперечисленных подходов.

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

В практических расчетах наиболее удобно получать реализации случайной величины при помощи

Рис. 1. Структура апгаратно программного генератора случайных чисел

Рис. 2. Аппаратная часть генератора случайных чисел

некоторого алгоритма. Числа, получаемые таким ка, связанного с невозможностью воспроизводить путем, называют псевдослучайными. Основным вычисления. Этот недостаток устраняется путем со-требованием, предъявляемым к подобным алгорит- хранения в памяти машины полученной последова-мам, является, как правило, .требование высокого тельности случайных чисел для ее повторного ис-быстродействия. пользования. Естественно, что объем последователь-Подавляющее большинство используемых псев- ности ограничивается объемом запоминающего уст-дослучайных последовательностей получают на ос- ройства ЭВМ. Также, преимуществом использования нове рекуррентных соотношений. Однако, подоб- ЭВМ является возможность исследования запомненные последовательности являются периодически- ных последовательностей и выяснение таких их ми, так как каждое последующее число такой пос- свойств, как периодичность, предсказуемость, вид ледовательности определяется на основании неко- функции распределения и др. [2, 3]. торой комбинации предыдущих значений. Таким В силу того, что в настоящее время большая часть образом, использование псевдослучайных чисел моделирующих программ ориентированы на работу позволяет получать последовательности, распреде- на платформе IBM-совместимых ЭВМ, представля-ленные по требуемому закону, однако эти последо- ется актуальным создание генератора случайных чи-вательности неизбежно будут периодическими и, в сел как самостоятельного периферийного устройства, конечном счете, предсказуемыми. встраиваемого в архитектуру такого компьютера. В От данного недостатка свободны устройства, данной работе приведены результаты проектирова-называемые аппаратными или физическими датчи- ния, изготовления и исследования аппаратно-про-ками случайных чисел. Такойдатчик подключается граммного генератора случайных чисел, подключае-к ЭВМ и выдает случайное число в память маши- мого к ЭВМ при помощи интерфейса ISA. ны. Отличительной особенностью подобных устройств является то, что генерируемые ими случай- 3. Структура разработанного устройства

ные числа являются, по сущ измеренными значе- Разработанный генератор случайных чисел состо-

ниями какого-либо случайного физического про- ит из аппаратной и программной частей (рис. 1). Ап-

цесса, и, вследствие этого, генерируемые датчиком паратная часть предназначена для получения анало-

последовательности значении случайной величины гового шума; его усиления и оцифровки. Программ-

апериодичны (если, конечно апериодичен исполь- ная часть управляет процессом оцифровки, прини-

зуемый физический процесс) и непредсказуемы. К шет оцифрованный шум, хранит и обрабатывает

недостаткам подобного рода устройств можно от- П0Лученную последовательность случайных чисел, нести невозможность повторного воспроизведения Аппаратная часть состоит из собственно источ-

вычислений, и, что более важно, возможность не- нжа шуШ; аналого_цифрового преобразователя и

предс казуемого изменения параметров устройства интерфейсной части, предназначенной для сопряже-

под влиянием внешних факторов - температуры, шя с ggjyj ^^

электрических и магнитных, ролей старения эле- в качестве источника шума используется стаби-ментной базы. В силу этих причин физические дат- н КС162А снимаемый с0 стабилитрона,

чики используются достаточно редко. Необходимо подается на усилителЬ) ВЫПОлненный на двух опера-

отметить, что аппаратно-программные генераторы ционныхусилителях КР140УД708. Суммарный коэф-

случайных чисел, выполненные путем сопряжения фициент усиленш составляет 530. Усиленный сигнал физического датчика и ЭВМ, свободны от недостат-

38 36 34 32

30

, .0 200 400 600 800 1 000 1 200 1 400 1 ООО 1ВОО J ООО

Частота, Гц

Рис. 3. Спектр шумового сигнала

Амш»«5ва»кв.АЦП

Рис. 4, Гиаограмма выборки

подается на вход устройства выборки/хранения и затем на аналого-цифровой преобразователь (АЦП), выполненный на микросхеме КР572ПВ1. Время выборки данной микросхемы составляет 250 мкс, частота преобразования - 4 кГц. Отсчеты оцифрованного сигнала поступают в ЭВМ через стандартный интерфейс ISA.

Для приема оцифрованного шума и его обработки создан специализированный пакет программ, выполняющий следующие функции:

1. Получение последовательностей значений шумового сигнала и сохранения их в виде файда.

2. Вывод полученных последовательностей на экран в виде временных диаграмм.

3. Построение гистограмм полученных выборок, получение числовых характеристик выборок.

4. Построение амплитудно-частотных характеристик сигнала.

5. Преобразование исходного закона распределе-

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

4. Описание аппаратной части устройства

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

1. генератор шума;

2. аналого-цифровой преобразователь;

3. интерфейс с ЭВМ.

Блок генерации шума предназначен для получения шумового сигнала - так называемого «белого шума» [4]. Отличительной особенностью такого сигнала является равномерная амплитудно-частотная характеристика. Как показано в [3], значения амплитуд такого сигнала подчиняются нормальному распределению. Таким образом, данный генератор шума позволяет получать нормально распределенные случайные числа.

Аналого-цифровой преобразователь преобразует переменное входное напряжение в двенадцатиразрядный параллельный код. При этом входному напряжению минус 3,3 В соответствует код 0, а напряжению плюс 3,3 В - код 4095. Время одного преобразования составляет примерно 250 мкс.

Использованная микросхема КР572ПВ1 представляет собой неполный АЦП, т.е. она содержит цифроаналоговый преобразователь (ЦАП) и регистр последовательного приближения. Аналоговый компаратор, операционный усилитель ЦАП, устройство выборки и хранения, а также источник опорного напряжения монтируются отдельно.

.Цифровой код, соответствующий подаваемому напряжению, хранится в регистре последовательного приближения, входящем в состав АЦП. В этот регистр поступают данные от компаратора, который сравнивает входное напряжение с опорным, вырабатываемым микросхемой КР572ПВ1. Если входное напряжение больше, то компаратор выдает высокий уровень, иначе - низкий. Таким образом, происходит последовательное формирование цифрового кода. В силу особенностей данного АЦП, преобразование сигнала происходит; в нем за 27 тактов.

Рассчитаем быстродействие АЦП. С контакта OSC шины ISA поступают прямоугольные импульсы с фиксированной частотой ^=14,31818 МГц. На двух последовательно включённых, счетчиках эта частота делится на сто двадцать восемь. 14,31818

f _ Jo . 1 128

128

= 0,11186 МГц.

Следовательно, период импульсов на входе тактирования АЦП равен

' 1(Г6 1(Г*

= 8,94 мкс.

/ 0,11186 Так как полный цикл преобразования осуществляется за двадцать семь тактов, время преобразования равно:

"27 = 8,94-27 = 241,4мкс. Частота получения выборок сигнала равна

./и»

t 2414

= 4142 Гц.

Блок интерфейса с ЭВМ выполняет функцию связующего звена между аналого-цифровым преобразователем и шиной ЭВМ. Связь с ЭВМ осуществляется с использованием сигналов стандартного КА-разъе-ма [6]. Устройство работает в режиме побайтного обмена, используя порты ввода/вывода 0x300, 0x301. Использованы только 9 младших разрядов адреса. Через порт 0x300 передается младший байт 12-разрядного кода, а 4 старших бита передаются через порт 0x301.

5. Описание программной части устройства

Программная часть разработанного устройства состоит из двух блоков - из модуля сбора данных и графического интерфейса пользователя (ГИП). Модуль сбора данных представляет собой управляющую программу, написанную на языке Си, предназначенную

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

Графический интерфейс разработан в среде Borland Delphi 5 по технологии многодокументного интерфейса (MDI) [7], т.е. в одном окне можно просматривать одновременно или по отдельности временную диаграмму сигнала, спектр сигнала, гистограмму. Также ГИП позволяет производить изменение исходного закона распределения на любой из законов распределения, предусмотренных в программе. В данной версии ГИП возможно преобразование исходного закона распределения последовательности в один из следующих законов распределения:,

1. равномерное;

2. нормальное;

3. треугольное;

4. экспоненциальное;

5. гамма-распределение;

6. Вейбулла-Гнеденко;

7. двойное экспоненциальное;

8. бета-распределение;

9. Коши;

10. хи-квадрат-распределение.

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

6. Некоторые результаты исследований

Частотный спектр сигнала, получаемого с генератора шума, является важной характеристикой, позволяющей судить о наличии гармонических составляющих в шуме, наличии постоянной составляющей, а также о равномерности распределения энергии шума по частоте, т.е. о том, насколько соответствует получаемый сигнал ожидаемому «белому» шуму. Спектр сигнала, получаемого с помощью аппаратно-программного генератора, приведен на рис. 3.

Как видно из рис. 3, спектр сигнала является существенно неравномерным, в нем присутствуют ярко выраженные пики на частотах 500, 1500 и 2000 Гц. Такой вид спектра является характерным, и не изменяется от выборки к выборке. Возможно, что наличие пиков на спектре обусловлено именно типом стабилитрона, который изначально не предназначен для генерации шума. По-видимому, для получения более равномерных спектров необходимо применять специализированные диоды-генераторы шума, например, диоды КГ401А. Однако, неравномерность спектра шумового сигнала не исключает возможности его использования в качестве источника случайных чисел, так как спектр шума определяет лишь вид закона распределения получаемых случайных чисел, но не влияет на сам характер их

образования как результат непредсказуемого физического процесса [8].

Типовая гистограмма выборки, получаемой при помощи генератора шума, представлена на рис. 4.

Как показывают исследования, приведенные в [8], закон распределения выборок, получаемых при помощи аппаратно-программного генератора, близок к нормальному закону распределения, математическое ожидание близко к нулю.

7. Заключение

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

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

На данном этапе видны следующие возможности совершенствования разработанного аппаратно-программного комплекса:

1. Использование более совершенного шумящего элемента, имеющего спектр, более близкий к спектру белого шума.

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

3. Совершенствование аппаратной части устройства, в частности повышение быстродействия АЦП, а также использование более современного интерфейса с ЭВМ.

СПИСОК ЛИТЕРАТУРЫ

1. Ермаков. С.М. Метод Монте-Карло и смежные вопросы, изд. 2-е. - М.: Наука, 1975. - 412 с.

2. Вентцель Е.С., Овчаров Л А Теория вероятностей и ее инженерные приложения. - М.: Наука, 1988. - 480 с.

3. Быков В.В. Цифровое моделирование в статистической радиотехнике. — М.: Советское радио, 1971. - 328 с.

4. Бобнев М.П. Генерирование случайных сигналов. -Изд. 2-е, перераб. и доп. - М.: Энергия, 1971. - 240 с.

5. Хоровиц П., Хилл У. Искусство схемотехники: В 3-х томах: Т. 1. Пер. с англ. - 4-е изд., перераб. и доп. -М.: Мир, 1993. - 413 с.

6. Новиков Ю.В., Калашников O.A., Гуляев С.Э. Разработка устройств сопряжения для персонального компьютера типа IBM PC. Под общ. ред. Ю.В. Новикова. Практ. пособие. - М.: ЭКОМ, 1998. - 224 е., ил.

7. Тейксейра С., Пачеко К. Delphi 5. Руководство разработчика: Пер. с англ.: уч. пос. - М.: Издательский дом «Вильяме», 2000. - 832 е.: ил.

8. Димаки A.B., Светлаков A.A., Сиверцев В.Ф. Разработка и некоторые результаты исследований аппаратно-программного генератора случайных чисел // Аппаратно-программные средства автоматизации технологических процессов. Под ред. Ю.А. Шурыгина. -Томск: Изд-во ТГУ, 2002. - Вып. 4. - С. 18-25.