ss2tf

Преобразуйте представление пространства состояний передаточной функции

Синтаксис

[b,a] = ss2tf(A,B,C,D)
[b,a] = ss2tf(A,B,C,D,ni)

Описание

пример

[b,a] = ss2tf(A,B,C,D) преобразовывает представление пространства состояний системы в эквивалентную передаточную функцию. ss2tf возвращает передаточную функцию Преобразования Лапласа для непрерывно-разовых систем и передаточную функцию Z-преобразования для систем дискретного времени.

пример

[b,a] = ss2tf(A,B,C,D,ni) возвращает передаточную функцию, которая заканчивается, когда ni th входной параметр системы с несколькими входными параметрами взволнован модульным импульсом.

Примеры

свернуть все

Одномерное дискретное время колеблющаяся система состоит из модульной массы, присоединенной к стене к пружине модуля эластичная константа. Датчик выбирает ускорение массы на уровне Гц.

Сгенерируйте в 50 раз выборки. Задайте интервал выборки.

Fs = 5;
dt = 1/Fs;
N = 50;
t = dt*(0:N-1);

Осциллятор может быть описан уравнениями пространства состояний

где вектор состояния и является соответственно положением и скоростью массы и матрицами

A = [cos(dt) sin(dt);-sin(dt) cos(dt)];
B = [1-cos(dt);sin(dt)];
C = [-1 0];
D = 1;

Система взволнована с модульным импульсом в положительном направлении. Используйте модель в пространстве состояний, чтобы вычислить эволюцию времени системы, начинающей со все-нулевого начального состояния.

u = [1 zeros(1,N-1)];

x = [0;0];
for k = 1:N
    y(k) = C*x + D*u(k);
    x = A*x + B*u(k);
end

Постройте график ускорения массы как функция времени.

stem(t,y,'filled')
xlabel('t')

Вычислите зависящее от времени ускорение с помощью передаточной функции H (z), чтобы отфильтровать входной параметр. Постройте график результата.

[b,a] = ss2tf(A,B,C,D);
yt = filter(b,a,u);
stem(t,yt,'filled')
xlabel('t')

Передаточная функция системы имеет аналитическое выражение:

Используйте выражение, чтобы отфильтровать входной параметр. Постройте график ответа.

bf = [1 -(1+cos(dt)) cos(dt)];
af = [1 -2*cos(dt) 1];
yf = filter(bf,af,u);
stem(t,yf,'filled')
xlabel('t')

Результатом является то же самое во всех трех случаях.

Идеальная одномерная колеблющаяся система состоит из двух модульных масс, и, ограниченная между двумя стенами. Каждая масса присоединена к самой близкой стене к пружине модуля эластичная константа. Другая такая пружина соединяет эти две массы. Выборка датчиков и, ускорения масс, на уровне Гц.

Задайте общее время измерения 16 с. Задайте интервал выборки.

Fs = 16;
dt = 1/Fs;
N = 257;
t = dt*(0:N-1);

Система может быть описана моделью в пространстве состояний

где вектор состояния и и является соответственно местоположением и скоростью-th массы. Входной вектор и выходной вектор. Матрицы пространства состояний

непрерывно-разовые матрицы пространства состояний

и обозначает единичную матрицу соответствующего размера.

Ac = [0 1 0 0;-2 0 1 0;0 0 0 1;1 0 -2 0];
A = expm(Ac*dt);
Bc = [0 0;1 0;0 0;0 1];
B = Ac\(A-eye(4))*Bc;
C = [-2 0 1 0;1 0 -2 0];
D = eye(2);

Первая масса, получает модульный импульс в положительном направлении.

ux = [1 zeros(1,N-1)];
u0 = zeros(1,N);
u = [ux;u0];

Используйте модель, чтобы вычислить эволюцию времени системы, начинающей со все-нулевого начального состояния.

x = [0;0;0;0];
for k = 1:N
    y(:,k) = C*x + D*u(:,k);
    x = A*x + B*u(:,k);
end

Постройте график ускорений этих двух масс как функции времени.

stem(t,y','.')
xlabel('t')
legend('a_1','a_2')
title('Mass 1 Excited')
grid

Преобразуйте систему в ее представление передаточной функции. Найдите ответ системы к положительному модульному импульсному возбуждению на первой массе.

[b1,a1] = ss2tf(A,B,C,D,1);
y1u1 = filter(b1(1,:),a1,ux);
y1u2 = filter(b1(2,:),a1,ux);

Постройте график результата. Передаточная функция дает тот же ответ как модель в пространстве состояний.

stem(t,[y1u1;y1u2]','.')
xlabel('t')
legend('a_1','a_2')
title('Mass 1 Excited')
grid

Система сбрасывается к ее начальной настройке. Теперь другая масса, получает модульный импульс в положительном направлении. Вычислите эволюцию времени системы.

u = [u0;ux];

x = [0;0;0;0];
for k = 1:N
    y(:,k) = C*x + D*u(:,k);
    x = A*x + B*u(:,k);
end

Постройте график ускорений. Ответы отдельных масс переключаются.

stem(t,y','.')
xlabel('t')
legend('a_1','a_2')
title('Mass 2 Excited')
grid

Найдите ответ системы к положительному модульному импульсному возбуждению на второй массе.

[b2,a2] = ss2tf(A,B,C,D,2);
y2u1 = filter(b2(1,:),a2,ux);
y2u2 = filter(b2(2,:),a2,ux);

Постройте график результата. Передаточная функция дает тот же ответ как модель в пространстве состояний.

stem(t,[y2u1;y2u2]','.')
xlabel('t')
legend('a_1','a_2')
title('Mass 2 Excited')
grid

Входные параметры

свернуть все

Матрица состояния, заданная как матрица. Если система имеет входные параметры p и q выходные параметры и описана n переменными состояния, то A n на n.

Типы данных: single | double

Матрица входного параметра к состоянию, заданная как матрица. Если система имеет входные параметры p и q выходные параметры и описана n переменными состояния, то B является n-by-p.

Типы данных: single | double

Состояние к выходной матрице, заданное как матрица. Если система имеет входные параметры p и q выходные параметры и описана n переменными состояния, то C является q-by-n.

Типы данных: single | double

Матрица сквозного соединения, заданная как матрица. Если система имеет входные параметры p и q выходные параметры и описана n переменными состояния, то D является q-by-p.

Типы данных: single | double

Введите индекс, заданный как целочисленный скаляр. Если система имеет входные параметры p, используйте ss2tf с запаздывающим аргументом ni = 1, …, p, чтобы вычислить ответ на модульный импульс применился к ni th входной параметр.

Типы данных: single | double

Выходные аргументы

свернуть все

Коэффициенты числителя передаточной функции, возвращенные как вектор или матрица. Если система имеет входные параметры p и q выходные параметры и описана n переменными состояния, то b является q-by-(n + 1) для каждого входного параметра. Коэффициенты возвращены в убывающих степенях s или z.

Коэффициенты знаменателя передаточной функции, возвращенные как вектор. Если система имеет входные параметры p и q выходные параметры и описана n переменными состояния, то a является 1 на (n + 1) для каждого входного параметра. Коэффициенты возвращены в убывающих степенях s или z.

Больше о

свернуть все

Передаточная функция

  • Для систем дискретного времени матрицы пространства состояний связывают вектор состояния x, входной параметр u и вывод y через

    x (k+1) =A x (k) +B u (k) y (k) =    C x (k) +D u (k).

    Передаточной функцией является Z-преобразование импульсного ответа системы. Это может быть выражено с точки зрения матриц пространства состояний как

    H (z) =C (zI−A) −1B+D.

  • Для непрерывно-разовых систем матрицы пространства состояний связывают вектор состояния x, входной параметр u и вывод y через

    x˙=A x+B uy=C x+D u.

    Передаточной функцией является Преобразование Лапласа импульсного ответа системы. Это может быть выражено с точки зрения матриц пространства состояний как

    H (s) =C (sI−A) −1B+D.

Смотрите также

| | | | |

Представлено до R2006a

Была ли эта тема полезной?