Исследование линейных стационарных систем (ЛСС)

9.3.1. Классы пакета CONTROL.l

Для решения задач САУ в среде MATLAB используется набор специальных функций, или тулбокс (ToolBox) “Система управления” (Control System Toolbox).

Tулбокс (ToolBox) “Система управления” представляет собой библиотеку алгоритмов, содержащихся в функциональных М-файлах и реализующих наиболее общие методы расчета, анализа и построения (моделирования) систем.

Пакет прикладных программ (ППП) Control System Toolbox сосредоточен в подкаталоге CONTROL каталога TOOLBOX системы MatLab:

MatLab\ TOOLBOX\ CONTROL.

Основными вычислительными объектами этого ППП являются:

- родительский объект (класс) LTI (Linear Time-Invariant System – линейные, инвариантные во времени системы) или линейные стационарные системы (ЛЛС);

- дочерние объекты (классы), т.е. подклассы класса LTI, соответствующие трем разным представлениям ЛСС:

- TF – объект (Transfer Function) – передаточная функция);

- ZPK – объект (Zero-Pole-Gain – нули, полюсы, коэффициент передачи);

- SS– объект (State Spaсe пространство состояний).

Объекты различных классов характеризуются:

- класса TF - векторами коэффициентов числителя и знаменателя рациональной передаточной функции;

- класса ZPK –векторами, содержащими значения нулей , полюсов передаточной функции и коэффициента передачи системы;

- класса SS –четверкой матриц, описывающих динамическую систему в пространстве состояния.

Специфические атрибуты передаточных функций(TF – объектов):

num –Числитель

Для одномерной системы (система с одним входом U и выходом Y) - вектор-строка;

Для многомерной системы (с несколькими входами и выходами) – массив ячеек из векторов-строк размером nY на nU.

den– Знаменатель

Для одномерной системы (система с одним входом U и выходом Y) - вектор-строка;

Для многомерной системы (с несколькими входами и выходами) – массив ячеек из векторов-строк размером nY на nU.

Variable– Имя (тип) переменной.

Специфические атрибуты ZPK – объектов:

z– Нули

Для одномерной системы - вектор-строка;

Для многомерной системы – массив ячеек из векторов-строк размером nY на nU.

p– Полюсы

Для одномерной системы - вектор-строка;

Для многомерной системы – массив ячеек из векторов-строк размером nY на nU.

k– Коэффициент передачи

Для одномерной системы - число;

Для многомерной системы – матрица размером nY на nU.

Специфические атрибуты SS – объектов (моделей пространства состояний):

a, b, c, d– A, B, C, D – матрицы, в соответствии с уравнениями в переменных состояния:

x = Ax + Bu,

y = Cx + Du.

e - E – матрица для систем Descriptor’а (описателя). По умолчанию E= eye (size(A)).

StateName– имя переменной состояния (не обязательное). Массив ячеек nX на 1из строк.

Атрибуты, общие для всех LTI-моделей:

Ts– Дискрет по времени (в секундах).

Ts = -1 для дискретных систем;

Ts = 0 для непрерывных систем.

Td– Задержка входов (в секундах).

InputName– Имена входов.

Строка - для систем с одним входом.

Массив ячеек nX на 1из строк – для системы с несколькими входами.

OutpuName– Имена выходов.

Строка - для систем с одним входом.

Массив ячеек nX на 1из строк – для системы с несколькими входами.

Notes– Заметки.

Userdata– Дополнительная информация или данные.

9.3.2. Ввод и преобразование моделей

Ввод модели линейной стационарной системы (ЛСС) в среду пакета CONTROL возможен в трех формах:

- в форме матриц пространства состояний;

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

- в форме задания нулей, полюсов и коэффициента передачи системы.

К процедурам создания LTI- моделей относятся:

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

dssСоздает аналогичную модель по описанию пространства состояния более общего вида, когда уравнения переменных состояния не разрешены относительно производных.

tfСоздает модель по заданным передаточным функциям системы.

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

filtСоздает модель по дискретным передаточным функциям системы, записанным в форме полинома от z-1.

setПрисваивает значения некоторым другим полям (атрибутам) LTI- объекта (названиям входов и выходов, названиям системы и т.п.).

getВыдает значения атрибутов объекта.

Указанные процедуры позволяют создавать как непрерывные модели, так и дискретные.

В последнем случае к числу входных параметров процедуры следует добавить в конце значения параметра Ts – шага дискретизации, а вводимые значения коэффициентов уже должны задавать параметры дискретных передаточных функций (для tfиzpk), либо матрицы конечно-разностных уравнений пространства состояний (при использовании процедур ssи dss).

При использовании процедуры filt должны задаваться векторы коэффициентов числителя и знаменателя дискретной передаточной функции, представленной в виде отношения полиномов от z-1.

Процедуры ss, dss, tfи zpk применяются также для преобразования моделей из одной из указанных форм в другую.

Модель, заданную как непрерывная, можно преобразовать в дискретную форму, воспользовавшись процедурой c2dв соответствии со схемой:

sysd=c2d(sys, Ts, method).

Здесь sys –исходная непрерывнаязаданная модель;

sysd –получаемый в результате работы процедуры дискретный аналог исходной системы;

Ts –задаваемое значение шага дискретизации;

method – параметр, определяющий метод дискретизации. Например:

‘zoh’ – соответствует применению экстрополятора нулевого порядка: внутри интервала дискретизации сигналы аппроксимируются постоянной величиной, равной значению сигнала в начале интервала дискретизации;

‘foh’ - соответствует применению экстрополятора первого порядка: внутри интервала дискретизации сигналы аппроксимируются отрезками прямых, проходящих через концы кривой сигнала в интервале дискретизации.

Процедура d2cосуществляет обратную операцию – переводит дискретную систему в непрерывную.

Процедура d2dпозволяет переопределить дискретную систему, меняя шаг дискретизации:

sys1=d2d(sys, Ts).

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

В общем случае это довольно сложно.

В то же время реальные САУ состоят из соединенных между собой отдельных блоков (динамических звеньев), уравнения которых достаточно просты.

Поэтому в практике проектирования САУ принято использовать структурные методы, когда САУ задается как определенная схема соединения отдельных элементарных динамических звеньев, и фактически проектируется одно или несколько из этих звеньев таким образом, чтобы обеспечить заданное качество всей системы.

В соответствии с этим в MatLab предусмотрена возможность “набирать” программно схему САУ путем:

- предварительного ввода моделей звеньев, составляющих САУ, и

- последующего “соединения” этих звеньев в единую структуру.

К процедурам, осуществляющим расчет характеристик соединений отдельных звеньев, относятся:

plus (minus) –выполняет параллельное соединении указанных звеньев;

parallel -выполняет ту же процедуру, параллельного соединения звеньев; отличие – может использоваться для многомерных систем и для осуществления параллельного соединения лишь по некоторым входам и выходам

mtimes (или знак“*” между именами звеньев) –выполняет последовательное соединении указанных звеньев; применяется для одномерных систем;

series -выполняет последовательное частичное соединении многомерных систем;

feedback -выполняет такое соединении двух звеньев, когда второе указанное звено составляет цепь отрицательной обратной связи для первого звена;

append -выполняет формальное объединение не связанных между собой систем (добавление выходов и входов второй системы к выходам и входам первой);

connect –установление соединений входов и выходов многомерной системы, созданной формальным объединением процедурой append;

inv –рассчитывает САУ, обратную указанной, т.е. такую, у которой выходы и входы поменяли местами.

Пример создания модели

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

При этом подмодель углового движения может быть представлена в виде двух последовательно соединенных звеньев:

- апериодического

Исследование линейных стационарных систем (ЛСС) - student2.ru и – интегрирующего Исследование линейных стационарных систем (ЛСС) - student2.ru .

В свою очередь подмодель цепи управления может быть представлена в виде двух параллельно соединенных частей:

– части, управляемой гироскопом направления и представляющей собой обычное усилительное звено K;

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

Исследование линейных стационарных систем (ЛСС) - student2.ru Соответствующая структурная схема имеет вид, представленный на рисунке,

где M – момент внешних сил относительно вертикали;

ω- угловая скорость торпеды;

ψ – угол поворота торпеды вокруг вертикали (угол рыскания).

Mу – момент управляющих сил, создаваемый при помощи рулей управления.

Решение.

Подмодель углового движения:

>> W1=tf(25,[100 50])

Transfer function:

---------------

100 s + 50

>> W2=tf(1, [1 0])

Transfer function:

---.

s

Последовательное соединение этих звеньев можно осуществить двумя способами:

– применением процедуры series:

>> W0=series(W1, W2)

Transfer function:

---------------------;

100 s^2 + 50 s

- либо просто операцией “перемножения” моделей:

>> W01=W1*W2

Transfer function:

----------------------.

100 s^2 + 50 s

Теперь сформируем цепь управления, входом которой является угол рыскания торпеды ψ, а выходом – момент Mу, накладываемый на торпеду со стороны ее рулей направления.

Усилительное звено:

>> K=tf(2,1)

Transfer function:

Дифференцирующе-колебательное звено W3:

>> W3=tf([100 0], [1 10 100])

Transfer function:

100 s

-----------------------.

s^2 + 10 s + 100

Параллельное соединение этих двух звеньев управления можно осуществить тоже двумя способами:

- либо используя процедуру parallel

>> U1=parallel(K,W3)

Transfer function:

2 s^2 + 120 s + 200

-------------------

s^2 + 10 s + 100

- либо применяя операцию “сложения” моделей

>> U=K+W3

Transfer function:

2 s^2 + 120 s + 200

------------------------.

s^2 + 10 s + 100

Теперь найдем модель всей САУ угловым движением торпеды, рассматривая цепь управления как цепь отрицательной обратной связи для торпеды, пользуясь для объединения прямой и обратной цепи процедурой feedback:

>> sys=feedback(W01,U)

Transfer function:

25 s^2 + 250 s + 2500

-------------------------------------------------------------------.

100 s^4 + 1050 s^3 + 10550 s^2 + 8000 s + 5000

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

>> set(sys,'InputName','Момент сил', 'OutputName','Угол рыскания')

>> set(sys,'Notes','Угловое движение торпеды')

>> get(sys)

num: {[0 0 25 250 2.5e+003]}

den: {[100 1.05e+003 1.06e+004 8e+003 5e+003]}

Variable: 's'

Ts: 0

ioDelay: 0

InputDelay: 0

OutputDelay: 0

InputName: {'Момент сил'}

OutputName: {'Угол рыскания'}

InputGroup: [1x1 struct]

OutputGroup: [1x1 struct]

Notes: {'Угловое движение торпеды'}

UserData: []

9.3.3. Анализ системы

Пакет CONTROL предоставляет пакет процедур для осуществления анализа САУ, прежде всего, для определения отклика системы на внешние воздействия как во временной, так и в частотной областях.

Для нахождения временныхоткликов системы на внешние воздействия некоторых видов предусмотрены функции:

impulseНахождение отклика на импульсное входное воздействие.

stepНахождение реакции системы на единичный скачок входного воздействия.

initialОпределение собственного движения системы при произвольных начальных условиях.

lsimОпределение реакции системы на входное воздействие произвольной формы, задаваемое в виде вектора его значений во времени.

Группа процедур для представления реакции системы на гармонические воздействия в частотнойобласти:

bodeСтроит график АЧХ и ФЧХ (диаграмму Боде) указанной системы.

nyquistСтроит в комплексной плоскости график АФХ разомкнутой системы в полярных декартовых координатах.

nicholsСтроит карту Николса системы, т.е. график АФХ разомкнутой системы в декартовых координатах.

sigmaСтроит график зависимости от частоты сингулярных значений системы; обычно совпадает с АЧХ системы.

marginСтроит диаграмму Боде с указанием запасов по амплитуде и по фазе.

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

poleРасчет полюсов системы.

zpkdataРасчет полюсов, нулей и коэффициента передачи системы.

pzmapПостроение на комплексной плоскости карты расположения нулей и полюсов системы.

Примеры анализа во временной области

Исследование линейных стационарных систем (ЛСС) - student2.ru 1. Применяя процедуру step к созданной выше модели,

>> step(sys)

можно получить график

2. Аналогично, использование процедуры impulse

>> impulse(sys)

приведет к появлению в графическом окне графика, приведенного ниже:

Исследование линейных стационарных систем (ЛСС) - student2.ru

3. При применении процедуры initialнеобходимо в число входных параметров включить, во-первых, полный вектор всех начальных условий по переменным состояния, а, во-вторых, момент времени окончания процесса интегрирования.

>> sssys=ss(sys)

>> initial(sssys,[0 0 0 1],20)

Получим

Исследование линейных стационарных систем (ЛСС) - student2.ru

Исследование линейных стационарных систем (ЛСС) - student2.ru 4. Для применения процедуры lsimнеобходимо предварительно задать вектор t значений времени, в которых будут заданы значения входного воздействия, а затем задать вектор u значений входной величины в указанные моменты времени

>> t=0:0.01:40; u=sin(t); lsim(sssys,u,t);grid

Исследование линейных стационарных систем (ЛСС) - student2.ru Результат представлен на следующей фигуре:

Примеры анализа в частотной области

1.>> bode(sys)

2.>> nyquist(sys)

Исследование линейных стационарных систем (ЛСС) - student2.ru

3.>> nichols(sys)

Исследование линейных стационарных систем (ЛСС) - student2.ru

4.>> sigma(sys)

Исследование линейных стационарных систем (ЛСС) - student2.ru

5.>> margin(sys);grid

Исследование линейных стационарных систем (ЛСС) - student2.ru

Примеры применения процедур для вычисления полюсов и нулей системы.

1.>> pole(sys)

ans =

-4.8653 + 8.5924i

-4.8653 - 8.5924i

-0.3847 + 0.6040i

-0.3847 - 0.6040i

2.>> sysz=zpk(sys)

Zero/pole/gain from input "Момент сил" to output "Угол рыскания":

0.25 (s^2 + 10s + 100)

------------------------------------------------

(s^2 + 0.7693s + 0.5128) (s^2 + 9.731s + 97.5)

3.>> [z,p,k]=zpkdata(sysz,'v')

z =

-5.0000 + 8.6603i

-5.0000 - 8.6603i

p =

-4.8653 + 8.5924i

-4.8653 - 8.5924i

-0.3847 + 0.6040i

-0.3847 - 0.6040i

k =

0.2500

4.>> pzmap(sys); grid

Результат представлен на рисунке ниже

Исследование линейных стационарных систем (ЛСС) - student2.ru

Наши рекомендации