В этом примере показано, как преобразовать задержку модели дискретного времени к факторам 1 / _ z_.
В модели дискретного времени задержка одного интервала выборки эквивалентна фактору 1 / _ z_ (полюс в z = 0) в модели. Поэтому задержки сохранены в InputDelay
, OutputDelay
, или IODelay
свойства модели дискретного времени могут быть переписаны в динамике модели путем перезаписи их как полюсов в z = 0. Однако дополнительные полюса увеличивают порядок системы. Особенно для больших задержек, это может дать к системам очень старшего разряда, ведя к долгому времени вычисления или числовым погрешностям.
Чтобы проиллюстрировать, как устранить задержки в дискретное время, модель, с обратной связью, и наблюдать эффекты выполнения так, создает следующую систему с обратной связью:
G является системой дискретного времени первого порядка с входной задержкой, и C является ПИ-контроллером.
G = ss(0.9,0.125,0.08,0,'Ts',0.01,'InputDelay',7); C = pid(6,90,0,0,'Ts',0.01); T = feedback(C*G,1);
Закрытие обратной связи на объекте с входными задержками дает начало внутренним задержкам системы с обратной связью. Исследуйте порядок и внутреннюю задержку T
.
order(T)
ans = 2
T.InternalDelay
ans = 7
T
модель в пространстве состояний второго порядка. Одно состояние внесено объектом первого порядка и другим одним полюсом ПИ-контроллера. Задержки не увеличивают порядок T
. Вместо этого они представлены как внутренняя задержка семи временных шагов.
Замените внутреннюю задержку .
Tnd = absorbDelay(T);
Эта команда преобразует внутреннюю задержку с семью полюсами в z = 0. Чтобы подтвердить это, исследуйте порядок и внутреннюю задержку Tnd
.
order(Tnd)
ans = 9
Tnd.InternalDelay
ans = 0x1 empty double column vector
Tnd
не имеет никакой внутренней задержки, но это - модель девятого порядка, из-за семи дополнительных полюсов, введенных путем поглощения семи единичных задержек в динамику модели.
Несмотря на это различие в представлении, ответах Tnd
точно совпадайте с теми из T
.
stepplot(T,Tnd,'r--') legend('T','Tnd')
bodeplot(T,Tnd,'r--') legend('T','Tnd')