ADS 使用教程(六)Optimization in ADS


上一篇:ADS 使用教程(五)Real Time Tuning


在本节中,我们来一起了解一下如何在ADS中执行优化。

在之前的步骤中,我们创建了一个低通滤波器,并使用Real Time Tuning进行了初步的优化。为了得到更好的性能,我们可以进行Optimization。首先在主设计窗口左侧的Library Palettes中选择“Optim/Stat/DOE”:

然后点击,放入优化控制器(Optimization Controller),然后点击,放入两个优化目标。

然后我们需要定义两个GOAL的具体内容:

在第一个GOAL中,我们设置对dB(S(2,1))的约束(对应的名称可以直接在仿真得到的plot的左侧查看,无需自己猜测)。首先,我们定义Expression(表达式)为dB(S(2,1)),表示S参数S(2,1)的dB值。然后,选择进行优化的分析类型(Analysis),此处选择SP1,表示S参数分析。然后Weight(权重)表示的是目标的权重,决定了该目标在整体优化中的重要性,默认值为1.0。接下来选择Sweep Variables(扫频变量)为freq(频率)。然后设置Limit lines(限制条件),具体内容如图所示,希望设计出的低通滤波器在通带内(0.01 GHz到0.2 GHz)有较低的插入损耗(< -1 dB),并且在阻带内(0.35 GHz到0.5 GHz)有较高的衰减(< -25 dB)。然后点击“OK”。

同理,我们设置第二个GOAL,在这里的限制条件要求在0.01 GHz到0.2 GHz频率范围内,S(1,1)必须小于-15 dB,这表示在该频段内,需要输入端口的反射非常小,阻抗匹配良好。

接下来,我们需要设定Optimization Controller:

在“Setup”中,有多种优化类型,我们此次选择“Random”类型,然后将Number of iterations设为5000。对各个优化类型及其它内容解释如下:

  • Random(随机):使用随机搜索算法进行优化。适用于全局优化问题,可以探索整个设计空间。
  • Gradient(梯度):使用梯度下降算法进行优化。适用于连续且可微的目标函数,快速收敛到局部最优解。
  • Random Minimax(随机最小最大):结合随机搜索和最小最大优化方法。适用于需要兼顾多个目标的优化问题。
  • Gradient Minimax(梯度最小最大):结合梯度下降和最小最大优化方法。适用于多目标优化,利用梯度信息加快收敛。
  • Quasi-Newton(拟牛顿):使用拟牛顿法进行优化。适用于需要快速收敛的优化问题,利用二阶导数信息。
  • Least Pth(最小P次方):使用最小P次方方法进行优化。适用于特定类型的目标函数优化。
  • Minimax(最小最大):采用最小最大优化方法,平衡多个目标函数的优化问题。
  • Random Max(随机最大):使用随机搜索找到最大值。适用于全局最大化问题。
  • Hybrid(混合):结合多种优化算法进行优化,适用于复杂优化问题。
  • Discrete(离散):针对离散变量的优化方法。适用于变量取离散值的优化问题。
  • Genetic(遗传):使用遗传算法进行优化。适用于复杂的全局优化问题,模拟生物进化过程。
  • Simulated Annealing(模拟退火):使用模拟退火算法进行优化。适用于全局优化问题,模拟物理退火过程。
  • Simulated Annealing Corana(Corana模拟退火):Corana改进的模拟退火算法。提高了模拟退火的效率和收敛性。

此外,Number of iterations(迭代次数)设置优化过程的最大迭代次数,Desired error(期望误差)设置优化过程停止的期望误差,当优化结果达到该误差水平时,优化过程停止(0.0表示尽可能减小误差)。

在“Display”页面,我们可以选择优化控制器呈现的内容,我们此次实验中,先点击“Clear All”清除所有选项,然后选中“OptimType”和“MaxIters”:

得到的界面如下:

接下来,我们需要将变量定义到组件内部,我们选择“Simulate – Simulation Variables Setup”:

之后选择“Optimization”界面,选中设计中的参数,然后设置其最大最小值,此处format有多种模式,可以按需选择:

点击“OK”完成设置。完成Optimization的设置后,我们点击工具栏中的执行优化,之后ADS就会自动开始进行优化。该窗口显示了许多信息,想优化类型、状态、迭代次数等。在窗口右侧,显示出优化过程中误差的历史变化和每个优化目标对总误差的贡献,同时也展示了S(2,1)和S(1,1)的dB值优化目标的误差和贡献情况。

等待执行,执行结束后会弹出优化后的结果:

由于此时终止原因是迭代次数达到设置的数量了,所以可能并没有满足我们设定的Goal。我们可以选中,为参数设置不同的范围,让其尝试更多不同的组合,然后点击再次进行优化:

此时终止原因变为了Goals are satisfied,说明优化成功了,已经满足了我们当前的设计要求。

此时我们点击,然后观察子设计,发现此时子设计中组件的参数都已经变为了满足要求的组合情况:

最后再点击进行一次仿真,验证之前的操作是否成功。

(To be continued......)


下一篇:ADS 使用教程(七)Monte Carlo Simulations


  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值