Преобразование представления в пространстве состояний в передаточную функцию.
Библиотека
EngeeDSP
Синтаксис
Вызов функции
b,a = ss2tf(A,B,C,D) — преобразует представление системы в пространстве состояний в эквивалентную передаточную функцию. Функция ss2tf возвращает передаточную функцию преобразования Лапласа для систем непрерывного времени и передаточную функцию Z-преобразования для систем дискретного времени.
b,a = ss2tf(A,B,C,D,ni) — возвращает передаточную функцию, которая получается при возбуждении единичным импульсом ni-го входа системы с несколькими входами.
Индекс входа, заданный как целочисленный скаляр. Если система имеет входов, используйте функцию ss2tf с аргументом ni для вычисления отклика на единичный импульс, приложенный к ni-му входу.
Типы данных
Int32, Int64
Выходные аргументы
#b —
коэффициенты числителя передаточной функции
вектор | матрица
Details
Коэффициенты числителя передаточной функции, возвращаемые в виде вектора или матрицы. Если система имеет входов и выходов и описывается переменными состояния, то b имеет размер на для каждого входа. Коэффициенты возвращаются в порядке убывания степеней или .
#a —
коэффициенты знаменателя передаточной функции
вектор
Details
Коэффициенты знаменателя передаточной функции, возвращаемые в виде вектора. Если система имеет входов и выходов и описывается переменными состояния, то a имеет размер на для каждого входа. Коэффициенты возвращаются в порядке убывания степеней или .
Примеры
Система «масса-пружина»
Details
Одномерная колебательная система с дискретным временем состоит из единичной массы , прикрепленной к стене пружиной с единичной упругой постоянной . Датчик регистрирует ускорение массы с частотой Гц.
Сгенерируем 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.0; zeros(N-1)]
x = [0; 0]
y = zeros(N)
for k = 1:N
y[k] = (C * x)[1] + D * u[k]
global x = A * x + B * u[k]
end
Построим график зависимости ускорения массы от времени.
Идеальная одномерная колебательная система состоит из двух единичных масс и , заключенных между двумя стенками. Каждая масса прикреплена к ближайшей стенке пружиной с единичной упругой постоянной . Другая такая же пружина соединяет две массы. Датчики регистрируют ускорения масс и , с частотой Гц.
Зададим общее время измерения 16 с. Определим интервал дискретизации .
Fs = 16
dt = 1 / Fs
N = 257
t = dt * (0:N-1)
Систему можно описать с помощью модели пространства состояний:
где — вектор состояния, а и — положение и скорость -й массы соответственно. Входной вектор и выходной вектор . Матрицы пространства состояний:
где , — матрицы пространства состояний непрерывного времени:
а обозначает единичную матрицу соответствующего размера.
using LinearAlgebra
Ac = [0 1 0 0; -2 0 1 0; 0 0 0 1; 1 0 -2 0]
A = exp(Ac * dt)
Bc = [0 0; 1 0; 0 0; 0 1]
B = Ac \ (A - I(4)) * Bc
C = [-2 0 1 0; 1 0 -2 0]
D = I(2)
Первая масса получает единичный импульс в положительном направлении.
Преобразуем систему в представление в виде передаточной функции. Найдем отклик системы на положительное единичное импульсное воздействие на первую массу.
Система возвращается в исходное состояние. Теперь другая масса, , получает единичный импульс в положительном направлении. Вычислим временную эволюцию системы.
u = [u0; ux]
x = zeros(4)
for k = 1:N
y[:, k] = C * x + D * u[:, k]
global x = A * x + B * u[:, k]
end
Построим график ускорений. Отклики отдельных масс поменялись местами.
Функция ss2tf преобразует параметры представления данной системы в пространстве состояний в эквивалентную форму передаточной функции.
Для дискретных систем матрицы пространства состояний связывают вектор состояния , вход и выход :
Передаточная функция представляет собой Z-преобразование импульсной характеристики системы. Ее можно выразить через матрицы пространства состояний следующим образом:
Для непрерывных систем матрицы пространства состояний связывают вектор состояния , вход и выход :
Передаточная функция представляет собой преобразование Лапласа импульсной характеристики системы. Ее можно выразить через матрицы пространства состояний следующим образом: