雙邊投影與單邊投影相結合的非線性電路模型降階方法
2023-04-23 06:02:41
專利名稱:雙邊投影與單邊投影相結合的非線性電路模型降階方法
技術領域:
本發明屬電子技術領域,具體涉及非線性電路的模型降階方法。
背景技術:
集成電路已發展到可以將包含10億以上器件的電子系統集成在一塊晶片上,即系統晶片SOC(System on One Chip)。針對數以百萬計的大規模電路,如何在合理的時間內,快速準確地模擬和驗證其設計的正確性已成為系統晶片SOC設計的瓶頸問題。據統計,SOC晶片模擬驗證的時間已佔到整個設計時間的70%。
目前越來越多的SOC晶片是數模混合的。在模擬集成電路和數模混合電路設計中,由於模擬電路絕大多數是非線性電路,其瞬態、穩態和頻譜分析所花費的時間數以月計,這使得僅佔晶片面積20%的模擬電路的設計時間要佔整個SOC晶片設計時間的80%。因此發明可以快速提升模擬電路模擬和驗證速度的關鍵技術,對提高SOC晶片設計的效率,縮短晶片產品的上市時間具有重要的應用價值。
模型降階技術是一類非常有效的提高電路模擬和驗證速度的技術,它通過把原來大規模的電路降階為一個小規模的電路模型,大大降低求解電路的規模,從而在較短的時間內對電路的功能和性能進行快速驗證,以便對電路的設計方案及時加以改進。針對線性電路的模型降階技術如[3]已成為90年代以來線性電路模擬和驗證的行之有效的主流技術,並被成功應用於大規模線性互連電路的分析。針對模擬電路的非線性系統模型降階技術如[1,2]的發展尚不成熟,高速、高精度的可實用的非線性系統模型降階技術在模擬電路的快速模擬,如射頻電路的分析;模擬電路的行為級建模、高速時鐘網絡的分析、數字電路的時延分析等數模混合系統晶片設計,以及微機電系統設計中具有迫切的市場需求和重要的應用前景。
現有技術狀況非線性電路的狀態方程具有如下形式Ex(t)=f(x(t))+Bu(t)]]>
y(t)=Cx(t)+Du(t) (1)其中,x(t)為電路的N維狀態變量簡記為x,如節點電壓或支路電流,f(x(t))是關於狀態變量x(t)的非線性向量值函數簡記為f(x),f(x(t))和矩陣E∈RN×N,描述了節點電壓或支路電流的導數與自身是一個非線性的關係,這個非線性關係是由電路中各個元件的電學特性決定的。u(t)∈Rl,是進入電路的輸入信號變量,l表示電路中輸入埠的數目,指l個信號同時從l個埠進入電路。矩陣B∈RN×l,與進入電路的輸入信號變量有關,y(t)∈Rs,為描述電路的輸出信號的變量,s是輸出埠的數目,表示信號經過電路從s個埠輸出。矩陣C∈Rs×N、Ds×l分別描述狀態變量、輸入信號與輸出信號之間的關係。
在文獻[1]中,作者提出了一種非線性電路的模型降階方法。但是這個方法的不足之處是降階的精度較差。該方法的基本原理是把原來的非線性系統(1)用以下前2~4個子線性系統來逼近一級子系統(2)、二級子系統(3)、三級子系統(4)、四級子系統(5)Ex1=A1x1+Bu(t)--(2)]]>Ex2=A1x2+A2(x1x1)---(3)]]>Ex3=A1x3+A2(x1x2+x2x1)+A3(x1x1x1)--(4)]]>Ex4=A1x4+A2(x1x3+x2x2+x3x1)---(5)]]>+A3(x1x1x2+x1x2x1+x2x1x1)+A4(x1x1x1x1)]]>然後對各級線性子系統都分別採用單邊投影的降階方法進行降階,最後用公式x(t)≈αx1+α2x2+α3x3+α4x4(6)得到非線性系統的近似解,參數α理論上是任意常數。一般取α≤1。
其中,「」是向量或矩陣之間的一種乘積運算,舉例說明對於兩個向量g=(g1,g2,…gn)T∈Rn和h=(h1,h2,…hn)T∈Rn,gh=(g1h1,g1h2,…,g1hn,g2h1,g2h2,…,g2hn,…,gnh1,gnh2,…,gnhn)T例如當n取3時,具體寫出就是
gh=(g1h1,g1h2,g1hn,g2h1,g2h2,g2h3,g3h1,g3h2,g3h3)T因此Kronecker乘積後的向量的維數比原來的向量的維數高很多。
下面說明單邊投影的降階方法的原理。例如對子系統(2),首先利用線性系統矩匹配的降階原理構造投影子空間V1。線性系統(2)的傳遞函數是H1(s)=CT(I-sA1)-1B,那么子系統(2)的各階矩如下定義CTA1-1B,CTA1-2B,…,CTA1-kB,… (7)定義線性系統(2)的右端矩向量如下A1-1B,A1-2B,…,A1-kB,…(8)在以上的矩中選取前k1<<N個矩,k1的選取與原系統的階數N和所要求的降階精度有關。對這k1個矩做正交化處理,得到q1個相互正交的向量,這q1個相互正交的向量就構成了線性系統(2)的投影子空間V1,即spancolum(V1)=spancolum{A1-1B,A1-2B,A1-3B,,A1k1B}]]>這組正交的向量是通過把矩向量中多餘的,即線性相關的向量刪除的同時對剩下的向量進行正交化得到的。正交化的過程一般用比較成熟的算法Arnoldi過程或奇異值分解來實現。其中參數q1≤k1cB,cB指矩陣B中列向量的個數。一般希望,q115N.]]>對子系統(2)做投影降階就是把原來的高維空間(N維)中的狀態變量x通過變換x≈V1z1投影到底維空間(q1維)中去,即對子系統(2)作如下降階,首先做變換x≈V1z1,線性系統(2)變為V1z1=A1V1z1+Bu(t)--(9)]]>最後完成投影,即用V1T同時乘(9)的兩邊V1TV1z1=V1TA1V1z1+V1TBu(t)--(10)]]>
由於投影子空間V1是正交的,所以滿足V1TV1=I,I是單位矩陣。因此(10)式就變為z1=V1TA1V1z1+V1TBu(t)--(11)]]>可以看到,降階後的線性系統(11)的階數是q1,即投影子空間V1中列向量的個數,而q1是由構造投影子空間時選取的矩的個數k1決定的。因此一方面為了使得降階後的系統的規模比較小以利於今後的驗證和分析,就必須選取比較少量的矩來構造投影子空間,但另一方面k1取得太少,會使得降階後的系統(11)的精度很差,從而由系統(11)不會得到比較精確的系統響應,也就無法用系統(11)的解來近似代替原線性系統(2)的解。因此為了保證降階後的系統的精度,k1又不能取得太小,從而q1也會太小,即降階後的線性系統的階數不能太低(參見圖3)。
由於子系統(2)經降階後變為(11),那么子系統(3)此時就變為x2=A1x2+A2(V1z1V1z1)---(12)]]>寫成標準形式就是x2=A1x2+A2(V1V1)(z1z1)--(13)]]>此時子系統(3)的輸入由x1x1變為z1z1,由於z1的維數是q1,那麼向量z1z1的維數就是q12。對子系統(3)降階就變為對線性系統(13)進行降階。下面構建線性系統(13)的投影子空間V2,由於(13)的傳遞函數是H2(s)=CT(I-sA1)-1A2(V1V1)記B2=A2(V1V1),那麼傳遞函數的矩是CTA1-1B2,CTA1-2B2,…,CTA1-kB2,…選取前k2<<N個矩,將這幾個矩包含的右端矩向量進行正交化處理後得到q2列相互正交的向量,這組相互正交的向量就構成了線性系統(13)的投影子空間V2,即
spancolum(V2)=spancolum(A1-1B2,A1-2B2,A1-3B2,,A1k2B2)]]>其中參數q2k2cB2,]]>cB2指矩陣B2中列向量的個數。一般希望,q215N.]]>可以看到B2的列向量的個數就是線性系統(13)的輸入z1z1的維數q12,如果子系統(2)的降階系統(11)的階數q1比較高,那麼輸入z1z1的維數q12就比較高,從而導致B2中的列向量的個數比較多,那麼V2中的列向量就比較多,從而用V2作變換x2≈V2z2對線性系統(13)進行降階後得到的降階系統的階數q2就不會很低,如果V2中的向量的個數接近原系統(13)的階數N的話,那麼降階後的系統的階數q2就接近原系統的階數,從而對原系統的降階就失去了意義。也就是說,高維輸入z1z1導致難以對線性系統(13)進行真正意義上的降階。這種情況更容易發生在對線性系統(4)的降階過程中,因為當對子系統(2)降階後,子系統(4)中的輸入包含有z1z1z1,也就是說,子系統(4)的輸入的維數至少是q13,因此更難以保證降階後的系統的階數比較低(參見圖4)。
參考文獻[1]J.Phillips.「Automated extraction of nonlinear circuit macro-models,」in Proc.Custom IntegratedCircuits Conference,May 2000. Y.Chen,``Model order reduction for nonlinear systems″,M.S.Thesis,Massachusetts Institute ofTechnology,September 1999. Roland W.Freund,Reduced-Prder Modeling Techniques Based on Krylov Subspaces and Their Use inCircuit Simulation,Numerical Analysis Manuscript No.98-3-02,Bell Laboratories,Murray Hill,NewJersey,February 1998.Available in www at http//cm.bell-labs.com/cs/doc/98發明內容本發明的目的在於提出一種速度快、精度高的非線性電路模型降階方法。
本發明提出的非線性電路模型的降階方法,是採用雙邊投影和單邊投影相結合的方法,設非線性電路的狀態方程如式(1)所示,具體降階步驟如下1、把非線性系統(1)用下述前2~4個子線子系統來逼近一級子系統(2)、二級子系統(3)、三級子系統(4)、四級子系統(5);2、對一級子系統(2)採用雙邊投影的降階方法進行降階;3、由於子系統(3)、(4)、(5)的輸入向量的維數較高,為了保證降階後的子系統的性能與原系統的性能是一致的,對子系統(3)(4)(5)仍然採用單邊投影的模型降階方法;4、最後由(6)式獲得x(t)x(t)≈αx1+α2x2+α3x3+α4x4(6)本發明中,對子系統(2)採用雙邊投影進行降階的步驟如下第一步構造兩個雙正交的投影子空間W和V,W和V是由子系統(2)的右端矩向量(8)及其左端矩向量C,A1-1C,A1-2C,…,A1-kC,… (14)經雙正交化處理後得到的,即,spancolum(V)=spancolum{A1-1B,A1-2B,A1-3B,,A1-j1B}--(14-1)]]>spancolum(W)=spancolum{C,A1-1C,A1-2C,,A1-j1C}--(14-2)]]>使得WTV=I,該雙正交化的過程通常是由Lanczos雙正交化過程實現。參數j1與參數k1的選取原則是一樣的。即q1≤j1cB,cB指矩陣B中列向量的個數,q115N.]]>第二步對子系統(2)作變換x≈Vz1,得到Vz1=A1Vz1+Bu(t)---(15)]]>第三步最後用WT完成投影降階WTVz1=WTA1Vz1+WtBu(t)--(16)]]>由於W和V是雙正交的,即滿足WTV=I,因此最後的降階系統是z1=WTA1Vz1+WTBu(t)---(17)]]>
本發明原理的特點文獻[1]的方法是對每一個子線性系統都用單邊投影的方法進行模型降階,這樣導致高級子線性系統的輸入維數很高,不能有效地把高級子系統的階數降低。
本發明通過對第一級子系統(2)採用雙邊投影的降階方法進行降階,使得進入高級子系統的輸入向量的維數大大減少,從而能夠進一步對高級子系統進行有效的降階,即能夠把高級子系統的階數降到可接受的範圍。
本發明的優點已有的理論[3]可以證明,如果把子系統(2)分別用單邊投影法和雙邊投影法降階到同樣的階數,雙邊投影法所得的降階系統(16)的精度是單邊投影法得到的降階系統(10)的精度的近兩倍。因此雙邊投影法可以用較低的階數就能達到較高的的精度,這個優點對於線性系統(3)及線性系統(4)的降階是非常重要的。因為這樣就可以使得降階後的線性系統(16)的階數較低,但精度較高。進一步使得線性系統(3)及線性系統(4)的輸入z1z1及z1z1z1的維數比較低,同時能夠保持較高的精度,從而有利於對線性系統(3)(4)及(5)進行有效的降階。
圖1為實驗所採用的電路圖。
圖2為輸入信號。
圖3中實線圖是真實解(c)。加號線(a)是用文獻[1]完全單邊投影的方法,降階系統為28階的結果,原系統為100階。
圖4中實線為真實解(c)。加號線圖(b)是用文獻[1]完全單邊投影的方法,降階系統為65階的結果,原系統為100階。
圖5中實線為真實解(c)。虛線(d)是我們提出的雙邊投影和單邊投影相結合的降階結果,降階系統為28階,加號線(a)是用文獻[1]完全單邊投影的方法,降階系統為28階,原系統為100階。
具體實施例方式
下面通過具體實施例進一步說明本發明。
以圖一中的電路為例,電路中節點個數取N=100,由此電路得到的非線性電路模型(1)的階數是N=100。輸入信號選用階躍信號,見圖二。對此非線性系統進行降階,第一步首先用線性系統(2)(3)(4)逼近原非線性系統(1)。
第二步對線性系統(2)採用雙邊投影的降階技術進行降階先計算矩陣V和W,選取前6個右端矩向量A1-1B,A1-2B,…A1-6B及前6個左端矩向量C,A1-1C,A1-2C,…,A1-5C,…對這兩組向量進行雙正交化處理。雙正交化的技術是採用已有的算法Lanczos過程來實現的。雙正交化後我們得到兩組相互雙正交的向量V和W,就是我們所要求的雙正交的投影子空間。此時V和W中分別含有6個向量。按照(15)(16)(17)對線性系統(2)作雙邊投影降階後,得到的降階系統的階數就是6階。
第三步對線性系統(3)仍採用單邊投影技術進行降階,此時線性系統(3)變為x2=A1x2+A2(VV)(z1z1)---(18)]]>其輸入是z1z1。在此選取(18)的傳遞函數的第一個右端矩向量即A1-1B2,來構建(18)的投影子空間V2。由於輸入z1z1的維數是62=36,因此A1-1B2中含有36列向量,對這36列向量進行正交化處理會得到10列正交的向量,以這10列正交的向量為列向量,就構成線性系統(17)的投影矩陣V2。對於線性系統(18),作變換x2≈V2z2得到V2z2=A1V2x2+A2(VV)(z1z1)---(19)]]>最後用V2T投影降階V2TV2z2=V2TA1V2z2+V2TA2(VV)(z1z1)---(20)]]>降階後的系統為
z2=V2TA1V2z2+V2TA2(VV)(z1z1)---(21)]]>由於V2中有10列,所以降階後的系統的階數是10,即z2是一個10維的向量。
第四步對線性系統(4)降階。仍採用單邊投影的降階技術。此時(4)變為x3=A1x3+A2(V1z1V2z2+V2z2V1z1)+A3(V1z1V1z1V1z1)]]>即x3=A1x3+A2(V1V2+V2V1)(z1z2+z2z1)+A3(V1V1V1)(z1z1z1)--(22)]]>為了使得(21)中的輸入合為一項,需要增加向量x3e=A2(V1V2+V2V1)(z1z2+z2z1)那麼(22)就等價於下面的線性系統x3x3e=A100-Ix3x3e+A3(V1V1V1)A2(V1V2+V2V1)00z1z1z1z1z2+z2z1--(23)]]>可以看到線性系統(23)中的輸入已經合併為一項,即U3=z1z2+z2z1z1z1z1--(24)]]>從而可以應用投影法對(23)進行降階。此時輸入項(23)的維數是(6×10+10×6)+63=336。對於如此多的輸入,我們只能選取線性系統(23)的傳遞函數的一個右端矩向量來構建投影子空間。因此選第一個右端矩向量A-1B3,其中,A=A1000,B3=A2(V1V2+V2V1)A3(V1V1V1)00--(25)]]>顯然B3中含有336列向量,所以第一個右端矩向量A-1B3事實上是一組向量,對這組向量進行正交化處理後得到28列相互正交的向量,以這28列相互正交的向量為列向量就構成線性系統(23)的投影子空間 作變換X3=V3z3,X3=x3x3e,]]>線性系統(23)變為V3z3=A1000V3z3+A2(V1V2+V2V1)A3(V1V1V1)00z1z2+z2z1z1z1z1--(26)]]>最後用V3T投影降階z3=V3TAV3z3+V3TB3U3--(27)]]>由於V3中有28列,所以降階系統(27)的階數是28。從圖5中可以看到降階的結果。
圖3中,實線圖是真實解(c),α取1。加號線(a)是文獻[1]完全單邊投影法的結果,此時第一個線性系統(2)降階到6階,第二個線性系統(3)降階到10階,由於輸入維數的增加,第三個線性系統只能降階到28階,但是由此所得的降階結果很不精確。
圖4中實線為真實解(c)。加號線圖(b)是文獻[1]完全單邊投影法的結果,此時第一級子線性系統(2)降階到12階,由於輸入維數的迅速增加,第二級子線性系統(3)只能降階到22階,同樣第三級子線性系統只能降階到65階,可以看到雖然其降階的結果精確了很多,但是第三級降階系統的維數是65,很接近原系統的維數100,因此並沒有體現出模型降階的優勢。
圖5中實線為真實解(c)。虛線(d)是本發明提出的雙邊投影和單邊投影相結合的降階結果。按照實施方案中的步驟,第一級子線性系統(2)降階到6階,第二級子線性系統(3)降階到10階,第三級子線性系統降階到28階,由於對第一級子系統(2)採用的是雙邊投影的方法,降階後的系統的精度要比單邊投影提高進兩倍,因此雖然第三級子系統降階到28階,但最後的降階結果卻比單邊投影法28階的情況(加號線(a))精確許多。因此雙邊投影法在保持降階後的線性系統的規模比較小的前提下也保證了降階系統的精度。
權利要求
1.一種雙邊投影與單邊投影相結合的非線性電路模型降階方法,其非線性電路的狀態方程具有如下形式Ex(t)=f(x(t))+Bu(t)]]>y(t)=Cx(t)+Du(t)(1)其中,x(t)為電路的N維狀態變量簡記為x,f(x(t))是關於狀態變量x(t)的非線性向量值函數簡記為f(x),f(x(t))和矩陣E∈RN×N,描述了節點電壓或支路電流的導數與自身是一個非線性的關係,u(t)∈Rl,是進入電路的輸入信號變量,l表示電路中輸入埠的數目,矩陣B∈RN×l,與進入電路的輸入信號變量有關,y(t)∈Rs,為描述電路的輸出信號的變量,s是輸出埠的數目,矩陣C ∈Rs×N、Ds×l分別描述狀態變量、輸入信號與輸出信號之間的關係,其特徵在於具體步驟如下(1)、把非線性系統(1)用下述前2~4個子線性系統來逼近一級子系統Ex1=A1x1+Bu(t)---(2)]]>二級子系統Ex2=A1x2+A2(x1x1)---(3)]]>三級子系統Ex3=A1x3+A2(x1x2+x2x1)+A3(x1x1x1)---(4)]]>四級子系統Ex4=A1x4+A2(x1x3+x2x2+x3x1)---(5)]]>+A3(x1x1x2+x1x2x1+x2x1x1)+A4(x1x1x1x1)]]>(2)、對一級子系統(2)採用雙邊投影的降階方法進行降階①設系統(2)的右端矩向量為A1-1B,A1-2B,…,A1-kB,… (8)系統(2)左端矩向量為C,A1-1C,A1-2C,…,A1-kC,… (14))將矩向量(8)和矩向量(14)進行雙正交化處理,得到兩個正交的投影子空間W和Vspancolum(V)=spancolum{A1-1b,A1-2B,A1-3B,,A1-j1B}---(14-1)]]>spancolum(W)=spancolum{C,A1-1C,A1-2C,,A1-j1C}---(14-2)]]>W、V滿足WTV=I,j1的選取方式如下q1≤k1cB,cB為矩陣B中列向量的個數,q115N;]]>②對線性系統(2)作變換x≈Vz1,得到Vz1=A1Vz1+Bu(t)---(15)]]>③用WT完成投影降階,得到z1=WTA1Vz1+WTBu(t)---(17)]]>(3)、對線性子系統(3)、(4)、(5)採用單邊投影的模型降階方法;(4)、最後由下式得到x(t)x(t)≈αx1+α2x2+α3x3+α4x4(6)其中,「」是向量或矩陣之間的一種乘積運算符,α≤1。
全文摘要
模型降階技術是一類非常有效的提高電路模擬速度的技術,以便對電路的設計方案及時加以改進。本發明提出了雙邊投影與單邊投影相結合的方法對非線電路模型進行降階,即對非線系統的一級子線性系統採用雙邊投影降階,對二級、三級、四級子線性系統採用單邊投影降階。本發明方法可使非線性電路模型降到較低的階數,且能保持較高的精度。
文檔編號G06F17/50GK1529354SQ03151469
公開日2004年9月15日 申請日期2003年9月29日 優先權日2003年9月29日
發明者曾璇, 馮麗紅, 曾 璇 申請人:復旦大學