- •Домашнее задание по курсу “Теория автоматического управления” для гр. К07-291, 292 «Проектирование системы автоматического регулирования»
- •Этапы выполнения задания
- •Рекомендации при выполнении задания с использованием среды matlab
- •1. Способы задания передаточной функции
- •1.1. Задание передаточной функции системы с помощью tf-объекта
- •1.2. Задание передаточной функции системы с помощью zpk-объекта
- •1.3. Задание системы в пространстве переменных состояний с помощью ss-объекта
- •2. Функции реализации параллельного, последовательного и соединения с обратной связью
- •3. Анализ динамических систем в среде matlab
Рекомендации при выполнении задания с использованием среды matlab
Примечание. В составе системы MATLAB должен быть предустановлен пакет Control system toolbox.
1. Способы задания передаточной функции
Пакет Control system toolbox для описания непрерывных и дискретных динамических моделей систем управления с постоянными параметрами использует либо tf-форму передаточной функции, либо zpk-форму нулей, полюсов и обобщенного коэффициента передачи, либо ss-форму пространства состояний.
Передаточная функция описывается в виде отношения многочленов, которые задаются в виде векторов-строк, составленных из их коэффициентов. В zpk-форме корни многочленов числителя и знаменателя передаточной функции и обобщенного коэффициента передачи также задаются в виде одномерных массивов. Наиболее естественным для системы MATLAB является представление модели в пространстве состояний.
Таким образом, математическую модель стационарной непрерывной системы можно задать следующими способами:
1) в tf-форме передаточной функции
2) в zpk-форме нулей, полюсов и коэффициента усиления
Истинный коэффициент усиления такой
системы
3) в ss-форме пространства состояний в виде четверки матриц A, B, C и D системы дифференциальных уравнений
1.1. Задание передаточной функции системы с помощью tf-объекта
Передаточная функция
задается многочленом числителя num
и многочленом знаменателя den.
В системе MATLAB многочлены
представляются как векторы-строки,
составленные из коэффициентов многочлена
в порядке убывания степеней переменной.
Например, вектор [1 3 5] соответствует
многочлену
.
Если заданы векторы num и
den, соответствующие
многочленам числителя и знаменателя,
то функция
создает модель системы в виде передаточной
функции
.
Пример.
Функция w=tf([1 0],[1 2 10]) формирует передаточную
функцию
:
>> w=tf([1 0],[1 2 10])
Transfer function:
s
--------------
s^2 + 2 s + 10
Пример.
Передаточную функцию
можно задать следующим образом:
>> w=tf([2],[2 1])*tf([1],[1 3 1])
Transfer function:
2
-----------------------
2 s^3 + 7 s^2 + 5 s + 1
1.2. Задание передаточной функции системы с помощью zpk-объекта
Эта модель тесно связана с формой представления объекта в виде передаточной функции: нули – это корни многочлена числителя, полюсы – корни многочлена знаменателя.
Функция, предназначенная для формирования
таких моделей, имеет вид
,
где z и p –
векторы из нулей и полюсов, а k
– обобщенный коэффициент усиления.
Не забывайте, что коэффициент k следует задавать аккуратно, чтобы обеспечить истинный коэффициент усиления .
Пример.
Требуется задать передаточную функцию
.
Для этого необходимо найти все нули и
полюса этой передаточной функции,
составить из них вектора и задать функцию
w=zpk([0],[1-j 1+j 2],-2):
>> w=zpk([0],[1-j 1+j 2],-2)
Zero/pole/gain:
-2 s
--------------------
(s-2) (s^2 - 2s + 2)
Пример.
Пусть требуется задать передаточную
функцию
.
Обратите внимание, что истинный
коэффициент усиления равен 1. Нули и
полюса этой передаточной функции
следующие:
Воспользовавшись равенством
получим:
.
Отсюда обобщенный коэффициент k=0.5
Тогда функция w=zpk([-1],[1 -0.5],0.5) обеспечит нам исходную передаточную функцию:
>> w=zpk([-1],[1 -0.5],0.5)
Zero/pole/gain:
0.5 (s+1)
-------------
(s-1) (s+0.5)
Если привести вид полученной передаточной функции к типовому, то можно убедиться, что истинный коэффициент усиления равен 1.
Примечание. Если нули в передаточной функции отсутствуют, то соответствующий вектор следует задавать пустым, в виде пустых скобок [].
Пример.
Пусть требуется задать передаточную
функцию
Нули в данной системе отсутствуют, а
полюса
Тогда для задания передаточной функции следует воспользоваться записью
w=zpk([],[-0.5 -0.25],0.125), где обобщенный коэффициент 0.125=0.5*0.25 обеспечивает истинный коэффициент, равный 1:
>> w=zpk([],[-0.5 -0.25],0.5*0.25)
Zero/pole/gain:
0.125
----------------
(s+0.5) (s+0.25)
