傳遞函數與狀態空間之間可相互轉換,可以使用的matlab函數有
[A,B,C,D] = tf2ss(NUM,DEN)
[NUM,DEN] = ss2tf(A,B,C,D,iu)
傳遞函數的形式唯一,但狀態空間的形式不唯一,可以有多種。
1、一階慣性環節
時間常數爲T,本身爲低通濾波器,截止頻率wc爲1/T,通過伯德圖可查看,如設置T=0.1,則
T = 0.1;
sys = tf(1,[T 1]);
bode(sys);
a. 離散形式
設u爲輸入,x爲輸出,h爲步長,則:
simulink爲:
b.狀態空間形式
形式1:
A = -1/T;
B = 1/T;
C = 1;
D = 0;
即:
形式2:
A = -1/T;
B = 1;
C = 1/T;
D = 0;
即:
c.仿真
仿真結果:
傳遞函數、離散形式及狀態空間形式所仿真的結果是一致的。
2、二階震盪環節
低通濾波器,當阻尼等於0.707時,傳遞函數的截止頻率wc是wn,如wn等於10,bode圖如下:
a. 離散形式
設u爲輸入,x爲輸出,h爲步長,則:
simulink爲:
b. 狀態空間
形式1:
A = [0 1;-wn^2 -2*ksi*wn];
B = [0;wn^2];
C = [1 0];
D = 0;
即:
形式2:
A = [0 1;-wn^2 -2*ksi*wn];
B = [0;1];
C = [wn^2 0];
D = 0;
即:
c.仿真
仿真結果:
傳遞函數、離散形式及狀態空間形式所仿真的結果是一致的。
上面兩個仿真的simulink模型在此:
https://download.csdn.net/download/niu_88/11799584
3、傳遞函數離散化以及狀態空間轉換
可參考此資料: