РоманАНТИПЕНСКИЙ, к. т. н.
Разработка моделей
импульсно-модулированных сигналов
В статье рассматривается методика разработки моделей импульсно-мо-дулированных сигналов, предназначенных для использования в системах схемотехнического моделирования радиоэлектронных устройств. Материал статьи может оказаться полезным разработчикам приемо-пе-редающей радиоэлектронной аппаратуры, функционирующей с использованием импульсно-модулированных сигналов.
В предыдущей статье «Разработка моделей сложных сигналов» [1] автор показал методику создания моделей перечисленных сигналов в программной среде МаШСАБ и последующего их использования в системе схемотехнического моделирования DesignLAB. В настоящей статье мы продолжим разработку моделей импульсно-моду-лированных сигналов, основываясь на предложенной методике.
Импульсно-модулированные сигналы представляют собой последовательность импульсов с высокочастотным заполнением, то есть последовательность радиоимпульсов, получаемую в результате многоступенчатой (например, двухступенчатой) модуляции [2].
На первом этапе первичным сигналом un(t) модулируется несущее колебание, представляющее собой периодическую последовательность, как правило, прямоугольных видеоимпульсов. Модуляция с использованием такой несущей называется импульсной и широко используется в радиорелейных системах связи для осуществления многоканальной радиосвязи с временным разделением каналов.
Импульсное несущее колебание имеет характер периодической последовательности импульсов и может быть представлено следующим выражением:
ин(*) = ит'£и1^-%-кТ), (1)
&=-~>
где u1(t) — функция, описывающая форму одиночного импульса.
Эта последовательность, в которой щ(£) — чаще всего прямоугольный однополярный импульс, характеризуется следующими параметрами: амплитудой импульса ит, частотой следования (повторения) импульсов (тактовой частотой) Рн = 1/Т, длительностью (шириной) импульса Ш, начальной фазой ^, определяющей временное положение центров импульсов ^ к+1 = ^ 1 + кТ, где ^ 1 — момент времени, соответствующий середине
первого импульса, к = 0, 1, 2, ... — число периодов.
Изменяя один из параметров несущей импульсной последовательности пропорционально первичному сигналу un(t), можно получить четыре основных вида импульсной модуляции: амплитудно-импульсную (АИМ), при которой изменяется амплитуда импульсов ит(г) = ит+Ди(г) = ит+я«п(£); широтно-импульсную (ШИМ), при которой изменяется ширина (длительность) импульса tu(t) = tu+Дtu(t) = tu+aun(t)■; фазо-импульсную (ФИМ) или времяимпульсную (ВИМ), при которой изменяется время действия импульса (фаза импульса) Чк+1М = ^к+^^ом^) = = t0k+1+aun(t); частотно-импульсную (ЧИМ), при которой изменяется частота следования импульсов РЦ^) = Ти+ДТи(^ = Fи+aun(t), где а — соответствующий виду импульсной модуляции коэффициент пропорциональности, имеющий для каждого вида свою величину и размерность.
Модель сигнала с амплитудно-импульсной модуляцией
Для построения модели сигнала с амплитудно-импульсной модуляцией в программной среде MаthCAD введем следующие параметры модели:
частота моделирующего период и скважность
колебания импульсов дискретизации
Б := 2000 аБ:=0.5-10-4 т:=3
Листинг 1
Следует отдельно остановиться на выборе значений таких параметров, как период и скважность импульсов дискретизации. Чем чаще следуют импульсы в несущем колебании, тем меньше интервал Д1, а значит, тем точнее отображается сам модулирующий сигнал. Частоту следования импульсов опреде-
ляют исходя из необходимой точности восстановления непрерывного модулирующего колебания по его дискретным значениям при обратном процессе демодуляции на приемном конце. Принципиальную возможность восстановления непрерывного колебания по набору его дискретных значений устанавливает теорема В. А. Котельникова, имеющая фундаментальное значение для решения многих задач теории передачи сигналов. Мы же не будем ограничивать значения этих параметров модели, позволяя тем самым моделировать временные реализации импульсно-модулированных сигналов с необходимыми характеристиками.
Далее введем массивы дискретного модельного времени ^, частоты ^ для отображения спектров сигналов, а также массив отсчетов первичного модулирующего колебания у^
І := 0..10000 1 ¡:=І-10- ^:=100-І ^ у := 1+$т(2-тс-Р-^)
Листинг 2
Затем переводим длину одного импульса dS в число отсчетов ^, задаем приращение индексной переменной h с интервалом изменения dL и вводим индексную переменную А, которая обеспечит нам постоянство значений переменной У (это и есть временное представление сигнала с амплитудно-импульсной модуляцией) на протяжении всей длительности импульса дискретизации:
сіЬ: := аБ-Ю6 Ь:= = о,аь.лоооо гЬ := 0..(1Ь
Іті %+гіі):=ІЇ (А<пН
Листинг 3
Выражение с идентификатором модели 1ш^ обеспечивает формирование временных отсчетов одиночного импульса, необходимых для сравнительного анализа спектров
У,
0,5
Временное представление первичного и АИМ-колебаний
Спектральное представление АИМ-колебания
К
\ \s I I 1 1 \^ili 1 ^^
5-104
МО5 1,5« 105 2* 105 2,5*105
3-105
Рис. 1. Результаты моделирования колебания с амплитудно-импульсной модуляцией
сигнала с АИМ. Далее вычисляем комплексные спектры сигналов Sw и Swi с помощью функции альтернативного быстрого преобразования Фурье CFFT( ) [3], получаем амплитудные спектры и выполняем их нормировку:
Sw := cfft(Y) v. := I SwJ г := max(v) b( :=—■-
' г
I I vi-
Swi := cfft(Im) vi ISwi: ri:=max(vl) bi.-:=—]
' ri
Листинг 4
Теперь если вывести в окно программы MathCAD графики временного Yj и спектрального представлений bj сигнала с амплитудно-импульсной модуляцией, получим результаты, показанные на рис. 1.
Далее добавим в модель следующий программный код для записи результатов моделирования сигнала с АИМ в файл:
i := 0..1 sigj ¡:= if(i = 0,tj,Yj) WRITEPRN("sig.dat") := sig
Листинг 5
Следует также сказать о том, что для правильной записи временных отсчетов сигнала в файл необходимо в программе 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 следует преобразовать к виду:
W) :=*[*<(* У+Уь-2д,°]
Листинг 6
В данном выражении длительность импульсов дискретизации dL/m увеличивается (или
уменьшается) на величину, пропорциональную амплитуде первичного сигнала у^г. При этом амплитуда модулирующего колебания считывается в моменты времени %, а параметр г выступает в роли глубины модуляции. На рис. 4 показаны результаты моделирования колебания с широтно-импульсной модуляцией.
ветствует определенному числу, которое представляется последовательностью т-эле-ментарных кодовых комбинаций импульсов и пауз («единиц» и «нулей»), отражающих данное число в двоичном коде.
Разработку модели сигнала с кодово-импульсной модуляцией начнем с кодирования квантованных уровней сигнала. Положим их число равным десяти, тогда нам необходимо будет не менее четырех разрядов для кодирования каждого из десяти уровней. На рис. 6 показан фрагмент программного кода модели сигнала с кодово-импульсной модуляцией, где мы вводим варьируемые параметры модели — четырехразрядные коды квантованных уровней первичного сигнала, а также период и коэффициент сжатия импульсов дискретизации.
В качестве первичного сигнала будем использовать телефонное сообщение, подробно рассмотренное в [5]. При этом модулирующий сигнал представим в виде суммы ограниченного числа гармонических составляющих, аппроксимирующих спектр реального телефонного сообщения (ТЛФС) в регулируемых пределах отклонения их амплитуд и фаз, генерируемых по случайному закону с равномерным распределением в диапазоне 0-2п:
Модель сигнала с времяимпульсной модуляцией
При этом виде модуляции положение импульса на временной оси пропорционально амплитуде модулирующего сигнала, поэтому выражение для формирования временного представления следует преобразовать к виду (Листинг 7).
Параметр модели хь представляет собой коэффициент, обеспечивающий сдвиг начала импульсов дискретизации, вычисляется как целое значение от амплитудного отсчета первичного сигнала, умноженного на коэффициент глубины модуляции г. Сдвиг начала импульсов дискретизации (функции Ур осуществляется путем приращения индексов на величину хь. Результаты моделирования колебания с времяимпульсной модуляцией представлены на рис. 5.
На временном представлении сигнала с времяимпульсной модуляцией показаны моменты снятия амплитудных отсчетов первичного колебания, позволяющие оценить глубину модуляции.
Модель сигнала с кодово-импульсной модуляцией
Процесс получения модулированного сигнала при кодово-импульсной модуляции (КИМ) складывается из трех операций: дискретизации модулирующего сигнала по времени, квантования его отсчетов по уровню и кодирования квантованных отсчетов в соответствии с каким-либо кодом. Значение уровня квантованного отсчета сигнала соот-
Временное представление первичного и ВИМ-колебаний
Рис. 5. Результаты моделирования колебания с времяимпульсной модуляцией
период дискретизации коэффициент сжатия импульсов дискретизации с!3:=0,5-10-4 к:=1
кодирование десяти уровней первичного сигнала
о N. о" Е т02:=0 т03:=0 3 о ][ 3 ЇІ о 3 Чі о т13:=1 3 ->■ II о
1112^=0 3 'н о т23:=1 т24:=1 т3.|:=0 т32:=1 т33:=0 т34:=0
о II. 'Г- Е т42:=1 т43:=0 т44:=1 т51:=0 т52:=1 т53:=1 т54:=0
тб^М) тб2:=1 т63:=1 т64:=1 т72:=0 т73:=0 т74:=0
3 03 т82:=0 т83:=0 пл84:=1 т91:=1 т92:=0 т93:=1 т94:=0
Рис. 6. Фрагмент программного кода модели КИМ-сигнала
1
у1) 0
_1° 5-10-5 1 -10-4 1,5*10”4 2-10-4 2.5-10-4 3-10“4 3,5-10"4 4-10“4 4,5-Ю"4 5-10"4
Спектральное представление ШИМ- колебания
1
Ьі 0,5
°0 2-Ю4 4-Ю4 6-Ю4 8-Ю4 1-Ю5 1,2-105 1,4-105 1,6-105 1,8-105 2-Ю5
Рис. 4. Результаты моделирования колебания с широтно-импульсной модуляцией
Листинг 7
:= іґ |хьХ),і£ |гіі< ^ Л>о|,ІЇ |гі]
хь:= Аоог(уь-г) := І хъ>0,И I гЬ<—,1,0 Іі£ 1гЬ<
І .1 її .її її. .п к,, .п. » ■■ ■ ■ <
Временное представление первичного и ШИМ-колебаний
в:= к-4 IIпн := 3 Г, := 300 11т7 := 3,5 Р7 := 2100
N := 10 к := 1..М N1 := 10000 ]:= 0..М1 Ц := >10"6 ^ := >100
11тг := 4 11тз := 6 11гп4 := 5 11т5 := 4,5 итб := 4
?2 := 600 Р3 := 900 ?л := 1200 Р5 := 1500 Р6 := 1800
ит8 := 3 11тд := 2,4 ит10 := 2
Р8 := 2400 Р9 := 2800 Р10 := 3200 фк := тс*(итк)-я;
:= ^1)тк-со8(2-Л'Рк*^ + фк) тт := тт(Т) Т;:=Т| + |тт| I? := тах(Т)
т. .= 11
Рис. 7. Фрагмент программного кода модели КИМ-сигнала, формирующий первичный сигнал в виде телефонного сообщения
сЛ^Б-Ю6 И:=0,<Л_..№ гЬ:-0.Ж у\ := Т| УЭм-и.:« К(гЬ < 2,1,0)
:= 'Л ^0,9 < у1„ < 1,|>(^ уг8„+гй := К ^0,8 < у1„ < 0,9, < гИ
сЛ , с!Ь
< гЬ < — +
< ^+йЬ
-,т9„,0^,0 ^,т8„,0^ , уг9н+гь^
... аналогично для уровней 7,6,5,4,3,2...
уИм+ги := И ^0,1 < у1„ < 0,2, < гИ
Угм-т := И ^у1ц < 0,1,< гН
<^+ЙЬ
(Л с1Ьп ^ — +--------»т0п,0
,т1„,0^ ,уг2й+Г|,^ ^ , уИ
Рис. 8. Фрагмент программного кода модели КИМ-сигнала, формирующий модулированный сигнал
:=^1(8тк+с1А8тк)со8(2'11Рк^ + (рк) ^
(2)
4=0
где Рк, Бтк — частоты и их амплитуды, аппроксимирующие спектр реального ТЛФС; й — уровень отклонения амплитуд гармонических составляющих от аппроксимированных значений амплитуд реального ТЛФС; АБШк — нормированные случайные значения отклонений амплитуд гармонических составляющих; фк — начальные фазовые сдвиги частот; Ыг — количество гармонических составляющих в спектре. Следующий фрагмент программного кода (рис. 7) формирует временное представление телефонного сообщения в соответствии с выражением (2), выполняет его нормировку по уровню так, чтобы отсчеты сигнала находились в пределах от 0 до 1.
При этом мы имеем возможность регулировать количество частотных составляющих первичного сигнала, изменяя параметр N. Установив маркер в поле, отмеченное красным фоном, мы можем каждый раз генерировать новые случайные значения фазовых сдвигов гармоник модулирующего сигнала Фк, что позволит получать различные реализации формы как первичного, так и модулированного сигналов.
Теперь нам необходимо получить выражение, которое бы формировало заданную кодом импульсную последовательность в зависимости от уровня первичного сигнала.
Для этого мы воспользуемся моделью импульсной последовательности с кодовым следованием посылок, разработанной в [6]:
- Т т -
£+—хп<«,<£+—х(п+1), N N
о
(3)
где t3 — длительность интервала задержки кодовой посылки относительно момента времени Ц = 0; Nи — количество импульсов в посылке; Тп — длительность кодовой посылки, а параметр Мп как раз и будет определяться кодовой комбинацией того или иного квантованного уровня. Для того чтобы формировать кодовые импульсы, соответствующие определенному уровню, необходимо добавить условие, проверяющее, попадает ли текущий уровень сигнала в заданный диапазон или нет. Тогда совокупность выражений, реализующих рассмотренный алгоритм на языке программной среды МаШСАБ для уровней первичного сигнала в диапазонах 0,9 < у^ < 1, затем 0,8 < у1 < 0,9 и т. д., запишется в виде, который представлен на рис. 8.
Следует обратить внимание читателя на то, что в представленном программном коде осуществляется формирование сигнала, начиная с девятого уровня квантования. То есть, если вывести на график массив уг9^, мы увидим кодовые импульсы, соответствующие только девятому (последнему) уровню первичного сигнала. Затем мы выполняем суммирование импульсов каждого уровня так, что в завершении имеем модулированный сигнал Уг^. Добавив в программный код выражения для расчета амплитудного спектра сигнала и записи результатов моделирования в файл, мы можем вывести и проанализировать результаты моделирования, представленные на рис. 9.
Разновидностью кодово-импульсной модуляции является так называемая дельта-модуляция (ДМ). В отличие от КИМ при ДМ кодируется не полное значение дискретного уровня, а лишь сведения о приращении каждого последующего уровня по сравнению с предыдущим. Для реализации такого алгоритма формирования модулированного
Временное представление первичного и КИМ-сигналов
Уп_/2
(у1]-УЗ,)+1
у1,+1
МО"4 2-10-4 3-10"4 (. 4-10“4
Спектральное представление КИМ-сигнала
5-10"
6-10-
Ьп
0,4
0,2
1м1|1 1 ч
5-104
МО5
1,5-105
2-105
2,5-10=
3-105
Рис. 9. Результаты моделирования сигнала с кодово-импульсной модуляцией
уг7|,+*
УКОл-
1 ^ y1h-.lL - у1|, < 2,
гЬ := 0„сЛ У1] := Т] УЗи+гН := ¡!(гИ < 2,1,
гИ < * + с!Ь п Л , т9п,0 5 ) |’°)
г11 <; «: + в | ,уг9„+Г|^
5"(^‘ гЬ < <ь+ 5 | уг8н+Г|,^
Ф'(^' : гИ < , с11_ , с1Ь п _ _ = — + ,тбп,0 5 5 ^ УГ7„+Г|,^
Рис. 10. Фрагмент программного кода модели ДМ-сигнала
Рис. 11. ДМ -сигнал для ниспадающего первичного сигнала
ш60 := 1 ш61 кодирование четырех дельта-уровней ниспадающего первичного сигнала := 1 Ш62 := 0 Ш63 := 0 Ш64 := 0 ш70 := 1 ш7! := 1 ш72 := 1 ш7з := 0 ш74 := 0
ш80 := 1 ш81 0 := со ш8 := со ш8 := 2 82 ш8 := ш90 := 1 ш9! := 1 ш92 := 1 ш9з := 1 ш94 := 1
Листинг 8
сигнала необходимо будет сравнивать амплитудные отсчеты первичного сигнала в текущий и предыдущий моменты времени. Причем возможно как нарастание, так и убывание сигнала, поэтому следует предусмотреть отслеживание этих изменений для последующего кодирования этих данных. Обозначим идентификаторами ш0...ш3 кодовые последовательности четырех дельта-уровней возрастающего первичного сигнала, а идентификаторами ш6...ш9 — кодовые последовательности четырех дельта-уровней убывающего первичного сигнала. Пример задания кодовых последовательностей представлен следующим программным кодом (Листинг 8).
Тогда фрагмент программного кода, формирующий модулированный ДМ-сигнал для убывающего первичного сигнала, можно представить в виде (рис. 10).
Обратим внимание читателя на следующий момент: в связи с тем, что мы должны сравнивать текущее у1ь и предыдущее (отстоящее на длительность интервала дискретизации) у1^-аь значения первичного сигнала, необходимо соответствующим образом задать приращение индексной переменной Ь, что мы и делаем в самой первой строке про-
граммного кода, представленного на рис. 11. Кроме того, чтобы обеспечить попадание разности текущих и предыдущих амплитудных отсчетов первичного сигнала в четыре диапазона для нашего примера, необходимо будет нормированный ТЛФС-сигнал умножить на 10. На рис. 11 представлены результаты расчета массива УЯ0, соответствующего
ДМ-сигналу для ниспадающего первичного сигнала.
Для возрастающего первичного сигнала следует в условиях операторов поменять местами идентификаторы у1ь и у1ь-аь, тогда выражение, формирующее ДМ-сигнал для первичного сигнала, дельта-отсчеты (разность текущего и предшествующего амплитудных отсчетов) которого попадают в самый верхний диапазон, можно записать в следующем виде (Листинг 9).
Аналогичным образом запишутся выражения для дельта-уровней 2, 1, и 0 возрастающего модулирующего сигнала. В заключение следует сложить получившиеся массивы для фрагментов возрастающего и убывающего по амплитуде телефонного сообщения, что даст результирующий дельта-модулирован-ный сигнал с количеством дельта-уровней первичного сигнала 0...8.
Модель сигнала с частотно-импульсной модуляцией
Модель сигнала с частотно-импульсной модуляцией можно получить с использованием предыдущей модели, внеся следующие изменения. Во-первых, зададим кодовую последовательность, одинаковую для всех уровней квантования сигнала следующим кодом (Листинг 10) и введем коэффициенты сжатия импульсов дискретизации каждого уровня, что и позволит получить различную частоту их следования в зависимости от уровня первичного сигнала. Следует сказать о том, что с изменением длительности импульсов дискретизации мы изменяем и длительности пауз, при этом скважность последовательности, как видно из кодовой последовательности, равна двум. Во-вторых, очевидно, следует внести изменения и в выражения для формирования модулированного сигнала (Листинг 11).
Здесь показан фрагмент измененного программного кода для формирования моду-
Листинг 9
Период дискретизации
аэ := 1-10-4
кодовая последовательность ш00 := 1 ш0^ := 0 ш02 := 1 ш0з := 0 ш04 := 1
коэффициенты сжатия импульсов дискретизации для уровней 0-9
к9 := 2 к4 := 1.4
Листинг 10
к8 : к3 :
1.8
1.3
к7 : к2 :
1.7
1.2
к6 : к1 :
1.6
1.1
к5 := 1.5 к0 := 1
. _ [ ((1Т.-п с11,
уГ9ь+А:=.5|0.9<у1ь<1,1^— <гЬ< — -
Уг®ь+гь:= ^ 0.8 < у1ь <
= 0.9,£*1^
п=0 ^-к8
<гЬ<
с11.-п
-------
в-к9
<1Ьп
аь _________
вк8 вк8
,)»)
>т0п,0 ,уг9ь+гь
Листинг 11
лированного сигнала уровней 9 и 8. И, наконец, для заданной кодовой последовательности параметр 8 следует установить равным шести, тогда на протяжении каждого интервала дискретизации аэ поместится три импульса и три паузы. При этом наибольшую частоту следования импульсов мы получим, когда уровень первичного сигнала у1 соответствует девятому интервалу (коэффициент сжатия импульсов дискретизации к9 = 2), наименьшую частоту следования импульсов мы получим, когда уровень первичного сигнала находится в пределах от 0 до 1 (коэффициент сжатия импульсов дискретизации к0 = 1).
В реальных системах связи полученная модулированная последовательность видеоимпульсов используется для манипуляции гармонического высокочастотного несущего колебания. Тем самым осуществляется перенос модулированных видеоимпульсов на частоту несущего колебания юн, излучаемого непосредственно в эфир. Тогда получается вторичная или двойная модуляция. Чаще всего
применяется вторичная амплитудная манипуляция. Для реализации этой операции в модели добавим следующий программный код:
& := 150000 81) := й(У1} > 0,со8(2-3.14-й1^),0)
Таким образом, массив 81) есть КИМ-АТ сигнал, полученный путем первичной кодово-импульсной модуляции и вторичной амплитудной манипуляции (телеграфии). Применяя рассмотренные в статье алгоритмы формирования сигналов, читатель сможет самостоятельно создавать (или модифицировать приводимые) модели и использовать их для разработки различных радиоэлектронных устройств. В следующих статьях цикла автор планирует рассмотреть вопросы моделирования процессов взаимодействия сигналов и преднамеренных помех, используемых в аппаратуре специального назначения для радиоподавления систем связи.
Модели сигналов, рассмотренные в статье, можно посмотреть на сайте журнала http:// finestreet.ru/magazine/compitech/models.rar.
Для их открытия и моделирования необходимо наличие установленной на ПК системы MathCAD 2001. ■
Литература
1. Антипенский Р. В. Разработка моделей сложных сигналов // Компоненты и технологии. 2007. № 7.
2. Гоноровский И. С. Радиотехнические цепи и сигналы. М.: Радио и связь. 1986.
3. Richard C. Saffe. Random Signals for Engineers using MATLAB and Mathcad. Springer — Verlag. 2000.
4. Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон. 1999.
5. Антипенский Р. В. Разработка моделей первичных сигналов в программной среде MathCAD // Компоненты и технологии. 2007. № 3.
6. Антипенский Р. В. Разработка моделей сигналов с дискретной модуляцией // Компоненты и технологии. 2007. № 6.