#!/usr/bin/python
##### Admitanca kremenovega kristala - S53MV 09.01.2018 #####

import math,cmath	#uporabljene funkcije

k=100		#korak risanja v radianih
f1=16.74e+6
f2=16.86e+6

c0=3.0e-12	#podatki kristala
r1=25.0
l1=5.0e-3
c1=18.0e-15

cp=20.0e-12	#vzporedni kondenzator

x=[]		#polja za risanje grafa
y=[]
z=[]

f=f1
while f<=f2:
	w=2.0*math.pi*f
	zz=complex(r1,0.0)+complex(0.0,w*l1)+complex(0.0,-1.0/(w*c1))
	yy=(1.0/zz)+complex(0.0,w*c0)
	zz=yy+complex(0.0,w*cp)
	x=x+[f/1000.0]
	y=y+[1000.0*abs(yy)]
	z=z+[1000.0*abs(zz)]	
	f=f+k			#povecaj t za korak

import matplotlib.pyplot as plt		#risanje grafa funkcije
plt.semilogy(x,y,'r-',lw=2)
plt.semilogy(x,z,'b-',lw=2)
plt.title('Kristal C=18fF L=5mH R=25ohm Co=3pF + Cp=20pF')
plt.xlabel('Frekvenca [kHz]')
plt.ylabel('Admitanca abs(Y) [mS]')
plt.grid(True)
plt.show()

#konec programa

