Hi,

this is a small example on how to use ngspice to simulate electronic circuits.

As an example, I chose to simulate the 60 MHz anti aliasing filter of the Upgraded Unified Board of the Pierre Auger Observatory.

First of all, here is the circuit we want to simulate:

Anti aliasing filter with measurement equipment

circuit.cir

AA-Filter
.PARAM	IMPE=50Ohm
V0	in	gnd	DC -0.5 ac PULSE(0 1 1ns 1ns 1ns 5ns)
RS	in	2	IMPE
C77	2	gnd	6p
L39	2	3	47n
C78	3	gnd	30p
L40	3	4	100n
C79	4	gnd	47p
L41	4	out	150n
C80	out	gnd	100p
RL	out	gnd	IMPE
.END

Please note that termination resistors are included. Now we can use ngspice to simulate the circuit.

source circuit.cir
listing //shows the loaded circuit
ac dec 100 1 100k // AC simulation, 100 steps per decade, 1 Hz to 100k Hz
display //shows all available variables
plot abs(V(out)/V(in)) xlog //shows transfer function, x axis logarithmic
plot db(abs(V(out)/V(in))) //shows transfer function in db, x axis logarithmic
plot phase(V(out)/V(in)) //plot phase
hardcopy phase.ps phase(V(out)/V(in)) //store plot in file
set filetype=ascii //set filetype for writes
write phase.asc phase(V(out)/V(in))  //write data in ascii format
quit

Here you can see the simulated transfer function:

Transfer function of the anti aliasing filter