Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная работа № 2 ( исправленное).doc
Скачиваний:
0
Добавлен:
22.08.2019
Размер:
314.88 Кб
Скачать
  1. Моделирование импульсной сар с помощью пакета

РАСШИРЕНИЯ SYMBOLIC MATH TOOLBOX

Пакет расширения Symbolic Math Toolbox позволяет практически полностью автоматизировать построение динамических характеристик импульсных САР. Символьный процессор освобождает пользователя от всех вычислений и преобразований функций. На долю последнего остается только ввод исходных данных (ПФ разомкнутой САР) и команд в той же последовательности, в которой была решена задача из примера предыдущего раздела. Однако при этом автоматизация процесса моделирования нисколько не уменьшает количества основных операций, а позволяет только выполнить их автоматически. В связи с этим SCRIPT названной задачи отличается сравнительно большим объемом. Рассмотрение по частям позволяет облегчить его изучение.

Условно к первой части можно отнести "включение" символьного процессора, ввод ПФ разомкнутой САР Wнч(s), обратное преобразование Лапласа названной ПФ для отыскания её оригинала y[nT] и прямое z-преобразование последней

SCRIPT 1:

>> syms s z;

>> W=1/(s^2*(s+1));

>> y=ilaplace(W);

>> Z=ztrans(y)

Z =

-z/(z-1)+z/exp(-1)/(z/exp(-1)-1)+z/(z-1)^2

>> pretty(Z)

z z z

- ----- + --------------------- + --------

z - 1 / z \ 2

exp(-1) |--------- - 1| (z - 1)

\exp(-1) /

Последняя команда pretty придает выражению, записанному в одну строку, “естественный” вид дробно-рационального выражения. В данном случае это дает возможность сравнить полученный результат с выражением (2). Очевидно, что exp(-1) означает е-1.

Далее определяют z-передаточную функции разомкнутой САР согласно выражению (3). Для упрощения результата произведения использована функция simplify.

SCRIPT 1(продолжение):

>> Wz=Z*(z-1)/z;

>> Wz=simplify(Wz)

Wz =

(z*exp(-1)-2*exp(-1)+1)/(z-1)/(z-exp(-1))

>> pretty(Wz)

z exp(-1) - 2 exp(-1) + 1

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

(z - 1) (z - exp(-1))

Если раскрыть скобки и привести подобные члены, можно убедиться в том, что полученный оператор WZ совпадает с операторным выражением (4).

Затем по формуле замыкания (5) определяют основную z-передаточная функция системы управления.

SCRIPT 1 (продолжение):

>> Fiz=Wz/(1+Wz);

>> Fiz=simplify(Fiz)

Fiz =

(z*exp(-1)-2*exp(-1)+1)/(-exp(-1)+1+z^2-z)

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

Далее по формуле (6) находят z-изображение переходной функции.

SCRIPT 1 (продолжение):

>> Yz=Fiz*z/(z-1);

Результат может быть выведен для просмотра или для сравнения с выражением (6). В этом случае необходимо использовать функции simplify и pretty.

Разложение полученного z-оператора Y(z) на сумму простых дробей в виде (8) осуществляют с помощью функции residuez(n,d). Синтаксис этой функции требует в качестве аргументов коэффициенты полиномов числителя (numerator) и знаменателя (denomenator) z-оператора Y(z). При этом

Названные коэффициенты определяют с помощью функций numden и sym2poly. Таким образом, коэффициенты разложения rm и pm находят следующим образом.

SCRIPT 1 (продолжение):

>> [n,d]=numden(Yz);

>> n=sym2poly(n)

n =

0.3679 0.2642 0

>> d=sym2poly(d)

d =

1.0000 -2.0000 1.6321 -0.6321

>> [r,p,k]=residuez(n,d)

r =

1.0000

-0.3161 - 0.2556i

-0.3161 + 0.2556i

p =

1.0000

0.5000 + 0.6182i

0.5000 - 0.6182i

k =

[]

Последнее равенство k=[] oзначает, что эта матрица пустая. Следовательно, при m=3 согласно формуле (8) сумма простых дробей имеет вид

Последнее выражение вводят вручную в Symbolic Math Toolbox. Для облегчения этой операции допустимо коэффициенты округлить.

SCRIPT 1 (продолжение):

>>Yz=1/(1-z^-1)-(0.32+0.26*i)/(1-(0.5+0.62*i)*z^-1)+(-0.32+0.26*i)/(1-(0.5- 0.62*i)*z^-1);

Искомый оригинал решетчатой функции (переходную функцию) y[nT] получают как результат обратного z-преобразования изображения Y(z).

SCRIPT 1 (продолжение):

>> yn=iztrans(Yz)

yn =

1-8/25*(1/2+31/50*i)^n-13/50*i*(1/2+31/50*i)^n-8/25*(1/2-31/50*i)^n+13/50*i*(1/2-31/50*i)^n;

Наконец, переходную характеристику импульсной САР строят с помощью функции stairs. При этом шаг аргумента принимают равным шагу квантования по времени (n=T=1). Кроме того, выражение решетчатой функции y[nT] вводят в командную строку MATLAB с использованием оператора "." (точка). Последнее необходимо в связи с тем, что "дискретное" время nT при расчете образует массив чисел (n=0,1,2,…,25).

SCRIPT 1 (окончание):

>> n=0:1:25;

>>yn=1-8/25.*(1/2+31/50*i).^n-13/50*i.*(1/2+31/50*i).^n-8/25.*(1/2-31/50*i).^n+13/50*i.*(1/2-31/50*i).^n;

>> stairs(n,yn);grid

Построенная таким образом переходная характеристика импульсной САР изображена на рисунке 5.

Рисунок 5 – Переходная характеристика импульсной САР

Функция stairs аналогична функции plot. В библиотеке "графических" функций MATLAB есть также функция stem, с помощью которой можно построить решетчатую функцию y[nT]. Синтаксис функции stem не отличается от синтаксиса названных функций plot и stairs. Однако функции stem и stairs предназначены для изображения функций, квантованных по времени. Первая из названных функций выводит на экран решетчатую функцию y[nT], а вторая – также функцию y[nT] с экстраполяцией нулевого порядка.