一种对电路中线性电容计算电路节点电荷的方法

文档序号:20524 发布日期:2021-09-21 浏览:17次 >En<

阅读说明:本技术 一种对电路中线性电容计算电路节点电荷的方法 (Method for calculating circuit node charge of linear capacitor in circuit ) 是由 陶雄 周振亚 吴大可 程明厚 刘强 于 2021-07-21 设计创作,主要内容包括:一种对电路中线性电容计算电路节点电荷的方法,包括以下步骤:1)根据线性电容的端口位置建立第一电容矩阵;2)对第一电容矩阵进行去掉空行空列处理,获得第二电容矩阵;3)用电容值填充第二电容矩阵;4)利用第二电容矩阵计算电容电荷向量;5)计算总的电荷向量。本发明通过矩阵和向量的乘法得到线性电容的电荷向量,避免遍历每个线性电容,使计算能够得到加速。(A method of calculating a circuit node charge for a linear capacitance in a circuit, comprising the steps of: 1) establishing a first capacitance matrix according to the port position of the linear capacitor; 2) removing empty rows and empty columns from the first capacitor matrix to obtain a second capacitor matrix; 3) filling the second capacitance matrix with capacitance values; 4) calculating a capacitance charge vector using the second capacitance matrix; 5) the total charge vector is calculated. The invention obtains the charge vector of the linear capacitor by the multiplication of the matrix and the vector, avoids traversing each linear capacitor, and accelerates the calculation.)

一种对电路中线性电容计算电路节点电荷的方法

技术领域

本发明涉及模拟电路数值仿真

技术领域

,特别涉及一种对电路中线性电容计算电路节点电荷的方法。

背景技术

电路中的电流遵循基尔霍夫电流定律(KCL方程),即,任意节点连接的所有支路的总电流和为零。在对电路进行SPICE精度的仿真过程中,需要计算出连到同一个节点上所有支路的电流和,并用作电路方程的右端项,通过解方程使电路状态向满足基尔霍夫电流定律的方向迭代。因此计算节点电流是整个仿真过程的重要部分。而节点电荷相对时间的导数也会作为电流加到总的电流和里面去。具体计算时,电荷的导数会按不同的积分方法计算。

一般计算节点电荷的做法是:遍历所有器件,由器件根据电路状态计算出端口电荷,添加到对应的节点上。对线性电容来说,可以简单的用电容乘以电压差,得到端口电荷。如果按照普通器件的处理方式,遍历每一个线性电容,对电容器件的访问会造成大量的内存随机访问。

因而,亟需一种能够高效计算线性电容节点电荷的方法。

发明内容

为了解决现有技术存在的不足,本发明的目的在于提供对电路中线性电容计算电路节点电荷的方法,以提高节点电荷的计算效率。

为实现上述目的,本发明提供的对电路中线性电容计算电路节点电荷的方法,包括以下步骤:

1)根据线性电容的端口位置建立第一电容矩阵;

2)对第一电容矩阵进行去掉空行空列处理,获得第二电容矩阵;

3)用电容值填充第二电容矩阵;

4)利用第二电容矩阵计算电容电荷向量;

5)计算总的电荷向量。

进一步地,所述步骤1)利用电容电荷计算公式建立第一电容矩阵,所述第一电容矩阵结构是稀疏矩阵,结构不会变化,采用压缩方式存储。

进一步地,所述步骤2)进一步包括以下步骤:

31)记录第一电容矩阵各元素的行号和列号;

32)去掉空行和空列,得到第二电容矩阵;

33)记录第一电容矩阵和第二电容矩阵之间各元素的行号和列号的映射关系。

进一步地,所述第一电容矩阵和所述第二电容矩阵为对称矩阵。

进一步地,所述步骤4)进一步包括以下步骤:

51)计算第二电容矩阵中各个节点对应的电压值,构成电压向量;

52)将第二电容矩阵与电压向量相乘,获得第二电容矩阵各个节点对应的第二电荷向量。

进一步地,所述步骤5)进一步包括,将第二电荷向量按照第一电容矩阵和第二电容矩阵之间的映射关系加至各个节点,再与其他器件的电荷叠加,得到总的节点电荷向量。

进一步地,通过遍历器件来计算除线性电容以外的其他器件的节点电荷。

更进一步地,对电路结构连接关系不改变的电路中线性电容计算电路方程节点电荷时,步骤1)-步骤3)只需进行一次,步骤4)-步骤5)可以根据电压值的改变重复多次。

为实现上述目的,本发明还提供一种对电路中线性电容计算电路节点电荷的装置,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行上述的对电路中线性电容计算电路节点电荷的方法的步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的对电路中线性电容计算电路节点电荷的方法的步骤。

有益效果:本发明利用电路中器件的连接关系不会变化,同时线性电容的电容值不变的特点,用线性电容的电容值形成一个固定的矩阵。然后用电容矩阵和电压向量相乘算出线性电容的端口电荷,代替了遍历每个电容单独计算电荷的过程。剩余的器件,可以遍历器件来计算节点电荷。将所有的电荷合并,就可以得到总的电荷。在做矩阵向量乘法时,依据线性电容矩阵的对称性,可以只对上三角或下三角矩阵做乘法并只存储对应的元素,提高计算效率。本发明通过矩阵和向量的乘法得到线性电容的电荷向量,避免遍历每个线性电容,使计算能够得到加速。

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

附图说明

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

图1为本发明的对电路中线性电容计算电路节点电荷的方法的流程图;

图2为根据本发明实施方式的示例电路图;

图3为一个线性电容往电容矩阵中填入电容的实施方法示意图;

图4为根据图2中的电路得到的电容矩阵,其中保留了空行空列;

图5为整体矩阵中行号到电容矩阵的行号对应关系示意图,其中-1代表没有对应关系;

图6为电容矩阵行号到整体矩阵行号的对应关系示意图;

图7为由图2中电路得到的电容矩阵(去除了空行空列)和电压向量做乘法的过程和结果示意图;

图8为得到的电荷向量加入节点总电荷向量的示意图。

具体实施方式

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

图1为根据本发明的对电路中线性电容计算电路节点电荷的方法流程图,下面将参考图1,对本发明的对电路中线性电容计算电路节点电荷的方法进行详细描述。

在步骤11,根据线性电容的端口位置建立整体电容矩阵。

在该步骤中,遍历所有线性电容,根据线性电容的端口位置建立电容矩阵。

图2为根据本发明实施方式的示例电路图,在图中已经标出了节点位置以及线性电容,其中共包含2个线性电容和4个电路节点以及一个接地节点。对图2所示的电路中的矩阵建立电容矩阵首先需要对各个电容分别建立电容矩阵。图3为一个线性电容往电容矩阵中填入电容的实施方法示意图,其中假设线性电容的两个端口编号为i和j,电容值为C。在对图2中的C1电容进行分析后可知,其邻近电路节点为节点2和节点3,根据基尔霍夫电流定律以及电容电荷计算公式,可以根据图3所示的矩阵确定C1电容的电容矩阵,其中行号和列号分别对应节点号。对于C2电容进行分析可知,其邻近节点4和接地节点,可以确定其电容矩阵仅含有一个非零元C2。

每个电容根据图3的描述在电容矩阵中添加非零元的位置(由所有非零元定下矩阵的稀疏结构,再申请计算机内存,以方便填入电容)。图4为得到的电容矩阵,在里面添加了电容的数据,以表明非零元的来源。最终根据每个节点的电容矩阵获得整个电路中全部线性电容的电容矩阵。

建立的整体电容矩阵结构一般是稀疏矩阵,并且结构不会变化,采用压缩方式存储。

在步骤22,对整体电容矩阵进行处理,获得去掉空行空列后的电容矩阵。

在该步骤中,对整体电容矩阵中的元素位置进行标记,遍历整体电容矩阵,去掉空行空列,对行号和列号重新编号,记录和原始矩阵行列号映射关系。图5记录了整体矩阵行号到电容矩阵行号的映射,图6记录了电容矩阵行号到整体矩阵行号的映射。列号的映射和行号一致。

在步骤33,用电容值填充电容矩阵。

在该步骤中,遍历所有线性电容,将电容值加入电容矩阵。由于电容矩阵已经去除了空行空列,所以要使用图5中的映射关系以填入正确的位置。

在步骤44,利用电容矩阵计算电荷向量。

在该步骤中,将原始电路的电压向量映射成电容矩阵对应的电压向量,并用电容矩阵乘以电压向量,得到电荷向量。图7示出了计算过程。

在做矩阵向量乘法时,依据线性电容矩阵的对称性,可以只对上三角或下三角矩阵做乘法并只存储对应的元素,提高计算效率。

在步骤55,计算总的电荷向量。

在该步骤中,使用了图6中的映射关系,将利用电容矩阵计算得到的电荷向量加入整体节点电荷,再叠加其他器件的电荷,得到总的电荷向量。图8示出了合并的做法过程,其中对于其他剩余的器件,可以通过遍历器件来计算节点电荷。

另外,对电路结构连接关系不改变的电路中线性电容计算电路方程节点电荷时,步骤11-步骤33只需进行一次,步骤44-步骤55可以根据电压的改变重复多次。

本发明依据线性电容矩阵结构和值都对称的特点,改进矩阵和向量的乘法的实现,减少乘法次数和存储空间。

本发明还提供对电路中线性电容计算电路节点电荷的装置,包括存储器和处理器,存储器上储存有在处理器上运行的程序,处理器运行所述程序时执行上述对电路中线性电容计算电路节点电荷的方法的步骤。

本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的对电路中线性电容计算电路节点电荷的方法的步骤,所述对电路中线性电容计算电路节点电荷的方法参见前述部分的介绍,不再赘述。

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

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:经边缘放置误差预测的光致抗蚀剂设计布局图案邻近校正

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类