Hey KiCaders,
I was wondering if it is possible to have a voltage source generate a sinc waveform (sin(x)/x)? The option I see in the VSIN component are pulse, sinusoid, exponential…etc. Any thoughts?
Thanks,
-May
A voltage source may create a waveform versus time.
If you talk about sin(t)/t, and of course t can only be positive: yes, you can.
sin(t)/t
.subckt sintot 1 2
Bsin 1 2 v = sin(TIME)/TIME
.ends
xs out 0 sintot
.control
tran 0.1 20
plot v(out)
.endc
.end
You may store the sub circuit in a sin.lib file and then attach it to a suitable symbol with two nodes. TIME may be scaled by a suitable factor and shifted by any value. The Netlist shown above will run in standard ngspice.
1 Like
The next netlist contains a complete sin sub circuit:
You may scale the time, shift the time, and change the output amplitude.
.subckt sintot 1 2
.param scf = 1 ; time scale factor
.param offs = 0 ; time offset
.param amp = 1 ; maximum output voltage
Bsin 1 2 v = {amp} * sin((TIME + {offs}) * {scf})/((TIME + {offs}) * {scf})
.ends
xs out 0 sintot scf = 2 offs = -15 amp = -1.5
.control
tran 0.1 20
plot v(out)
.endc
.end
2 Likes