#Variable declaration
Rf=10.*10**3; #/In Ohms
Ri=1*10**3; #/In Ohms
#Calculations
Av=1+(Rf/Ri);
#Result
print "Gain of Circuit is %.f"%Av
#Variable declaration
Av1=26.;#in dB
Av=20.;
#Zi=47*10**3 #in ohms
Ri=1.0*10**3; #/In Ohms
#Calculations&Results
#we know Av=1+(Rf/Ri)
Rf=Ri*(Av-1);
print "Value of Rf(ohm) when Ri is 1k =%.2f"%Rf
Ri=2*10**3; #/In Ohms
Rf=Ri*(Av-1);
print "Value of Rf(ohm) when Ri is 1k=%.2f"%Rf
Ri=5*10**2; #/In Ohms
Rf=Ri*(Av-1);
print "Value of Rf(ohm) when Ri is 1k =%.2f"%Rf
#Variable declaration
Av=1;
#Av=1+(Rf/Ri)
#Rf/Ri=Av-1=0
#Calculations&Results
print "Rf/Ri=0 ";
print "Rf is replaced by short circuiting wire and Ri can have any theoretical value"
print "When Ri is infinite it can be deleted from circuit";
import math
#Variable declaration
Rf=14.*10**3;#in ohm
Ri=2.*10**3;#in ohm
#Calculations&Results
Av1=1+(Rf/Ri);
print "Av1 is %.f"%Av1
Av3=20*math.log10(Av1);
print "Av1 in dB is %f"%Av3
Rf=18.*10**3;#in ohm
Ri=2*10**3;#in ohm
Av2=1+(Rf/Ri);
print "Av2 is %.f"%Av2
Av4=20*math.log10(Av2);
print "Av2 dB is %.f"%Av4
Avt=Av3+Av4;
print "Total Gain dB Av1+Av2 is %f"%Avt
vin=-30;#in dB
vout=Avt+vin;
print "Vout in dB %f"%vout
#Variable declaration
Ri=5*10**3;# in ohm
Rf=20.*10**3;# in ohm
vin=100*10**-3;#In volt
#Calculations
Av=-(Rf/Ri);
vout=vin*Av;
#Result
print "Vout is %f volts"%vout;
print "(i.e. negative sign means inverted)";
#Variable declaration
Ri=15.*10**3;
zin=Ri;
Av=-10;#inverting amplifier gain
#Calculations
#Av=-(Rf/Ri)
Rf=Ri*-Av;
#Result
print "Value for Rf = %.f ohms"%Rf;
import math
#Variable declaration
#capacitors are used to remove higher frequencies
Rf=200.*10**3;#In Ohm
Ri=15*10**3; #In Ohm
#Calculations&Results
Av=-(Rf/Ri);
Av1=20*math.log10(-Av);
print "Maximum gain is %.2f"%Av
print "Maximum gain in dB is %.1f"%Av1
Av2=0;# divider action makes Ri infinite
print "Minimum gain in dB is %.f"%Av2;
#Variable declaration
Iin=50*10**-6; #In Ampere
Vout=4.; #In Volt
#Calculations
Rf=Vout/Iin;
#Result
print "Transresistance of Circuit is %.f ohms"%Rf
#Variable declaration
Ri=20*10**3; #In Ohm
Vin=0.4; #In Volt
Rl=1*103;#In ohm
#Calculations&Results
gm=1./Ri; #unit-micro*Siemens
Iload=gm*Vin*10**6;
print "Load current is %.f uA"%Iload
#maximum current is 20microAmp in Op Amp
Vout=(Ri+Rl)*Iload*10**-3;
print "V max = %.f V"%Vout; #incorrect answer in textbook
#Variable declaration
Iload=100*10*-6; #In Amp
Vin=10; #In Volt
#Calculations
gm=Iload/Vin;
Ri=1./gm;
#Result
print "Value of Ri = %f ohms"%Ri
#Variable declaration
Iin=5*10**-6; #In Ampere
Ri=33*10**3; #In Ohm
Rf=1*10**3; #In Ohm
Rload=10*10**3; #In Ohm
#Calculations&Results
Ai=1+(Ri/Rf); #for inverting current amplifier
Iout=Ai*Iin;
print "I out = %f A"%Iout
Vmax=Iout*Rload+Iin*Ri;
print "Vmax is %f V"%Vmax
print "(No problem)"
#Variable declaration
Ai=50.;
Rl=200*10**3; #In Ohm
#Ai=1+(Ri/Rf)
Rf=1.*10**3; #In Ohm(Assumption)
#Calculations&Results
Ri=Rf*(Ai-1);
print "Ri for Rf 1000ohm = %.f ohms"%Ri
Rf=2*10**3; #In Ohm(Assumption)
Ri=Rf*(Ai-1);
print "Ri for Rf 2000ohm = %.f ohms"%Ri
Rf=0.5*10**3; #In Ohm(Assumption)
Ri=Rf*(Ai-1);
print "Ri for Rf 500ohm = %.f ohms"%Ri
Imax=13.5/Rl;
print "Resulting current = %f A"%Imax;
print "Maximum allowable input current = %f A"%(Imax/50);
#Variable declaration
#Noninverting Amplifier
Rf=10.*10**3; #In Ohm(Assumption)
#Channel 1
Ri1=4*10**3; #In Ohm(Assumption)
Vi1=1.; #In Volt
#Calculations&Results
Av1=-Rf/Ri1;
Vo1=Av1*Vi1;
print "Vout1 = %.1f V"%Vo1;
#Channel 2
Ri2=2*10**3; #In Ohm(Assumption)
Vi2=-2; #In Volt
Av2=-Rf/Ri2;
Vo2=Av2*Vi2;
print "Vout2 = %.f V"%Vo2
#Channel 3
Ri3=1*10**3; #In Ohm(Assumption)
Vi3=0.5; #In Volt
Av3=-Rf/Ri3;
Vo3=Av3*Vi3;
print "Vout1 = %.f V"%Vo3
print "Total output via summation is %.1f V"%(Vo1+Vo2+Vo3)
import math
import numpy
import sympy
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
#Variable declaration
#Noninverting Amplifier
V1=1; #In Volt
V2=-0.2; #In Volt
#to draw graph of V3
t=numpy.linspace(0,0.5)
#Calculations
#from sympy import Symbol
#t = Symbol('t')
V3=2*numpy.sin(100*t); #In Volt
R1=20*10**3; #In ohm
R2=20*10**3; #In ohm
R3=20*10**3; #In ohm
Rf=20*10**3; #In ohm
Ri=5*10**3; #In ohm
#Vout=(1+(Rf/Ri))*(V1+V2+V3)/3;
Vout=(1+(Rf/Ri))*(V1+V2)/3; #for DC componet in Vin
Voutac=(1+(Rf/Ri))*(V3)/3; #for ac componet in Vin
#Results
print "Output Voltage is 3.33 V peak sine wave riding on 1.33 V DC";
plt.plot(Voutac+Vout);
plt.title("Output")
plt.xlabel("t")
plt.ylabel("V")
plt.show()
import math
#Variable declaration
Ri=10.*10**3; #In ohm
Av=26; #In dB
#Calculations
Av1=10*math.log10(Av);
Rf1=Av1*Ri;
#Rf1=20*Ri1;
#Ri1+20*Ri1=Ri;
#Ri1=Ri-Rf1;
Ri1=Ri/21;
Rf1=20*Ri1*10**-3;
#Result
print "Rf1 is %.2f ohm"%Rf1