ss2tf

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

Сгенерируйте в 50 раз выборки. Задайте интервал выборки Δt=1/Fs.

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

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

x(k+1)=Ax(k)+Bu(k),y(k)=Cx(k)+Du(k),

где x=(rv)T вектор состояния, r и v соответственно положение и скорость массы и матрицы

A=(cosΔtsinΔt-sinΔtcosΔt),B=(1-cosΔtsinΔt),C=(-10),D=(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')

Figure contains an axes. The axes contains an object of type stem.

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

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

Figure contains an axes. The axes contains an object of type stem.

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

H(z)=1-z-1(1+cosΔt)+z-2cosΔt1-2z-1cosΔt+z-2.

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

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

Figure contains an axes. The axes contains an object of type stem.

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

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

Задайте общее время измерения 16 с. Задайте интервал выборки Δt=1/Fs.

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

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

x(n+1)=Ax(n)+Bu(n),y(n)=Cx(n)+Du(n),

где x=(r1v1r2v2)T вектор состояния и ri и vi соответственно местоположение и скорость i- масса th. Входной вектор u=(u1u2)T и выходной вектор y=(a1a2)T. Матрицы пространства состояний

A=exp(AcΔt),B=Ac-1(A-I)Bc,C=(-201010-20),D=I,

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

Ac=(0100-2010000110-20),Bc=(00100001),

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

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);

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

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

Figure contains an axes. The axes with title Mass 1 Excited contains 2 objects of type stem. These objects represent a_1, a_2.

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

[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

Figure contains an axes. The axes with title Mass 1 Excited contains 2 objects of type stem. These objects represent a_1, a_2.

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

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

Figure contains an axes. The axes with title Mass 2 Excited contains 2 objects of type stem. These objects represent a_1, a_2.

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

[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

Figure contains an axes. The axes with title Mass 2 Excited contains 2 objects of type stem. These objects represent a_1, a_2.

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

свернуть все

Матрица состояния в виде матрицы. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то A n-by-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, чтобы вычислить ответ на модульный импульс применился к nith вводится.

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

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

свернуть все

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

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

Больше о

свернуть все

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

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

    x(k+1)=Ax(k)+Bu(k)y(k)=Cx(k)+Du(k).

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

    H(z)=C(zIA)1B+D.

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

    x˙=Ax+Buy=Cx+Du.

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

    H(s)=C(sIA)1B+D.

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

(Signal Processing Toolbox) | (Signal Processing Toolbox) | (Signal Processing Toolbox) | (Signal Processing Toolbox) | (Signal Processing Toolbox) | (Signal Processing Toolbox)

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