Quartz simulation example

simulation
skrf
Published

August 15, 2026

quarz simulation

Dieses Beipiel wurde durch ein VNA-Seminar des DARC G01/G02 in Aachen im Juni 2026 angeregt.

Vielen Dank dafür!

Eine einfache Ersatzschaltung eines Schwingquarzes kann so aussehen:

      +---L---C---R---+
      |               |
p1 ---+               +--- p2
      |               |
      +------C0-------+
    
L   =   18.19716      e-3  mH
C   =   14.47256      e-15 fF
C0  =    4.5559235307 e-12 pF
R   =   28.80912679        Ohm
F   =    9.8072119097      MHz
R*Q = 1121.3190689 ==>     Q = 38922.3
import matplotlib.pyplot as plt
import skrf as rf
from skrf import circuit, media, Network, Frequency

rf.stylely()

#freq = Frequency(9.5, 10.5, 1001, 'MHz')
#freq = Frequency(9.805, 10.81, 1001, 'MHz')
freq = Frequency(9.805, 9.81, 1001, 'MHz')
line = media.DefinedGammaZ0(frequency=freq, z0=50)

L = line.inductor(18.19716e-3)
L.name = "Inductor"
C = line.capacitor(14.47256e-15)
C.name = "Cap"
C0 = line.capacitor(4.55592e-12)
C0.name = "Cap_par"
R = line.resistor(28.80912679)
R.name = "Resistor"

plt.rcParams['figure.figsize'] = [4, 4]
LCR = L ** C ** R
LCR.name="LCR"
LCR.plot_s_db()

port1 = circuit.Circuit.Port(freq, name='P_1', z0=50)
port2 = circuit.Circuit.Port(freq, name='P_2', z0=50)
connections = [
    [(port1, 0), (C0, 0), (L, 0),],
    [(L, 1), (C, 0)],
    [(C, 1), (R, 0)],
    [(port2, 0), (C0, 1), (R, 1), ],
]
Q_circuit = circuit.Circuit(connections)

Q = Q_circuit.network
Q.name = "quarz"
Q.plot_s_db()

Free software enabled me to learn, many thanks to many creators: