Разработка моделей импульсно-модулированных сигналов
В статье рассматривается методика разработки моделей импульсно-модулированных сигналов, предназначенных для использования в системах схемотехнического моделирования радиоэлектронных устройств. Материал статьи может оказаться полезным разработчикам приемо-передающей радиоэлектронной аппаратуры, функционирующей с использованием импульсно-модулированных сигналов.
В предыдущей статье «Разработка моделей сложных сигналов» [1] автор показал методику создания моделей перечисленных сигналов в программной среде MathCAD и последующего их использования в системе схемотехнического моделирования DesignLAB. В настоящей статье мы продолжим разработку моделей импульсно-модулированных сигналов, основываясь на предложенной методике.
Импульсно-модулированные сигналы представляют собой последовательность импульсов с высокочастотным заполнением, то есть последовательность радиоимпульсов, получаемую в результате многоступенчатой (например, двухступенчатой) модуляции [2].
На первом этапе первичным сигналом uΩ(t) модулируется несущее колебание, представляющее собой периодическую последовательность, как правило, прямоугольных видеоимпульсов. Модуляция с использованием такой несущей называется импульсной и широко используется в радиорелейных системах связи для осуществления многоканальной радиосвязи с временным разделением каналов.
Импульсное несущее колебание имеет характер периодической последовательности импульсов и может быть представлено следующим выражением:
где u1(t) — функция, описывающая форму одиночного импульса.
Эта последовательность, в которой u1(t) — чаще всего прямоугольный однополярный импульс, характеризуется следующими параметрами: амплитудой импульса Um, частотой следования (повторения) импульсов (тактовой частотой) FH = 1/T, длительностью (шириной) импульса tu, начальной фазой t0, определяющей временное положение центров импульсов t0,k+1 = t0,1+kT, где t0,1 — момент времени, соответствующий середине первого импульса, k = 0, 1, 2, …— число периодов.
Изменяя один из параметров несущей импульсной последовательности пропорционально первичному сигналу uΩ(t), можно получить четыре основных вида импульсной модуляции: амплитудно-импульсную (АИМ), при которой изменяется амплитуда импульсов Um(t) = Um + ΔU(t) = Um + auΩ(t); широтно-импульсную (ШИМ), при которой изменяется ширина (длительность) импульса tu(t) = tu + Δtu(t) = tu + auΩ(t); фазо-импульсную (ФИМ) или времяимпульсную (ВИМ), при которой изменяется время действия импульса (фаза импульса) t0,k+1(t) = t0,k+1 + Δt0,k+1(t) = t0,k+1 + auΩ(t); частотно-импульсную (ЧИМ), при которой изменяется частота следования импульсов FU(t) = FU + ΔFU(t) = FU + auΩ(t), где а — соответствующий виду импульсной модуляции коэффициент пропорциональности, имеющий для каждого вида свою величину и размерность.
Модель сигнала с амплитудно-импульсной модуляцией
Для построения модели сигнала с амплитудно-импульсной модуляцией в программной среде MathCAD введем следующие параметры модели:
Следует отдельно остановиться на выборе значений таких параметров, как период и скважность импульсов дискретизации. Чем чаще следуют импульсы в несущем колебании, тем меньше интервал Δt, а значит, тем точнее отображается сам модулирующий сигнал. Частоту следования импульсов определяют исходя из необходимой точности восстановления непрерывного модулирующего колебания по его дискретным значениям при обратном процессе демодуляции на приемном конце. Принципиальную возможность восстановления непрерывного колебания по набору его дискретных значений устанавливает теорема В. А. Котельникова, имеющая фундаментальное значение для решения многих задач теории передачи сигналов. Мы же не будем ограничивать значения этих параметров модели, позволяя тем самым моделировать временные реализации импульсномодулированных сигналов с необходимыми характеристиками.
Далее введем массивы дискретного модельного времени tj, частоты fj для отображения спектров сигналов, а также массив отсчетов первичного модулирующего колебания yj:
Затем переводим длину одного импульса dS в число отсчетов dL, задаем приращение индексной переменной h с интервалом изменения dL и вводим индексную переменную rh, которая обеспечит нам постоянство значений переменной Y (это и есть временное представление сигнала с амплитудно-импульсной модуляцией) на протяжении всей длительности импульса дискретизации:
Выражение с идентификатором модели Imj обеспечивает формирование временных отсчетов одиночного импульса, необходимых для сравнительного анализа спектров сигнала с АИМ. Далее вычисляем комплексные спектры сигналов Sw и Swi с помощью функции альтернативного быстрого преобразования Фурье CFFT( ) [3], получаем амплитудные спектры и выполняем их нормировку:
Теперь если вывести в окно программы MathCAD графики временного Yj и спектрального представлений bj сигнала с амплитудно-импульсной модуляцией, получим результаты, показанные на рис. 1.
Далее добавим в модель следующий программный код для записи результатов моделирования сигнала с АИМ в файл:
Следует также сказать о том, что для правильной записи временных отсчетов сигнала в файл необходимо в программе MathCAD установить следующие значения системных параметров PRN File Settings: Precision (точность отображения) = 10, Column Width (ширина столбца) = 20.
Покажем теперь, как выполнить ввод и моделирование испытательной схемы для проверки модели сигнала в DesignLAB 8.0. Для этого введем схему (см. рис. 2 в КиТ№7, стр. 158).
В качестве источника сигнала воспользуемся компонентом VPWL_FILE [4] (источник напряжения, заданный в файле) и установим значение его атрибута File=sig.dat. Сохраним собранную схему, поместив в папку со схемой файл sig.dat, зададим параметры директивы временного анализа и выполним моделирование. В окне программы Probe системы DesignLAB мы увидим точно такой же сигнал, который первоначально был создан нами с помощью программы MathCAD (рис. 2).
Выполнив быстрое дискретное преобразование Фурье в системе схемотехнического моделирования DesignLAB, получим спектральное представление сигнала, полностью соответствующее тому, которое мы получили с использованием разработанной модели в программной среде MathCAD (рис. 3).
Модель сигнала с широтно-импульсной модуляцией
При этом виде модуляции ширина импульса пропорциональна амплитуде модулирующего сигнала, поэтому выражение для формирования временного представления Yj следует преобразовать к виду:
В данном выражении длительность импульсов дискретизации dL/m увеличивается (или уменьшается) на величину, пропорциональную амплитуде первичного сигнала yh·z. При этом амплитуда модулирующего колебания считывается в моменты времени th, а параметр z выступает в роли глубины модуляции. На рис. 4 показаны результаты моделирования колебания с широтно-импульсной модуляцией.
Модель сигнала с времяимпульсной модуляцией
При этом виде модуляции положение импульса на временной оси пропорционально амплитуде модулирующего сигнала, поэтому выражение для формирования временного представления Yj следует преобразовать к виду (Листинг 7).
Параметр модели xh представляет собой коэффициент, обеспечивающий сдвиг начала импульсов дискретизации, вычисляется как целое значение от амплитудного отсчета первичного сигнала, умноженного на коэффициент глубины модуляции z. Сдвиг начала импульсов дискретизации (функции Yj) осуществляется путем приращения индексов на величину xh. Результаты моделирования колебания с времяимпульсной модуляцией представлены на рис. 5.
На временном представлении сигнала с времяимпульсной модуляцией показаны моменты снятия амплитудных отсчетов первичного колебания, позволяющие оценить глубину модуляции.
Модель сигнала с кодово-импульсной модуляцией
Процесс получения модулированного сигнала при кодово-импульсной модуляции (КИМ) складывается из трех операций: дискретизации модулирующего сигнала по времени, квантования его отсчетов по уровню и кодирования квантованных отсчетов в соответствии с каким-либо кодом. Значение уровня квантованного отсчета сигнала соответствует определенному числу, которое представляется последовательностью m-элементарных кодовых комбинаций импульсов и пауз («единиц» и «нулей»), отражающих данное число в двоичном коде.
Разработку модели сигнала с кодово-импульсной модуляцией начнем с кодирования квантованных уровней сигнала. Положим их число равным десяти, тогда нам необходимо будет не менее четырех разрядов для кодирования каждого из десяти уровней. На рис. 6 показан фрагмент программного кода модели сигнала с кодово-импульсной модуляцией, где мы вводим варьируемые параметры модели — четырехразрядные коды квантованных уровней первичного сигнала, а также период и коэффициент сжатия импульсов дискретизации.
В качестве первичного сигнала будем использовать телефонное сообщение, подробно рассмотренное в [5]. При этом модулирующий сигнал представим в виде суммы ограниченного числа гармонических составляющих, аппроксимирующих спектр реального телефонного сообщения (ТЛФС) в регулируемых пределах отклонения их амплитуд и фаз, генерируемых по случайному закону с равномерным распределением в диапазоне 0–2π:
где Fk , Smk — частоты и их амплитуды, аппроксимирующие спектр реального ТЛФС; d — уровень отклонения амплитуд гармонических составляющих от аппроксимированных значений амплитуд реального ТЛФС; ΔSmk — нормированные случайные значения отклонений амплитуд гармонических составляющих; φk — начальные фазовые сдвиги частот; Nг — количество гармонических составляющих в спектре. Следующий фрагмент программного кода (рис. 7) формирует временное представление телефонного сообщения в соответствии с выражением (2), выполняет его нормировку по уровню так, чтобы отсчеты сигнала находились в пределах от 0 до 1.
При этом мы имеем возможность регулировать количество частотных составляющих первичного сигнала, изменяя параметр N. Установив маркер в поле, отмеченное красным фоном, мы можем каждый раз генерировать новые случайные значения фазовых сдвигов гармоник модулирующего сигнала φk, что позволит получать различные реализации формы как первичного, так и модулированного сигналов.
Теперь нам необходимо получить выражение, которое бы формировало заданную кодом импульсную последовательность в зависимости от уровня первичного сигнала. Для этого мы воспользуемся моделью импульсной последовательности с кодовым следованием посылок, разработанной в [6]:
где tз — длительность интервала задержки кодовой посылки относительно момента времени ti = 0; Nи — количество импульсов в посылке; Тп — длительность кодовой посылки, а параметр Mn как раз и будет определяться кодовой комбинацией того или иного квантованного уровня. Для того чтобы формировать кодовые импульсы, соответствующие определенному уровню, необходимо добавить условие, проверяющее, попадает ли текущий уровень сигнала в заданный диапазон или нет. Тогда совокупность выражений, реализующих рассмотренный алгоритм на языке программной среды MathCAD для уровней первичного сигнала в диапазонах 0,9 ≤ ylj ≤ 1, затем 0,8 ≤ ylj ≤ 0,9 и т. д., запишется в виде, который представлен на рис. 8.
Следует обратить внимание читателя на то, что в представленном программном коде осуществляется формирование сигнала, начиная с девятого уровня квантования. То есть, если вывести на график массив yr9j, мы увидим кодовые импульсы, соответствующие только девятому (последнему) уровню первичного сигнала. Затем мы выполняем суммирование импульсов каждого уровня так, что в завершении имеем модулированный сигнал Yrj. Добавив в программный код выражения для расчета амплитудного спектра сигнала и записи результатов моделирования в файл, мы можем вывести и проанализировать результаты моделирования, представленные на рис. 9.
Разновидностью кодово-импульсной модуляции является так называемая дельта-модуляция (ДМ). В отличие от КИМ при ДМ кодируется не полное значение дискретного уровня, а лишь сведения о приращении каждого последующего уровня по сравнению с предыдущим. Для реализации такого алгоритма формирования модулированного сигнала необходимо будет сравнивать амплитудные отсчеты первичного сигнала в текущий и предыдущий моменты времени. Причем возможно как нарастание, так и убывание сигнала, поэтому следует предусмотреть отслеживание этих изменений для последующего кодирования этих данных. Обозначим идентификаторами m0…m3 кодовые последовательности четырех дельта-уровней возрастающего первичного сигнала, а идентификаторами m6…m9 — кодовые последовательности четырех дельта-уровней убывающего первичного сигнала. Пример задания кодовых последовательностей представлен следующим программным кодом (Листинг 8).
Тогда фрагмент программного кода, формирующий модулированный ДМ-сигнал для убывающего первичного сигнала, можно представить в виде (рис. 10).
Обратим внимание читателя на следующий момент: в связи с тем, что мы должны сравнивать текущее y1h и предыдущее (отстоящее на длительность интервала дискретизации) y1h–dL значения первичного сигнала, необходимо соответствующим образом задать приращение индексной переменной h, что мы и делаем в самой первой строке программного кода, представленного на рис. 11. Кроме того, чтобы обеспечить попадание разности текущих и предыдущих амплитудных отсчетов первичного сигнала в четыре диапазона для нашего примера, необходимо будет нормированный ТЛФС-сигнал умножить на 10. На рис. 11 представлены результаты расчета массива YR0, соответствующего ДМ-сигналу для ниспадающего первичного сигнала.
Для возрастающего первичного сигнала следует в условиях операторов поменять местами идентификаторы y1h и y1h–dL, тогда выражение, формирующее ДМ-сигнал для первичного сигнала, дельта-отсчеты (разность текущего и предшествующего амплитудных отсчетов) которого попадают в самый верхний диапазон, можно записать в следующем виде (Листинг 9).
Аналогичным образом запишутся выражения для дельта-уровней 2, 1, и 0 возрастающего модулирующего сигнала. В заключение следует сложить получившиеся массивы для фрагментов возрастающего и убывающего по амплитуде телефонного сообщения, что даст результирующий дельта-модулированный сигнал с количеством дельта-уровней первичного сигнала 0…8.
Модель сигнала с частотно-импульсной модуляцией
Модель сигнала с частотно-импульсной модуляцией можно получить с использованием предыдущей модели, внеся следующие изменения. Во-первых, зададим кодовую последовательность, одинаковую для всех уровней квантования сигнала следующим кодом (Листинг 10) и введем коэффициенты сжатия импульсов дискретизации каждого уровня, что и позволит получить различную частоту их следования в зависимости от уровня первичного сигнала. Следует сказать о том, что с изменением длительности импульсов дискретизации мы изменяем и длительности пауз, при этом скважность последовательности, как видно из кодовой последовательности, равна двум. Во-вторых, очевидно, следует внести изменения и в выражения для формирования модулированного сигнала (Листинг 11).
Здесь показан фрагмент измененного программного кода для формирования модулированного сигнала уровней 9 и 8. И, наконец, для заданной кодовой последовательности параметр s следует установить равным шести, тогда на протяжении каждого интервала дискретизации dS поместится три импульса и три паузы. При этом наибольшую частоту следования импульсов мы получим, когда уровень первичного сигнала y1 соответствует девятому интервалу (коэффициент сжатия импульсов дискретизации k9 = 2), наименьшую частоту следования импульсов мы получим, когда уровень первичного сигнала находится в пределах от 0 до 1 (коэффициент сжатия импульсов дискретизации k0 = 1).
В реальных системах связи полученная модулированная последовательность видеоимпульсов используется для манипуляции гармонического высокочастотного несущего колебания. Тем самым осуществляется перенос модулированных видеоимпульсов на частоту несущего колебания ?H, излучаемого непосредственно в эфир. Тогда получается вторичная или двойная модуляция. Чаще всего применяется вторичная амплитудная манипуляция. Для реализации этой операции в модели добавим следующий программный код:
Таким образом, массив s1j есть КИМ-АТ сигнал, полученный путем первичной кодово-импульсной модуляции и вторичной амплитудной манипуляции (телеграфии). Применяя рассмотренные в статье алгоритмы формирования сигналов, читатель сможет самостоятельно создавать (или модифицировать приводимые) модели и использовать их для разработки различных радиоэлектронных устройств. В следующих статьях цикла автор планирует рассмотреть вопросы моделирования процессов взаимодействия сигналов и преднамеренных помех, используемых в аппаратуре специального назначения для радиоподавления систем связи.
Модели сигналов, рассмотренные в статье, можно посмотреть на сайте журнала http://finestreet.ru/magazine/compitech/models.rar. Для их открытия и моделирования необходимо наличие установленной на ПК системы MathCAD 2001.
Литература
- Антипенский Р. В. Разработка моделей сложных сигналов // Компоненты и технологии. 2007. № 7.
- Гоноровский И. С. Радиотехнические цепи и сигналы. М.: Радио и связь. 1986.
- Richard C. Saffe. Random Signals for Engineers using MATLAB and Mathcad. Springer — Verlag. 2000.
- Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон. 1999.
- Антипенский Р. В. Разработка моделей первичных сигналов в программной среде MathCAD // Компоненты и технологии. 2007. № 3.
- Антипенский Р. В. Разработка моделей сигналов с дискретной модуляцией // Компоненты и технологии. 2007. № 6.