import math
#Given
Tj=125; #in degree celsius
Tamp=60; #n degree celsius
Pt=1.8; #in W
RthJ_a =34; #in k/w(Assumption)
Rth=(Tj-Tamp)/Pt;
print"Rth =",round(Rth,4),"K/W";
if Rth>RthJ_a:
print"No Heat sink is required";
else:
print"Yes,Heat sink is required";
import math
#Given
Tj=120; #in degree celsius
Tamp=80; #in degree celsius
Pt=2.1; #in W
RthJ_a =34; #in k/w(Assumption)
Rth=(Tj-Tamp)/Pt;
print"Rth =",round(Rth,4),"K/W";
if Rth>RthJ_a:
print"No Heat sink is required";
else:
print"Yes,Heat sink is required";
import math
#given
#data insufficient
Rth=17.70; # Rth assumed minimum
Rthc_H=0.65; #k/w
Rthj_a=33.0; #k/w
Rthj_c=3; #k/w
RthH_a=1/(1/Rth-1/Rthj_a)-Rthj_c-Rthc_H;
print"RthH-a <=",round(RthH_a,4),"K/W";
import math
#given
Vcc=5; #in volt
Icc=24; #in mA
Vset=0.65; #in volt
Vf=1.5; #in volt
IMOD=15; #in mA
TA=25; #in degree celsius
Pdynamic=(Vcc-Vf-Vset)*Icc;
print"Power dissipation under dynamic condition",Pdynamic,"mW";
Pstatic=(Vcc*Icc);
print"power dissipation under static condition",Pstatic,"mW";
PD=Pdynamic+Pstatic;
print"total power dissipation",PD,"mW";
#Tj=TA+PD*wj_a;
TA=25; #in degree cel
wj_a=84; #degree cel/w
PD=188.4; #mW
Tj=TA+PD*10**-3*wj_a;
print"Temp. of junction temp",Tj,"degree C";
import math
#given
Ifon=120.0; #in mA
Vcc=5; #in V
Vfon=2; #in V
R3=(Vcc-Vfon)/Ifon/10**-3 +3.2*(Vcc-Vfon-1.4)/Ifon/10**-3;
print" R3=",round(R3,4),"ohm";
R0=(R3-32)/3.2;
print" R0=",round(R0,4),"ohm";
R1=(R0+10)/2;
print" R1=",round(R1,1),"ohm";
R2=R1-10;
print" R2=",round(R2,1),"ohm";
C1=2*10**-9/R1;
print" C1=",round(C1*10**12,4),"pF";
#answer in book is approximately written
import math
#given
Impd1=250; #in microA
Impd0=25; #in microA
Iref=(1./16)*Impd1*10**-6;
print" Reference current is",Iref*10**6,"microA";
Rref=1.5/Iref;
print" External bias resistor value Rref1 is",Rref/1000,"kohm";
Rref1=24.0/Impd1/10**-6;
print" Also,Rref1=24/Impd \n External bias resistor value is",Rref1/1000,"kohm";
Irefz=(1./4)*Impd0;
print" Ref0 current is",Irefz,"microA";
Rrefz=1.5/Irefz/10**-6;
print" External bias resistor value Rrefz is",Rrefz/1000,"kohm";
import math
#given
R=400; #in mA
nEO=25; #in mW
n_laser=nEO*10**-3*R*10**-3;
print"n_laser =",n_laser;
Tone=(40*10**-12)*(80*10**3)/n_laser;
print"Tone =",Tone*10**6,"micros";
BWone=1./(2*math.pi*Tone);
print"BWone =",round(BWone,4),"Hz ";
Tzero=(40*10**-12)*80*10**3/n_laser;
BWzero=1.0/2/math.pi/Tzero; #Hz
print"BWzero =",round(BWzero,4),"Hz";
#answer misprinted
import math
#given
iol =5; #in mA
ioh=80; #bias current in mA
ralarmH=(1.5*1500)/ioh/10**-3;
print" Alarm resistor RalarmH is",ralarmH/1000,"kOhm";
ralarmL=(1.5*300)/iol/10**-3;
print" Alarm resistor RalarmL is",ralarmL/1000,"kOhm";
ialarmh=80*10**-3;
ialarmH=ioh*10**-3/1500;
print" Alarm current IalarmH is",round(ialarmH*10**6,4),"microA"; #unit of anwer misprinted in book
ialarml=5*10**-3;
ialarmL=iol*10**-3/300;
print" Alarm current IalarmL is",round(ialarmL*10**6,4),"microA";
import math
#given
Ibias=15.; #in mA assumption
Ild=35.; #in mA
Rld=50.; #in ohm
Ildi=100.; #in mA
Ilde=50.; #in mA
Imod=(Ildi+Ilde)/Ildi*35; #mA
print"Total modulation current is \nImod=",round(Imod,4),"mA";
Ildq=1.2/100*10**3; #in mA
print"The current complementary output is Ildq=",round(Ildq,4),"mA";
Vld=-1.2-Rld*(Ibias+Ild)*10**-3; #optical high
print"The laser voltage for optical high is Vld=",round(Vld,4),"V";
Vld=-1.2-Rld*(Ibias)*10**-3; #optical dark
print"The laser voltage for optical dark is Vld=",round(Vld,4),"V";
Vldq=-Ild*10**-3*Rld;
print"The laser voltage at complimentary o/p is Vldq=",round(Vldq,4),"V";
Rchock=5; #in Ohm
Vchock=-Rchock*Ibias*10**-3;
print"Vchock=",round(Vchock,4),"V";
Vbias=0.5*(-3.7+Vld)+Vchock;
print"Vbias=",round(Vbias,4),"V";
#(i) Pdvee1
Pdvcc=5*2.5; #in mW
print"Pdvcc=",round(Pdvcc,4),"mW";
Pdvee1=4.5*80; #in mW
print"Pdvee1=",round(Pdvee1,4),"mW";
#(ii) Pdvee2
Pdvee2=6*160; #in mW
print"Pdvee2=",Pdvee2,"mW";
#(iii) PdLD
PdLD=0.5*(3.75*50); #in mW
print"PdLD=",round(PdLD,4),"mW";
#(iv) PdLQ
PdLDQ=0.5*abs(Vld)*50; #in mW
print"PdLDQ=",round(PdLDQ,4),"mW";
#(v) PdLDQ
Pdbias=abs(Vbias)*Ibias; #in mW
print"Pdbias=",round(Pdbias,4),"mW";
#PT
PT=Pdvcc+Pdvee1+Pdvee2-(PdLD+PdLDQ+Pdbias);
print"Total power dissipation (PT)=",round(PT,4),"mW";
import math
#given
vcc=-5; #in v
imod=35; #in mA
ibias=18; #in mA
vbias=-2; #in v
vout=2; #in v
tj=30; #degree cel
icc=140; #in mA
Pt=(-vcc*icc*10**-3)+(-vcc-vout)*imod*10**-3+(-vcc+vbias)*ibias*10**-3;
print"Pt=",Pt*1000,"mW";
Tj=30; #in degree
Tj_a=Tj*Pt;
Tcase=125-Tj_a; #in degree
print"Tcase(max)=",Tcase,"degree Cel";
import math
#given
z11=49.95; #in ohm
z12=0.15; #in ohm
z21=0.15; #in ohm
z22=49.95; #in ohm
zdiff=2*(z11-z12);
print"Zdiff=",zdiff,"ohm"; #answer misprinted
zcm=z11+z12;
print"Zcm=",zcm,"ohm";
import math
#given
z11=65.4; #in ohm
z12=8.2; #in ohm
z21=8.2; #in ohm
z22=65.4; #in ohm
zdiff=2*(z11-z12);
print" Zdiff=",zdiff,"ohm";
zcm=z11+z12;
print" Zcm=",zcm,"ohm";
import math
#given
dV=50; #in mV
di=3; #in Amp
Lcable=15; #in nH
fL=dV*10**-3/di/2/math.pi/Lcable/10**-9;
print"fLcable =",round(fL/1000,4),"kHz";
import math
#given
dV=50; #in mV
di=4; #in Amp
fL=120; #in kHz
Lcable=dV*10**-3/di/2/math.pi/fL/10**3;
print"The maximum allowed parasitic cable inductance (Lcable) must not exceed",round(Lcable*10**9,4),"nH";
import math
#given
dV=40; #in mV
di=2.5; #in Amp
Lbypas=0.5; #in nH
fL=dV*10**-3/di/2/math.pi/Lbypas/10**-9;
print"fHnoise =",round(fL/10**6,4),"MHz";
import math
#given
dV=50; #in mV
di=2.5; #in Amp
Cbypas=220; #in microF
fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);
print"fLnoise =",round(fL/1000,4),"kHz"; #Result
import math
#given
dV=50; #in mV
di=4; #in Amp
Cbypas=200; #in microF
Lbypas=0.2; #in nH
fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);
print"fLnoise =",round(fL/1000,4),"kHz"; #Result misprinted
fH=dV*10**-3/di/2/math.pi/Lbypas/10**-9;
print"fHnoise =",round(fH/10**6,4),"MHz ";
Bw=fH-fL;
print"Bwnoise =",round(Bw/10**6,4),"MHZ"; #Result miscalculated
import math
#given
dV=40; #in mV
di=3; #in Amp
LT=0.05; #in nH
fH=dV*10**-3/di/2/math.pi/LT/10**-9;
print"fCdecoupling(high) =",round(fH/10**6,4),"MHz"; #Result
import math
#given
dV=45; #in mV
di=2.5; #in Amp
CT=2.2; #in microF
LT=0.05; #in nH
fCL=di/(dV*10**-3*2*math.pi*CT*10**-6);
print"fLnoise =",round(fCL/10**6,4),"MHz"; #Result
fCH=42.3; #in MHz taken from last question i.e. 6.18
print"",round(fCL/10**6,4),"MHz <=B.W.noise <=",round(fCH,4),"MHZ"; #Result