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