import math
from numpy import array
# Variables
B = 10**6; #Hz
R = array([1, 100, 10000])*10**3 #ohm
# Calculations and Resultsc
Vrms = (16*10**-21*B*R)**0.5; #volts
print ' R K-ohm Vrms micro-V';
out = [R*10**-3, Vrms*10**6];
print (out);
# Variables
B = 10.**6; #Hz
R = 10**7 ; #ohm
# Calculations
Vrms = (16*10**-21*B*R)**0.5; #volts
G = 5000; #gain
vorms = Vrms*G;
# Results
print 'vorms = %.1f V'%(vorms);
# Variables
B = 2*10**6; #Hz
Req = 6*10**6 ; #ohm
# Calculations
Vrms = (16*10**-21*B*Req)**0.5; #volts
# Results
print 'vrms = %.1f micro-V'%(Vrms*10**6);
# Variables
B = 2*10**6; #Hz
R = 50 ; #ohm
kT0 = 4*10**-21;
# Calculations
Nav = kT0*B;
# Results
print 'Noise power = %.0f fW'%(Nav*10**15);
# Variables
B = 2*10**6; #Hz
R = 50 ; #ohm
G = 10**6; #gain
kT0 = 4*10**-21;
# Calculations
Nav = kT0*B;
No = G*Nav;
# Results
print 'output Noise power = %.0f nW'%(No*10**9);
# Variables
#data from ex 12.5
B = 2*10**6; #Hz
R = 50 ; #ohm
G = 10**6; #gain
kT0 = 4*10**-21;
# Calculations
Nav = kT0*B;
No = G*Nav;
#ex12.6
Vrms = (No*50)**0.5;
# Results
print 'Vrms = %.1f micro-V'%(Vrms*10**6);
# Variables
R = 50 ; #ohm
G = 10**8; #gain
kT0 = 4*10**-21;
# Calculations
So = G*kT0;
# Results
print 'Output spectral density Sof) = %.0f fW/Hz'%(So*10**15);
# Variables
ns = 6*10**-18; #W/Hz
k = 1.38*10**-23;
# Calculations and Results
Ts = ns/k;
print 'a) Equilant source temperature is Ts = %.0f K'%(Ts);
Gdb = 43; #gain in dB
G = 10**(Gdb/10);
print ' b) Absolute gain G = %.3f'%(G);
G = 20*10**3; #Approximate
Si = ns;
So = G*Si;
print 'Output spectral density Sof) = %.0f fW/Hz'%(So*10**15);
B = 12*10**6; #Hz
no = So;
No = no*B;
print ' c)Total Output Noise power ,No = %.3f micro-W'%(No*10**6);
# Variables
Gdb1 = 10.;
Gdb2 = 15.;
Gdb3 = 25.;
# Calculations and Results
Gdb = Gdb1+Gdb2+Gdb3; # net gain in dB
G = 10**(Gdb/10);
print 'Absolute gain G = %i'%(G);
B = 10**4; #Hz
ni = 10**-12; #pW/Hz
No = ni*G*B;
print ' Output Noise power ,No = %i mW'%(No*10**3);
# Variables
Te = 50.; #K
T0 = 290.; #K
# Calculations and Results
F = 1+Te/T0;
print 'a) Noise figure, F = %.3f'%(F);
Fdb = 10*math.log10(F);
print ' b) Decibel value , Fdb = %.3f dB '%(Fdb);
# Variables
Fdb = 5.;
T0 = 290.; #K
# Calculations and Results
F = 10**(Fdb/10);
print 'Noise figure, F = %.3f'%(F);
Te = (F-1)*T0;
print ' Noise Temperature , Te = %i K '%(Te);
import math
# Variables
T0 = 290.; #K
Fdb = 9.;
# Calculations and Results
F = 10**(Fdb/10);
print 'Absolute Noise figure, F = %.3f = 8Approx)'%(F);
F = 8; #Approximate
Te = (F-1)*T0;
print ' Noise Temperature, Te = %i K '%(Te);
Ti = T0;
k = 1.38*10**-23; #Boltzmann's Consmath.tant
B = 2*10**6; #Hz
Ni = k*Ti*B; #W
print ' a) Input source Noise ratio, Ni = %i fW '%(Ni*10**15);
Pi = 8*10**-12; #W
SNinput = Pi/Ni;
print 'b) Input source signal to noise ratio S:Ninput = %.0f'%(SNinput);
print ' Corresponding dB value SNinputdb) = %.0f dB'%(10*math.log10(SNinput));
Gdb = 50;
G = 10**(Gdb/10);
Po = G*Pi; #W
print 'c) The output signal power, Po = %i nW'%(Po*10**9);
Tsys = Ti+Te;
No = G*k*Tsys*B; #W
print 'd) output noise power No = %.2f nw'%(No*10**9);
SNoutput = Po/No;
print 'e) Output signal to noise ratio S:Noutput = %.0f'%(SNoutput);
print ' Corresponding dB value S;Noutputdb) = %.0f dB'%(10*math.log10(SNoutput));
import math
# Variables
#Data from ex-12
T0 = 290.; #K
Fdb = 9.;
F = 10**(Fdb/10);
F = 8; #Approximate
Te = (F-1)*T0;
Ti = T0;
# Calculations
k = 1.38*10**-23; #Boltzmann's Consmath.tant
B = 2*10**6; #Hz
Ni = k*Ti*B; #W
Pi = 8*10**-12; #W
SNinput = Pi/Ni;
SNinputdb = 10*math.log10(SNinput);
#Ex13 calculation
SNoutputdB = SNinputdb-Fdb;
# Results
print ' S:Noutputdb) = %.0f dB'%(SNoutputdB);
# Variables
#Absolute gains
G1 = 20.;
G2 = 15.;
G3 = 12.;
#Temp in K
Te1 = 100.;
Te2 = 200.;
Te3 = 300.;
# Calculations
Te = Te1+Te2/G1+Te3/G1/G2
# Results
print 'Noise Temperature ,Te = %.0f K'%(Te);
# Variables
#Absolute gains
G1 = 20.;
G2 = 15.;
G3 = 12.;
#Temp in K
Te1 = 100.;
Te2 = 200.;
Te3 = 300.;
# Calculations
#Noise figures
F1 = 1+Te1/290;
F2 = 1+Te2/290;
F3 = 1+Te3/290;
F = F1+(F2-1)/G1+(F3-1)/G1/G2;
# Results
print 'Noise figure ,F = %.4f'%(F);
Te = (F-1)*290;
print 'Noise Temperature ,Te = %.0f K'%(Te);
# Variables
Ldb = 6.02; #db
# Calculations and Results
L = 10**(Ldb/10);
print 'Absloute loss ,L = %.0f'%(L);
Tp = 290; #K
#Noise temp (K)
TeL = (L-1)*Tp;
Tepre = 50.;
Terec = 200.;
Gpre = 10**(20./10);
Te = TeL+L*Tepre+L*Terec/Gpre;
print 'Noise Temperature ,Te = %.0f K'%(Te);
#Noise figures
F = 1+Te/290;
print 'Noise figure ,F = %.4f'%(F);
print 'Noise figure ,(FdB) = %.3f dB'%(10*math.log10(F));
import math
# Variables
Ldb = 6.02; #db
# Calculations and Results
L = 10**(Ldb/10);
print 'Absloute loss ,L = %.0f'%(L);
Tp = 290.; #K
#Noise temp (K)
TeL = (L-1)*Tp;
Tepre = 50.;
Terec = 200.;
Gpre = 10**(20./10);
Te = Tepre+TeL/Gpre+L*Terec/Gpre;
print ' a) Noise Temperature ,Te = %.1f K'%(Te);
#Noise figures
F = 1+Te/290.;
print ' b) Noise figure ,F = %.2f'%(F);
print 'Noise figure ,(FdB) = %.3f dB'%(10*math.log10(F));