Преобразуйте представление пространства состояний в передаточную функцию
Одномерное дискретное время колеблющаяся система состоит из модульной массы, , присоединенный к стене к пружине модуля эластичная константа. Датчик производит ускорение, , из массы в Гц.
Сгенерируйте в 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 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')
Вычислите зависящее от времени ускорение с помощью передаточной функции H (z), чтобы отфильтровать вход. Постройте результат.
[b,a] = ss2tf(A,B,C,D); yt = filter(b,a,u); stem(t,yt,'filled') xlabel('t')
Передаточная функция системы имеет аналитическое выражение:
Используйте выражение, чтобы отфильтровать вход. Постройте ответ.
bf = [1 -(1+cos(dt)) cos(dt)]; af = [1 -2*cos(dt) 1]; yf = filter(bf,af,u); stem(t,yf,'filled') xlabel('t')
Результатом является то же самое во всех трех случаях.
Идеальная одномерная колеблющаяся система состоит из двух модульных масс, и , ограниченный между двумя стенами. Каждая масса присоединена к самой близкой стене к пружине модуля эластичная константа. Другая такая пружина соединяет эти две массы. Выборка датчиков и , ускорения масс, в Гц.
Задайте общее время измерения 16 с. Задайте интервал выборки .
Fs = 16; dt = 1/Fs; N = 257; t = dt*(0:N-1);
Система может быть описана моделью в пространстве состояний
где вектор состояния и и соответственно местоположение и скорость - масса th. Входной вектор и выходной вектор . Матрицы пространства состояний
матрицы пространства состояний непрерывного времени
и обозначает единичную матрицу соответствующего размера.
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);
Первая масса, , получает модульный импульс в положительном направлении.
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
Преобразуйте систему в ее представление передаточной функции. Найдите ответ системы к положительному модульному импульсному возбуждению на первой массе.
[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
Система сбрасывается к ее начальной настройке. Теперь другая масса, , получает модульный импульс в положительном направлении. Вычислите эволюцию времени системы.
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
Найдите ответ системы к положительному модульному импульсному возбуждению на второй массе.
[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
A
— Матрица состоянияМатрица состояния, заданная как матрица. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то A
n-by-n.
Типы данных: single
| double
B
— Матрица входа к состояниюМатрица входа к состоянию, заданная как матрица. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то B
n-by-p.
Типы данных: single
| double
C
— Состояние к выходной матрицеСостояние к выходной матрице, заданное как матрица. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то C
q-by-n.
Типы данных: single
| double
D
— Проходная матрицаПроходная матрица, заданная как матрица. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то D
q-by-p.
Типы данных: single
| double
ni
— Введите индексВведите индекс, заданный как целочисленный скаляр. Если система имеет входные параметры p, используйте ss2tf
с запаздывающим аргументом ni
= 1, …, p, чтобы вычислить ответ на модульный импульс применился к ni
th вводится.
Типы данных: single
| double
b
— Коэффициенты числителя передаточной функцииКоэффициенты числителя передаточной функции, возвращенные как вектор или матрица. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то b
q (n + 1) для каждого входа. Коэффициенты возвращены в убывающих степенях s или z.
a
— Коэффициенты знаменателя передаточной функцииКоэффициенты знаменателя передаточной функции, возвращенные как вектор. Если система имеет входные параметры p и q выходные параметры и описана переменными состояния n, то a
1 на (n + 1) для каждого входа. Коэффициенты возвращены в убывающих степенях s или z.
Для систем дискретного времени матрицы пространства состояний связывают вектор состояния x, вход u и выход y через
Передаточной функцией является Z-преобразование импульсной характеристики системы. Это может быть выражено в терминах матриц пространства состояний как
Для систем непрерывного времени матрицы пространства состояний связывают вектор состояния x, вход u и выход y через
Передаточной функцией является Преобразование Лапласа импульсной характеристики системы. Это может быть выражено в терминах матриц пространства состояний как
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.