Составим из данной передаточной функции операторное

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ
ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
________________________________
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(государственный технический университет)
А.В. БЫКОВ
ЛАБОРАТОРНЫЕ РАБОТЫ
ПО КУРСУ
ОСНОВЫ КОМПЬЮТЕРНОГО ПРОЕКТИРОВАНИЯ И
МОДЕЛИРОВАНИЯ РАДИОЭЛЕКТРОННЫХ
УСТРОЙСТВ
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ
Г.Ахтубинск
2008
БУДК 621.396.6.001.24 (075)
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(государственный технический университет)
Быков А.В. Лабораторные работы по курсу
«Основы автоматизированного проектирования и моделирования радиоэлектронных устройств». Учебно-методическое
пособие.
МАИ, 2008 – 70 с.
Учебно-методическое пособие предназначено для студентов МАИ, обучающихся по специальности 210304 «Радиоэлектронные устройства». Курс лабораторных работ состоит из
двух частей. Первая часть предназначена для освоения основ
моделирования на примере простейших звеньев. Работы выполняются в среде «Турбо-Паскаль». Целью работ является
освоение методов моделирования, понятие о моделировании
динамических звеньев и сигналов. Вторая часть ставит целью
привитие навыков работы с программами схемотехнического
моделирования на примере программы EWB. При этом используются различные режимы работы программы – режим постоянного тока, режим переходных процессов, макромоделирование и моделирование цифровых устройств.
Одобрено на заседании кафедры А-21 филиала «Взлет»
МАИ , протокол № от
ББК
 Московский авиационный институт, 2008 г.
2
ЧАСТЬ 1
Лабораторная работа № 1
Временные методы моделирования линейных динамических
звеньев
Цель работы:
Исследование свойств динамических звеньев путем моделирования с использованием временных методов
Задачи исследований:
1. Составить математическую модель звена в соответствии с исходными данными.
2. Составить программу моделирования в соответствии
с математической моделью.
3. Зафиксировать отклик звена на заданное входное
воздействие.
Основные теоретические сведения
Временные методы основаны на использовании интеграла Дюамеля (свертки). Если ЛДЗ представлено его импульсной характеристикой, то связь между входной и выходной фазовыми переменными (рис.1.1) выглядит следующим образом:
x(t)
y(t)
Рис.1.1. Формальная схема моделированияt временным методом
t
y (t )  x(t )h(t )   x( )h(t   )d   x(t   )h( )d
h(t)
0
0
Физический смысл свертки состоит в суммировании
элементарных откликов ЛДЗ на входной сигнал, представленный набором импульсов (рис.1.2). Величина h(t- ) представляет собой обращенную импульсную характеристику,
начинающуюся в момент t. Переменная интегрирования  име3
ет размерность времени и характеризует отставание текущего
момента t от элементарного сигнала, имеющего значение x().
Таким образом, для вычисления одного значения y(t) необходимо вычислить интеграл в интервале = [0, t].
h(t-
x(
x(t-
h(
h(t-
x(
x(t-
h(
t
t-tи
а)

tи
б)
t

Рис.1.2. Графическая интерпретация свертки
Численное интегрирование от 0 до t чревато тем, что с
увеличением текущего времени t возрастает время вычислений.
Поскольку импульсные характеристики реальных звеньев стремятся к нулю при увеличении времени то интегрирование
имеет смысл лишь в пределах существования импульсной характеристики. Поэтому реально интегрирование нужно вести в
интервале = (t1 ,t2), где t1, t2 - нижний и верхний пределы интегрирования, определяемые соотношениями:
t1  0


0; t  t x
t1  


t  t x ; t  t x  для случая а; t  t ; t  t x ;  для случая б); (1.1)

2


t2  t
t x ; t  t x 

где tx - длительность импульсной характеристики
Методические рекомендации
4
В процессе выполнения работы должна быть составлена
математическая модель исследуемого звена, разработана моделирующая программа в среде Турбо-Паскаль, получены результаты моделирования в графическом виде.
При составлении программы исследований следует разработать две процедуры-функции, описывающие входное воздействие и импульсную характеристику (sig(tau), h(tau) соответственно). Для вычисления интеграла целесообразно применить метод Эйлера первого порядка. При этом организуется два
цикла – внешний по текущему времени t и внутренний по переменной интегрирования . Внутренний цикл завершается по достижении переменной интегрирования значения верхнего предела интегрирования, внешний цикл завершается при достижении модельного времени предельного времени моделирования.
Время моделирования выбирается из условия наблюдения окончания переходного процесса (примерно три длительности импульса tm=3ti). Шаг интегрирования dtau должен быть по
крайней мере на порядок меньше постоянной времени звена.
Временной шаг dt может быть выбран равным шагу интегрирования.
Исходные данные для моделирования:
Входное воздействие: прямоугольный импульс с параметрами:
Амплитуда u0=1 В;
Длительность – определяется вариантом задания табл.1.1.
Тип звена:
1.
Апериодическое звено первого порядка с импульсной характеристикой h(t ) 
2.
1


e
t
z
;
(1.2)
Псевдодифференцирующее звено с импульсной
характеристикой h(t )   (0)  1 e
 t
z
.
где z - постоянная времени звена;
(1.3)
5
(0) – дельта-импульс в начальный момент времени.
Значение постоянной времени звена выбирается в соответствии с вариантом (табл.1.1).
Машинное время в среде Тубо-Паскаль может быть
определено с помощью встроенной процедуры gettime (h, m, s,
s100), расположенной в модуле DOS. Параметрами процедуры
являются целые числа типа word, соответствующие текущему
значению часов, минут, секунд и сотых долей секунд. Для
определения машинного времени следует вызвать процедуру
gettime в начале и в конце выполнения программы, определить
текущее время в секундах начала и конца выполнения и произвести вычитание. Текущее время определяется с точностью до
сотых долей секунды по формуле:
t:= h*3600 + m*60 + s + s100/100;
Графический вывод информации организуется таким образом, чтобы отклик звена был наглядным.
Для реализации графического режима необходимо подключить библиотеку GRAPH. Для этого первым оператором
программы должен быть оператор uses graph. В главный модуль для инициализации графической библиотеки должен быть
включен оператор initgraph(driver, mode,’ ‘).
Здесь driver, mode – переменные целого типа, которые
должны быть зафиксированы в разделе описаний. Для реализации режима максимального разрешения (SVGA) в главном модуле переменной driver рекомендуется присвоить значение detect. При этом разрешающая способность экрана будет 640480
пикселей. В кавычках указывается путь к графическому драйверу, который находится в системном каталоге в подкаталоге
BGI. Центром координатной системы рекомендуется выбрать
точку с координатами (10, 240).
Порядок выполнения работы:
6
1.
По заданным исходным данным рассчитать шаг
интегрирования и время моделирования;
2.
Разработать процедуры-функции, описывающие
входное воздействие и импульсную характеристику звена (для
первой подгруппы - апериодическое звено первого порядка
(1.2), для второй подгруппы - псевдодифференцирующее звено
(1.3);
3.
Составить программу моделирования, провести ее
отладку и прогон;
4.
Зафиксировать машинное время при работе программы без коррекции временных интервалов (интегрирование
от 0 до t) и с коррекцией в соответствии с формулами (1.1).
Исходные данные для моделирования
Таблица 1.1
№ варианта
Длительность
входного имп ti с
Постоянная времени звена tz,с
№
ti с
tz,с
6
510-5
10-5
7
10-4
310-5
1
10-6
2
210-6
3
510-6
4
10-5
5
210-5
310-7
510-7
10-6
210-6
510-6
8
210-4
510-5
9
510-4
1,510-4
10
10-3
310-4
11
210-3
510-4
12
510-3
1,510-3
13
14
15
16
17
18
19
20
10-2
1.0
2.0
210-2 510-2 10-1
210-1 510-1
-2
-3
-3
-2
-2
-1
10
0.2
0.5
310 510
210
510
1.510
Структура прграммы
1. Заставка: подключение вспомогательных библиотек
(uses graph)
2. Раздел описаний:
7
2а) константы const (все константы выбираются в соответствии с индивидуальным заданием и методическими рекомендациями):
tz – постоянная времени звена;
ti – длительность импульсной характеристики (примерно 3 tz);
tm – время моделирования;
dtau – шаг моделирования по вспомогательной переменной ;
dt - шаг моделирования по модельному времени t;
2б) переменные var (описываются все переменные, фигурирующие в программе с указанием их типов);
2в) процедуры-функции (даются математические описания входного сигнала (функция x(tau)) и импульсной характеристики звена (h(tau)).
3. Главный модуль (начинается с оператора begin).
- инициализация графической библиотеки – оператор
initgraph(driver, mode,’ ‘);
- построение координатных осей (с помощью оператора
line(x1,y1,x2,y2));
- определение начальных значений переменных (t:=0; moveto (10,240));
- цикл по модельному времени:
- задание начальных значений выходной переменной y:=0 и
переменной интегрирования ;
- цикл по переменной интегрирования  : здесь записывается
выражение для интегрирования в соответствии с методом Эйлера y:=y+sig(tau)*h(t-tau)*dtau и делается шаг по переменной
интегрирования tau:=tau+dtau
Цикл завершается оператором until tau>t .
По завершении внутреннего цикла в пределах внешнего
цикла осуществляется вывод информации с помощью оператора lineto(x,y) и делается шаг по модельному времени t:=t+dt.
Внешний цикл завершается оператором until t>tm.
Двойной цикл программы имеет следующий вид:
8
repeat
y:=0;tau:=0;
{if t<=tx then tau:=0 else tau:=t-tx;}
repeat
y:=y+sig(tau)*h(t-tau)*dtau;
tau:=tau+dtau;
until tau>=t;
x:=10+round(620/tm*t);
z:=240-round(200*y);
lineto(x,z);
t:=t+dt;
until t>tm;
Главный модуль завершается оператором end. Перед
оператором end рекомендуется включить оператор readln, останавливающий исполнение программы до нажатия клавиши enter.
Прогон программы осуществляется нажатием комбинации клавиш ctrl-F9.
Входной сигнал может быть описан с помощью процедуры-функции:
function sig(t:real):real;
begin
if t<ti then x:=1 else x:=0;
end;
Примеры процедур-функций
Импульсная характеристика апериодического звена первого порядка описывается функцией
function h(t:real):real;
begin
h:=exp(-t/tz)/tz;
end;
Здесь tz – постоянная времени звена.
Импульсная характеристика псевдодифференцирующего
звена описывается функцией
9
function h(t:real):real;
begin
if t=0 then h:=1/dt else h:=-exp(-t/tz)/tz;
end;
Требования к отчету
Отчет по лабораторной работе должен содержать:
- титульный лист, содержащий название предмета, номер и
название работы, фамилии студента и преподавателя;
- цель работы;
- основные теоретические сведения о методе моделирования;
- математическую модель исследуемого процесса;
- исходные данные;
- программу моделирования;
- результаты моделирования.
Контрольные вопросы
1. Понятие о временных методах моделирования;
2. Формы записи интеграла Дюамеля;
3. Выбор пределов интегрирования;
4. Метод Эйлера вычисления интеграла;
5. Математическая модель исследуемого звена;
6. Математическая модель входного сигнала
7. Правила выбора шага и времени моделирования;
8. Структура моделирующей программы;
9. Правила вывода графической информации;
10. Правила фиксации машинного времени;
10
Лабораторная работа № 2
Исследование динамических звеньев методом дифференциальных уравнений
Цель работы:
Исследование свойств динамических звеньев второго
порядка путем моделирования на основе дифференциальных
уравнений.
Задачи исследований:
1. Составить математическую модель звена в соответствии с исходными данными.
2. Составить программу моделирования в соответствии
с математической моделью.
3. Зафиксировать основные характеристики звена.
Основные теоретические сведения
Динамическое звено описывается дифференциальным
уравнением. При этом порядок дифференциального уравнения
характеризует порядок звена. Вид уравнения характеризует вид
звена. Линейные динамические звенья описываются линейными
дифференциальными уравнениями, нелинейные - нелинейными.
R
x(t)
L
i
y(t)
C
di 1
dy ;
  idt  x ;
iC
dt C
dt
2
d y
dy
LC 2  RC
 y  x ; или
dt
dt
y  2y   2 y   2 x ; где
 = R/(2L)=RC/2;  = 1/(LC).
Ri  L
Рис.2.1. Схема колебательного контура
11
В лабораторной работе предлагается исследовать линейное динамическое звено второго порядка в виде колебательного
контура (для первой подгруппы) и нелинейное звено второго
порядка в виде генератора с самовозбуждением (для второй
подгруппы).
Типичным представителем динамического звена второго
порядка в радиотехнике является колебательный контур, представленный математической моделью в соответствии со схемой
рис.2.1.
Здесь y – фазовая переменная, соответствующая контурному току;
Динамическое звено второго порядка может быть колебательным или апериодическим в зависимости от коэффициента затухания  = R/(2L)=RC/2. При  <1 звено является колебательным, при  >1 – апериодическим. Таким образом, существует критическое значение R, соответствующее переходу
из колебательного режима в апериодический
Rкр = 2/(C) = 2L = 2 L / C , где  = 1/ LC (2.1)
Для решения уравнения численным методом его необходимо представить в правильной форме Коши, то есть разделить
на два уравнения первого порядка, имеющие производные
только в левой части.
Таким образом, модель колебательного конура можно
выразить системой дифференциальных уравнений:
y1  y 2
y 2  ( x  y1  RCy 2 ) / L / C
y1 выходная переменная, соответствующая фазовой переменной y исходного уравнения;
y2 – вспомогательная переменная.
Генератор с самовозбуждением с точки зрения математического описания представляет собой динамическое звено
второго порядка с отрицательным коэффициентом затухания,
образуемым за счет действия положительной обратной связи.
12
Рассмотрим моделирование генератора методом несущей
на уровне принципиальной схемы рис.2.2.
RК
ik
M
VT1
L
iC
iL
iб
C
r
R1
R2
Iш
+Е
Рис.2.2. Схема транзисторного генератора с самовозбуждением
Активным элементом здесь служит транзистор VT1, характеризующийся коэффициентом передачи тока . Выходной
сигнал формируется в коллекторном контуре L, C. Положительная обратная связь осуществляется посредством взаимной
индуктивности М. Резистор RК служит для ограничения тока
коллектора. Резисторы R1, R2 задают режим транзистора по
постоянному току. В коллекторную цепь включим генератор
шумового тока Iш, имеющий принципиальное значение для запуска генератора. Е - напряжение источника питания.
Составим уравнения, описывающие работу генератора,
исходя из равенства суммы токов в коллекторной цепи:
ic + iL = ik + iш ;
где ic - ток через емкость С;
iL - ток через индуктивность L;
13
ik - коллекторный ток без учета шума;
iш - шумовой ток.
Учитывая, что
uc = LdiL /dt + iL r, получим
2
ic = Cduc/dt = CLd iL /dt2 + CrdiL/dt;
где C, L, r - номиналы элементов выходного контура .
ik = iб;
Базовый ток выразим через нелинейную функцию G(uб):
iб = G(Eб + MdiL /dt), где Еб - смещение базы.
Eб = ER1/(R1 + R2).
Функцию G(u) выразим в соответствии с моделью Эберса-Молла
G(u) = I0(exp(u/(mt))-1), где u = Eб + MdiL /dt;
Здесь
I0 – тепловой ток;
t – температурный потенциал;
m – эмпирический коэффициент.
Шумовой ток iш представим в виде равномерно распределенного белого шума  с СКО, соответствующим справочным данным транзистора.
Тогда получим уравнение
CLd2 iL /dt2 +CrdiL /dt + iL - G(Eб + MdiL /dt) -  = 0;
или CLy  Cry  y  g ( y )    0 .
di 

g ( y )  G  E6  M L  - функция, имеющая математический
dt 

смысл отрицательного вносимого сопротивления в результате
действия положительной обратной связи, в результате действия
которого под воздействием внешнего сигнала происходит
нарастание колебаний контура. В физическом смысле это значение коллекторного тока транзистора. Внешним сигналом в
данном случае является шумовой ток iш. Разложим данное
уравнение на два уравнения первого порядка и представим их
в правильной форме Коши
y1  y 2 ;
;
y 2  (Cry 2  y1  g ( y 2 )   ) /( LC )
14


где g ( y2 )  I 0  exp My 2  Eб  1 .
m T


Для формирования установившегося режима работы
ограничим ток коллектора iк < =E/R1.
Рекомендуются общие исходные данные:
Сопротивление R1=100 Ом;
Сопротивление R2= 10 кОм;
Сопротивление Rк=120 Ом;
Сопротивление контура r=0,1 Ом;
Напряжение Е=12 В.
Параметры модели перехода база-эмиттер транзистора:
Тепловой ток I0=10-4 A;
Температурный потенциал t=0,025 В;
Эмпирический коэффициент m=10.
Остальные исходные данные (L, C, M) выбираются в соответствии с табл. 2.1.
Вывод результатов осуществляется в графическом режиме.
Считывание результатов осуществляется с помощью меток, наносимых на экран в процессе моделирования.
Методические рекомендации
Задача численного решения дифференциальных уравнений состоит в нахождении приближенного решения в виде
y  f ( y, t );
где y - вектор производных;
y- вектор вычисляемых функций;
t - независимая переменная.
В общем случае дифференциальное уравнение имеет
бесконечное множество решений. Единственность решения
достигается введением дополнительных условий. Будем рас-
15
сматривать задачу Коши, при которой дополнительными условиями являются начальные значения искомых функций.
Для решения уравнений должен быть задан диапазон
изменения независимой переменной t [t0, tmax] и начальные
условия
y(t0) = y0 = (y01, y02, y03, ..., y0n)T.
Таким образом, решение каждого дифференциального
уравнения системы будет
yi 
tmax

f i ( yi , t )dt  y0i .
t0
Уравнения необходимо привести к правильной форме
Коши. Это означает, что все уравнения должны быть первого порядка, причем в левой части должна стоять производная,
а в правой - все остальные члены.
Если имеется уравнение высокого порядка, его надо
привести к системе уравнений первого порядка.
Наиболее распространены конечно-разностные методы
решения систем дифференциальных уравнений. При этом задача вычисления интеграла сводится к вычислению интеграла
на каждом шаге
y n 1  y n 
t n 1

f ( yn , t ) dt ,
tn
Для ее решения необходимо заменить интеграл функцией, в соответствии с выбранным методом.
В данной работе система дифференциальных уравнений
решается методом Рунге-Кутта 4 порядка.
Метод Рунге-Кутта 4 порядка позволяет производить
вычисления с ошибкой пятого порядка малости. Это oдин из
наиболее часто встречающихся на практике методов. Вычисления функции на каждом шаге проводится в 4 этапа. Значение
функции вычисляется по рекуррентной формуле
yn+1= yn+ (k1+ 2k2+ 2k3+ k4)/6;
где k1= h f(tn, yn);
16
k2= h f(yn+ 0,5k1) ;
k3= h f( yn+ 0,5k2) ;
k4= h f(yn+ k3) .
Таким образом, на каждом шаге интегрирования вычисляются четыре коэффициента К1…К4 для каждого уравнения, из
которых формируется итоговое значение функции.
Графическая интерпретация метода представлена на рис.
2.3.
Y
К4
К3
К2
К1
Yn
h/2
h
t
Рис.2.3. Графическая интерпретация метода
Рунге-Кутта 4 порядка
Метод реализуется с помощью универсальной процедуры RK4, инвариантной к количеству уравнений и их виду. Такая
процедура может обслуживать несколько систем уравнений,
решаемых в модели.
procedure RK4(n:integer; ier:boolean; h:real; fct:proc1; out:proc2;
var y, dy:vec);
var c:vec; k:matr; i, j:integer;
begin {RK4}
repeat
c:=y;
for i:=1 to 4 do begin
FCT(n, y, dy);
for j:=1 to n do begin
17
k[i, j]:=dy[j]*h;
case i of
3: y[j]: = c[j]+ k[i, j];
4: y[j]: = c[j]+ (k[1, j]+2*k[2, j]+2*k[3, j]+k[4, j])/6
else y[j]:= c[j]+ 0.5*k[i, j];
end; end; end;
OUT(n,h,y,dy,ier);
until ier;
end;
Здесь
n - количество уравнений;
ier - ключ выхода из интегрирования;
h - шаг интегрирования;
fct, out - процедуры-параметры;
y - массив искомых величин;
dy - массив производных.
Для привязки процедуры к конкретной системе вводится вспомогательная процедура fct, описывающая ту или иную
систему дифференциальных уравнений. Вторая вспомогательная процедура out предназначена для вывода результатов вычислений и определения окончания счета.
Рассмотрим формирование программы на примере метода Рунге-Кутта. Структура программы представлена на рис.2.4.
RK4 - процедура метода Рунге-Кутта четвертого порядка;
FCT - процедура вычисления правых частей уравнений;
OUT - процедура завершения счета и вывода результатов.
Процедура rk4 вызывается из главного модуля и берет на
себя управление процессом вычислений от его начала до завершения. Интегрирование ведется по времени от t=0 до t=tm.
Признаком окончания счета является переменная ier логического типа, вырабатываемая в процедуре out при достижении заданного времени моделирования.
18
Главный модуль (MAIN)
RK4
FCT FCT
FCT
FCT
OUT
Рис.2.4. Структура программы при реализации метода
Рунге-Кутта четвертого порядка
Процедуры fct, out вызываются процедурой rk4. При
этом они входят в нее в качестве формальных параметров, поэтому данные процедуры типизируются типами соответственно
proc1, proc2. В их описание добавляется приставка far, дающая
директиву компилятору на включение данных процедур в качестве формальных параметров. Данный прием использован для
того, чтобы создать универсальность процедуры интегрирования и сделать ее независимой от фактических имен вспомогательных процедур. Примеры вспомогательных процедур приведены ниже.
Пример процедуры fct для исследования колебательного
контура:
procedure FCT(n:integer; var y,dy:vec); far;
begin {fct}
dy[1]:=y[2];
dy[2]:=-(r*c*y[2]+y[1]-x)/L/c;
end;{fct}
Пример процедуры fct для исследования генератора:
procedure FCT(n:integer; var y,dy:vec); far;
begin {fct}
dy[1]:=y[2];
dy[2]:=-(ksi+y[1]+r*c*y[2]-g(y[2]))/l/c;
end;{fct}
При моделировании генератора следует ввести процедуру-функцию, моделирующую коллекторный ток транзистора
19
function g(x:real):real;
var u,a:real;
begin
u:=eb+m*x;
a:=bt*i0*exp(u/(md*fit)-1);
if a>inas then a:=inas;
g:=a;
end;
Пример процедуры OUT для колебательного контура
procedure OUT(n:integer;dt:real; var y,dif:vec; var ier:boolean);
far;
var ak:real;
begin {OUT}
t:=t+dt;ak:=0.01;
x:=0;
if t>tm then ier:=true;
x:=10+round(620/tm*t);
z:=240-round(ak*y[1]);
lineto(x,z);
end; {out}
Пример процедуры OUT для генератора
procedure OUT(n:integer;dt:real; var y,dy:vec; var ier:boolean);
far;
var
x,z:integer;ak:real;
begin {OUT}
t:=t+dt; ak:=100;
ksi:=ish*(random-0.5);
if t>tm then ier:=true;
x:=10+round(620/tm*t);
z:=240-round(ak*y[1]);
lineto(x,z); end; {out}
Необходимо также типизировать массивы, передаваемые
из процедуры в процедуру. Для работы процедуры rk4 должны
20
быть введены обязательные имена массивов vec, matr. Массивы
типа vec предназначены для хранения переменных y и их производных dy. Массив типа matr предназначен для хранения коэффициентов k метода Рунге-Кутта для каждого уравнения.
Следует отметить, что в главном модуле имена всех
передаваемых параметров могут быть произвольными, в том
числе и имена процедур –параметров fct, out. Важно, чтобы
данные процедуры были типизированы соответственно как
proc1, proc2, а переменные y, dy были заданы типом vec. (vec массив вещественных чисел размерностью n). Кроме того, в
главном модуле должен быть задан двумерный массив вещественных чисел размерностью [4,n], типизированный как matr.
Типизация производится в разделе описаний программы.
Описание типов должно быть следующее:
Type
vec=array[1..2] of real;
matr=array[1..4,1..2] of real;
proc1=procedure(n:integer;var y,dy:vec);
proc2=procedure(n:integer;dt:real;var y,dy:vec;var ier:boolean);
Для определения временных характеристик процесса
расставляются временные метки ti. Период меток должен выбираться таким, чтобы было удобно производить подсчет в пределах периода колебаний. Желательно, чтобы в периоде колебаний умещалось 2-3 метки, кратные tm/10. Между метками ti
расставляются децимальные метки меньшего размера. Расстановка меток осуществляется до или после завершения цикла,
например, после выхода из процедуры RK4. Расстановка меток
демонстрируется фрагментом:
for i:=0 to 10 do begin
x:=10+i*round(620/tm*ti);
line(x,(240-10),x,(240+10));
for j:=1 to 9 do begin
line(x+round(620/tm*ti*0.1*j),(240-5),
x+round(620/tm*ti*0.1*j),(240+5));end;
21
end;
При значительном изменении периода и амплитуды колебаний следует изменять величины tm и ak для удобства измерений.
Важным моментом при проведении вычислений является
выбор шага интегрирования dt и времени моделирования tm.
Шаг интегрирования должен быть на порядок меньше периода
собственных колебаний исследуемого устройства.
Время моделирования должно быть таким, чтобы на
экране отразилась картина, дающая представление о работе
устройства. Для исследования колебательного контура (1 подгруппа) этот параметр должен выбираться из условия обзора
полного затухания колебаний. Для исследования генератора
время моделирования должно выбираться из условия наблюдения выхода генератора на установившийся режим работы.
Порядок выполнения работы
1.
По заданным исходным данным рассчитать резонансную частоту исследуемого устройства в соответствии с
формулами (2.1), шаг интегрирования и время моделирования;
2.
Разработать вспомогательные процедуры fct, out в
соответствии с математической моделью.
Для исследования генератора (2 подгруппа) разработать
также процедуру-функцию, описывающую эмиттерно-базовый
переход транзистора;
3а) Для первой подгруппы:
Рассчитать критическое значение сопротивления контура по
формулам (2.1). Зафиксировать зависимость частоты колебательного контура от сопротивления R. При этом первоначальный прогон программы осуществлять при R=0
Исходные данные для моделирования принять в соответствии с табл. 2.1
.
22
№ вар 1
C мкФ 0.2
L мкГн 10
2
1
1
3
5,1
12
4
10
1
5
10
51
6
3.3
3.3
7
12
0,1
Таблица 2.1.
8
9
10
0,3 5,1 10
0,1 1
10
№
C
L
11
12
13
14 15
16
17
18
19 20
-3
-3
10
10
0.01 1
5.1 0.1 0.3 12
2
3.3
100 10
1
10 10
51
12
0,1 12 18
Для фиксации результатов рекомендуется составить таблицу значений
0 = ; dt = ; tm = ; Rкр = ;
r

3б) Для второй подгруппы:
Составить программу моделирования, провести ее отладку и прогон. Зафиксировать зависимость времени установления колебаний от значения коэффициента передачи тока
транзистора . Первоначальное значение принять =500.
Исходные данные для моделирования принять в соответствии с табл.2.3.
Табл.2.3.
№ вар 1
2
3
4
5
6
7
8
9
10
C мкФ
5
1
0.5 1
0.5 10 0,1 0,01 0,01 10-3
L мкГн 10 10 1
10 1
80 0,5 0,1
0,2
10-3
M мкГн 8
8
0,8 8
0,8 20 0,2 0,05 0,1
10-3
№
C
L
M
11
12 13 14
15
16
17
18
19 20
10-3
2
5
1
0.5 0.05 0.22 0,33 0,1 0,01
0,01
10 10 2
2
0.2
1
1
1
0,1
-3
4
8
1
1
0,1
0.8 0.5
0.8 0,08
210
Для фиксации результатов рекомендуется составить таблицу значений
0 = ; dt = ; tm = ;
23


Требования к отчету
Отчет по лабораторной работе должен содержать:
- титульный лист, содержащий название предмета, номер
и название работы, фамилии студента и преподавателя;
- цель работы;
- основные теоретические сведения о методе моделирования;
- математическую модель исследуемого устройства;
- исходные данные;
- программу моделирования;
- результаты моделирования.
Контрольные вопросы
11. Понятие о моделировании методом дифференциальных уравнений;
12. Формы записи дифференциальных уравнений;
13. Приведение дифференциальных уравнений к первому
порядку;
14. Метод Рунге-Кутта вычисления дифференциальных
уравнений;
15. Математическая модель исследуемого звена;
16. Свойства динамического звена второго порядка;
17. Правила выбора шага и времени моделирования;
18. Структура моделирующей программы;
19. Правила вывода графической информации;
20. Определение временных интервалов по результатам
моделирования;
24
Лабораторная работа № 3
Моделирование радиоустройств методом дифференциальных уравнений
Цель работы:
Моделирование радиоустройств на уровне функциональных звеньев методом решения дифференциальных уравнений.
Задачи исследований:
1. Составить математическую модель радиоустройства в
соответствии с функциональной схемой.
2. Составить программу моделирования в соответствии с
математической моделью.
3. Получить осциллограммы напряжений в контрольных
точках.
4. Оптимизировать параметры функциональных звеньев
путем визуального наблюдения осциллограмм.
Основные теоретические сведения
Для моделирования радиоустройств методом дифференциальных уравнений необходимо описать уравнением каждый блок,
входящий в схему. Уравнение блока связывает выходные и
входные фазовые переменные. Предварительно осуществляется
расстановка фазовых переменных. Выходная переменная каждого блока должна быть описана соответствующим уравнением.
Если блок описывается уравнением высокого порядка, то это
уравнение нужно представить в виде системы уравнений первого порядка путем введения вспомогательных переменных. В
этом случае количество переменных, описывающих блок, будет
равно порядку исходного уравнения. Из них одна будет выходной фазовой переменной блока.
Если уравнение не имеет производных от входной величины x, то преобразование может быть осуществлено следую25
щим образом. Например, пусть имеется линейное дифференциальное уравнение n-го порядка.
an y(n) + an-1 y(n-1) +...+ a1 y(1) +a0 y = bx
Преобразуем его, введя вспомогательные переменные y1, ..., yn:
 y1  y 2 ;
 y  y ;
 2
3
.

 y n 1  y n ;
 y n  (a n 1 y n  a n 2 y n 1 ....  a1 y 2  a0 y1  bx) / a n
Таким образом, получена система из n уравнений с n
неизвестными. При этом выходной переменной, соответствующей y в исходном уравнении будет переменная y1. Нумерацию
переменных в схеме следует проводить с учетом всех вспомогательных переменных.
Если линейное динамическое звено задано передаточной
функцией, ее необходимо преобразовать в дифференциальное
уравнение. Для этого первоначально составляется операторное
уравнение, в которое входят входная и выходная фазовые переменные x, y, а также комплексная частота p. Затем осуществляется переход на временное измерение путем взятия обратного
преобразования Лапласа. При этом умножение функции на
комплексную переменную p эквивалентно взятию производной
от данной временной функции.
Пусть имеется передаточная функция
b p n  bn 1 p n 1  ...  b1 p  b0
.
K ( p)  n n
an p  an 1 p n 1  ...  a1 p  a0
Представив K(p)=y(p)/x(p), получим операторное уравнение
an y(p)pn + an-1 y(p)pn-1 + …+ a1 y(p)p + a0y(p) = bnx(p)pn + bn-1
x(p)pn-1 + … +b0x(p).
Теперь взяв обратное преобразование Лапласа, получим линейное дифференциальное уравнение n-го порядка:
26
n
d y
dt
n
 a n 1
d
n 1
y
n
n 1
 ...  a 0 y  bn
d x
n
 bn 1
d
n 1
x
 ...  b0 x .
dt
dt
dt
Далее уравнение раскладывается на систему уравнений
первого порядка, которые представляются в правильной форме
Коши.
Решение уравнений осуществляется методом РунгеКутта 4 порядка, описанным в лабораторной работе № 2.
an
n 1
Методические рекомендации
Моделируется амплитудный детектор для первой подгруппы и
частотный детектор для второй подгруппы. При этом входной
сигнал моделируется методом решения дифференциального
уравнения вида y  a1 y  a0 y  0 , где a1, a0 – коэффициенты,
определяемые табл. 3.1 для различного типа узкополосных сигналов.
Таблица 3.1.
Вид моa1
a0
дуляции
2
АМ
mам  (t )
 mам (t ) 
mам(t )
2
2
 0  2
1  mам  (t )
 
1  mам (t )  1  mам (t )
(t )
ФМ
mфм 
[0  mфм (t )] 2
 0  mфм  (t )
ЧМ
m  (t )
[  m  (t )] 2
чм
 0  mчм  (t )
0
чм
Где m – индекс модуляции;
 - информационный параметр;
0 – несущая частота.
Для амплитудно-модулированного сигнала индекс модуляции рекомендуется принять m=0,7.
Для частотно-модулированного сигнала индекс модуляции имеет смысл девиации частоты, для наглядности изображе27
ния рекомендуется принять равным половине несущей частоты
m= fд = 0.5f0.
Информационный параметр задается в виде гармонического процесса частоты  с помощью дифференциального
уравнения y   2 y  0
Функциональная схема амплитудного детектора представлена на рис.2.1.
y1
y3
y5
y6
y7
gc
g
АД
ФНЧ
ФВЧ
Рис.3.1. Функциональная схема амплитудного детектора
g - генератор информационного процесса;
gc - генератор АМ-сигнала;
АД - амплитудный детектор;
ФНЧ - фильтр низких частот;
ФВЧ - фильтр высоких частот.
Функциональная схема частотного детектора с расстроенными контурами представлена на рис.2.2
1
y1
g
gc
y3
y5
К1
y9
АД1
y7
К2
y11
ФНЧ1
y10
АД2
y13
ФВЧ1
y12
ФНЧ2
2
ФВЧ2
+
y14
Рис.3.2. Функциональная схема частотного детектора
g - генератор информационного процесса;
gc - генератор АМ-сигнала;
АД - амплитудный детектор;
ФНЧ - фильтр низких частот;
ФВЧ - фильтр высоких частот.
К – контура, настроенные на частоты 1, 2.
28
y
Амплитудный детектор описывается дифференциальным
уравнением
 д y  y  RG ( x  y )  0
где G - нелинейная характеристика диода. В соответствии с
моделью Эберса-Молла G(x-y) = I0exp((x-y)/m/t).
m=10 - эмпирический коэффициент;
t = 0.025 - температурный потенциал;
I0 = 10-4 - тепловой ток.
R – сопротивление в цепи детектора; рекомендуемое значение
R = 1 кОм.
д - постоянная времени детектора.
Постоянная времени детектора должна быть в 3…5 раз
меньше периода несущего колебания, т.е. д = 0.3Тн.
Фильтр нижних частот представим в виде апериодического звена первого порядка, описываемого уравнением:
 n y  y  x
где n - постоянная времени ФНЧ.
Постоянная времени ФНЧ должна быть соизмерима с
периодом несущего колебания n  Тн.
Фильтр высоких частот будем моделировать в виде C-R
цепи первого порядка, описываемой уравнением:
 v y  y   v x
где v - постоянная времени ФВЧ.
Постоянная времени ФВЧ должна быть соизмерима с
периодом модулирующего колебания v  Тм.
Таким образом, схема амплитудного детектора (для первой подгруппы) описывается пятью дифференциальными уравнениями, первые два из которых второго порядка. Представив все уравнения в правильной форме Коши, получим систему из семи уравнений первого порядка. Введем соответствующие переменные y1...y7. Получим систему дифференциальных уравнений
29
1
y

2
y
y

 3
4
y
y

 5
6
y

7
y
 y2 ;
  2 y1 ;
 y4 ;
 ( a1 y 4  a0 y3 );
 ( R * G ( y3  y5 )  y5 ) /  ;
 ( y5  y 6 ) /  n ;
 6  y7 /  v .
 y
Численное решение системы уравнений позволит определить выходные сигналы всех блоков структурной схемы.
Модель частотного детектора (для второй подгруппы)
состоит из 14 дифференциальных уравнений первого порядка и
одного алгебраического для переменной y, описывающее сумматор. Алгебраическое уравнение вида y=y13 – y14 не включается в процедуру FCT, а записывается в процедуре OUT.
Модель контура представим динамическим звеном второго порядка, описываемым уравнением
y  2y   2 y   2 x
Резонансные частоты расстроенных контуров 1, 2 выбираются из условия 1 = f0 + fд; 2 = f0 – fд. Тогда система
дифференциальных уравнений будет выглядеть следующим образом:
 y1  y 2 ;

2
 y 2   y1 ;
 y 3  y 4 ;

 y 4  ( a1 y 4  a0 y3 );
 y  y ;
6
 5
 y 6  12 ( y3  y5 )  21 y 6 ;

 y 7  y8 ;
30
 y 8   22 ( y3  y7 )  22 y8 ;

 y 9  ( R * G ( y5  y9 )  y9 ) /  д ;
 y10  ( R * G ( y7  y10 )  y10 ) /  д ;


 y11  ( y9  y11 ) /  n ;
 y  ( y  y ) /  ;
10
12
n
 12
 y13  y11  y13 /  v .


 y14  y12  y14 /  v .
Примерный вид процедуры FCT аналогичен работе 2, в
нее должны быть включены уравнения, соответствующие моделируемому устройству. При этом коэффициенты а0, а1 выбираются из табл. 3.1 в зависимости от вида модуляции. Для сокращения времени вычислений рекомендуется повторяющиеся
конструкции (например 1+mам(t) вычислять единожды при
каждом обращении к FCT, для чего ввести вспомогательную
переменную zn.
procedure FCT(n:integer; var y, dy : vec); far;
var a0,a1,zn:real;
begin {fct}
dy [1]: =y[2];
dy [2]: =-om*om*y[1];
zn:=1+m*y[1];
{ для АМ }
a0:=w0*w0+2*sqr(ma*y[2]/zn)-ma*dy[2]/zn; { для АМ }
a1:=-2*ma*y[2]/zn;
{для АМ}
zn:=w0-df*y[1];
{ для ЧМ}
a0:=zn*zn;
{для ЧМ}
a1:=df*y[2]/zn;
{для ЧМ}
dy[3]:=y[4];
dy[4]:=-(a1*y[4]+a0*y[3]);
…………………
end;{fct}
31
Для контроля процессов, протекающих в схеме, выводятся в графическом режиме значения контрольных переменных. При моделировании амплитудного детектора рекомендуется вывести 4 переменных y3, y5, y6, y7.
При моделировании частотного детектора для контроля
работы схемы рекомендуется вывести 6 переменных y3, y5 , y7,
y11, y12, y.
Для вывода параллельно нескольких переменных следует организовать и описать массивы x, z, xold, zold типа vec1, где
vec1=array[1..k], к – количество выводимых переменных (для
амплитудного детектора к=4, для частотного к=6). Каждая переменная должна быть привязана к своей системе координат,
координатные оси строятся в главном модуле до входа в RK4. В
процедуре OUT организуется цикл по выводимым переменным.
Информация выводится с помощью оператора line(xold[i],
zold[i], x[i], z[i]), где xold, zold – координаты точки на предыдущем шаге, x, z – координаты точки на текущем шаге. После
осуществления вывода следует массивам xold, zold присвоить
текущие значения x, z. Примерный вид процедуры OUT(для
первой подгруппы):
procedure out(n:integer;dt:real;var y,dy:vec;var ier:boolean); far;
const
ak:real=30;
var i,a:integer;
begin {OUT}
t:=t+dt;
a:=round(300*t/tm);
for i:=1 to 2 do x[i]:=10+a;
for i:=3 to 4 do x[i]:=320+a;
z[1]:=50-round(ak*y[3]);
z[2]:=150-round(ak*y[5]);
z[3]:=50-round(ak*y[6]);
z[4]:=150-round(ak*y[7]);
for i:=1 to 4 do line(xold[i],zold[i],x[i],z[i]);
32
xold:=x; zold:=z;
if t>tm then ier:=true;
end;
В процедуре OUT обязательными операторами являются
оператор модификации модельного времени ( t:=t+dt) и оператор условия завершения счета (if t>tm then ier:= true). Вывод
информации осуществляется с помощью графических операторов.
Шаг интегрирования должен быть на порядок меньше
периода несущего колебания, время моделирования выбирается
из условия обзора трех-пяти периодов модулирующего процесса.
Варианты заданий для обеих подгрупп представлены в
табл. 3.2.
Таблица 3.2.
№ вар
1
2
3
4
5
6
7
Несущая частота
F0 , МГц
Частота инф.
процесса f, кГц
№ вар
F0 ,
МГц
f, кГц
№ вар
F0 , МГц
f, кГц
0,1
0,15
0,2
0,25
0,3
0,35
0,4
10
15
20
25
30
35
40
8
9
10
11
12
13
14
15
16
0,45
0,5
0,55
1,0
1,5
2,0
2,5
3,0
3,5
45
50
55
100
150
200
250
300
350
17
18
4,0
400
4,5
450
19
5,0
500
20
5,5
550
Порядок выполнения работы
Работа выполняется в среде ТУРБО-ПАСКАЛЬ;
В процессе выполнения работы должны быть выполнены
следующие операции:
33
1.
Проведены предварительные расчеты по определению
основных характеристик моделируемого устройства (постоянных времени всех звеньев, входящих в модель);
2.
Проеден расчет шага интегрирования и времени моделирования.
3.
Составлена математическая модель заданного устройства;
4.
Составлена программа моделирования;
5.
Зафиксированы результаты исследований;
6.
Составлен отчет о проделанной работе.
Требования к отчету
1.
2.
3.
4.
Отчет о работе должен содержать:
Основные теоретические сведения о моделируемом процессе;
Математическую модель исследуемого устройства;
Программу моделирования;
Результаты моделирования с представлением заданных
зависимостей.
Контрольные вопросы
1. Математические модели основных звеньев, входящих в
моделируемое устройство;
2. Связь передаточных функций и дифференциальных
уравнений;
3. Правила расчета постоянных времени звеньев;
4. Выбор шага интегрирования и времени моделирования
5. Метод интегрирования
6. Правила вывода информации о нескольких переменных.
7. Модель полупроводникового диода.
34
Лабораторная работа №4
Исследование характеристик случайных процессов
Цель работы: моделирование случайных процессов по
заданным характеристикам и исследование характеристик эмпирического процесса.
Задачи исследований:
1. Смоделировать случайный процесс по заданной характеристике (корреляционной функции – для первой подгруппы или
спектральной плотности – для второй подгруппы);
2. Определить основные статистические характеристики
полученного случайного процесса (математическое ожидание,
дисперсию);
3. Вычислить корреляционную функцию (для первой подгруппы) и оценить закон распределения (для второй подгруппы).
Основные теоретические сведения
Случайный процесс может моделироваться по заданной
корреляционной функции, либо по заданной спектральной
плотности. Будем рассматривать Гауссовские случайные процессы, т.е. имеющие нормальный закон распределения.
 ( x  mx ) 2 
1

(4.1)
f ( x) 
exp  
2 2 
2 

В любом случае случайный процесс моделируется на основе нормированного Гауссовского белого шума, имеющего
дисперсию 2 = 1. Белый шум представляет собой последовательность независимых случайных чисел, имеющих заданный
закон распределения. В частности, Гауссовский белый шум
формируется в соответствии с центральной предельной теоремой Ляпунова, определяющей, что закон распределения суммы
случайных величин, имеющих произвольный закон распределе35
ния, стремится к нормальному. При суммировании случайных
величин их математические ожидания и дисперсии складываются. Будем использовать для формирования нормального закона равномерное рандомизированное распределение, имеющее
параметры mx = 0.5, 2 = 1/12. Тогда Гауссовская последовательность чисел может быть сформирована с помощью 12 рандомизированных чисел Ri, по формуле
12
g   ( Ri  6) *  g  m g ,
i 1
где mg , g – мат. ожидание и среднеквадратическое отклонение
Гауссовской последовательности. Для моделирования случайного процесса берется нормированная и центрированная Гауссовская последовательность с параметрами mg=0; g=1.
Случайный процесс моделируется по заданной корреляционной функции с помощью рекуррентной формулы
xn+1 = axn + b,
где  - нормированный и центрированный белый шум;
a, b – коэффициенты, определяемые из условия обеспечения заданной дисперсии и корреляционной функции:
a=R(t)/D; b  D (1  a 2 ) ;
Здесь R(t) – значение корреляционной функции за один
шаг моделирования;
D – дисперсия случайного процесса.
Так, если корреляционная функция имеет вид
  t
R()=Dexp(-||), то коэффициент a  e
. Параметр  в показателе экспоненты характеризует среднее количество переходов через ноль в единицу времени.
Моделирование случайного процесса по заданной спектральной плотности осуществляется путем пропускания Гауссовского белого шума, имеющего единичный спектр, через
формирующий
фильтр
с
передаточной
функцией
36
W ( p)  S ( ) , где S() – заданная спектральная плотность
(рис.4.1).
X(p)
W(p)
Y(p)
Y(p)=X(p)W(p)
Рис.4.1. Схема моделирования случайногопроцесса по
заданной спектральной плотности
В качестве входного сигнала Х(р) возьмем белый шум со
спектральной плотностью S0=1. Тогда его дисперсия будет
Dx=1/t. Для получения достоверной модели необходимо соблюдать условие t=2/в, где в - верхняя граничная частота
усеченного белого шума.
Например, случайный процесс задан спектральной плотностью
2 D
S ( )  2
 2
Тогда передаточная функция формирующего фильтра будет
2 D
(4.2)
W ( p) 
 p
Составим из данной передаточной функции операторное
уравнение
Yp  Y  X 2 D
(4.3)
Перейдем от операторного уравнения к дифференциальному
dy / dt  y   2 D ; y0  0.
(4.4)
Здесь - Гауссовский белый шум единичной спектральной плотности с характеристиками: М=0,   1/ t .
Решением дифференциального уравнения является искомый случайный процесс. Используя нормированный белый
шум, получим
37
dy
 y   0
dt
2 D
;
t
y 0  0.
(4.5)
Здесь 0 – нормированный белый шум (М=0, =1).
Представив уравнение в правильной форме Коши и применив метод Эйлера, получим рекуррентную формулу

2 D 
  t .
y n 1  y n   y n   0
(4.6)


t


Для оценки статистических характеристик вычисляются
выборочное среднее
1 N
x   xi ,
(4.7)
N i 1
выборочная дисперсия
~
S 
2
1  N 2 1  N  ,
 xi    xi  
N  1  i 1
N  i 1  
(4.8)
оценочное значение корреляционной функции
R(m) 
1
1 N m N m
 N m

xi  xi  m  .
  xi xi  m 

N  m  1  i 1
N  m i 1 i 1

(4.9)
Здесь N – объем выборки;
m – аргумент корреляционной функции (отставание значений случайного процесса, выраженное в количестве шагов).
При переходе от непрерывного временного аргумента  к
дискретному аргументу m следует иметь в виду, что  = mt.
Интервал корреляции случайного процесса (т.е. значение
, при котором корреляционная функция обращается в ноль)
составляет к  3/. Таким образом, при вычислении корреляционной функции следует выбирать аргумент m в пределах
(0…3/(t)).
Закон распределения случайной величины оценивается в
соответствии с критерием Пирсона 2 (критерий хи-квадрат).
Первоначально выдвигается гипотеза о форме закона
распределения и подбирается аналитическая кривая, описыва38
ющая этот закон (будем называть его теоретическим). Затем
осуществляется проверка гипотезы с помощью критерия Пирсона. Методика оценки следующая:
1). Выбирается гипотеза о форме эмпирического распределения.
2). Область распределения случайной величины разбивается
на k интервалов.
3). Рассчитывается количество (частота) попаданий величины
х в заданный интервал mi = [1,k].
4). Рассчитывается вероятность попадания теоретического закона в i-й интервал.
xi  1

Pi 
f ( x ) dx..
xi
5). Рассчитывается мера расхождения между эмпирическими
частотами и теоретической вероятностью
k
   (mi  nPi )2 / (nPi );
2
i 1
n - объем выборки;
6). По таблицам распределения Пирсона определяется степень
достоверности принятой гипотезы . Если степень достоверности выше заданной, то гипотеза о выбранном законе распределения принимается, если меньше – отвергается. В случае отвержения гипотезы выбирается другой закон распределения.
Вероятность попадания случайной величины x в i-й интервал определяется через функцию распределения величины x
на границах интервала
Pi=F(xi+1)-F(xi).
Для нормального закона распределения вероятность
определяется через интеграл вероятностей
x x
x x
Pi   i 1
   i
.
  
  
39
С математической точки зрения величина 2 является
квантилем распределения Пирсона порядка =1- , т.е. функция
распределения F(2, )=.
Здесь F(2, ) – функция распределения Пирсона. Данная
функция представляет собой двухпараметрический закон распределения, где  = К-1 – число степеней свободы критерия.
Методические рекомендации
В процессе выполнения работы моделируется случайный
процесс по заданной характеристике (для первой подгруппы –
по заданной корреляционной функции, для второй – по заданной спектральной плотности). Исходные данные для моделирования определяются табл. 4.1, в которой задаются дисперсия D
и параметр .
Для проведения моделирования следует выбрать шаг моделирования dt и время моделирования tm. Шаг моделирования
должен быть на порядок меньше величины (1/), т.е dt1/(10).
Время моделирования выбирается из условия генерации по
крайней мере 104 значений случайного процесса. Таким образом, tm=104 dt.
Для моделирования случайного процесса следует сформировать Гауссовскую последовательность случайных чисел с
помощью процедуры gaus.
Procedure gaus(m,si:real;var g:real);
var i:integer;
begin
g:= 0;
for i=1 to 12 do g:=g+random;
g:=(g-6)*si+m;
end;
Для вычисления статистических характеристик на каждом шаге интегрирования накапливаются частичные суммы S1,
40
S2, S3, S4, а также подсчитывается количество циклов N, которое будет равно объему выборки.
В частичной сумме S1 накапливаются текущие значения
случайного процесса;
В частичной сумме S2 накапливаются квадраты текущих
значений случайного процесса, необходимые для вычисления
дисперсии.
Для вычисления корреляционной функции (для первой
подгруппы) следует организовать буферный массив к, в который будут записываться задержанные значения случайной величины. Для заполнения массива необходимо на каждом шаге
моделирования осуществлять его «прокрутку», т.е. сдвиг всех
значений на один шаг вправо, а нулевому элементу присваивать
текущее значение случайной величины. Тогда номер элемента
массива будет соответствовать задержке относительно текущего значения. Размер массива bm определяется соотношением
длительности корреляционной функции и шага моделирования
bm:=round(tr/dt); где tr=3/ - длительность корреляционной
функции.
Выберем количество точек для построения корреляционной функции к=10. Тогда частичные суммы S3, S4 являются
одномерными массивами размерностью 10, в которых накапливаются соответственно сдвинутые на определенное количество
шагов значения случайного процесса (S3) и произведения текущего значения на сдвинутое (S4). С помощью частичных сумм
S3, S4 после завершения цикла вычисляется корреляционная
функция случайного процесса по формуле
re[i]:=(s4[i]-s1*s3[i]/(n-m[i]))/(n-m[i]-1)
Тогда задержанное на m[i] шагов значение случайной
величины будет храниться в элементе массива k[m[i]], где
m[i]=i*dm, где i=1…k – номер расчетной точки. Величина dm
характеризует шаг вычисления эмпирической корреляционной
функции и определяется целочисленным делением длительности корреляционной функции в шагах на количество исследуе41
мых точек dm:=bm div 10. Следовательно, частичные
суммы S3, S4 будут накапливаться следующим образом:
For i:= 1 to 10 do begin
q:=i*r div 10;
S3[i]:=S3[i]+y;
S4[i]:=S4[i]+y*k[m[i]];
end;
Ниже приведен фрагмент главного модуля программы
для моделирования случайного процесса по заданной корреляционной функции и вычисления статистических характеристик
(для первой подгруппы).
y:=0;t:=0;
s1:=0; s2:=0;
tr:=3/al;
bm:=round(tr/dt);
dm:=bm div 10;
for i:=0 to 10 do begin s3[i]:=0; s4[i]:=0;
tau[i]:=i*tr/10;m[i]:=i*dm end;
for i:=0 to bm do k[i]:=0;
repeat
gaus(0,1,g);
y:=a*y+b*g;
t:=t+dt; n:=n+1;
for i:=bm downto 1 do k[i]:=k[i-1];
k[0]:=y;
x:=10+round(620/tm*t); z:=50-round(10/sqrt(d)*y);
lineto(x,z);
s1:=s1+y;
s2:=s2+y*y;
for i:=0 to 10 do begin
s3[i]:=s3[i]+k[m[i]]; s4[i]:=s4[i]+y*k[m[i]]; end;
until t>tm;
mop:=s1/n; dp:=(s2-s1*s1/n)/(n-1);
writeln('mo= ',mop,' d= ',dp);
42
moveto(10,470);
for i:=0 to 10 do begin
r[i]:=d*exp(-al*tau[i]);
re[i]:=(s4[i]-s1*s3[i]/(n-m[i]))/(n-m[i]-1);
x:=10+round(620/tau[10]*tau[i]);
z:=470-round(200/d*r[i]);
lineto(x,z) end;
setlinestyle(3,0,1);moveto(10,470);
for i:=0 to 10 do begin
x:=10+round(620/bm*m[i]);
z:=470-round(200/d*re[i]);
lineto(x,z); end;
readln
Для оценки закона распределения случайного процесса
(для второй подгруппы) целесообразно ввести вспомогательные
процедуры: для построения гистограммы (процедура graphics),
вычисления интеграла вероятностей (процедура erf) и оценки
достоверности гипотезы (процедура xi2), функция вычисления
кривой Гаусса (функция gt).
Procedure GRAPHICS(k:integer;l:vec1;m:vec2);
const ln:integer=470;
var
i,dx,x,y,x2:integer;
ay,d,g:real;
BEGIN {GRAPHICS}
dx:=600 div k;
ay:=400/m[k div 2];
x2:=k div 2;
line(0,ln,640,ln);
for i:=0 to k-1 do begin
x:=310-dx*(x2-i);
y:=ln-round(ay*m[i+1]);
line(x,ln,x,y);line(x,y,x+dx,y);
line(x+dx,y,x+dx,ln);
43
end;
ay:=400*si*sqrt(2*pi);
x:=310-dx*x2;y:=ln-round(ay*gt(l[0]));
moveto(x,y);
for i:= 1 to k do begin
x:=310-dx*(x2-i);y:=ln-round(ay*gt(l[i]));
lineto(x,y);
end;
END; {GRAPHICS}
Здесь к – число интервалов разбиения интервала изменения случайной величины; l – границы интервалов; m – количество (частота) попадания случайной величины в каждый интервал. Величины l и m являются одномерными массивами размерностью к. В разделе описаний главного модуля их следует
определить
type
vec1=array[0..20] of real;
vec2=array[1..20] of integer;
var
l:vec1;
m:vec2;
Процедура вычисления интеграла вероятностей:
Procedure erf(mo,si,x:real;var p:real);
var
r,s,w,xk:real;
k,nk:integer;
const eps:real=1e-6;
begin
x:=(x-mo)/si/sqrt(2);
r:=1; s:=x; nk:=0;
repeat
nk:=nk+1; k:=2*nk+1; r:=-r/nk; w:=s;
if x>0 then xk:=exp(k*ln(x)) else if x=0 then xk:=0
else xk:=-exp(k*ln(-x));
44
s:=s+xk*r/k;
until abs(w-s)<eps;
p:=0.5+s/sqrt(pi);
end {erf};
Здесь х – текущее значение границы интервала, в которой определяется функция; mo,si мат. ожидание и СКО случайной величины, определяемые заданием. Величина mo=0
для всех вариантов.
Процедура оценки достоверности гипотезы может быть
представлена в следующем виде
procedure xi2(x:real;v:integer;var q:real);
var a,b,g,s,w,z,f:real;
i,k:integer;
const eps:real=1e-3;
begin
a:=v/2;
if v=1 then g:=sqrt(pi) else if odd(v) then begin
g:=sqrt(pi)*0.5;if v>3 then for i:=1 to trunc(a)-1 do g:=g*(a-i)
end
else begin g:=1;if v>4 then for i:=1 to trunc(a)-1 do g:=g*(a-i)
end;
if x<>0 then f:=exp((a-1)*ln(x))/exp(a*ln(2))/g/exp(x/2) else f:=0;
s:=1;k:=1;z:=1;
repeat
w:=s;
z:=z*x/(v+2*k);
s:=s+z;
k:=k+1;
until abs(s-w)<eps;
q:=1-2*x*f*s/v;
end;
Здесь х – значение вычисленного параметра xi; v = k-1 – количество степеней свободы критерия; q – значение достоверности.
Функция вычисления кривой Гаусса
45
function gt(x:real):real;
begin
gt:=exp(-sqr(x-mo)/2/si/si)/si/sqrt(2*pi);
end;
Ниже приведен главный модуль программы (для второй
подгруппы).
BEGIN
driver:=detect;
initgraph(driver,mode,' ');
line(10,10,10,100); line(10,50,630,50);
moveto(10,50);
y:=0;t:=0;
s1:=0; s2:=0;
a:=sqrt(2*d*al/dt);
si:=sqrt(d);
for i:=1 to k do m[i]:=0;
for i:=0 to k do l[i]:=-6*sqrt(d)/k*(k/2-i);
repeat
gaus(0,1,ksi);
y:=y+dt*(ksi*a-al*y);
t:=t+dt; x:=10+round(620/tm*t);
z:=50-round(10/sqrt(d)*y);
lineto(x,z);
n:=n+1;
s1:=s1+y;
s2:=s2+y*y;
for i:=1 to k do if(y>l[i-1])and(y<=l[i]) then m[i]:=m[i]+1;
until t>tm;
mop:=s1/n; dp:=(s2-s1*s1/n)/(n-1);
GRAPHICS(k,l,m);
xi:=0;
for i:= 1 to k do begin
erf(mo,si,l[i-1],f1);
erf(mo,si,l[i],f2);
46
p:=f2-f1;
xi:=xi+sqr(m[i]-n*p)/n/p;
end;
v:=k-1;
xi2(xi,v,q);
writeln('mo= ',mop:6:4,' d= ',dp:6:2,' xi2=',xi:6:2,' q=',q:6:2);
readln
END.
Порядок выполнения работы
1.
По заданным исходным данным рассчитать шаг и время
моделирования.
2.
Составить моделирующую программу в соответствии с
заданием.
3.
Вычислить заданные характеристики случайных процессов (мат.ожидание и дисперсию – для всех; корреляционную
функцию – для первой подгруппы; оценку закона распределения – для второй подгруппы);
4.
Составить отчет о выполненной работе.
Исходные данные принять в соответствии с табл. 4.1.
Табл. 4.1.
№ 1
2
3
4
5
6
7
8
1.44
22,5
4
6,25
9
12,25
16
D 1
1000 1500 2000 2500
3000
3500
 100 500
№ 9
D 20,25
 4000
№
D

10
25
4500
16
9
7500
11
1
5000
17
12,25
8000
12
1.44
5500
18
16
8500
13
22,5
6000
19
20,25
9000
14
4
6500
15
6,25
7000
20
25
10000
47
Требования к отчету
Отчет по лабораторной работе должен содержать:
- титульный лист, содержащий название предмета, номер
и название работы, фамилии студента и преподавателя;
- цель работы;
- основные теоретические сведения о методе моделирования;
- математическую модель исследуемого процесса;
- исходные данные;
- программу моделирования;
- результаты моделирования.
Контрольные вопросы
1. Моделирование Гауссовского белого шума;
2. Моделирование случайного процесса по заданной
корреляционной функции;
3. Моделирование случайного процесса по заданной
спектральной плотности;
4. Выбор шага и времени моделирования;
5. Вычисление математического ожидания и дисперсии
случайного процесса;
6. Вычисление корреляционной функции случайного
процесса;
7. Оценка закона распределения случайной величины.
Критерий Пирсона;
8. Определение вероятности попадания Гауссовской случайной величины в заданный интервал;
9. Нормальное распределение и его характеристики.
48
ЧАСТЬ 2
Лабораторная работа № 5
Моделирование устройств автоматики на операционных усилителях
Цель работы: Моделирование суммирующих усилителей
на базе операционного усилителя.
Основные теоретические сведения
Операционным усилителем называют аналоговое
устройство усиления разности напряжений на его прямом и инверсном входах. Напряжение на выходе ОУ определяется соотношением
Uвых=КуU,
где U= U - U ;
U – напряжение на прямом (неинвертирующем) входе;
U - напряжение на инверсном входе.
Будем считать, что операционный усилитель обладает
идеальными свойствами, т.е. Rвх = ; Ку =; Rвых =0. В этом случае напряжения на прямом и инверсном входах равны и ток
входной цепи отсутствует.
Рассмотрим работу схемы в прямом и инверсном режимах. Будем считать в общем случае элементы zi комплексными
сопротивлениями.
1. Инверсное включение:
Z0
х
Z1
i0
U
y
i1
U
Рис.5.1. Инверсное включение ОУ
49
В силу бесконечности входного сопротивления ток во
входной цепи отсутствует и i0 = i1. В силу бесконечности коэффициента усиления U = 0. Тогда U = 0. Составим уравнения
токов
z
y
x
y
 ;
K   0 .
z0
z1
x
z1
В частности, если элементы zi являются активными сопротивлениями, то коэффициент передачи будет
К = -R0 /R1.
(5.1)
2. Прямое включение:
Z0
Z1
U
i0
y
i1
U
х
Рис.5.2. Прямое включение ОУ
В этом случае U = U = х. Составим уравнение
z
yx x
y z z
 ; yz1 – xz1 = xz0; K   0 1  1  0 .
z0
z1
x
z1
z1
В случае активных сопротивлений
K = 1 + R0 /R1.
(5.2)
На базе операционного усилителя могут создаваться различные статические и динамические звенья, в частности, суммирующие усилители.
Рассмотрим синтез суммирующего усилителя, реализующего функцию
n
m
i 1
i 1
y   k1i x1i   k 2i x 2i ,
где
k1i – коэффициенты передачи каналов суммируемых сигналов;
50
k2i – коэффициенты передачи каналов вычитаемых сигналов;
x1i – суммируемые сигналы;
x2i – вычитаемые сигналы;
Представим схему в виде рис.5.3.
i11
x11
…
x1n
i1n
R11
x10
R1n
U
I21
x21
R10
y
U
…
I2n
R0
i0
x2n
x20
R20
Рис.5.3. Суммирующий усилитель
Задача синтеза схемы состоит в определении сопротивлений R1i, R2i и R0 по заданным значениям коэффициентов усиления К1i и К2i. Сформируем две суммы коэффициентов передачи
S1   K1i ,
S 2   K 2i .
Здесь S1 – сумма коэффициентов передачи по прямому входу;
S2 – сумма коэффициентов передачи по инверсному входу.
Поскольку, как было показано выше (5.1, 5.2), при одних
и тех же значениях сопротивлений коэффициент передачи по
51
прямому входу на единицу больше, чем по инверсному, то в
любом усилителе должно выполняться условие баланса коэффициентов передачи
S1= S2+1.
(5.3)
Поскольку при заданных значениях коэффициентов передачи К1i, К2i условие (5.3) вряд ли будет выполнено, следует
ввести дополнительные коэффициенты передачи для обеспечения баланса
K10 = S2 +1 – S1 либо K20 = S1 – S2 – 1.
(5.4)
При этом следует помнить, что коэффициенты Kij всегда положительны. Следовательно, выбирается тот из коэффициентов
Ki0, который окажется положительным. Дополнительный коэффициент передачи вводится путем добавления в схему заземленного резистора, подключенного к соответствующему входу
операционного усилителя. Поскольку резистор заземлен, это
эквивалентно добавлению нулевого сигнала, не влияющего на
работу схемы.
Расчет сопротивлений осуществляется следующим образом.
1. Произвольно задается сопротивление R0;
2. Рассчитываются сопротивления R2i gпо формулам
R2 i 
R0
;
K 2i
3. Произвольно задается одно из сопротивлений R1j для
одного из прямых входов;
4. Рассчитываются остальные сопротивления по формуле
R1i 
K1 j
K1i
R1 j при i  j.
Здесь K1i – коэффициент передачи по рассчитываемому входу;
R1j, K1j – сопротивление и коэффициент передачи по
входу, выбранному в п. 3.
При выборе сопротивлений следует иметь в виду, что все
сопротивления схемы должны быть на порядок меньше входно52
го сопротивления операционного усилителя и на порядок больше его выходного сопротивления. Учитывая, что входное сопротивление ОУ Rвх лежит в пределах 1…10 Мом, а выходное
сопротивление Rвх = 10…100 Ом, рекомендуется выбирать сопротивления R0, R1j в диапазоне 10…100 кОм.
Методические рекомендации
При выполнении работы производится расчет сопротивлений в соответствии с приведенной методикой. Из библиотеки
операционных усилителей EWB выбирается линейная модель
(ideal). На входы подключаются источники постоянных напряжений (battery). Отрицательные клеммы источников заземляются. Напряжения источников моделируют входные сигналы xij.
Для проверки правильности собранной схемы следует задать
несколько значений напряжений источников, при этом напряжение на выходе схемы должно соответствовать расчетному по
заданной формуле. Напряжения следует подбирать такие, чтобы
выходное напряжение не превышало 20 В. В противном случае усилитель входит в режим ограничения.
Моделирование проводится в режиме расчета по постоянному току. Для этого в меню программы EWB analisis\ выбирается опция (DC analis). Перед проведением анализа следует
произвести расстановку номеров узлов, для чего в меню circuit
включить опцию show nodes. В результате моделирования открывается окно со значениями напряжений во всех узлах схемы.
Порядок выполнения работы:
1.
По заданным исходным данным выбрать сопротивления R0, Rij.
2.
Рассчитать сопротивления R1i, R2i .
3.
Собрать схему моделирования.
53
4.
Задавая различные значения входных сигналов,
получить и зафиксировать выходной сигнал. Результаты свести
в таблицу 5.1. Значения входных сигналов выбираются таким
образом, чтобы значения выходного сигнала находились в пределах  15 В.
5.
Убедиться в соответствии полученных результатов расчетным значениям.
Таблица 5.1.
№ пп
Х11
Х12
Х21
Х22
y
1
2
3
4
Исходные данные для моделирования представлены в
табл. 5.2.
Таблица 5.2.
№ вар 1 2 3 4
5
6
7 8
9
10
К11
1 2 2 1,5 5
4
4 3
1
3
К12
1 1 3 2
2
2
3 1,5 1,5 6
К21
1 2 2 2
1,5 3
1 2
2
4
К22
1 1 5 1
3
5
3 3
1
8
№ вар
К11
К12
К21
К22
11
1
5
2
1
12
2
4
1
5
13
3
5
1
2
14
1
2
3
4
15
1,5
1
3
2
16
4
5
2
3
17
2
5
1
1
18
3
2
2
3
19
1
1,5
3
1
20
3
5
4
2
Во всех вариантах заданы по два сигнала на каждый вход
ОУ. При этом реализуется уравнение y = k11x11 + k12x12 – k21x21 –
k22x22.
54
Требования к отчету
Отчет о работе должен содержать:
- краткие теоретические сведения о расчете суммирующего усилителя;
- расчет схемы;
- схему моделируемого устройства;
- результаты моделирования.
Контрольные вопросы
1.
2.
3.
4.
5.
Параметры идеального операционного усилителя;
Операционный усилитель в инверсном включении;
Операционный усилитель в прямом включении;
Расчет номиналов схемы суммирующего усилителя;
Моделирование схемы в программе EWB.
55
Лабораторная работа № 6
Моделирование амплитудного детектора
Цель работы: моделирование радиозвеньев на биполярных транзисторах в среде EWB.
Основные теоретические сведения
Амплитудное детектирование производится путем нелинейного преобразования амплитудно-модулированного сигнала.
В данной работе моделируется активный амплитудный детектор (рис. 6.1), состоящий из резонансного усилителя, собранного на биполярном транзисторе Q1 по схеме с общим эмиттером, собственно детектора на диоде D1 и фильтра нижних частот.
Рис. 6.1. Схема амплитудного детектора
56
На транзисторе Q1 собран усилительный каскад. Нагрузкой каскада служит колебательный контур L1, C2, резонансная
частота которого соответствует несущей частоте амплитудномодулированного колебания. АМ-сигнал формируется генератором V2. Частотные параметры выбираются в соответствии с
табл. 6.1. Амплитуда колебаний устанавливается 0,1 В, индекс
модуляции 1. Усилительный каскад собран по схеме с общим
эмиттером. Сопротивления R1, R2 составляют базовый делитель и задают рабочую точку транзистора совместно с эмиттерным сопротивлением R4. Сопротивление R4 образует отрицательную обратную связь, которая с одной стороны стабилизирует рабочую точку, с другой стороны, уменьшает коэффициент усиления. С целью устранения влияния отрицательной обратной связи на коэффициент усиления каскада сопротивление
R4 зашунтировано емкостью С4. Коллекторное сопротивление
R3 предназначено для уменьшения добротности колебательного
контура. Чрезмерно высокая добротность контура уменьшает
индекс модуляции. Емкости С1, С3 разделительные, предназначены для фильтрации постоянной составляющей. Положительная полуволна АМ-сигнала шунтируется диодом D1, отрицательная выделяется на сопротивлении R5. Фильтр нижних частот С5, R6 отфильтровывает высокочастотную составляющую
детектора и выделяет информационный сигнал.
Методические рекомендации
При выполнении работы производится расчет колебательного контура по формуле   1 / LC , где  = 2fн, fн – несущая частота. Следует также рассчитать параметры ФНЧ из
условия  = 15 fн,  = RС – постоянная времени фильтра. При
расчетах следует задать номинал одного из компонентов, входящих в устройство. Компоненты, входящие в схему, выбираются из библиотеки EWB. Моделирование рекомендуется про57
водить при включении в схему осциллографа. При этом автоматически включается режим анализа переходных процессов
Transient analysis. Перед началом исследования схемы осциллограф следует подключить к входному генератору АМ-сигнала с
целью настройки периода развертки. Переключая вход осциллографа от одного звена к другому, производится последовательная настройка каскадов с целью получения оптимального
сигнала на выходе. При этом рекомендуется осуществлять изменение сопротивлений R1-R4, емкостей С1, С2, С4.
Порядок выполнения работы:
1. Рассчитать параметры контура и ФНЧ в соответствии
с исходными данными (табл.6.1). Для расчета следует выбрать
разумное значение индуктивности (несколько мГн или мкГн) и
рассчитать значение емкости по формуле:
1
C
.
2 2
4 f н L
2. Собрать схему моделирования.
3. Путем подбора компонентов схемы добиться максимальной амплитуды и оптимальной формы выходного сигнала.
Исходные данные для выполнения работы
Варианты исходных данных:
Таблица 6.1
№ вар
1
2
3
4
5
6
7
8
9
fмод кГц 10 15 20 30 50
80 90
100
120
fн МГц
1
2
3
4
5
6
7
8
9
№ вар
fмод кГц
fн МГц
10
150
10
№ вар
fмод кГц
fн МГц
19
600
19
58
11
200
11
20
650
20
12
250
12
13
300
13
14
350
14
15
400
15
16
450
16
17
500
17
18
550
18
Требования к отчету
1.
2.
3.
4.
Отчет о работе должен содержать:
Исходные данные в соответствии с заданным вариантом.
Результаты расчета колебательного контура и ФНЧ.
Схему моделируемого устройства.
Результаты моделирования.
Контрольные вопросы
1. Принцип амплитудного детектирования сигналов.
2. Состав и назначение элементов моделируемой схемы.
3. Расчет основных параметров схемы.
59
Лабораторная работа № 7
Моделирование частотного детектора
Цель работы: моделирование радиоустройств в среде
EWB с использованием функциональных звеньев.
Основные теоретические сведения
В данной работе моделируется тракт обработки сигнала,
включающий преобразователь частоты (ПЧ), усилитель промежуточной частоты (УПЧ), частотный детектор (ЧД) и фильтр
нижних частот (ФНЧ).
Преобразователь частоты выполнен на основе умножителя, на один вход которого подается частотномодулированный сигнал Х(t), на другой – напряжение гетеродина Y(t). Работа преобразователя основана на выделении разностной частоты, образующейся в результате перемножения
исходного сигнала с гетеродинным.
Частотно-модулированный сигнал моделируется генератором частотно-модулированного сигнала FM, входящего в
библиотеку источников сигналов Sources. Здесь задаются параметры:
Peak amplitude (VA) – амплитуда сигнала;
Carrier frequency (FC) – несущая частота;
Modulation index (M) – индекс модуляции;
Modulation frequency (MF) – частота модуляции.
Частотная модуляция изменяет несущую частоту колебания, не меняя при этом ее амплитуды. При этом девиация частоты (т.е. отклонение несущей частоты от номинала) пропорциональна амплитуде, а не частоте модулирующего сигнала.
Индекс модуляции М определяется как отношение девиации к
частоте модулирующего сигнала M=fd/fm или d/m. Макси60
мальная девиация частоты ограничивается необходимостью
ограничить спектр ЧМ-сигнала. При небольших значениях индекса модуляции спектр ЧМ-сигнала аналогичен спектру амплитудно-модулированного сигнала и содержит несущую частоту и две боковые полосы. При увеличении индекса модуляции появляется совокупность боковых частот, отстоящих друг
от друга на величину частоты модулирующего сигнала. Число
полос пропорционально индексу модуляции, и их амплитуда
уменьшается по мере удаления от несущей.
Боковые полосы возникают по обеим сторонам несущей
и представлены следующим образом:
Боковая полоса 1-го порядка fб1 = fн  fm;
Боковая полоса 2-го порядка fб2 = fн  2fm и т.д.
Количество полос, не превышающих по амплитуде 10%
от несущей составляет М+1.
Представим информационный ЧМ-сигнал в виде
X(t) = Xmcos(н + Mm(t)),
Где (t) – нормированный информационный параметр,
т.е. модулирующая функция, значение которой лежит в пределах (-1…1).
Гетеродинный сигнал представляет собой гармоническое
колебание с циклической частотой  = н - пр:
Y(t) = Ymcos t.
После перемножения получим в соответствии с формулами тригонометрии
Z(t) = 0,5YmXm[cos(н+ Mm(t) - )+ cos(н+ Mm(t)
+ )].
То есть в результате нелинейного преобразования
(умножения) образуются суммарная и разностная частоты между несущей и гетеродинной. Основное назначение преобразователя частоты – понижение частоты информационного сигнала
до значения, удобного для обработки. Поэтому с помощью полосового фильтра выделяется разностная частота ( н+ Mm(t)
- ).
61
В качестве полосового фильтра используется последовательный колебательный контур, настроенный на промежуточную частоту. Сопротивление контура R ограничивает его добротность, предотвращая уменьшение индекса модуляции.
При преобразовании частоты спектр ЧМ-сигнала целиком переносится в область более низких частот, при этом его
ширина и форма не изменяются. Однако, при прохождении ЧМсигнала через избирательную цепь (полосовой фильтр) возникает паразитная амплитудная модуляция, которая устраняется
двусторонним ограничителем. С помощью полосового фильтра,
усилителя К и ограничителя моделируется усилитель промежуточной частоты.
Рис.7.1. Модель синхронного частотного детектора
Моделируемый частотный детектор относится к классу
синхронных детекторов и основан на перемножении сигнала
промежуточной частоты, имеющего частотную модуляцию с
опорным сигналом, представляющим собой гармоническое колебание промежуточной частоты. В результате перемножения
формируется спектр, примыкающий к нулевой частоте и содержащий частоту модулирующего сигнала. Информационный
62
процесс выделяется с помощью двухзвенного ФНЧ в виде R-С
цепей. Схема моделируемого устройства представлена на рис.
7.1.
Порядок выполнения работы:
1. Рассчитать параметры контура и ФНЧ в соответствии с
исходными данными (табл.7.1). Для расчета контура следует
выбрать разумное значение индуктивности (несколько мГн или
мкГн) и рассчитать значение емкости по формуле:
1
C
.
2 2
4 f н L
2. Рассчитать частоту гетеродина из условия fг = fн – fпр.
Амплитуды сигналов задать U = 1 В.
3. Собрать схему моделирования. Задать частоту опорного
генератора fоп = fпр , амплитуда 10 В, начальная фаза 900.
4. Коэффициент усиления УПЧ К подобрать из расчета
обеспечения амплитуды сигнала на его выходе Uпч  10 В. Уровень ограничения ограничителя установить 10 В.
5. Путем подбора компонентов схемы добиться максимальной амплитуды и оптимальной формы выходного сигнала.
Отчет о работе должен содержать:
1. Исходные данные в соответствии с заданным вариантом.
2. Результаты расчета колебательного контура и ФНЧ.
3. Схему моделируемого устройства.
4. Результаты моделирования.
Исходные данные для выполнения работы
Варианты выполнения работы:
№ вар
1
2
3
4
5
6
7
8
9
fн МГц
1
2
3
4
5
6
7
8
9
fмод кГц 10
12
15
20
25
30
35
40
50
fпр, кГц
100 200 300 400 500 600 700
800 900
63
№ вар
fн МГц
fмод кГц
fпр, кГц
№ вар
fн МГц
fмод кГц
fпр, кГц
10
10
100
1000
17
17
220
2200
11
11
110
1100
18
18
250
2500
12
12
120
1200
19
19
300
3000
13
13
150
1500
14
14
160
1600
15
15
180
1800
16
16
200
2000
20
20
500
5000
Требования к отчету
Отчет о работе должен содержать:
- схему моделируемого устройства;
- расчет основных параметров схемы;
- результаты моделирования.
Контрольные вопросы
1.
2.
3.
4.
5.
64
Принцип работы преобразователя частоты.
Форма и спектр частотно-модулированного сигнала.
Расчет основных параметров схемы.
Принцип работы синхронного детектора.
Состав и назначение элементов моделируемой схемы.
Лабораторная работа № 8
Моделирование кодека Грея
Цель работы: Моделирование цифровых устройств в
среде EWB
Основные теоретические сведения
Код Грея применяется для передачи цифровой информации в телекоммуникационных и информационных системах.
Его называют рефлексным (или зеркальным) кодом. Если расположить кодовые комбинации в порядке возрастания, то можно провести несколько осей симметрии, относительно которых
будет зеркальное отражение значений. Значения кодовых комбинаций для четырехразрядного кода представлены в табл.8.1.
Здесь единицы помечены заштрихованными областями.
Таблица 8.1.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Код Грея обладает следующими свойствами:
1. Каждая последующая комбинация отличается от
предыдущей в одной позиции.
2. Сбой в старшем разряде приводит к той же ошибке,
что и сбой в младшем.
3. Смена значений элементов в каждом разряде (0 на 1
или 1 на 0) происходит вдвое реже, чем в натуральном коде.
65
Применение кода Грея для передачи информации позволяет уменьшить ошибку при искажении символов, а также
уменьшить ошибку «неоднозначности отсчета», возникающую
при нарушении синхронизации при считывании.
Недостаток кода Грея заключается в невозможности обработки на ЭВМ. Следовательно, после приема код Грея должен быть преобразован в натуральный код.
Код Грея образуется путем суммирования комбинации
натурального кода по модулю 2 с той же комбинацией, сдвинутой на один разряд вправо и отбрасыванием младшего разряда,
например:
5= 0101
10= 1010
15= 1111
00101
01010
01111
01111 = 0111
11110 = 1111
10001 = 1000
Алгоритм преобразования кода Грея в натуральный код
следующий:
- символ старшего разряда записывается без изменения;
- каждый следующий символ инвертируется, если в
натуральном коде перед ним получается 1 или остается без изменения, если получается 0, например:
0111
1111
1000
0101 =5
1010 =10
1111 =15
Таким образом, для получения кода Грея следует организовать регистр сдвига и сумматор по модулю 2 для всех разрядов. Для обратного преобразования следует использовать регистр с параллельной записью и сумматор по модулю 2 для всех
разрядов, кроме старшего.
Методические рекомендации
При выполнении работы моделируется четырехразрядный кодек Грея, представляющий собой кодер и декодер (рис.
8.2). Регистр кодера выполняется на D-триггерах, выбираемых
из пиктограммы Digital (элементы U8, U12, U13, U14). При
66
этом регистр должен работать в двух режимах: записи и сдвига.
Состояние триггера изменяется в момент подачи тактового импульса. При этом на прямом выходе устанавливается уровень,
соответствующий уровню на D-входе. В режиме записи информация на D-входы подается с генератора слова, в режиме сдвига
– с выхода предыдущего триггера. Для переключения входов
устанавливается логическая схема типа 2-2И-ИЛИ с инвертором на одном из входов(U15-U18, U19-U22, U23-U26, U27U30). Сумматор по модулю 2 собирается на элементах «исключительное ИЛИ» (XOR U31-U34). Индикаторы U47-U50 служат
для контроля записи и сдвига регистра. Логические элементы
выбираются из пиктограммы Logic gates, индикаторы – из пиктограммы Indicators.
Декодер собран на регистре U39-U42 и элементах XOR
U43-U45. Информация передается в регистр четырехразрядным
параллельным кодом. Индикаторы U46, U4 служат для контроля работы кодека, показывая соответственно код Грея и восстановленный натуральный код числа.
Источником информации является генератор слова Word
generator, выбираемый из пиктограммы Instrument. Выходной
сигнал генератора слова представляет собой шестнадцатиразрядный код. При двойном щелчке мыши раскрывается окно
управления генератором. Каждые четыре разряда кода задаются
шестнадцатиричным числом в окне чисел. Четыре младших
разряда используются для задания исходного числа. Четыре
старших разряда будем использовать для формирования сигналов управления, в частности, первый – для формирования тактового импульса регистра, второй – для задания режима «запись-сдвиг», третий – для считывания информации. Четвертый
разряд будем использовать для записи нуля в первый разряд регистра при сдвиге. Таким образом, строки генератора слова задают программу работы устройства (рис.8.1). Работа состоит из
трех действий – запись, сдвиг, считывание. Поскольку Dтриггер срабатывает при положительном перепаде на D-входе,
67
между действиями нужно осуществлять подготовительную
операцию. Детально работа устройства состоит из следующих
шагов
1. Подготовка к записи. Для этого устанавливается
управляющий код 0.
2. Запись в регистр. Значение управляющего кода устанавливается 8 (1000 в двоичном коде). Первый разряд
моделирует тактовый импульс, второй (0) дает команду подключения D-входов к генератору слова.
3. Подготовка к сдвигу. Устанавливается число 4
(0100). Второй разряд дает команду подключения Dвходов к выходу предыдущего триггера, а входа первого – к сигналу 0 (4 разряд).
4. Сдвиг. Первое число генератора слова устанавливается С (1100). Происходит сдвиг регистра на один
разряд.
5. Считывание. Устанавливается число 2 (0010). При
этом происходит считывание информации с кодера и
запись ее в декодер.
Для управления работой кодека на панели генератора
слова Triggerd устанавливается режим Internal. Запуск моделирования осуществляется нажатием клавиши «вкл» («1»). Переключение шагов осуществляется нажатием клавиши Step на панели генератора слова.
Исходные данные для выполнения работы: Единственной исходной посылкой является значение числа, подлежащего
кодированию. Исходные данные представлены в таблице 6.1
Таблица 6.1.
№ вар 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Число 2 3 4 5 6 7 8 9 10 11 12 13 14 15
№ вар
Число
68
15
10
16
11
17
12
18
13
19
14
20
15
Порядок выполнения работы:
1. Перевести заданное число в код Грея.
2. Собрать схему кодека.
3. На панели генератора слова набрать строки 000х,
800х, 400х, с00х, 200х. Здесь х – заданное число в шестнадцатиричной системе. При переводе числа из десятичной системы в
шестнадцатиричную числа более 9 задаются символами: 10 – A,
11 – B, 12 – C, 13 – D, 14 –E, 15 – F.
4. Нажимая клавишу Step на панели генератора слова,
осуществлять пошаговую работу кодека. На втором шаге проконтролировать правильность записи двоичного кода в регистр,
на четвертом шаге - правильность сдвига по индикаторам U47U50. При записи 1 индикатор окрашивается в красный цвет. На
пятом шаге зафиксировать значение кода Грея и восстановленного натурального кода в шестнадцатиричной системе.
5. Убедиться в правильности работы кодека.
Рис.8.1. Развернутая панель генератора слова
69
70
Требования к отчету
Отчет о работе должен содержать:
- перевод исходного числа в двоичный натуральный код
и код Грея. Обратный перевод.
- схему моделируемого устройства с отображением на
семисегментном индикаторе кода Грея.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Формирование кода Грея;
Преобразование кода Грея в натуральный код;
Преимущества кода Грея при обработке информации;
Принцип работы регистра хранения;
Принцип работы регистра сдвига.
Компоненты, входящие в схему кодека.
Работа с генератором слова.
71
ЛИТЕРАТУРА
1. Быков
А.В.
Автоматизация
проектирования
радиоэлектронных устройств. Учебное пособие. Ахтубинск,
2006.
2. Борисов Ю.П., Цветков В.В. Математическое
моделирование радиотехнических систем и устройств.- М.:
Радио и связь, 1985
3. Фаронов В.В. Основы Турбо-Паскаля. Книги 1..3. - М.:
МВТУ - Фесто-Дидактик, 1992.
4. Мудров А.Е. Численные методы для ПЭВМ на языках
Бейсик, Фортран и Паскаль.- Томск: МП «Раско», 1991.
5. Карлащук В.И. Электронная лаборатория на IBM PC.
Издание 3-е.- М: «Солон-Пресс». 2003.
6. Карлащук В.И. Электронная лаборатория на IBM PC.
Моделирование устройств телекоммуникации. – М: «СолонПресс». 2005.
72
Оглавление
Часть 1
Лабораторная работа № 1. Временные методы
моделирования линейных динамических звеньев……….....3
Лабораторная работа № 2. Исследование динамических звеньев методом дифференциальных уравнений....11
Лабораторная работа № 3. Моделирование радиоустройств методом дифференциальных уравнений……….25
Лабораторная работа № 4. Исследование характеристик случайных процессов………………………………..35
Часть 2
Лабораторная работа № 5. Моделирование устройств
автоматики на операционных усилителях………………….49
Лабораторная работа № 6. Моделирование амплитудного детектора……………………………………………..56
Лабораторная работа № 7. Моделирование частотного
детектора………………………………………………………60
Лабораторная работа № 8. Моделирование кодека
Грея…………………………………………………………….65
Литература………………………………………………..72
73
Download