exponenta event banner

Преобразование временной задержки в дискретной временной модели в коэффициенты 1/z

В этом примере показано, как преобразовать временную задержку в дискретно-временной модели в коэффициенты 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 является моделью пространства состояния второго порядка. Одно состояние вносит завод первого порядка, а другое - один полюс PI-контроллера. Задержки не увеличивают порядок T. Вместо этого они представлены как внутренняя задержка в семь временных шагов.

Замените внутреннюю задержку на z-7.

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')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent T, Tnd.

bodeplot(T,Tnd,'r--')
legend('T','Tnd')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent T, Tnd. Axes 2 contains 2 objects of type line. These objects represent T, Tnd.

См. также

Связанные примеры

Подробнее