负反馈系统中运放的相位裕度仿真、环路增益的stb仿真

这里没目录标题

  • 一、引言
  • 二、巴克豪森判据、最坏情况下的相位裕度、相位裕度
  • 三、相位裕度与开环,环路,闭环增益的关系
  • 四、环路增益、闭环增益和相位的仿真
    • 4.1 运放为双入单出时
      • 4.1.1 系统的闭环增益
      • 4.1.2 stb仿真系统的环路增益和相位裕度(环路稳定性)
    • 4.2 运放为全差分时
      • 4.2.1 系统的闭环增益
      • 4.2.2 stb仿真系统的环路增益和相位裕度(环路稳定性)
  • 五、总结

ref:
1.强推闭环增益、环路增益和PM关系说明 https://zhuanlan.zhihu.com/p/462528974
2.https://zhuanlan.zhihu.com/p/551710844>
3.何乐年 P130-负反馈闭环系统中的运算放大器环路增益的仿真测量
4.stb仿真环路增益 https://blog.csdn.net/jay183986697/article/details/104539035

一、引言

在设计运放时,相位裕度是一个重要的参数,因为运放通常工作在闭环中,相位裕度对闭环的稳定性和时域响应都有影响。而开环的运放就相当于一个性能一般的比较器。那如何对运放的相位裕度进行考虑、测量就很重要。

二、巴克豪森判据、最坏情况下的相位裕度、相位裕度

对于一个如下图的负反馈系统,其系统闭环传递函数(闭环增益)为:
在这里插入图片描述
H(s)为运放开环增益。
在这里插入图片描述

若有w1使得βH(s=jw1)=-1则环路增益无穷大会产生振荡。此条件可以表达为下式,这就是巴克豪森判据:

image.png

根据巴克豪森判据可以看出,判断反馈系统是否稳定主要取决于环路响应βH(s)。但在设计运放中我们通常是将运放开环响应的GBW频率处的剩余相位当作相位裕度,因为β=1时闭环增益βH(s)变等价于开环增益H(s)。这实际是种适用所有反馈系数β下的最差相位裕度。这样设计对可能使用在各种情况下的通用运放来说没问题的,但对于芯片内部一些β为确定值的情况,便会存在过设计,造成一些性能浪费。

PM有两种计算方式,在part.三中会进行说明,但在具体仿真中我们发现用闭环测PM是更为合理的,这样测不会忽略由于反馈网络和寄生电容(例如mos输入电容)形成的意料之外的极点。

注意巴克豪森判据可以看出,PM是找环路增益为1时,环路增益的相位曲线离-180°的距离,而非闭环响应的,避免混淆概念。

三、相位裕度与开环,环路,闭环增益的关系

图中展示了次极点在GBW外的单极点系统的环路增益、闭环增益和相位的关系,注意由于β是实数,所以环路增益的相位本质上和开环增益的相位是同一条曲线,但闭环增益和开环增益的相位曲线并不一样。 从红到蓝β逐渐增大。注意该曲线绘制在对数坐标系下。从图中可以知道:
1.(a)中可以看出随着β增加,环路增益幅度整体上移,环路增益的GBW增加。
2.(b)中灰色线为开环增益,通过闭环增益公式,可以知道开环增益和闭环增益的差值(dB)大概是环路增益,因此环路增益=0dB时即βAopen=1,则环路增益=0dB的频率点为Aopen与Aclose重新交合的点(也是闭环主极点位置),前提是单极点系统。闭环后系统由于极点频率从w0变为(1+βAopen)w0,所以带宽增加,但闭环增益GBW并没有变化。
3.计算PM可以找βAopen=0dB或Aopen与Aclose的交点对应频率点下的开环增益的相位曲线。
4.(c)由于是单极点系统,随着β增加,环路增益幅度整体上移,GX点后移,高频极点开始起作用,所以对应PM下降。
5.由于β3=1,所以图(a)中β3Aopen的曲线就是运放的开环增益曲线。我们在设计运放时,常常通过检查GBW处剩余的相位作为运放的相位裕度,实际上得到的就是该运放在β3=1这个相位裕度最坏情况下的值。单位增益负反馈下的相位裕度等于开环仿真的相位裕度。
6.测PM的方法:找闭环增益和开环增益交点频率下的开环相位曲线来计算;找环路增益=0dB的频率下的环路增益相位曲线来曲线。在part.4.2中会说明后者是更优的测量方法,因为前者会忽略寄生电容和反馈网络形成的极点。

image.png

综上,反馈系数越大,PM越小,环路增益越高,环路增益的GBW越高,闭环增益越低,闭环增益的GBW不变。

四、环路增益、闭环增益和相位的仿真

这个部分尝试分别用双入单出和全差分运放构成的反馈系统来仿真环路增益、闭环增益和PM。

4.1 运放为双入单出时

使用的运放为一个理想元件构成的二级密勒补偿运放,零和次极点相抵消,GBW内只有一个极点,其性能指标为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用上述电路构成一个反相比例放大电路:

Vo=-R2/R1*Vi

image.png

设置R2=900k,R1=100k,输入频率为1kHz,幅度为1mV的信号时,输出幅度为9mV,频率为1kHz,因为反馈拓宽了带宽(闭环带宽远大于运放带宽),所以并不会衰减信号。

image.png

4.1.1 系统的闭环增益

仿真闭环增益的电路如下,对其进行闭环仿真。

image.png

分别设置β=0.1/0.3/0.6=R1/(R1+R2),则闭环增益分别为10(20dB)、3.3(10.4dB)、1.6(4dB)得到以下闭环增益曲线:

image.png

可以看到闭环增益并不严格等于1/β=1+R2/R1,这主要是没有去考虑加载效应对开环增益和反馈系数的影响,而如果采用KCL计算出来的闭环增益是R2/R1,这是更接近仿真中的闭环增益:

在这里插入图片描述

将运放开环增益(粉色)和不同β的闭环增益绘制幅频特性曲线在对数坐标系下,和第三节图对应:随着R2的增加,β降低,闭环增益的带宽降低,GBW变化并不显著。

image.png

4.1.2 stb仿真系统的环路增益和相位裕度(环路稳定性)

将iprobe放在环路中,极性不重要,输入交流接地,设置stb仿真:

image.png

image.png

分别设置β=0.1/0.3/0.6/1,得到以下环路增益的幅频曲线:可见仿真的环路增益和理论计算值还是很接近的。注意这里的Phase Margin就是实际的PM,不用再加180°。

image.png

image.png
在这里插入图片描述

β对相位曲线并没有显著影响,因为这里的β是实数:

image.png

环路增益的PM随着β的降低而增加:

image.png

除了用stb确定环路增益的PM,还可以开环仿真找到Gain为1/β处的相位裕度就是实际的相位裕度。因为开环相位裕度和闭环增益的相位裕度是一样的,因为β是一个实数,从开环传递函数H(s)到环路增益βH(s)并不会改变相位频率曲线。

4.2 运放为全差分时

使用的全差分运放为建模的全差分运放,其性能指标如下:
在这里插入图片描述

4.2.1 系统的闭环增益

仿真闭环增益电路图如下:注意反馈电阻两端的连接。

image.png

分别设置β=0.1/0.3/0.6=R1/(R1+R2),将闭环增益和开环增益画在一起:结果和4.1.1类似,但在闭环增益的主极点处有尖峰且随β增加而显著。从SansenP110中可以知道尖峰是由于PM不足导致的,但从开环增益的相位来看明明PM是充足的,存在矛盾。

image.png

先给结论,这是因为所使用的理想运放建模的输入电容Cin=500f较大,输入电容和反馈电阻形成了额外的极点,但这个极点在开环增益、相位和闭环增益中并看不到。这就是这种方法的局限性。接下来用stb测LG的方式进行验证。

image.png

image.png
https://bbs.eetop.cn/thread-970084-1-1.html

4.2.2 stb仿真系统的环路增益和相位裕度(环路稳定性)

这里使用diffstbprobe接入环路进行仿真。

image.png

也可以使用cmdmprobe,但要设置CMDM=-1

image.png

设置stb仿真,选择图中的diffstbprobe

image.png

仿真单位增益的电路如下:不需要输入提供DC,而是通过单位反馈运放自己确立DC。

image.png

不同反馈系数下的LG的频率特性曲线和预期基本一致。

image.png
在这里插入图片描述

但可以看到电阻反馈时LG的极点数目相比于单位负反馈时多了一个,位于开环增益的主次极点之间,通过调整输入电容Cin可以看到LG中间的极点位置会变化,这验证了前面的结论,且Cin=500f,R1=100k,R2=900k,可以计算出f=1/(2piR1R2/(R1+R2)*Cin)=3.5Mhz和图中对应。

image.png

画出β=0.1/0.3/0.6时的LG

在这里插入图片描述

可以看到实际上PM是很小的,这也是前面闭环增益的尖峰的原因。

image.png

image.png

五、总结

不论全差分还是双入单出,稳定性判断、PM计算就在闭环时用stb仿真,根据Loop gain=0dB时的Loop gain phase计算PM。对于通用运放,就在单位反馈下用stb仿真PM和稳定性;对于特定应用场景,将运放接成特定负反馈系统再进行stb仿真PM和稳定性。

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

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

相关文章

Python项目:数据可视化_下载数据【笔记】

源自《Python编程:从入门到实践》 作者: Eric Matthes 02 下载数据 2.1 sitka_weather_07-2021_simple.csv from pathlib import Path import matplotlib.pyplot as plt import csv from datetime import datetimepath Path(D:\CH16\sitka_weather_0…

python web自动化(Allure报告)

Allure详细安装请看之前的博客 1.Allure配置与⼊⻔ 运⾏⽤例,⽣成allure报告 pip install allure-pytest -i https://mirrors.aliyun.com/pypi/simple/ 运⾏⽤例,⽣成allure报告 # main.py import os import pytest if __name__ __m…

SpringBoot如何实现热部署

热部署 使用SpringBoot提供的DevTools实现热部署 原理:实时监控classpath下文件的变化(即编译后的target目录),如果发生变化则自动重启 配置:添加DevTools的依赖即可(需要开启IDEA的自动编译&#xff09…

ROS学习记录:用C++实现IMU航向锁定

前言 获取IMU数据的C节点 在了解了如何获取到IMU的姿态信息(链接在上面)后,接下来尝试实现让一个节点在订阅IMU数据的时候,还能发布运动控制指令,使机器人能对姿态变化做出反应,达到一个航向锁定的效果。 …

神奇动物在哪里,但导演是微软

大数据产业创新服务媒体 ——聚焦数据 改变商业 一说到计算机视觉,大多数人第一时间联想到的便是“人脸识别”、“自动驾驶“、道路检测”等跟我们日常生活息息相关的关键词。而在2024年的5月末,微软在GitHub上面上传了这样一个计算机视觉的项目&#x…

2024年华为OD机试真题-停车场车辆统计-C++-OD统一考试(C卷D卷)

题目描述: 特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3),统计停车场最少可以停多少辆车,返回具体的数目。 输入描述: 整型字符串数组cars[],其中1表示有车,0…

通过Python爬取公告内容

在网络时代,信息获取变得更加便捷。通过网络爬虫技术,我们可以从互联网上快速获取各种信息。本文将介绍如何使用 Python 爬虫工具从指定网站上获取公告内容,并提取其中的关键信息。 1. 简介 在本文中,我们将使用 Python 的 requ…

几个速度比较快的 Linux 开源镜像站及支持的资源列表

搜狐开源镜像站 https://mirrors.sohu.com/ File Name CPAN/ FreeBSD/ QpenBSD/ RockyL apache/ archlinux/ centos/ ceph/ cygwin/ debian/ debian–cd/ debian-security/ deepin/ deepin-cd/ docker-ce/ fedora/ fedora-epel/ gentoo/ lib/ mysql/ nginx/ opensuse/ php/ ubu…

C++笔试强训day32

目录 1.素数回文 2.活动安排 3.合唱团 1.素数回文 链接https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f?tpId290&tqId39945&ru/exam/oj 现将其转化为回文数(这里用字符串存储比较方便转化),然后判断是否为…

Ubuntu安装IPOPT和Casadi

1.IPOPT安装 1.1安装所需功能包 sudo apt-get install cppad sudo apt-get install gcc g gfortran subversion patch wget1.2下载最新源代码3.14 https://www.coin-or.org/download/source/Ipopt/1.3解压进入IPOPT安装包,下载ASL git clone https://github.com/…

python项目中的__pycache__有什么作用?

在 Python 项目中,目录 __pycache__ 通常用于存储已编译的字节码文件。这些文件是 Python 解释器在导入模块时生成的,以加快后续的模块加载速度。 具体内容 __pycache__ 目录中的文件是以 .pyc 扩展名结尾的字节码文件。文件名通常会包含原始 Python 源…

【FPGA】VGA显示文字、彩条、图片——基于DE2-115

文章目录 前言一、VGA概述1.1 简述1.2 管脚定义1.3 VGA显示原理1.4 VGA时序标准1.5 VGA 显示模式及相关参数 二、VGA显示自定义的汉字字符2.1 点阵汉字生成2.2 生成BMP文件2.3 生成txt文件2.4 实现效果 三、VGA显示条纹3.1 实现流程3.2 实现效果 四、VGA输出一幅彩色图像4.1 bm…

ArcGIS不同图斑设置不同的透明度

对于设置一个图层的整体的透明度,我们在 ArcGIS制作带蒙版的遥感影像地图http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…

Unity面试八股文之基础篇

文章目录 前言1. Unity的生命周期加载第一个场景Editor在第一次帧更新之前帧之间更新顺序协程销毁对象时退出时 2. Unity 协程和线程,进程的区别3. 本地坐标系 世界坐标系4. 碰撞器和触发器的区别后话 前言 开设这个栏目的博文会写一些有关unity的面试题目,在面试的…

如何做好软件项目的沟通管理

如何做好软件项目的沟通管理 软件项目的沟通管理是确保项目信息在团队成员、利益相关者和相关群体之间有效流通的过程。良好的沟通是项目成功的关键,在项目开始时,需要制定详细的沟通计划,包括沟通的目的、对象、内容、频率和渠道等信息。 …

【spring】@ResponseBody注解学习

ResponseBody介绍 ResponseBody 是一个Spring框架中的注解,主要用于Web开发,特别是在Spring MVC框架中。它的核心作用是改变Spring MVC处理HTTP请求响应的行为,使得从控制器方法返回的数据直接写入HTTP响应体(Response Body&…

Python面试宝典:Python中与网络协议基础和socket编程相关的知识和面试笔试题(1000加面试笔试题助你轻松捕获大厂Offer)

Python面试宝典:1000加python面试题助你轻松捕获大厂Offer【第二部分:Python高级特性:第十四章:网络编程:第一节:网络协议基础和socket编程】 第十四章:并发编程第一节:网络协议基础和socket编程网络协议基础Socket编程创建SocketTCP服务器TCP客户端数据传输关闭Socket…

Python高级进阶--slice切片

slice切片⭐⭐ 在 Python 中,切片操作是一种常见且方便的方式,用于从字符串、列表或元组中获取部分元素。这种操作通过指定起始索引、结束索引和步长来实现。下面我们来看一些关于切片的简单介绍以及一些常见用法。 1. 切片简介 取一个str、list、tup…

【Unity2D:Animator】为角色添加动画效果

一、添加Animator组件并创建Animator Controller文件 1. 添加Animator组件: 2. 在Assets-Art文件夹中新建一个名为Animations的文件夹,用来存储所有动画资源 3. 在Animations文件夹中新建一个名为Player的文件夹,再创建一个名为Animators的文…

LeetCode //C - 119. Pascal‘s Triangle II

119. Pascal’s Triangle II Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown: Example 1: Input: rowIndex 3 Output: …