Разработка моделей сигналов с дискретной модуляцией

№ 6’2007
В статье рассмотрена методика разработки моделей сигналов с дискретной модуляцией, предназначенных для использования в системах схемотехнического моделирования радиоэлектронных устройств. Материал статьи может быть полезен разработчикам устройств формирования и обработки цифровых сигналов.

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

В предыдущей статье автора «Разработка моделей сигналов с аналоговой модуляцией» [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).

Программный код модели АТ-сигнала
Рис. 1. Программный код модели АТ-сигнала

Особо обратим внимание читателя на строку 3, в которой задается количество отсчетов N = 100 000, шаг дискретизации временной оси 10 мкс. Это связано с тем, что нам необходимо в демонстрационных целях моделировать как первичный, так и модулированный сигналы, поэтому установленное значение параметра обеспечит нам приемлемое отображение как временного, так и спектрального представлений сигналов. В строке 4 формируем первичный сигнал, в строке 5 — модулированный АТ-сигнал, в строках 6–7 вычисляем и выполняем нормировку амплитудно-частотных спектров сигналов. На рис. 2 показаны результаты моделирования АТ-сигнала.

Результаты моделирования АТ-сигнала
Рис. 2. Результаты моделирования АТ-сигнала

Затем добавим в модель следующий программный код для записи АТ-колебания в файл (листинг 1).

Следует также сказать о том, что для правильной записи результатов моделирования в файл необходимо в программе MathCAD установить следующие значения системных параметров PRN File Settings: Precision (точность отображения) = 10, Column Width (ширина столбца) = 20.

Покажем теперь, как выполнить ввод и моделирование испытательной схемы для проверки модели сигнала в DesignLab 8.0. Введем схему, показанную на рис. 3.

Испытательная схема с источником сигнала из файла
Рис. 3. Испытательная схема с источником сигнала из файла

В качестве источника сигнала воспользуемся компонентом VPWL_FILE (источник напряжения, заданный в файле) и установим значение его атрибута File=sig.dat. Сохраним собранную схему, поместив в папку со схемой файл sig.dat, зададим параметры директивы временного анализа и выполним моделирование. В окне программы Probe системы DesignLab мы увидим точно такой же сигнал, что и первоначально созданный нами с помощью программы MathCAD (рис. 4).

Результаты моделирования источника АТ-сигнала в системе DesignLAB
Рис. 4. Результаты моделирования источника АТ-сигнала в системе DesignLAB

Программный код модели ЧТ-колебания с разрывом фазы можно получить на основе модели для формирования АТ-колебания. Однако теперь в паузах первичного сигнала нам необходимо будет «генерировать» колебание с несущей частотой логического нуля. Поэтому вместо операции умножения первичного колебания на массив несущей частоты (как это мы делали в модели АТ-сигнала) следует воспользоваться условной функцией if(arg,y1,y2) [5]. Ниже представлен программный код модели ЧТ-колебания (рис. 5).

Программный код модели ЧТ-колебания с разрывом фазы
Рис. 5. Программный код модели ЧТ-колебания с разрывом фазы

Поясним введенные идентификаторы. В строке 2 задаем длительность импульса ti , период следования T, частоту нажатия (логической единицы) ƒ1, частоту отжатия (логического нуля) ƒ0 и число импульсов в моделируемом массиве Ni . В третьей строке формируем временное представление первичного колебания aj и частотно-манипулированного колебания по принципу: если aj > 0, то заполняем массив несущим колебанием с частотой логической единицы, в противном случае заполняем массив несущим колебанием с частотой логического нуля. Пока оставшийся после заполнения импульсами фрагмент временного массива будет «забит» несущей частотой нуля, что не соответствует действительности. Эту ситуацию мы корректируем в сроке 4, полагая оставшийся фрагмент равным нулю.

Разработаем модель АТ-сигнала, в котором импульсы имеют внутриимпульсную ЧТ-манипуляцию. Для этого, очевидно, следует воспользоваться моделью АТ-сигнала с кодовым следованием посылок внутри пачки. При этом ЧТ-заполнение пачки будем формировать с учетом модели ЧТ-колебания. Тогда измененную часть программного кода модели такого сигнала можно представить в следующем виде (листинг 2).

Здесь мы при формировании результирующего сигнала dj воспользовались условной функцией для заполнения пачки ЧТ-импульсами с частотами логической единицы ƒ1 и нуля ƒ0.

Программный код модели ФТ-колебания будет отличаться лишь тем, что теперь нам необходимо в моменты времени, соответствующие логическому нулю, формировать несущее колебание с той же частотой и измененной на 180° фазой. Фрагмент программного кода ФТ-колебания, формирующий первичный массив aj и массив отсчетов фазоманипулированного сигнала dj представлен в листинге 3.

Покажем, каким образом можно получить импульсную последовательность со случайным следованием посылок, и выполним фазовую манипуляцию несущей частоты таким сигналом с добавлением шума. Для этого рассмотрим приведенный ниже фрагмент программного кода MathCAD (рис. 6).

Программный код модели ФТ-сигнала со случайным следованием посылок
Рис. 6. Программный код модели ФТ-сигнала со случайным следованием посылок

Алгоритм формирования первичного случайного сигнала несколько отличается от алгоритмов получения детерминированных сигналов, рассмотренных ранее, поэтому остановимся более подробно на способе получения такого сигнала. В строке 3 переводим длину одного импульса в число отсчетов dL, задаем приращение индексной переменной h с интервалом изменения dL и вводим индексную переменную rh, которая обеспечит нам постоянство случайных значений переменной Y на протяжении всей длительности импульса. В строке 4 заполняем массив у случайными значениями с равновероятным распределением и формируем массив Y в соответствии с заданной длительностью одиночного импульса, после чего рассчитываем первичный сигнал a. Если вывести на график (рис. 7) массив Y, то читателю станет понятен смысл операций в строках 3–4.

Результаты моделирования последовательности со случайной амплитудой импульсов
Рис. 7. Результаты моделирования последовательности со случайной амплитудой импульсов

Рассмотренный способ формирования последовательности с фиксированной длительностью и случайной амплитудой импульсов может быть использован при построении моделей случайных сигналов АТ и ЧТ. Продолжим «разбор» программного кода модели ФТ-сигнала. В конце строки 4 мы устраняем флуктуации амплитуды импульсов, сохраняя случайный характер их следования. В строке 6 формируем отсчеты шума Q и добавляем их к сигналу. Читатель может изменить закон распределения амплитудных отсчетов шума, воспользовавшись соответствующей функцией системы MathCAD [5]. На рис. 8 представлены результаты моделирования аддитивной смеси ФТ-сигнала и гауссовского шума.

Результаты моделирования аддитивной смеси ФТ-сигнала и гауссовского шума
Рис. 8. Результаты моделирования аддитивной смеси ФТ-сигнала и гауссовского шума

Поместив в папку с испытательной схемой файл sig.dat, выполним моделирование. В окне программы Probe системы DesignLab мы получим точно такой же аддитивный ФТ-сигнал, который может быть использован для моделирования, например, детектора фазоманипулированных сигналов.

В последнее время все большее применение в аппаратуре специального назначения находят сигналы с квадратурной амплитудно-фазовой модуляцией (КАФМ). В общем виде КАФМ-сигнал может быть представлен выражением:

где α — коэффициент округления, m — множитель фазового сдвига, Т — тактовый интервал, ƒ — несущая частота сигнала. Разработаем модель такого сигнала для его использования в системах схемотехнического моделирования в качестве источника сигнала. Сформируем m = 8 массивов КАФМ-сигнала с фазовым сдвигом π/4 и затем запишем их в отдельные файлы sig1…sig8. При этом математические операции должны выполняться с каждым массивом в отдельности и независимо друг от друга. На языке системы MathCAD программный код такой модели может быть записан так, как показано на рис. 9.

Программный код модели КАФМ-сигнала
Рис. 9. Программный код модели КАФМ-сигнала

В каждой из реализаций мы осуществили сдвиг момента начала сигнала на интервал времени 4Т, чтобы видеть полные временные представления сигналов. На график временной формы КАФМ-сигнала, представленный на рис. 10, выведены все восемь реализаций сигнала для удобства анализа и оценки совмещения нулевых значений — моментов времени, когда амплитуда сигнала равна нулю. При моделировании использованы следующие параметры КАФМ-сигнала: α = 0,4, m = 0…8, ƒ0 = 48 кГц, Т = 0,36 мс.

Временное и спектральное представления КАФМ-сигнала
Рис. 10. Временное и спектральное представления КАФМ-сигнала

Для получения квазислучайной реализации КАФМ-сигналов, имитирующей работу реальных устройств, следует несколько изменить программный код модели. Во-первых, необходимо сгенерировать случайным образом фазовые сдвиги реализаций, во-вторых, сформировать реализации, сдвинутые друг относительно друга на некоторый интервал T×k, и затем их просуммировать. Измененный фрагмент программного кода такой модели можно записать, как показано на рис. 11.

Фрагмент программного кода модели разнесенных во времени реализаций КАФМ-сигнала
Рис. 11. Фрагмент программного кода модели разнесенных во времени реализаций КАФМ-сигнала

Поясним изменения. В первой строке мы задали приращение индексной переменной j и сформировали случайные значения фазовых сдвигов m, распределенные по биномиальному закону, далее сформировали реализации сигнала в соответствии с описанным выше алгоритмом. На рис. 12 представлены результаты моделирования КАФМ-сигнала, полученные с помощью модифицированной модели.

Результаты моделирования разнесенных во времени реализаций КАФМ-сигнала
Рис. 12. Результаты моделирования разнесенных во времени реализаций КАФМ-сигнала

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

Модели сигналов, рассмотренные в статье, можно посмотреть на сайте журнала (http://www.finestreet.ru/rms.zip). Для их открытия и моделирования необходимо наличие установленной на ПК системы MathCAD 2001.

Литература

  1. Антипенский Р. Разработка моделей сигналов с аналоговой модуляцией // Компоненты и технологии. 2007. № 5.
  2. Гоноровский И. Радиотехнические цепи и сигналы. М.: Радио и связь. 1986.
  3. Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон. 1999.
  4. Антипенский Р. Разработка моделей первичных сигналов в программной среде MathCAD // Компоненты и технологии. 2007. № 3.
  5. Richard C. Saffe. Random Signals for Engineers using MATLAB and Mathcad. Springer — Verlag. 2000.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *