Разработка моделей сигналов с дискретной модуляцией
В статье рассмотрена методика разработки моделей сигналов с дискретной модуляцией, предназначенных для использования в системах схемотехнического моделирования радиоэлектронных устройств. Материал статьи может быть полезен разработчикам устройств формирования и обработки цифровых сигналов.
В предыдущей статье автора «Разработка моделей сигналов с аналоговой модуляцией» [1] была представлена методика создания и использования источников сигналов с амплитудной, частотной и фазовой модуляцией в программной среде MathCAD и последующего их использования в системе схемотехнического моделирования DesignLab. В настоящей статье мы продолжим разработку моделей сигналов с дискретной модуляцией, основываясь на предложенной методике.
При дискретном характере изменения первичных (управляющих) сигналов параметры несущего колебания будут изменяться по дискретному закону (скачками). В этом случае вместо термина «модуляция» чаще используется термин «манипуляция» или «телеграфия», что отражает модуляцию первичным телеграфным сигналом. При этом различают три вида манипулированных сигналов: амплитудно-манипулированные (АТ — амплитудная телеграфия), частотно-манипулированные (ЧТ) и фазоманипулированные (ФТ) [2]. Все перечисленные виды сигналов находят широкое применение в радиоэлектронных системах, однако в известных системах схемотехнического моделирования (ССМ), таких как OrCAD, Microcap, DesignLab [3] и др., источники этих сигналов, необходимые при моделировании схем, отсутствуют, что обуславливает актуальность статьи. Как и ранее, будем использовать термин «модулированное колебание», если речь идет о модуляции несущей частоты последовательностью импульсов с детерминированным характером их следования. В случае, когда первичный сигнал несет какую-либо информацию (некоторый цифровой код), будем использовать термин «модулированный сигнал».
При разработке моделей сигналов с дискретной модуляцией будем использовать модели первичных колебаний и сигналов, рассмотренные в первой статье цикла [4]. Это две основные модели: модель импульсной последовательности с заданными длительностью и периодом следования импульсов:
где tз — длительность интервала задержки последовательности относительно момента времени ti = 0; Nи — количество импульсов в последовательности, tи , Т — длительность и период следования импульсов для заданной скважности q = T/tи. Вторая модель формирует кодовую последовательность импульсов, состоящую из нескольких посылок, разделенных временными промежутками (2), где tз — длительность интервала задержки кодовой посылки относительно момента времени ti = 0; Nи — количество импульсов в посылке; Тп — длительность кодовой посылки; Nп — количество посылок в последовательности; Р — период повторения посылок.
Используя эти две модели, можно получить временные реализации различных сигналов с дискретной модуляцией. Например, для получения модели АТ-сигнала с посылками, сформированными в соответствии с заданным кодом, необходимо временной массив модулирующего (первичного) сигнала, полученный с помощью модели (2), умножить на массив значений несущей частоты. Эта математическая операция как раз и будет соответствовать принципу модуляции — управления параметрами несущего колебания по закону первичного. При этом модель АТ-сигнала можно представить следующим программным кодом на языке системы MathCAD (рис. 1).
Особо обратим внимание читателя на строку 3, в которой задается количество отсчетов N = 100 000, шаг дискретизации временной оси 10 мкс. Это связано с тем, что нам необходимо в демонстрационных целях моделировать как первичный, так и модулированный сигналы, поэтому установленное значение параметра обеспечит нам приемлемое отображение как временного, так и спектрального представлений сигналов. В строке 4 формируем первичный сигнал, в строке 5 — модулированный АТ-сигнал, в строках 6–7 вычисляем и выполняем нормировку амплитудно-частотных спектров сигналов. На рис. 2 показаны результаты моделирования АТ-сигнала.
Затем добавим в модель следующий программный код для записи АТ-колебания в файл (листинг 1).
Следует также сказать о том, что для правильной записи результатов моделирования в файл необходимо в программе MathCAD установить следующие значения системных параметров PRN File Settings: Precision (точность отображения) = 10, Column Width (ширина столбца) = 20.
Покажем теперь, как выполнить ввод и моделирование испытательной схемы для проверки модели сигнала в DesignLab 8.0. Введем схему, показанную на рис. 3.
В качестве источника сигнала воспользуемся компонентом VPWL_FILE (источник напряжения, заданный в файле) и установим значение его атрибута File=sig.dat. Сохраним собранную схему, поместив в папку со схемой файл sig.dat, зададим параметры директивы временного анализа и выполним моделирование. В окне программы Probe системы DesignLab мы увидим точно такой же сигнал, что и первоначально созданный нами с помощью программы MathCAD (рис. 4).
Программный код модели ЧТ-колебания с разрывом фазы можно получить на основе модели для формирования АТ-колебания. Однако теперь в паузах первичного сигнала нам необходимо будет «генерировать» колебание с несущей частотой логического нуля. Поэтому вместо операции умножения первичного колебания на массив несущей частоты (как это мы делали в модели АТ-сигнала) следует воспользоваться условной функцией if(arg,y1,y2) [5]. Ниже представлен программный код модели ЧТ-колебания (рис. 5).
Поясним введенные идентификаторы. В строке 2 задаем длительность импульса ti , период следования T, частоту нажатия (логической единицы) ƒ1, частоту отжатия (логического нуля) ƒ0 и число импульсов в моделируемом массиве Ni . В третьей строке формируем временное представление первичного колебания aj и частотно-манипулированного колебания по принципу: если aj > 0, то заполняем массив несущим колебанием с частотой логической единицы, в противном случае заполняем массив несущим колебанием с частотой логического нуля. Пока оставшийся после заполнения импульсами фрагмент временного массива будет «забит» несущей частотой нуля, что не соответствует действительности. Эту ситуацию мы корректируем в сроке 4, полагая оставшийся фрагмент равным нулю.
Разработаем модель АТ-сигнала, в котором импульсы имеют внутриимпульсную ЧТ-манипуляцию. Для этого, очевидно, следует воспользоваться моделью АТ-сигнала с кодовым следованием посылок внутри пачки. При этом ЧТ-заполнение пачки будем формировать с учетом модели ЧТ-колебания. Тогда измененную часть программного кода модели такого сигнала можно представить в следующем виде (листинг 2).
Здесь мы при формировании результирующего сигнала dj воспользовались условной функцией для заполнения пачки ЧТ-импульсами с частотами логической единицы ƒ1 и нуля ƒ0.
Программный код модели ФТ-колебания будет отличаться лишь тем, что теперь нам необходимо в моменты времени, соответствующие логическому нулю, формировать несущее колебание с той же частотой и измененной на 180° фазой. Фрагмент программного кода ФТ-колебания, формирующий первичный массив aj и массив отсчетов фазоманипулированного сигнала dj представлен в листинге 3.
Покажем, каким образом можно получить импульсную последовательность со случайным следованием посылок, и выполним фазовую манипуляцию несущей частоты таким сигналом с добавлением шума. Для этого рассмотрим приведенный ниже фрагмент программного кода MathCAD (рис. 6).
Алгоритм формирования первичного случайного сигнала несколько отличается от алгоритмов получения детерминированных сигналов, рассмотренных ранее, поэтому остановимся более подробно на способе получения такого сигнала. В строке 3 переводим длину одного импульса в число отсчетов dL, задаем приращение индексной переменной h с интервалом изменения dL и вводим индексную переменную rh, которая обеспечит нам постоянство случайных значений переменной Y на протяжении всей длительности импульса. В строке 4 заполняем массив у случайными значениями с равновероятным распределением и формируем массив Y в соответствии с заданной длительностью одиночного импульса, после чего рассчитываем первичный сигнал a. Если вывести на график (рис. 7) массив Y, то читателю станет понятен смысл операций в строках 3–4.
Рассмотренный способ формирования последовательности с фиксированной длительностью и случайной амплитудой импульсов может быть использован при построении моделей случайных сигналов АТ и ЧТ. Продолжим «разбор» программного кода модели ФТ-сигнала. В конце строки 4 мы устраняем флуктуации амплитуды импульсов, сохраняя случайный характер их следования. В строке 6 формируем отсчеты шума Q и добавляем их к сигналу. Читатель может изменить закон распределения амплитудных отсчетов шума, воспользовавшись соответствующей функцией системы MathCAD [5]. На рис. 8 представлены результаты моделирования аддитивной смеси ФТ-сигнала и гауссовского шума.
Поместив в папку с испытательной схемой файл sig.dat, выполним моделирование. В окне программы Probe системы DesignLab мы получим точно такой же аддитивный ФТ-сигнал, который может быть использован для моделирования, например, детектора фазоманипулированных сигналов.
В последнее время все большее применение в аппаратуре специального назначения находят сигналы с квадратурной амплитудно-фазовой модуляцией (КАФМ). В общем виде КАФМ-сигнал может быть представлен выражением:
где α — коэффициент округления, m — множитель фазового сдвига, Т — тактовый интервал, ƒ — несущая частота сигнала. Разработаем модель такого сигнала для его использования в системах схемотехнического моделирования в качестве источника сигнала. Сформируем m = 8 массивов КАФМ-сигнала с фазовым сдвигом π/4 и затем запишем их в отдельные файлы sig1…sig8. При этом математические операции должны выполняться с каждым массивом в отдельности и независимо друг от друга. На языке системы MathCAD программный код такой модели может быть записан так, как показано на рис. 9.
В каждой из реализаций мы осуществили сдвиг момента начала сигнала на интервал времени 4Т, чтобы видеть полные временные представления сигналов. На график временной формы КАФМ-сигнала, представленный на рис. 10, выведены все восемь реализаций сигнала для удобства анализа и оценки совмещения нулевых значений — моментов времени, когда амплитуда сигнала равна нулю. При моделировании использованы следующие параметры КАФМ-сигнала: α = 0,4, m = 0…8, ƒ0 = 48 кГц, Т = 0,36 мс.
Для получения квазислучайной реализации КАФМ-сигналов, имитирующей работу реальных устройств, следует несколько изменить программный код модели. Во-первых, необходимо сгенерировать случайным образом фазовые сдвиги реализаций, во-вторых, сформировать реализации, сдвинутые друг относительно друга на некоторый интервал T×k, и затем их просуммировать. Измененный фрагмент программного кода такой модели можно записать, как показано на рис. 11.
Поясним изменения. В первой строке мы задали приращение индексной переменной j и сформировали случайные значения фазовых сдвигов m, распределенные по биномиальному закону, далее сформировали реализации сигнала в соответствии с описанным выше алгоритмом. На рис. 12 представлены результаты моделирования КАФМ-сигнала, полученные с помощью модифицированной модели.
Применяя рассмотренные в статье алгоритмы формирования временных последовательностей сигналов, читатель сможет самостоятельно создавать (или модифицировать приводимые) модели сигналов с дискретной модуляцией и использовать их при моделировании различных радиоэлектронных устройств в системах схемотехнического моделирования. В следующей статье будет рассмотрена методика разработки моделей сложных сигналов с фазокодовой и линейной частотной модуляцией.
Модели сигналов, рассмотренные в статье, можно посмотреть на сайте журнала (http://www.finestreet.ru/rms.zip). Для их открытия и моделирования необходимо наличие установленной на ПК системы MathCAD 2001.
Литература
- Антипенский Р. Разработка моделей сигналов с аналоговой модуляцией // Компоненты и технологии. 2007. № 5.
- Гоноровский И. Радиотехнические цепи и сигналы. М.: Радио и связь. 1986.
- Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон. 1999.
- Антипенский Р. Разработка моделей первичных сигналов в программной среде MathCAD // Компоненты и технологии. 2007. № 3.
- Richard C. Saffe. Random Signals for Engineers using MATLAB and Mathcad. Springer — Verlag. 2000.