Файл: Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 413
Скачиваний: 1
и angle, получим амплитудно- и фазочастотную характеристики (АЧХ и ФЧХ). Перейдя к логарифмическому масштабу для АЧХ, получим значение JI АХ (в дБ). Вывод графика выполняем в полулогарифмическом масштабе по х-оси оператором semilogx. Остальные операторы аналогичны операторам, рассмотренным в п. 2.2, и служат для повышения наглядности графика. Результат работы программы представлен на рис. 3.3. Как видно из графика, фильтр обеспечивает подавление сигнала в диапазоне от 70 до 100 [рад/с] не ниже 10 [дБ].
Получим теперь реакцию фильтра на входное воздействие. Пусть входной процесс u(t) представляет собой сумму двух гармоник с одинаковыми (единичными) амплитудами и разными частотами: u(t) = sinu>\t + sinu>2f. Первое слагаемое будем трактовать как "полезный" сигнал, второе - как помеху измерений, вызванную, например, упругостью конструкции объекта. Положим u>i = 10 с- 1 , и>7 = 80 с"1. Составим SIMLINK - программу моделирования. Ее вид представлен на рис. 3.4. В программу входит два блока Sine Wave генераторов полезного сигнала и помехи, блок сумматора Sum и блок решения линейного ОЛУ, заданного передаточной функцией Transfer Fen. Параметры этого блока - Numerator (чи-
слитель) и Denominator (знаменатель) - в программе |
заданы |
|
в общем виде: массивами num и den соответственно. |
Соглас- |
|
но общим правилам системы MATLAB, многочлены предста- |
||
вляются вектор-строками своих коэффициентов, |
расположен- |
|
ными в порядке убывания степени аргумента. В |
рассматри- |
ваемом примере это должны быть массивы коэффициентов передаточной функции. Как и выше, используем систему SIMULINK для описания модели и собственно процедуры интегрирования, а подготовку исходных данных и отображение результатов оформим в виде MATLAB-программы, представленной ниже. 1
Программа расчета переходных характеристик фильтра
num=conv( [L1*C1 ,R1*C1,1] , [L*C,R*C,1])
den=[Ll*Cl*L*C, R1*C1*L*C+L1*C1*R*C,...
1 Данная программа является продолжением программы расчета частотных характеристик и использует заданные в ней номиналы электротехнических элементов.
з Б. Р. Андриевский и др. |
65 |
R1*C1*R*C+C1*L+L1*C1+L*C,...
C1*R+R*C+R1*C1, 1]; sim('s2 _ l')
f igure plot(t,y),grid
set(gca,'FontSize',12) x l a b e l O t , с ' )
l e g e n d ( ' y ~ * ' , ' y _ c ' , ' y . c + y . n ' , 0 )
text(t(125) ,y(125,l), |
' < - - y ~ * ' ) |
|
text (t (200) ,y(200,2) ,9 < |
y . c ' ) |
|
text(t(150) ,y(150,3), |
' < — y . c + y . n 1 ) |
В первых строках программы формируются массивы num и den. Используется оператор свертки векторов conv. В применении к многочленам это соответствует получению вектора коэффициентов их произведения. Заметим, что в программе выражения для многочленов получены несложной корректировкой программы расчета частотных характеристик. Оператор sim запускает на выполнение 5-модель s2_l, после чего оператором figure создается новое графическое окно, в которое выводятся результаты моделирования. Поскольку в монохромном изображении не видны цвета линий графика, для него могут быть использованы операторы text. В результате появляются указатели около соответствующих кривых графика (рис. 3.5). Символом у* обозначен выход фильтра, ус - полезный сигнал, а уп - сигнал помехи (на рисунке пока-
зан входной сигнал ус + уп). |
В 5-модели, в меню |
Simulation, |
|||
опция Parameters, |
окно Workspace |
I/O, поле |
Save |
to workspace |
|
установлены параметры: |
Time |
- t, Output |
- у. |
Под этими |
|
именами значения |
результатов |
моделирования |
сохраняют- |
ся в рабочей области (Workspace) и используются MATLAB-
программой. |
На вкладке Solver в окне Solver options |
пара- |
|
метр Max step size (максимальная |
величина шага) установлен |
||
равным 0.005. |
Это сделано не для повышения точности вы- |
||
числений (которая и так высока), |
а для получения плавных |
||
кривых при выводе результатов. |
Входной и выходной |
про- |
цессы, полученные в результате моделирования, показаны на рис. 3.5.
66
2
1
О
- 1 |
|
|
|
|
-2.О |
|
|
|
t, с |
0.2 |
0.4 |
0.6 |
0.8 |
Рис. 3.5. Переходные характеристики фильтра (3.10). Выделение сигнала на фоне помехи.
3.2.2.Гармонический анализ процессов
При исследовании колебательных процессов часто применяются их энергетические характеристики, в первую очередь - мощность и энергия [25, 74].
Мгновенная мощность p(t) сигнала y(t) определяется как квадрат его мгновенного значения: p(t) = у(t)2. Энергия Р сигнала на интервале [Ji,^] находится как интеграл от мгновен-
|
д <2 |
|
|
р |
1 |
*2 |
|
|
ной мощности Р = J y(t)2dt. |
Отношение ^ _ ^ |
= ^ _ ^ f |
y(t)2dt |
|||||
|
|
h |
|
2 |
1 |
2 |
1 «1 |
|
выражает среднюю (на интервале [fi,^]) |
мощность |
сигнала. |
||||||
Обозначим ее через y(t)2. |
Получить представление об |
этих |
||||||
характеристиках |
процесса |
можно на основе |
преобразования |
|||||
Фурье [25]. Рассмотрим этот метод более |
подробно. |
|
||||||
Для периодических процессов y(t) с периодом Т |
можно за- |
|||||||
писать ряд |
Фурье в виде |
|
|
|
|
|
|
|
|
|
оо |
|
|
|
|
|
|
y(t) |
= ty |
+ ^(akcosk^t |
+ bk3\nk%l!-ty |
|
(3.11) |
|||
где коэффициенты |
разложения |
находятся из формул |
|
|||||
|
т |
|
т |
|
|
|
|
67
|
рТ |
|
|
|
|
Ьк = т ] |
2/(Osin |
(k^rt^dt |
{к = 1,2,...). |
||
Совокупность величин s0 = |flo|/2, |
= |
yja\ + b\ |
(к = 1,2,...) |
||
называется амплитудным |
частотным |
спектром |
периодиче- |
||
ской функции y(t). |
Значения s* представляют собой ампли- |
||||
|
|
|
|
еу |
|
туды гармоник с частотой |
= Ш |
(Q = уг) в разложении |
|||
процесса в ряд (3.11). Они зависят |
от |
номера |
гармоники к |
и обычно графически представляются в виде отрезков высотой Sjt, проведенных в точках и>к оси частот (поэтому спектр периодической функции называют линейчатым, или дискретным). Он несет в себе информацию о частотных свойствах сигнала: если сигнал имеет выраженные колебания на неко-
торых частотах, то его спектр |
на этих частотах содержит |
|||||||
пики. |
|
|
|
|
|
|
|
|
Обобщением ряда Фурье на непериодические процессы |
||||||||
является интеграл |
Фурье, при котором используется |
предста- |
||||||
вление |
|
гоо |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У(0 = |
i / |
(V(u;)sinu;f |
+ |
U(u) |
cos u>t) dt, |
(3.12) |
||
где |
Jo |
|
|
|
|
|
|
|
оо |
|
|
|
|
гоо |
|
|
|
|
|
|
|
|
|
|
||
/ |
•00y{t)cos(ut)dt, |
V(u)= |
J-oo |
y(t)sin(ut)dt. |
||||
Аналогично вводится |
частотный |
спектр |
процесса |
y(t) как |
||||
S(w) = y/UW |
+ V(u)2. |
Это функция от непрерывного аргу- |
||||||
мента и. |
|
|
|
|
|
|
|
|
Поскольку при цифровом моделировании исходной является дискретная реализация процесса и нахождение интеграла выполняется конечным суммированием, то при числовом гармоническом анализе вместо непрерывного преобразования (3.12) выполняется дискретное преобразование Фурье (ДПФ).
(ДПФ) Лля этого исследуемый процесс y(t) (длительностью Т) заменяется выборочной дискретной функцией (т.е. после-
довательностью) у[к] = |
где tk = кТ0 (к = 1,2,... , N), N - |
|
заданное число точек, Т0 = |
j j - шаг дискретности |
(кванто- |
вания). Далее вычисляется |
функция |
|
N |
|
|
У(*) = £ > [ п ] е х |
l<k<N |
(3.13) |
n=l |
|
|
68
("изображение по Фурье"), имеющая комплексные значения. В |
|
пакете MATLAB дискретное преобразование Фурье выполня- |
|
ется |
процедурой fft. Для ускорения вычислений рекоменду- |
ется |
брать число точек N = 2", где и - некоторое натуральное |
число. В этом случае программой реализуется |
так называ- |
емое "быстрое преобразование Фурье" (БПФ). 1 |
Обратный |
переход от изображения к исходной функции выполняется по формуле
N |
|
2/[п] = - ^ У ( * ) е х р ( ; 2 7 г ( * - 1 ) ^ ) , |
(3-14) |
П= 1 |
|
Для вычисления спектральной плотности с помощью процедуры fft исходная реализация процесса разбивается на N точек, соответствующих равноотстоящим моментам времени с интервалом Т0. Если исходная последовательность получена в результате моделирования с автоматическим выбором шага (как обычно бывает при использовании стандартных процедур численного интегрирования), то ее следует предварительно преобразовать. Для этой цели можно использовать входящие в пакет MATLAB процедуры интерполяции. К ним относятся, например, функции i n t e r p l или interplq . 2
При выборе параметров вычисления спектра (длина реализации Т, число точек N и связанный с ними интервал квантования Т0 = T/N) следует учитывать, что диапазон существенных частот исследуемого процесса не должен выходить
за частоту Найквиста |
= Д-. Несоблюдение этого усло- |
|
1 о |
вия может привести к значительным ошибкам при опреде-
лении |
характеристик процесса. |
Данное требование вытека- |
|
ет из |
известной теоремы отсчетов |
Котельникова-Шеннона |
|
[25]. |
Смысл этого требования |
можно пояснить следующим |
образом. |
Рассмотрим |
два гармонических сигнала с частота- |
ми и и и |
+ u>N: y(t) = |
sin(u;J), yx(t) = sin ((u> + и ^ ) 0 . Образу- |
ем из них дискретные последовательности с интервалом Т0 :
!/[*] = У{кТ0) = sin(u>fc7o) и |
yx[k] |
= yi(kT0) |
= sin ((си + cuN)kTQ) |
|||
(к = 0,1,2,...). |
Учитывая, |
что |
= тг, получим |
\у\[к]\ = |
||
1 |
По-английски - "Fast Fourier |
Transform" у сокращенно FFT. |
||||
2 |
П р о ц е д у р а |
i n t e r p l q выполняется |
быстрее |
процедуры |
i n t e r p l при |
неравномерно заданных значениях аргумента, что характерно для рассматриваемой задачи.
69