1. 程式人生 > >連續系統的離散化方法

連續系統的離散化方法

  一、數值積分演算法

    1.前向差分(顯式尤拉法)
    使用前向差分代替導數 f n = y

n + 1 y n
h f'_{n}=\frac{y_{n+1}-y_{n}}{h}
    優點:迭代模擬演算法可直接寫出,不用解隱式方程
    缺點:對微分器的離散非因果,所以PID演算法用不了
    2.後向差分(隱式尤拉法)
    使用前向差分代替導數 f
n = y n y n 1 h f'_{n}=\frac{y_{n}-y_{n-1}}{h}

    優點:一定穩定,傳遞函式直接代入 s = 1 z 1 T s=\frac{1-z^{-1}}{T} 可得出差分方程
    缺點:隱式方法模擬無法迭代(可以整理出差分表示式)

注:以上參考了《前向後項差分和顯式隱式尤拉法》

    3.雙線性變換法(隱式梯形法)
    傳遞函式直接代入 s = 2 T 1 z 1 1 + z 1 s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}} 可得出差分方程
    MATLAB使用c2d(sys,T,‘tustin’);
    4.四階龍格庫塔法等其他數值積分方法、預估 - 校正方法
    總結:控制演算法實現不考慮模擬迭代能否實現,因為都可以整理出差分方程;一般不用前向差分。

  二、離散相似演算法

    1.單位衝擊響應不變法,即直接z變換
    c2d(sys,T,‘impluse’);
    優點:頻域畸變小
    缺點:單位階躍響應有誤差
    2.零階保持器法
    c2d(sys,T,‘zoh’); %預設選項

    其他保持器,零極點匹配等方法······

(以上內容均為自己思考所得,如有錯誤和疏漏,感謝大家指正)