Разработка моделей первичных сигналов в программной среде MathCAD

Разработка моделей первичных сигналов

в программной среде MathCAD

В статье рассматривается методика разработки моделей первичных сигналов в программной среде MathCAD для их дальнейшего использования в системах схемотехнического моделирования радиоэлектронных устройств. Материал может оказаться полезным разработчикам аналоговой аппаратуры, а также студентам, аспирантам и преподавателям, специали-Роман АНТИПЕНСКИЙ зирующимся в области проектирования и моделирования радиоэлектрон-

antic@vmaii.ru ных устройств, предназначенных для обработки аналоговых сигналов.

При проектировании и моделировании радиоэлектронных устройств с помощью систем схемотехнического моделирования (ССМ), таких как OrCAD, Microcap DesignLab [1], и других, часто приходится использовать различные источники сигналов для проверки проектируемой схемы на предмет безыскаженной передачи (преобразования) первичного сигнала. При этом имеющиеся в подобного рода программах источники сигналов не всегда в полной мере удовлетворяют запросам разработчиков. Для исследования характеристик схем в условиях воздействия реальных сигналов и помех часто приходится разрабатывать собственную модель сигнала, а затем использовать ее при моделировании схемы в ССМ. В связи с этим весьма полезным является освое-

ние принципов построения моделей сигналов, используемых в радиоэлектронных устройствах. Настоящая публикация знакомит читателя с методикой разработки моделей первичных сигналов с использованием программной среды МаШСАО [2] и последующего их использования в качестве источников сигналов из внешнего файла в ССМ радиоэлектронных устройств DesignLAB.

К первичным (модулирующим) сигналам обычно относят сумму нескольких гармонических составляющих (телефонное сообщение) и различные импульсные последовательности [3]. При этом основными представлениями сигналов являются временное (зависимость амплитуды сигнала от времени) и спектральное (зависимость амплитуды или фазы гармонических составляющих сиг-

нала от частоты). Задача заключается в разработке моделей сигналов, которые позволили бы получить их временное представление в виде массивов значений (отсчетов), а спектральные характеристики (комплексный спектр сигнала) можно будет получить с использованием быстрого преобразования Фурье [3] с помощью выражения:

5

где Б(ї) — массив временных значений сигнала. Для реализации этого преобразования в системе MathCAD воспользуемся встроенным быстрым Фурье-преобразованием в виде функции (Б(ї)) [2].

Рассмотрим методику построения модели телефонного сообщения в виде суммы нескольких гармонических составляющих, аппроксимирующих спектр реального телефонного сообщения (ТЛФС) и имеющих регулируемые случайные пределы отклонения амплитуд, частот и начальных фаз:

N,-1

3ТЛФС ~

к=О

ХС08

где Бк, итк — частоты и их амплитуды, аппроксимирующие спектр реального ТЛФС; іик, іРк — случайные отклонения амплитуд и частот гармонических составляющих; ф^ — начальные фазовые сдвиги частот; Ыг — количество гармонических составляющих сигнала. Покажем, каким образом наша аналитическая модель (2) преобразуется в программный код MathCAD (рис. 1).

Поясним введенные идентификаторы и программный код модели. В строках 1-4 задаем амплитуды и частоты тринадцати гармонических составляющих телефонного сообщения, в строке 5 формируем отсчеты индексной переменной ) — управляющей

чг ¥ е" 3 Um2:=1,6 Um3:=1,4 Um4:= =1,1 GO О II. E Um6:=0,7 Um7:=0,6

F, := 200 F2 := 400 F3 := 600 F4 := 800 F5:=1000 F6:=1200 F7:=1400

Uma:=1,4 Um9:=1,6 Um10:=1,4 Um„ :=1,1 Um 12 ;=0,8 Um13:=0,7

F8:=200 F9 := 400 F10:=600 F„” 800 F12:= = 1000 F13:= 1200

j :=1.. 10000 tj := j-10- 6 fj := j -102

N :=13 к; :=1..N um := max

фк := md

Fk:=Fk+dFk Umk := Umk + dUk

N T.

Ti:= S -cos(2-ic-Fk-tj + фк) R := max(T) sti:=_L

k= 1

vT:

SwT := cfft(st) vTj:= | SwTj r:= max(vT) bTj := —

r

Рис. 1. Программный код модели телефонного сообщения

Форма ТЛФ сигнала

Спектр ТЛФ сигнала

-1

а І о )01 /о, >02 \/tfo 03 ф W 04

ьт,

I

0,5

I I

, ...II ,1...

0 1000 2000 3000 4000

fr

Рис. 2. Форма и спектр телефонного сигнала

переменной, которую будем использовать для индексации массивов, необходимых в модели, а также формируем отсчеты времени t] и частоты ^. В строке 6 задаем количество гармонических составляющих и индексную переменную k. В строке 7 формируем начальные фазовые сдвиги, отклонения амплитуд и частот, причем, если установить маркер в какое-либо из этих полей (выражений), то каждый раз при моделировании будут генерироваться новые значения параметров и это отразится на выходном сигнале. В строке 8 пересчитываем значения частот и амплитуд с учетом сгенерированных случайных сдвигов. В строке 9 формируем временное представление сигнала и выполняем его нормировку. В строке 10 рассчитываем комплексный спектр сигнала БыТ, его модуль уТ и выполняем нормировку амплитудно-частотного спектра (АЧС) результирующего сигнала, используя переменную г. Результат присваиваем идентификатору ЬТ и строим график полученного массива от отсчетов частоты ^. На рис. 2 показаны форма и спектр телефонного сигнала, полученные с помощью модели (2).

Итак, мы построили простую и удобную для управления параметрами модель первичного сигнала в виде суммы нескольких гармонических составляющих. Мы можем изменять амплитуды, частоты и начальные фазы каждой составляющей сигнала и видеть результаты изменений этих параметров на временном и спектральном представлении их суммы. Единственное, что осталось сделать — это записать в файл результат формирования временного представления сигнала для его использования в качестве входного сигнала в системе схемотехнического моделирования РЭУ. В ССМ DesignLAB предусмотрен источник сигнала из файла, при этом данные в файле необходимо представить в следующем формате:

(<отсчет времени N> , <отсчет амплитуды N>).

Поясним введенные обозначения. Мы сформировали массив всего из двух значений (0 и 1) для индексной переменной i, которая будет участвовать в формировании двумерного массива sig по правилу: если i = 0, то в j-элемент массива записываем отсчет времени j, если не равен нулю (равен 1) — то записываем отсчет сигнала sj. Затем формируем файл с именем sig.dat, он будет размещаться в том же каталоге, что и наш файл с моделью. Следует также сказать о том, что для правильной записи результатов моделирования в файл, необходимо в программе MathCAD установить следующие значения системных параметров PRN File Settings: Precision (точность отображения) = 10, Column Width (ширина столбца) = 20.

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

В качестве источника сигнала воспользуемся компонентом VPWL_FILE (источник на-

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

Разработаем модель первичного сигнала в виде последовательности прямоугольных импульсов с управляющими параметрами длительности импульса, периода следования импульсов и числа импульсов в моделируемом фрагменте. Хотя подобного рода сигналы можно сгенерировать и с помощью имеющихся в ССМ источников сигналов, модель такого сигнала понадобится нам для создания источников сигналов с дискретной модуляцией, которых, к сожалению, в системе DesignLAB нет. Алгоритм формирования последовательности импульсов Nu с заданной длительностью tu и периодом следования Таналитически можно записать с помощью условной функции вида:

ж>=/

cl < х < с2, d\, d2

где с1, с2 — значения переменной х, определяющие границы условия; d1 — значение, принимаемое функцией при выполнении условия; ей — значение, принимаемое функцией при невыполнении условия. Тогда, представив импульсную последовательность в виде суммы одиночных импульсов, смещенных друг относительно друга по оси времени на длительность импульса и периода их следования tuxn+Txn, получим алгоритм формирования последовательности импульсов с заданной скважностью и длительностью импульсов:

n(fJ=%F

\ + T'x.n<ti<t3+tuy.n-\-T'x.n,

1,

L0

где tз — длительность интервала задержки последовательности относительно момента времени Ц = 0; Nи — количество импульсов

Для того чтобы наш сигнал выглядел в файле подобным образом, добавим в модель следующий программный код:

V

Время

i:=0...1 sigy:=if (i=0, tj, stj) WRITEPRN («sig.dat»):=sig

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

N,-1 Т т tA -Xn<t<tA -х(л +1), К ' 3 К К-1 AW т т tA -Xn+Pxk<t<tA -x(n + l)+Pxk, 3 Nu 1 3 Nuy j

md=LF мп, (5) Mn,

п=0 0 к=0 п=0

в последовательности: tи, Т — длительность и период следования импульсов для заданной скважности с=ТНи. В выражении (4) формируется массив значений Л, в котором для каждого г-го отсчета определено значение, откладываемое по оси ординат: 1 — если отсчет времени Ц находится в пределах длительности импульса (удовлетворяется условие), и 0 — во всех остальных случаях (условие не удовлетворяется). Просуммировав полученные таким способом одиночные импульсы, смещенные по оси времени на интервал Тп, получим требуемую последовательность импульсов с варьируемыми значениями длительности и периодом следования.

На языке МаШСАБ выражение (3) можно ввести с помощью условной функции 1Т(а^,у1,у2) [2]. Тогда программа для формирования временного представления импульсной последовательности может быть записана следующим образом. Задаем начальные значения параметров й — длительность импульса, Т — период следования импульсов, пг — количество импульсов в пачке:

й: = 10х10-3 пг: = 5 Т: = 40х10-3.

Формируем массивы управляющей переменной /, отсчетов времени / и частоты /, отсчетов импульсной последовательности а} в соответствии с выражением (4):

/: = 0.. .10000 / : = /хЮ-4 %: = /

пг-1

а: = ^г%(Тхп < / < и +Тхп, 1, 0).

п=0

Для генерирования дискретных сигналов с кодовым формированием импульсов воспользуемся все тем же принципом суммирования элементарных импульсов, но сдвинутых друг относительно друга по оси времени на длительность единичной посылки Тп/Ыих п. Для этого сформируем кодовый массив М = (т0, т1, т2...тЫи-1), в котором число элементов равно числу единичных импульсов. Так, например, для семиэлементного произвольного кода массив можно представить в виде М = [1110010]. Тогда алгоритм формирования кодовой посылки импульсов с использованием (4) запишется в виде выражения (5), где t3 — длительность интервала задержки кодовой посылки относительно момента времени Ц = 0; Ыи — количество импульсов в посылке; Тп — длительность кодовой посылки.

Для получения последовательности, состоящей из нескольких посылок, разделенных временными промежутками, просум-

мируем сдвинутые по времени посылки на длительности элементарного импульса и периода повторения посылки Tn /Nuxn +Pxk. Тогда алгоритм (5) следует записать в виде (6), где t3 — длительность интервала задержки кодовой посылки относительно момента времени t{ = 0; Nu — количество импульсов в посылке; Тп — длительность кодовой посылки; Nn — количество посылок в последовательности; Р — период повторения посылок.

Приступим к созданию модели первичного сигнала в виде импульсной последовательности с кодовым формированием единичных посылок. Задаем начальные значения параметров Тс — длительность пачки импульсов, Per — период следования пачек импульсов, Кс — количество импульсов в пачке и mk — значения единичных посылок:

• длительность пачки импульсов

Тс = 10х10-3;

• период следования пачки импульсов/количество пачек

Per = 20x10-3/N: = 2;

• кодовая последовательность

Kc: = 5, m0= 1, m1 = 0, m2 = 1, m3 = 0, m4 = 1, m5 = 1.

Формируем массивы управляющей переменной /, отсчетов времени / и частоты /, отсчетов импульсной последовательности а в соответствии с выражением (6), отсчетов одиночного импульса а1/ длительностью Тс и отсчетов одиночного импульса а2 / длительностью Тс/Кс, которые являются вспомогательными при анализе спектра последовательности:

/: = 0.10000 /: =/х10-4

N Кс-1

а: = ^ Хг/(Тсхп/Кс+Регхк < / <

к=0 п=0

< Тс /Кс+Тс хп/Кс+Рег хк, тп, 0)

%: = / а1: =

а2/: = г/(0 < / < Тс /Кс, 1, 0).

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

Спектры импульсной последовательности Ь/ с кодовым формированием единичных посылок, одиночных импульсов Ь1/ и Ь2 / с длительностями Тс и Тс/Кс соответственно показаны на рис. 6.

Используя рассмотренную методику разработки моделей сигналов в программной

1.1

Tc Per

0,003 0,006 0,009 0,012 0,015 0,018 0,021 0,024 0,027 0,030

ti

Рег+Тс

Рис. 5. Временное представление импульсной последовательности с кодовым формированием единичных посылок

Ь)

Ь2:

i

1-103

Рис. 6. Спектры одиночных импульсов и последовательности с кодовым формированием единичных посылок

среде МаЛСАЭ, читатель самостоятельно сможет создать источники первичных сигналов для моделирования с их помощью различных радиоэлектронных устройств.

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

Литература

1. Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон, 1999.

2. Saffe R. C. Random Signals for Engineers using MATLAB and MathCAD. Springer — Verlag. 2000.

3. Гоноровский И. С. Радиотехнические цепи и сигналы. М.: Радио и связь, 1986.