Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox
.pdf
Глава 1. Способы описания линейных динамических систем 21
либо таким же текстом при создании системы, значение запаздывания задается в секундах. Дополним файл (П. 1.2) этой командой
и выполним его. Получим в рабочей области
.
e
150 5 6926
3
.
+
ss
.
(1.34)
2
+
7 243
s
s−
01
Для дискретной системы запаздывание кратно периоду квантования. Ведем в файл (П. 1.2) команду
sys1Trdt = set(sós1Trd, 'ioDelay', 3) (Ï. 1.2.6)
и выполним его. Получим в рабочей области
()
Fz z
dt
−3
=
0 004566 0 007577 0 004566
...
2
−+
zz
32
2577
.
−+
zz
2 557 1. z −
. (1.35)
С передаточной функцией непрерывной системы, содержащей
экспоненту, не всегда удобно иметь дело, например, в замкнутых
системах при расчете устойчивости, поэтому в Control System
Toolbox предусмотрена возможность замены экспоненты аппроксимацией Паде, под которой понимают отношение двух полиномов, имеющее амплитудно-частотную характеристику, равную 1, и
фазовую характеристику, близкую к характеристике звена чистого
запаздывания. Степень полиномов N определяет порядок аппроксимации. Например, при N = 2
−
s
e
≈
1 0 5 0 083
ss
..
TT
++
ss
..
TT
−+
1 0 5 0 083
sT
2
. (1.36)
2
Чем выше порядок аппроксимации, тем выше точность и
тем больше значение допустимого при такой аппроксимации запаздывания, но тем сложнее получающиеся при этом передаточные функции.
На рис. 1.5 приведены зависимости ошибки в воспроизведении фазо-частотной характеристики звена чистого запаздывания
функциeй Паде в зависимости от порядка функции. Если, например, считать допустимой ошибкой 0.1 рад, то для N = 1 произведение ωT
в рабочем диапазоне не должно превосходить 1.12, для
s
N = 2—2.56, äëÿ N = 3—4.15, äëÿ N = 4—5.82. Ниже приводится
программа, по которой рассчитаны эти зависимости:
clear
for N = 1:4;
g = 15*N;
[nump, denp] = pade(1, N)
for j = 1:g

22 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.5. Фазовая ошибка аппроксимации чистого запаздывания
c(j) = j*0.1;
s(j) = i*c(j);
na(j,N) = polyval(nump,s(j));
da(j,N) = polyval(denp,s(j));
delta(j,N) = angle(na(j,N)/da(j,N));
if delta(j,N) < 0
dd(j,N) = delta(j,N) + c(j);
else
dd(j,N) = delta(j,N) + c(j) - 2*pi;
end;end;end;
plot(dd)
grid
gtext('N = 1')
gtext('N = 2')
gtext('N = 3')
gtext('N = 4'). (Ï. 1.3)
Введем в файл (П. 1.2) команду
sysx = pade(sys1Tr,2) (Ï. 1.2.7)
и выполним его (файл). Получим в рабочем пространстве вместо
(1.34)
43 2
ss s s
−+ − +
Fs
().=
7 420 8643 14580 291600
54
ss
150 5 9030
++
187555 415530 8311000
32
ss s++
.
(1.37)

Глава 1. Способы описания линейных динамических систем 23
На рис. 1.6 показаны переходные процессы при импульсном
воздействии для реальной системы с запаздыванием (1.34) и для
аппроксимированной (1.37). Видно, что в начальный период различия существенны, а затем процессы практически совпадают.
Ðèñ. 1.6. Процессы в системе с запаздыванием
и при аппроксимации Паде
Передаточные функции реальных систем имеют степень числителя не выше степени знаменателя, т. е. они ограничены на бесконечности, большей частью степень числителя меньше степени
знаменателя, т. е. они стремятся к нулю при s→∞. Такие функции
называются правильными и строго правильными соответственно.
Одним из вариантов использования передаточной функции
для описания объекта является ее представление в виде совокупности полюсов и нулей (так называемое представление ZPK), т. е.
если передаточная функция, например, имеет вид
432
ssss
+++
F
=
24 66 91 67 28 4
566
5432
sssss
+++++
(1.38)
то после выполнения команд
s=tf('s');
F=(5*s^4+6*s^3+6*s^2+s)/(24*s^5+66*s^4+91*s^3+67*s^2+28*s+4)
Fz = zpk(F) (Ï. 1.4)

24 Глава 1. Способы описания линейных динамических систем
получим:
.(.)( )
ss s s
Fz
=
0 20833 0 2 1
(.)( .)(
sss s
+++
0 25 0 6667
+++
22
2
(1.39)
++15 1.)s
Такое представление удобно при анализе траекторий перемещения корней и полюсов при изменении параметров системы, при построении асимптотических логарифмических характеристик и при
проектировании последовательных корректирующих устройств.
Control System Toolbox предусматривает еще один вид описания систем, а именно в виде совокупности данных: входная частота гармонического сигнала — реакция на выходе на этот сигнал;
последняя записывается в виде комплексного числа, содержащего
информацию об амплитуде и фазе выходного сигнала. Такую информацию часто имеют в распоряжении при экспериментальном
исследовании управляемого объекта. Сначала создаются массивы
входных частот ω и комплексных чисел реакций при этих частотах f, а затем используется команда
sys = frd(f,w).
С полученной таким образом системой можно поступать аналогично системам, полученным с помощью рассмотренных ранее
команд, например, можно построить диаграмму Боде, можно также
ввести запаздывание в систему или соединять несколько таких систем. В качестве примера создадим два массива реакций системы
второго порядка на гармоническое воздействие с помощью команд:
å = 0.2;
for j =1:16
w(j) = 0.125*j;
f(j) = 1/(1 - w(j)^2 + 2*e*w(j)*i);
f1(j) = 4/(4 - w(j)^2 + 4*e*w(j)*i);
end. (Ï. 1.5)
Создадим системы
sys = frd(f,w) (Ï. 1.5.1)
è
sys1 = frd(f, w, 'ioDelay', 0.5). (Ï. 1.5.2)
Применим команды
bode(sys)
grid
hold on
bode(sys1). (Ï. 1.5.3)

Глава 1. Способы описания линейных динамических систем 25
Результат построения диаграмм Боде для системы безисзапаздыванием приведен на рис. 1.7.
Ðèñ. 1.7. Диаграмма Боде для систем FRD без и с запаздыванием
——— — без запаздывания;
–––
— с запаздыванием
Ðèñ. 1.8. Операции с системами FRD

26 Глава 1. Способы описания линейных динамических систем
Создадим системы
sys2 = frd(f1, w);
sys3 = sys*sys2. (Ï. 1.5.4)
Перемножение систем эквивалентно их последовательному
соединению. Эти вопросы будут рассмотрены позже. На рис. 1.8
показаны диаграммы Боде для отдельных систем и при их последовательном соединении.
Модель FRD нельзя преобразовать в модели других типов. Для
этого необходимо предварительно, например, при использовании
System Identification Toolbox системы MATLAB сформировать приближенную передаточную функцию системы по результатам выходной реакции системы на совокупность гармонических сигналов различных частот.
1.3. Свойства моделей систем
Структура данных каждой модели состоит из основных полей,
содержащих информацию о структуре и параметрах модели, и дополнительных полей, хранящих данные о некоторых свойствах модели. Многие из этих полей первоначально являются пустыми и
могут таковыми оставаться и при использовании модели. Эти
свойства подразделяются на общие для всех моделей и частные для
конкретного типа модели. Общие свойства приведены в табл. 1.1.
Таблица 1.1. Общие свойства моделей
Название Описание Значение
1 ioDelay Запаздывание в ZPK,TF,FRD Матрица
2 InputDelay Запаздывание на входе SS Вектор
3 InputGroup Группы входных каналов Структура
4 InputName Название входных переменных Вектор строк
5 Notes Записи об истории модели Текст
6 OutputDelay Запаздывание на выходе SS Вектор
7 OutputGroup Группы выходных каналов Структура
8 OutputName Название выходных переменных Вектор строк
9 T
s
10 Userdata Дополнительные данные Произвольно
Период квантования Скаляр

Глава 1. Способы описания линейных динамических систем 27
Со свойствами 1,2,4,6,8 мы уже встречались в этой главе, там
же были приведены примеры записи. Свойство 9 содержит значение периода квантования, которое было установлено при формировании дискретной системы. Значение T
систем и T
=−1 для дискретных систем с неустановленным пе-
s
риодом выборки. Для MIMO систем значение T
= 0 для непрерывных
s
для различных
s
каналов должно быть одинаково. Используя свойства 3 и 7, можно
отдельные входы и выходы объединить в группы и назначить им
имена. Для установки этих свойств целесообразно использовать
команды непосредственной установки свойств.
Рассмотрим следующий пример. Пусть в системе с упругой
связью, уравнения которой приведены в файле П. 1.1, измеримы
все три состояния, т. е. матрица ñ единичная. Объединим две такие одинаковые системы в одну, используя команду «append»
(описывается далее). Выполним команды:
J1 = 21.5;J2 = 7;C = 243;
a =[0 -1/J1 0;C 0 -C;0 1/J2 0];
b = [1/J1; 0; 0]; c = åóå(3);
sys1 = ss(a, b, c, 0);
set(sys1, 'StateName', {'Wd'; 'My'; 'Wm'}, 'InputName',['Md'],...
'OutputName',{'Wd';'My';'Wm'});
sys2 = ss(a, b, c, 0, 'inputdelay', 0.1, 'outputdelay', 0.2);
sys3 = append(sys1,sys2) (Ï. 1.6)
Получим систему с шестью состояниями, двумя входами и
шестью выходами. Объединим входы в группу, названную
«control», выходы 1,3,4,6 в группу, названную «speed» (скорость) и
выходы 2и6вгруппу, названную «torque»(момент). Для этого используем команды
sys3.InputGroup.controls = [1 2]
sys3.OutputGroup.speed = [1346]
sys3.OutputGroup.torque = [2 5]. (Ï. 1.6.1)
При этом в рабочей области будет создана система указанного
выше размера, с указанными в командах именами состояний, входов и выходов и с текстом:
Input delays (listed by channel): 0 0.1
Output delays (listed by channel):0000.20.20.2
Input groups:
Name Channels
controls 1,2
Output groups:
Name Channels

28 Глава 1. Способы описания линейных динамических систем
speed 1,3,4,6
torque 2,5
Continuous-time model.
Свойства5и10содержат любую информацию, которой желательно снабдить рассматриваемую модель (например, дата создания,
фамилия автора, допущения, принятые при создании модели и т. п.).
Отметим, что за исключением свойств 1 и 6 при наличии запаздывания остальные свойства могут не оговариваться.
К специфическим свойствам относятся: для SS моделей размеры матриц а, b, c, d, имена фазовых координат, для TF моделей — значения коэффициентов числителя и знаменателя, а также
обозначение переменной передаточной функции (аргумента преобразования Лапласа), для ZPK моделей — значения нулей, полюсов и коэффициентов усиления, для FRD моделей — значения
частот, реакции системы на этих частотах, единица измерения
частоты (рад/с или Герц).
Свойства системы можно получить командой get(sys).
1.4. Соединения моделей
Обычно система регулирования состоит из ряда подсистем
как-то: объект регулирования, датчики, регулятор, фильтры и др.
Каждая из этих подсистем описывается одним из четырех рассмотренных выше типов. Для получения модели всей системы их
нужно соединить между собой в соответствии с общей схемой.
Для этой цели в Control System Toolbox предусмотрен ряд команд.
С некоторыми из них мы уже встречались ранее. Рассмотрим их и
другие более подробно (табл. 1.2).
Команды8и9записываются как
sys3 = [sys1, sys2] è sys3 = [sys1;sys2]
соответственно. Если для sys1 y
= H1(s)u1è äëÿ sys2 y2= H2(s)u2,
1
то после выполнения команды 8 системы получают выход, равный
сумме выходов:
y = H
1u1+H2u2
, (1.40)
а после выполнения команды 9 входы обеих систем объединяются
(рис. 1.9 а, б):
= H1u è y2= H2u. (1.41)
y
1

Глава 1. Способы описания линейных динамических систем 29
Таблица 1.2. Команды соединения моделей
Команда Функция
1
append
2
augstate
3
ñonnect
4
feedback
5
6
7
8 [,] Каскадное соединение горизонтальное
9 [;] Каскадное соединение вертикальное
lft
parallel
series
Объединяет модели в одну
Расширение выхода добавочными состояниями
Формирует SS модель с произвольным соединением
Формирует систему с обратной связью из двух моделей
Производит перекрестное соединение двух моделей
Параллельное соединение двух моделей
Последовательное соединение двух моделей
Ðèñ. 1.9. Каскадное соединение подсистем:
а — горизонтальное, б — вертикальное
Пусть, например, мы хотим исследовать влияние коэффициента демпфирования å на переходный процесс в системе второго
порядка при толчке на входе при å = 0.2...1 с шагом 0.2. Создадим
5 систем командами
sys1 = tf(1,[1 2*0.2 1]), sys2 = tf(1,[1 2*0.4 1]),....
с заданными значениями коэффициента демпфирования. Далее
выполним команды
sys = [sys1; sys2; sys3; sys4; sys5]
step(sys). (Ï. 1.7)
В результате получим график, изображенный на рис. 1.10.
C командой append мы уже имели дело ранее. Она объединяет несколько систем в одну, позволяя оперировать с ними как с

30 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.10. Процессы в системе, образованной каскадным
вертикальным соединением
одной системой. При выполнении этой команды образуются
блочно-диагональные матрицы состояний èëè передаточных
функций, причем эти блоки соответствуют отдельным подсистемам, входящим в объединенную систему. Между собой блоки не
связаны. Команда имеет синтаксис:
sys =append(sys1, sys2,....).
Число входящих систем не ограничено, они должны быть или
все непрерывные, или все дискретные с одним и тем же временем
выборки. Они могут быть разных типов (FRD, SS, TF, ZPK), причем тип получающейся при этом системы определяется правилом
приоритетов:
FRD > SS > ZPK > TF. (1.42)
Это означает, что если при соединении ряда моделей хотя бы
одна из них есть типа FRD, то и результирующая модель будет
этого типа, если такой модели нет, но имеется хотя бы одна модель типа SS, то результирующая модель будет этого типа и т. д.
Это же относится и к другим командам.
Если, например, для описанных выше 5-ти систем второго порядка выполнить команду
sys =append(sys1, sys2,,sys3, sys4, sys5), (Ï. 1.7.1)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
