Материал: MATLAB 5. Анализ технических систем. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Для одномерных систем функция [z, p, k] = zpkdata(sys, V) возвращает нули и полюсы знаменателя в виде числовых значений векторов-столбцов, а не

ввиде описания размерностей массива ячеек.

3.6.Преобразование lti-моделей

 

c2d

Построение дискретной модели непрерывной системы

 

 

d2c

Построение непрерывной модели дискретной системы

 

 

d2d

Изменение периода дискретности и запаздывания по входам

 

 

ss

Преобразование моделей в ss-форму

 

 

tf

Преобразование моделей в tf-форму

 

 

zpk

Преобразование моделей в zpk-форму

 

 

 

c2d

Построение дискретной модели непрерывной системы

 

 

 

 

Синтаксис:

SysD = c2d(SysC, Ts)

SysD = c2d(SysC, Ts, 'метод')

SysD = c2d(SysC, Ts, 'PREWARP', We) [SysD, G] = c2d(SysC, Ts, 'FOH')

Функция SysD = c2d(SysC, Ts) реализует построение дискретной моде-' ли SysD непрерывной системы SysC с периодом дискретности Ts и с использованием экстраполятора нулевого порядка по умолчанию.

Функция SysD = c2d(SysC, Ts, 'метод') реализует построение дискретной модели SysD непрерывной системы SysC с периодом дискретности Ts и с использованием одного из ниже перечисленных методов экстраполяции:

Метод экстраполяции

Описание метода

ZOH

Экстраполятор нулевого порядка

FOH

Экстраполятор первого порядка

TUSTIN

Билинейная аппроксимация Тастина

PREWARP

Аппроксимация Тастина с коррекцией

MATCHED

Метод соответствия нулей и полюсов

Функция SysD = c2d(SysC, Ts, 'PREWARP', We) реализует построение дискретной модели SysD непрерывной системы SysC с периодом дискретности Ts и с использованием аппроксимации Тастина с коррекцией, параметр We задает частоту, на которой выполняется согласование частотных характеристик непрерывной и дискретной моделей. Эта функция применима только для одномерных моделей.

Функция [SysD, G] = c2d(SysC, Ts, 'FOH') реализует построение дискретной модели SysD непрерывной системы SysC с периодом дискретности Ts и с использованием экстраполятора первого порядка. Выходная матрица G позволяет для модели SysC, заданной в подклассе ss, с вектором начальных условий х0, вычислить эквивалентное начальное состояние по формуле x0-G*u(l,:).

Пример: построить дискретную модель с экстраполятором первого порядка и периодом дискретности 0,1 с для непрерывной системы с запаздыванием по входу 0,35 с.

» H=tf([1 -1], [1 4 5],'InputDelay',0.35)

Transfer function:

s - 1 exp(-0.35*s) * -------------

s^2 + 4 s + 5

 

» Hd=c2d(H,0.1,'foh')

 

Transfer function:

 

0.0115 z^3 + 0.0456 z^2 - 0.0562 z - 0.009104

 

z^(-3) * ---------------------------------------------------------

 

z^3 - 1.629 z^2 + 0.6703 z

 

Sampling time: 0.1

 

 

d2c

Построение непрерывной модели дискретной системы

 

 

 

Синтаксис:

 

SysC = d2c(SysD, Ts)

 

SysC = d2c(SysD, Ts, 'метод')

Первый вариант функции реализует построение непрерывной модели SysC дискретной системы SysD при условии, что модель дискретной системы соответствует экстраполятору нулевого порядка. Второй – использует один из методов экстраполяции, указанных в описании предыдущей функции.

Ограничения:

Аппроксимация Тастина не определена для систем с полюсами z = -1 и плохо обусловлена для систем с полюсами, близкими к z = -1.

Восстановление непрерывной модели с экстраполяцией ‗ZOH‘ не применимо к дискретным моделям с нулевыми полюсами. Кроме того, этот метод приводит к росту порядка непрерывной модели, если исходная дискретная система имеет отрицательные действительные полюсы. Это связано с тем, что функция логарифма от матрицы отображает отрицательные действительные полюсы в комплексные.

d2d

Изменение периода дискретности и учет запаздыания

 

 

Синтаксис:

sys = d2d(sys, Ts) sys = d2d(sys, [ ], Nd)

Первая функция формирует дискретную модель системы sys с новым периодом дискретности Ts. При этом предполагается, что дискретной модели соответствует экстраполятор нулевого порядка и соответствующее преобразование равносильно такой последовательности преобразований: sys1 = = c2d (d2c (sys), Ts).

Вторая функция формирует дискретную модель с запаздыванием по входам, которые задаются вектором целочисленных множителей Nd, так что вектор запаздываний по входам равен Nd*Ts. Если запаздывание по всем входам одинаково, то оно может быть задано одним числом Nd.

3.7. Переопределение базисных функций

plus, minus

Сложение и вычитание lti-моделей

 

 

Синтаксис:

sys = plus(sys1, sys2) sys = minus(sys1, sys2)

Функция sys = plus(sys1, sys2) выполняет операцию сложения двух объектов; она переопределена для моделей подкласса ss, tf, zpk и соответствует параллельному соединению lti-объектов.

Функция sys = minus(sys1, sys2) предназначена для вычитания двух объектов и соответствует параллельному соединению lti-объектов, для одного из которых знак изменяется на противоположный.

mtimes

Умножение lti-моделей

 

 

Синтаксис:

sys = mtimes(sys1, sys2)

Функция sys = mtimes(sys1, sys2) предназначена для умножения двух объектов и соответствует последовательному соединению lti-объектов.

ctranspose , transpose

Транспонирование lti-моделей

 

 

Синтаксис:

sys1 = ctranspose(sys) sys1 = transpose(sys)

Функция sys1 = ctranspose(sys) предназначена для построения сопряженных моделей для lti-объектов.

ss-модели:

для непрерывных моделей, заданных четверкой {A, B, C, D}, функция ctranspose возвращает четверку {-A’, -C’, B’, D’};

для дискретных моделей, заданных четверкой {A, B, C, D}, функция ctranspose возвращает четверку {AA, AA*C’’, -B’*AA, D’-B’*AAC’’}, где AA

=inv(A’).

tf и zpk модели:

для непрерывных моделей с передаточной функцией H(s) функция ctranspose возвращает передаточную функцию H(-s)’;

для дискретных моделей с передаточной функцией H(z) функция ctranspose возвращает передаточную функцию H(z -1)’.

Функция sys1 = transpose(sys) предназначена для транспонирования ltiобъектов.

ss-модели:

для непрерывных и дискретных моделей, заданных четверками {A, B, C, D}, функция transpose возвращает четверки {A .’, C .’, B .’, D .’};

tf и zpk модели:

для непрерывных моделей с передаточной функцией H(s) функция transpose возвращает передаточную функцию H(s).’;

для дискретных моделей с передаточной функцией H(z) функция transpose возвращает передаточную функцию H(z).’.

inv

Инверсия lti-моделей

 

 

Синтаксис: isys = inv(sys)

Функция isys = inv(sys) выполняет инверсию входа и выхода системы так, что линейное соответствие вида y G s u преобразуется в соответствие вида

u H sy , где H s G s 1 . Эта операция определена только для систем с

одинаковым числом входов и выходов и обратимой матрицей D. Пример:

Рассмотрим систему с двумя входами и двумя выходами, которая описывается матричной передаточной функцией

H s

и построим ее инверсную модель.

» H=[1 tf(1,[1 1]);0 1]

Transfer function from input 1 to output...

1

 

1

 

 

s

1

 

0

 

1

#1: 1 #2: 0

Transfer function from input 2 to output...

1 #1: -----

s + 1 #2: 1

» Hi=inv(H)

Transfer function from input 1 to output...

#1: 1 #2: 0

Transfer function from input 2 to output...

-1 #1: -----

s + 1

#2: 1

Ограничения: не следует применять функцию inv к моделям с обратными связями.

mrdivide, mldivide

Транспонирование lti-моделей

 

 

Синтаксис:

sys = mrdivide(sys1, sys2) sys = mldivide(sys1, sys2)

Функция sys = mrdivide(sys1, sys2) выполняет операцию левого деления, что соответствует построению модели вида sys1*inv sys2 .

Функция sys = mldivide(sys1, sys2) предназначена для построения модели вида inv sis1 * sys2 .

3.8. Соединение lti-моделей

parallel

Параллельное соединение lti-моделей

 

 

Синтаксис:

sys = parallel(sys1, sys2)

sys = parallel(sys1, sys2, inp1, inp2, out1, out2)

Источник: https://studfile.net/preview/16565812/