当前位置: 首页 > news >正文

ADS Momentum学习笔记

ADS Momentum的简介

ADS Layout界面仿真采用的方法主要是Momentum(矩量法)。

Momentum的特点

Momentum是高级设计系统(ADS)的重要组成部分,它提供了设计现代通信系统的电磁仿真。它可以用来计算一般平面电路的S参数,包括微带线、槽线、共面波导和其他拓扑结构。ADS layout中提供了过孔和空气桥,它们用来连接层与层之间的拓扑结构,所以可以仿真多层RF/微波印刷电路板、混合多模块芯片和集成电路。Momentum为我们提供了整套的工具来预测高频电路板、天线和ICs的性能。
Momentum优化功能扩展了它的能力,使它成为一个真正的设计自动化工具。Momentum优化功能可以自动优化多个几何参数,它能帮助我们得到满足电路、器件的性能目标的最优结构。通过使用参数化的版图中的元器件,我们也能从原理图中执行Momentum优化功能。
Momentum可视化功能为用户提供三维视角的仿真结果,这使得我们能够查看道题或槽缝中的动态电流和远场的二维或三维方向图。
Momentum有很多非常强大且实用的功能,举例如下:
(1) 版图元器件和原理图元器件协同仿真(Co-Simulation)
版图元器件和原理图元器件协同仿真,打破了版图元器件和原理图元器件之间的藩篱。在电路仿真中,可以引入具有物理意义布局元器件来模拟;在ADS中只要按下某个键就可以将版图元器件引入。
实际应用时,如将PCB板的布局加入电路设计中去做电路协同仿真,或者将封装参数加入核心晶片设计(Core Chip Design)去做协同仿真,就可以将版图元器件的一些物理效应,如走线间的耦合和串扰纳入考虑。此外,PCB版图元器件的效应可以使用Momentum仿真的结果和实际测量的结果。
(2) 仿真真实物理世界的侧壁耦合(Side Wall Coupling)
Momentum可以计算开放空间及含有两个面或四个面侧壁的结构,这使得侧壁的寄生偶很、镜像电流,以及密闭腔的效应可以纳入考虑,这对实际线路设计的考量是很重要的。现在还可以导入EMpro软件模型,仿真屏蔽特性。
(3) 可产生SPICE模型,和其他仿真设计软件工具整合
Momentum仿真产生的S参数,可以用来产生SPICE相容的电路形式,所以利用Momentum的结果可以和SPICE共同仿真。
① Momentum的主要优点如下
当电路超过电路模型范围或者没有电路模型的情况下,依然能对电路进行仿真。
Momentum能确定组件之间的寄生耦合效应。
超越简单的分析和验证,Momentum使得电路设计自动化。
Momentum使得我们能形象地看到电流流动和三维显示远场辐射。
② Momentum的主要特点如下:
它是一个基于矩量法的2.5D电磁仿真器
通过自适应频率采样得到快速、精确的仿真结果
Momentum优化工具通过改变设计的几何尺寸从而实现性能指标。
提供了全面的数据显示工具
通过方程和表达式的输入,能对仿真数据进行运算、处理
充分融入了ADS电路仿真环境,允许电磁/电路联合仿真和联合优化。

Momentum的功能

1、 基板

基板描述了电路存在的煤质。如多层电路板的基板,它由多层金属印制线、绝缘介质、接地板、连接印制线的过孔、包围板子的空气组成。我们可以通过基板的定义来指定它们的特性,如基板上的层的数量、介质介电常数、电路每一层的高度。
基板是由介质基板层和金属层组成。基板的层定义了介质媒介、接地板、空气或者其他的层材料。金属层是介质基板层之间的导体层。
基板可以保存并且可以应用于其他的电路。ADS中包含了各种各样的预定义好的基板,可以直接调用,或者可以根据自己设计的需要改变基板。
(1) 定义一个基板的步骤如下
定义基板的介质层
将版图层映射到金属层
指定金属层的电导率
(2) 选择一个预定制基板
Momentum包含了许多的预定制的基板,基板文件以后缀.slm结束。
在基板设置窗口,执行菜单命令File----import
(3) 创建/修改层
可以从头开始自定义一个基板或者编辑一个已经存在的基板。一个基板必须至少有一个顶面层和一个底面层。
定义基板层
如果是新的定义,基板层区域将显示三个默认的层
AIR(顶面层):它被定义成一个开边界
Alumina(介质层):代表了有限厚度的介质层
Cover(底面层):定义了一个封闭的边界,通常设置为GND
编辑层
选择需要编辑的层,可以编辑,重新命名,增加层等。
(4) 定义开放边界
开放边界描述的是无限厚的层,如空气。通过编辑边界的相对导磁率和相对介电常数,开放边界可以用于定义其他气体或无限厚的媒质。
(5) 定义界面层
界面层有一定的厚度,其特性可以用相对介电常数和导磁率来描述。厚度可以是任意值,但需要考虑下列问题
Thin substrates是厚度小于1μm的基板,需要特殊的网格考虑。应该避免使用小于0.1μm的基板
Thick substrates厚度应小于1/2波长。
(6) 定义封闭的边界
封闭的边界表示一个平面,如地面。它是零厚度层。可以把它定义为良导体,或者指定电导率和板材的阻抗特性,把它定义为损耗导体。
(7) 删除、增加、以及移动层,添加过孔
Layout层包含的所有形状、元器件和过孔(它们是电路的组成部分)必须映射到基板金属层,如果没有映射,仿真时就不能被包括在内。

2、 端口

端口能够使能量流进和流出电路,能量作为仿真过程的一部分应用于电路。使用Momentum解算的电路至少有一个端口。
定义端口需要两步:端口加在已画好的电路上;在Momentum中指定端口的阻抗、校准方式,使之与电路相适应。
(1) 对电路加端口
可以从原理图窗口或版图窗口给电路加端口。当给使用Momentum仿真的电路加端口的时候,请注意以下几点:
① 端口连接的元器件或形状必须是版图中的层,这些层被映射到金属层,端口不能直接连接通孔。
② 确认端口在边缘处已经放好,端口的箭头在物体的外面,指向内部,并且与边缘成直角。
③ 确认端口和它连接的物体在同一个版图层上。
④ 端口必须应用在物体上,如果端口没有连接到物体,Momentum将自动地吸附端口到最近的物体上。
⑤ 在使用Momentum仿真的电路中不要使用地的端口元件Insert—Ground。地元件在版图中是不会被Momentum识别出的。
(2) 端口校准
在Momentum中,有两种不同的集总的源使用校准线对电路进行馈电:接地源和悬浮源。接地源对于低频来说,工作得很好。然而在高频的时候,当端口到地之间的距离变得很大的时候,这种源由于在校准过程中存在不希望的基板耦合,它所提供的结果是低精度的;悬浮源在高频时,工作得很好(不希望的基板耦合被减少了)。然而,它在低频时却工作不好,因为容性的内部阻抗阻断了低频电流的流动。Momentum默认在这两种源中自动切换,这依靠于仿真的频率范围。
(3) 决定使用端口的类型
Momentum有5种端口校准类型。端口的目的就是想电路注入能量,并且允许能量在电路里流进和流出。我们能够根据电路的类型及端口在电路中的功能为电路选择合适的端口。

3、 盒子和波导

设置电路的基板时,我们只设置了基板的垂直尺寸,而没有设置它的水平尺寸。因此,基板层在水平面上是无限延伸的。对于很多设计来说,这样设置并不影响仿真,但是有一些情况下,需要设定水平方向大小。对于这些情况,可以用盒子和波导来实现。
利用盒子和波导可以设置基板水平方向上的边界。可以利用盒子设置基板4个面的边界,也可以利用波导设置基板两边的边界。这些设置只在Momentum(微波)模式下有用,而对于Momentum RF模式没有影响。
更明确一些,可以利用盒子定义4个垂直正交的理想金属面作为基板水平方向上的边界。如果沿着Z轴俯视电路图,会看到这4个垂直面形成了一个矩形。盒子只能应用在基板定义的接地板和终止阻抗的地方。因此,4个垂直的金属壁加上顶层和底层的接地板构成了一个盒子。由此得名。壁是边面,顶层和底层的接地面是盒子的上表面和下表面。
尽管对于一个波导,只设置两个平行的面,但是情况也类似。因此,基板只限制在这两个平行面内,而与这两个面平行的水平方向上,基板仍然会无限延伸。顶层和底层的基板仍然需要定义成接地板。这两个边面和顶层、底层结合一起形成了一个波导。
(1) 添加盒子
盒子定义了电路基板4个面上的边界。在一个电路中,只能选择盒子和波导中的一种。盒子只能应用在基板的顶层和底层都定义在接地板或者终止阻抗的情况。盒子的壁是理想金属。接地板可以定义成理想金属,也可以定义为损耗金属。
给电路增加一个盒子可以分析包围电路的金属所带来的影响。盒子的谐振对以谐振频率为中心的一小块频带范围内的S参数有很大的影响。在仿真过程中,盒子侧壁上的所有电流都会被考虑在内。
给电路添加盒子
EM—BOX-Waveguide—Add Box
编辑盒子
一旦盒子被应用了,就不可以改变它的尺寸了,如果想改变它的大小,必须先删除这个盒子,然后新建一个。
删除盒子
EM—BOX-Waveguide—Delete Box
(2) 添加波导
过程和添加盒子类似,这里不再重复。

4、 网格

网格是一种类似于三角形和矩形网格的图形,每个三角形或矩形是一个单元。每个单元的形状基于电路的几何形状,也可以选择为用户定义的参数,所以每个电路都有独一无二的网格用于计算。网格应用到电路中是为了计算每个单元的电流和确定仿真中的单元间的耦合效应。
创建网格包含两方面的内容:定义网格参量;预计算网格。
没有必要先设定网格参数,通常使用默认参数。为了方便查看该网格,可以在仿真之前预算网格;否则,网格将作为仿真过程中的一部分而计算。
(1) 定义网格
单元数越多,仿真越精确,但是过多的单元会降低仿真的效率,而相应提高的精度却是有限的。所以,可以选择不创建网格参数,默认值会自动创建网格。
如果选择定义网格参数,可以把它们设定为如下几个方面
整个电路
Layout上的所有对象
单个对象
没有必要所有的对象都指定参数。例如,可以只在一个对象上设置网格参数,其他对象使用默认的网格参数。
(2) 定义整个电路的网格参数
全局网格参数变量影响整个电路
(3) 定义layout层的网格参数
网格参数只影响相应的layout层上的对象。如果已经有全局变量,那么在layout层上的局部变量有优先权。

5、 Momentum仿真

仿真过程结合格林函数及网格设置,用于求解电路中的电流。其中格林函数用于计算电路中的基板,网格设置用于计算电路。运用这些电流计算,可以算出电路的S参数。
运行仿真之前,必须满足以下标准。
必须指定正确的基板设置
必须至少有一个端口
必须定义网格
必须指定仿真频率范围
一次仿真可以设置多个扫频计划。每个范围中,要指明针对单个频率点或一个频率范围的求解。每个扫频计划都可以选择一种扫频类型,单个仿真过程可以运行多个扫频计划。

6、 ADS原理图和layout联合仿真

第一种方法是通过emModel,在Layout的Momentum窗口执行菜单命令component----creat/update进行设置,包括其在原理图中显示的大小(size)、基板(substrate)设置等。其中,需要注意的是,Momentum中只能绘制微带线、带状线之类能用于矩量法划分的元件,而对带封装的电阻、电容、电感等其他器件不能在layout中进行矩量法仿真。Layout中绘制的就像一块没有焊接任何元器件的电路板,需要通过emModel调进原理图,再在每个焊点连上各种元器件,进行仿真。其中,需要在layout的每个元器件的焊点都加上Port。通过emModel既可以对无源、有源电路进行仿真,还能考虑到连线、布局的分布参数效应。(仿真低噪声放大器时用到)
第二种方式是通过SNP。在data Item中的SNP控件可以导入layout仿真所得到的S参数模型,格式为xxx.ds。不过这个只适用于layout图中不能连接电阻、电容等元器件的情况。(仿真微带天线的时候用到过)

7、 Momentum优化

对于一个简单的平面结构的电磁模型,Momentum优化是一个很有用的工具。Momentum优化将自动的调整版图,通过设定的目标值来提高电路的性能,并且支持使用Momentum微波方式和Momentum射频模式。
8、 Momentum可视化
Momentum可视化让我们能观察和分析以下类型的仿真数据。
S参数
电流
天线远场及其他的天线参数
传输线数据
这些数据可以在二维及三维等多种图形格式来表示,一些类型的数据还可以用列表的形式显示。
(1) 启动Momentum可视化
单击三维图图标,当前的设计必须完整地仿真一次才能在Visualization中查看数据。
(2) Momentum可视化支持的画图类型
Momentum可视化支持的三种基本的画图类型
表面电流图----这种图表示出了导体表面的电流的密度。
箭头图----这种图用矢量代表了导体表面的电流的密度。
网格图----这种图可以显示Momentum网格,这些网格用来计算表面电流值。
(3) 解算设置图
解算设置用于为所需画的图形选择电流激励,通过简单地选择端口和频率,激励将改变且图形将自动更新。可以在Port setup下拉框中选择单端口激励和多端口激励的方式。
(4) 远场图
当打开Momentum可视化窗口的时候,在右边将显示出两个三维图。其中,一个是模型的三维图,另一个是远场三维图。窗口中画出的三维远场图默认是电场E的方向图。

Momentum的仿真流程

1、 选择模式
2、 建模
3、 定义基板
4、 端口
5、 扫频范围
6、 仿真电路
7、 查看结果

参考资料:
ADS2011射频电路设计与仿真实例

相关文章:

ADS Momentum学习笔记

ADS Momentum的简介 ADS Layout界面仿真采用的方法主要是Momentum(矩量法)。 Momentum的特点 Momentum是高级设计系统(ADS)的重要组成部分,它提供了设计现代通信系统的电磁仿真。它可以用来计算一般平面电路的S参数…...

解决Vue3 使用Element-Plus导航刷新active高亮消失

解决Vue3 使用Element-Plus导航刷新后active高亮消失的问题 启用路由模式会在激活导航时以 index 作为 path 进行路由跳转 使用 default-active 来设置加载时的激活项。 接下来打印一下选中项index和index路径, 刷新也是没有任何问题的,active不会消失…...

K8S系列文章之 一键部署K8S环境

部署的原理是基于自动化部署工具 Ansible 实现的,需要提前安装Ansible 并配置下主机节点环境 1. 安装 Ansible 首先ansible基于python2.X 环境,默认centos都已经安装好了python2环境 // 最好更新下库 // yum update yum install -y epel-release yum i…...

Spring Boot、Spring Cloud、Spring Alibaba 版本对照关系及稳定兼容版本

Spring Boot、Spring Cloud、Spring Alibaba 版本对照关系及稳定兼容版本 引言 在 Java 生态系统中,Spring Boot、Spring Cloud 和 Spring Alibaba 是非常流行的框架,它们提供了丰富的功能和优雅的解决方案。然而,随着不断的发展和更新&…...

虫情监测仪介绍—技术原理、功能优势是什么?

KH-CQPest虫情监测仪是做好虫情监测的重要设备,利用虫情监测仪能够对农业大田、智慧温室、林业等场景的害虫分布情况及害虫种类进行监测,协助人们制定合理的防治措施。 1.技术原理: KH-CQPest虫情监测仪采用光学诱虫原理,配合传感…...

HTML5 Canvas和Svg:哪个简单且好用?

HTML5 Canvas 和 SVG 都是基于标准的 HTML5 技术,可用于创建令人惊叹的图形和视觉体验。 首先,让我们花几句话介绍HTML5 Canvas和SVG。 什么是Canvas? Canvas(通过 标签使用)是一个 HTML 元素,用于在用户计算机屏幕…...

ChatGPT在社交媒体聊天和评论分析中的应用如何?

ChatGPT在社交媒体聊天和评论分析中具有广泛的应用前景,可以帮助企业、个人和社会从多个角度更好地理解用户观点、趋势和情感。以下是详细的讨论: **1. 舆情分析与趋势预测:** ChatGPT可以用于分析社交媒体上的评论、帖子和消息,…...

DoIP学习笔记系列:(四)用CAPL脚本读取DID的关键点

文章目录 1. 如何在CAPL中读取DID?1.1 避坑如何新建CAPL工程,在此不再赘述,本章主要分享一下如何在CAPL中调用DoIP接口、diag接口进行DoIP和诊断的测试。 1. 如何在CAPL中读取DID? 通常在实际项目中,会有很多DID,各种版本号、各种观测量,如果手动点,显然很麻烦,如果要…...

chrome插件开发实例06-定制自己的Chrome DevTools调试工具

目录 Chrome DevTools 调试工具 演示 ​编辑 源码 devtools.html devtools.js panel.html panel.js...

安卓读取,添加,更新,删除联系人,读取短信

目录 读取联系人 添加联系人 更新联系人 删除联系人 读取短信 读取联系人 安卓可以通过contentResolver来读取联系人表,联系人表的Uri信息是:content://com.android.contacts/data/phones 从而输出联系人信息, 需要相关权限&#xff1a…...

Practices6|69. x 的平方根、(哈希表)205. 同构字符串、(哈希表)1002. 查找共用字符

69. x 的平方根 1.题目: 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.…...

Qt扫盲-Model/View入门

Model/View 编程入门 一、概述二、介绍1. 标准部件2. Model/View 控件3. Model/View控件概述4. 在表格单和 model 之间使用适配器 Adapters 三、 简单的 model / view 应用程序示例1. 一个只读表2. 使用role扩展只读示例3. 表格单元中的时钟4. 为列和行设置标题5. 最小编辑示例…...

关于win11 debian wsl 子系统安装启动docker一直starting,无法启动

首先我先说明,我的步骤都是按照官网步骤来的 通过官网的操作步骤 通过测试命令 sudo docker run hello-world得到下面的命令,我们通过启动命令 sudo service docker start 执行结果如下图 也就是说无法启动,一直显示在启动中 遇到这种情况…...

Nginx反向代理配置+负载均衡集群部署

文章目录 负载均衡反向代理基础环境部署:什么是代理实验环境图流量过程 环境部署准备两台Web服务器安装Nginx准备页面内容添加主机名 代理服务器配置 修改windos hosts文件测试:终端浏览器 负载均衡反向代理基础环境部署: 什么是代理 正向代…...

设计模式行为型——迭代器模式

什么是迭代器模式 迭代器模式(Iterator Pattern)属于行为型模式,其提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示,即不需要知道集合对象的底层表示。编程环境中非常常用的设计模式。 迭代…...

K8s持久化存储(nfs网络存储)

数据卷 emptydir,是本地存储,pod重启,数据就不存在了,需要对数据持久化存储 1.nfs,网络存储 ,pod重启,数据还存在的...

常规VUE项目优化实践,跟着做就对了!

总结: 主要优化方式: imagemin优化打包大小(96M->50M),但是以打包速度为代价,通过在构建过程中压缩图片来实现,可根据需求开启。字体压缩:目前项目内引用为思源字体&#xff0c…...

PLL 的 verilog 实现

锁相环(PLL)是一种常用的频率、相位追踪算法,在信号解调、交流并网等领域有着广泛的应用。本文对全数字锁相环的原理进行介绍,随后给出 verilog 实现及仿真。 PLL 锁相原理 锁相环结构如下图所示,主要由鉴相器、环路滤…...

【Hystrix技术指南】(1)基本使用和配置说明

这世间许多事物皆因相信而存在,所以人们亲手捏出了泥菩萨,却选择坚定的去信仰它。 分布式系统的规模和复杂度不断增加,随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中,【熔断、隔离、降级、限流】是经常被…...

Oracle EBS OM客制化调用API创建销售订单非常慢(FND_FLEX_HASH死锁)

业务场景 由于Oracle EBS标准功的公司间关联交易操作涉及业务节点环节多,需要多个业务部门参考操作完成,浪费人力和花费时间。随着国内集团公司通过业务整合优化,大幅度减少间中很多环节的人为操作,如国内公司间贸易通过类似于客制化出货单申请方式,跨国公司间贸易通过类似…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...