当电路中含有二极管、双极性晶体管、结型场效应管、MOS管等非线性器件时,电路方程时一个非线性方程。如何求解非线性方程组是本文讨论的重点。本文先从数学角度去论述如何用数值迭代方法求解非线性方程组:牛顿—拉夫逊迭代方法,然后再讲解牛顿—拉夫逊迭代方法的思想在电路直流分析中的具体应用,即二极管的直流伴随模型。笔者的后续文章会陆续记述其他非线性器件的直流伴随模型。
1、牛顿—拉夫逊方法
牛顿—拉夫逊方法是求解非线性方程应用最广泛也是最有效的一种方法。它是目前多数电路分析程序中非线性分析方法的基础。
下面的图很形象的解释了牛顿—拉夫逊算法。这种思想是要有的,助理解,以这种低纬的形象理解,高维类似就是了,不是很好想象。有了这种形象思想就好,将牛顿—拉夫逊算法应用于电路仿真中时,笔者认为不是完全的按照其标准流程来的,而是基于这种很好的思想而已。
(该图转自知乎: https://zhuanlan.zhihu.com/p/266566509)
2、二极管的直流伴随模型
N-R方法(牛顿—拉夫逊方法)的基本思想就是在每一个迭代点将非线性方程线性化,即用迭代点上的切线近似非线性特征,把非线性方程转化为各个迭代点上的线性方程。也就是说,在每一个迭代点上的非线性器件都由近似的线性模型所替代,只要我们可以分贝建立在迭代点上各个非线性器件的这种N-R线性化模型,就可以列线性方程建立起整个迭代各过程的每一步迭代方程。
在不同迭代点,切线的斜率不同,因而所形成的非线性元件的线性化模型的参数也就不同,即线性化模型的参数是随迭代过程而变化的,因此,我们称之为直流伴随模型。
下面将推导二极管的直流伴随模型。
2.1、实例电路及形象分析
以下面电路为例来阐明直流伴随模型的思想:
由于二极管的非线性特性方程为:
各个符号的含义后续会结合SPICE的关键字介绍,这里知道除了和
都是定值即可,所以可以理解为这是一个二极管非线性的
方程。
对于SPICE直流分析的核心点就是求解电压值,如图中节点1和节点2两点的电压。我想求解电压,你说用牛顿—拉夫逊算法求解非线性方程?非也。N-R算法求解的是方程,而上式只是一个函数,要求解两个未知量,要两个方程才能求解。那另一个方程在哪?如图,除了图中二极管的这条支路的非线性方程,还有外围的线性方程也是一个关系。(若外围也有非线性器件,也是可以仿照这里将要讲述的将二极管线性化的方法将外围非线性器件线性化,所以可以将外围电路等效为线性电路,还是说这里举简单的例子先形象理解。)所以,得到下图:
不像上面所讲N-R方法时求解 找零点,这里是找曲线和直线的交点。这里的流程是这样的:
数学层面:
先给出一个初始迭代值 ,给出电压为
时对于的
线性模型,以便和其他线性方程进行组合求出下一步的
。
是目的,
是为了入圈求方程,你的那个线性模型满满的可以用
进行表示,因为你看定了一个
,它对应的切线也就唯一确定,所以可以用
唯一完全表示。那
表达出
线性模型来再入圈求出
,再一次次迭代起来。
物理层面:
你画的那根直线(化成线性了,就先别看那个非线性的了,这个直线满满的用来表示,并用其求
(
是目的,
是为了入圈求方程),),也就是说你的那个线性模型的参数满满的可以用
进行表示,拿它表达出来的
模型入圈求出
,再一次次迭代出来。
2.2、二极管直流伴随模型
二极管的非线性特性方程为:
设 ,则
在点
处对应 (“对应”的含义见上图
)的切线函数为:
这个高中、初中就学过过固定点已知斜率的直线方程。有的书上讲这是略去高次项的泰勒级数,笔者不敢苟同,这里不是讲要在小范围内保证精度将非线性函数线性化,这是就单纯的得出切线就行,也没必要说什么泰勒展开,直接求切线方程就是了。
所以,仿照上式得:
进而得:
其中:
I_k+1 和 U_k+1 ,满足直线关系,所以I_k+1 和 U_k+1 满足的公式为:
因此二极管的非线性支路在第k次迭代点,可以用一个电导和一个电流源
相并联表示,这就是二极管的直流伴随模型,如图:
实际应用中的二极管模型往往比上述模型多出一个体电阻,如图,成为二极管的EM直流伴随模型。由于
的存在,模型中增加了一个内节点
。
但是,由于二极管在SPICE中模型RS寄生电阻参数默认值为0,所以在默认参数下可以采用没有电阻RS的直流伴随模型,且较为简单。
刚才只是给出了符号表达式,其实都是可以算出值来的,SPICE中相关的参数值是可以设置的,没有设置时采用默认参数,如下:
补充: 。
常温下T=300K。
基于上述参数的默认值或网表中设置的模型参数值便可以求出对应的在迭代点处直流伴随模型的电流源电流和电导大小了。
2.3、送值表
1、当RS默认值为0时:
2、当RS有值非零时:
2.4 编程迭代小技巧
Uk+1和Uk好顺下去,关键有时候开头给Uk赋初始值不好编写代码。可以你先令Uk+1等于初始值,然后后面顺上Uk+1=Uk的循环就好。这样的方式思路顺接,编程也简化。
3、牛顿—拉夫逊方法的收敛性
4、牛顿—拉夫逊方法的改进:
两个方面为:发散、震荡。
改进的方法有:"横取”N-R方法,“四象限”算法,阻尼算法,高阶校正法等。