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

ADS学习笔记(三) 瞬态仿真

参考书籍:见资源绑定,书籍3.4 瞬态仿真
ADS2020版本实验步骤参考链接:https://mp.weixin.qq.com/s/tW9LVwYw5Nlax2j7QK-KJw

本文为对实验内容的补充

瞬态仿真放大倍数与交流仿真不一致

为什么对同一个BJT电路进行交流信号仿真和进行瞬态仿真,得出交流信号仿真的放大倍数是3.422,当时瞬态仿真放大倍数只有3.1(如下图所示)?

电路图:
image-20250525204238011

仿真结果

image-20250525204721373

原因

其主要原因通常归结于这两种仿真方法的根本区别以及电路的非线性特性:

  1. 交流小信号分析 (AC Analysis) 的线性化假设:

    • 小信号模型:AC分析是在电路的直流工作点 (DC Operating Point) 附近进行的一种线性化分析。它首先计算出电路中所有非线性器件(如BJT)的直流偏置状态,然后用它们在该工作点附近的小信号等效模型替代这些器件。例如,BJT会被替换为一个由跨导 ( g m g_m gm)、输入电阻 ( r π r_{\pi} rπ)、输出电阻 ( r o r_o ro) 等线性元件组成的模型。
    • 无限小信号:AC分析理论上假设所施加的交流信号是无限小的 (infinitesimal),因此器件的响应完全是线性的,不会产生谐波失真,增益在该工作点是一个确定的值。图右中的 gain_main = 3.422 就是在这种理想线性小信号条件下的增益。
  2. 瞬态分析 (Transient Analysis) 的非线性行为:

    • 完整非线性模型:瞬态分析则是随时间求解电路的非线性微分方程。它使用器件(如BJT)的完整非线性大信号模型。这意味着它会考虑器件在实际信号幅度下的所有非线性效应。
    • 实际信号幅度:在上面的瞬态仿真中,输入信号 vin 的幅度是 Amplitude=10 mV。虽然10mV在某些情况下可能被认为是“小信号”,但对于BJT的指数型 I C − V B E I_C-V_{BE} ICVBE 特性来说,这个幅度的信号可能已经足以让晶体管展现出一定的非线性行为。
      • 从瞬态仿真图(图左)来看,输入信号 vin (红色波形) 峰值是10mV,输出信号 vout (蓝色波形) 峰值大约是31mV (根据标记 m1: vout=0.031,即31mV)。
      • 因此,瞬态仿真中观察到的电压放大倍数约为 31 m V / 10 m V = 3.1 31mV / 10mV = 3.1 31mV/10mV=3.1
  3. 非线性导致的增益差异:

    • 增益压缩/扩展:当实际信号幅度(瞬态仿真中的10mV)驱动BJT时,其有效跨导 ( g m g_m gm) 可能不再是直流工作点处计算得到的那个恒定的小信号值。如果信号摆幅使得BJT进入轻微的饱和区或截止区边缘,或者仅仅是由于其 I C − V B E I_C-V_{BE} ICVBE 曲线的非线性,都可能导致增益压缩 (gain compression),即实际大信号下的增益低于理想小信号增益。反之,也可能出现增益扩展,但增益压缩在放大器中更常见,尤其是在输出摆幅接近电源轨或输入信号较大时。
    • 谐波失真:非线性还会导致输出信号中产生谐波分量。AC分析只关注基波频率的响应。瞬态仿真如果简单地通过峰值或峰峰值来计算增益,而输出波形由于失真其峰值并不完全由基波贡献,也可能导致与小信号增益的差异。不过从图右的波形看,vout 看起来还是比较标准的正弦波,所以是可以排除这个原因.

总结来说,最主要的原因是:

  • AC仿真是基于理想线性小信号模型的计算结果。
  • 瞬态仿真是基于实际信号幅度下器件完整非线性模型的计算结果。

当瞬态仿真中的输入信号幅度(即使是10mV)足以使BJT表现出非线性时,其“大信号”或“实际信号”下的增益就会偏离纯粹的“小信号”增益。观察到的从3.422下降到3.1,很可能是由于10mV的输入信号在1GHz下对BJT产生了一定程度的增益压缩。

验证方法:

如果想验证这一点,可以在瞬态仿真中尝试使用更小的输入信号幅度,例如1mV甚至0.1mV。如果随着输入幅度的减小,瞬态仿真得到的增益逐渐接近AC分析的3.422,那么就印证了非线性是主要原因。

仿真得到的增益逐渐接近AC分析的3.422,那么就印证了非线性是主要原因。

image-20250525161020171

相关文章:

  • C++学习之STL学习:string类常用接口的模拟实现
  • 李宏毅《机器学习2025》笔记 第二讲 —— AI Agent
  • vue3中computed计算属性和watch监听的异同点
  • 历年吉林大学保研上机真题
  • Python经典算法实战
  • 分布式缓存:BASE理论实践指南
  • conda 环境中opencv 报错
  • MySQL-----表的操作
  • SAP Commerce(Hybris)开发实战(二):登陆生成token问题
  • C#实现MCP Client 与 LLM 连接,抓取网页内容功能!
  • Windows系统部署Redis
  • 【医学影像 AI】TorchIO医学影像数据增强:从入门到精通的全面指南
  • Java 接口
  • 06-Web后端基础(java操作数据库)
  • Linux基础IO---缓冲区----文件系统----软硬链接
  • Python打卡训练营学习记录Day36
  • Spring AI 与 Python:AI 开发的新老势力对决与协作
  • git提交通用规范
  • 阿里云国际版香港轻量云服务器:CN2 GIA加持,征服海外网络的“速度与激情”!
  • 掌握聚合函数:COUNT,MAX,MIN,SUM,AVG,GROUP BY和HAVING子句的用法,Where和HAVING的区别
  • 宁波网站建设 熊掌号/seo技术好的培训机构
  • 钟星建设集团网站/电脑培训网上培训班
  • 网站自己做还是用程序/搜索引擎seo推广
  • 做网站课程报告/2020做seo还有出路吗
  • 做架构图的网站/北京百度网讯科技有限公司
  • 网站更改/百度搜题网页版入口