from __future__ import division
#given data
Iio=20 #in nA
IB=100 #in nA
# Eqn(1) : Iio=IB1-IB2=20
#Eqn(2) : 2*IB=IB1+IB2=200
IB1=(200+20)/2 #in nA
print "IB1 = %0.f nA"%IB1
IB2=IB1-Iio #in nA
print "IB2 = %0.f nA"%IB2
#given data
G=120 #unitless
To=20 #in degree centigrade
T=50 #in degree centigrade
Dvoff=0.13 #in mV/degree centigrade
#input change
dVin=Dvoff*(T-To) #in mVolt
#output change
Vo=G*dVin #in mVolt
print "Output voltage = %0.f mV" %Vo
#given data
dt=5 #in uSec
Vp=5 #in Volt
dV=(0.9-0.1)*Vp
SR=dV/dt #in V/uSec
print "Calculated SR = %0.2f V/uSec"%SR
#given data
Vo=10 #in Volt
SR=1 #in V/uSec
dV=(0.9-0.1)*Vo
dt=dV/SR #in uSec
print "Rise time = %0.f uSec"%dt
#given data
V1=-5 #in Volt
V2=5 #in Volt
SR=0.5 #in V/uSec
dV=V2-V1 # in Volt
dt=dV/SR #in uSec
print "Rise time = %0.f uSec"%dt
import numpy as np
#given data
fm=50 #in kHz
SR=0.5 #in V/uSec
#formula : SR=2*pie*fm*Vm
Vm=(SR*10**6)/(2*np.pi*fm*10**3) #in Volts
print "Maximum voltage = %0.2f Volt "%Vm
import numpy as np
#given data
SR=6 #in V/uSec
#formula : SR=2*pie*fm*Vm
# part (i) Vm=1 volt
Vm=1 #in Volts
fm=((SR*10**6)/(2*np.pi*Vm))/1000 #in kHz
print "when Vm=1 volt the limiting frequency = %0.f kHz"%fm
# part (ii) Vm=10 volt
Vm=10 #in Volts
fm=((SR*10**6)/(2*np.pi*Vm))/1000 #in kHz
print "when Vm=10 Volt the limiting frequency = %0.1f kHz"%fm