В этом примере показано, как задать различные порядки аппроксимации Padé для аппроксимации внутренних и выходных задержек в системе с разомкнутым контуром непрерывного времени.
Загрузите выборку системы с разомкнутым контуром непрерывного времени, которая содержит внутренние и выходные временные задержки.
load('PadeApproximation1.mat','sys') sys
sys =
A =
x1 x2
x1 -1.5 -0.1
x2 1 0
B =
u1
x1 1
x2 0
C =
x1 x2
y1 0.5 0.1
D =
u1
y1 0
(values computed with all internal delays set to zero)
Output delays (seconds): 1.5
Internal delays (seconds): 3.4
Continuous-time state-space model.
sys является непрерывным временем второго порядка ss модель с внутренней задержкой 3,4 с и выходной задержкой 1,5 с.
Используйте pade функцию для вычисления аппроксимации третьего порядка внутренней задержки и аппроксимации первого порядка выходной задержки.
P13 = pade(sys,inf,1,3); size(P13)
State-space model with 1 outputs, 1 inputs, and 6 states.
Три следующих входных аргумента sys указать порядок аппроксимации любых входных, выходных и внутренних задержек sysсоответственно. inf указывает, что задержка не должна аппроксимироваться. Порядок аппроксимации для выходных и внутренних задержек составляет один и три соответственно.
Аппроксимация временных задержек с pade поглощает задержки в динамике, добавляя в модель столько состояний, сколько порядков в приближении. Таким образом, P13 является моделью шестого порядка без задержек.
Для сравнения, приблизить только внутреннюю задержку sys, оставляя задержку на выходе нетронутой.
P3 = pade(sys,inf,inf,3); size(P3)
State-space model with 1 outputs, 1 inputs, and 5 states.
P3.OutputDelay
ans = 1.5000
P3.InternalDelay
ans = 0x1 empty double column vector
P3 сохраняет задержку на выходе, но внутренняя задержка аппроксимируется и поглощается матрицами состояния-пространства, что приводит к модели пятого порядка без внутренних задержек.
Сравнение частотной характеристики точных и приближенных систем sys, P13, P3.
h = bodeoptions; h.PhaseMatching = 'on'; bode(sys,'b-',P13,'r-.',P3,'k--',h,{.01,10}); legend('sys','approximated output and internal delays','approximated internal delay only',... 'location','SouthWest')

Обратите внимание, что аппроксимация внутренней задержки теряет пульсацию усиления, отображаемую в точной системе.