Разработка моделей сигналов
с аналоговой модуляцией
В статье рассматривается методика разработки моделей сигналов с аналоговой модуляцией в программной среде MathCAD и их последующее использование в системах схемотехнического моделирования. Материал может оказаться полезным специалистам в области проектирования и моделирования радиоэлектронных устройств, предназначенных для обработки аналоговых сигналов.
РоманАНТИПЕНСКИЙ
В предыдущей статье «Разработка моделей первичных сигналов» [1] автор показал методику создания моделей телефонного сообщения и импульсных последовательностей с различными вариантами управляющих параметров в программной среде МаЛСАБ с целью их последующего использования в системе схемотехнического моделирования DesignLAB. В настоящей статье мы продолжим разработку моделей сигналов с аналоговой модуляцией, основываясь на предложенной методике и моделях первичных сигналов. При этом в качестве первичного (модулирующего) сигнала будем использовать гармоническое колебание и модель телефонного сообщения в виде суммы нескольких гармонических составляющих, аппроксимирующих спектр реального телефонного сообщения (ТЛФС) и имеющих регулируемые случайные пределы отклонения амплитуд, частот и начальных фаз [1]: лгг-і
^ТЛФС = ^(итк+аик)х
к= О
хсов(2л:(^+^)^ +ф*), (1)
где Рк, Ютк — частоты и их амплитуды, аппроксимирующие спектр реального ТЛФС; іЮк, й¥к — случайные отклонения амплитуд и частот гармонических составляющих; фк — начальные фазовые сдвиги частот; Ыг — количество гармонических составляющих сигнала.
Среди сигналов с аналоговой модуляцией различают сигналы с амплитудной, балансной, однополосной, частотной и фазовой модуляцией [2]. Разработаем модель для амп-литудно-модулированного сигнала, аналитическую запись которого можно представить в следующем виде:
^М^ = Бт[1 + тЛея? Ц0]х
ХС08(2п/о^ + у), (2)
где Бт — амплитуда сигнала, f — частота несущего колебания, у — начальная фаза несу-
щего колебания, Бпере — некоторый первичный (модулирующий сигнал), та — индекс модуляции, зависящий от нелинейного элемента модулятора. В качестве первичного сигнала будем пока использовать гармоническое колебание, поэтому результирующий (модулированный) сигнал, по сути, будет являться амплитудно-модулированным колебанием (АМК). Первое, с чего мы начнем построение модели — сформируем массив отсчетов времени ^ и частоты /. Для этого в окне программы МаШСАБ запишем следующие выражения:
):= 0..10000 ^:= )х10-‘ 5):= )х102.
Теперь введем новые переменные и зададим их значения для управления: 1) частотой Р и начальной фазой ф модулирующего (первичного) колебания; 2) амплитудой Бт, частотой /0 и начальной фазой несущего колебания у; 3) глубиной модуляции т. Для этого в окне программы МаШСАБ запишем следующие выражения:
Б:=2-103 ф:=0 8ш:=1 А):=30-10‘ у:=0 т:=0.5.
$^:= 8ш-(1+ш-со$(2-тс-Р-^+у))-со$(2-ф-£0-^+ф).
После этого в окне нашей программы поместим график, на горизонтальной оси которого зададим отображение переменной X!, а на вертикальной оси — переменной Sj. Выполнив указанные действия, читатель должен получить график, представленный на рис. 1: Мы можем также рассчитать спектральные характеристики модулированного сигнала для их оценки. Для этого введем идентификатор Би, присвоим ему результат, возвращаемый функцией альтернативного быстрого преобразования Фурье с/ [3], затем рассчитаем модуль полученного комплексного спектра АМК и выполним нормировку амплитудно-частотного спектра (АЧС) результирующего колебания, используя переменную г. Результат присвоим идентификатору Ь и построим график полученного массива от отсчетов частоты / . Программный код этих операций в окне МаЛСАБ будет выглядеть следующим образом:
Sw:=cfft(s) Vj:=|SWj| г:=шах(у) Ь):= У)/г.
Преобразуем выражение (2) в программный код МаШСАБ, обозначив идентификатором s временное представление сигнала:
На рис. 2 представлен график АЧС результирующего колебания, в котором отчетливо видны три гармонических составляющих —
1 0,9 0,8 0,7 0,6 bj 0,5
0,3 0,2 0,1
II II
и 1-Ю4 1,5-104 2-Ю4 2,5-Ю4 3-Ю4 3,5-Ю4 4-Ю4 4,5-Ю4 5-Ю4 fi
Рис. 2. Амплитудно-частотный спектр АМК
одна с несущей частотой f0 и две боковые частоты, отстоящие от несущей на значение F.
Итак, мы построили простую и удобную для управления параметрами модель амплитуд-но-модулированного колебания. Мы можем управлять амплитудой, частотой и начальной фазой несущего колебания, частотой и начальной фазой модулирующего колебания, а также глубиной модуляции, и видеть результаты изменений этих параметров на временном и спектральном представлении сигнала. Единственное, что осталось сделать — это записать в отдельный файл результат формирования временного представления сигнала для его использования в качестве источника сигнала в системе схемотехнического моделирования DesignLAB. Для этого запишем следующий программный код:
i:=0..1 sigji:=if(i=0, tj, Sj) WRITEPRN("sig.dat") :=sig.
При выполнении моделирования с помощью операции WRITEPRN мы сформируем файл с именем sig.dat, он будет размещаться в том же каталоге, что и наш файл с моделью. Следует также сказать о том, что для правильной записи результатов моделирования в файл необходимо в программе MathCAD установить следующие значения системных параметров PRN File Settings: Precision (точность отображения) = 10, Column Width (ширина столбца) = 20. Покажем теперь, как выполнить ввод и моделирование испытательной схемы для проверки нашей модели
в DesignLAB 8.0. Введем схему, показанную на рис. 3.
В качестве источника сигнала воспользуемся компонентом VPWL_FILE [4] (источник напряжения, заданный в файле) и установим значение его атрибута File=sig.dat. Сохраним собранную схему, поместив в папку со схемой файл временного представления ампли-тудно-модулированного колебания sig.dat, зададим параметры директивы временного анализа и выполним моделирование. В окне программы Probe системы DesignLAB мы увидим точно такой же сигнал, который первоначально был создан нами с помощью программы MathCAD (рис. 4).
Рассмотрим возможность использования в качестве первичного (модулирующего) сиг-
нала телефонного сообщения, модель которого представлена выражением (1). Выполнив замену слагаемого та8пере (-) на выражение (1), получим модель сигнала с амплитудной модуляцией, где в качестве модулирующего сигнала используется телефонное сообщение:
~ Мг~1
Зиг(*у) = Яя 1+2>*(17/п*+<Я4)х
к=0 -
хсов(2п;(^+£Й5;)#у+<ь)
ХСО8(2п/01!,. + \|/), (3)
где Бт — амплитуда несущего колебания;
— частота несущего колебания; Рк, фк — частота и фазовый сдвиг к-й гармоники первичного сигнала; Ыг — количество моделируемых гармонических составляющих в первичном сообщении; тк — парциальные коэффициенты амплитудной модуляции, вычисляемые по формуле:
гпг, = а
(Umk+dUk) Sm
(4)
где а — некоторый параметр, характеризующий нелинейный элемент модулятора; итк, (Шк — амплитуды гармонических составляющих телефонного сообщения и их флуктуации. Покажем, каким образом наша аналитическая модель преобразуется в программный код МаЛСАБ (рис. 5).
j:=0..10000 tj—j-10-6 fj-j-102
Um,:=3 Um2:=4 Um3:=6 Um4:=5 Um5:=4,5 Um6:=4 Um7:=3,5 Um8:=3 Um9:=2,4 Um10:=2
F,:=300 F2:=600 F3:=900 F4:=1200 Fs:=1500 F6:=1800 F7:=2100 Fe:=2400 F9:=2800 F10:=3200
Um„
N:=10 k:=1..N um:=max(Um) mak:=—- фкmd(Um
urn
г-, иггк Т, уТ:
Т;:= 2^ ■^-■сов(2-я-Рк-^ + фк) |?:=тах(Т) Т!^:—-р- SwT:=cfft(T) vTj:=|SwTj г := тах(уТ) ЬТ^ — —
к= 1
а := 1 Ю:= 20000 8^ :=и8-(1+а-ТЬР|-)-со8(2-п^0-1р гтШ := тах(Т) ^
sws := сГН(81) У5) := |SwsJ• г := тах(уз) Ьв) := —
I := 0.. 1 := 1^1=0,3WRITEPRN(”siд.dat’,) := г1д
Рис. 5. Программный код модели амплитудно-модулированного сигнала с модуляцией телефонным сообщением
форма ТЛФ-сигнала
спектр ТЛФ-сигнала
Т1_Р:
ЬТі 0,5
2
5-10"4 0,001 0,0015
I:
форма АМ-сигнала
0 Каа аа аа ап аа аа да аа ааа а А а лаллаля
0 1000 2000 3000 4000
'і
спектр АМ-сигнала
0- е- о- ?тТттт -о -о -о -о
5-Ю"4 0,001 ( 0,0015
1,6-Ю4 1,8-Ю4 2-Ю4 2,2-Ю4 2,4-Ю4
Рис. 6. Форма и спектр телефонного сообщения и сигнала с амплитудной модуляцией
2,0 В
1,0 В
0В
-1,0 В
-2,0 В
0,0 мс 0,2 мс 0,4 мс 0,6 мс 0,8 мс 1,0 мс 1,2 мс 1,4 мс 1,6 мс 1,8 мс 2,0 мс
Время
Рис. 7. Сигнал на выходе источника в системе схемотехнического моделирования DesignLAB
N1=10000 8т:= 1 ]:= 0.. N = і-10 6 ^:= І-102 ф:=тогт(11,0, б) 1)т := тогт(11, 3,1)
Р,:= 300 Р2:= 600 Р3:= 900 Р4:= 1200 Р5:= 1500 Р6:= 1800
Р7:= 2150 Ра:= 2400 Р9:= 2800 Р10:= 3200
Р:= Ю ^ :=3-104 Т,,= £ игтусоз^я-Р^ + фк]
к= 1
г := тах(Т)
Ф=
8, :=Т; -соз(2-л^0-^) г := тах(5) 8, := у
V-
Sw:=cfft(s) г:=тах(у) Ь;:= -у
0
0 5,173
1 5,493
2 4,038
3 -6,266
4 0,414
5 -4,533
6 4,18
7 -1,091
8 -3,866
9 -4,338
10 -3,099
1)т=
0
0 3,062
1 2,404
2 2,669
3 3,539
4 3,219
5 3,405
6 1,844
7 1,895
8 1,897
9 2,593
10 1,687
Рис. 8. Программный код модели балансно-модулированного сигнала
В строке 1 формируем отсчеты индексной переменной ] и отсчеты времени и частоты, в строках 2-3 задаем амплитуды и частоты десяти гармонических составляющих телефонного сообщения. В строке 4 рассчитываем парциальные индексы модуляции для каждой гармонической составляющей и формируем начальные фазовые сдвиги. Причем, если ус-
ние амплитудно-модулированного сигнала, и в последней строке записываем результат моделирования в файл, который будем использовать в качестве источника сигнала в системе схемотехнического моделирования (ССМ) DesignLAB. На рис. 6 показаны форма и спектр телефонного сигнала, полученные с помощью модели (3), а также форма и спектр сигнала с амплитудной модуляцией, где в качестве первичного сигнала использован массив значений телефонного сообщения.
После загрузки файла с источником данных в ССМ DesignLAB получим аналогичную форму амплитудно-модулированного сигнала, представленную на рис. 7.
В сигналах с балансной модуляцией составляющая с несущей частотой отсутствует, что определяется принципом получения модулированного сигнала [2]. Поэтому в модели балансно-модулированного сигнала следует исключить единицу из суммы [1+та8пере (гр], тогда аналитическое выражение, позволяющее получить временное представление сигнала с балансной модуляцией, запишется в следующем виде:
N-1
*г=0
хсо8(2л(^+^)г;у.+<р*)
ХС08(2Я /о^ + у),
(5)
тановить маркер в поле с красным фоном (где и осуществляется генерация фазовых сдвигов), то каждый раз при моделировании будут генерироваться новые значения фаз, и это отразится на выходном сигнале. В строке 5 формируем временное и спектральное представление телефонного сообщения, в строках 6-7 рассчитываем временное и спектральное представле-
где идентификаторы модели соответствуют идентификаторам модели (3). Запишем программный код модели для балансно-модули-рованного сигнала (рис. 8). Очевидно, что следует использовать предыдущую модель, заменив в ней выражение для расчета модулированного сигнала.
Поясним отличающиеся от предыдущей модели идентификаторы программы. В этой модели мы полагаем амплитуды гармонических составляющих полностью случайными и формируем их значения в строке 1, здесь же формируем фазовые сдвиги гармоник телефонного сообщения. В строках 4, 5 вводим несущую частоту сигнала и количество гармонических составляющих, участвующих в формировании модулирующего сигнала, рассчитываем временное представление телефонного сигнала и выполняем его нормировку. В строках 6-7 формируем временное и спектральное представление балансно-мо-дулированного сигнала. На рис. 9 показаны форма первичного сигнала, а также форма и спектр сигнала с балансной модуляцией.
Однополосно-модулированный сигнал является сигналом с амплитудной модуляцией, в спектре которого сохраняется лишь одна боковая полоса (верхняя или нижняя) [2]. Поэтому выражение для временного представления амплитудно-модулированного сигнала (3) можно преобразовать в следующее, позволяющее получить временные отсчеты сигнала с однополосной модуляцией:
^ом О/) —
Бт ы‘~х -r^%mkcos(2к(f0-Fk)tj+\\r+q>k), 2 к=0 (6)
где идентификаторы модели соответствуют идентификаторам модели (3). Изменившуюся часть программного кода модели однопо-лосно-модулированного сигнала с использованием выражения (6) можно записать в следующей форме:
Sj = ^17т^хсо8(2хтих/()хг, 2хпх/*"хЇ. ф*)
В этой модели мы сразу сформировали временное представление однополосно-мо-дулированного сигнала, используя амплитуды, частоты и фазовые сдвиги телефонного сообщения, что несколько упростило программный код. Используя рассмотренные модели, читатель сможет теперь самостоятельно создать три различных файла с моделями амплитудно-, балансно- и одно-полосно-модулированных сигналов и использовать их для формирования временных отсчетов сигналов в системах схемотехнического моделирования, позволяющих моделировать схемы с источниками сигналов из внешних файлов.
Воспользуемся рассмотренной методикой разработки моделей сигналов для моделирования сигналов с угловой модуляцией, к которым относятся частотно- и фазомодулиро-ванные сигналы [2]. Для разработки модели сигнала с частотной модуляцией воспользуемся следующим аналитическим выражением, позволяющим получить массив временного представления частотно-модулирован-ного сигнала:
&гм(^.) = Бт совх
ЛГг-1 >
2я/0 + \|/ + £ т/к ьт(2пРк + ф4 )
т^ = а
17т к + <Шк
1
0,8 0,6
0,4
0,2
0
--0,2
-0,4
-0,6 -0,8
-1
1
0,8 0,6
0,4
0,2
ті 0
---------0,2
-0,4
-0,6
-0,8
форма БМ-сигнала
1 1 і
Ш М А
- - -- _¥_! 1 ¥ У | 1 у V V у II Г V Цр
‘і
форма первичного сигнала
-1
-
\^/
1 —
0,9 — 0,8 — 0,7 — 0,6 — 0,5 — 0,4 — 0,3 — 0,2 — 0,1 — о —
2-Ю4
'і
спектр БМ-сигнала
2,25*104 2,5-Ю4 2,75-Ю4
п
3,25-104 3,5-104 3,75-Ю4 4-Ю4
Рис. 9. Форма и спектр балансно-модулированного сигнала
(7)
В строке 5 мы ввели коэффициент а, характеризующий нелинейный элемент модулятора, и рассчитали индексы модуляции тк в соответствии с выражением (8). Сам час-тотно-модулированный сигнал (идентификатор ) формируется в строке 6. Здесь же мы вывели на экран значения индексов частотной модуляции, рассчитанные в соответствии с выражением (8), из которых видно, что с ростом частоты составляющих первичного
сигнала индекс модуляции уменьшается. На рис. 11 показаны результаты моделирования частотно-модулированного сигнала. При этом на временном представлении сигнала пока трудно проследить результат модуляции — мы видим практически не изменяющуюся несущую частоту. Для того чтобы увидеть изменения (сгустки и разряжения) несущей частоты в соответствии с законом изменения амплитуды первичного сигнала,
где Бт — амплитуда несущего колебания; ^ — частота несущего колебания; у — фазовый сдвиг несущего колебания; ^, фк — частота и фазовый сдвиг к-й гармоники первичного сигнала; Ыг — количество моделируемых гармонических составляющих в первичном сообщении; mfk — индексы частотной модуляции, вычисляемые по формуле [2]:
N:— 10000 Бт:—1 j:— 0.. N — І-10 6 І-102 ф:= тогт(11,0,б) 11т := тогт(11,3,1)
Р,:= 300 Р2:= 600 Р3:= 900 Р4:= 1200 Р5:= 1500 Р6:= 1800
Р7:= 2150 Р8:= 2400 Р9:= 2800 Р10:= 3200 р := 10 ^:=3-104
(8)
Т] := ^ итк-со5(2-п-Рк-Іі + фк) г:-тах(Т) к= 1
а := 200 к:= 1.. 10 т„:=а-^-
где а — некоторый параметр, характеризующий нелинейный элемент модулятора; ишк, (іик — амплитуды гармонических составляющих телефонного сообщения и их флуктуации. Программный код модели для формирования временного и спектрального представлений частотно-модулированного сигнала можно представить в виде, показанном на рис. 10.
2-я-Р0-^ + тк-5Іп(2-7с-Рк-^ + фк)
к= 1
г := тах(в)
V:
Э\л/ := сіП (б) ^:= ^1 г:= тах(у) Ь^:= -у
0
0 0
1 2,258
2 0,524
3 0,575
4 0,646
5 0,324
6 0,232
7 0,198
8 0,341
9 0,141
10 0,109
Рис. 10. Программный код модели частотно-модулированного сигнала
форма ЧМ-сигнала
-0,6
0,9
0,8
0,7
Ь, 0,6 —— 0,5 0,4 0,3 0,2 0,1 0
спектр ЧМ-сигнала
1-Ю4 1,5*104 2-Ю4 2,5-Ю4
3-Ю4
f,
3,5*104 4-Ю4 4,5-Ю4
5-Ю4
Рис. 11. Результаты моделирования частотно-модулированного сигнала
форма первичного и ЧМ-сигнала
0,8
0,6
0,4
0,2
--0,2
-0,4
-0,6
-0,8
И
!/
Рис. 12. Результаты моделирования частотно-модулированного сигнала с параметром а = 1000
необходимо увеличить значение параметра модели а.
Увеличим значение параметра а, установив его равным 1000, выполним моделирование и оценим получившейся результат (рис. 12). Теперь на графике отчетливо видно, как с ростом амплитуды первичного сигнала увеличивается частота модулированного сигнала,
S0M{tj) = Sm cos
2лf0tj+Q0 + ax
х mlf%(Sak+ASmk)cos(2KFktj+(f>k)
k=0
и, наоборот, с уменьшением амплитуды телефонного сообщения уменьшается частота частотно-модулированного сигнала.
Модель для сигнала с фазовой модуляцией практически не отличается от модели сигнала с частотной модуляцией и может быть построена на основе следующего аналитического выражения:
Для ее реализации в среде МаШСАБ изменим выражение для формирования индекса фазовой модуляции mф и самого сигнала . Измененная часть программного кода будет выглядеть следующим образом:
а := 0.6 m := a max(Um)
f р Sj :=cos 2-Tt-f0-tj+a-m-^Г cos(2-u-Ffc-tj+<])}(-)
Используя рассмотренную методику построения моделей сигналов в программной среде MathCAD, читатель самостоятельно сможет создать модели сигналов с амплитудной и угловой модуляцией для моделирования с их помощью различных аналоговых устройств в системах схемотехнического моделирования.
В следующих статьях будет показано, каким образом можно с использованием рассмотренного подхода и моделей импульсных последовательностей [1] построить модели сигналов с дискретной модуляцией.
Примечание: файлы моделей сигналов, рассмотренные в статье, можно посмотреть на сайте http://finestreet.ru/magazine/compitech/ compitech.rar. Для их открытия и моделирования необходимо наличие на ПК установленной программной среды MathCAD 2001. ■
Литература
1. Антипенский Р. В. Разработка моделей первичных сигналов в программной среде MathCAD // Компоненты и технологии. 2007. № 3.
2. Гоноровский И. С. Радиотехнические цепи и сигналы. М.: Радио и связь. 1986.
3. Richard C. Saffe. Random Signals for Engineers using MATLAB and Mathcad. Springer — Verlag. 2000.
4. Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон. 1999.