Искусство схемотехники. Том 2 (Изд.4-е)
Шрифт:
Используя весовую функция для большого числа разрядов последовательности, можно улучшить приближение к гауссову шуму. Более того, в этом случае аналоговый выходной сигнал становится фактически непрерывным сигналом. По этим причинам желательно использовать как можно больше выходов регистра сдвига, используя в случае необходимости дополнительные ступени регистра сдвига, включенные в обратную связь с вентилем ИСКЛЮЧАЮЩЕЕ ИЛИ. Как и ранее, для задания стабильных цифровых уровней напряжения следует использовать резисторную «подвеску» к питанию или КМОП-ключи (для этих целей КМОП-логика является идеальным решением, поскольку выходы при этом точно соответствуют UCC и земле).
Схема, показанная на рис. 9.90, генерирует псевдослучайный аналоговый шум, полосу которого можно менять с использованием рассмотренного способа в огромном
Рис. 9.90. Лабораторный генератор шума с широким частотным диапазоном.
Сигнал кварцевого генератора с частотой 2,0 МГц поступает на 24-разрядный программируемый делитель 14536, который формирует тактовую частоту от 1,0 МГц до 0,12 Гц с коэффициентом деления кратным 2. 32-разрядный регистр сдвига охвачен обратной связью от 31- и 18-го разрядов и генерирует последовательность максимальной длины с миллиардом состояний (на максимальной тактовой частоте полный цикл регистра проходит за полчаса). Здесь мы использовали взвешенное суммирование с функцией (sin x)/x на 32 последовательных разрядах последовательности. Элементы Y1 и Y2 усиливают инвертированные и неинвертированные выходы соответственно и запускают дифференциальный усилитель Y3. Коэффициенты усиления выбираются таким образом, чтобы сформировать на 50-омной нагрузке напряжение 1,0 В ср. кв. без постоянной составляющей (2,0 В ср. кв. на холостом ходу). Обратите внимание на то, что эта амплитуда шума не зависит от тактовой частоты, т. е. от общей полосы. Такой цифровой фильтр имеет частоту среза на 0,05 fтакт и формирует спектр белого шума от полосы постоянный ток : 50 кГц (максимальная тактовая частота) до полосы постоянный ток : 0,006 Гц (минимальная тактовая частота) на 24 диапазонах. Схема вырабатывает выходной сигнал от +1,0 до -1,0 В. Относительно этой схемы можно сделать несколько важных замечаний.
Обратите внимание на то, что в этой схеме в обратной связи используется инвертирующий вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ, поэтому инициализацию регистра можно осуществить простым обнулением. Использование инверсии входных последовательных сигналов исключает состояние «все единицы» (а не «все нули» как при использовании обычного вентиля ИСКЛЮЧАЮЩЕЕ ИЛИ), но все другие свойства остаются в силе.
Взвешенное суммирование конечного числа битов не может сформировать настоящий гауссов шум из-за ограничения по амплитуде пика. Можно показать, что выходная амплитуда пика (на 50 Ом) составляет ±4,34 В, что дает коэффициент формы 4,34. Эти цифры имеют важное значение, поскольку для того, чтобы исключить эффект ограничения, коэффициент усиления Y1 необходимо с помощью Y2 поддерживать достаточно низким. Внимательно приглядитесь к методам, используемым для формирования выходных сигналов с нулевой постоянной составляющей из уровней КМОП со средним значением +6,0 В (низкий уровень — 0 В, высокий — +12 В).
Описанный метод цифровой низкочастотной фильтрации последовательностей максимальной длины используется во многих коммерческих генераторах шума.
9.37. Краткое заключение
Несколько заключительных замечаний относительно последовательностей, генерируемых регистрами сдвига, как источников аналогового шума. На основании трех перечисленных ранее свойств регистров максимальной длины вы, возможно, склонны заключить, что выходная последовательность «чересчур случайна» в том смысле, что она имеет точное число серий заданной длины и т. п. Настоящая случайная машина для подбрасывания монеты не генерировала бы на единицу больше «орлов», чем «решек», а ее автокорреляционная функция не была бы абсолютно плоской для конечной последовательности. Посмотрите на это с другой стороны. Если бы вы использовали единицы и нули, вырабатываемые регистром сдвига, для управления случайным блужданием, двигаясь вперед на один шаг при получении единицы и назад на один шаг при получении нуля, то оказались бы на расстоянии ровно в один шаг от начальной точки после того, как регистр пройдет весь цикл. Этот результат уж никак нельзя назвать случайным!
Вместе с тем упомянутые свойства регистра сдвига верны только для всей последовательности из 2n— 1 бит, взятой как одно целое. Если вы используете фрагмент полной битовой последовательности, то его свойства будут довольно точно аппроксимировать случайный автомат для подбрасывания монеты. Представьте себе аналогичный процесс — извлечение красных и синих шаров наугад из урны, в которую вначале помещены К шаров (половина красных, половина синих). Если вы вытаскиваете шары без возвращения, то сначала вы рассчитываете получить почти случайную статистику. По мере убывания шаров в урне статистика изменяется за счет того, что общее число красных и синих шаров должно оставаться тем же самым.
Представление о том, как это происходит, можно получить, вновь вернувшись к случайному блужданию. Если предположить, что единственным «неслучайным» свойством последовательности является точное равенство «1» и «0» (не обращая внимание на одну лишнюю «1»), то можно показать, что описанное случайное блуждание после r вытаскиваний из общей «популяции» К/2 единиц и К/2 нулей приведет к среднему расстоянию от начальной точки, равному
Х = [r(К — r)/(К — 1)]1/2.
(Этим выражением мы обязаны . М. Purcell.) Поскольку при полностью случайном блуждании X равно корню квадратному из r, коэффициент (К — r /(К — 1) отражает влияние конечных содержимых урны. Пока r << К, случайность блуждания чуть-чуть отличается от случая абсолютно случайного блуждания, и генератор псевдослучайной последовательности практически неотличим от реального автомата. Мы проверили это на нескольких тысячах случайных блужданий под управлением ПСП (каждое в несколько тысяч шагов) и обнаружили идеальную случайность по этому простому критерию.
Тот факт, что генераторы ПСП выдерживают этот тест, разумеется, не гарантирует, что они будут удовлетворять и более сложным тестам на случайность, например тестам на корреляцию более высокого порядка. Такие корреляционные зависимости также оказывают влияние на свойства аналогового шума, генерируемого путем фильтрации ПСП. Несмотря на то что амплитуда шума имеет гауссово распределение, возможно наличие корреляции амплитуд более высокого порядка, не свойственной настоящему случайному шуму. По этому поводу сейчас принято считать, что чем больше отводов участвует в обратной связи (предпочтительно порядка m/2), тем «лучше» шумовые свойства (при использовании для формирования последовательных входов дерева четности на элементах ИСКЛЮЧАЮЩЕЕ ИЛИ).
Те, кто проектирует генераторы шумов, должны познакомиться со сдвиговым регистром переменной длины в КМОП-логике 4557 (от 1 до 64 разрядов); конечно, вы должны использовать его в сочетании с регистром с параллельным выходом (типа `4015 или `164) для того, чтобы обеспечить n отводов.
В разд. 7.20 обсуждается вопрос о шумах и приводится пример генератора «розового» шума на ИМС регистра максимальной длины ММ5437.
9.38. Цифровые фильтры
Последний пример затронул интересную тему цифровой фильтрации, в данном случае формирование НЧ-сигнала путем взвешенного суммирования 32 значений псевдослучайной последовательности, каждое из которых соответствует уровню напряжения 0 или +12 В. На вход такого «фильтра» поступают сигналы, которые могут иметь только два уровня напряжения. Вообще говоря, то же самое можно сделать с аналоговым сигналом на входе, образуя взвешенную сумму его значений (xi), распределенных во времени через равные интервалы