Uploaded by dcrvs2824

Prakticheskoe zanyatie 2 1

advertisement
Практическое занятие № 2
Изучение основных команд программного пакета Control System
Цель работы
Изучение основных команд и примеров использования пакета Control System в
расчетах систем управления
Теоретические сведения
В пакете представлены следующие форматы моделей:
 передаточной функции ПФ (англ. Trasfer Function, TF);
 нулей-полюсов-коэффициента усиления НПК (англ. Zero-Pole-Gain, ZPK);
 пространства состояний ПС (англ. State Space, SS);
 данных частотного отклика (англ. Frequency Response Data, FRD), где
каждой частоте ωi входного синусоидального воздействия u = sin ωi t
соответствует отклик системы y = G(ωi) sin (ωi t + φi ) на это воздействие.
Команды создания LTI моделей
Передаточные функции. В MATLAB имеются две формы представления
передаточных функций. Первая – это полиномиальная форма:
m( s) 10( s 2  4s  3)
W (s) 
 3
.
d ( s)
s  6 s 2  8s
(19.1)
Например, для передаточной функции (19.1) имеем
m = [1 4 3];
d = [1 6 8 0];
Здесь учитывается, что если какая-то степень пропущена, соответствующий
коэффициент полинома равен нулю. Тогда для задания передаточной функции при k
=10 можно воспользоваться командой
W = k*tf(m, d),
после выполнения которой выводится сообщение
Transfer function
10 S^2 + 40 s + 30
----------------s^3 + 6 s^2 + 8 s
Альтернативная форма представления передаточной функции (19.1) основана
на полиномах в факторной форме:
W (s) 
10( s  1)( s  3)
10( s  z1)( s  z2 )
,

s( s  2)( s  4) ( s  p1)( s  p2 )( s  p3 )
(19.2)
где корни полинома числителя ( z1  1, z2  3 ) называются нулями, а корни
полинома знаменателя ( p1  0 , p2  2 , p3  4 ) полюсами передаточной функции
(19.1) или (19.2).
Для задания передаточной функции в виде (19.2) нужно задать векторы нулей
и полюсов:
z = [–1 –3];
p = [0 –2 –4];
Третий параметр, коэффициент усиления (проводимости (gain)) k завершает
определение передаточной функции в форме полюса-нули-проводимость ZPK (polezero-gain). В данном случае k = 10.
Тогда для задания передаточной функции в факторной полиномиальной
форме, используется команда:
W = zpk(z, p, k)
при выполнении которой для принятых значений векторов z, p и коэффициента k
выводится сообщение
Zero/pole/gain:
10 (s+1) (s+3)
-------------s (s+2) (s+4)
Векторы коэффициентов числителя и знаменателя передаточной функции
(19.1) и (19.2) можно найти с помощью команд:
[num, den] = tfdata(W,'v')
[z, p, k] = zpkdata(W,'v')
при выполнении которых выводятся вектора num, den и z, p.
Модели в пространстве состояния. В пространстве состояния
непрерывная линейная система описывается системой дифференциальных
уравнений первого порядка, называемых уравнениями состояния:
dx
 Ax  Bu ,
dt
y  Cx  Du,
(19.3)
где x  n - вектор состояния системы; u  m - вектор входа; y  l -вектор
выхода, A  n  n, B  n  m, C  l  n, D  l  m – постоянные матрицы.
В MATLAB для описания непрерывных систем в пространстве состояния
применяются LTI-модели подкласса ss (State space), которые основаны на
линейных дифференциальных уравнениях.
Для задания модели нужно задать матрицы A, B, C, D. Если матрица D
отсутствует, то можно использовать присваивание D  0 . Тогда модель
задается командой
S=ss(A, B, C, D)
Преобразование моделей
Преобразование моделей осуществляется теми же командами - tf, zpk и ss.
Если LTI модель обозначена как sys, то синтаксис команд таков:
sys = tf(sys)
% Преобразование в TF модель;
sys = zpk(sys)
% Преобразование в ZPK модель;
sys = ss(sys)
% Преобразование в SS модель.
Преобразование непрерывных и дискретных моделей
Функция c2d производит дискретизацию непрерывной модели, а функция d2c,
наоборот,
преобразует дискретную модель в непрерывную. Эти команды
поддерживают несколько видов квантования/восстановления: восстановление
нулевого порядка (ZOH - Zero-Order Hold), восстановление первого порядка (FOH First-Order Hold), аппроксимацию Тастина без и с предварительной модификацией
частот, с согласованием полюсов и нулей. Синтаксис этих команд (с ZOH по
умолчанию) таков:
sysd = c2d(sysc,Ts) % Ts - период квантования или выборки в секундах
sysc = d2c(sysd).
Для задания
дополнительно:
других
методов
преобразования
следует
sysd = c2d(sysc,Ts,'foh')
% использует FOH метод
sysc = d2c(sysd,'tustin')
% использует аппроксимацию Тастина
их
указать
Функции отображения модели:
bode, bodeplot, ffplot – функции отображения логарифмических частотных
характеристик.
plot – отображение входных - выходных данных для данных объекта.
present – функция отображения вида модели тета-формата с оценкой
среднеквадратического отклонения, функции потерь и оценки точности модели..
pzmap – отображает нули и полюсы модели (с областями неопределенности).
nyquist – отображает диаграмму Найквиста (годограф АФХ) передаточной
функции.
view – отображение LTI-модели (при использовании пакета Control System
Toolbox).
Задание
Изучить основные функции Matlab для задания передаточных функций, zpk,
пространства состояний, функции преобразования моделей, преобразования
дискретных моделей, функции отображения моделей.
Запись моделей в пространстве состояний (19.3) - важно: определение
размерностей матриц A, B, C, D. Следующее задание будет по моделям
пространства состояний.
Download