#Variable declaration
Vo=12. #output voltage(V)
f=1.5*10**3 #frequency(Hz)
h=0.25 #second harmonic content(%)
ho=2.5 #reduced harmonic content of output(%)
A=100 #power amplifier gain
#Calculations
Vd=Vo*h #second harmonic content in output(V)
Vd1=Vo*ho #reduced value of second harmonic content(V)
beta=((Vd1/Vd)-1)/A #feedback gain from formula Vd1=Vd/(1+beta*A)
Vs=Vo*(1+beta*A)/A #signal voltage(V) from formula (A/(1+Beta*A))*Vs
V=Vo/A #signal input needed without feedback
s=Vs/V #additional signal amplification needed before feedback amplifier
#Results
print"feedback gain is",beta
print"signal input to the overall system is",s
#Variable declaration
w2=10**4. #corner frequency(rad/s)
w2new=10**5. #new corner frequency(rad/s)
Ao=1000. #high frquency response
#Calculations
beta=((w2new/w2)-1)/Ao #feedback factor
Anew=Ao/(1+beta*Ao) #overall gain of amplifier from formula w2new=w2(1+beta*Ao)
p=w2*Ao #gain bandwidth product without feedback from formula Anew=Ao/1+beta*Ao
pnew=Anew*w2new #gain bandwidth product with feedback
#Results
print"beta is",beta
print"overall gain is",Anew
print"gain-bandwidth products with and without feedback are",p,"and",pnew,"resp."
#Variable declaration
A=100. #high frquency response
Af=100 #gain
A1=A**2 #forward gain
A1new=50 #gain reduces to 50%
#Calculations
beta=((A1/Af)-1)/A1 #feedback factor
Afnew=A1new**2/(1+beta*A1new**2) #new value of A
g=Af-Afnew #reduction in overall gain
#Results
print"% change in gain of feedback unit is",round(g,2)
#Variable declaration
beta=0.008 #positive gain
#Calculations
Ao=-(8/beta)**(1/3) #A=Ao/2,so beta(A^3)=-1
#Results
print"% change in gain of feedback unit is",round(Ao/1E-1)
import cmath
from math import pi,degrees
#Variable declarations
A = complex(0,60) #amplifier
B = complex(0,30) #amplifier
AB = A*B
C = (1+A)/AB #condition for oscillation
phi = cmath.phase(C) #phase
#Result
print "C =",round(abs(C),4),"with phase =",round(degrees(phi),2)
#Variable declaration
Rbb=8*10**3 #base resistance(k ohms)
eta=0.7 #efficiency
R1=0.2 #R1(k ohms)
Rt=40*10**3 #Rt(ohms)
Ct=0.12*10**-6 #capacitance(F)
Vv=2 #capacitor is charged to voltage(V)
Iv=10*10**-3 #current to capacitor(A)
Ip=10*10**-3 #peak current(A)
Vd=0.7 #diode voltage(V)
V=12. #voltage(V)
#Calculations
#Part a
Rb1=eta*Rbb #base resistance(ohms)
Rb2=Rbb-Rb1 #base resistance(ohms)
#Part b
Vp=Vd+((Rb1+R1)*V/(Rbb+R1)) #peak voltage(V)
#Part c
Rtmin=(V-Vv)/Iv #Rt minimum(k ohms)
Rtmax=(V-Vp)/Ip #Rt minimum(k ohms)
#Part d
Rb11=.12 #resistance during discharge(ohms)
t1=Rt*Ct*1.27 #charging time(mS)
t2=(Rb11+R1)*Ct*1.52 #discharging time(uS)
T=t1+t2 #cycle time
foscE=1/T #oscillations frequency(Hz)
foscA=1/(Rt*Ct*1.2) #oscillations frequency(Hz)
#Part e
vR1=(R1*V)/(R1+Rbb) #vR1 at discharging period
vR1d=(R1*(Vp-Vd))/(R1+Rb11) #vR1 at discharging period
#Results
print"Rb1 and Rb2 are",round((Rb1/1E+3),1),"k ohms and",round((Rb2/1E+3),1),"k ohms resp."
print"Vp is",round(Vp,1),"V"
print"Rtmin is",round(Rtmin/1E+3),",k ohms and Rtmax is",round(Rtmax/1E+1),"k ohms,hence Rt is in the range"
print"foscE is",round(foscE),"Hz and foscA is",round(foscA),"Hz"
print"vR1 is",round((vR1/1E-3),3),"and vRd1 is",round(vR1d,2),"V (range of Rt is wrong in the book)"
#Variable declaration
A=1500 #voltage gain
beta=1/25. #current gain
#Calculations
#Part a
Af=A/(1+A*beta) #voltage gain with feedback
#Part b
g=0.1 #amplifier gain changes by 10%=0.1
gf=g/(1+A*beta) #% by which its gain in feedback mode changes dAf/Af
#Results
print"Amplifier gain with feedback is",round(Af,1)
print"% by which gain in feedback changes is",round((gf/1E-2),3),"%"
#Variable declaration
A=500 #voltage gain
beta=1/20. #current gain
Ro=50*10**3 #output resistance(ohms)
Ri=1.5*10**3 #input resistance(ohms)
#Calculations
#Part a
Af=A/(1+A*beta) #voltage gain with feedback
#Part b
Rif=Ri*(1+(A*beta)) #input resistance(k ohms)
Rof=Ro/(1+A*beta) #output resistance(k ohms)
#Results
print"Amplifier gain is",round(Af,2)
print"input resistance is",round(Rif/1E+3),"K ohms and output resistance is",round((Rof/1E+2),2),"Kohms"
#Variable declaration
Ro=50*10**3 #output resistance(ohms)
Rd=10*10**3 #drain resistance(ohms)
R1=800*10**3 #resistance(ohms)
R2=200*10**3 #resistance(ohms)
gm=5500*10**-6 #transconduuctance(us)
#Calculations
r=(Rd*Ro)/(Rd+Ro) #Rd||Ro
R=R1+R2 #combined resistance of R1 and R2
Rl=(R*r)/(R+r) #load resistance(ohms)
A=-gm*Rl #voltage gain without feedback
beta=R2/(R1+R2) #current gain
Af=A/(1+A*beta) #voltage gain with feedback
#Results
print"Amplifier gain with feedback is",round((Af/1E+1),1),"and without feedback is",A
#Variable declaration
Re=1.25*10**3 #emitter resistance(ohms)
Rc=4.8*10**3 #collector resistance(ohms)
Rb=800*10**3 #base resistance(ohms)
rpi=900 #dynamic resistance(ohms)
Vcc=16 #supply voltage(V)
beta=100. #current gain
#Calculations
A=-(beta/rpi) #amplifier voltage gain
B=-Re
V=(A*Rc)/(1+B*A) #V=Vo/Vs
#Results
print"Amplifier voltage gain is",round(V,1)
import math
#Variable declaration
C1=800*10**-9 #capacitance(F)
C2=2400*10**-9 #capacitance(F)
L=50*10**-6 #inductance(H)
#Calculations
Ceq=(C1*C2)/(C1+C2) #equivalent capacitance(F)
fo=1/(2*math.pi*math.sqrt(L*Ceq)) #output frequency(Hz)
#Results
print"the oscillation frequency is",round((fo/1E+3),2),"KHz"
import math
#Variable declaration
C=200*10**-9 #capacitance(F)
Lrcf=0.5*10**-3 #shunt across L2
L1=800*10**-6 #inductance(H)
L2=800*10**-6 #inductance(H)
M=200*10**-6
#Calculations
L21=(L2*Lrcf)/(L2+Lrcf) #effective value of L2(uH)
Leq=L1+L21+2*M #equivalent inductance(H)
fo=1/(2*math.pi*math.sqrt(Leq*C)) #output frequency(Hz)
#Results
print"the oscillation frequency is",round((fo/1E+3),2),"KHz"