一种基于递归卷积的电路瞬态响应计算方法与流程

文档序号:12825211阅读:338来源:国知局
一种基于递归卷积的电路瞬态响应计算方法与流程

本发明涉及电路仿真技术领域,特别是涉及一种基于递归卷积的电路瞬态响应计算方法。



背景技术:

在电路仿真中,laplace变换是一种广泛应用的积分变换方法。用laplace变换来描述非线性元件或线性时不变电路所得的方程比时域的线性微分方程在形式上更为简单、直观且易于运算。通过laplace变换将时域上的电压或电流变换到频域上,然后用传递函数进一步实现频域上的各种运算和操作,得到频域上的结果,最后通过卷积将这个结果转化为时域上的结果进行输出。

图1为现有技术中laplace变换处理电路信号的流程图,图1中x(s)和y(s)分别表示频域上的输入信号和输出信号,h(s)表示传输函数。h(s)具有有理分式的形式,这是因为所有的线性电路系统都可以用常微分方程表示:

对上面的常微分方程进行laplace变换,并假设零初值条件,得到下式:

ansny(s)+an-1sn-1y(s)+…+a0y(s)=bmsmx(s)+bm-1sm-1x(s)+…+b0x(s)

因此,y(s)=h(s)x(s),其中,

图2为现有技术中一种简单电路的h(s)表达式的转换过程图。

由于,频域上的乘积等于时域上的卷积,因此,微分方程可以写成时域上卷积的形式:

其中,h(t)是时域上的激励函数,计算公式为:h(t)=l-1(h(s))。

在计算卷积时,传统的卷积法有一个主要困难:为了得到时刻t的卷积和,必须从零时刻积分到时刻t,而且卷积计算必须进行反折、移动、相乘、相加,这些操作使得卷积运算非常复杂,从而导致模拟时间令人难以忍受。shenlin和ernests.kuh在文献《transientsimulationoflossyinterconnectbasedontherecursiveconvolutionformulation》(发表于“eeetransactionsoncircuits&systems”期刊第39卷第11期)中提出了一种递归卷积算法,这种算法在计算当前时刻的卷积时,利用了上一时刻的卷积结果,从而避免了此项缺陷,提高了计算效率。

而递归卷积算法只考虑单极点情形,虽然,白建军和林争辉在文献《多芯片组件互连瞬态响应的递归卷积法分析》(发表于“微电子学”期刊第30卷第5期)中考虑了多极点情形,并给出了递推结果,但该算法比较复杂,在大规模的电路仿真中不太实用。

为此,提出一种新的基于递归卷积的电路瞬态响应计算方法,能够结合数值计算技术,针对电路瞬态仿真中时间步长较小的特点,简洁、高效、实用,并且快速的计算卷积,成为亟待解决的问题。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种基于递归卷积的电路瞬态响应计算方法,能够结合数值计算技术,针对电路瞬态仿真中时间步长较小的特点,简洁、高效、实用,并且快速的计算卷积。

为实现上述目的,本发明提供的基于递归卷积的电路瞬态响应计算方法,包括以下步骤:

(1)获取传递函数h(s)的分解式,并确定激励函数h(t)的表达式;(2)基于输入电压vin(t0)及传递函数h(s)的分解式,进行初始时刻t0的状态变量vout,i,j(t0)及输出电压vout(t0)的newton-raphson迭代;(3)基于上一时刻tn-1的状态变量vout,i,j(tn-1)和当前时刻tn的输入电压vin(tn),进行当前时刻tn的状态变量vout,i,j(t0)及输出电压vout(t0)的newton-raphson迭代;(4)重复执行步骤(3),直至仿真终止时刻。

进一步地,步骤(1)中所述传递函数h(s)的分解式为:

其中,pi是极点,kij是系数,ni是极点pi的重数;m是极点pi的总数。

进一步地,步骤(1)中所述激励函数h(t)的表达式为:

其中,pi是极点,kij是系数,ni是极点pi的重数;m是极点pi的总数。

进一步地,步骤(2)中所述newton-raphson迭代的公式为:

上标(k)表示第k次的newton-raphson迭代,

参数hij的定义公式为:

其中,pi是极点,kij是系数,ni是极点pi的重数;m是极点pi的总数。

进一步地,步骤(2)中所述newton-raphson迭代过程中,所述初始时刻t0的状态变量vout,i,j(t0)关于输入电压vin(t0)的导数及所述初始时刻t0的输出电压vout(t0)关于输入电压vin(t0)的导数的定义公式为:

参数hij的定义公式为:

其中,pi是极点,kij是系数,ni是极点pi的重数;m是极点pi的总数。

进一步地,步骤(3)中所述newton-raphson迭代的公式为:

上标(k)表示第k次的newton-raphson迭代,

其中,vout,i,j(tn-1)为上一时刻tn-1的newton-raphson迭代中最后一步中的状态变量,δtn为上一时刻tn-1及当前时刻tn的时间步长,pi是极点,kij是系数,ni是极点pi的重数,m是极点pi的总数。

进一步地,步骤(3)中所述newton-raphson迭代过程中,当前时刻tn的newton-raphson迭代的第k步的状态变量关于输入电压的导数及输出电压关于输入电压的导数的定义公式:

上标(k)表示第k次的newton-raphson迭代,

其中,δtn为上一时刻tn-1及当前时刻tn的时间步长,pi是极点,kij是系数,ni是极点pi的重数,m是极点pi的总数。

本发明的基于递归卷积的电路瞬态响应计算方法,利用递归卷积计算的基本思想,结合瞬态电路仿真的特点,对给定输入电压和传递函数的子电路或元件,在电路仿真中,提供一种快速计算输出电压的方法。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为现有技术中laplace变换处理电路信号的流程图;

图2为现有技术中一种简单电路的h(s)表达式的转换过程图;

图3为根据本发明的基于递归卷积的电路瞬态响应计算方法流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明的基于递归卷积的电路瞬态响应计算方法的思路在于:首先,在电路仿真开始前对传输函数做有理分式的分解,求出关键参数;其次,在电路仿真初始时刻设置输入电压及输出电压的计算公式;然后,在电路仿真到下一时刻时,根据输入电压和传输函数,利用递归卷积的方法计算输出电压;最后,重复上面的方法计算输出电压,直至仿真结束。

本发明的基于递归卷积的电路瞬态响应计算方法,应用于电路瞬态仿真的流程当中,作为其中的一部分动态实现,有些参数(如输入电压vin(tn))从电路瞬态仿真的其它部分获取。由于通常采用newton-raphson迭代法求解非线性的电路仿真系统,本发明的基于递归卷积的电路瞬态响应计算方法贯穿于newton-raphson迭代的每一步之中。另外,newton-raphson迭代中需要计算jacobi矩阵,本发明相应地给出了计算输出电压关于输入电压的导数的方法。本发明的基于递归卷积的电路瞬态响应计算方法,已通过c++语言在电路仿真中实现。

图3为根据本发明的基于递归卷积的电路瞬态响应计算方法流程图,下面将参考图3,对本发明的基于递归卷积的电路瞬态响应计算方法的进行详细描述。

在步骤301,获取传递函数h(s)的分解式,并确定激励函数h(t)的表达式;

在电路仿真开始前,对传递函数h(s)进行处理,从而得到后续步骤中,递归计算所需的相关参数及激励函数h(t)的显式表达式。

传递函数h(s)通常以有理分式或者零极点的形式表示,当传递函数h(s)的表达式为时,将h(s)分解为如下形式:

其中,pi是极点(pi为实数或共轭复数),kij是系数,ni是极点pi的重数(ni为正整数);m是极点pi的总数(m亦为正整数)。

已知参数kij、pi、ni、m,就能唯一的确定h(s)的分解式。

h(s)分解式的计算方法已经比较成熟,通过常用的算法,获取上述参数。

获取h(s)的分解式,即可得到激励函数h(t)的表达式:

其中,

在该步骤中,获取的激励函数h(t),用于后续步骤中,采用递归的方法计算卷积的过程之中。

在步骤302,基于输入电压vin(t0)及传递函数h(s)的分解式,进行初始时刻t0的状态变量vout,i,j(t0)及输出电压vout(t0)的newton-raphson迭代,相应的迭代公式为:

其中,上标(k)表示第k次的newton-raphson迭代,相应地,

为初始时刻t0的newton-raphson迭代的第k步的状态变量,

为初始时刻t0的newton-raphson迭代的第k步的输出电压,

为初始时刻t0的newton-raphson迭代的第k步的输入电压;

参数hij由h(s)得到,定义公式为:

在上述迭代的过程中,k的取值为k=0,1,2,…,而t0通常取为t0=0。

在上述迭代过程中,初始时刻t0的输入电压vin(t0)、状态变量vout,i,j(t0)及输出电压vout(t0)在newton-raphson迭代的每一步中都进行更新。

在newton-raphson迭代中需要计算相关导数,下面给出初始时刻t0的状态变量vout,i,j(t0)关于输入电压vin(t0)的导数及初始时刻t0的输出电压vout(t0)关于输入电压vin(t0)的导数的定义公式:

导数在newton-raphson迭代的每一步中都保持不变。

在步骤303,基于上一时刻tn-1的状态变量vout,i,j(tn-1)和当前时刻tn的输入电压vin(tn),进行当前时刻tn的状态变量vout,i,j(t0)及输出电压vout(t0)的newton-raphson迭代,相应的迭代公式为:

其中,上标(k)表示第k次的newton-raphson迭代,相应地,

为当前时刻tn的newton-raphson迭代的第k步的状态变量,

为当前时刻tn的newton-raphson迭代的第k步的输出电压,

为当前时刻tn的newton-raphson迭代的第k步的输入电压;

vout,i,j(tn-1)为上一时刻tn-1的newton-raphson迭代中最后一步中的状态变量;

δtn为上一时刻tn-1及当前时刻tn的时间步长。

在迭代的过程中,状态变量vout,i,j(tn-1)中的vout,i,j-1(tn-1),在极点pi的重数ni≥2时,参与公式(1)中的计算;当极点pi的重数ni=1时,j-1=0,此时状态变量vout,i,j-1(tn-1)无需进行计算。

公式(1)为根据本发明的当前时刻tn的newton-raphson迭代的第k步的状态变量的迭代公式,是计算输出电压的关键,下面给出公式(1)的推导过程:

输出电压与输入电压的关系公式为:vout(t)=h(t)*vin(t),

其中,激励函数h(t)的计算公式为:

为了便于理解,在下述推导过程中,舍去上标(k):

公式(3)为根据本发明的卷积推导公式,对h(t)中的每一项与vin(t)做卷积,结果记为状态变量vout,i,j(t)。

在上述推导过程中,由于电路仿真中时间步长δtn通常很小,因此舍去公式中δtn的二阶项和更高阶项,在简化计算的同时也不损失精度。因此,对于非线性电路的瞬态仿真,在每个时间步都多次执行newton-raphson迭代进行简化,可以提高计算效率。

公式(3)中最终的结果项中的第三项积分做数值近似,得到

进一步地,将公式(3)转换为公式(4),

通过taylor展开,得到近似式:

将上述近似式带入公式(4),即得到公式(1)。

公式(1)为计算输出电压各分量(状态变量)的递推关系式。公式(1)表明,当前时刻的输出电压只与上一时刻的状态变量和当前时刻的输入电压有关。并且,从公式(1)的形式上可以看出,公式(1)的递推关系较为简单,计算量较小。

在newton-raphson迭代中需要计算相关导数,下面给出当前时刻tn的newton-raphson迭代的第k步的状态变量关于输入电压的导数及输出电压关于输入电压的导数的定义公式:

在上述迭代过程中,当前时刻tn的输入电压vin(tn)、状态变量vout,i,j(tn)、输出电压vout(tn)、状态变量vout,i,j(tn)关于输入电压vin(tn)的导数以及输出电压vout(tn)关于输入电压vin(tn)的导数在newton-raphson迭代的每一步中都进行更新。

在步骤304,重复执行步骤303,直至仿真终止时刻。

本发明的基于递归卷积的电路瞬态响应计算方法,在计算当前时刻的输出电压时,只需利用当前时刻的输入电压和上一时刻的状态变量,在局部时域上进行计算,因此计算量较小。并且,本发明给出的递归方法形式简单,所需存储的数据较少,具有较高的计算效率和较强的实用性。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1