【射频仿真学习笔记】变压器参数的Mathematica计算以及ADS仿真建模
变压器模型理论分析
-
对于任意的无源电路或者等效电路,当画完原理图后,能否认为已经知道其中的两个节点?vin和vout之间的明确解析解
-
是否存在一个通用的算法,将这里的所有元素都变成了符号,使得这个算法本身就是一个函数,这个函数本身输入就是两个节点的net名称或电流电压名称。输入进去之后,输出就是其函数解析解的表达式了。令这个表达式为0就可以求出其零点和极点了呢?(答案是可以的)
-
在kicad软件上画出电路图
-
然后导出网表
-
导出之后就可以运行跑了
-
因为这里引入了这个程序,所在网表的位置
-
这个软件是maxima,是跟mathematica是一样的工具。
-
首先加载了电路的元件,把电路的网表输入进去。
-
任何电路都是可以用网表的形式呈现的。
-
然后是引入器件
-
ckt是网表默认的名称,是得sycira(ckt)读出来的东西赋值给sys变量。
-
sys将电路网表翻译成了矩阵方程。
-
其中第一大项是所有的方程,第二大项是待求解的变量
-
求解完成后,就变成了所有可能得解析解的排列组合
-
然后solve这个sys变量。sys是根据基尔霍夫定律求解的。
-
求解的算法是modify node analysis(mna),这个东西可以解出各种解析解。
-
然后就自动求解方程了。
-
冒号:表示的是赋值
-
G是电路图(graph)
-
ev是创造子变量空间,在这里面列的就可以定义为表达式子
-
sol[1]是求解完后的第一项。
-
这相当于是在求解Z21
-
然后将其化简,vin除以Iin。
-
这里先把vin的表达式提取出来,因为Iin是一个已知的量,且vin的里面是含有Iin的。
-
这样就可以得到Z21
-
这里做了假设,s=jw
-
%i就表示虚数j
-
这里在求解realZin=50,和imagZin=0
-
letsimp就是把某个假设用在表达式中
-
%o6是第六行的输出
-
也就是令L1和L2等于下面这个表达式
-
最后可以解出和k有关的Z21
-
然后一键求解L1和L2
-
这样就能实现以k为自由变量去求解。
-
问题:是否任何一个电路都可以用类似的算法求出任何的解析解。
-
电路能求解析解是因为计算机把电路翻译成了网表,网表翻译成了矩阵。进一步的疑问是,在任何一个这样的符号矩阵中,是否都存在解,如果存在解的极限是什么。换句话说,如果有一个nxn的矩阵,求解这样矩阵的逆,
- 这里表达式好像打错了
输入匹配案例模型
- 对于这个电路图的Z21
- Z32发生了变化
- 如果将alpha的值变大,影响就会进一步加大。
- 将alpha1改为0.1e10
- 将alpha1改为0.1e10
- 这时候影响就不可忽略了
- 蓝色的斜线是建的最优值model,其物理意义是考虑了初级和次级线圈的内阻情况下,相对于不考虑内阻的极限值的区别。换句话说,就是把两个内阻通过电路变换的形式转移到源阻抗和负载阻抗上了,以修正了对链路预算最大值的评估。
- 这条斜线是如何修正从不带Ra和Rb到带上Ra和Rb的呢?
- 也就是下面这个式子是如何来的?
- 这包括了两部分,一个是对R2的修正,一个是对R1的修正。其中这个R2就是Rgs
- 将管子作为一个黑盒子,所能达到的输出,如果已经做了逆提取的话,真正抽出来的节点是R2和Cgs之间的节点,这个时候的表达式就不一样了。
- 按照这个式子得到的是这个电路图
- 从下图中的的红色虚线平面进行推导,根据阻抗匹配定理,由于S11等于0,约等于50欧姆那一侧的Ra左侧等于0,忽略反射系数的影响,一个端面匹配则另一个端面也匹配(共轭传播定理),等于L2的右侧(也就是Rb的左侧)也是共轭的,从共轭到共轭,能量没有损耗。
- 这样变压器就满足能量守恒,I1^2R1=I2 ^2R2
- 推导最优值的Z21,从Is开始推导,(先忽略Ra),Is如果在Ra左侧就匹配了,那么就有一半的电流流向变压器,则变压器上的I1等于1/2的Is,若想知道输出的电压,我们只需要推导出I2即可,因为次级的表达式和符号都是已知的,而次级的R2和Cgs是产生了Vout。
需要完成的任务
- 版图中提取变压器参数alpha和beta,使得寄生电阻RL=alphaL,寄生电容CL=betaL
- 不考虑初级线圈,初级线圈的电容吸收到初级电感中,只提取出次级线圈的寄生电阻和电容
- 需要我们先画出pcell,然后做逆提取。要做出两部分,一部分是精确的模型,一部分是design based的模型。再用design based的模型跟端口阻抗等效电路(Rg和Cg)做一个联合仿真分析,并在其中找到最优解。
- 通过逆提取得到alpha和beta值
- 先提取出来,再去吸收。
- 初级线圈的Ra先要被考虑,在这基础上再加上π网络。
- 先用下面这个电路做出来,然后再去吸收。
- 这样拟合相当于是model vs em。
- 然后把C7在一个频带上吸收到初级线圈L1里,即对L1进行了一次数值修正,让其在5G频带以内是准确的。
- 然后不管Ra
- 然后看Cc(即C6)要如何处理。Cc可以适当的吸收到k里面,因为k在正常情况下是不能随着频率变化的。
- C8是不能忽略的
- 最终吸收成这样的模型,并用这个简化模型去求解析解和数值解,这样就完成了整套东西。
- 要画出横轴是k,纵轴是Z21的曲线。或者横轴是频率,参变量是k。
- 变压器的sp文件仿真参考这篇博客
链接: 基于ADS的电感和变压器的建模过程 - 即初级线圈是单端激励,次级线圈是差分激励
笔记一
- 只有在Q的峰值前那段感值曲线仿真出来的才是线性的,越靠近Q的平面越不可能是常数
- 在变压器中,我们不可能将其用在谐振频率上面,
需要参考的论文
- 上面的这个建模方法思路是很不错的,但是比较复杂,这里我们可以参考一篇博士论文《硅基毫米波无源器件建模及锁相环设计_高宗智》
- 查看论文的3.3.3节
- 使用这下面的式子
- 如果考虑中心抽头的影响,我们指导在VCO变压器中共模是不可忽略的,中心抽头加上偏置线,用这种design based是不准的。
- 下面这篇论文提供了另一种思路
- 如果往第3、6、4端口(即次级线圈的三个端口)加入同样大小的电压源时候,它到P1端口的所有耦合就可以被计算出来,因为它整个都是等电位的,当地3、6、4端口都等电位的时候,电感的支路就不起作用了。
- 这种方法通过解方程的手段,在把电路进行拆解,使得到中心抽头的耦合都可以被考虑。
笔记二
实际变压器仿真效果
- 在这里,使用顶层M9,底层两圈的M8,
- 在仿Z参数的时候,需要有一个加入对地的阻抗值
- 另一个是需要单独看反射系数的图
- 在这里设定了Z21为dBZ54
- L1是初级线圈(160pH),L2是次级线圈(900pH),L2已经把自谐振电容Cc吸收进去了,所以它不会是一个频变的值。在这里实现了1:6,利用了次级线圈的自谐振电容,将电感感值峰化了,增加了电感等效感值,使得左侧到右侧可以实现非常夸张的阻抗变换。
- 如果初级使用M9,而次级使用M8,电阻R的值会变得特别夸张,到十几欧姆了,所以不能忽略次级线圈的电阻。
- 如果只关注S11的话,相当于用R2做匹配,如果R2被归纳到Rg中,Q=1/RC,那么Q就变小了,S11就更好匹配了。这是用M8的R2起到的效果。
- 然后,我们把频率范围变得更大来观察。
- 由于初级线圈和次级线圈的谐振频率是相关联的,所以在60GHz就谐振了。
- 初级线圈有一侧接地的话,那么其谐振频率就会下降,因为有一侧的电容消失了。
- 初级线圈半径75,次级线圈半径105,间隔8
- 搭建好这样的电路后,先进行手调。得到Z21和S11的结果,及变压器内部的参数性质。先实现在28-30G匹配,2-3GHz的带宽
- 负载统一用下面取值的负载。
- 可以比较一下,初级用M9和用M8的区别是什么。
- 调出来之后,进行反提取。按照design based的建模方法,得到L1L2kCcC1C2,在10-20GHz的频带上与电磁仿真的结果曲线有什么区别。
- 第二步进行scable变换,以这个为中心,对变压器尺寸进行展开,稍微展开几组,在这个范围内去看alpha和beta变化的范围大不大,能否用线性函数做拟合。然后回纠结,能否把表达式写进去,如果他不是线性写起来会非常复杂。
- 这时候可以打开Help的ANN,然后自己去百度搜教程
- 这样就可以逐渐具备把建立的模型用于设计了。