原创 【转】从实例中学习OrCAD-PSpice 10.3-AA(第5章 优化) 1

2011-2-16 15:20 1528 6 6 分类: PCB

第5章优化(Optimizer)工具的使用
    电路模拟(仿真)是非常重要的,它辅助工程师设计了各种电路。但与期望的EDA还有距离,人们是从两方面解决这个问题。一是基于数学的最优化算法;一是基于知识信息系统,二者都有很大发展。PSpice/Optimizer是基于前者,这就需要读者了解一些数学的最优化算法,本章只做一些简介,主要是介绍优化(Optimizer)工具的使用方法。

5.1 优化(Optimizer)工具的工作流程
    优化(Optimizer)工具的工作流程如图5-1所示。
 
图5-1 优化工具(Optimizer)的工作流程
图中:

  1. 设置电路图(与第4章相同);
  2. 调用PSpice进行电路特性模拟(与第4章相同);
  3. 确定电路特性函数,(与第4章相同);
  4. 检验电路特性函数模拟结果(与第4章相同);
  5. 运行灵敏度分析,确定最关键的元器件(选作项目这与读者本身知识和经验有关);
  6. 确定最关键的元器件的参数;
  7. 设置优化特性函数,PSpice提供有53个电路特性函数(Measurement);
  8. 确定优化目标函数;
  9. 确定约束条件和目标函数的权重;
  10. 选用优化引擎(Engine);
  11. 运行优化工具;
  12. 判断电路是否满足设计要求,有3项选择:
  13. 否!调整优化过程;
  14. 否!修改修改元器件参数或电路;
  15. 是!已满足,依此,更新电路中元器件参数值;
  16. 打印输出
  17. 保存文件

    从流程图中可以看出,优化程序是在分析的基础上进行的,优化的方法涉及到了数学的最优化算法,下面先介绍有关优化算法的基本知识。然后再按优化工作流程具体介绍优化(Optimizer)工具的使用方法。

5.2 优化的基本概念
5.2.1  设计变量
    优化问题离不开设计变量、目标函数和约束条件等三个方面的问题。而首当其冲的就是如何选择设计变量。
设计变量:就是在优化设计中出现的各个可以选择取值的变动参数。
例:一个RC单管放大电路如图-2所示。在工作时,有一个100pf的寄生负载电容。我们希望设计一个增益为40,并具有改善通频带的放大器。
 
    这个初始电路是设计者依据本身或他人的(书本的)经验进行选择的。它具有较为合理的拓扑结构以及较好的元器件参数(标称值作为优化初始值)。这些元器件参数都对设计结果有影响,都可以选作设计变量。通常只选择那些影响较大的元器件参数作为设计变量。PSpice/Optimizer 设计变量包含:

  1. 代表元件参数值。例如电阻的阻值R、电容的参数值、晶体管器件模型参数,如放大倍数β等。 
  2. 代表元件其它性质。比如,滑动变阻器在电路中滑头位置。可用Set指令,并设定一个在1与0之间值来表示这个性质的设计变量。
  3. 用特殊表达式代表的器件的值或其它性质。比如,exp(),log(),sin(),max(),L,db(v(load)/v(in))、bandwidth(V(load),3),即上节所述电路特性函数。PSpice提供有53个电路特性函数(Measurement)。

    设计变量也可通过灵敏度、参数分析进行选择,PSpice/Optimizer9.0版本原可选择8个设计变量,10.3版本没有限定。本例的设计变量选择L和RL,于是,可用数学上独立变量的符号写出
 

5.2.2目标函数和约束条件
    目标函数是待优化的目标。目标函数是评价电路优化设计好坏的标准。它是n个设计变量的一个实函数,也就是一个向量X的函数,写成
 
    由此可见,所谓电路的优化设计,从数学角度上看,就是在一定的约束条件下,求目标函数的极值问题。
    最优化算法由于要考虑各种不同要求,所以涉及面很广。诸如要不要考虑约束条件?是等式约束还是不等式约束?目标函 数是线性的(称为线性规划)还是非线性的(称为非线性规划)?是单目标优化还是多目标优化?是确定性优化(设计变量取值是确定的)还是随机性优化(设计变量取值不确定,是按一定的概率统计分布取值)等等。PSpiceA/D9.0/Optimizer只能完成的是目标和约束8项排列组合,即无约束的8个(线性的或非线性的)目标优化直到有7个(等式或非等式的)约束和1个(线性的或非线性的)单目标优化的各种组合。
    目标函数和约束条件代表一个设计的理想性能,而这个性能不易得到。例如,一门电路不能完成零传输延迟,优化的目的是尽可能接近目标值(也就是尽量减少误差)。
    当解决具有目标和约束的问题时,即PSpice10.3/Optimizer调整目标使之接近目标值时,会出现与约束的规定相背离的状况,就是对于一个给定的迭代指令在值域上不可能总是减小,有时反而增大。
    在进行优化时必须确定哪个是目标哪个是约束?而在很多情况下,目标和约束可以有几种合法的方式(排列组合)来描述同一设计。
    例如:若设计一个电阻终端连接器如图5-3所示。它在两个电阻之间的接点能产生一个3.75V(±0.1)输出电压(Ve),并且两个电阻的等效阻抗Re必须等于100Ω(±1)目的是找到符合这两个条件的最佳电阻值。
 
显然,R1和R2为设计变量,用下面的联立方程能够解决这个问题。
 
PSpice/Optimizer时,下面三种方式中任一种都能够描述这个设计,都是合法方式。

  • 认为Ve和Re同等重要,建立两个目标。
  • 认为Ve最重要,设置Ve为约束,Re为目标。
  • 认为Re最重要,设置Re为约束,Ve为目标。

注释:因为至少要有一个优化目标,所以不存在Ve和Re均为约束的情况。     
    像这样有唯一解的问题,PSpice/Optimizer用这三种方式都能有同样的解,然而大部分设计问题不会这样只有一个确切的解,而是在约束条件下,其解是一个与目标值误差最小化的设计值,由于目标、约束选择各异,因此答案并不唯一。
    按目标、约束进行划分时,PSpice10.3 /Optimizer可以解决四类问题,见表5-1。
 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条