В этом примере показано, как преобразовать систему дискретного времени в непрерывное время с помощью 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.