tf2ss

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

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

Преобразуйте его в форму пространства состояний с помощью 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, прикрепленный к стене пружиной модуль упругой константы. Датчик дискретизирует ускорение, a, массы при 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(zIA)1B+D.

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

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

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

    H(s)=B(s)A(s)=b1sn1++bn1s+bna1sm1++am1s+am=C(sIA)1B+D.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

| | | | |

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