Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_ТАУ.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
296 Кб
Скачать
☆

1.2. Решение разностных уравнений с помощью z-преобразования.

При описании дискретных систем и решении разностных уравнений широко применяется аппарат z-преобразования – это дискретный аналог преобразования Лапласа. Например, умножение изображения F(p) на оператор Лапласа р соответствует дифференцированию непрерывной функции f(t). Умножение изображения F(z) на оператор z соответствует сдвигу функции f(t) (которая может быть непрерывной, дискретной или решетчатой) на один такт.

Таким образом, если операторы р и 1/р – это операторы дифференцирования и интегрирования, то операторы z и z-1 – это операторы сдвига влево и вправо. С инженерной точки зрения оператор z-1 представляет собой элемент задержки.

Существуют также определенные параллели между изображениями функций F(p) и F(z). Например, изображению по Лапласу F(p) = 1 соответствует дельта-функция f(t) = (t), а изображению F(z) = 1, соответствует единичный импульс. В том и другом случае оригиналом является элементарное импульсное воздействие.

Краткая таблица z-преобразований других функций приведена на стр.18 (табл.1.1).

Пусть дано разностное уравнение n-го порядка

(2.3)

с начальными условиями .

Алгоритм его решения с помощью z-преобразования следующий:

  • применим z-преобразование к уравнению (2.3), заменяя f(t) на F(z), y(t) на Y(z); y(t+1) на z(Y(z)-y0) и т.д.;

  • из полученного алгебраического уравнения выразим Y(z);

  • выполним разложение Y(z) на простые дроби;

  • пользуясь табл.1.1 (стр.18), выполним обратное z-преобразование.

Результатом будет искомое решение разностного уравнения.

Пример 4. Требуется решить разностное уравнение второго порядка

с нулевыми начальными значениями y0, y1 и входным сигналом un = 1.

Решение:

  • применяем к нему z-преобразование

;

  • выражаем Y(z) и подставляем :

;

  • представляем правую часть в виде суммы простых дробей с переменной z в числителе:

,

разложение можно выполнить методом неопределенных коэффициентов или в пакете Matlab с помощью команды [R,P,K]=residue(B,А), где векторы В и А – коэффициенты полиномов числителя и знаменателя в порядке убывания степени z; синтаксис команды residue для Y(z) данного примера следующий: [R,P,K]=residue([1],[1 -6 11 -6]), в результате получим R – коэффициенты числителей суммы простых дробей, P – знаменатели простых дробей, K – свободный член;

  • с помощью z-преобразований (табл.1.1, стр.18) или команды iztrans тулбокса SYMBOLIC пакета Matlab находим оригиналы каждого из слагаемых и суммируем их: .

1.3. Моделирование дискретных систем в matlab и simulink.

В Matlab при моделировании линейных систем с дискретным временем используются разностные уравнения, модели в пространстве состояний и дискретные передаточные функции. В ядре Matlab есть команда filter, позволяющая рассчитать выходной сигнал фильтра по известному входному сигналу, заданному массивом своих значений. Ее входными аргументами являются векторы a и b коэффициентов разностного уравнения, а также массив значений сигнала u: y=filter(b,a,u). С помощью четвертого входного аргумента можно задавать начальные условия фильтра.

Дискретная система в пространстве состояний, как и непрерывная система, задается четверкой матриц:

. (2.4)

Здесь – вектор состояния; uk, yk – входной и выходной сигналы, A, B, C, D – постоянные матрицы.

Дискретной передаточной функцией линейной системы (2.4) называется отношение z-преобразования выходного сигнала к z-преобразованию входного сигнала при нулевых начальных условиях Q(z) = Y(z)/U(z). Для систем с одним входом и одним выходом она представляет собой отношение двух полиномов

.

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

Дискретные модели в Matlab задаются при помощи тех же конструкторов ss, tf и zpk, что и нерперывные с той разницей, что последним параметром задается частота дискретизации ts (sampling time).

Пример 5. Рассмотрим дискретную систему, описываемую уравнениями

,

при шаге дискретизации, равном 1.

После создания ss-модели с дискретным временем:

>>a=[-1 -1/2; 1/2 -1]; b=[1;0]; c=[0 1]; d=0; ts=1.0; s1=ss(a,b,c,d,ts)

на дисплей будут выведены матрицы:

a= -1 -0.5 b= 1 c=0 1 d= 0 0.5 -1 0

и сообщение: Sampling time: 1.0 Discrete-time model.

Аналогично создаются tf и zpk-модели с дискретным временем. Обращение к полям дискретной модели осуществляется так же, как и у непрерывной, например, для вывода матрицы c надо набрать код s1.c . Время дискретизации хранится в поле ts.

Для моделирования дискретных систем используются те же команды (step, impulse, initial, lsim), что и в непрерывном случае. В тулбоксе SYMBOLIC есть команды ztrans и iztrans для выполнения прямого и обратного z-преобразований. Например, набрав в командной строке Matlab код:

>>syms t; ztrans(t^2), получим ans=z*(z+1)/(z–1)^3.

Пример 6. Дискретная система задана уравнениями

.

Найдем двумя способами (символьным и численным) передаточную функцию от входа u до выхода y.

В данном случае имеем следующие матрицы описания в пространстве состояний

.

Символьный способ. Дискретную передаточную функцию получаем по формуле :

>>syms z;

>>А=[0 1;-6 5];В=[0; 7];С=[0 1]; %ввод матриц

>>Q=С*inv(z*eye(2)-А))*В %передаточная функция

Q=7*z/(z^2-5*z+6), %результат

Численный способ. Используем команды тулбокса CONTROL:

>> A=[0 1;-6 5];B=[0; 7];C=[0 1];

>>sd=ss(A,B,C,0,1); % Discrete-time model Sampling time: 1,

>> s=tf(sd)

Transfer function:

7 z

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

z^2 - 5 z + 6

В обоих случая получен одинаковый результат: .

Моделирование дискретных систем в SIMULINK производится так же, как и непрерывных систем, при этом используется библиотека Discrete.