from __future__ import division
rl2=(4.7*10.1)/(4.7+10.1) # in k-ohm
print " R_L2 = R_c2 || (R_e1+Rf) =%0.2f kohm"%rl2
print " A_i2 = -hfe = -100"
print " R_i2 = hie = 1100 ohm"
av2=(-100*3.21*10**3)/1100
print " A_v2 = A_i2*R_L2 / R_i2 =%0.2f"%av2
print " A_i1 = -hfe = -100"
rl1=(22*220*22*1.100)/((220*22*1.100)+(22*22*1.100)+(22*220*1.100)+(22*220*22)) # in ohm
print " R_L1 = R_c1 || R3 || R4 || R_i2 =%0.2f ohm"%(rl1*10**3)
ri1=1.1+(101*((0.1*10)/(0.1+10))) # in k-ohm
print " R_i1 = hie + (1+hfe)*R_e1eff = %0.2f kohm where Re1eff = (R_e1 || Rf)"%ri1
av1=(-100*995)/(11.099*10**3)
print "Therefore, A_v1 = A_i1*RL1 / Ri1 =%0.2f"%av1
print "The overall voltage gain without feedback is given as,"
av=-291.82*-8.96
print " Av = A_v1 * A_v2 =%0.2f"%av
print "The overall voltage gain taking Rs in account is given as,"
aV=(2614.7*11.099*10**3)/((11.099*10**3)+100)
print " Av = Vo / Vs = Av*R_i1 / R_i1+Rs =%0.2f"%aV
print ""
print "Step 5: Calculate beta"
print "Looking at Fig.1.33."
beta=100/(100+(10*10**3))
print " beta = Vf / Vo =%0.2f"%beta
d=1+(0.0099*2591.35)
print " D = 1 + beta*Av =%0.2f"%d
avf=2591.35/26.65
print " A_vf = Av/D =%0.2f"%avf
rif=26.65*11.099 # in k-ohm
print " R_if = R_i1 * D =%0.2f kohm"%rif
riff=(295.788*220*22)/((220*22)+(295.788*22)+(295.788*220)) # in k-ohm
print " R''_if = R_if || R1 || R2 =%0.2f kohm"%riff
print " R_of = Ro / D = infinity / D = infinity"
print "Therefore, R''_of = R''_o / D where R''_o = R_L2"
roff=(3.21*10**3)/26.65 # in omh
print "Therefore, R''_of(in ohm) = %0.2f ohm"%roff
from __future__ import division
avf=600/(1+(600*0.01))
print "A_vf = A / 1+A*beta =%0.2f"%avf
from __future__ import division
print "Given: beta = 0.04, Distortion with feedback = 3%, Distortion without feedback = 15%"
d=15/3
print "Therefore, D =%0.2f"%d
print "where D = 1 + A*beta = 5"
a=4/0.04
print "Therefore, A =%0.2f"%a
from __future__ import division
print "(a) Gain with feedback"
av=1000/(1+(0.05*1000))
print " AV_mid = Av_mid / 1+beta*Av_mid =%0.2f"%av
flf=50/(1+(0.05*1000)) # in Hz
print "(b) f_Lf(in Hz) = f_L / 1+beta*Av_mid =%0.2f"%flf
fhf=((50*10**3)*(1+(0.05*1000)))*10**-6 # in MHz
print "(c) f_Hf(in MHz) = f_H * (1+beta*Av_mid) =%0.2f"%fhf
from __future__ import division
print "(a) beta: -40 = 20*log[1+beta*A]"
print "Therefore, 1+beta*A = 100"
b=99/1000
print "Therefore, beta =%0.2f"%b
print "Gain of the amplifier with feedback is given as"
avf=1000/100
print " A_Vf = A_V / 1+beta*A_V =%0.2f"%avf
print "(b) To maintain output power 10 W, we should maintain output voltage constant and to maintain output constant with feedback gain required Vs is"
vsf=10*100*10**-3 # in V
print " V_sf(in V) = Vs * 100 =%0.2f"%vsf
print "(c) Second harmonic distortion is reduced by factor 1 + beta*A"
d2f=(0.1/100)*100 # in percentage
print " D_2f(in percentage) = D_2 / 1+beta*A =%0.2f"%d2f,
from __future__ import division
print "(a) We know that"
print " dAf/Af = 0.1/1+beta*A * dA/A"
print "Therefore, 1+beta*A = 37.5"
b=(36.5/2000)*100 # in percentage
format(6)
print "Therefore, beta(in percentage) =%0.2f"%b
af=2000/(1+(0.01825*2000))
print "(b) Af = A / 1+beta*A =%0.2f"%af
from __future__ import division
print "The voltage gain of the amplifier with feedback is given as,"
print "A_vf = A / 1+A*beta where beta = 0.1 and A = 100"
avf=100/(1+(100*0.1))
print "Therefore, A_vf =%0.2f"%avf
print "The bandwidth of an amplifier with feedback is given by,"
print "B_wf = (1+A_mid*beta)f_H - f_L/(1+A_mid*beta)"
print "Assuming f_H >> f_L we have"
print "B_w = f_H and B_wf = (1+A_mid*beta)B_w"
bwf=(1+(100*0.1))*300
print "Therefore, B_wf(in kHz) =%0.2f"%bwf
print "The gain bandwidth product before feedback can be given as"
gbp=100*300*10**3
print "Gain bandwidth product = A_v*B_w =%0.2f"%gbp
gbpf=9.09*3300*10**3
print "Gain bandwidth product after feedback= A_vf*B_wf =%0.2f"%gbpf
print "If bandwidth is to be limited to 800 kHz we have f_Hf = 800 kHz assuming f_Hf >> f_Lf"
print "We know that"
print "B_wf = (1+A_vmid*beta)*f_H"
b=((8/3)-1)/100
print "Therefore, beta =%0.2f"%b
from __future__ import division
print "The voltage gain with feedback can be given as"
avf=4000/(1+(4000*0.05))
print "A_vf = A_v / 1+A_v*beta =%0.2f"%avf
print "In a voltage series feedback input resistance with feedback is given as"
rif=2*(1+(0.05*4000))
print "R_if = R_i(1+beta*A_v) =%0.2f kohm"%rif
rof=(60*10**3)/(1+(0.05*4000))
print "In a voltage series feedback output resistance with feedback is given as"
print "R_of = Ro / 1+beta*A_v =%0.2f ohm"%rof
from __future__ import division
print "The voltage gain of amplifier can be given as"
av=36/0.028
print "A_v = Vo/V_in =%0.2f"%av
print "(i) beta = 0.012"
print "Therefore, The gain of the amplifier with feedback is given as"
af=1285.7/(1+(1285.7*0.012))
print "A_f = A_v / 1+A_v*beta =%0.2f"%af
print "The output voltage with feedback is given as"
vo=78.26*0.028
print "Vo = A_f * V_in =%0.2f V"%vo
vin=7*0.028
print "(ii) If the output remains constant at 36V, then the distortion produced within the active devices of the amplifier is unchanged. However, since the distortion at the output is less than in part (i) by a factor of 7, it follows that the feedback now increased by 7 and hence, the voltage gain decreased by 7. Thus, the input signal required to produce the same output (as in part(i)) without feedback must be:"
print "V_in = %0.2f V"%vin
from __future__ import division
print "(i) The gain of the amplifier is given as"
print "60 dB = 20 log(Vo/V_s)"
print "Therefore, A_v = Vo/V_s = 1000"
print "beta = 1/20 = 0.05"
print "Therefore, The gain of amplifier with feedback is"
avf=1000/(1+(1000*0.05))
print "A_vf = A_v / 1+A_v*beta =%0.2f"%avf
print "(ii) The gain of the amplifier is directly proportional to the g_m. Therefore, the gain of the amplifier without feedback changes as same amount as g_m changes"
print "Therefore, A_v = A_v +- 0.5*A_v = 1000 +- 500"
print "The gain of the amplifier with feedback is now given as"
avf1=1500/(1+(1500*0.05))
avf2=500/(1+(500*0.05))
print "A_vf = A_v / 1+A_v*beta =%0.2f"%avf1
from __future__ import division
print "A_v = 1000 and beta = 0.1"
fh=1+(0.1*1000)
print "(i) f_Hf/f_H = 1 + beta*A_v =%0.2f"%fh
fl=1/(1+(0.1*1000))
format(7)
print "and f_Lf/f_L = 1 / 1+beta*A_v =%0.2f"%fl
print "(ii) With f_L = 20 Hz and f_H = 50 kHz"
fll=20*0.0099
print "f_Lf =%0.2f Hz"%fll
fhh=(50*101)*10**-3
format(5)
print "f_Hf =%0.2f MHz"%fhh
from __future__ import division
print "The voltage gain of the amplifier is given as"
av=50/0.2
print "A_v = Vo/V_in =%0.2f"%av
print "We know that,"
b=((0.06/0.01)-1)/250
print "B_2f = B_2 / 1+A_v*beta =%0.2f"%b
print "Therefore, feedback ratio, beta"
avf=250/(1+(250*0.02))
print "A_vf = A_v / 1+A_v*beta =%0.2f"%avf
vin=50/41.66
print "To produce output voltage of 50 V V_in must be"
print "V_in = 50/A_vf =%0.2f"%vin
from __future__ import division
print "Given A_vf = 120"
print "A_v = Vo/V_s = Vo/60mV"
print "and A_vf = Vo/0.5"
vo=0.5*120
print "Therefore, Vo(in V) =%0.2f"%vo
print "with Vo = 60 V we have,"
av=60/(60*10**-3)
print "A_v =%0.2f"%av
b=((1000/120)-1)/1000
print "We know that,"
print "A_vf = A_v / 1+A_v*beta"
print "Therefore, beta =%0.2f"%b
from __future__ import division
print "Step 1: Identify topology"
print " By shorting output(Vo = 0), feedback voltage V_f becomes zero, hence it is a voltage sampling. Since feedback is mixed in series with input the topology is voltage series feedback amplifier"
print ""
print "Step 2 and Step 3: Find input and output circuit."
print " To find input circuit, set Vo = 0. This places the parallel combination of resistors 3.3K and 3.3K at the first emitter. To find output circuit, set Ii = 0. This places resistors 3.3K and 3.3K in series across the output. The resultant circuit is shown in fig 1.48"
print ""
print "Step 4: Replace transistor with its h-parameter equivalent as shown in fig.1.49"
print ""
print "Step 5: Find open loop transfer gain."
print "A_v = A_v1*A_v2"
print " = V_i2/V_i1 * Vo/V_i2"
print " = Vo/V_i2 = -h_fe*R_L2 / R_i2"
rl2=3.3+3.3
print "where R_L2(in k-ohm) =%0.2f kohm"%rl2
print "and R_i2 = h_ie = 2 K"
voi=(-50*6.6)/2
print "Therefore, A_v2 = Vo/V_i2 =%0.2f"%voi
print "V_i2/V_i1 = -h_fe*R_L1 / R_i1"
rl1=((51*2)/(53))
print "where R_L1(in k-ohm) =%0.2f kohm"%rl1
print "and R_i = [h_ie + (1+h_fe)(3.3K||3.3K)]"
ri=2+(51*1.65)
print "Therefore, R_i1 = %0.2f kohm"%ri
vi21=(-50*1.92)/(86.15)
print "Therefore, A_v1 = V_i2/V_i1 =%0.2f"%vi21
av=-165*-1.114
print "Therefore, A_v =%0.2f"%av
print ""
print "Step 6: Calculate beta"
be=3.3/6.6
print "beta = V_f/Vo =%0.2f"%be
print "We know that, D = 1 + beta*A_v :"
avf=183.86/92.93
print "A_vf = A_v/D =%0.2f"%avf
from __future__ import division
print "Step 1: Identify topology"
print " By shorting output(Vo = 0), feedback voltage V_f becomes zero.The feedback is mixed in series feedback."
print ""
print "Step 2 and Step 3: Find input and output circuit."
print " To find input circuit, set Vo = 0. This places the parallel combination of resistors 10K and 1K at the first emitter. To find output circuit, set Ii = 0. This places resistors 10K and 1K in series across the output. The resultant circuit is shown in fig 1.51."
print ""
print "Step 4: Replace transistor with its h-parameter equivalent as shown in fig.1.52."
print ""
print "Step 5: Find open loop transfer gain."
print "A_v = A_v1*A_v2"
print " = V_i2/V_i1 * Vo/V_i2"
print "Vo/V_i2 = -h_fe*R_L2 / R_i2"
rl2=(5.1*11)/(16.1)
print "where R_L2 = %0.2f kohm"%rl2
print "and R_i2 = h_ic = 1.1 K"
voi=(-50*3.484)/1.1
print "Therefore, Vo/V_i2 =%0.2f"%voi
print "V_i2/V_i1 = -h_fe*R_L1 / R_i1"
rl1=((1.1*1)/(2.1))*10**3
print "where R_L1 = %0.2f ohm"%rl1 #answer in text book is wrong
print "and R_i = 82K || [h_ie + (1+h_fe)(1K||10K)]"
ri=((82*47.459)/(82+47.459))
print "Therefore, R_i = %0.2f kohm"%ri
vi21=(-50*523.8)/(30*10**3)
print "Therefore, V_i2/V_i1 =%0.2f"%vi21
av=-158.36*-0.888
print "Therefore, A_v =%0.2f"%av
print ""
print "Step 6: Calculate beta"
be=1/10
print "beta = V_f/Vo =%0.2f"%be
print ""
print "Step 7: Calculate A_vf, R_if and R''_of"
d=1+(0.1*140.62)
print "D = 1 + beta*A_v =%0.2f"%d
avf=140.62/15.062
print "A_vf = A/D =%0.2f"%avf
rif=30*15.062
print "R_if = R_i*D =%0.2f kohm"%rif
print "R''_o = R_L2 = 3.484 k-ohm"
rof=(3.484*10**3)/15.062
print "R''_of = R''_o/D =%0.2f ohm"%rof
from __future__ import division
print "Step 1: Identify topology"
print " By shorting output voltage (Vo = 0), feedback voltage Vf becomes zero and hence it is voltage sampling. The feedback voltage is applied in series with the input voltage hence the topology is voltage series feedback."
print ""
print "Step 2 and Step 3: Find input and output circuit."
print " To find input circuit, set Vo = 0. This places the parallel combination of resistor 10 K and 200 ohm at first source. To find output circuit, set Ii = 0. This places the resistor 10K and 200 ohm in series across the output. The resultant circuit is shown in fig 1.54."
print ""
print "Step 4: Replace FET with its equivalent circuit as shown in fig.1.55."
print ""
print "Step 5: Find open loop transfer gain."
print " Av = Vo / Vs = A_v1 * A_v2"
print " A_v2 = -u*R_L2 / R_L2+r_d"
rl2=(10.2*47)/(10.2+47) # in k-ohm
print "where R_L2 = %0.2f kohm"%rl2
av2=(-40*8.38)/18.38
print " A_v2 =%0.2f"%av2
print " A_v1 = u*R_Deff / r_d+R_Deff+(1+u)*R_seff"
rdeff=(47*1000)/(47+1000) # in k-ohm
print " R_Deff = R_D || R_G2 =%0.2f kohm"%rdeff
av1=(-40*44.98)/(10+44.89+(41*((0.2*10)/(10+0.2))))
print "Therefore, A_v1 =%0.2f"%av1
av=-28.59*-18.237
print "Therefore, Av = A_v1 * A_v2 =%0.2f"%av
print ""
print "Step 6: Calculate beta"
beta=200/(10000)
print " beta = Vf / Vo =%0.2f"%beta
print ""
print "step 7: Calculate D, A_vf, R_if, R''_of"
d=1+(0.02*521.39)
print " D = 1 + Av*beta =%0.2f"%d
avf=521.39/11.4278
print " A_vf = Av / D =%0.2f"%avf
print "Ri = R_G = 1 M-ohm"
rif=11.4278
print " R_if = Ri * D =%0.2f Mohm"%rif
ro=10 # in k-ohm
print " R''o = rd =%0.2f kohm"%ro
rof=(10*10**3)/11.4278 # in ohm
print " R''_of = R''o / D =%0.2f ohm"%rof
rod=(10*8.38)/18.38
print "R''_o = %0.2f kohm"%rod
rofd=(4.559*10**3)/11.4278
print "Therefore, R''_of = R''_o/D =%0.2f ohm"%rofd
from __future__ import division
print "Here, output voltage is sampled and fed in series with the input signal. Hence the topology is voltage series feedback."
print " The open loop voltage gain for one stage is given as,"
print " Av = -gm*R_eq"
req=(8*40*1000)/((40*1000)+(8*1000)+(8*40)) # in k-ohm
print " R_eq = r_d || R_d || (R_i1+R_2) =%0.2f kohm"%req
av=-5*6.62
print " Av =%0.2f"%av
avm=-33.11**3
print "Av = Overall voltage gain = |A_vmid|**3 =%0.2f"%avm # answer in textbook is wrong
beta=50/(10**6)
print " beta = Vf / Vo = -R_1 / R_g = -R_1 / R_1+R_2 =%0.2f"%beta
d=1+((-5*10**-5)*-36306)
print " D = 1 + |Av|*beta =%0.2f"%d
avf=-36306/2.8153
print " A_vf = Av / D =%0.2f"%avf
from __future__ import division
print "Here, output terminals are B and ground, thus the forward gain is the gain of Q1 and it is,"
print " A_v= -33.11"
print "Here beta = V_f / V_B = V_f/V_o * V_o/V_C * V_C/V_B"
print "where V_B and V_C are voltages at point B and C, respectively."
print "Therefore, beta_BN = V_f/V_o * A_v3 * A_v2 because V_o/V_C = A_v3 and V_C/V_B = A_v2"
bbn=(5*10**-5)*(33.11**2)
print "Therefore, beta = %0.2f"%bbn
avf=-33.11/2.815
print "Therefore, |A_vf| = A_vf / 1+|A_f|*beta =%0.2f"%avf
print "Step 1: Identify topology"
print "Making output voltage zero(Vo = 0)# feedback does not become zero and hence it is not voltage sampling. By opening the output loop feedback becomes zero and hence it is a current sampling. As I_i = I_s-I_f, the feedback current appears in shunt with the input signl and hence the topology is current shunt feedback"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "To find input circuit, set Vo = 0. This gives series combination of 20K and 1K across the input of the first transistor. To find output circuit, set V_i= 0. This gives parallel combination of 20K and 1K at emitter of the second transistor.The resultant circuit is shown in fig 1.61"
print ""
print "Step 4: Find open circuit current gain"
print "A_I = Io/I_s = -I_c2/I_s = -I_c2/I_b2 * I_b2/I_c1 * I_c1/I_b1 * I_b1/I_s"
print "-I_c2/I_b2 = -h_fe = -100"
print "I_b2/I_c1 = -R_c1 / R_i2+R_c1"
ri2=2+(101*(20/21))
print "where R_i2 = h_ie + (1+h_fe)R_e =%0.2f kohm"%ri2
ibc=(-12)/(98.19+12)
print "Therefore, I_b2/I_c1 =%0.2f"%ibc
print "I_c1/I_b1 = h_fe = 100"
ibs=(21/22)/(2+(21/22))
print "I_b1/I_s =%0.2f"%ibs
ai=100*0.109*0.323*100
print "Therefore, A_I =%0.2f"%ai
print ""
print "Step 5: Calculate beta"
b=4/(24)
print "beta = I_f/Io = R_e2/R_e2+R'' =%0.2f"%b
print ""
d=1+(0.1667*352)
print "Therefore, D = 1 + beta*A_I =%0.2f"%d
aif=352/59.67
print "A_if = A_I/D =%0.2f"%aif
ri=((1*21*2)/((21*2)+(1*2)+(21*1)))*10**3
print "R_i = %0.2f ohm"%ri
rif=646/59.67
print "R_if = R_i/D =%0.2f ohm"%rif
print "Ro = infinity"
print "Therefore, R_of = infinity because h_oe = 0"
print "R''_o = Ro || R_c2 = 4 k-ohm"
print "R''_of = R''_o = 4 k-ohm"
avf=(5.9*4)
print "A_vf = A_If*R_L/R_s =%0.2f"%avf
from __future__ import division
print "Step 1: Identify topology"
print "Vo = 0, does not make feedback zero, but Io = 0 makes feedback to become zero and hence it is current sampling. The feedback is fed in shunt with the input signal, hence topology is current shunt feedback"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "To find input circuit, set Vo = 0. This gives series combination of R_e2 and 10K across the input. To find output circuit, set V1= 0. This gives parallel combination of R_e2 and 10K at E2.The resultant circuit is shown in fig 1.63"
print ""
print "Step 4: Replace transistor with its h-parameter equivalent as shown in fig 1.64"
print ""
print "Step 5 : Find open loop current gain"
print "A_I = Io/I_s = -I_c/I_s = -I_o/I_b2 * I_b2/I_c1 * I_c1/I_b1 * I_b1/I_s"
print "Io/I_b2 = -h_fe = -100"
print "I_c2/I_b2 * I_b1/I_e1 = -h_ie*R_c1 / R_i2+R_c2 because I_b2/I_c1 = R_c1/R_c1+R_i2"
ri2=1+(101*(10/11))
print "where R_i2 = h_ie + (1+h_fe)(1K||10K) =%0.2f kohm"%ri2
ibb=(-100*2.2)/(92.818+2.2)
print "Therefore, I_b1/I_s =%0.2f"%ibb
ibs=(11/12)/(1+(11/12))
print "I_b1/I_s =%0.2f"%ibs
ai=100*2.315*0.478
print "A_I =%0.2f"%ai
print "Step 6: Calculate beta"
b=1/(11)
print"beta = R_e2/R_e2+R'' =%0.2f"% b
print ""
print "Step 6: Calculate D,A_If, A_vf, R_if, R_of"
d=1+(0.09*110.7)
print "D = 1 + beta*A_I =%0.2f"%d #answer in textbook is wrong
aif=110.7/11.063
print "A_if = A_I/D =%0.2f"%aif
ri=((1*11*1)/((11*1)+(1*1)+(11*1)))*10**3
print "R_i = %0.2f ohm "%ri
rif=478/11.063
print "R_if = R_i/D =%0.2f ohm"%rif
print "Ro = infinity"
print "Therefore, R_of = Ro*D = infinity because h_oe = 0"
print "R''_o = 2.2 k-ohm"
print "R''_of = R''_o = 2.2 k-ohm"
from __future__ import division
print "Step 1: Identify topology"
print "Here output voltage is sampled and fed in shunt with the input siganl such that, I_s-I_f = I_i, hence topology is voltage shunt feedback"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "To find input circuit, set Vo = 0. This places resistor R across the input. To find output circuit, set V_i = 0. This places resistor R across output. The resultant circuit is shown in fig 1.69"
print ""
print "Step 4: Replace transistor with its h-parameter equivalent circuits as shown in fig 1.67"
print ""
print "Step 5 : Find open loop transresistance"
print "R_M = Vo/I_s = R_c*Io/I_s = -R_c*I_c/I_s"
print " = R_c * -I_c/I_b * I_b/I_s"
icb=(-100*82)/94
print "-I_c/I_b = -h_fe*R / R+R_c =%0.2f"%icb
print "I_b/I_s = Ro||R / R_s||(R+R_i1)"
ri1=1.1+(101*820*10**-3)
print "R_i1 = h_ie + (1+h_fe)R_e =%0.2f kohm"%ri1
ibs=(82/83)/(83.92+(82/83))
print "Therefore, I_b/I_s =%0.2f"%ibs
rm=-87.23*12*0.0116
print "Therefore, R_M = Vo/I_s =%0.2f kohm"%rm
print ""
print "Step 6: Calculate beta"
b=-1/(82*10**3)
print "beta = I_f/Io = V_i-Vo/Vo*R :"
print " = -1/R = %0.3f because (Vo > V_i)"%b
print ""
print "Step 7: Calculate D, R_Mf, A_vf, R_if, R''_of"
d=1+(-1.22*-12.142*10**-2)
print "D = 1 + beta*R_M =%0.2f"%d
rmf=-12.142/1.148
print "R_Mf = R_M/D =%0.2f kohm"%rmf
avf=-10.57
print "A_vf = V0/V_s = Vo/I_s*R_s : "
print " = R_Mf/R_s = %0.2f because R_Mf = Vo/I_s"%avf
ri=((1*82*83.92)/((82*83.92)+(1*83.92)+(82*1)))
print "R_i = R_s || R_i1 || R =%0.2f kohm"%ri
rif=(0.976*10**3)/1.148
print "R_if = R_i/D =%0.2f ohm"%rif
print "Ro = infinity"
print "Therefore, R_of = infinity/D = infinity because h_oe = 0"
ro=(12*82)/(94)
print "R''_o = R || R_c =%0.2f kohm"%ro
rof=(10.468)/1.148
print "R''_of = R''_o/D =%0.2f kohm"%rof
from __future__ import division
print "Step 1: Identify topology"
print "Here output voltage is sampled and fed in shunt with the input siganl such that, I_s-I_f = I_i, hence topology is voltage shunt feedback"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "To find input circuit, set Vo = 0. This places resistor R across the input. To find output circuit, set V_i = 0. This places resistor R across output. The resultant circuit is shown in fig 1.69. The circuit shows voltage source replaced by current source"
print ""
print "Step 4: Replace transistor with their h-parameter equivalent circuits as shown in fig 1.70"
print ""
print "Step 5 : Find open loop transfer gain"
print "R_M = Vo/I_s = R_c2*Io/I_s"
print " = R_c2 * Io/I_b2 * I_b2/I_e1 * I_e1/I_b1 * I_b1/I_s"
iob=(-100*2.2)/7.3
print "Io/I_b2 = -h_ie*R / R+R_c2 =%0.2f"%iob
iobe=(101*1.1)/3.1
print "I_b2/I_e2 * I_e1/I_b1 = -h_ie*R / R+R_c2 =%0.2f"%iobe
print "I_b1/I_s = R_s||R / (R_s||R)+R_i1"
ri1=2+(101*1.1)
print "where R_i1 = h_ie + (1+h_fe)R_e =%0.2f kohm"%ri1
ibs=(2.2/3.2)/((2.2/3.2)+(113.1))
print "I_b1/I_s =%0.2f"%ibs
rm=5.1*-30.137*35.84*6.04*10**-3
print "Therefore, R_M = %0.2f kohm"%rm
print ""
print "Step 6: Calculate beta"
b=-1/(2.2*10**3)
print "beta = I_f/Io = V_i-Vo/Vo*R : "
print " = -1/R = %0.2f because (Vo > V_i)"%b
print ""
print "Step 7: Calculate D, R_Mf, A_vf, R_if, R''_of"
d=1+(4.545*33.539*10**-1)
print "D = 1 + beta*R_M =%0.2f"%d
rmf=-33.539/16.245
print "R_Mf = R_M/D =%0.2f kohm"%rmf
avf=-2.065
print "A_vf = V0/V_s = Vo/I_s*R_s =%0.2f"%avf
ri=((1*113.1*2.2)/((113.1*2.2)+(1*113.1)+(2.2*1)))*10**3
print "R_i = R_s || R_i1 || R = %0.2f ohm"%ri #answer in textbook wrong
rif=(683)/16.245
print "R_if = R_i/D = %0.2f ohm"%rif
print "Ro = infinity"
print "Therefore, R_of = infinity/D = infinity"
ro=(2.2*5.1)/(7.3)
print "R''_o = R || R_c2 =%0.2f kohm"%ro
rof=(1.537*10**3)/16.245
print "R''_of = R''_o/D =%0.2f ohm"%rof
from __future__ import division
print "Step 1: Identify topology"
print "By making Vo = 0, feedback current becomes zero. Hence it is a voltage sampling. The feedback is fed in shunt with the input signal and thus the topology is voltage shunt feedback"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "To find input circuit, set Vo = 0. This places resistor R across the input. To find output circuit, set V_i = 0. This places resistor R across output. The resultant circuit is shown in fig 1.72"
print ""
print "Step 4: Replace FET with its equivalent circuit as shown in fig 1.73"
print ""
print "Step 5 : Find open loop transresistance"
print "R_M = Vo/I_s = -g_m*V_gs*R_eff/I_s"
reff=(40*200*10)/((200*10)+(400)+(40*200))
print "where R_eff = r_d || R || R_D =%0.2f kohm"%reff
print "and V_gs = I_s*R_i = I_s * R_s||1M||R"
print " = I_s * 10K||1M||200K"
print " = 9.43*10**3 I_s"
rm=-2.5*9.43*7.69
print "R_M = %0.2f kohm"%rm
print ""
print "Step 6: Calculate beta"
b=-1/(200*10**3)
print "beta = I_f/Io = V_i-Vo/Vo*R : "
print " = -1/R = %0.2f because (Vo > V_i)"%b
print ""
print "Step 7: Calculate D, R_Mf, A_vf, R_of, R''_of"
d=1+(5*181.29*10**-3)
print "D = 1 + beta*R_M =%0.2f"%d
rmf=-181.29/1.9
print "R_Mf = R_M/D =%0.2f kohm "%rmf
avf=-95.415/10
print "A_vf = V0/V_s = Vo/I_s*R_s = R_Mf/R_s =%0.2f"%avf
ri=(10*1000*200)/((1000*200)+(10*200)+(1000*10))
print "R_i = R_s || M || R =%0.2f kohm"%ri
rif=(9.43)/1.9
print "R_if = R_i/D =%0.2f kohm"%rif
ro=(40*200*10)/((200*10)+(400)+(40*200))
print "R''_o = r_eff = r_d || R || R_D =%0.2f kohm"%ro
rof=(7.69/1.9)
print "R''_of = R''_o/D =%0.2f kohm"%rof
from __future__ import division
print "Step 1: Identify topology"
print "The feedback voltage is applied across the resistance R_e1 and it is in series with input signal. Hence feedback is voltage series feedback"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "To find input circuit, set Vo = 0, which gives parallel combination of R_e1 with R_f at E1 as shown in fig 1.75. To find output circuit, set I_i = 0 opening the input node E1 at emitter of Q1, which gives series combination of R_f and R_e1 across the output. The resultant circuit is shown in fig 1.75"
print ""
print "Step 4: Find open loop voltage gain (A_v)"
rl2=(2.2*52.5)/54.7
print "R_L2 = R_c2 || (R_f+R_e1) =%0.2f kohm"%rl2
print "A_i2 = -h_fe = -50"
print "R_i2 = h_ie = 1.2 k-ohm"
av2=(-50*2.11)/1.2
print "A_v2 = A_i2*R_L2 / R_i2 =%0.2f"%av2
rl1=(100*1.2)/101.2
print "R_L1 = R_c1 || R_i2 =%0.2f kohm"%rl1
print "A_i1 = -h_fe = -50"
ri2=1.2+(51*(51*1.5/52.5))
print "R_i1 = h_ie + (1+h_fe)R_e =%0.2f kohm"%ri2
av1=(-50*1.185)/75.51
print "Therefore, A_v1 = A_i1*R_L1 / R_i1 =%0.2f"%av1
print "The overall gain without feedback is given as"
av=-0.784*-87.91
print "A_v = A_v1*A_v2 =%0.2f"%av
print ""
print "Step 5: Calculate beta"
b=1.5/52.5
format(7)
print "beta = V_f/Vo =%0.2f"%b
print ""
print "Step 6: Calculate D,A_vf, R_if, R_of"
d=1+(0.0285*68.92)
format(6)
print "D = 1 + beta*A_v =%0.2f"%d
avf=68.92/2.964
print "A_vf = A_v/D =%0.2f"%avf
ri=(75.51*200.1485)/(200.1485+75.51)
print "R_i = R || R_i1 =%0.2f kohm"%ri
rif=54.82*2.964
print "R_if = R_i/D =%0.2f kohm"%rif
print "Ro = infinity because h_oe = 0"
print "R''_o = Ro || R_c2 || (R_f+R_e1) = Ro || R_L2 = infinity || 2.11 K = 2.11 K"
rof=(2.11*10**3)/2.964
print "R''_of = R''_o/D =%0.2f ohm"%(rof)
from __future__ import division
from __future__ import division
print "Step 1: Identity topology"
print "The feedback is given from emitter of Q2 to the base of Q2. If Io=0 then feedback current through 5K register is zero, hence it is current sampling. As feedback signal is mixed in shunt with input, the amplifier is current shunt feedback amplifier"
print ""
print "Step 2 and Step 3: Find input and output circuit"
print "The input circuit of the amplifier without feedback is obatined by opening the output loop at the emitter of Q2(Io = 0). This places R''(5K) in series with R_s from base to emitter of Q1. The output circuit is found by shorting the input node, i.e. making V1=0. This places R''(5K) in parallel with R_e. The resultant equivalent circuit is shown in fig 1.78"
print "Step 4: Find open circuit transfer gain"
print "A_I = Io/I_s = -I_c/I_s = -I_c2/I_b2 * I_b2/I_c1 * I_c1/I_b1 * I_b1/I_s"
print "We know that -I_c2/I_b2 = A_i2 = -h_fe = -50 and"
print "-I_c/I_b1 = A_i1 = -h_fe = -50"
print "Therefore, I_c1/I_b1 = 50"
print "Looking at fig 1.77 we can write"
print "I_b2/I_c1 = -R_c1/R_c1+R_i2"
ri2=1.5+(51*(5*0.6/5.6))
print "R_i2 = h_ie + (1+h_fe)(R_e2||R'') =%0.2f kohm"%ri2
ibc=-2/30.82
print "Therefore, I_b2/I_c1 =%0.2f"%ibc
print "Looking at fig 1.78 we can write"
print "I_b1/I_s = R/R+R_i1"
r=(5.6*10**3)/6.6
print "where R = R3 || (R''+R_e) =%0.2f ohm"%r
ri1=1.5+20.4
print "and R_i1 = h_ie + (1+h_fe)R_e1 =%0.2f kohm "%ri1
ib1=0.848/22.748
print "Therefore, I_b1/I_s =%0.2f"%ib1
print "Substituting the numerical values obtained in equations of A_I we get,"
ai=50*0.0649*50*0.0372
print "A_I =%0.2f"%ai
print ""
print "Step 5: Calculate beta"
b=0.6/5.6
print "beta = I_f/Io = R_e2 / R_e2+R'' =%0.2f"%b
print ""
print "Step 6: Calculate D,A_If, A_vI, R_sf, R_of"
d=1+(0.107*6)
print "D = 1 + beta*A_I =%0.2f"%d
aif=6/1.642
print "A_if = A_I/D =%0.2f"%aif
avf=(3.654*12)/1
print "A_vf = Vo/V_s = -I_c2/I_s * R_c2/R_s = A_if*R_c2 / R_s =%0.2f"%avf
ri1=(848*21900)/(21900+848)
print "R_i1 = R || R_i1 =%0.2f ohm"%ri1
rif=816.38/1.642
print "R_i = R_i/D =%0.2f ohm"%rif
print "Ro = infinity because h_oe = 0"
print "Therefore, R_of = Ro*D = infinity"
print "R''_o = Ro || R_c2 = infinity || 12 K = 12 K"
print "R''_of = R''_o * 1+beta*A_i/1+beta*A1 = R''_o = R_c2 = 12K"
from __future__ import division
print "Step 1: Identify topology"
print " The feedback voltage is applied across R_e1 = 1.5 k-ohm, which is in series with input signal. Hence feedback is voltage series feedback"
print ""
print "Step 2 and step 3: Find input and output circuit"
print " To find input circuit, set Vo = 0, which gives parallel combination of R_e1 with R_f at E1 as shown in fig.1.80. To find ouput circuit, set I_i = 0 by opening the input node, E1 at emitter of Q1, which gives the series combination of R_f and R_e1 across the output. The resultant circuit is shown in fig.1.80"
print ""
print "Step 4: Find the open loop voltage gain (Av)"
rl2=(2.2*57.5)/(2.2+57.5) # in k-ohm
print " R_L2 = R_c2 || (Rf + R_e1) =%0.2f kohm"%rl2
print "Since hoe*R_L2 = 10**-6*2.119 k-ohm = 0.002119 is less than 0.1 we use approximate analysis."
print " A_i2 = -h_fe = -200"
print " R_i2 = hie = 2 k-ohm"
av2=(-200*2.119)/2
print " A_v2 = A_i2*R_L2 / R_i2 =%0.2f"%av2
rl1=(120*2)/(122) # in k-ohm
print " R_L1 = R_C1 || R_i2 =%0.2f kohm"%rl1
print "Since hoe*R_L1 = 10**-6*1.967 = 0.001967 is less than 0.1 we use approximate analysis."
print " A_i1 = -hfe = -200"
ri1=2+(201*((1.5*56)/(57.5))) # in k-ohm
print " R_i1 = hie + (1+hfe)*Re =%0.2f kohm"%ri1
av1=(-200*1.967)/295.63
print "Therefore, A_v1 = A_i1*R_L1 / R_i1 =%0.2f"%av1
print "The overall gain without feedback is"
av=-1.33*-211.9
format(7)
print " Av = A_v1 * A_v2 =%0.2f"%av
print ""
print "Step 5: Calculate beta"
beta=1.5/57.5
print " beta = Vf / Vo =%0.2f"%beta
print ""
print "Step 6: calculate D, A_vf, R_if, R_of"
d=1+(0.026*281.82)
print " D = 1 + Av*beta =%0.2f"%d
avf=281.82/8.327
print "Therefore, A_vf = Av / D =%0.2f"%avf
ri=(295.63*150)/(295.63+150) # in k-ohm
print " Ri = R_i1 || R =%0.2f kohm"%ri
rif=99.5*8.327 # in k-ohm
print " R_if = Ri *D =%0.2f"%rif
print " Ro = 1/hoe = 1 M-ohm"
rof=((1*10**6)/8.327)*10**-3 # in k-ohm
print " R_of( = Ro / D = %0.2f"%rof
ro=(1000*2.119)/(2.119+1000) # in k-ohm
print " R''o = Ro || R_c2 || (Rf+R_e1) = Ro || R_L2 =%0.2f kohm"%ro
rof=(2.1145*10**3)/8.327 # in ohm
print " R''_of = R''o / D =%0.2f ohm"%rof,
from __future__ import division
print "Fig 1.83 shows current shunt feedback amplifier open circuit transfer gain"
print "A_I = -I_c2/I_s = -I_c2/I_b2 * I_b2/I_c1 * I_c1/I_b1 * I_b1/I_s"
print "I_c2/I_b2 = A_i2 = -h_fe = -100"
print "-I_c1/I_b1 = 100"
ri2=1+(101*(1/10.1))
print "R_i2 = h_ie + (1+h_fe)(R_e2||R'') =%0.2f kohm"%ri2
ibc=-2.2/14.2
print "I_b2/I_c1 = -R_c1 / R_c1+(R_i2+R_b2) =%0.2f"%ibc
print "I_b1/I_s = R/R+h_ie"
r=(10.1*10**3)/11.1
print "R = R_s || (R''+R_e) =%0.2f ohm"%r
ibs=0.9099/1.9099
print "Therefore, I''_b/I_s =%0.2f"%ibs
ai=100*0.155*100*0.476
print "Therefore, A_I =%0.2f"%ai
print "Calculate of beta:"
print "I_f = -I_o*R_e2 / R_e2+R''"
print "beta = I_f/Io = R_e2/R_e2+R'' = 100/100+10K"
d=1+(9.9*737.8*10**-3)
print "D = 1 + beta*A_I =%0.2f"%d
print "A_if = A_I/D = 88.89"
avf=88.89*2.2
print "A_vf = Vo/V_s = -I_c2/I_s * R_c2/R_s = A_if*R_c2 / R_s =%0.2f"%avf
ri1=(909.9*1000)/1909.9
print "R_i1 = R || h_ie =%0.2f ohm"%ri1
rif=476/8.3
print "R_if = R_i/D =%0.2f ohm"%rif
print "R_of = R_c2 = 2.2 k-ohm"
from __future__ import division
print "(i) Voltage gain with feedback A_f = A_v/D"
d=1+(0.02*100)
print "Where, D = 1 + beta*A_v =%0.2f"%d
avf=100/3
print "Therefore, A_vf =%0.2f"%avf
vf=0.02*33.33*40
print "(ii) Feedback voltage V_f = beta*Vo = beta*A_vf*V_i =%0.2f mV"%vf
vo=33.33*40*10**-3
print "(iii) Output voltage Vo(in V) = A_vi*V_i =%0.2f"%vo
from __future__ import division
print "For beta = -0.01, D = 1+beta*A_v = 11"
avf=-100/11
print "(i) Voltage gain A_vf = A_v/D =%0.2f"%avf
rif=10*11
print "(ii) Input impedance R_if(in k-ohm) = R_i*D =%0.2f"%rif
rof=20/11
print "(iii) Output impedance R_of(in k-ohm) = Ro/D =%0.2f"%rof
print "For beta = -0.01, D = 1+beta*A_v = 51"
avf=-100/51
print "(i) Voltage gain A_vf = A_v/D =%0.2f"%avf
rif=10*51
print "(ii) Input impedance R_if(in k-ohm) = R_i*D =%0.2f"%rif
rof=20/51
print "(iii) Output impedance R_of(in k-ohm) = Ro/D =%0.2f"%rof
from __future__ import division
print "We know that,"
print "A_vf = A_v / 1+beta*A_v"
print "Therefore, A_vf + beta*A_v*A_vf = A_v"
b=20/2400
print "Therefore, beta = A_v-A_vf / A_v*A_vf =%0.2f"%b
from __future__ import division
print "Given: A_v mid = 40, f_L = 100 Hz, f_H = 15 kHz and beta = 0.01"
avf=400/(1+(0.01*400))
print "(i) A_vf = A_v mid / 1+beta*A_v mid =%0.2f"%avf
flf=100/(1+(0.01*400))
print "(ii) f_Lf = f_L / 1+beta*A_v mid =%0.2f"%flf
fhf=(15)*(1+(0.01*400)) # in kHz
print "(iii) f_Hf = f_H * (1+beta*A_v mid) =%0.2f kHz"%fhf
bw=75-0.02 # in kHz
format(6)
print "(iv) New Bandwidth = f_Hf - f_Lf =%0.2f kHz"%bw