1. 程式人生 > >Matlab中的c2d函式用法

Matlab中的c2d函式用法

c2d()函式的作用是將s域的表示式轉化成z域的表示式,s=0對應z=1。

c2d()函式轉化的方法有多種:

①zoh, 零階保持器法,又稱階躍響應不變法;

foh ,一階保持器法

tustin ,雙線性變換法

④ imp, 脈衝響應不變法。

根據不同的場合,使用不同的方法,生成的引數也不一樣。在具體的應用場合,需針對不同的具體應用問題採用適當的方法的問題!比如濾波器設計多采用脈衝響應不變法;控制器設計多采用雙線性變換法('tustin')、零極點配置法('matched')、後向差分法(這個c2d函式不包含)等;如果是控制系統模擬或控制器的直接數字化設計,被控物件離散化則多采用加零階保持器方法('zoh',又稱階躍響應不變法)。

若根據s函式直接求z變換,用c2d(k,0.02,'imp')就可以了!'imp'稱為“脈衝響應不變法”,實為直接求Z變換!當然還有其他辦法!事實上,所有教科書所予“Z變換表”就是直接求Z變換(這種解釋有點像“同意反覆”),而c2d函式並非如此!比如c2d(k,0.02),儘管沒有指明採用何種方法離散化,但事實上預設的是'zoh'!