Spodnja celica uvozi vse knjižnice in pripravi nastavitve, ki jih potrebujemo kasneje za računanje in risanje. Poženi pred čemerkoli drugim
from math import pi
from numpy import *
from ipywidgets import *
from matplotlib import pyplot as plt
from matplotlib import rcParams as MpRcParams
from scipy.constants import *
MpRcParams['mathtext.fontset'] = 'cm'
MpRcParams['mathtext.rm'] = 'serif'
%matplotlib inline
f=linspace(100,1e14,1000)
flog=logspace(0,14,1000)
T=300
S=f*h/(2*(exp(h*f/(k*T))-1)) #Planckova in Boltzmannova konstata sta iz scipy knjižnice
Slog=10*log10(flog*h/(2*(exp(h*flog/(k*T))-1))) #Še enkrat isti izračun, le točke na x osi so enakomerno razporejene za log skalo
#Risanje
fig1, ax1 = plt.subplots()
ax1.plot(f,S)
ax1.axhline(0, color='black', lw=1)
ax1.axvline(0, color='black', lw=1)
ax1.set_ylabel(r'$S_X(f)$[W]')
ax1.set_xlabel(r'$f$[Hz]')
fig2, ax2 = plt.subplots()
ax2.plot(flog,Slog)
ax2.set_xscale("log")
ax2.axhline(0, color='black', lw=1)
ax2.axvline(0, color='black', lw=1)
ax2.set_ylabel(r'$S_X(f)$[dBW]')
ax2.set_xlabel(r'$f$[Hz]')
ax2.set_ylim(-240,-200)
(-240.0, -200.0)
S[999]/S[0]*100
0.00018048212731897447
B=100000
tau=linspace(-3.5/(2*pi*B),3.5/(2*pi*B),1000)
T=300
n0=k*T
Rx=n0*B*sinc(2*pi*B*tau)
#Risanje
fig1, ax1 = plt.subplots()
ax1.plot(tau,Rx)
ax1.axhline(0, color='black', lw=1)
ax1.axvline(0, color='black', lw=1)
ax1.set_ylabel(r'$R_X(\tau)$', fontsize=22)
ax1.set_xlabel(r'$\tau$[s]', fontsize=22)
ax1.annotate(r'$\frac{1}{2 \pi B}$',xy=(1/(2*pi*B),0), xytext=(1/(2*pi*B)*0.75,-0.5e-16), fontsize=22)
Text(1.1936620731892152e-06, -5e-17, '$\\frac{1}{2 \\pi B}$')
x=array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
y=array([0, -1, -1, 0, -1, 1, -1, 1, -1, 0, -1, 1, 0, -1, -1, 0])
fig1, ax1 = plt.subplots(figsize=(10,2))
ax1.step(x,y, where='post') #where='pre'|'mid'|'post'
ax1.axhline(0, color='black', lw=1)
ax1.axvline(0, color='black', lw=1)
ax1.set_frame_on(False)