exponenta event banner

ss2tf

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

Синтаксис

Описание

пример

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

пример

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

Примеры

свернуть все

Одномерная дискретно-временная колебательная система состоит из единичной массы m, прикрепленной к стенке пружиной единичной упругой постоянной. Датчик производит выборку ускорения а массы при 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;

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

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

Система может быть описана с помощью модели state-space

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

где x = (r1v1r2v2) T - вектор состояния, а ri и vi - соответственно местоположение и скорость i-й массы. Входной вектор 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), до н.э = (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);

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

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.

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

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

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

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 для вычисления отклика на единичный импульс, приложенный к ni-й вход.

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

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

свернуть все

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

Коэффициенты знаменателя передаточной функции, возвращаемые в виде вектора. Если система имеет p входов и q выходов и описывается переменными состояния n, то a 1-by- ( 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