关于运放的共模抑制比的思考
2012-11-01 11:52
218 查看
共模抑制比(CMRR) 是指差分放大器对同时加到两个输入端上的共模信号的抑制能力。更确切地说,CMRR是产生特定输出所需输入的共模电压与产生同样输出所需输入的差分电压的比值。
差分放大器共模响应,是指放大器中共模电压Vcm引起的差模电压Vcm_diff。根据CMRR 的定义,设Vcm_diff为差模下对应的电压:
Vo= Vcm_diff× Adiffm= Vcm ×Acm
重新组合公式:
Adiffm/Acm = Vcm/Vcm_diff=CMRR(作为增益比)
显然可得:
CMRR = Vcm/Vcm_diff
其中:Acm为共模增益,Adiffm为差模增益,Vcm_diff为共模电压引起的运放差分偏移,Vcm为共模电压(测试信号)。后一个方程可使我们更为确切地了解CMRR 参数的含义,即CMRR 与放大器的增益和频率无关。
然而在实际电路中,由于电阻或线路的不对称性,共模抑制比比手册中给出的要小。一般正常的情况下,能小到20~60dB。所以,运放内部引起的共模基本忽略不计。主要考虑片外精阻不对称引起的共模偏差。
![](http://img.my.csdn.net/uploads/201211/01/1351741956_3085.GIF)
当输入均是Vcm时,输出Vout的电压值是:
![](http://img.my.csdn.net/uploads/201211/01/1351742148_3069.GIF)
![](http://img.my.csdn.net/uploads/201211/01/1351742152_8482.GIF)
如果R3=R4,R2= R1,共模抑制比会无穷大。放大倍率为1,但如果每个电阻使用0.5%的10K电阻,写个简单的Matlab程序,代码如下:
clc,clear r1 = 10000;r2 = 10000;r3 = 10000;r4 = 10000;alpha = 0.5 / 100; CMmax = -1000;CMmin = 1000;Dmax = -1000;Dmin = 1000;Kcmrmax = -100000;Kcmrmin = 100000;for rr1=[r1*(1-alpha) r1 r1 * (1+alpha)] for rr2=[r2*(1-alpha) r2 r2 * (1+alpha)] for rr3=[r3*(1-alpha) r3 r3 * (1+alpha)] for rr4=[r4*(1-alpha) r4 r4*(1+alpha)] Cratio = (rr3 * rr2 - rr1 *rr4) / (rr1 + rr3) / rr2; Dratio = (rr3 * rr2 + rr3 *rr4) / (rr1 + rr3) / rr2; Kcmr = 20 *log10(abs(Dratio/Cratio)); if (Cratio > CMmax) CMmax = Cratio; CMmax_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Cratio < CMmin) CMmin = Cratio; CMmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Dratio > Dmax) Dmax = Dratio; Dmax_ = [rr1 rr2 rr3 rr4 Cratio Dratio Kcmr]; end if (Dratio < Dmin) Dmin = Dratio; Dmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Kcmr > Kcmrmax) Kcmrmax = Kcmr; Kcmrmax_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Kcmr < Kcmrmin) Kcmrmin = Kcmr; Kcmrmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end end end endendformat short g;CMmax_,CMmin_,Dmax_,Dmin_,Kcmrmax_,Kcmrmin_
计算结果:
依次是(r1,r2,r3,r4在电路中的实际值,共模放大率,差模放大率,共模抑制比)
CMmax_ = 9950 10050 10050 9950 0.0099502 1 40.043
CMmin_ = 10050 9950 9950 10050 -0.01005 1 39.956
Dmax_ = 9950 9950 10050 10050 0 1.0101 Inf
Dmin_ =10050 10050 9950 9950 0 0.99005 Inf
Kcmrmax_ =9950 9950 9950 9950 0 1 Inf
Kcmrmin_ =10050 9950 9950 10050 -0.01005 1 39.956
最差的情况下,如果有1V的共模,将在输出端最大产生10mV (或-10mV) 的电压。这里注意,Kcmr计算输出是Inf,是无穷大的意思。实际上当电阻匹配时,共模抑制比很大,但不会无穷大,最多也就是由运放手册提供的CMRR参数决定。这个参数一般在实际工程上是很难达到的。
在实际电路设计中,可以使用高精度万用表测出低漂移的电阻,使得R1=R2, R3=R4,这样,可以是运放的共模抑制比大幅度提升。
本文出自 “夜来听风雨” 博客,请务必保留此出处http://coolbacon.blog.51cto.com/7777407/1279921
差分放大器共模响应,是指放大器中共模电压Vcm引起的差模电压Vcm_diff。根据CMRR 的定义,设Vcm_diff为差模下对应的电压:
Vo= Vcm_diff× Adiffm= Vcm ×Acm
重新组合公式:
Adiffm/Acm = Vcm/Vcm_diff=CMRR(作为增益比)
显然可得:
CMRR = Vcm/Vcm_diff
其中:Acm为共模增益,Adiffm为差模增益,Vcm_diff为共模电压引起的运放差分偏移,Vcm为共模电压(测试信号)。后一个方程可使我们更为确切地了解CMRR 参数的含义,即CMRR 与放大器的增益和频率无关。
然而在实际电路中,由于电阻或线路的不对称性,共模抑制比比手册中给出的要小。一般正常的情况下,能小到20~60dB。所以,运放内部引起的共模基本忽略不计。主要考虑片外精阻不对称引起的共模偏差。
当输入均是Vcm时,输出Vout的电压值是:
如果R3=R4,R2= R1,共模抑制比会无穷大。放大倍率为1,但如果每个电阻使用0.5%的10K电阻,写个简单的Matlab程序,代码如下:
clc,clear r1 = 10000;r2 = 10000;r3 = 10000;r4 = 10000;alpha = 0.5 / 100; CMmax = -1000;CMmin = 1000;Dmax = -1000;Dmin = 1000;Kcmrmax = -100000;Kcmrmin = 100000;for rr1=[r1*(1-alpha) r1 r1 * (1+alpha)] for rr2=[r2*(1-alpha) r2 r2 * (1+alpha)] for rr3=[r3*(1-alpha) r3 r3 * (1+alpha)] for rr4=[r4*(1-alpha) r4 r4*(1+alpha)] Cratio = (rr3 * rr2 - rr1 *rr4) / (rr1 + rr3) / rr2; Dratio = (rr3 * rr2 + rr3 *rr4) / (rr1 + rr3) / rr2; Kcmr = 20 *log10(abs(Dratio/Cratio)); if (Cratio > CMmax) CMmax = Cratio; CMmax_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Cratio < CMmin) CMmin = Cratio; CMmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Dratio > Dmax) Dmax = Dratio; Dmax_ = [rr1 rr2 rr3 rr4 Cratio Dratio Kcmr]; end if (Dratio < Dmin) Dmin = Dratio; Dmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Kcmr > Kcmrmax) Kcmrmax = Kcmr; Kcmrmax_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end if (Kcmr < Kcmrmin) Kcmrmin = Kcmr; Kcmrmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr]; end end end endendformat short g;CMmax_,CMmin_,Dmax_,Dmin_,Kcmrmax_,Kcmrmin_
计算结果:
依次是(r1,r2,r3,r4在电路中的实际值,共模放大率,差模放大率,共模抑制比)
CMmax_ = 9950 10050 10050 9950 0.0099502 1 40.043
CMmin_ = 10050 9950 9950 10050 -0.01005 1 39.956
Dmax_ = 9950 9950 10050 10050 0 1.0101 Inf
Dmin_ =10050 10050 9950 9950 0 0.99005 Inf
Kcmrmax_ =9950 9950 9950 9950 0 1 Inf
Kcmrmin_ =10050 9950 9950 10050 -0.01005 1 39.956
最差的情况下,如果有1V的共模,将在输出端最大产生10mV (或-10mV) 的电压。这里注意,Kcmr计算输出是Inf,是无穷大的意思。实际上当电阻匹配时,共模抑制比很大,但不会无穷大,最多也就是由运放手册提供的CMRR参数决定。这个参数一般在实际工程上是很难达到的。
在实际电路设计中,可以使用高精度万用表测出低漂移的电阻,使得R1=R2, R3=R4,这样,可以是运放的共模抑制比大幅度提升。
本文出自 “夜来听风雨” 博客,请务必保留此出处http://coolbacon.blog.51cto.com/7777407/1279921
相关文章推荐
- 关于运放的共模抑制比的思考
- 关于搜索引擎的匹配相关的思考
- 关于机器学习 你不得不思考这些问题
- 关于洛川之行的思考
- 关于大型网站技术演进的思考(二)--存储的瓶颈(中)
- 关于“servlet中有内容,但jsp中无内容”的思考
- 关于补码,原码,反码的思考--嘟嘟胖
- 关于自动化测试方案选择的一些思考
- 关于“could not deserialize”错误的思考
- 研发管理:关于产品质量的一些思考
- 关于数据库破坏面向对象方法的思考和讨论 2010-9-8
- 关于怎样读源代码的思考
- 关于职业的思考
- 关于布局管理器FlowLayout的思考:如何让FlowLayout自动换行
- 关于云的思考
- Java开发与技术挑战——关于技术的技术思考
- 路要怎么走?关于程序员成长的一点思考
- 关于排错:专注思考,细心观察,步步为营
- 【1】关于Android中工作者线程的思考
- 关于VerifyRenderingInServerForm方法的思考