СПОСОБ И УСТРОЙСТВО ГЕНЕРАТОРА СЛУЧАЙНЫХ ЧИСЕЛ
METHOD AND DEVICE FOR GENERATING RANDOM NUMBERS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к генераторам случайных чисел. Более конкретно, настоящее изобретение относится к способам и устройствам для стабильных, согласованных, самокалибрующихся генераторов случайных чисел для крупносерийного производства приборов беспроводной связи.
УРОВЕНЬ ТЕХНИКИ
В терминалах или приборах беспроводной связи существует необходимость в генераторах случайных чисел, например, для криптографических прикладных задач. Однако вариации рабочих условий (таких, как изменения температуры, напряжения и тока) и вариации характеристик компонентов (обусловленные несогласованностью при изготовлении компонентов, старением, сроком хранения и сроком службы) приводят к тому, что у существующих генераторов случайных чисел варьируются эксплуатационные качества генерации случайных чисел. Следовательно в подобных приборах, изготовленных для единообразной работы, их эксплуатационные качества флуктуируют вследствие того, что согласованные генераторы случайных чисел варьируются по своим эксплуатационным качествам, и, таким образом, производят различные распределения случайных чисел.
Следовательно существует необходимость в генераторах случайных чисел, которые работают равномерно, несмотря на вариации характеристик компонентов, рабочих условий и окружающей среды. Также существует необходимость в одинаково изготовленных приборах для одинакового функционирования и для равномерной и согласованной работы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Раскрытые варианты осуществления обеспечивают новейшие и улучшенные способы и устройства для генерации случайных чисел. В одном аспекте, способ генерации случайных чисел для использования в приборе беспроводной связи обеспечивается для генерации случайных чисел и формирования выборки генерированных случайных чисел. Способ дополнительно обеспечивается для вычисления, по меньшей мере, одной метрики, как, например, среднего значения, среднеквадратического отклонения и/или энтропии, на основе сформированной выборки и сравнения метрики с соответствующим опорным значением. Способ дополнительно обеспечивается для регулировки метрики на основе результата сравнения так, чтобы генерированные случайные числа достигали требуемого распределения.
В другом аспекте, устройство для генерации случайных чисел включает в себя аналоговый генератор шума и аппаратные компоненты для генерации случайных чисел и значений обратной связи для регулировки случайных чисел и их распределений. Устройство дополнительно включает в себя процессор, выполненный с возможностью выполнения инструкций для осуществления алгоритмов управления для регулировки случайных чисел и их распределений.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
В дальнейшем изобретение поясняется описанием конкретных вариантов его осуществления со ссылками на сопровождающие чертежи, на которых:
фиг.1 иллюстрирует блок-схему генератора случайных чисел,
фиг.2 иллюстрирует процедурную блок-схему для генерации случайных чисел,
фиг.3 иллюстрирует эпюры напряжения шумов для одинаково изготовленных приборов,
фиг.4 иллюстрирует распределения случайных чисел для одинаково изготовленных приборов без регулировки и
фиг.5 иллюстрирует одинаковые распределения случайных чисел для одинаково изготовленных приборов с автоматической регулировкой.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Перед тем, как будут подробно объясняться несколько вариантов осуществления, следует понять, что рамки изобретения не должны ограничиваться деталями конструкции и компоновкой компонентов, изложенных в последующем описании или проиллюстрированных на чертежах. Также следует понять, что используемые здесь фразеология и терминология предназначены для цели описания и не должны рассматриваться как ограничивающие.
Фиг.1 иллюстрирует блок-схему автоматического самонастраивающегося генератора 100 случайных чисел согласно одному варианту осуществления. Генератор 100 случайных чисел в основном включает в себя аппаратные средства 102 аналогового генератора шума, аппаратные средства 104 управляющего процессора и программный модуль 106 управляющего процессора. Аппаратные средства 102 аналогового генератора шума обеспечивают случайное аналоговое напряжение, которое нормально распределяется со средним значением X и среднеквадратическим отклонением S. Аппаратные средства 102 аналогового генератора шума также могут включать в себя шумовой диод 108 и усилитель 110 для формирования сигнала согласно одному варианту осуществления. Шумовой диод может быть использован в области обратного пробивного напряжения, смещенной так, чтобы функционировать на изгибе указанной части рабочей характеристики. Когда диод работает в этой области, переменное напряжение на его выводах представляет собой гауссово распределение с равномерной спектральной плотностью по всей его ширине полосы.
Аппаратные средства 104 управляющего процессора включают в себя аналогово-цифровой преобразователь (ADC, АЦП) 112, центральный процессор (CPU, ЦП) или компьютер и цифро-аналоговые преобразователи (DAC, ЦАП) 114 и 116. АЦП 112 преобразует в цифровую форму аналоговое напряжение шумов на основе опорного напряжения (V-Ref) и генерирует случайные числа. ЦП в сочетании с управляющим программным модулем вычисляет, по меньшей мере, одну метрику на основе выборки дискретизированного напряжения шумов, например, случайных чисел, регулирует опорное напряжение (V-Ref), вводимое в АЦП 112, и ввод сдвига постоянной составляющей усилителя 110, чтобы "подгонять" распределение случайных чисел в "окно" полного диапазона функциональных возможностей АЦП. Сдвиг постоянной составляющей представляет собой среднее X случайных чисел, а опорное напряжение (V-Ref) представляет собой среднеквадратическое отклонение случайных чисел. Опорное напряжение АЦП преобразователя соответствует полномасштабным функциональным возможностям дискретизации АЦП преобразователя, то есть оно устанавливает максимальное напряжение в АЦП, которое может быть преобразовано в цифровую форму без повышающего масштабирования преобразователя. Таким образом, регулировка опорного напряжения прямо пропорциональна преобразованию двойной амплитуды напряжения АЦП.
Согласно одному варианту осуществления, программный модуль 106 управляющего процессора работает на выборке случайных чисел, производимой АЦП преобразователем 112, и вычисляет среднее значение X и среднеквадратическое отклонение S выбранной выборки для подачи обратно в ЦАП преобразователи 114 и 116 соответственно. Среднее значение X используется для управления местоположением пика гистограммы случайных чисел, генерированных АЦП преобразователем 112, как показано волновой формой 118. Среднеквадратическое отклонение S используется для управления шириной гистограммы случайных чисел, генерированных АЦП преобразователем 112, как показано волновой формой 120.
В типичных системах генератора случайных чисел, где компонуется только несколько и рабочая среда является квазистатической, системы могут регулироваться посредством изменения их частей, чтобы достичь согласованного распределения случайных чисел по всем системам. Однако в крупносерийном производстве, например мобильных телефонов, существует потребность в способности автоматической регулировки, которая обеспечивает согласованное распределение случайных чисел на протяжении всего крупносерийного производства и при варьирующихся рабочих условиях.
Фиг.2 иллюстрирует блок-схему для регулировки распределений случайных чисел согласно одному варианту осуществления. На этапе 202 выбираются некоторые начальные значения для сдвига постоянной составляющей и опорного напряжения (V-Ref), которые могут быть равны окончательным значениям, полученным когда генератор случайных чисел настраивался последний раз. На этапе 204 выбирается выборка случайных чисел, произведенных АЦП преобразователем 112. На этапе 206 вычисляется выбранная выборка случайных чисел и сравнивается с опорным средним значением. Опорное среднее значение может быть выбрано на основе битовой разрядности АЦП преобразователя генератора случайных чисел. Например, для 8-битового АЦП опорное или требуемое среднее значение могло бы быть равно 127, чтобы соответствовать требуемой гауссовой гистограмме 122 случайных чисел. Опорное среднее значение 127 соответствует средней точке диапазона 8-битового АЦП. На основе сравнения, проведенного на этапе 206, регулируется значение сдвига постоянной составляющей, вводимое в усилитель 110, на этапе 208 или 210, регулируются соответствующие значения по некоторому линейному, нелинейному или адаптивному алгоритму управления, хорошо известному в уровне техники.
Аналогично, на этапе 212 вычисляется значение среднеквадратического отклонения выбранной выборки случайных чисел, которое сравнивается с опорным значением среднеквадратического отклонения. Опорное значение среднеквадратического отклонения может быть выбрано на основе точности или значения полной шкалы АЦП генератора случайных чисел. Например, для 8-битового АЦП 112 опорное или требуемое значение среднеквадратического отклонения могло бы быть равно 41, чтобы соответствовать требуемой гауссовой гистограмме 122 случайных чисел. Опорное значение среднеквадратического отклонения 42 соответствует приблизительно одной шестой диапазона 8-битового АЦП, обеспечивая распределение случайных чисел в АЦП, составляющее шесть сигма. На основе сравнения, проведенного на этапе 212, регулируется ввод в ЦАП 116, на этапе 214 или 216, регулируются соответствующие значения по некоторому линейному, нелинейному или адаптивному алгоритму управления, хорошо известному в уровне техники.
Фиг.3 иллюстрирует три эпюры напряжения шумов, генерированные тремя одинаково изготовленными приборами. Указанные эпюры напряжения шумов соответствуют сигналам, генерированным в виде выходных сигналов соответствующих усилителей 110. Эти три эпюры имеют различные среднее значение и значение среднеквадратического отклонения, вследствие разницы характеристик составляющих компонентов, рабочих условий и окружающей среды.
Фиг.4 иллюстрирует три распределения случайных чисел для трех одинаково изготовленных приборов, упомянутых в связи с фиг.3, без автоматической регулировки. Эти распределения случайных чисел соответствуют случайным числам, генерированным на выходе соответствующих АЦП преобразователей 112. Они все также имеют различные среднее значение и значение среднеквадратического отклонения.
Фиг.5, однако, иллюстрирует три единообразных распределения случайных чисел для одинаково изготовленных приборов, упомянутых в связи с фиг.3, с механизмом автоматической регулировки. Упомянутые распределения случайных чисел соответствуют случайным числам, генерированным на выходе соответствующих АЦП преобразователей 112. Они, в соответствии с требованием, имеют очень близкие среднее значение и значение среднеквадратического отклонения, несмотря на разницу характеристик их составляющих компонентов, рабочих условий и окружающей среды.
Следовательно раскрытые здесь управляющий процессор и программный модуль регулируют генератор случайных чисел, чтобы он производил подобные распределения случайных чисел во всех многочисленных одинаково изготовленных приборах при варьирующихся рабочих условиях. Например, после того, как удовлетворены критерии регулировки среднего значения и сигмы, генератор случайных чисел считается откалиброванным и готовым обеспечить случайные числа для требуемой прикладной задачи с метриками, которые являются согласованными на всем начальном этапе производства, при всех вариациях окружающей среды и по всему сроку службы изделия.
В другом варианте осуществления, дополнительные метрики, такие как энтропия, которые показывают, как много случайности существует в генерированных случайных числах, также могут вычисляться и регулироваться для регулировки эксплуатационных качеств генератора случайных чисел.
Специалистам в данной области техники должно быть понятно, что информация и сигналы могут быть представлены с использованием любого из многообразия различных технологий и протоколов. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы (чипы), которые могут упоминаться на протяжении описания, могут быть представлены напряжением, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами или любой их комбинацией.
Также специалистам в данной области техники должно быть понятно, что различные иллюстративные логические блоки, модули, схемы и этапы алгоритмов, описанные в связи с раскрытыми здесь вариантами осуществления, могут быть выполнены в виде электронных аппаратных средств, компьютерного программного обеспечения или их комбинации. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные компоненты, блоки, модули схемы и этапы были описаны в основном с точки зрения их функциональных возможностей. Исполняются ли упомянутые функциональные возможности в виде аппаратных средств или программного обеспечения, зависит от конкретной прикладной задачи и проектных ограничений, наложенных на всю систему. Специалисты в данной области техники могут реализовать описанные функциональные возможности множеством способов для каждого конкретного применения, но такие конструкционные решения не должны интерпретироваться как выходящие за рамки настоящего изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные в связи с раскрытыми здесь вариантами осуществления, могут быть реализованы или выполнены с помощью универсального процессора, процессора цифровой обработки сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой вентильной матрицы (FPGA) или другого программируемого логического прибора, дискретного вентиля или транзисторной логики, дискретных компонентов аппаратных средств или любой их комбинации, рассчитанной для выполнения описанных здесь функций. Универсальный процессор может быть микропроцессором, но альтернативно, процессор может быть любым известным процессором, контроллером, микроконтроллером или конечным автоматом. Процессор также может быть выполнен в виде комбинации вычислительных приборов, например комбинации DSP процессора и микропроцессора, множества микропроцессоров, одного или нескольких микропроцессоров в сочетании с ядром DSP процессора или любой другой такой конфигурации.
Этапы способа или алгоритм, описанные в связи с раскрытыми здесь вариантами осуществления, могут быть воплощены непосредственно в виде аппаратных средств, в виде программного модуля, исполняемого процессором, или в виде их комбинации. Программный модуль может постоянно храниться в оперативном запоминающем устройстве (RAM, ОЗУ), флэш-памяти, постоянном запоминающем устройстве (ROM, ПЗУ), стираемом программируемом постоянном запоминающем устройстве (EPROM, СППЗУ), электрически стираемой памяти (EEPROM, ЭСППЗУ), регистрах, жестком диске, сменном диске, магнитном постоянном запоминающем устройстве (MS-ROM) или в любой другой форме носителя данных, известной в уровне техники. Иллюстративный носитель данных подсоединяется к процессору, так что процессор может считывать информацию с носителя данных и записывать информацию на него. Альтернативно, носитель данных может быть интегрированным с процессором. Процессор и носитель данных могут постоянно находиться в ASIC-специализированной интегральной схеме ASIC. Схема ASIC может находиться в пользовательском терминале. Альтернативно, процессор и носитель данных могут постоянно находиться в виде дискретных компонентов пользовательского терминала.
Описание раскрытых вариантов осуществления обеспечивается, чтобы позволить специалисту в данной области техники выполнить или использовать настоящее изобретение. Для специалистов в данной области техники будут очевидны различные модификации упомянутых вариантов осуществления, и определенные здесь основополагающие принципы могут применяться к другим вариантам осуществления, например в средствах услуги оперативной пересылки сообщений или любых общих прикладных задачах беспроводной связи, не отклоняясь от сущности и не выходя за рамки объема настоящего изобретения. Таким образом, настоящее изобретение не предназначено, чтобы ограничиваться показанными здесь вариантами осуществления, но должно соответствовать широкому объему, который согласуется с раскрытыми здесь принципами и новыми признаками.