之前介绍了蒙特卡洛的优势。详情可参考之前的《蒙特卡洛方法学习(一)》。

  那么对于我们设计的电路,对于电路中的元器件参数容差,进行统计分布,用一组伪随机数求得元器件的随机抽样序列,对这些随机抽样得到的元器件参数再对设计的电路进行功能仿真,比如:直流分析,交流分析,瞬态分析等等。

  利用Multisim进行蒙特卡洛仿真电路。这里举一个简单的例子,如下:

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_随机数

  对于上述电路中,电阻的阻值会有一个容差范围,电容的容值也会有一个容差范围,这些容差会对整个电路带来的影响,可以利用蒙特卡洛方法进行仿真,具体操作如下所示:

(1)设置模型容差列表

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_瞬态分析_02

  按照上图,打开蒙特卡洛应用。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_参数设置_03

     上述打开之后,电阻的阻值容差已经直接加载过来了,电容的还没有,可以点击add tolerance。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_瞬态分析_04

   从上到下各个含义,相信大家都能看懂。这里不再赘述。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_瞬态分析_05

  上述参数添加好后,再点击ok键,可以看到如下图所示,电容C1容差添加进来。依次再添加其他几个电容的容差。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_参数设置_06

 

(2)分析参数

  上述已经将模型的容差列表设置完毕,接下来要设置分析参数,如下所示:

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_参数设置_07

  其中可以选择分析的类型,比如交流分析,直流分析,瞬态分析等等。如下所示:

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_参数设置_08

  还可以对所选择的分析进行参数设置,如下图所示,这里笔者保持默认。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_瞬态分析_09

   下图是设置仿真的次数,输出变量。这里笔者设置为100次,输出变量不变。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_参数设置_10

  把输出的结果打印在一张图上,可以将下述进行打钩。

 

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_随机数_11

 

(3)最后的结果

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_蒙特卡洛仿真算法 python_12

  进行多次随机抽样测得结果,基本上参数影响不是很大。

蒙特卡洛仿真算法 python 蒙特卡洛仿真举例_参数设置_13

   上图是运行的日志,可以查看影响的结果。