簡介
數(shù)學(xué)中解耦是指使含有多個變量的數(shù)學(xué)方程變成能夠用單個變量表示的方程組,即變量不再同時共同直接影響一個方程的結(jié)果,從而簡化分析計算。通過適當(dāng)?shù)目刂屏康倪x取,坐標變換等手段將一個多變量系統(tǒng)化為多個獨立的單變量系統(tǒng)的數(shù)學(xué)模型,即解除各個變量之間的耦合。最常見的有發(fā)電機控制,鍋爐調(diào)節(jié)等系統(tǒng)。軟件開發(fā)中的耦合偏向于兩者或多者的彼此影響,解耦就是要解除這種影響,增強各自的獨立存在能力,可以無限降低存在的耦合度,但不能根除,否則就失去了彼此的關(guān)聯(lián),失去了存在意義。
工程背景
在現(xiàn)代化的工業(yè)生產(chǎn)中,不斷出現(xiàn)一些較復(fù)雜的設(shè)備或裝置,這些設(shè)備或裝置的本身所要求的被控制參數(shù)往往較多,因此,必須設(shè)置多個控制回路對該種設(shè)備進行控制。由于控制回路的增加,往往會在它們之間造成相互影響的耦合作用,也即系統(tǒng)中每一個控制回路的輸入信號對所有回路的輸出都會有影響,而每一個回路的輸出又會受到所有輸入的作用。要想一個輸入只去控制一個輸出幾乎不可能,這就構(gòu)成了“耦合”系統(tǒng)。由于耦合關(guān)系,往往使系統(tǒng)難于控制、性能很差。
主要分類
三種解耦理論分別是:基于Morgan問題的解耦控制,基于特征結(jié)構(gòu)配置的解耦控制和基于H_∞的解耦控制理論。
在過去的幾十年中,有兩大系列的解耦方法占據(jù)了主導(dǎo)地位。其一是圍繞Morgan問題的一系列狀態(tài)空間方法,這種方法屬于全解耦方法。這種基于精確對消的解耦方法,遇到被控對象的任何一點攝動,都會導(dǎo)致解耦性的破壞,這是上述方法的主要缺陷。其二是以Rosenbrock為代表的現(xiàn)代頻域法,其設(shè)計目標是被控對象的對角優(yōu)勢化而非對角化,從而可以在很大程度上避免全解耦方法的缺陷,這是一種近似解耦方法。
相關(guān)解法
選擇適當(dāng)?shù)目刂埔?guī)律將一個多變量系統(tǒng)化為多個獨立的單變量系統(tǒng)的控制問題。在解耦控制問題中,基本目標是設(shè)計一個控制裝置,使構(gòu)成的多變量控制系統(tǒng)的每個輸出變量僅由一個輸入變量完全控制,且不同的輸出由不同的輸入控制。在實現(xiàn)解耦以后,一個多輸入多輸出控制系統(tǒng)就解除了輸入、輸出變量間的交叉耦合,從而實現(xiàn)自治控制,即互不影響的控制?;ゲ挥绊懙目刂品绞?,已經(jīng)應(yīng)用在發(fā)動機控制、鍋爐調(diào)節(jié)等工業(yè)控制系統(tǒng)中。多變量系統(tǒng)的解耦控制問題,早在30年代末就已提出,但直到1969年才由E.G.吉爾伯特比較深入和系統(tǒng)地加以解決。
完全解耦控制
對于輸出和輸入變量個數(shù)相同的系統(tǒng),如果引入適當(dāng)?shù)目刂埔?guī)律,使控制系統(tǒng)的傳遞函數(shù)矩陣為非奇異對角矩陣,就稱系統(tǒng)實現(xiàn)了完全解耦。使多變量系統(tǒng)實現(xiàn)完全解耦的控制器,既可采用狀態(tài)反饋結(jié)合輸入變換的形式,也可采用輸出反饋結(jié)合補償裝置的形式。給定n維多輸入多輸出線性定常系統(tǒng)(A,B,C)(見線性系統(tǒng)理論),將輸出矩陣C表示為
C戁為C的第i個行向量,i=1,2,…,m,m為輸出向量的維數(shù)。再規(guī)定一組結(jié)構(gòu)指數(shù)di(i=1,2,…,m):當(dāng)C戁B=0,C戁AB=0…,C戁AB=0時,取di=n-1;否則,di取為使CiAB≠0的最小正整數(shù)N,N=0,1,2,…,n-1。利用結(jié)構(gòu)指數(shù)可組成解耦性判別矩陣:
已證明,系統(tǒng)可用狀態(tài)反饋和輸入變換,即通過引入控制規(guī)律u=-Kx+Lv,實現(xiàn)完全解耦的充分必要條件是矩陣E為非奇異。這里,u為輸入向量,x為狀態(tài)向量,v為參考輸入向量,K為狀態(tài)反饋矩陣,L為輸入變換矩陣。對于滿足可解耦性條件的多變量系統(tǒng),通過將它的系數(shù)矩陣A,B,C化成為解耦規(guī)范形,便可容易地求得所要求的狀態(tài)反饋矩陣K和輸入變換矩陣L。完全解耦控制方式的主要缺點是,它對系統(tǒng)參數(shù)的變動很敏感,系統(tǒng)參數(shù)的不準確或者在運行中的某種漂移都會破壞完全解耦。
靜態(tài)解耦控制
一個多變量系統(tǒng)在單位階躍函數(shù)(見過渡過程) 輸入作用下能通過引入控制裝置實現(xiàn)穩(wěn)態(tài)解耦時,就稱實現(xiàn)了靜態(tài)解耦控制。對于線性定常系統(tǒng)(A,B,C),如果系統(tǒng)可用狀態(tài)反饋來穩(wěn)定,且系數(shù)矩陣A、B、C滿足關(guān)于秩的關(guān)系式,則系統(tǒng)可通過引入狀態(tài)反饋和輸入變換來實現(xiàn)靜態(tài)解耦。多變量系統(tǒng)在實現(xiàn)了靜態(tài)解耦后,其閉環(huán)控制系統(tǒng)的傳遞函數(shù)矩陣G(s)當(dāng)s=0時為非奇異對角矩陣;但當(dāng)s≠0時,G(s)不是對角矩陣。對于滿足解耦條件的系統(tǒng),使其實現(xiàn)靜態(tài)解耦的狀態(tài)反饋矩陣K和輸入變換矩陣L可按如下方式選擇:首先,選擇K使閉環(huán)系統(tǒng)矩陣(A-BK)的特征值均具有負實部。隨后,選取輸入變換矩陣
,式中D為非奇異對角矩陣,其各對角線上元的值可根據(jù)其他性能指標來選取。由這樣選取的K和L所構(gòu)成的控制系統(tǒng)必定是穩(wěn)定的,并且它的閉環(huán)傳遞函數(shù)矩陣G(s)當(dāng)s=0時即等于D。在對系統(tǒng)參數(shù)變動的敏感方面,靜態(tài)解耦控制要比完全解耦控制優(yōu)越,因而更適宜于工程應(yīng)用。
軟件解耦
說起軟件的解耦必然需要談?wù)擇詈隙?,降低耦合度即可以理解為解耦,模塊間有依賴關(guān)系必然存在耦合,理論上的絕對零耦合是做不到的,但可以通過一些現(xiàn)有的方法將耦合度降至最低。
做事情要想事半功倍,就要高處著眼,觸摸到事情的脈絡(luò)。當(dāng)今流行著各種眼花繚亂的軟件框架,不管是struts,還是spring,hibernate,還是.net,還是各種前端UI框架,其設(shè)計的核心思想是:
盡可能減少代碼耦合,如果發(fā)現(xiàn)代碼耦合,就要采取解耦技術(shù);
解耦方法有但不限有如下幾種:
?。╝)采用現(xiàn)有設(shè)計模式實現(xiàn)解耦,如事件驅(qū)動模式、觀察者模式、責(zé)任鏈模式等都可以達到解耦的目的;
?。╞)采用面向接口的方式編程,而不是用直接的類型引用,除非在最小內(nèi)聚單元內(nèi)部。但使用該方法解耦需要注意不要濫用接口。
?。╟)高內(nèi)聚,往往會帶來一定程度的低耦合度。高內(nèi)聚決定了內(nèi)部自行依賴,對外只提供必須的接口或消息對象,那么由此即可達成較低的耦合度。
彈性解耦的物理含義
作用于基本結(jié)構(gòu)的水平多余約束力X1不會使桿端的切口發(fā)生豎向的位移;反過來,豎向的多余約束力X2也不會使桿端的切口發(fā)生水平的相對位移。
內(nèi)容來自百科網(wǎng)