impulse

График импульсной характеристики динамической системы; данные импульсной характеристики

Синтаксис

impulse(sys)
impulse(sys,Tfinal)
impulse(sys,t)
impulse(sys1,sys2,...,sysN)
impulse(sys1,sys2,...,sysN,Tfinal)
impulse(sys1,sys2,...,sysN,t)
[y,t] = impulse(sys)
[y,t] = impulse(sys,Tfinal)
y = impulse(sys,t)
[y,t,x] = impulse(sys)
[y,t,x,ysd] = impulse(sys)

Описание

impulse вычисляет модуль импульсную характеристику динамической модели системы. Для динамических систем в непрерывном времени импульсная характеристика является ответом на входной δ Дирака (t). Для систем в дискретном времени импульсная характеристика является ответом на импульс единичной области длины Ts и высота 1/Ts, где Ts - шаг расчета системы. (Этот импульс приближается к δ (t) как Ts приближается к нулю.) Для моделей пространства состояний, impulse принимает, что начальные значения состояний равны нулю.

impulse(sys) строит графики импульсной характеристики динамической модели системы sys. Эта модель может быть непрерывной или дискретной, и SISO или MIMO. Импульсная характеристика мультивходов является набором импульсных характеристик для каждого входного канала. Длительность симуляции определяется автоматически, чтобы отобразить переходное поведение отклика.

impulse(sys,Tfinal) моделирует импульсную характеристику от t = 0 до последнего временного t = Tfinal. Экспресс- Tfinal в системных временных модулях, заданных в TimeUnit свойство sys. Для систем в дискретном времени с неопределенным шагом расчета (Ts = -1), impulse интерпретирует Tfinal как количество периодов дискретизации для моделирования.

impulse(sys,t) использует пользовательский временной вектор t для симуляции. Экспресс- t в системных временных модулях, заданных в TimeUnit свойство sys. Для моделей в дискретном времени, t должен иметь форму Ti:Ts:Tf, где Ts - шаг расчета. Для моделей в непрерывном времени, t должен иметь форму Ti:dt:Tf, где dt становится шаг расчета дискретного приближения к непрерывной системе (см. Алгоритмы). The impulse команда всегда применяет импульс при t=0, независимо от Ti.

Чтобы построить график импульсных характеристик нескольких моделей sys1..., sysN на одной фигуре используйте:

impulse(sys1,sys2,...,sysN)

impulse(sys1,sys2,...,sysN,Tfinal)

impulse(sys1,sys2,...,sysN,t)

Как и в случае bode или plotможно задать конкретный цвет, LineStyle и/или маркер для каждой системы, например,

impulse(sys1,'y:',sys2,'g--')

См. «Графическое изображение и сравнение нескольких систем» и bode для получения дополнительной информации в этом разделе.

При вызове с выходными аргументами:

[y,t] = impulse(sys)

[y,t] = impulse(sys,Tfinal)

y = impulse(sys,t)

impulse возвращает выходной ответ y и временной вектор t используется для симуляции (если не поставляется в качестве аргумента для импульса). На экране не рисуется графика. Для систем с одним входом, y имеет столько строк, сколько временных выборок (длина t), и столько столбцов, сколько выходов. В мультивходе импульсные характеристики каждого входного канала складываются вдоль третьей размерности y. Размерности y в таком случае

Только для моделей пространства состояний:

[y,t,x] = impulse(sys)

(длина t) × (количество выходов) × (количество входов)

и y(:,:,j) дает ответ на импульсное нарушение порядка, поступающее в jПервый входной канал. Точно так же размерности x являются

(длина t) × (количество состояний) × (количество входов)

[y,t,x,ysd] = impulse(sys) возвращает стандартное отклонение YSD ответного Y идентифицированной системы SYS. YSD пуст, если SYS не содержит информацию о параметрах ковариации.

Примеры

График импульсной характеристики модели пространства состояний второго порядка

Постройте график импульсной характеристики модели пространства состояний второго порядка

[x˙1x˙2]=[0.55720.78140.78140][x1x2]+[1102][u1u2]y=[1.96916.4493][x1x2]

a = [-0.5572 -0.7814;0.7814  0];
b = [1 -1;0 2];
c = [1.9691  6.4493];
sys = ss(a,b,c,0);
impulse(sys)

Figure contains 2 axes. Axes 1 with title From: In(1) contains an object of type line. This object represents sys. Axes 2 with title From: In(2) contains an object of type line. This object represents sys.

Левый график показывает импульсную характеристику первого входного канала, а правый график показывает импульсную характеристику второго входного канала.

Можно хранить данные импульсной характеристики в MATLAB® массивы по

[y,t] = impulse(sys);

Поскольку эта система имеет два входа, y является трехмерный массив с размерностями

size(y)
ans = 1×3

   139     1     2

(первая размерность - длина t). Импульсная характеристика первого входного канала затем вызывается

ch1 = y(:,:,1);
size(ch1)
ans = 1×2

   139     1

Импульсные данные идентифицированной системы

Отобразите импульсную характеристику и соответствующую неопределенность 1 стд идентифицированной линейной системы.

load(fullfile(matlabroot, 'toolbox', 'ident', 'iddemos', 'data', 'dcmotordata'));
z = iddata(y, u, 0.1, 'Name', 'DC-motor');
set(z, 'InputName', 'Voltage', 'InputUnit', 'V');
set(z, 'OutputName', {'Angular position', 'Angular velocity'});
set(z, 'OutputUnit', {'rad', 'rad/s'});
set(z, 'Tstart', 0, 'TimeUnit', 's');

model = tfest(z,2);
[y,t,~,ysd] = impulse(model,2);

% Plot 3 std uncertainty
subplot(211)
plot(t,y(:,1), t,y(:,1)+3*ysd(:,1),'k:', t,y(:,1)-3*ysd(:,1),'k:')
subplot(212)
plot(t,y(:,2), t,y(:,2)+3*ysd(:,2),'k:', t,y(:,2)-3*ysd(:,2),'k:')

Ограничения

Импульсная характеристика непрерывной системы с ненулевой матрицей D бесконечна при t = 0. impulse игнорирует эту неоднородность и возвращает меньшее значение непрерывности, Cb в t = 0.

Совет

Можно изменить свойства графика, например модули. Для получения информации о способах изменения свойств графиков смотрите Способы настройки графиков (Control System Toolbox).

Алгоритмы

Модели в непрерывном времени сначала преобразуются в пространство состояний. Импульсная характеристика модели пространства состояний с одним входом

x˙=Ax+buy=Cx

эквивалентно следующему невынужденному ответу с начальным b состояния.

x˙=Ax,x(0)=by=Cx

Чтобы симулировать этот ответ, система дискретизируется с помощью удержания нулевого порядка на входах. Этот шаг расчета выбирается автоматически на основе динамики системы, кроме случаев, когда временной вектор t = 0:dt:Tf поставляется (dt затем используется в качестве шага расчета).

См. также

| | | (Control System Toolbox)

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