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

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

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

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

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

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

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

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

Cdz = c2d(C,0.5);

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

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

Сравните ответ частотного диапазона C и Cdz.

bodeplot(C,Cdz)
legend('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')

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

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

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

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

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

Смотрите также

|

Похожие темы