Этот пример показывает, как преобразовать систему дискретного времени в непрерывное время с помощью d2c
и сравнивает результаты с помощью двух различных методов интерполяции.
Преобразуйте следующую систему дискретного времени второго порядка в непрерывное время с помощью метода хранения нулевого порядка (ZOH):
G = zpk(-0.5,[-2,5],1,0.1); Gcz = d2c(G)
Warning: The model order was increased to handle real negative poles.
Gcz = 2.6663 (s^2 + 14.28s + 780.9) ------------------------------- (s-16.09) (s^2 - 13.86s + 1035) Continuous-time zero/pole/gain model.
Когда вы вызываете d2c
, не задавая метод, функция использует ZOH по умолчанию. Метод интерполяции ZOH увеличивает порядок модели для систем, которые имеют действительные отрицательные полюса. Это увеличение порядка происходит, потому что алгоритм интерполяции сопоставляет действительные отрицательные полюса в область к парам комплексно-сопряженных полюсов в область.
Преобразуйте G в непрерывное время с помощью метода Тастина.
Gct = d2c(G,'tustin')
Gct = 0.083333 (s+60) (s-20) ---------------------- (s-60) (s-13.33) Continuous-time zero/pole/gain model.
В этом случае нет никакого увеличения порядка.
Сравните частотные характеристики интерполированных систем с тем из G
.
bode(G,Gcz,Gct) legend('G','Gcz','Gct')
В этом случае метод Тастина обеспечивает лучшее соответствие частотного диапазона между дискретной системой и интерполяцией. Однако метод интерполяции Тастина не определен для систем с полюсами в z =-1 (интеграторы) и плохо обусловлен для систем с полюсами рядом z = 1.