Этот пример показывает, как задать различные порядки приближения 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')
Заметьте, что приближение внутренней задержки теряет пульсацию усиления, отображенную в точной системе.