In [1]:
%pylab
from scipy import constants
k = constants.value('Boltzmann constant')
R = 50


Using matplotlib backend: MacOSX
Populating the interactive namespace from numpy and matplotlib

In [2]:
g = lambda dB: np.power(10.,dB/10.)

In [18]:
T_A1 = 6.3; #SiGe1
G_A1 = g(47.6); #SiGe1
T_A2 = 424.; #AML016P3411
G_A2 =  g(38.7)
G_P7P8 = g(-2.50)
T_P7P8 = ((1.0/G_P7P8) - 1)*(290+4)/2 
G_P9P10 = g(-1.35)
T_P9P10 = ((1.0/G_P9P10) - 1)*290
G_M1 = g(-10.)
T_M1 =  ((1.0/G_M1) - 1)*290
print('T_P7P8 = {0}, T_P9P10 = {1}, T_M1 = {2}'.format(T_P7P8,T_P9P10,T_M1 ))


T_P7P8 = 114.407073276, T_P9P10 = 105.729109611, T_M1 = 2610.0

In [19]:
T_sys =  T_A1 + (T_P7P8/( G_A1 ) ) + (T_A2/( G_A1 *G_P7P8 ) ) + (T_P9P10/( G_A1 *G_P7P8* G_A2) ) + (T_M1/( G_A1 *G_P7P8* G_A2 * G_P9P10) )
print('T_sys = {0}'.format(T_sys))


T_sys = 6.31510630752

In [20]:
print('system noise should be {0} V^2/Hz'.format(4*k*T_sys*R* (G_A1 *G_P7P8* G_A2 * G_P9P10*G_M1)))


system noise should be 3.06544749006e-13 V^2/Hz

In [6]:
10*np.log10(G_A1 *G_P7P8* G_A2 * G_P9P10*G_M1)


Out[6]:
72.450000000000003

In [22]:
((1.0/g(-40)) - 1)*4*g(-40)


Out[22]:
3.9996

In [7]:
k


Out[7]:
1.3806488e-23

In [7]: