import math
#Variables
Ad = 100.0 #Differential mode gain
Acm = 0.01 #Common-mode gain
#Calculation
CMRR = Ad/Acm #CMRR
CMRR1 = 20*math.log10(CMRR) #CMRR (in db)
#Result
print "CMRR : ",CMRR1,"db."
#Variables
Ad = 1.0 * 10**5 #Differential mode gain
CMRR = 1.0 * 10**4 #CMRR
#Calculation
Acm = Ad/CMRR #Common-mode gain
#Result
print "Common mode gain : ",Acm,"."
#Variables
V1 = 745.0 * 10**-6 #Input voltage1 (in volts)
V2 = 740.0 * 10**-6 #Input voltage2 (in volts)
Vcm = (V1 + V2)/2 #Commonn mode signal (in volts)
Vd = V1 - V2 #Differential voltage (in volts)
Ad = 5 * 10**5 #Differential voltage gain
CMRR = 1.0 * 10**4 #CMRR
#Calculation
Vout = Ad*Vd*(1 + 1/CMRR*Vcm/Vd) #output voltage (in volts)
error = Vout - Ad*Vd #Error voltage (in volts)
Percerror = error/Vout*100 #Percentage error
#Result
print "Output voltage :",round(Vout,6),"V."
print "Percentage error : ",round(Percerror,4),"%."
#Variables
A = 200000.0 #Open loop voltage gain
Vd = 25.0 * 10**-6 #Input differential voltage (in volts)
#Calculation
Vout = A*Vd #output voltage (in volts)
#Result
print "Output voltage : + (or) - ",Vout,"V."
#Variables
Af = 10.0 #Voltage gain
R1 = 3.0 * 10**3 #Resistance (in ohm)
#Calculation
Rf = (Af - 1)*R1 #Resistance (in ohm)
#Result
print "Rf : ",Rf*10**-3,"kilo-ohm."
#Variables
R1 = 2.0 * 10**3 #Resistance (in ohm)
Rfmin = 0.0 #Resistance (in ohm)
Rfmax = 100.0 * 10**3 #Resistance (in ohm)
#Calculation
Afmin = 1 + Rfmin/R1 #Minimum voltage gain
Afmax = 1 + Rfmax/R1 #Maximum voltage gain
#Result
print "Maximum closed loop voltage gain",Afmax,"."
print "Minimum closed loop voltage gain",Afmin,"."
#Variables
R1 = 5.0 * 10**3 #Resistance (in ohm)
Rf = 500.0 * 10**3 #Feedback resistance (in ohm)
Vin = 0.1 #Input voltage (in volts)
#Calculation
Af = -Rf/R1 #Voltage gain
Rin = R1 #Input resistance (in ohm)
Rout = 0 #Output resistance (in ohm)
Vout = Af*Vin #Output voltage (in volts)
Iin = Vin/R1 #Input current (in Ampere)
#Result
print "Voltage gain : ",Af,"."
print "Input resistance : ",Rin*10**-3,"kilo-ohm."
print "Output resistance : ",Rout,"ohm."
print "Output voltage : ",Vout,"V."
print "Input current : ",Iin*10**3,"mA."
#Variables
Rf = 2.0 * 10**3 #Feedback resistance when S is open (in ohm)
Vin = 1.0 #Input voltage when S is open (in volts)
R1 = 1.0 * 10**3 #Resistance (in ohm)
R2 = R3 = 1.0 * 10**3 #Resistance (in ohm)
#Calculation
Vout = -Vin*Rf/R1 #Output voltage when S is open (in volts)
Af = -(R3 + R2)/R1 #gain
Vout1 = Af*Vin #Output voltage when S is closed (in volts)
#Result
print "O/P voltage when switch is open : ",Vout,"V."
print "O/P voltage when switch is closed : ",Vout1,"V."
#Variables
Rf = 1.0 * 10**6 #Feedback resistance (in ohm)
Ri = 1.0 * 10**6 #Input resistance (in ohm)
Vi = 1 #Input voltage (in volts)
#Calculation
Vo = -Rf/Ri*Vi #Output voltage (in volts)
Av = Vo/Vi #Voltage gain
Ai = 1 #Current gain
Ap = abs(Av*Ai) #Power gain
#Result
print "Voltage gain : ",Av,"."
print "Current gain : ",Ai,"."
print "Power gain : ",Ap,"."
#Variables
Rf = 20.0 * 10**3 #Feedback resistance (in ohm)
R1 = 10.0 * 10**3 #Resistance (in ohm)
#Calculation
Aoffnoninv = 1 + Rf/R1 #Amplifier gain when S open and non inverted
Aoffinv = -Rf/R1 #Amplifier gain when S open and inverted
Aoff = Aoffinv + Aoffnoninv #Amplifier gain when S open
Aon = -Rf/R1 #Amplifier gain when S is closed
#Result
print "Amplifier gain when S is open : ",Aoff,"."
print "Amplifier gain when S is closed : ",Aon,"."
#Variables
Rf = 100.0 #Feedback resistance (in kilo-ohm)
#Calculation
R1 = Rf #Resistance1 (in ohm)
R2 = Rf/10 #Resistance2 (in ohm)
R3 = Rf/100 #Resistance3 (in ohm)
#Result
print "R1 : ",R1,"kilo-ohm.\nR3 : ",R2,"kilo-ohm.\nR3 : ",R3,"kilo-ohm."
#Variables
Rf = 12.0 * 10**3 #Feedback resistance (in ohm)
R1 = 12.0 * 10**3 #Resistance1 (in ohm)
R2 = 2.0 * 10**3 #Resistance2 (in ohm)
R3 = 3.0 * 10**3 #Resistance3 (in ohm)
Vi1 = 9.0 #Input voltage1 (in volts)
Vi2 = -3.0 #Input voltage2 (in volts)
Vi3 = -1.0 #Input voltage3 (in volts)
#Calculation
Vout = -Rf*(Vi1/R1 + Vi2/R2 + Vi3/R3) #Output voltage (in volts)
#Result
print "Output voltage : ",Vout,"V."
#Variables
Rf = 6.0 #Feedback resistance (in kilo-ohm)
#Calculation
R1 = Rf #Resistance1 (in ohm)
R2 = Rf/2 #Resistance2 (in ohm)
R3 = Rf/3 #Resistance3 (in ohm)
#Result
print "R1 : ",R1,"kilo-ohm.\nR3 : ",R2,"kilo-ohm.\nR3 : ",R3,"kilo-ohm."
#Variables
R3 = 10.0 #Resistance (in kilo-ohm)
#Calculation
Rf = 4*R3 #Feedback resistance (in ohm)
R2 = Rf/3 #Resistance2 (in ohm)
R1 = Rf/2 #Resistance1 (in ohm)
#Result
print "Rf : ",Rf,"kilo-ohm.\nR2 : ",round(R2,2),"kilo-ohm.\nR1 : ",R1,"kilo-ohm."
#Variables
V1 = 2.0 #Voltage1 (in volts)
V2 = -1.0 #Voltage2 (in volts)
#Calculation
Vs1 = V1*(1.0/2/(1+1.0/2)) #I/P at non-inverting I/P terminal (in volts)
V1o = Vs1*(1 + 2/1) #O/P voltage1 (in volts)
Vs2 = V2*(1.0/2/(1+1.0/2)) #I/P voltage2 (in volts)
V2o = Vs2*(1 + 2/1) #O/P voltage2 (in volts)
Vout = V1o + V2o #Output voltage (in volts)
#Result
print "Output voltage : ",Vout,"V."
#Variables
R = 10.0 #Resistance (in kilo-ohm)
#Calculation
Rf = 10*R #feedback resistance (in kilo-ohm)
#Result
print "Feedback resistor : ",Rf,"kilo-ohm."
#Variables
C = 2.0 * 10**-6 #Capacitance (in Farad)
R = 50.0 * 10**3 #Resistance (in ohm)
#Calculation
scale_factor = -1/(C*R) #Scale factor (in second)
#Result
print "Output voltage : 0.0113(cos(4000*t)-1) mV."
import math
#Variables
C = 2.0 * 10**-6 #Capacitance (in Farad)
R = 50.0 * 10**3 #Resistance (in ohm)
f = 2.0 * 10**3 #Frequency (in Hertz)
Vpeak = 10.0 * 10**-6 #Peak voltage (in volts)
#Calculation
scale_factor = (C*R) #Scale factor (in second)
#Result
print "Output voltage : 13.56*cos(4000*math.pi*t)."
#Variables
IB1 = 10.0 * 10**-6 #Base current1 (in Ampere)
IB2 = 7.5 * 10**-6 #Base current2 (in Ampere)
#Calculation
Iinbias = (IB1 + IB2)/2 #Input bias current (in Ampere)
Iinoffset = IB1 - IB2 #Input offset current (in Ampere)
#Result
print "Input bias current : ",round(Iinbias*10**6,2),"micro-Ampere."
print "Input offset current : ",round(Iinoffset*10**6,2),"micro-Ampere."
#Variables
dVout = 20.0 #Output voltage (in volts)
dt = 4.0 #time (in micro-seconds)
#Calculation
SR = dVout/dt #Slew rate (in volt per micro-second)
#Result
print "Slew rate : ",SR," V/micro-second."