专利名称:一种基于直接投影和变分分析的非线性电路模型降阶方法
技术领域:
本发明属电子技术领域,具体涉及一种非线性电路和系统的模型降阶方法。
背景技术:
集成电路已发展到可以将包含10亿以上器件的电子系统集成在一块芯片上,即系统芯片SOC(System on One Chip)。针对数以百万计的大规模电路,如何在合理的时间内,快速准确地模拟和验证其设计的正确性已成为系统芯片SOC设计的瓶颈问题。据统计,SOC芯片模拟验证的时间已占到整个设计时间的70%。
目前越来越多的SOC芯片是数模混合的。在模拟集成电路和数模混合电路设计中,由于模拟电路绝大多数是非线性电路,其瞬态、稳态和频谱分析所花费的时间数以月计,这使得仅占芯片面积20%的模拟电路的设计时间要占整个SOC芯片设计时间的80%。因此发明可以快速提升模拟电路模拟和验证速度的关键技术,对提高SOC芯片设计的效率,缩短芯片产品的上市时间具有重要的应用价值。
模型降阶技术是一类非常有效的提高电路模拟和验证速度的技术,它通过把原来大规模的电路降阶为一个小规模的电路模型,大大降低求解电路的规模,从而在较短的时间内对电路的功能和性能进行快速验证,以便对电路的设计方案及时加以改进。针对线性电路的模型降阶技术[3,4]已成为90年代以来线性电路模拟和验证的行之有效的主流技术,并被成功应用于大规模线性互连电路的分析。针对模拟电路的非线性系统模型降阶技术如[1,2]的发展尚不成熟,高速、高精度的可实用的非线性系统模型降阶技术在模拟电路的快速模拟,如射频电路的分析;模拟电路的行为级建模、高速时钟网络的分析、数字电路的时延分析等数模混合系统芯片设计,以及微机电系统设计中具有迫切的市场需求和重要的应用前景。
现有技术的不足之处非线性电路的状态方程具有如下形式x·(t)=f(x(t))+Bu(t)]]>y(t)=Cx(t)+Du(t) (1)其中,x(t)为电路的N维状态变量,如节点电压或支路电流,f(x(t))是关于状态变量x(t)的非线性向量值函数,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]提出了基于控制理论中的变分分析[Wilson J.Rugh,《Nonlinear System Theory》,Johns Hopkins University Press,Baltimore,1981.]的非线性电路模型降阶技术。该技术首先对原来的非线性系统(1)的输入加入一个扰动,即把输入u(t)变为αu(t),其中α是变分常数,通常α<<1。那么原系统(1)变为Ex·(t)=f(x(t))+Bαu(t)]]>y(t)=Cx(t)+Du(t) (1*)经变分分析,(1*)就转化为k(一般k≤4)个子线性系统,如一级子系统(2)、二级子系统(3)、三级子系统(4),四级子线性系统(5)…。
Ex·1=A1x1+Bu(t)----(2)]]>Ex·2=A1x2+A2(x1⊗x1)---(3)]]>Ex·3=A1x3+A2(x1⊗x2+x2⊗x1)+A3(x1⊗x1⊗x1)--(4)]]>Ex·4=A1x4+A2(x1⊗x3+x2⊗x2+x3⊗x1)]]>+A3(x1⊗x1⊗x2+x1⊗x2⊗x1+x2⊗x1⊗x1)+A4(x1⊗x1⊗x1⊗x1)--(5)]]>其中,“”是向量或矩阵之间的一种乘积运算,举例说明对于两个向量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),(3),(4),(5)...分别采用线性系统模型降阶技术进行降阶。最后再用以下线性叠加公式得到非线性系统(1*)的近似解
x≈αx1+α2x2+α3x3+… (6)原来的非线性系统(1)的解可以采取下面的技巧得到注意到,原来的非线性系统(1)与非线性系统(1*)的区别仅在输入信号不同,而且输入信号只是信号的幅度不同。因此,如果原来的非线性系统(1)的输入是 我们只要把非线性系统(1*)的输入信号取为u(t)=1αu^(t),]]>那么非线性线性系统(1*)在输入信号u(t)=1αu^(t)]]>下的解就是原来的非线性系统(1)在输入 下的解。
该技术在实现非线性系统模型降阶方面,存在以下两个缺点1、级子系统降阶误差通过输入传递给高级子系统,造成降阶误差积累。线性系统(2)(3)(4)是相互关联的,即二级子系统(3)的输入是一级子系统(2)的解x1的组合,三级子系统(4)的输入是低级子系统(2)和(3)的解x1和x2的组合。一级子系统(2)降阶后,得到x1的近似解 该近似解与原系统的真实解存在降阶误差ϵ1=x1-x~1.]]>当 作为二级子系统(3)的输入时,即便子系统(3)不降阶,其解也存在由于二级子系统降阶误差ε1的输入引起的误差。同理,低级子系统(2)(3)的降阶误差,还将匮入高级子系统(4),引起误差的积累,造成降阶系统的精度很差。
2、高级子系统输入维数的指数增长造成原非线性系统不能降阶到较低维数。子系(3)(4)中的“”意味着向量的维数将呈幂次方增长。如果一级子系统(2)降阶以后x1的维数是q,则二级子系统(3)的输入x1x1的维数就是q2,三级子系统(4)的输入x1x1x1的维数就是q3。因此,幂次方增长的输入端口数将相当庞大,使得基于子系统分别降阶的摄动分析技术难以对原非线性系统降阶到较低维数,尤其是对降阶精度要求较高的应用。
参考文献[1]J.Phillips,“Automated extraction of nonlinear circuit macro-models,”in Proc.CustomIntegrated Circuits Conference,May 2000. Y.Chen,″Model order reduction for nonlinear systems″,M.S.Thesis,MassachusettsInstitute of Technology,September 1999. Lawrence T.Piliage and Ronald A.Rohrer,″Asymptotic Waveform Evaluation for TimingAnalysis″,IEEE Trans.on CAD,Vol.9,No.4,Appil 1990. Peter Feldmann and Roland W.Freund,″Efficient Linear Circuit Analysis by PadeApproximation via the Lanczos Process″,IEEE Trans.on CAD,Vol.14,No.5,May 1995.
发明内容
本发明的目的在于提出一种降阶系统精度高、计算量小的非线性电路模型的降阶方法。
本发明提出的非线性电路模型降阶是采用直接投影和变分分析相结合的一种降阶方法。具体步骤如下。
第一步把关于电路的状态变量x(t)(简写为x)的非线性向量值函数f(x)用Taylor级数展开f(x)=A1x+A2(xx)+A3(xxx)+...+Anx(n)+o(x(n)) (7)其中 o(x(n))是级数的余项。
其中A1=∂f(x)∂x,A2=∂2f(x)∂x2,A3=∂3f(x)∂x3,...,An=∂nf(x)∂xn,]]>即分别对应f(x)关于状态变量的各阶导数矩阵。根据具体应用的精度需要,f(x)可以由Taylor级数的前n项来近似,从计算的复杂度和实际电路应用的需求考虑,n的取值范围是n≤4。对于一个非线性电路系统(1),如果系统的非线性比较弱,n一般取2;如果非线性比较强,为了保持较高的精度,n一般取为3。对于非线性很强的系统,如果精度同时要求很高,n可以考虑取为4。当f(x)用Taylor级数(5)中的前n项来逼近时,即为f(x)≈A1x+A2(xx)+...+Anx(n)(8)第二步用f(x)的Taylor近似(8)逼近原来的非线性系统(1),得到近似系统(9)。
x·=A1x+A2(x⊗x)+...+Anx(n)+Bu(t)--(9)]]> 为x的导数。
第三步设计一个统一的映射矩阵VV原理上由n部分构成,先计算V^=V1∪V2∪...∪Vn,]]>V中的列是由 中所有的列向量经正交化处理后得到的。即V是一个正交矩阵,其特点是满足VTV=I,I指的是单位矩阵。正交化的过程一般用比较成熟的算法Arnoldi过程或奇异值分解来实现。V和 的关系可以用下式来表示
spancolum(V)=spancolum(V^)-----(10)]]>即V和 张成同一个子空间,V中的向量是这个子空间的一组正交基向量。这组正交的基向量是通过把 中多余的,即线性相关的向量删除的同时对剩下的向量进行正交化得到的。
其中(1)、矩阵V1如下计算V1中的列向量由下面的向量经正交化处理后得到A1-1B,A1-2B,A1-3B,...,A1-j1B-----(11)]]>即,spancolum(V1)=spancolum{A1-1B,A1-2B,A1-3B,···,A1-j1B}-----(12)]]>下面我们给定参数j1的取值范围由(5)可知,当α<<1时,x1对最后的解x的贡献最大,因此在选取投影子空间时,V1在最后的投影子空间V中所占比例也应最大。所以如果q1是V1中列向量的个数,那么一般取q1≤34q--(13)]]>q是最后希望的降阶系统的阶数,它与原非线性系统(1)的阶数和对降阶系统的精度要求有关。而q1是由(11)式中j1的选取决定的,即q1≤j1cB(14)cB指的是矩阵B中列向量的个数。因此j1的选取应按照(13)(14)式决定。
(2)、矩阵V2如下计算V2中的列向量由下面的向量经正交化处理后得到A1-1A2,A1-2A2,A1-3A2,...,A1-j2A2-----(15)]]>即,spancolum(V2)=spancolum(A1-1A2,A1-2A2,A1-3A2,...,A1-j2A2)]]>由于A2含有较多的列向量,在实际计算时,为了节省计算量,首先对A2的列向量进行正交化处理,把A2中的冗余列向量删除,只保留那些线性无关的列向量后得到矩阵 这样就保证了A-11A2中的列向量的个数不会很多,使得V2中的列向量的个数比较少,从而保证最后的投影矩阵V中的列向量的个数比较少,达到降阶的目的。
j2的确定方法同j1。即满足q2≤j2cA~2,]]>q2≤14q,]]> 为 中列向量的个数。
(3)、矩阵V3如下计算由于子系统(4)的输入有两项,因此在计算V3之前,要首先对子系统(4)作一个变换,使其输入合并为一项。为此引入附助向量x3e=A2(x1x2+x2x1)这样子系统(4)就等价于下面的系统I000x·3x·3e=A100-Ix3x3e+A3A20A2x1⊗x1⊗x1x1⊗x2+x2⊗x1----(16)]]>可以看到子系统(4)中的输入已经合并为一项,即U3=x1⊗x2+x2⊗x1x1⊗x1⊗x1]]>记A=A1000,B3=A2A300]]>那么V3中的列向量由下面的向量经正交化处理后得到A-1B3,A-2B3,A-3B3,...,A-j3B3]]>即,spancolum{V3}={A-1B3,A-2B3,A-3B3,...,A-j3B3}]]>j3的确定方法同j1。即满足q3≤j3cB~3,]]>q3≤14q,]]> 为 中列向量的个数。 是矩阵B3中的列向量经正交化处理后得到的矩阵。在实际计算中,一方面由于α<<1,由(6)式可知,x3对x的贡献很小,即第三个子系统及以后的子系统对原来非线性系统的贡献很小。而从实际的非线性电路中得到的系统的非线性一般不是很强,因此Vi,i≥3可以忽略不计算。另一方面,由于“”使得B3中所包含的列向量的个数是原来的非线性系统的阶数的指数倍,即使进行正交化处理后会删除许多线性相关的向量,但所剩的线性无关的向量也比较多,这样使得V3中包含的列向量的个数必然也会比较多,因此用V3构造投影子空间对于非线性比较弱的系统来说不合理。而对于非线性比较强的系统,V3的取舍也要根据精度的要求和原系统的阶数而定。
(4)、我们可以用与构造V3相似的方法来构造V4,即先把子系统(5)的输入经引入附助变量后合并为一个输入。同样可以构造对应第四个子线性系统的投影子空间V4。在实际应用中,是否要计算V4,也要根据精度的要求及原系统的阶数而定。经验证明,即使对于非线性较强的系统,只计算到V3就已经达到很高的精度。
至此,我们已完成对映射矩阵V的计算。
第四步直接对近似的非线性系统(9)进行投影降阶,首先做近似的变量替换x=Vz,即把高维空间的向量投影到底维空间得到Vz·=A1Vz+A2(Vz⊗Vz)+···+An(Vz)(n)+Bu(t)--(17)]]>然后两边分别乘VT后得到VTVz·=VTA1Vz+VTA2(Vz⊗Vz)+···+VTAn(Vz)(n)+VTBu(t)--(18)]]>由于矩阵V是正交矩阵,因此VTV=I,即单位矩阵。所以最后的非线性降阶模型是z·=VTA1Vz+VTA2(Vz⊗Vz)+···+VTAn(Vz)(n)+VTBu(t)--(19)]]>发明原理的特点是原来的基于变分分析的间接降阶技术[1],是将原非线性系统转化为几个线性子系统,然后分别对各个子系统进行降阶,通过降阶后各子系统解的线性组合得到降阶系统的解。
本发明采用直接投影降阶技术,首先获得原非线性系统的n阶Taylor近似系统,通过[1]中的若干个子系统的投影矩阵的线性组合和正交化处理,构造统一的投影矩阵,最后对n阶Taylor近似系统直接投影降阶。
本发明具有如下优点
1、高的降阶精度本发明对n阶Taylor近似系统(9)直接投影降阶,(9)的输入始终是原始输入u(t),由于直接降阶并不引入其他的输入,这样就避免了间接降阶技术[1]中由子线性系统降阶误差通过输入传递到高级子系统导致的误差,从而大大提高了降阶的精度。
2、低的降阶系统维数本发明以统一的投影矩阵,对Taylor近似系统(9)直接投影降阶,由于不引入其他的输入,这样就避免了间接降阶技术[1]中由高级子线性系统输入维数指数增长造成的降阶系统维数不能很低的问题,可以获得精度高阶数低的降阶系统,大大提高降阶的效率。
3、低的计算量和存贮量本发明大大节省了计算量和存贮量。一方面本发明的近似非线性系统(9)中的各个矩阵与传统技术[1]的线性子系统(2)(3)(4)中的矩阵是一样的,并没有引入额外的矩阵,所以没有增加所需的存贮空间。另一方面,本发明只需对一个系统(9)进行降阶,只需作一次投影,投影降阶后,只需求解一个降阶系统(19)。而技术[1]要对几个线性子系统分别进行投影降阶,最后还要求解几个降阶后的模型,从而要存贮相应的几个模型的数据。因此本发明大大节省了计算量和降阶后的模型的存贮量以及投影矩阵的存贮量。
图1为100阶电路图。
图2为阶跃输入信号。
图3为本发明直接降阶技术与传统间接降阶的比较,间接降阶系统为28阶,直接降阶系统为10阶。
图4为本发明直接降阶技术与传统间接降阶的比较,间接降阶系统为65阶,直接降阶系统为10阶。
具体实施例方式
下面通过具体实施例进一步说明本发明。
以图1中的电路为例,电路中节点个数取N=100,由此电路得到的非线性电路模型(1)的阶数是n=100。输入信号选用阶跃信号,见图2。
对此非线性系统进行降阶,首先用非线性的近似系统(9)逼近(1),然后计算投影矩阵。先计算矩阵V1,其中q1取7,即我们对以下7个向量进行正交化处理A-11B,A-21B,…A-71B
正交化的技术是采用已有的算法Anorldi过程来实现的。正交化后我们得到V1。
对于V2,首先把A2中的列进行正交化处理后得到 注意由于通常A2中线性相关的列向量很多,从而经正交化处理后, 中的列向量的个数要比A2中少得多。
然后从 中提取前面少量的列,在这里取 中的前3列,即B2是由 中的前三列组成的,j2取1,也即A-11B2,中有3列,且只对进行A-11B2正交化处理后得到V2,V3不需计算。得到,V1,V2后就可得 即V^=V1∪V2,]]>最后对 进行正交化处理得到投影矩阵V,此时V中有10列向量。这里指出虽然在计算投影矩阵V的过程中要进行多次正交化处理,但正交化处理的过程只有矩阵乘向量的计算,因此运算速度很快,即使对十万个向量进行正交化处理,也只需几秒时间。得到矩阵V后,进行变量替换x=Vz,按照(17)(18)(19)式进行降阶,由于V中有10列向量,从而z是一个10维的向量,那么得到的降阶模型的阶数就是q=10。图3,图4是实验结果。
在图3、图4中,我们分别采用本发明与间接投影技术[1]对该非线性电路进行降阶,并将降阶结果进行比较。图3中,实线(c)是原100阶系统的真实解。虚线(b)是采用本发明直接投影技术得到的阶数为10的降阶系统的解。加号线(a)是采用间接投影技术[1]的降阶结果。为了获得较低的降阶系统维数,我们将一级子系统(2)降阶到6阶,二级子系统(3)降阶到10阶,由于输入维数的增加,三级子系统(4)只能降阶到28阶。可以看到间接投影技术得到的一个28阶的降阶系统的精度远远不如本发明直接投影技术所获得的10阶系统的精度高。
为了获得高的降阶精度,间接法必须进一步提高降阶的阶数,为此我们将一级子系统(2)的降阶阶数提高到12阶,由于输入维数的增加,此时二级子系统(3)只能降阶到22阶,同样三级子系统(4)只能降阶到65阶。图4中,我们将采用本发明直接投影技术得到的阶数为10的降阶系统的解(虚线(o))和采用间接投影技术[1]的获得的65阶系统的解(加号线(e))进行比较,其中实线(c)仍是原100阶系统的真实解。可以看到间接投影技术要得到较高的降阶精度,其降阶阶数必须很高。在本例中,即便间接法把阶数提到65阶,其精度仍然不如本发明直接投影技术所获得的一个真正低阶的10阶系统。
本电路实例表明,本发明可以获得高精度的低阶非线性系统模型,是一种高效的非线性模型降阶技术,可以应用于模拟电路、数模混合电路和微机电等非线性电路和系统的降阶。
权利要求
1.一种非线性电路模型的降阶方法,该非线性电路的状态方程具有如下形式Ex·(t)=f(x(t))+Bu(t)]]>y(t)=Cx(t)+Du(t)---(1)]]>其中,x(t)为电路的N维状态变量,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分别描述状态变量、输入信号与输出信号之间的关系,“”是向量或矩阵之间的一种乘积运算符,其特征在于采用直接投影和变分分析相结合的方法,具体步骤如下第一步,把f(x)用Taylor级数展开,然后用级数的前n项逼近f(x)f(x)≈A1x+A2(x⊗x)+...+Anx(n)--(8)]]>这里,A1=∂f(x)∂x,A2=∂2f(x)∂x2,A3=∂3f(x)∂x3,...,An=∂nf(x)∂xn,]]>即分别对应f(x)关于状态变量的各阶导数矩阵,n取2、3或4。第二步用f(x)的Taylor近似(8)逼近原来非线性系统(1),得到近似的系统(9)x·=A1x+A2(x⊗x)+...+Anx(n)+Bu(t)--(9)]]>第三步构建一个统一的映射矩阵V(1)、构建矩阵V1,V1中的列向量由下面的向量经正交化处理后得到A1-1B,A1-2B,A1-3B,...,A1-j1B--(11)]]>其中,j1满足,q1≤j1cB,q1≤34q,]]>q1是V1中列向量的个数,q是最后希望的降阶系统的阶数,cB指的是矩阵B中列向量的个数;(2)、构建矩阵V2,V2中的列向量由下面的向量经正交化处理后得到A1-1A2,A1-2A2,A1-3A2,...,A1-j2A2--(15)]]>j2的确定方法同j1;(3)、构建矩阵V3,V3中的列向量由下面的向量经正交化处理后得到A-1B3,A-2B3,A-3B3,...,A-j3B3]]>其中,A=A1000]]>B3=A2A300]]>j3的确定方法同j1;(4)、构建矩阵V4,方法同V3的构建;(5)、计算V1,V2,...,Vn的并集V^=V1∪V2∪...∪Vn,]]>再构建VV中的列向量由 中所有列向量经正交化处理后得到;第四步直接对近似的非线性系统(9)进行投影降阶,首先做近似的变量替换x=Vz,得到Vz·=A1Vz+A2(Vz⊗Vz)+···+An(Vz)(n)+Bu(t)--(17)]]>两边分别乘VT后得到z·=VTA1Vz+VTA2(Vz⊗Vz)+···+VTAn(Vz)(n)+VTBu(t)--(18)]]>
全文摘要
模型降阶技术是一类非常有效的提高电路模拟和验证速度的技术,以便对电路的设计方案及时加以改进。本发明建立了一种直接投影的非线性电路模型降阶方法。其特征在于采用直接投影和变分分析相结合的方法,利用控制理论中的变分分析得到的子系统构建子投影矩阵V
文档编号H01L21/70GK1527228SQ0315119
公开日2004年9月8日 申请日期2003年9月25日 优先权日2003年9月25日
发明者曾璇, 冯丽红, 曾 璇 申请人:复旦大学