Thoughts on the Common Mode Rejection Ratio of Op Amp[Copy link]
Common-mode rejection ratio (CMRR) refers to the ability of a differential amplifier to reject common-mode signals applied to both inputs simultaneously. More precisely, CMRR is the ratio of the common-mode voltage of the inputs required to produce a specific output to the differential voltage of the inputs required to produce the same output. The common-mode response of a differential amplifier refers to the differential-mode voltage Vcm_diff caused by the common-mode voltage Vcm in the amplifier. According to the definition of CMRR, let Vcm_diff be the corresponding voltage in differential mode: Vo= Vcm_diff× Adiffm= Vcm ×Acm Recombining the formula: Adiffm/Acm = Vcm/Vcm_diff=CMRR (as a gain ratio) Obviously, it can be obtained: CMRR = Vcm/Vcm_diff Where: Acm is the common-mode gain, Adiffm is the differential-mode gain, Vcm_diff is the differential offset of the op amp caused by the common-mode voltage, and Vcm is the common-mode voltage (test signal). The latter equation allows us to understand the meaning of the CMRR parameter more accurately, that is, CMRR is independent of the gain and frequency of the amplifier. However, in actual circuits, due to the asymmetry of resistors or lines, the common mode rejection ratio is smaller than that given in the manual. Under normal circumstances, it can be as small as 20~60dB. Therefore, the common mode caused by the op amp is basically negligible. The main consideration is the common mode deviation caused by the asymmetry of the off-chip precision resistors. When the input is Vcm, the output voltage value of Vout is: If R3=R4, R2=R1, the common mode rejection ratio will be infinite. The magnification is 1, but if each resistor uses a 0.5% 10K resistor, write a simple Matlab program with the following code: 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 end end format short g; CMmax_,CMmin_,Dmax_,Dmin_,Kcmrmax_,Kcmrmin_ Calculation results: They are (the actual values of r1, r2, r3, r4 in the circuit, common mode amplification, differential mode amplification, and common mode rejection ratio) 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 In the worst case, if there is a 1V common mode, a maximum of 10mV (or -10mV) voltage will be generated at the output. Note that the Kcmr calculation output is Inf, which means infinity. In fact, when the resistors are matched, the common mode rejection ratio is very large, but not infinite. At most, it is determined by the CMRR parameter provided in the op amp manual. This parameter is generally difficult to achieve in actual engineering. In actual circuit design, a high-precision multimeter can be used to measure the low drift resistors, so that R1=R2, R3=R4, so that the common mode rejection ratio of the op amp can be greatly improved.