Chapter -3 Op-Amps With Negative Feedback

Example 3.1 - Page 88

In [2]:
# Given data
Af= 10 # voltage gain
R1= 3 # in Ω
Rf= (Af-1)*R1 # From Af= 1+Rf/R1
print "The value of R1 = %d Ω" %R1
print "The value of Rf = %d Ω" %Rf
The value of R1 = 3 Ω
The value of Rf = 27 Ω

Example 3.2 - Page 88

In [4]:
# Given data
R1= 2 # in kΩ
Rf_min= 0 
Rf_max= 100 # in kΩ
# Formula Used : Af= 1+Rf/R1
Af_max= 1+Rf_max/R1 # maximum closed loop voltage gain
Af_min= 1+Rf_min/R1 # minimum closed loop voltage gain
print "The maximum closed loop voltage gain = %d" %Af_max
print "The minimum closed loop voltage gain = %d" %Af_min
The maximum closed loop voltage gain = 51
The minimum closed loop voltage gain = 1

Example 3.3 - Page 89

In [6]:
from __future__ import division
# Given data
R1= 100 # in Ω
Rf= 100*10**3 # in Ω
A= 2*10**5 #unit less
Rin= 2*10**6 # in Ω
Rout= 75 # in Ω
f0= 5 # in Hz
B= R1/(R1+Rf) # feedback fraction
AB= A*B # feedback factor
Af= 1+Rf/R1 # voltage gain
Rin_f= Rin*(1+AB) # input resistance in Ω
Rout_f= Rout/(1+AB) # output resistance in Ω
f_f= f0*(1+AB) # bandwidth in Hz
Rin_f= Rin_f*10**-6 # in MΩ
print "The voltage gain is = %d" %Af
print "The input resistance = %0.1f MΩ" %Rin_f
print "The output resistance = %0.4f Ω" %Rout_f
print "The bandwidth = %0.f Hz" %f_f
The voltage gain is = 1001
The input resistance = 401.6 MΩ
The output resistance = 0.3735 Ω
The bandwidth = 1004 Hz

Example 3.4 - Page 89

In [7]:
# Given data
Rin= 2*10**6 # in Ω
Rout= 75 # in Ω
f0= 5 # in Hz
A= 2*10**5 #unit less
B=1 # for voltage follower
Rf= 0 
Af= 1 # voltage gain (since Rf=0)
Rin_f= A*Rin # input resistance in Ω
Rin_f= Rin_f*10**-9 # in GΩ
Rout_f= Rout/A #output resistance in Ω
f_f= f0*A # bandwidth in Hz
f_f= f_f*10**-6 # in MHz
print "The voltage gain = %d" %Af 
print "The input resistance = %0.f GΩ" %Rin_f
print "The output resistance = %0.6f Ω" %Rout_f
print "The bandwidth = %0.f MHz" %f_f
The voltage gain = 1
The input resistance = 400 GΩ
The output resistance = 0.000375 Ω
The bandwidth = 1 MHz

Example 3.5 - Page 92

In [8]:
# Given data
Rin= 2*10**6 # in Ω
Rout= 75 # in Ω
f0= 5 # in Hz
R1= 330 #in Ω
Rf= 3.3*10**3 # in Ω
A= 2*10**5 #unit less
B= R1/(R1+Rf) # feedback fraction
AB= A*B # feedback factor
Af= -Rf/R1 # colsed-loop voltage gain
Rin_f= R1 # input resistance with feedback in Ω
Rout_f=Rout/(1+AB) # output resistance with feedback in Ω
f_f= f0*(1+AB) # closed-loop bandwidth in Hz
f_f= f_f*10**-3 # in kHz
print "The closed-loop voltage gain = %0.f" %Af  
print "The input resistance = %0.f Ω" %Rin_f
print "The output resistance = %0.5f Ω" %Rout_f
print "The bandwidth = %0.2f kHz" %f_f
The closed-loop voltage gain = -10
The input resistance = 330 Ω
The output resistance = 0.00412 Ω
The bandwidth = 90.91 kHz

Example 3.6 - Page 93

In [12]:
# Given data
Rin= 2*10**6 # in Ω
Rout= 75 # in Ω
f0= 5 # in Hz
A= 2*10**5 #unit less
B= 1/2 # feedback fraction (since R1=Rf)
Af= -1 # voltage gain
R1= 330 #in Ω (assume)
Rin_f= R1 # input resistance with feedback in Ω
Rout_f= Rout/(A/2) # output resistance in Ω
f_f= A/2*f0 # in Hz
f_f= f_f*10**-6 # in MHz
print "The closed-loop voltage gain = %0.f" %Af
print "The input resistance = %0.f Ω" %Rin_f
print "The output resistance = %0.5f Ω" %Rout_f
print "The bandwidth = %0.1f MHz" %f_f
The closed-loop voltage gain = -1
The input resistance = 330 Ω
The output resistance = 0.00075 Ω
The bandwidth = 0.5 MHz

Example 3.7 - Page 93

In [15]:
# Given data
Rin= 2*10**6 # in Ω
Rout= 75 # in Ω
f0= 5 # in Hz
A= 200000 #unit less
VCC= 15 # in V
VEE= -15 # in V
Vout_swing= 13 # in V
# Part (i) : Non-inverting Amplifier
R1= 1*10**3 # in Ω
Rf= 10*10**3 #in Ω
B= R1/(R1+Rf) # feedback fraction
AB= A*B # feedback factor
Af= 1+Rf/R1 # voltage gain
Rin_f= Rin*(1+AB) # input resistance in Ω
Rin_f=Rin_f*10**-9 # in GΩ
Rout_f= Rout/(1+AB) # output resistance in Ω
f_f= f0*(1+AB) # bandwidth in Hz
f_f=f_f*10**-3 # in kHz
VooT= Vout_swing/(1+AB) #in V
VooT= VooT*10**3 # in mV
print "Part (i) : Non-inverting Amplifier :- " 
print "The closed-loop voltage gain = %0.f " %Af
print "The input resistance = %0.4f GΩ" %Rin_f
print "The output resistance = %0.5f Ω" %Rout_f
print "The bandwidth = %0.2f kHz" %f_f
print "The output offset voltage with feedback = ± %0.3f mV" %VooT

# Part (ii) : Inverting Amplifier
R1= 470 # in Ω
Rf= 4.7*10**3 #in Ω
B= R1/(R1+Rf) # feedback fraction
AB= A*B # feedback factor
Af= -Rf/R1 # voltage gain
Rin_f= R1 # input resistance in Ω
Rout_f= Rout/(1+AB) # output resistance in Ω
f_f= f0*(1+AB) # bandwidth in Hz
f_f=f_f*10**-3 # in kHz
VooT= Vout_swing/(1+AB) #in V
VooT= VooT*10**3 # in mV
print "\nPart (ii) : Inverting Amplifier :- " 
print "The closed-loop voltage gain = %0.f " %Af
print "The input resistance = %0.f Ω" %Rin_f
print "The output resistance = %0.5f Ω" %Rout_f
print "The bandwidth = %0.2f kHz" %f_f
print "The output offset voltage with feedback = ± %0.3f mV" %VooT
Part (i) : Non-inverting Amplifier :- 
The closed-loop voltage gain = 11 
The input resistance = 36.3656 GΩ
The output resistance = 0.00412 Ω
The bandwidth = 90.91 kHz
The output offset voltage with feedback = ± 0.715 mV

Part (ii) : Inverting Amplifier :- 
The closed-loop voltage gain = -10 
The input resistance = 470 Ω
The output resistance = 0.00412 Ω
The bandwidth = 90.91 kHz
The output offset voltage with feedback = ± 0.715 mV

Example 3.8 - Page 94

In [16]:
# Given data
Rf= 500*10**3 # in Ω
R1= 5*10**3 #in Ω
Vin= 0.1 # input voltage in V
Af= -Rf/R1 # voltage gain
Rin= R1 # input resistance in Ω
Rin= Rin*10**-3 # in kΩ
Rout= 0 # in Ω
Vout= Af*Vin # output voltage in V
I_in= Vin/R1 # input current in A
I_in= I_in*10**3 # in mA
print "The amplifier circuit voltage gain = %0.f" %Af
print "The amplifier circuit input resistance = %0.f kΩ" %Rin
print "The amplifier circuit output resistance %0.f Ω" %Rout
print "The output voltage = %0.f V" %Vout
print "The input current = %0.2f mA" %I_in
The amplifier circuit voltage gain = -100
The amplifier circuit input resistance = 5 kΩ
The amplifier circuit output resistance 0 Ω
The output voltage = -10 V
The input current = 0.02 mA

Example 3.9 - Page 94

In [17]:
# Given data
Rf= 1*10**6 # in Ω
Rin= 1*10**6 # in Ω
Vout_by_Vin= -Rf/Rin # (since Vout= -Rf/Rin*Vin)
Av= Vout_by_Vin # voltage gain
print "The voltage gain = %0.f" %Av
# I_in= Iout (As it is a unity gain inverter)
Ain= 1 #input impedance (since I_in= Iout)
print "The input impedance = %0.f" %Ain
Ap= abs(Av*Ain) # power gain
print "The power gain = %0.f" %Ap
The voltage gain = -1
The input impedance = 1
The power gain = 1

Example 3.10 - Page 95

In [19]:
# Given data
Av= -30 # voltage gain
Rf= 1*10**6 # in Ω
#Since, Av= Vo/Vi=-Rf/R1, so
R1= -Rf/Av # in Ω
R1= R1*10**-3 # in kΩ
Rf= Rf*10**-6 # in MΩ
print "The value of Rf = %0.f MΩ" %Rf
print "The value of R1 = %0.f kΩ" %R1
The value of Rf = 1 MΩ
The value of R1 = 33 kΩ

Example 3.11 - Page 95

In [20]:
# Given data
Av= -8 # voltage gain
Vi= 1 # input voltage in V
I1= 15 #maximum current in µA
I1= I1*10**-6 # in A
R1= Vi/I1 # in Ω
R1= R1*10**-3 # in kΩ
print "The value of R1 = %0.2f kΩ (Standard value 68 kΩ)" %R1
R1= 68 # in kΩ
Rf= -Av*R1 # in kΩ
print "The value of Rf = %0.f kΩ" %Rf

# Note : The calculated value of Rf in the book is wrong [-(-8)*68 is not equal to 384], it will be 544 kΩ
The value of R1 = 66.67 kΩ (Standard value 68 kΩ)
The value of Rf = 544 kΩ

Example 3.14 - Page 98

In [23]:
from __future__ import division
# Given data
Rf= 20*10**3 # in Ω
R1= 10*10**3 # in Ω

#Part (i) When switch S is off,
Aoff_non_inv= 1+Rf/R1 # non-inverting amplifier circuit gain
Aoff_inv= -Rf/R1 # inverting amplifier gain
Aoff= Aoff_non_inv+Aoff_inv # amplifier circuit gain
print "Part (i) : When switch S is off, the gain of the amplifier circuit = %0.f" %Aoff

# Part (ii) When switch S is on,
Aon= -Rf/R1 # amplifier circuit gain
print "Part (ii) : When switch S is on, the gain of the amplifer circuit = %0.f" %Aon
Part (i) : When switch S is off, the gain of the amplifier circuit = 1
Part (ii) : When switch S is on, the gain of the amplifer circuit = -2

Example 3.17 - Page 100

In [26]:
# Given data
R1= 1*10**3 # in Ω
R2= 1*10**3 # in Ω
Rf= 10*10**3 # in Ω
R3= 10*10**3 # in Ω
Vd= 5 # in mV
Vcm= 2 # in mV
CMRR_dB= 90 # in dB
CMRR= 10**(CMRR_dB/20) 
Ad= Rf/R1 # differential voltage gain
# Part (i)
Vout= Ad*Vd # output voltage in mV
print "Part (i) : The output voltage = %0.f mV" %Vout
# Part (ii)
Acm= Ad/CMRR # common mode gain
AcmVcm= Acm*Vcm # magnitude of the induced 60Hz noise at the output in mV
AcmVcm= AcmVcm*10**3 # in µV
print "The magnitude of the induced 60Hz noise at the output = %0.3f µV" %AcmVcm
Part (i) : The output voltage = 50 mV
The magnitude of the induced 60Hz noise at the output = 0.632 µV

Example 3.18 - Page 101

In [2]:
# Given data
R1= 540 # in Ω
R3= 540 # in Ω
R2= 5.4*10**3 # in Ω
Rf= 5.4*10**3 # in Ω
Vin1= -2.5 # in V
Vin2= -3.5 #in V
Rin= 2*10**6 #input impedance in Ω
A= 2*10**5 # open loop voltage gain
Ad= (1+Rf/R1) # voltage gain
print "The voltage gain = %0.f" %Ad
Vout=Ad*(Vin1-Vin2) # output voltage in V
print "The output voltage = %0.f V" %Vout
Rin_f1= Rin*(1+A*R1/(R1+Rf)) # in Ω
Rin_f2= Rin*(1+A*R2/(R1+Rf)) # in Ω
print "The value of Rin_f1 = %0.3e Ω" %Rin_f1
print "The value of Rin_f2 = %0.3e Ω" %Rin_f2
The voltage gain = 11
The output voltage = 11 V
The value of Rin_f1 = 3.637e+10 Ω
The value of Rin_f2 = 3.636e+11 Ω

Example 3.19 - Page 104

In [34]:
# Given data
Vin= 100*10**-3 # in V
Vout= 4.25 # in V
R1= 100 # in Ω
# Formula Used : Vout= (1+2*Rf/Rf)*Vin
Rf= (Vout/Vin-1)*R1/2 # in Ω
Rf= Rf*10**-3 # in kΩ
print "The value of R1 = %0.f Ω" %R1
print "The value of Rf = %0.1f kΩ (Standard value 2.2 kΩ)" %Rf
The value of R1 = 100 Ω
The value of Rf = 2.1 kΩ (Standard value 2.2 kΩ)

Example 3.20 - Page 105

In [40]:
# Given data
R1= 3.3 # in kΩ
R2= 3.3 # in kΩ
R3= 1.2 # in kΩ
R4= 1.2 # in kΩ
Rf= 3.9 # in kΩ
R5= 3.9 # in kΩ
Rp= 2.5 # in kΩ
A= 2*10**5 # unit less
f0= 5 # in Hz
Rin= 2*10**6 # in Ω
Rout= 75 # in Ω
Ad= -(1+2*R1/Rp)*Rf/R3 # voltage gain
print "The voltage gain = %0.2f" %Ad
Rinf= Rin*(1+A*(R1+Rp)/(2*R1+Rp)) #input resistance in Ω
Rinf= Rinf*10**-9 # in GΩ
print "The input resistance = %0.3f GΩ" %Rinf
Routf= Rout/abs(1+A/Ad) # output resistance in Ω
print "The output resistance = %0.6f Ω" %Routf
f_f= A*f0/abs(Ad) # bandwidth in Hz
f_f= f_f*10**-3 # in kHz
print "The bandwidth = %0.2f kHz" %f_f
The voltage gain = -11.83
The input resistance = 254.947 GΩ
The output resistance = 0.004437 Ω
The bandwidth = 84.53 kHz