exponenta event banner

tf2ss

Преобразовать параметры фильтра передаточной функции в форму state-space

Синтаксис

Описание

пример

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

Примеры

свернуть все

Рассмотрим систему, описанную функцией переноса

H (s) = [2s + 3s2 + 2s + 1] s2 + 0 .4s + 1.

Преобразовать его в форму state-space с помощью tf2ss.

b = [0 2 3; 1 2 1];
a = [1 0.4 1];
[A,B,C,D] = tf2ss(b,a)
A = 2×2

   -0.4000   -1.0000
    1.0000         0

B = 2×1

     1
     0

C = 2×2

    2.0000    3.0000
    1.6000         0

D = 2×1

     0
     1

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

Создайте 50 временных выборок. Определите интервал выборки Δt = 1/Fs.

Fs = 5;
dt = 1/Fs;
N = 50;
t = dt*(0:N-1);
u = [1 zeros(1,N-1)];

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

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,'o')
xlabel('t')

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

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

[A,B,C,D] = tf2ss(bf,af);

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

hold on
stem(t,y,'*')
hold off
legend('tf','ss')

Figure contains an axes. The axes contains 2 objects of type stem. These objects represent tf, ss.

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

свернуть все

Коэффициенты числителя передаточной функции, заданные как вектор или матрица. Если b является матрицей, то каждая строка b соответствует выходу системы.

  • Для дискретно-временных систем, b содержит коэффициенты в степенях убывания z.

  • Для систем непрерывного времени, b содержит коэффициенты в степенях убывания s.

Для дискретно-временных систем, b должно иметь число столбцов, равное длине a. Если числа различаются, сделайте их равными путем заполнения нулями. Можно использовать функцию eqtflength для достижения этой цели.

Коэффициенты знаменателя передаточной функции, заданные как вектор.

  • Для дискретно-временных систем, a содержит коэффициенты в степенях убывания z.

  • Для систем непрерывного времени, a содержит коэффициенты в степенях убывания s.

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

свернуть все

Матрица состояний, возвращаемая как матрица. Если система описывается переменными состояния n, то A n-by-n.

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

Матрица «вход-состояние», возвращаемая как матрица. Если система описывается переменными состояния n, то B n-by-1.

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

Матрица «состояние-выход», возвращаемая как матрица. Если система имеет q выходов и описывается переменными состояния n, то C является q-by-n.

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

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

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

Подробнее

свернуть все

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

tf2ss преобразует параметры представления передаточной функции данной системы в параметры эквивалентного представления состояния-пространства.

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

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

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

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

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

    x˙=Ax+Bu,y=Cx+Du.

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

    H (s) = B (s) A (s) =b1sn−1+⋯+bn−1s+bna1sm−1+⋯+am−1s+am=C (sI − A) − 1B + D.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

| | | | |

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