天天看點

s域到c語言離散化方法,連續傳遞函數離散化的方法與原理

《連續傳遞函數離散化的方法與原理》由會員分享,可線上閱讀,更多相關《連續傳遞函數離散化的方法與原理(33頁珍藏版)》請在人人文庫網上搜尋。

1、數字控制器的模拟化設計目錄第一章 模拟化設計基礎1第一節 步驟1第二節 在MATLAB中離散化3第三節 延時e-Ts環節的處理5第四節 控制函數分類6第二章 離散化算法10摘要10比較11第一節 沖擊響應不變法(imp,無保持器直接z變換法)11第二節 階躍響應不變法(zoh,零階保持器z變換法)11第三節 斜坡響應不變法(foh,一階保持器z變換法)11第四節 後向差分近似法12第五節 前向差分近似法14第六節 雙線性近似法(tustin)15第七節 預畸雙線性法(prevarp)17第八節 零極點比對法(matched)18第三章 時域化算法19第一節 直接算法1雙中間變量向後遞推19第二。

2、節 直接算法2雙中間變量向前遞推20第三節 直接算法3單中間變量向後遞推21第四節 直接算法4單中間變量向前遞推(簡約快速算法)21第五節 串聯算法22第六節 并聯算法23第四章 數字PID控制算法24第一節 微分方程和差分方程25第二節 不完全微分25第三節 參數選擇26第四節 c51架構27第五章 保持器33第一節 零階保持器33第二節 一階保持器30附錄 兩種一階離散化方法的結果的比較31第一章 模拟化設計基礎數字控制系統的設計有兩條道路,一是模拟化設計,一是直接數字設計。如果已經有成熟的模拟控制器,可以節省很多時間和部分試驗費用,隻要将模拟控制器離散化即可投入應用。如果模拟控制器還不存。

3、在,可以利用已有的模拟系統的設計經驗,先設計出模拟控制器,再進行離散化。将模拟控制器離散化,如果用手工進行,計算量比較大。借助數學軟體MATLAB控制工具箱,可以輕松地完成所需要的全部計算步驟。如果需要的話,還可以使用MATLAB的SIMULINK工具箱,進行模拟仿真。第一節 步驟步驟1 模拟控制器的處理在數字控制系統中,總是有傳輸特性為零階保持器的數模轉換器(DAC),是以,如果模拟控制器尚未設計,則應以下圖的方式設計模拟控制器,即在對象前面加上一個零階保持器,形成一個新對象,然後針對這個新對象求模拟控制器D(s)。事實上,模拟控制器一般是已經設計好的,無法或不友善更改了,離散化後的系統隻好。

4、作為近似設計了。然而,按照上述思路,可否将已有的控制器除以一個零階保持器再離散化呢?還沒有這方面的實際經驗。以下假設標明的G(s),D(s)如下圖,而且不對G(s)作添加保持器的預處理。步驟2 離散化模拟控制器離散化模拟控制器之前,先要确定離散化算法和采樣時間。離散化算法有好幾種,第二章中有詳細的論述,現假定采用雙線性變換法。确定采樣時間,需要考慮被控對象的特性,計算機的性能,以及幹擾信号的影響等,初步可按采樣時間T tf(1 -1,1 3 5,inputdelay,0.35)将傳回以下形式的傳遞函數s 1exp(-0.35*s) * -s2 + 3 s + 5使用這個方法不能建立形如的傳遞函。

5、數,因為帶延時的傳遞函數不能與不帶延時的傳遞函數相加,但可以使用c2d進行離散化,但要求延時時間t必須是采樣時間Dt的整數倍,若不是整數倍,則在轉換時不理會延時環節,例如:用tf函數建立2個傳遞函數,主體部分相同,但一個無輸入延時,一個有輸入延時0.35s, a=tf(1 -1,1 4 5) s - 1-s2 + 4 s + 5 a1=tf(1 -1,1 4 5,iodelay,0.35) s - 1exp(-0.35*s) * -s2 + 4 s + 5若采樣時間為0.05,因為延時時間是采樣時間的整數倍,轉換結果的主體部分完全一樣: c2d(a,0.05,imp) z2 - 1.039 z。

6、 + 9.146e-018- sampling time: 0.05z2 - 1.807 z + 0.8187 c2d(a1,0.05,imp) z2 - 1.039 z + 9.146e-018z(-7) * - sampling time: 0.05z2 - 1.807 z + 0.8187若采樣時間為0.1,因為延時時間不是采樣時間的整數倍,結果的主體部分不一樣: c2d(a,0.1,imp) z2 - 1.06 z + 4.349e-018- sampling time: 0.1z2 - 1.629 z + 0.6703 c2d(a1,0.1,imp) 0.768 z - 0.851z。

7、(-3) * - sampling time: 0.1z2 - 1.629 z + 0.67032. 将e-Ts有理化設,因e-Ts的一階有理表達式是 ,故 。為了對ts進行離散化,首先使用tf函數建立lti模型的ts。若,則。3. 在離散化時使用恒等式設,因,采樣時間為t,若T=mt,則,因為離散化時總是認為,故取。根據以上假設,用MATLAB的c2d函數對g(s)進行離散化,則,進而。則。第四節 控制函數分類以下函數在control toolbox中,這裡所述僅限于siso模型1 建立多項式形式的傳遞函數sys = tf(num,den) 建立一個s降幂多項式連續傳遞函數sys,分子多項式。

8、系數和分母多項式系數分别為num和den。sys = tf(num,den,Dt) 建立一個z降幂離散傳遞函數sys,Dt是采樣時間,行矢量num和den同上。sys = tf(sys) 把一個任意的lti模型sys轉換成多項式傳遞函數,例如把零極點模型轉換成多項式傳遞函數。 sys = tf 建立一個空的tf對象。sys = tf(m) 指定靜态增益m。2 建立零極點形式的傳遞函數sys = zpk(z,p,k) 建立一個零極點模型的連續傳遞函數sys,零極點矢量分别是z和p,增益是k。sys = zpk(z,p,k,Dt) 建立一個零極點模型的離散傳遞函數sys,零極點矢量分别是z和p,增。

9、益是k,采樣時間是Dt。在零極點對象中,如果沒有零點,則z=。sys = zpk 建立一個空的零極點對象。sys = zpk(d) 指定靜态增益d。3 建立任意形式的傳遞函數s = tf(s) 指定多項式傳遞函數變量為s變量z = tf(z,Dt) 指定多項式傳遞函數變量為z變量,Dt為采樣時間形如的傳遞函數,既不能直接用tf函數建立,也不能直接用zpk函數建立。定義了s=tf(s)後,寫出指派式f=10/(s*(0.25*s+1)*(0.05*s+1),回車後即可得到多項式型傳遞函數,再令f1=zpk(f),可得。s = zpk(s) 指定零極點傳遞函數變量為s變量z = zpk(z, Dt。

10、) 指定零極點傳遞函數變量為z變量,Dt為采樣時間定義了s = zpk(s),寫出指派式f=10/(s*(0.25*s+1)*(0.05*s+1),回車後即可得到零極點型傳遞函數。4 建立z-1降幂離散傳遞函數sys = filt(num,den,Dt) 傳回z-1降幂離散傳遞函數,num和den分别是分子和分母多項式系數,Dt是采樣時間。sys = filt(m) 傳回增益離散傳遞函數。5 連續函數離散化sysd = c2d(sysc,t,method)把連續傳遞函數sysc轉換成采樣時間為Dt的離散傳遞函數,字元串method為離散化方法: zoh(零階保持,即階躍響應不變),foh(一階。

11、保持),imp(沖擊響應不變,v6以上版本),tustin (雙線性近似),prewarp(帶預畸變的雙線性近似),matched(零極點比對)。注: 預設的方法是zoh foh的算法是而不是,這一點可以通過驗證證明,驗證方法是,令,但此結果中,的分子和分母将含有公因式,是以應進一步用zpk函數把表示成零極點形式,然後用“手工”的方法寫出不含公因式的來,可以看到,最後的結果與用foh方法得到的結果完全一緻。 當使用prewarp方法時,臨界頻率wc(in rad/sec)作為第四個輸入來指定,如sysd = c2d(sysc,t,prewarp,wc) 。另有1種形式是,opt = c2dOp。

12、tions(Method,tustin,PrewarpFrequency,.5), c2d(ds,.05,opt)。6 取多項式模型傳遞函數的分子和分母的系數矢量num,den = tfdata(sys,v) 對于siso模型sys傳回作為分子和分母系數的單行矩陣num和den。num,den,t = tfdata(sys,v) 同上,同時傳回采樣時間Dt。7 取零極點模型傳遞函數的零點和極點的單行矩陣z,p,k = zpkdata(sys,v) 傳回lti模型sys的零極點矢量z和p,增益k。8 取e-T s近似式num,den = pade(t,n) 傳回e-Ts的n階pade近似式,行矢。

13、量num和den是s的降幂多項式系數。e-Ts的一階有理表達式是 。e-Ts的高階有理表達式是 9 畫階躍響應圖step(sys) 畫出由tf,zpk,or ss等函數建立的lti模型sys的階躍響應圖。step(sys,tfinal) 畫出lti模型sys從t=0到t=tfinal的階躍響應圖。對于未指定采樣時間的離散模型,tfinal被解釋為采樣的數目。step(sys,t) 使用使用者提供的矢量t畫階躍響應圖。對于離散時間模型,t的形式應該是ti: Dt:tf,在這裡,Dt是采樣時間。對于連續時間模型,t的形式應該是ti:dt:tf,在這裡,dt變成對于連續系統的近似離散化的采樣時間。Ti。

14、是開始時間,tf是終止時間。因為階躍輸入總是假定在t=0開始,是以通常不考慮ti和tf,即隻使用一個終止時間t。step(sys1,sys2,.,t) 在一個單個的圖上畫出多個lti模型sys1,sys2,. 的階躍響應圖,時間矢量t是可選擇,還可以以step(sys1,r,sys2,y,sys3,gx)的方式對每一個系統指定顔色,線型和标記。y,t = step(sys) 傳回用于仿真的時間t的輸出響應y,但并沒有圖形畫在螢幕上,如果sys有ny輸出和nu輸入和lt = length(t),y就是一個尺寸為lt ny nu的陣列,而y(:,:,j)給出第j個輸入通道的階躍響應。10 畫脈沖響。

15、應圖impulse 脈沖響應函數,用法與step相同11 畫頻率響應圖-伯德圖(連續或離散)bode(sys) 畫伯德圖bode(sys,wmin,wmax) 在頻率wmin,wmax(in radians/second)之間畫伯德圖bode(sys,w) 按指定的頻率矢量w(in radians/second)畫伯德圖bode(sys1,sys2,.) 畫多個lti模型sys1,sys2,.的伯德圖bode(sys1,sys2,.,w) 按指定的頻率矢量w(in radians/second)畫多個lti模型sys1,sys2,.的伯德圖以下函數在符号工具箱symbolick中,需注意,在使。

16、用這些函數前,要對所使用的變量進行符号說明,例如:syms a t %是用空格分隔而不是用逗号分隔a=sin(t)L=laplace(a)12 福裡哀變換fourier反福裡哀變換ifourier13 拉普拉斯變換laplace反拉普拉斯變換ilaplace14 z變換ztrans反z變換iztrans注:以上3 種變換必須是符号表達式,例如:syms tlaplace(sin(t)15 改善公式的可讀性pretty16 多項式轉換為符号表達式poly2sym17 化簡符号表達式simplify18 取符号表達式的分子和分母numden以下函數在符号工具箱polyfun中,在公式變換中可能會用。

17、到19 部分分式展開an ad ak = residue(n,d)n和d分别為原分式的分子和分母矢量,an和ad分别為分項式的分子和分母矢量,ak為整式部分。這是一個數學公式,在數字控制器程式設計中,利用部分分式展開的方法,把高于2階的分式變換為不高于2階的分式之和,進而把高階傳遞函數算法變為低階傳遞函數并聯的算法。在使用這個方法時,不論在分子矢量中還是在分母矢量中,如果有共轭複數出現,則應将其整合為2階質因式。20 多項式乘法c = conv(a,b) ab=c21 多項式除法q,r = deconv(b,a) ba=q.r,即b = conv(a,q) + r第二章 離散化算法連續傳遞函數。

18、離散化的核心環節,就是将控制器的s傳遞函數轉換為z傳遞函數。離散化後,系統應該仍有好的穩定性,好的控制精度,而不是要求轉換前後,兩個數學公式等值。是以,離散化方法有多種。本章對這些方法的轉換原理和由來進行了演繹。離散化後得到的離散傳遞函數的穩定性,沒有進行讨論,僅列了一張表進行比較。離散的結果,雖然可能會控制精度降低,應該認為,這不是主要問題。真正影響控制精度的因素,主要還是采樣周期的長短。一般情況下,由連續到離散的設計最好多實驗幾種方法(通過仿真,得出滿意的結果)。因為比對零、極點映射法、雙線性變換法都能得出比較滿意的結果,初步設計時,可以試用這些方法。而其實,後向差分近似法也是合理的選擇。。

19、但MATLAB的c2d函數中沒有這一方法,在該方法的介紹之後,給出了一個可由MATLAB引用的m檔案函數。摘要3種保持器法 保持器法即将s函數串聯上一個保持器後取z變換,也可以從“對輸入信号的響應不變”的角度導出。無保持器法(階躍響應不變)imp零階保持器法(階躍響應不變)zoh一階保持器法(斜坡輸入不變)foh(一階保持器)MATLAB中無此方法4種近似法 近似法将s與z的無理關系近似地化為有理關系,主要應用于傳遞函數從連續到離散的變換。後向差分近似法MATLAB的C2D函數中沒有這個方法前向差分近似法MATLAB的C2D函數中沒有這個方法雙線性近似法tustin預畸雙線性近似法 ,w1為進。

20、行預畸變的頻率prevarp增益比對: 或1種比對法 比對法完全從控制學的角度看問題,也是應用于傳遞函數從連續到離散的變換。零極點比對法 若,matched則,或者,确定增益kz: a 令, b 若D(s)分子有s因子,例如,可以令 ,也可以令 比較離散化方法變換公式映射關系特點沖擊響應不變法Z變換法 imp脈沖響應采樣值相同;容易産生頻率混疊現象,為采樣角頻率。階躍響應不變法零階保持器法 zoh階躍響應采樣值相同;穩定增益不變。斜坡響應不變法一階保持器法 foh向前差分法D(s)穩定,D(z)可能不穩定;等效精度差。向後差分法變換計算簡單;如果D(s)穩定,D(z)穩定;離散濾波器的過程特性。

21、及頻率特性有一定的失真,需要較小的采樣周期T。雙線性變換法 tustinD(s)穩定,D(z)也穩定;低頻特失真,但無頻率混疊現象。穩定增益不變;具有串聯特性。預修正雙線性變換法prevarp有前一種變換的特點;還能保證在關鍵頻率1處,幅頻特性不變。零極點比對法 matchedZ域與s域零極點位置一一對應;當沒有零點時,補充z=1的零點可避免頻率混疊現象。第一節 沖擊響應不變法(imp,無保持器直接z變換法)公式推導1 無保持器,直接轉換:公式推導2 按沖擊響應不變的原則:(沖擊響應不變,中的1表示)第二節 階躍響應不變法(zoh,零階保持器z變換法),式中T為采樣周期,是以 公式推導1 按串。

22、聯零階保持器的原則:因為零階保持器的s傳遞函數為,故公式推導2 按階躍響應不變的原則:設階躍信号,則,按照下一節對斜坡響應不變法的推導,立即可以寫出第三節 斜坡響應不變法(foh,一階保持器z變換法),按斜坡響應不變原則導出,也可按一階保持器原則配合e-Ts的台勞近似式得出,foh方法使用此式 ,從一階保持器的思路推出 以上2個公式中T為采樣周期,兩式差異請參看“附錄 兩種一階離散化方法的結果的比較”。公式推導1 按斜坡響應不變的原則:設連續濾波器為D(s),輸入為斜坡函數e(t)=t,則,采樣輸出為us(kT)。按z變換的定義,us(kT)的變換就是的z變換,故。又設離散濾波器的傳遞函數為D。

23、(z),它的輸出為uz(KT),按斜坡響應不變的要求,應有uz(kT)=us(kT),故,但離散濾波器的輸出為U(z)=E(z)D(z),而斜坡函數e(t)=t的z變換為,求Uz(z) 與E(z)的比值,得斜坡響應不變法離散公式 。公式推導2 按串聯一階保持器的原則:一階保持器的傳遞函數為,則一階保持器法離散公式為,故。根據台勞近似式,用取代中的Ts+1,則得到。顯然,反過來也可以将近似為。由此可以認為,“斜坡響應不變公式”和“串聯一階保持器公式”互為近似式。經驗證,MATLAB的C2D函數中foh方法使用的就是“斜坡響應不變法公式”。使用台勞近似式的條件是,T很小,時間機關也很小。第四節 後。

24、向差分代換法(backward difference)公式推導1 近似微分:設連續傳遞函數,則,取反變換得,将中的微分用後向差分代替,得,對上式取z變換,得 ,整理後得離散傳遞函數 ,比較和,知 。公式推導2 近似積分:設連續傳遞函數,則,反變換得 ,進行近似積分,而且把輸出看作由兩部分組成,一部分是前一個時刻面積的累加值,一部分是本次的面積值。如果認為本次的面積是本次采樣值與采樣周期的乘積,則式(B)取z變換,得 合并同類項,得離散傳遞函數 比較和,知 。是以,後向差分法就是積分法,并且以目前采樣值為計算依據,是以可以稱為本次采樣積分,式(B)的圖形見下頁。公式推導3有理化z與s的關系:,由。

25、此式求得。% 差分近似法 function y=c2d1(ds,t0,str)% 函數 c2d1 補充MATLAB控制類函數 c2d 之不足,可以将連續傳遞函數以向前差分法和向後差分法變換為離散傳遞函數% 因為雙線性變換法與向前差分法和向後差分法同屬近似法,是以 c2d1 函數也包括了雙線性變換法% 輸出參數 y : LTI模型,離散傳遞函數% 輸入參數 ds : LTI模型,連續傳遞函數% t0 : 數值,采樣時間% str : 字元串,變換方法 backdiff=向後差分 fordiff=向前差分 tustin=雙線性syms z;% -檢查采樣時間Ts是否大于0if t0=0error(。

26、Ts0 or Ts=0 unallowed);end% -根據輸入的方法,确定代入公式if strcmp(str,backdiff)s=(z-1)/(t0*z);string=coefficient of result of backward difference:;string1=zero-pole of result of backward difference:;elseif strcmp(str,fordiff)s=(z-1)/t0;string=coefficient of result of forward difference:;string1=zero-pole of resu。

27、lt of forward difference:;elseif strcmp(str,tustin)s=(2/t0)*(z-1)/(z+1);string=coefficient of result of double linear:;string1=zero-pole of result of double linear:;elsedisp( );error(please chek method parameter);end% -%以下将模型的傳遞函數轉換為符号表達式,以便s=f(z)代入到ds中num,den=tfdata(ds,v); %取模型連續傳遞函數的分子和分母(多項式)nums。

28、=poly2sym(num,s);%将多項式轉換為符号dens=poly2sym(den,s);tran=nums/dens; %生成一個符号分式m=compose(tran,s); %代入m=simplify(m); %化簡n d=numden(m); %取符号表達式的分子和分母n=sym2poly(n); %取符号表達式的分子多項式系數,按降幂排列d=sym2poly(d); %取符号表達式的分母多項式系數,按降幂排列% -%以下顯示分子和分母的系數,是輔助性的disp(string)n=n/d(1); %使分母的最高項的系數為1d=d/d(1);n_str=num2str(n);d_st。

29、r=num2str(d);n_disp=strcat(fn = ,n_str);d_disp=strcat(fd = ,d_str);disp(n_disp);disp(d_disp);% -%以下生成離散傳遞函數y=tf(n,d,t0);% -%以下求出離散傳遞函數的零點和極點disp(string1);z p k=zpkdata(y,v)% -%以下畫出連續傳遞函數和離散傳遞函數的伯德圖bode(ds,r,y,g);zpk(z,p,k,t0)% 程式結束第五節 前向差分代換法(forward difference)公式推導1 近似微分:設連續傳遞函數,則,反變換得 ,将中的微分用前向差分代。

30、替,得 。将所有的采樣值提前一個周期,得 ,。取z變換,得 ,故 。整理後得離散傳遞函數 。比較和,知 。也可以不進行時間位移,直接從 進行z變換,同樣可得,。公式推導2 近似積分:設連續傳遞函數,則,它的積分表達式是,進行近似積分,而且把輸出看作由兩部分組成,一部分是前一個時刻面積的累加值,一部分是本次的面積值。如果認為本次的面積是前次采樣值與與采樣周期的乘積,則 (式B),取z變換,得 ,合并同類項,得離散傳遞函數 。比較和,得 是以,前向差分法就是積分法,并且以前一次采樣值為計算依據,是以可以稱為前次采樣積分,式(B)的圖形是公式推導3 有理化z與s的關系:,由此式求得。第六節 雙線性近。

31、似法(tustin)公式推導1 近似微分:設連續傳遞函數,則,它的微分表達式是。将用後向差分代替,用前采樣值與本次采樣值的平均值代替,得, 對上式取z變換 ,即 ,故 ,比較和,得 。公式推導2 近似積分: 設連續傳遞函數,它的積分表達式是,進行近似積分,而且把輸出看作由兩部分組成,一部分是前一個時刻面積的累加值,一部分是本次的面積值。如果認為本次面積是前次采樣值與本次采樣值,兩次采樣值的平均值平均值與采樣周期的乘積,則 (式B),取z變換,得 ,合并同類項,得 。比較和,得 。是以,雙線性近似法也是積分法,與差分法不同的是它是梯形積分,式(B)的圖形是:公式推導3 有理化z與s的關系: ,由。

32、此式求得。公式推導4 使用的台勞級數: 由,得 故。公式推導5 使用th s壓縮s平面: 脈沖響應不變法的主要缺點是頻譜交疊産生的混淆,這是從S平面到Z平面的标準變換的多值對應關系導緻的。為了克服這一缺點,設想通過兩個步驟建立S平面與Z平面一一對應的單值關系。雙線性變換的映射關系第一步 将整個S平面壓縮到S1平面的一條橫帶裡考察雙曲正切變換,當由時,w由,也就是說将s平面的w軸壓縮到平面軸上的一段上。将這一關系推廣到整個s平面,則得到s平面到平面的映射關系,系數的來源是,當時,可得。第二步 通過标準變換關系将此橫帶變換到整個Z平面上去令,得S平面與Z平面的單值映射關系, 或者 驗證: 變換的單。

33、值性:當時,代入,即S的虛軸映射到Z平面正好是機關圓。 S平面Z平面 S1平面 變換的穩定性: 代入z表達式,得 和。當時,|z|1即s左半平面映射在機關圓内,s右半平面映射在機關圓外,是以,穩定的模拟濾波器通過雙線性變換後,所得到的數字濾波器也是穩定的。第七節 預畸雙線性法(prevarp)第一步:求預修正頻率 ,w1為預防畸變的頻率, 為修正後的頻率。第二步:預畸變 。第三步:變換 。綜合以上3步: ,w1為預防畸變的頻率 。變換後,穩态增益将變化,需以或的原則進行增益比對。舉例: 若 , 則若 , 則第八節 零極點比對法(matched)D(S) D(Z) 若 ,則 。分子上因子(Z+1。

34、)n-m的作用是:把處的零點投射到來機關園上,使D(Z)的分母和分子的階數就相同。(如果不加這個因子,D(Z)脈沖響應會産生n-m個采樣時間的延遲,對系統造成不利影響?)。或者 。後一個公式比前一個公式少一個零點,MATLAB函數c2d的matched方法是按後一個公式進行變換的(但脈沖響應具有一個采樣時間的延遲?)。确定D(z)的增益kz的方法:a 令與的穩态增益相等求得,即令,b 若D(s)分子有s因子,例如,可依高頻段增益相等原則确定增益,即,也可選擇某關鍵頻率處的幅頻相等,即。對零極點比對法做的描述,可以使用符号數學編寫m檔案程式,“手工式”地進行驗證。下面的程式以連續傳遞函數為例,運。

35、行此程式後,可以看到,文中描述的方法與c2d函數的mtched方法是一緻的,也說明文本中沒有排版錯誤,這樣應該更有于助了解和使用零極點比對法。%程式開始syms s z kz t %預置采樣周期tt=0.7 %預置采樣周期s1=1 %建立ds的分子s2=vpa(s3+1.8*s2+1.8*s+1) %建立ds的分母s2r=solve(s2) %求ds的極點z1=(z+1)2 %建立dz分子的零點表達式,不包含增益z1=vpa(expand(z1),5) %展開dz分子的零點表達式為多項式表達式,不包含增益z2=(z-exp(t*s2r(1)*(z-exp(t*s2r(2)*(z-exp(t*s。

36、2r(3) %建立dz分母的極點表達式z2=vpa(subs(z2,t,tt),5) %将dz分母中周期t用預置的值tt代替,不改變極點表達式形式z2=vpa(expand(z2),5) %展開dz分母的極點表達式為多項式表達式kz=limit(s1/s2,s,0)/limit(z1/z2,z,1) %計算dz的靜态增益dz=vpa(eval(kz*z1/z2),4) %獲得dz的表達式%display(strcat(Sample time: ,num2str(tt), seconds) %對dz的說明display(Sample time: ,num2str(tt), seconds) %對。

37、dz的說明,用方括号代替strcat,以保留白格display(Discrete-time transfer function.) %續對dz的說明ds0=tf(1,1,1.8,1.8,1) %比較用c2d展開的結果dz0=c2d(ds0,tt,matched)%程式結束第三章 時域化算法控制系統中控制算法一般是指控制器的傳遞函數,但要用計算機實作,還應該将z域的離散傳遞函數,轉換為時域的差分方程。由于差分方程已經清晰地顯示出輸入輸出的時序關系,甚至可以在一定程度上把它等同于計算機程式流程圖。傳遞函數由z域向t域轉換,也有幾算法。如果把控制器的傳遞函數看作一體,叫做直接算法;如果把控制器的傳遞。

38、函數分解為幾個傳遞函數的積,叫做串聯算法;如果把控制器的傳遞函數分解為幾個傳遞函數的和,則叫做并聯算法;但串聯算法和并聯算法的z域分解式的轉換,仍然要歸結為直接算法。通過不同形式的從z域到t域的數學轉換,可以得到,同一個z傳遞函數的不同形式的輸出差分表達式。對于直接算法,共可獲得4種形式的輸出差分表達式,而串聯算法和并聯算法形成的一階分式和二階分式的轉換,同樣歸結為直接算法。信流圖對時域的輸入輸出關系的描述,比差方程形象,是以,對每一種算法都根據數學公式畫出了它的信流圖。參照信流圖所表達的信号之間的關系,将給程式設計帶來很大的友善。在信流圖之後,給出了c語言的參考語句。離散傳遞函數有z格式和z-1格式兩種,在将離散傳遞函數變換為差分方程前,要将z格式的傳遞函數改寫為z-1格式的傳遞函數。遠離目前時刻的過去時刻叫“後”: . m(-2) m(-1) m(0)目前時刻和靠近目前時刻的過去時刻叫“前”: . m(-2) m(-1) m(0)公式和信流圖中,E(Z),U(Z),e(k),u(k)表示輸入量和輸出量,Mi(Z),Ni(Z),mi(k),ni(k)表示中間變量,ai,bi表示系數。程式中。