Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод указ.doc
Скачиваний:
10
Добавлен:
04.11.2018
Размер:
1.09 Mб
Скачать

1.11 Исследование линейных стационарных систем.

Ядро MATLAB - TOOLBOX - инструменты моделирования и анализа динамических систем и процессов.

Для специалиста по автоматике и управлению MATLAB предоставляет сразу несколько пакетов, ориентированных на исследование линейных стационарных систем. Это пакеты структурного моделирования Simulink, Control System, Signal Processing. Они используют все формы математического описания динамических систем, принятые в современной теории автоматического управления:

  • линейные дифференциальные уравнения;

  • корневой годограф;

  • передаточную функцию;

  • частотные характеристики;

  • пространство состояния.

1.11.1. Основные процедуры пакета Соntгоl Тооlbох

Формирование LTI-объектов

ss Создание модели пространства состояния по заданным матрицам А,B,C,D.

zpk Создание модели по нулям, полюсам и коэффициентам передачи

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

filt Модель передаточной функции цифрового фильтра в z- области

sos Модель передаточной функции в каскадной форме - в виде произведения блоков второго порядка

Получение детальной справки об атрибутах моделей. Извлечение данных

ssdata Извлечение матриц пространства состояния

zpkdata Извлечение данных о нулях, полюсах, коэффициенте передачи

tfdata Извлечение числителя (числителей) и знаменателя (знаменателей)

передаточной функции

get Получение информации о значениях свойств LTI-модели

class Получение данных о типе модели ('ss', 'zpk' или 'tf')

size Получение данных о размерах матриц входа и выхода

Преобразование вида модели

[A,B,C,D]= sos2ss(sos) Преобразование передаточной функции в каскадной форме(sos) в модель пространства состояния (ss)

[b,a]=sos2tf(sos) Вычисление коэффициентов числителя и знаменателя передаточной функции по каскадной форме

[zpk]= sos2zp(sos) Преобразование sos-модели в модель вида нули-полюсы-коэффициент передачи

tf В модель передаточной функции

c2d Переход из непрерывного времени в дискретное

Соединение звеньев и систем (арифметические операции)

+, parallel Сложение и вычитание LTI-систем (параллельное соединение)

feedbaсk Соединение звеньев отрицательной обратной связью

*, series Умножение LTI- систем (последовательное соединение)

Inv Обращение lti - системы

\ Левое деление sys1\sys2; равносильно inv(sys1)*(sys2)

/ Правое деление sys1/sys2; равносильно (sys1)*inv(sys2)

' Перетранспонирование

Характеристики динамической системы

pole,eig Определение полюсов системы

tzero Определение нулей системы

pzmap Составление карты нулей-полюсов

dcgain Нахождение коэффициента передачи при нулевой (низкой) частоте

damp Определение частоты собственных колебаний и демпфирования по полюсам системы

Отклик во времени

step Определение отклика на единичный скачок

impulse Определение отклика на единичный импульс

initial Определение отклика на заданные начальные условия состояния

lsim Определение отклика при произвольных входных воздействиях

ltiview Анализ откликов с помощью графического интерфейса

gensig Генерирование периодических сигналов для С51М

stepfun Генерирование единичного скачка

Частотный отклик

bode Построение диаграммы Воде частотного отклика (АЧХ и ФЧХ)

sigma Построение частотного графика сингулярных значений

nyquist Построение диаграммы Найквиста

nichols Построение диаграммы Николса

margin Определение запасов по фазе и амплитуде

На блок - схеме рисунка 6 собраны вместе все основные характеристики линейных динамических систем. Рисунок 7 показывает, какими командами MATLAB реализуется вычисление этих характеристик.

Переходный процесс y(t)==

Передаточная функция

Типовые звенья и структурные схемы

мы

Логарифмические амплитудные и фазовые характеристики

Импульсная переходная функция

w(t)=y(t)

при f(t)=δ(t)

Корневой годограф

Переходная функция

h(t)=y(t)

при f(t)=1(t)

Частотные характеристики

Амплитудно-фазовая характеристика

Разностные уравнения и

z- преобразования

+

Пространство состояний

=

В р е м е н н ы е х а р а к т е р и с т и к и

Обратное преобра-

зование Лапласа

s=jω

Рисунок 5

Лабораторная работа №1

Графика MATLAB и матричные преобразования.

Цель работы - освоение специфики векторных и матричных преобразований МАТЛАБа и сравнительный анализ различных форм графического отображения результатов.

Порядок проведения работы

1. Функция одного аргумента y=f(x)

Для такого простейшего преобразования в MATLAB предусмотрено более десятка форм графического отображения. Вам предстоит оценить особенности и достоинства некоторых из них.

Создайте вектор x ограниченной размерности (10-15 отсчетов). Отсчеты могут возрастать (убывать) по арифметической прогрессии c произвольным шагом, в том числе и с минусовым, могут быть взяты неравномерно. В последнем случае значения отсчетов задаются в квадратных скобках с разделением их запятыми.

Любым арифметическим оператором создайте вектор y(x). Постройте графики созданной функции командами plot(y), plot(x,y),), bar (y), stem(x,y), stairs(x,y). Дайте пояснения к каждому графику.

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

Каждая из этих команд - универсальный инструмент с богатыми возможностями. Например, команда bar(Data,) может использоваться как для одномерных массивов, так и для сгруппированных данных . В последнем случае данные представляются матрицей, строки которой команда bar объединит в отдельные группы (см. рисунок ). Еще нагляднее эта группировка смотрится при применении команды bar3

Рисунок 1.1

По методике, изложенной в разделе 1.10.2., создайте файл- функцию для выбранной Вами арифметической операции, задав ей имя 'my'. Теперь Вы можете воспользоваться еще одним способом визуализации - fplot('my',[xmin,xmax],'.'). Тип линии ('.') здесь выбран не случайно : обратите внимание, как MATLAB выбирает расстояние между отсчетами, чтобы обеспечить заданную точность (по умолчанию 0.2 %).

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

Вычисление коэффициентов ai полинома степени n

y=a0+a1x+a2x2+…+anxn

осуществляет функция polyfit(x,y,n). Создайте несколько полиномов разных степеней n (начиная с первой). Постройте на одном графике эти полиномы функцией polyval(pn,t) и поясните полученный результат.

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

2. Функция двух аргументов z=f(x,y). Трехмерная графика.

Существует несколько способов задания аргументов трехмерной поверхности. Самый простой из них описывался в разделе 1.10.2. На области определения , командой [x,y]=meshgrid (x,y ) создается координатная сетка с заданным шагом. Теперь можно создавать саму функцию, например:

[x,y]=meshgrid(-10:0.3:10,-10:0.3:10);

>> z=(sin(x)./x).*(sin(y)./y);

>> surf(x,y,z)

Полученная поверхность приведена на рисунке 7

Рисунок 7

Можно произвольно выбрать шкалу цветовых оттенков (см. help colormap)

Второй способ состоит в формировании двух взаимно перпендикулярных плоскостей X и Y.

>> x=-10:10;

y=ones(1,21);

X=x'*y; %постройте !

Y=y'*x; % постройте!

R=sqrt(X.^2+Y.^2);

m esh(15-R) % Обратите внимание: команда mesh не заливает цветом каркасную поверхность.

Рисунок 8

Преобразуем полученную фигуру.

Возведите R1 в квадрат (поэлементное умножение !) или отрежьте какой- нибудь из углов, приравняв нулю выбранные элементы. Можно,например,так:

R 1=15-R;

R1(:,1:5)=0;

figure(2)

mesh(R1)

R1(10:15,:)=4;

figure(3)

mesh(R1)

surfl(R1) % освещенная поверхность

shading interp % линейное изменение цвета

colormap('gray') % палитра серого

Очень полезной операцией размножения массивов (мультиплицирования) является операция кронекеровского умножения матриц, в которой вся правая матрица умножается на каждый элемент левой:

=. Создадим 9 конусов c помощью матрицы 3*3:

C=ones(3,3);

C(2,2)=3;

D=kron(C,R);

Лабораторная работа № 2

Корреляционный метод измерения задержки сигнала

Ковариация, и ее частный случай для центрированных сигналов - корреляция (correlation), - это мера похожести двух сигналов. Приведем один из вариантов использования корреляционной функции. Допустим, нам надо найти в тексте некоторый символ. Скользя по тексту, прикладываем символ к каждой букве, проверяя их сходство. Аналогично решается задача обнаружения некоторой последовательности x(t) известной формы и конечной длины Т в принимаемом сигнале y(t). Для поиска этой последовательности в скользящем по сигналу y(t) временном окне длиной Т вычисляются скалярные произведения сигналов y(t) и x(t).

Скалярное произведение векторов X и Y

Z= X*Y= (1.1)

или для непрерывного (аналогового) процесса

Скалярное произведение используется как мера взаимосвязи двух векторов (процессов). Равенство нулю скалярного произведения означает крайнюю меру их независимости- их ортогональность. Если сдвигать один из векторов на время τ и ввести нормирующий множитель 1/N для исключения зависимости Z от длины реализации N, получим выражение, называемое взаимной корреляционной функцией (ВКФ):

Rxy(τ)=, (1.2)

и аналогично для случая непрерывного сигнала:.

; (1.3)

R(τ) широко используется в различных областях человеческой деятельности. Например, в медицине корреляционная функция позволяет обнаружить самые минимальные изменения состояния организма от воздействия какого-либо неблагоприятного фактора или оценить длительность воздействия лекарства на пациента. Социологи используют ВКФ для оценки влияния на население новых законодательных актов. Здесь ВКФ используется для оценки взаимосвязи двух процессов Астрономам ВКФ позволила обнаружить периодичность в изменении свечения звезд (пульсары). В приведенном выше примере поиска в тексте заданного символа корреляционная функция использовалась для распознавания или обнаружения сигнала.. Еще более часто корреляционная функция используется для определения времени прихода (задержки) сигнала . Поскольку максимальное сходство (а. следовательно, и максимальное скалярное произведение) будет в момент полного совпадения x(t) и его копии в y(t), по положению максимума корреляционной функции можно судить о времени прихода сигнала.. Этот метод лежит в основе измерения расстояния до цели (ракеты, самолета), определения высоты полета самолета или глубины погружения подводной лодки. Чтобы определить направление прихода радиосигнала (задача пеленгации), определяют разность времени прихода сигнала пеленгуемого объекта на две разнесенные антенны. Во всех этих примерах производится определение скалярного произведения сигнала x(t) с собственной копией, скользящей по аргументу, а функцию называют автокорреляционной:

; (1.4)

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

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

КФ, вычисленная по центрированному значению сигнала x(t), представляет собой ковариационную функцию сигнала:

; (1.5)

Рисунок 2.1

Рассмотрим подробнее операцию вычисления ВКФ. На рисунке 2.1---- приведена поэтапная процедура вычисления сигнала x=sin(t) для одного значения сдвига (τ=6 отсчетов). На временном интервале от 33 до 37 отсчета перемножаемые функции имеют разный знак, в результате чего их произведение отрицательно. Следствием этого является падение накопленного значения R на этом интервале (точечная кривая).