曹曉平 劉淵
【摘要】 衡量控制系統調節品質優劣的性能指標可以理解為對每一類自動控制系統被控量變化全過程提出的共同基本要求,即穩定性、快速性和準確性。其中,穩定性是首要的,那么如何準確判斷控制系統是否穩定就是十分重要的問題,通過設計程序算法和控制系統仿真,能夠很好地解決這個問題。
【關鍵詞】 系統穩定性 勞斯判據 仿真 算法 性能
引言
本論文通過闡述如何判斷自動控制系統品質優劣的問題入手,研究了判斷穩定性如今最前沿的方法,利用軟件編程的策略,這樣可以通過仿真的方法準確判斷任一閉環控制系統是否穩定,是將理論結合實際工作的典范。
一、設計內容及意義
系統特征方程如下,試用勞思判據和霍爾維茨判據判斷系統穩定性.s^5+3s^4+10s^3+24s^ 2+32s+48=0
自動控制系統的共同基本要求可以歸結為穩、準、快三點。穩定是控制系統的重要性能,也是系統能夠正常運行的首要條件。一個穩定的控制系統,其被控量偏離期望值的初始偏差經過一個過渡過程時間應逐漸減小并趨于零。而不穩定的系統無法實現預定的控制任務。因此,穩定性判斷對自動控制系統是非常緊要的,而自動控制理論的基本任務之一就是如何分析系統的穩定性并提出保證系統穩定的措施。根據題目要求,運用控制原理相關知識,分析所給系統的穩定性,并結合控制系統仿真和matlab知識,編寫出計算機實現程序,判斷穩定性。
二、穩定性分析
平衡狀態穩定性概念是由俄國學者李雅普諾夫1892年首先提出,根據該穩定性理論,線性系統穩定性定義為:
線性控制系統在初始擾動影響下,其動態過程隨時間推移逐漸衰減并趨于零(或原平衡工作點),系統最后可以達到平衡狀態,則稱該系統漸進穩定,簡稱穩定;若在初始擾動影響下,其動態過程隨時間推移而發散,系統被控量失控,則稱系統不穩定;若在初始擾動影響下,其動態過程隨時間的推移雖不能回到原平衡點,但能夠保持在原工作點附近的某一有限區域內運動,表現為等幅振蕩形式則稱系統臨界穩定。
線性系統的穩定性取決于系統自身的結構和參數,與外界因素條件無關。線性系統穩定的充分必要條件是:閉環系統特征方程的所有根全部都具有負實部;或者說,閉環傳遞函數的極點全部都嚴格位于左半s平面。
根據穩定的充分必要條件判別系統的穩定性,必然要求準確求出系統的全部特征根。對于高階系統來說,求根的工作量十分龐大,那么就希望使用一種間接判斷系統特征根是否全部嚴格位于s左半平面的代替簡便方法。
三、算法及對象選定
3.1 勞斯判據
將各項系數,按下面的格式排成勞斯表
s^n a0 a2 a4 a6 …
s^(n-1) a1 a3 a5 a7 …
s^(n-2) b1 b2 b3 b4
s^(n-3) c1 c2 c3
.
.
s^2 d1 d2 d3
s^1 e1 e2
s^0 f1
表中:
這樣可求得n+1行系數
勞斯穩定判據是根據所列勞斯表第一列系數符號的變化,去判別特征方程式根在S平面上的具體分布,過程如下:
①如果勞斯表中第一列的系數均為正值,則其特征方程式的根都在S的左半平面,相應的系統是穩定的。
②如果勞斯表中第一列系數的符號有變化,其變化的次數等于該特征方程式的根在S的右半平面上的個數,也代表方程的正實根個數,相應的系統為不穩定。
③如果勞斯表中某一列出現全零行時,需要用上一行的系數構造一個輔助方程F(s)=0,并將輔助方程對變量s求導,用所得導數方程的系數取代全零行的元,便可按勞斯穩定判據的要求繼續運算下去,直到得出完整的勞斯計算表。
④如果勞斯表中某一行的第一列為零,而其余各項不為零,或不全為零時,以一個很小的正數來代替為零的這項,據此算出其余的各項,完成勞斯表的排列。
經過手算,對于特征方程 s^5+3s^4+10s^3+24s^2+32s+48=0
列出勞斯表: s^5 1 10 32
s^4 3 24 48
s^3 2 16
s^2 0 48
s^2 e(-10) 48 輔助方程
s^1 16
s^0 48
根據勞斯判據,此系統是臨界穩定的。
3.2霍爾維茨判據
系統特征方程s^5+3s^4+10s^3+24s^2+32s+48=0
系統穩定的充要條件:
特征方程的全部系數都為正,且主行列式及對角線上的子行列式都大于零。
3.3 用求特征方程根的方法,判斷實部是否小于零來判斷穩定性,存在實部大于零的根,則系統不穩定。
3.4也可構成單位負反饋系統,繪制開環幅相曲線,利用奈奎斯特判據來判斷系統的穩定性。
四、仿真算法選取與性能分析
根據題目要求,利用勞斯判據和霍而維茨判據判斷所給系統的穩定性,這兩種算法直接并且實現較為簡單。
構造系統的routh表
格式: [rtab,info]=routh(den)
說明:其中den是系統的分母多項式向量,rtab是構造的routh表矩陣,info為字符串型變量,返回有關信息。系統不穩定極點的數目等于所產生的routh表中第一列元素的符號變化次數。
function [rtab,info]=routh(den)
info=[];
vec1=den(1:2:length(den)); nrT=length(vec1);
vec2=den(2:2:length(den));
rtab=[vec1; vec2, zeros(1,nrT-length(vec2))];
for k=1:length(den)-2
alpha(k)=vec1(1)/vec2(1);
if mod(length(den),2)==0,n=length(vec1)-1;
else n=length(vec2);
end
for i=1:n
a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);
end
if sum(abs(a3))==0
a3=polyder(vec2);
info=[info,'All elements in row ',...
int2str(k+2) ' are zeros;'];
elseif abs(a3(1)) a3(1)=1e-6; info=[info,'Replaced first element;']; end 構造Hurwitz矩陣。 格式: [H,Hz_det]=hurwitz(den) 說明:H為構造的Hurwitz矩陣,Hz_det為各階主子式的行列式值,den為系統的分母多項式D(S)。 D(S)=a0Sn+ a1Sn-1 + a2Sn-2+ ……+ an-1S1 + an H 矩陣 function [H,Hz_det]=hurwitz(den) n=length(den)-1; for i=1:n i1=floor(i/2); if i==i1*2 hsub1=den(1:2:n+1); i1=i1-1; else hsub1=den(2:2:n+1); end l1=length(hsub1); H(i,:)=[zeros(1,i1),hsub1,zeros(1,n-i1-l1)]; end [nr,nc]=size(H); for i=1:nr Hz_det(i,1)=det((H(1:i,1:i))); end 經過分析計算,仿真編程序實現,知道這個系統是臨界穩定的,勞斯表中第四行的第一列為零,而其余各項不為零,或不全為零時,以一個很小的正數來代替為零的這項,據此算出其余的各項,完成勞斯表的排列。而運用霍爾維茨判據,得到行列式為零,也可以判斷系統是臨界穩定的。 五、結論 經過程序運行與調試,判斷出系統是臨界穩定的,系統性能并不理想,若在初始擾動影響下,其動態過程隨時間的推移雖不能回到原平衡點,但可以保持在原工作點附近的某一有限區域內運動,則稱系統臨界穩定,在外加一定擾動下,會偏離平衡狀態而變為不穩定系統,對控制性能帶來不利影響,是我們應該避免的狀態,在實際控制系統中應該使系統階躍相應為衰減振蕩的,才能滿足一般自動系統的最基本要求,穩定性。 我們設計的這個程序針對不同的情況,可以判斷出系統是穩定的,不穩定或者是臨界穩定的,適應性很強,而不是簡單的只是判斷是穩定還是不穩定,這也是它的優越性所在。