差分放大电路利用电路参数的对称性和负反馈作用,有效地稳定静态工作点,以放大差模信号抑制共模信号为显著特征,广泛应用于直接耦合电路和测量电路的输入级。但是差分放大电路结构复杂、分析繁琐,特别是其对差模输入和共模输入信号有不同的分析方法,难以理解,因而一直是模拟电子技术中的难点。
差分放大器工作状态

先看图1电路,是输入信号 IN1 = IN2 的状态。

(1)因输入端的“ 虚断 ”特性(理想状态下可理解为输入端对地为断路的,即没有任何电流流入运算放大器的输入端),同相输入端为高阻态,其输入电压值仅仅取决于R1、R2分压值,即2.5V * (40K / (10K+40K)) 为2V。同相输入端的2V电压可以看作成为输入端比较基准电压;
(2)因两输入端的“ 虚短 ”特性(可理解为两输入端是短路的,所以两输入端的电压相等),可进而推知其反相输入端,即R3、R4串联分压电路,其运输放大器的反相输入端电压 等于 同相输入端电压 等于2V。这是反馈电压。运算放大器的控制目的是使反馈电压等于基准电压;
(3)由R1=R3,R2=R4条件可知,放大器输出端只有处于“虚地”状态,即输出端为0V,才能满足同相输入端 等于 反相输入端 等于 2V,这可以由此导出差分放大器的一个工作特征。
再看图2电路,是 IN1 < IN2 的状态。

(1)此时因 IN2 高于 IN1,因为
运算放大器总是有着将同相输入端和反相输入端的电压相等的一个趋势,
或者说对于运算放大器来说:
如果同相输入端的电压高,那么输出便会往正电压方向偏;
如果反相输入端的电压高,那么输出便会往负电压方向偏 。
所以输出端电压往正方向变化,其R3、R4偏置电路中的电流方向如图所示;
(2)由R3、R4的阻值比例可知,R3两端电压降为(2.8V-1.5V) = 1.3V。根据串联分压的原理,则R4两端的压降 为1.3V × 4 = 5.2V;如果这个不理解,也可以另外理解为同一个支路中电流相等,现在已经知道R3的压降是1.3V,则流过R3的电流为1.3 / 10K = 0.13mA,流过R4的电流也等于0.13mA,则根据V = IR可计算出 R4上的压降为 0.13mA * 40K = 5.2V,其输出端电压为2.8V+5.2V=8V。
(4)此时的输入电压差为IN2 - IN1 = 2V,输出电压为8V。显然,该差分放大器的差分电压放大倍数 = R4/R3 = 40K / 10K = 4倍。由此可以推知差分放大器的输出为
(IN2 - IN1)× R4/R3 = OUT
当R1 = R3, R2 = R4,输出放大倍数为 R4 / R3
继续来看图3,是 IN1 > IN2 的状态。

此时因 IN1电压高于IN2,输出端电压往负方向变化,其R3、R4偏置电路中的电流方向如图所示。同样,依R3、R4的阻值比例可推知,在此输入条件下,输出端电压为-8V,电路依然将输入差分信号放大了4倍。
电路的工作(故障)状态判断:直接测量运放的同相输入端和反相输入端,如果电压相等,则该电路大概率是正常工作的;
电路的电压放大倍数的测量计算方法:测量输入电压差(R1、R3左端电压差),再测量输出端电压进行比较,计算,即可得出
请帮助我理解范围运算符...和..之间的区别,作为Ruby中使用的“触发器”。这是PragmaticProgrammersguidetoRuby中的一个示例:a=(11..20).collect{|i|(i%4==0)..(i%3==0)?i:nil}返回:[nil,12,nil,nil,nil,16,17,18,nil,20]还有:a=(11..20).collect{|i|(i%4==0)...(i%3==0)?i:nil}返回:[nil,12,13,14,15,16,17,18,nil,20] 最佳答案 触发器(又名f/f)是
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
我明白了:x,(y,z)=1,*[2,3]x#=>1y#=>2z#=>nil我想知道为什么z的值为nil。 最佳答案 x,(y,z)=1,*[2,3]右侧的splat*是内联扩展的,所以它等同于:x,(y,z)=1,2,3左边带括号的列表被视为嵌套赋值,所以它等价于:x=1y,z=23被丢弃,而z被分配给nil。 关于ruby-带括号和splat运算符的并行赋值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow
问题是:除了在“OperatorExpressions”?例如:1%!2 最佳答案 是的,可以创建自定义运算符,但有一些注意事项。Ruby本身并不直接支持它,但是superatorsgem做了一个巧妙的把戏,将运算符链接在一起。这允许您创建自己的运算符,但有一些限制:$geminstallsuperators19然后:require'superators19'classArraysuperator"%~"do|operand|"#{self}percent-tilde#{operand}"endendputs[1]%~[2]#Out
在Ruby中有运算符(operator)。在API中,他们没有命名它的名字,只是:Theclassmustdefinetheoperator...Comparableusestoimplementtheconventionalcomparison......theobjectsinthecollectionmustalsoimplementameaningfuloperator...它叫什么名字? 最佳答案 参见上面的@Tony。然而,它也被称为(俚语)“宇宙飞船运算符(operator)”。
也许这听起来很荒谬,但我想知道这对Ruby是否可行?基本上我有一个功能...defadda,bc=a+breturncend我希望能够将“+”或其他运算符(例如“-”)传递给函数,这样它就类似于...defsuma,b,operatorc=aoperatorbreturncend这可能吗? 最佳答案 两种可能性:以方法/算子名作为符号:defsuma,b,operatora.send(operator,b)endsum42,23,:+或者更通用的解决方案:采取一个block:defsuma,byielda,bendsum42,23,
可能真的很简单,但我很难在网上找到关于这个的文档我在Ruby中有两个activerecord查询,我想通过OR运算符连接在一起@pro=Project.where(:manager_user_id=>current_user.id)@proa=Project.where(:account_manager=>current_user.id)我是ruby的新手,但我自己尝试使用||@pro=Project.where(:manager_user_id=>current_user.id||:account_manager=>current_user.id)这没有用,所以1.我想知道如何在
我是Ruby和这个网站的新手。下面两个函数是不同的,一个在函数外修改变量,一个不修改。defm1(x)x我想确保我理解正确-当调用m1时,对str的引用被复制并传递给将其视为x的函数。运算符当调用m2时,对str的引用被复制并传递给将其视为x的函数。运算符+创建一个新字符串,赋值x=x+"4"只是将x重定向到新字符串,而原始str变量保持不变。对吧?谢谢 最佳答案 String#+::str+other_str→new_strConcatenation—ReturnsanewStringcontainingother_strconc
ruby中有这样的东西吗?send(+,1,2)我想让这段代码看起来不那么冗余ifop=="+"returnarg1+arg2elsifop=="-"returnarg1-arg2elsifop=="*"returnarg1*arg2elsifop=="/"returnarg1/arg2 最佳答案 是的,只需像这样使用send(或者更好的是public_send):arg1.public_send(op,arg2)这是可行的,因为Ruby中的大多数运算符(包括+、-、*、/、andmore)只需调用方法。所以1+2与1.+(2)相同
您如何找到有关代码中运算符用法的信息(最好是通过Google)?在这种情况下,我想找到这段代码在Ruby中的含义。x=[1,2,3]x.send:[]=,0,2x[0]+x.[](1)+x.send(:[],2)我要你教我如何钓鱼——不要告诉我运算符(operator)是做什么的。当我去Google并尝试搜索符号时,我得到的示例或教程没有涵盖特定的用法。https://stackoverflow.com/questions/1165786/how-to-search-for-punctuation-that-gets-ignored-by-google表示谷歌驳回了这种表示法;我寻找“