В этом примере показано, как задать различные порядки приближения Padé аппроксимировать внутренний, и выход задерживается в системе разомкнутого цикла непрерывного времени.
Загрузите демонстрационную систему разомкнутого цикла непрерывного времени, которая содержит внутренний и выходные задержки.
load(fullfile(matlabroot,'examples','control','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')
Заметьте, что аппроксимация внутренней задержки теряет пульсацию усиления, отображенную в точной системе.