DC Analysis以及Newton-Raphson迭代法的示例分析

发布时间:2021-11-23 10:47:10 作者:柒染
来源:亿速云 阅读:543

这期内容当中小编将会给大家带来有关DC Analysis以及Newton-Raphson迭代法的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

以下图为例,

DC Analysis以及Newton-Raphson迭代法的示例分析

该电路的解或者工作点即负载线与diode IV 曲线的交点,

其中负载线电流方程为

DC Analysis以及Newton-Raphson迭代法的示例分析

Diode 电流方程为

DC Analysis以及Newton-Raphson迭代法的示例分析

在工作点处, 

DC Analysis以及Newton-Raphson迭代法的示例分析

因为diode的方程是一个非线性方程, 直接计算几乎不可能.

Newton-Raphson迭代算法可以用来求解以上非线性方程.

其原理大致如下图所示,

DC Analysis以及Newton-Raphson迭代法的示例分析

首先从Vd1开始(First-guess), 在Vd1处对Diode I-V曲线进行线性化,

DC Analysis以及Newton-Raphson迭代法的示例分析

其中

DC Analysis以及Newton-Raphson迭代法的示例分析

Geq1Vd1处的斜率.

重新整理Idlin1的方程可得,

DC Analysis以及Newton-Raphson迭代法的示例分析

其中

DC Analysis以及Newton-Raphson迭代法的示例分析

Idlin1即上图所示红色直线的表达式, 当其于负载线相交时,  可以发现其交点与工作点还不够接近. 但可以得到Vd2的值,然后再对Diode IV 曲线在Vd2处进行与Vd1一样的线性化操作,即得到上图所示的蓝色直线, 蓝色直线与负载线的交点比上一个交点离工作点更近, 但还不是工作点, 可以在第二个交点处(即Vd3)对Diode IV曲线再次进行线性化, 预期第三个交点比第二个交点更接近工作点.

随着迭代次数的增多, 线性化直线与负载线的交点会越来越接近工作点的Vd. 如果不受控制, 该迭代过程会一直进行下去. 即该迭代过程不会收敛.

一般模拟仿真器会定义reltol/abstol等tolerance选项来控制迭代过程.

其中SPECTRE 系列等模拟仿真器判断Newton迭代收敛会依据以下三个判据,

DC Analysis以及Newton-Raphson迭代法的示例分析

不同的仿真类型会有区别. 且通常会有更多的判断条件, 这里仅举例说明.

第一个判据即判断第二张图片中的Sigma-I, 

第二个判据即判断第二章图片中的delta-V,

第三个判据用于判断电路节点电流是否满足KCL定律.

如果以上三个判据都成立, 则收敛.

由此可以得知, 当retol/abstol 这些值设置的越小, 迭代次数就越多, 仿真时间越长, 得到的结果越准确, 不收敛的可能性就越高.  反之, 则仿真时间越短, 结果可能不准确, 收敛的可能性越大. 

从以上的迭代过程可以看出, 初值Vd1的选取很关键, 仿真器会自动选择, 如果选的不好, 会很难收敛或者不收敛. 比如在实际多corner仿真时, 会遇到某些corner不收敛, 某些corner收敛的情况, 其中不收敛的点有可能时初值选的不好, 那么可以尝试使用readns等选项去调用已收敛点的解当作初值来进行当前不收敛corner的仿真.

但在实际使用SPECTRE系列仿真器仿真时, 大多数情况下, 并不需要去改动这些值.

一般仅需根据电路类型以及预期的结果等, 在每一个Analysis类型errpreset当中选择conservative/moderate/liberal即可. 即高精度/中等精度/低精度.

实际电路仿真过程中, 仅靠Newton Method是很难收敛的, 比如当某个方程不可微分时, 迭代就进行不下去. 

像DC的仿真的化还需要Continuation Method, 即在spectre.out里面会看到的homotopy. 

homotopy有6个值, 即none/gmin/source/dptran/ptran/all. 默认是gmin, 如果gmin stepping fails, 则使用source, 如果还是fails, 则使用 dptran, 直到ptran.

如果是设置成all的话, 是从Newton->gmin->source->dptran->ptran这个顺序仿真直到收敛.

gmin Stepping的意思是在仿真开始时会给所有非线性器件并联一个1Ohm的电阻使得电路线性化, 从而仿真器更容易计算电压值. 如果不收敛, gmin会一直降低直到1mOhm.  如果还不收敛, 则gmin Stepping fails.  如果收敛, 仿真器会逐次增加该电阻值, 并使用上一次Stepping的结果当作当前Stepping的初始值. 每一次Stepping的迭代次数时自适应的, 会根据当前插入的电阻值以及iteration limit自动调整.   每一次stepping都收敛的化, spectre 仿真器会一直stepping到gmin设定的值(默认1e-12). 

所以某些情况下, 降低gmin, 可以提高DC仿真的精度. 提高gmin, 能让DC更容易收敛. 但是大多数情况下不建议修改. 

Source Stepping 即按阶段"powering up" 电路. 所以的电压源会乘上一个常数, 然后该常数逐次下降直到收敛.

PseudoTransient  Ramping即dptran和ptran, 这种方法会给每一个非线性器件并联一个1 Farad的电容,  然后pseudo-time is swept to infinity直到收敛. 如果电路因为添加的电容震荡, 则该方法失败.

另外一方面, 当前的SPECTRE APS/X 等仿真器对以上内容的设置基本上都是自动化的.  大多数情况, 只需选择conservative/moderate/liberal或者CX/AX/MX/LX/VX在设置上多线程的数量或者自动多线程即可.

上述就是小编为大家分享的DC Analysis以及Newton-Raphson迭代法的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. dos命令查看域控DC间同步状态
  2. DC 备考路上的风景

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

dc analysis

上一篇:更新webservice引用会遇到什么问题

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》