Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
Глава 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)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]