exponenta event banner

Дискретизация компенсатора

Этот пример показывает, как преобразовать компенсатор из непрерывного времени в дискретное, используя несколько методов дискретизации, чтобы идентифицировать способ, который дает хорошее совпадение в частотной области.

Можно спроектировать компенсатор за непрерывное время, а затем преобразовать его в дискретное время для цифровой реализации. При этом необходимо, чтобы дискретизация сохраняла характеристики частотной области, необходимые для требований к производительности и стабильности.

В следующей системе управления, G представляет собой непрерывную систему второго порядка с резким резонансом вокруг 3 рад/с.

Один действительный контроллер для этой системы включает фильтр-пробку, расположенный последовательно с интегратором. Создайте модель этого контроллера.

notch = tf([1,0.5,9],[1,5,9]);
integ = pid(0,0.34);
C = integ*notch;
bodeplot(C)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents C. Axes 2 contains an object of type line. This object represents C.

Режущий фильтр с центром 3 рад/с противодействует эффекту резонанса в G. Эта конфигурация обеспечивает более высокий коэффициент усиления петли для более быстрого общего отклика.

Дискретизируйте компенсатор.

Cdz = c2d(C,0.5);

c2d поддерживает несколько различных методов дискретизации. Поскольку эта команда не задает метод, c2d по умолчанию используется метод Zero-Order Hold (ZOH). В способе ZOH отклик дискретизированного компенсатора во временной области соответствует отклику непрерывного времени на каждом временном шаге.

Дискретизированный контроллер Cdz имеет время выборки 0,5 с. На практике выбранное время выборки может быть ограничено системой, в которой реализован контроллер, или пропускной способностью системы управления.

Сравните отклик частотной области C и Cdz.

bodeplot(C,Cdz)
legend('C','Cdz');

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent C, Cdz. Axes 2 contains 2 objects of type line. These objects represent C, Cdz.

Вертикальная линия отмечает частоту Найквиста, δ/Ts, где Ts - время выборки. Вблизи частоты Найквиста отклик дискретизированного компенсатора искажается относительно отклика непрерывного времени. В результате дискретизированный фильтр с надрезом может неправильно противодействовать резонансу установки.

Чтобы исправить это, попробуйте дискретизировать компенсатор с помощью метода Тастина и сравнить с результатом ZOH. Метод дискретизации Тустина часто дает лучшее совпадение в частотной области, чем метод ZOH.

Cdt = c2d(C,0.5,'tustin');
plotopts = bodeoptions;
plotopts.Ylim = {[-60,40],[-225,0]};
bodeplot(C,Cdz,Cdt,plotopts)
legend('C','Cdz','Cdt')

Figure contains 2 axes. Axes 1 contains 3 objects of type line. These objects represent C, Cdz, Cdt. Axes 2 contains 3 objects of type line. These objects represent C, Cdz, Cdt.

Метод Тастина сохраняет глубину выемки. Однако способ вводит сдвиг частоты, который неприемлем для многих применений. Вы можете исправить сдвиг частоты, указав частоту пробки в качестве частоты предварительного предупреждения в преобразовании Тустина.

Дискретизируйте компенсатор с помощью метода Тастина с предварительной обработкой частоты и сравните результаты.

discopts = c2dOptions('Method','tustin','PrewarpFrequency',3.0);
Cdtp = c2d(C,0.5,discopts);
bodeplot(C,Cdt,Cdtp,plotopts)
legend('C','Cdt','Cdtp')

Figure contains 2 axes. Axes 1 contains 3 objects of type line. These objects represent C, Cdt, Cdtp. Axes 2 contains 3 objects of type line. These objects represent C, Cdt, Cdtp.

Чтобы указать дополнительные опции дискретизации за пределами метода дискретизации, используйте c2dOptions. Здесь устанавливаются опции дискретизации discopts определяет как метод Тустина, так и частоту предвоенной операции. Частота предварительного действия составляет 3,0 рад/с, частота надреза в отклике компенсатора.

Использование метода Тастина с предварительным прогоном частоты дает лучше согласующуюся частотную характеристику, чем при отсутствии предварительного прорыва.

См. также

Функции

Задачи интерактивного редактора

Связанные темы