【Cadence射频仿真学习笔记】2.4GHz低噪放LNA仿真设计
- 课程分为3个部分,
一、LNA结构与噪声优化方法
- 噪声优化的方法是:限定功耗的噪声和功率同时匹配
- 噪声匹配和功率匹配一般不会同时达到,
- 对于PCSNIM结构的噪声分析,我们只需要了解与哪些参数有关
- 优化思路是:
- 1.信号源阻抗是50欧姆,因此我们要设计最佳信号源阻抗的实部为50欧姆,并使得虚部为0.这样就达到了噪声匹配
- 2.实现功率匹配:输入阻抗的实部等于50欧姆,输入阻抗的虚部为0。
- 可以看到这里面一共有4个方程5个未知数。因此我们可以先确定功耗在去优化参数,然后去满足这四个方程。
- 这时候就可以体现出栅源并联电容Cex的作用了,假如没有这个Cex,虽然也可以去达到功率匹配,但是这个时候功耗Id就被限定住了。
- 所以Cex的引入为设计增加了自由度。
二、设计指标与设计步骤
三、仿真实践
1. 选择合适尺寸的mos管,搭建偏置电路
-
打开virtuoso
-
加入mos管
-
搭建偏置电路
-
隔直电容和电感值要取大一些
-
然后我们要初步确定mos管的尺寸
-
栅长要选择本工艺的最小栅长。这里的设计与运放的设计不太一样,在运放中会把栅长取的很长来获得一个大的增益,LNA中一般把栅长选的最小,使得寄生电容最小,使截止频率达到最大,追求最大的开关速度。
-
每个finger的宽度我们要选取适中,宽度太大或者宽度太小都不可以。如果单个finger宽度太大的话,会引入很大的栅极串联电阻
-
我们可以从版图的角度考虑这一点
-
如果单个finger的宽度取的特别大,那么就会引入很大的栅极串联电阻,因此我们需要用finger的方式,把总的栅宽给分摊下来,使得栅极串联电阻减小。
-
另一方面,如果单个栅宽取的过短的话,我们达到同样的总栅宽就需要很多个finger,由于这些finger最后都需要通过金属连线给连接起来,这样就会使得连线非常复杂,还引入了一些寄生电容和寄生电阻。
-
因此单个finger的栅宽要适中,不能太大也不能太小,这里先选择3um
2.选择合适的VGS,使得NFmin最小
-
接下来打开仿真环境。
-
点击Tests,选择刚才绘制的原理图
-
然后加入仿真的变量
-
设置变量的初始值
-
然后运行SP仿真
-
去扫描VGS,找到一个最佳的NFmin
-
这里要把噪声的选项勾选上
-
运行仿真结束后,查看NFmin
-
从图中找到NFmin最小的时候对应的VGS
-
大概是在650mV左右
-
修改初始变量的值
3. 根据功耗要求,确定mos管尺寸
- 也就是确定finger数量,把总栅宽给确定下来。
- 由于前面的设计指标说了,设计的直流电流要小于5mA
- 那么接下来我们就扫描直流电流Ids与finger的关系曲线,然后来确定finger的数量
- 先跑一遍dc仿真,以便于后面把它的直流信息给展示出来。
- 然后我们点击Tools-> Results Browser
- 把管子的漏电流给展示出来
- 点击dcOpInfo
- 找到Id,也就是漏电流,假如到Calculator中
- 然后再送到ADE中
- 将其命名为Id
- 接下来扫描Id与fingers的关系
- 然后点击这里添加扫描参数
- 点击mos管,找到finger变量
- 找到finger变量,并创建变量
- 然后就可以看到finger变量就到这来了
- 然后运行扫描
- 然后就能弹出Id随fingers的曲线
- 由于我们要求电流小于5mA,所以我们选择略小于5mA的电流对应的fingers
- 如果电流选择太小的话,可能会导致后续的其他指标恶化,比如会导致增益上不去。
- 这样就确定下fingers了
4. 选择Cex,使满足Re[Zopt]=Rs=50Ω
- 选择栅源并联电容Cex,使最佳信号源阻抗的实部等于50欧姆
- 然后设置SP,将扫描变量换成Cex
- 然后查看Gmin,即最佳噪声反射系数。也就是说当最佳噪声系数达到信号源阻抗,即最佳信号源阻抗,也可以说是最佳反射系数。
- 我们要找到实部等于50欧姆的点,也就是这条曲线和50欧姆等电阻圆相交的点,
5. 选择Ls,使满足Re[Zin]=Rs=50Ω
- 添加源极串联电阻
- 因为要使输入阻抗等于50Ω,我们查看输入阻抗的S11曲线
- 我们需要找到50欧姆的等电阻圆与这条曲线相交的Ls
6. 选择Lg,使得Im[Zin]=Im[Zopt]=0Ω
- 添加栅极串联电感Lg
- 添加扫描变量Lg
- 然后回到仿真设置,把SP扫描变量改为none
- 仿真S11和Gmin,以Append的方式显示图像
- 找出靠的最近的S11和Gmin
- 然后确定下了所有参数
- 然后查看S11的情况
- 然后看NF和NFmin的曲线
- 它们在某个频点处非常接近
- 这样我们就把输入匹配给做好了
7. 根据隔离度,噪声和增益需求,考虑添加共源共栅管
- 如果需要得到更大的增益的话,可以添加一个共源共栅管来增大其增益,并增强其隔离度,
- 同时还要考虑电源电压,如果电源电压太低了,则共源共栅就不是一个很好的选择。
- 这里以共源共栅为例做示范,共栅管的尺寸与共源管尺寸相同,其栅极直接连接到电源电压上,
8. 选择负载电感Ld,考虑电感并联损耗电阻,即增益的影响
- 我们需要考虑电感的并联损耗电阻Rp=2pifLdQ,Ld对增益的影响(Gm*Rout),Rout就等于电感的并联损耗电阻。
- 可以发现前面输入匹配的电感和电容都是理想的电感,实际的这些参数都是有所偏离的,
- 这里以实际的电感为例,采用工艺库的
- 先选取一个5nH的电感
- 用实际电感把理想电感给替换掉
9. 设计输出匹配网络,使得输出阻抗为50Ω
- 扫描SP,不扫描任何一个点,只看2.4G输出阻抗在哪里
- 查看S22
- 输出阻抗的这个点,表示其在感性区,在原理图中,从port往里看,就是电感和共栅管的输出阻抗的并联。
- 这里我们可以并联一个电容,沿着等电导圆到达50欧姆的等电阻圆,然后再串联一个电容,使其达到smith圆的圆心。
- 首先并联一个电容,将其变量设为C1
- 然后再SP中扫描这个电容
- 我们找到S22与等电阻圆的交点,可得并联电容值为244fF
- 然后我们再串联电容,这里不需要额外再添加了,因为这里输出端有一个隔直电容,我们只需要扫描这个隔直电容的值即可。
- 找到圆心点对应的电容容值为347fF
10. LNA整体性能仿真
- 主要查看S参数和NF
- S11是输入匹配,S12是反向增益(反向隔离度),S21是正向增益(查看3dB带宽和中心频率),S22是输出匹配
- 噪声系数NF,在全频段内没有超过1dB
- 稳定性kF,我们不能仅仅在工作频段内扫描,我们需要从直流扫描到一个很高的频率,以确保其稳定性都能得到满足,每个频率内都不会发生振荡。
- 稳定性查看kF和B1f
- 在全频段内,我们要保证kF大于1,B1f要大于0
相关文章:
【Cadence射频仿真学习笔记】2.4GHz低噪放LNA仿真设计
课程分为3个部分, 一、LNA结构与噪声优化方法 噪声优化的方法是:限定功耗的噪声和功率同时匹配噪声匹配和功率匹配一般不会同时达到, 对于PCSNIM结构的噪声分析,我们只需要了解与哪些参数有关优化思路是:1.信号源阻抗…...
初阶MySQL(两万字全面解析)
文章目录 1.初识MySQL1.1数据库1.2查看数据库1.3创建数据库1.4字符集编码和排序规则1.5修改数据库1.6删除数据库 2.MySQL常用数据类型和表的操作2.(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型 2.(二)表的操作1查看指定库中所有表2.创建表 3.查看表结构和查看表…...
Python每日一练:学习指南进行汇总
Python,一种“优雅”、“明确”、“简单”的编程语言,凭借其低学习曲线、强大的开源生态系统、卓越的平台可移植性以及面向对象和函数式编程的支持,成为了众多开发者首选。 01 Python 应用领域和就业形势分析 Python,一种“优雅…...
Spring-AI搭建企业专属知识库 一
环境介绍:Spring3.3.2 JDK 21 POM文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…...
Python的那些事第三十六篇:基于 Vega 和 Vega-Lite 的数据可视化解决方案,Altair 声明式可视化库
Altair 声明式可视化库:基于 Vega 和 Vega-Lite 的数据可视化解决方案 摘要 在数据科学和分析领域,有效的数据可视化是理解数据、发现模式和传达见解的关键。Python 作为数据科学的主要编程语言之一,提供了多种数据可视化库。其中,Altair 是一个基于 Vega 和 Vega-Lite 的…...
虚拟化园区网络部署指南
《虚拟化园区网络部署指南》属于博主的“园区网”专栏,若想成为HCIE,对于园区网相关的知识需要非常了解,更多关于园区网的内容博主会更新在“园区网”专栏里,请持续关注! 一.前言 华为CloudCampus解决方案基于智简网络…...
系统调用有哪些函数
系统调用是操作系统提供给用户程序的一组“特殊”的函数接口,允许用户程序请求操作系统执行某些低级服务。这些服务通常涉及对硬件的直接操作或访问受保护的内核资源。以下是一些常见的系统调用函数,主要基于Unix/Linux环境: 一、文件与设备…...
Go红队开发—编解码工具
文章目录 开启一个项目编解码工具开发Dongle包Base64编解码摩斯密码URL加解密AES加解密 MD5碰撞工具开发 开启一个项目 这作为补充内容,可忽略直接看下面的编解码: 一开始用就按照下面的步骤即可 1.创建一个文件夹,你自己定义名字(建议只用…...
PyInstaller 打包python 程序 成 可执行文件
pyinstaller --onefile --name my_project --add-data "config/config.json:config" main.py 要将整个 Python 项目打包成一个可执行文件,可以使用 PyInstaller 来完成这个任务。以下是如何将整个项目打包成可执行文件的步骤: 1. 安装 PyIns…...
2继续NTS库学习(读取shapefile)
引用库如下: 读取shapefile代码如下: namespace IfoxDemo {public class Class1{[CommandMethod("xx")]public static void nts二次学习(){Document doc Application.DocumentManager.MdiActiveDocument;var ed doc.Editor;string shpPath …...
Python爬虫
python凭借其简洁的语法和强大的库支持,成为编写爬虫程序的首选语言之一。今天,我将通过一个简单的示例,带你入门Python爬虫,并展示如何爬取网页内容并保存到文本文件中。 一、爬虫的基本概念 爬虫(Web Crawler&#…...
C++蓝桥杯基础篇(六)
片头 嗨~小伙伴们,大家好!今天我们来一起学习蓝桥杯基础篇(六),练习相关的数组习题,准备好了吗?咱们开始咯! 第1题 数组的左方区域 这道题,实质上是找规律,…...
rust学习~tokio的io
await Suspend execution until the result of a Future is ready. 暂停执行,直到一个 Future 的结果就绪。 .awaiting a future will suspend the current function’s execution until the executor has run the future to completion. 对一个 Future 使用 .awa…...
JVM--虚拟机
JVM,即虚拟机,可以简单理解为将字节码文件翻译成机器码的机器。 .class文件-->机器码文件 JVM整体组成部分 1.类加载器 负责从磁盘中加载字节码文件到JVM中 2.运行时数据区 按照不同的数据分区进行存储(方法区,堆,栈,本地方…...
【Unity】把Texture的黑色背景改成透明背景
1. 在Project窗口中选择目标Texture 2. 在Inspector窗口中进行如下设置: Texture Type: Sprite (2D and UI)Alpha Source: Input Texture Alpha (如果原图有Alpha通道) 或 From Gray Scale (如果要用灰度值作为透明度)Alpha Is Transparency: ✓ (勾选) 3. 其他建…...
计算机毕业设计SpringBoot+Vue.js华强北商城二手手机管理系统 (源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
利用 Python 爬虫进行跨境电商数据采集
1 引言2 代理IP的优势3 获取代理IP账号4 爬取实战案例---(某电商网站爬取)4.1 网站分析4.2 编写代码4.3 优化代码 5 总结 1 引言 在数字化时代,数据作为核心资源蕴含重要价值,网络爬虫成为企业洞察市场趋势、学术研究探索未知领域…...
Android中使用Robolectric测试点击事件(不需要手机)
文章目录 一、前言二、简单示例三、参考文档 一、前言 Robolectric 是一个由 Google 维护的开源 Android 测试框架,它允许你以 Android 运行时环境运行单元测试。 Robolectric 提供了一个模拟 Android 运行时环境,允许你测试你的代码是否正确地使用 And…...
如何把网络ip改为动态:全面指南
在数字化时代,网络IP地址作为设备在网络中的唯一标识,扮演着至关重要的角色。随着网络环境的不断变化,静态IP地址的局限性逐渐显现,而动态IP地址则因其灵活性和安全性受到越来越多用户的青睐。那么,如何把网络IP改为动…...
文件描述符与重定向
1. open系统调用 在 Linux 中, open() 系统调用用于打开一个文件或设备,并返回一个文件描述符,通过该描述符可以进行文件读写操作。open() 可以用于创建新文件或打开已存在的文件,具体行为取决于传递给它的参数。 需要包含的头文件…...
自然语言处理NLP入门 -- 第六节命名实体识别
1 什么是命名实体识别? 在日常生活中,我们经常会遇到这样的情景:希望从一大段文本中,快速找出所有的人名、地名、组织机构名称、日期、时间等关键信息。举个例子,如果你在阅读一篇关于历史事件的新闻报道时࿰…...
Windows PicPick Professional-v7.3.2-中文版
Windows PicPick Professional-中文版 链接:https://pan.xunlei.com/s/VOKGwGVGWUDl7L8cW4D1A1W4A1?pwdw5qz# - 更新了中文翻译,默认取消检测升级,删除多国语言...
Hue UI展示中文
个人博客地址:Hue UI展示中文 | 一张假钞的真实世界 如果使用开发分支代码如master分支)编译安装,需要自己编译语言文件。例如Hue安装目录为“/opt/hue”,则安装后执行以下命令: $ cd /opt/hue $ make locales 如果…...
【Unity】AI Navigation自动寻路(导航)功能
1.简介以及安装AI Navigation 1.1 简介 AI导航包包含高级组件,允许你在游戏中使用导航网格来整合导航和寻径。有了这个包,你可以在运行时和编辑时构建和使用导航网格,创建动态障碍,并使用链接来允许特定的动作(如跳跃…...
网络安全员证书
软考网络安全员证书:信息安全领域的黄金标准 随着信息技术的飞速发展,网络安全问题日益凸显,网络安全员的需求也日益增加。软考网络安全员证书作为信息安全领域的黄金标准,对于网络安全从业者来说具有重要意义。本文将详细介绍…...
2.你有什么绝活儿?—Java能做什么?
1、Java的绝活儿:要问Java有什么绝活,我觉得它应该算是一位魔法师,会的绝活儿有很多,要说最能拿得出手的当属以下三个。 1.1 平台无关性:Java可以在任何地方施展魔法,无论是Windows、Linux还是Mac…...
使用 ASP.NET Core 创建和下载 zip 文件
对于最近的一个功能,我必须从用 ASP.NET Core 编写的内部网站下载一批文件。在下载文件之前对其进行压缩,结果证明这是一种轻松实现多文件下载的好方法。.NET 提供了所有需要的功能,在本文中,我将向您展示如何实现它。 首先&#…...
数据结构之队列
一、队列的概念 队列是一个有序列表,可以用数组或者是链表来实现的。遵循的是先入先出的原则,就是先存入队列的数据要先取出,后面存的需要后面取出。插入的一端称为队尾,删除的一端称为队头,队列里没有元素就称它为空…...
微信小程序读取写入NFC文本,以及NFC直接启动小程序指定页面
一、微信小程序读取NFC文本(yyy优译小程序实现),网上有很多通过wx.getNFCAdapter方法来监听读取NFC卡信息,但怎么处理读取的message文本比较难找,现用下面方法来实现,同时还解决几个问题,1、在回调方法中this.setData不更新信息,因为this的指向问题,2、在退出页面时,…...
【Godot4.3】自定义简易菜单栏节点ETDMenuBar
概述 Godot中的菜单创建是一个复杂的灾难性工作,往往无从下手,我也是不止一次尝试简化菜单的创建。 从自己去年的发明“简易树形数据”用于简化Tree控件获得灵感,于是尝试编写了用于表示菜单数据的EasyMenuData类,以及对应的纯文…...
win7电脑上最好安装 Python什么版本?
李升伟 整理 在 Windows 7 上安装 Python 时,需考虑系统兼容性和安全性。以下是具体建议: --- ### **推荐版本:Python 3.8.x** 1. **兼容性** Python 3.8 是最后一个官方支持 Windows 7 的版本(需安装系统更新至 **SP1** …...
苍穹外卖-阿里云OSS文件上传
苍穹外卖-阿里云OSS文件上传 一、阿里云OSS简介**获取AccessKey**获取enpoint 二、代码实现1 引入依赖2 定义OSS相关配置2.1 application-dev.yml2.2 application.yml 3 读取OSS配置3.1 AliOssProperties 4 生成OSS工具类对象4.1 AliOssUtil4.2 OssConfiguration2.5 CommonCont…...
一周热点:基于向量的推理,而非文本
背景介绍 大型语言模型(LLMs):大型语言模型(如GPT-2)可以通过生成思维链(CoT)来提高性能。CoT是将回应提示的过程分解为一系列步骤的中间文本标记。然而,大部分CoT文本旨在保持流畅性(例如“a”、“of”、“we know that”),而非推理(例如“a + b = c”)。这导致了…...
Tagr 5 for Mac v5.8.0 [MAS] 音频标签编辑工具 支持M、Intel芯片
Tagr 5应用介绍 Tagr 5 是一款功能强大的音乐标签编辑工具,专为macOS用户设计。它旨在帮助用户高效地管理和编辑音乐文件的标签(Metadata),尤其适合那些有大量音乐文件的用户。通过Tagr 5,用户可以轻松地编辑和更新音…...
【linux】详谈 环境变量
目录 一、基本概念 二、常见的环境变量 取消环境变量 三、获取环境变量 通过代码获取环境变量 环境变量的特性 1. getenv函数:获取指定的环境变量 2. environ获取环境变量 四、本地变量 五、定义环境变量的方法 临时定义(仅对当前会话有效) 永…...
【PyQt5】python可视化开发:PyQt5介绍,开发环境搭建快速入门
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
数据结构1-4 队列
一、队列是什么? 先举一个日常例子,排队买饭。 排队买饭 大家按先来后到的顺序,在窗口前排队买饭,先到先得,买完之后走开,轮到下一位买,新来的人排在队尾,不能插队。 可见&#x…...
地弹与振铃
地弹(Ground Bounce)和振铃(Ringing)是数字电路中常见的信号完整性问题,两者都与高速开关和寄生参数有关,但表现形式和成因不同。以下是它们的对比及解决方法: 1. 地弹(Ground Bounc…...
单一职责原则(设计模式)
目录 问题: 定义: 解决: 方式 1:使用策略模式 示例:用户管理 方式 2:使用装饰者模式 示例:用户操作 方式 3:使用责任链模式 示例:用户操作链 总结 推荐 问题&a…...
蓝桥杯深秋的苹果
题目 当深秋的苹果树丰收时,村庄的居民们兴致勃勃地采摘着红彤彤的苹果。他们将采摘下来的 NN 个苹果排成了一排,形成了一个苹果序列 AA,第 ii 个苹果的甜度值为 AiAi(1≤i≤N1≤i≤N)。 现在村民需要将苹果序列划…...
【网页视频背景闪烁问题分析与解决方案】
网页视频背景闪烁问题分析与解决方案 现象描述 在开发带有视频背景的网页时,我们遇到了一个棘手的问题:当用户滚动页面时,视频背景区域会出现明显的闪烁现象,具体表现为: 文字内容会突然变亮或变大视频背景会突然变…...
Server 6 ,VMware 解析,ESXi 与 Workstation 应用指南(VMware ESXi 与 VMware Workstation)
目录 前言 一、VMware公司介绍 二、主要产品和技术 2.1 服务器虚拟化 2.2 桌面虚拟化 2.3 网络虚拟化与安全 2.4 云管理平台 2.5 存储与可用性 三、VMware ESXi 3.1 ESXi 是什么“超级神器” 3.2 安装与网络配置如何掌握 3.3 访问与管理如何玩转 3.4 下载地址与官网…...
今天你学C++了吗?——string(上)
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...
使用通义万相Wan2.1进行视频生成
使用通义万相Wan2.1进行视频生成 源代码准备运行环境准备创建Python虚拟环境并激活安装依赖包 模型下载生成视频官网的视频生成例子简单描述场景视频生成示例详细描述场景视频生成示例 最近通义万相开源了其视频生成模型。模型有两个版本,一个是1.3B的,一…...
Windows在多网络下指定上网接口
Windows在多网络下指定上网接口 一、说明 设备情况:win11,同时连接了有线网和WLAN,有线网连接着NAS必须保持连接。需求:有些情况时,有线网无网络而WLAN有网,但系统仍走着有线导致无法上网。 二、方法 过…...
前端正则表达式完全指南:从入门到实战
文章目录 第一章:正则表达式基础概念1.1 什么是正则表达式1.2 正则表达式工作原理1.3 基础示例演示 第二章:正则表达式核心语法2.1 元字符大全表2.2 量词系统详解2.3 字符集合与排除 第三章:前端常用正则模式3.1 表单验证类3.1.1 邮箱验证3.1…...
【愚公系列】《Python网络爬虫从入门到精通》038-SQLite数据库
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
npx degit 问题:could not fetch remote...
问题与处理策略 问题描述 npx degit dream-num/univer-sheet-start-kit univer-sheet-start-kit执行上述指令,报如下错误 ! could not fetch remote https://github.com/dream-num/univer-sheet-start-kit ! could not find commit hash for HEAD# 翻译无法获取远…...
空投与转账:Solana代币核心概念及代码实战精解
目录 1.空投和转账概念 1.1.空投(Airdrop) 1.2.转账(Transfer) 2.Solana 代币创建与空投核心代码总结 2.1. 代币创建核心代码 2.2. 添加元数据核心代码 2.3. 空投代币核心代码 3.效果图展示 1.空投和转账概念 1.1.空投(Airdrop) 创建新代币: 空投是铸造(Mint)新代币…...
Rust~tokio的AsyncRead
AsyncRead trait 定义 介绍 /// This trait is analogous to the [std::io::Read] trait, but integrates with /// the asynchronous task system. In particular, the [poll_read] method, /// unlike [Read::read], will automatically queue the current task for wakeup…...