图文解说S参数(进阶篇)

news2024/11/27 14:37:19

S参数是RF工程师/SI工程师必须掌握的内容,业界已有多位大师写过关于S参数的文章,即便如此,在相关领域打滚多年的人, 可能还是会被一些问题困扰着。你懂S参数吗? 图文解说S参数(基础篇) 请继续往下看...台湾同行图文独特讲解!

本文目录:

  1. 前言

  2. 个别S参数与串联S参数的差别

  3. 双埠S参数对地回路效应的处理

  4. 两个2-port S参数,有可能组成一个4-port S参数吗?

  5. 全3D模型的S参数,与分开的3D模型S参数串连的差别?

  6. Port阻抗的设定,对S参数本质上,与S参数的使用上,有没有影响?

  7. Export S参数模型时,有没有做port renormalize to 50 ohm,对使用S参数有没有影响?

  8. 问题与讨论

1. 前言

S参数是SI与RF领域工程师必备的基础知识,大家很容易从网络或书本上找到S,Y,Z参数的说明,笔者也在多年前写了S参数 -- 基础篇。但即使如此,在相关领域打滚多年的人, 可能还是会被一些问题困扰着。你懂S参数吗? 请继续往下看...

2. 个别S参数与串联S参数的差别

问题1:为何有时候会遇到每一段的S参数个别看都还好,但串起来却很差的情况(loss不是1+1=2的趋势)?

Quick answer : 如果每一线段彼此连接处的real port Zo是匹配的,那loss会是累加的趋势,但若每一线段彼此连接处的real port Zo差异很大,那就会看到loss不是累加的趋势,因为串接的接面上会有多增加的反射损失。

2.1 下图所示的三条传输线

Line1是一条100mm长,特性阻抗设计在50ohm的微带线,左边50mm,右边50mm。

Line2也是一条100mm长的微带线,左边50mm维持特性阻抗50ohm,但右边50mm线宽加倍,特性阻抗变 小到33。

Line3也是一条100mm长的微带线,左边50mm维持特性阻抗50ohm,但右边50mm线宽加倍,特性阻抗变 小到33,且呈135o转折。

观察Line1的S21发现,左右两段的S参数有累加特性

​观察Line2, Line3的S21发现, 整条线的S参数比起左右两段个别看的S参数之累加差一些

​问题2:为何各别抽BGA与PCB的S参数后,在Designer内串接看总loss,与直接抽BGA+PCB看S参数的结果不同?

Quick answer : 这与结构在3D空间上的交互影响,还有下port位置有时也有影响。

2.2 下图所示是两层板BGA封装,放上有完整参考平面的PCB两层板, 这是在消费性电子产品很常见的应用条件。

黄色是高速的差动对讯号,其在PCB上走线的部分,有很好的完整参考平面,但在BGA端则完全没有参考平面。

​HFSS 3D Layout模拟结果

3. 双埠S参数对地回路效应的处理

问题1:RLC等效电路可以估出讯号线与地回路每一段的RLC特性,但S参数却不行,原因是什么? S参数带有地回路的寄生效应吗?

Quick answer : RLC等效电路是terminal base model,而S参数是port base model,后者看的昰一个port的正负两端之间的差值。所以S参数虽然有含地回路(return path)寄生效应,但无法单独分离出地回路的影响。

问题2:在Designer汇入S参数模型时,可以选择该S参数的电路符号要不要有每一个port的reference ground (negative terminal),或是使用common ground,使用common ground是否表示把每个port的negative terminal短路,会忽略地回路的寄生效应吗?

Quick answer : 使用common ground,并不会把return path两端short,S参数本身已经内含地回路的效应。

4. 两个2-port S参数,有可能组成一个4-port S参数吗?

Quick answer : No. 一个2-port S参数,内涵2x2 (4) matrix单元,即S11, S12, S21, S22,而一个4-port S参数,需内涵4x4 (16) matrix单元。所以明显的,当有两条线的两个2-port S参数,并不足以充分且唯一定义一个4-port S参数,即这两条'之间'的近端耦合与远程耦合条件并未被定义。换言之,一个4-port S参数可以简化(reduce order)分离出两个2-port S参数,但反之不然。

5. 全3D模型的S参数,与分开的3D模型S参数串连的差别

常见的问题是:封装与PCB板单独抽S参数后,再于电路仿真软件串接S参数,这样的做法跟把封装与PCB直接在仿真软件中3D贴合抽S参数会有怎样的差异?

Quick answer : 封装与PCB间在Z轴上的空间耦合路径,只有把封装与PCB直接在仿真软件中3D贴合抽S参数时,才会被考虑。这样的做法当然是最准的做法,但需不需要每个案子都一定 非得这么做不可,其实取决于结构与带宽考虑。当这条路径的耦合效应影响,在您所设计的结构下,在一定带宽以上的影响不能被忽略时,就必须考虑。

6. Port阻抗的设定,对S参数本质上,与S参数的使用上,有没有影响?

Quick answer : 虽然renormalize不同的port阻抗,会得到不同的S参数曲线,但该N-port model所定义的物理效应本质上是相同的。所以对于model的使用,理论上没影响,但实际上 因为tool的transient analysis的数值处理能力(fitting ability)不同,有些时候有影响。

打个比方,在SIwave v4.0很早期的文件,会建议讯号的port阻抗设50ohm,而电源的port阻抗设0.1~1ohm,但目前的SIwave其实就不需要特别这么做,即你可以延续之前的设定习惯,或是全部都renormalize 50ohm,SIwave吐出的S参数代到Designer去用,都可以得到一样的结果。如果您使用其他的tool有遇到设不同的port阻抗,得到时域模拟结果不同的情况,建议您可以试试SIwave.

7.Export S参数模型时,有没有做port renormalize to 50ohm,对使用S参数有没有影

Quick answer : No

8. 问题与讨论

8.1 S参数无法汇入怎么办?

Ans:首先检查tool是否反馈任何错误讯息,再来以文本编辑器打开该S参数,检查其频点描述定义是否是递增排列(frequency monotonicity)。会出现这种乌龙错误,通常是有人手动编辑去修改S参数造成。

8.2 S参数因为port数过多导致模拟耗时怎么办?

Ans:遇到S参数模拟耗时,首先我会检查该S参数是否有passivity与causality issue,或是在Designer模拟过程中,注意看看是否在state-space fitting process卡很久。遇到多埠S参数,则试着转成state space model (.sss),仿真速度会加快不少,而透过SIwave或NdE转state space model的程序中,建议只勾enforce passivity,不用勾enforce causality,这样也会节省不少时间。(因为state space algorithm本身就满足primitive causality,所以不用担心其因果性问题)

​8.3 Toushstone1.0(TS1.0)与TS2.0主要有何差别?

Ans:TS2.0 (.ts)支持mixed reference impedance,而TS1.0 (.snp)每个port的reference impedance都要是相同的50ohm. 以SIwave为例:

​以Designer内NdE (Network Data Explorer)为例

​不管原本在SIwave或HFSS的port设定是否有指定renormalize,最后要export时还可以再决定要不要overwrite renormalize

8.4 Touchstone file可以设定noise data,那是什么东西,何时使用?

Ans:这是在TS1.0就有定义的功能,可以对Touchstone file附加noise data定义,一般用于主动组件的S参数模型

当你在Designer汇入S参数模型时,可以右键单击[Edit Model]检视noise data (如果有的话).

8.5 为何在2.2的例子,BGA与PCB各别S参数的loss累加(-0.29-0.8=-1.09)反而是比整个3D model一起看所得到的S参数(-1.06)来的差?

Ans:当BGA与PCB做3D结合的条件下去抽S参数时,此时原本没有参考平面的BGA上走线,会看到一些PCB上的平面透过solder ball所贡献的些微回流路径效应。这点我们也可以透过观察Z11(Z profile)来验证。

相关阅读:图文解说S参数(基础篇)

作者:信号完整性之旅

来源:图文解说S参数(进阶篇) - RFASK射频问问

关于RFASK射频问问

射频问问是在"微波射频网”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:RFASK射频问问 - 射频技术研发服务平台 | 技术问答、专栏文章、射频课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(三):集合、字典、哈希表

数据结构(三)一、集合(Set)1.封装一个集合类2.集合常见的操作(1)并集(2)交集(3)差集(4)子集二、字典(Map)三、…

Powershell Install SQL Server 2022

前言 SQL Server 2022 (16.x) 在早期版本的基础上构建,旨在将 SQL Server 发展成一个平台,以提供开发语言、数据类型、本地或云环境以及操作系统选项。 SQL Server Management Studio (SSMS) 是一种集成环境,用于管理从 SQL Server 到 Azure SQL 数据库的任何 SQL 基础结构…

nginx如何用html显示多个图片并加入播放链接

需求背景通过nginx来做个点播服务,ffmpeg截取视频中的某一帧作为视频的封面,前端页面展示这个封面,,并链接到对应的视频播放链接,加载播放器进行播放简单介绍一下ffmpeg截取视频中的某一帧的方式截取视频的第一帧&…

HashedWheelTimer

序言这种算法是一种轮询算法的优化升级,能够以只有一个Timer的情况下处理大量的定时任务.Begin结合HashedWheelTimer的思想根据自然时间1分钟为例,来做大批量的定时任务触发首先定一个长度为60的数组,数组中存放的是Set集合,集合里面是任务详情.当有定时任务刚来的时候判断是否…

死锁检测组件 -- 使用hook检测死锁

目录 hook hook是什么 dlsym()函数 hook的实现步骤 加入hook的demo C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 hook hook可以把系统或第三方库提供的函数,替换成我们写的同名函数。会调用我们实现的函数。 hook是什么 hook提供了两…

07-Java异常分类以及处理机制

1.异常概念 Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。 1.错误:是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示…

企业电子招采系统源码——信息数智化招采系统

​ 信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、…

Centos7.9安装GitLab

1、下载 Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载最新版本gitlab-ce-15.4.2-ce.0.el7.x86_64 2、安装基础依赖并启动 #安装依赖 yum install -y curl policycoreutils-python openssh-server postfix #配置开机启动 sys…

APP测试面试题汇总基础+进阶

目录 一、基础篇 1、请介绍一下,APP测试流程? 2、APP测试需要提前准备哪些测试资源? 3、APP测试和Web测试的区别? 1.系统结构方面 2.性能方面 3.兼容性方面 4、相对于 Wed 项目,APP有专项测试 5、Android手机和…

七种方式实现高并发秒杀

新建skill模块 pom依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.baomidou</groupId>…

@Intercepts为基础实现数据完整性保护

本文以Intercepts为基础&#xff0c;通过拦截器的方式拦截数据库操作包括query、insert、update、delete操作对数据的完整性保护。Intercepts是mybatis中的一个常用拦截器注解&#xff0c;表明当前对象是一个拦截器&#xff0c;当前类通过implements Interceptor实现Intercepto…

cuda性能分析工具

NVIDIA nvprof / nvvpNSight系列Nsight Systems本地使用远程使用结果分析Nsight Compute本地使用远程使用结果分析NVIDIA nvprof / nvvp 由2008年起开始支持的性能分析器&#xff0c;交互性好&#xff0c;利于使用记录运行日志时使用命令nvprof可视化显示日志时使用命令nvvp&a…

SpringCloud+Nacos+Gateway

SpringCloudNacosGatewaySpringBoot整合GatewayNacos一. 环境准备1. 版本环境2. 服务环境二. 实战1.创建用户服务2.创建订单服务3.创建网关服务4.测试三. 避坑指南问题1--503问题问题2--网关服务启动报错SpringBoot整合GatewayNacos 本篇文章只演示通过gateway网关服务访问其他…

【论文速递】MMM2020 - 电子科技大学提出一种新颖的局部变换模块提升小样本分割泛化性能

【论文速递】MMM2020 - 电子科技大学提出一种新颖的局部变换模块提升小样本分割泛化性能 【论文原文】&#xff1a;A New Local Transformation Module for Few-shot Segmentation 【作者信息】&#xff1a;Yuwei Yang, Fanman Meng, Hongliang Li, Qingbo Wu,Xiaolong Xu an…

SpringMVC(2)

一)接受到JSON格式的数据:使用RequestBody来进行接收 ResponseBody表示的是返回一个非页面的数据 RequestBody表示的是后端要接受JSON格式的数据 一)接收单个格式的JSON格式的数据&#xff0c;我们使用一个对象来进行接收 1)我们之前接受GET请求中的queryString中的参数的时候&…

读懂下文,安装数据库不再求人

想要数据存储必须要有数据库为支撑。在项目运行的时候也是要提前安装好并导入表结构和数据。通俗点来说&#xff0c;学会了万事不求人。 这里就整理了一份关于Windows和Linux系统下安装Mysql的操作命令。 Windows下安装MySQL 1、设置环境变量 设置环境变量是为了让你在任何…

小程序接口封装、异步加载、Promise

目录 1、页面准备 2、在app.js中处理当前环境以便切换api的环境、公共变量 3、定义post、get请求方法 request.js 4、api.js 接口列表调用index.js的post、get请求 5、index.js 需要返回数据的页面 api.js 、index.js 示例 异步实现 async、await 1、页面准备 目录结构…

JAVA 常用类型之String结构

String在java中我们是用来操作字符串的&#xff0c;但它的底层结构确是一个char[]数组&#xff0c;通过数组的方式将每个字符进行保存。 使用时&#xff1a;String str"ABCD"&#xff0c;内部存value确是&#xff1a;value[A,B,C,D]; 如下图&#xff1a; 参考String源…

七大排序算法的多语言代码实现

文章目录 前言 一、排序算法 1.原理简述 2.分类与复杂度 二、实例代码 1.冒泡排序 C Python Java Golang Rust Dephi 2.选择排序 C Python Java Golang Rust Dephi 3.插入排序 C Python Java Golang Rust Dephi 4.希尔排序 ​编辑 C Python Java Gola…

Linux网络技术学习(五)—— 网络设备初始化(I)

文章目录什么时候进行的设备初始化&#xff1f;设备注册和初始化NIC&#xff08;网卡 Network Interface Card&#xff09;初始化的基本目标设备与内核之间的交互硬件中断中断类型传送节流方式为了改善效率中断共享IRQ处理函数映射的组织irqaction结构体存储方式什么时候进行的…