* Tuggle Tuner * Known to work in SpiceOpus 2.25 Light * http://www.fe.uni-lj.si/spice/ * Provide a DC path .option rshunt=1e12 * Sinusoidal Voltage Source with dc value = 0 and rms * value = 100V If dc value is not set you will get a warning. vin 2 0 dc 0 ac 1V * Antenna rant 2 6 25ohm cant 6 7 200pf lant 7 8 20uh * Antenna Loading cload 8 9 1000000000000pF lload 9 10 0uH * Tank rtnkl 10 4 0.3ohm rtnkc 10 3 0.1ohm ltnk 4 5 190uH ctnk 3 5 365pF cgnd 5 13 365pF * Dummy source to measure current to ground vgnd 13 0 dc 0 * Detector rdet 10 12 60kohm * Dummy Source to measure current to detector vdet 12 0 dc 0 .control * Output angle in degrees. set units=degree * Clean the workspace. destroy all let plotpts= 200 let plotmin= 500khz let plotmax= 5000khz let ctmin= 15pf let ctmax= 365pf let ctp = 0pf let cgmin= 15pf let cgmax= 365pf let cgp = 0pf * Estimate impedance match let rdmin= 20000ohm let rdmax= 60000ohm * let closed=1 * foreach appears to be disabled in this version alter ctnk=ctmax+ctp alter cgnd=cgmax+cgp alter rdet=rdmax ac oct {plotpts} {plotmin} {plotmax} let closed=0.9 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.8 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.7 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.6 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.5 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.4 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.3 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.2 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} let closed=0.1 alter ctnk=ctmin+closed*{ctmax-ctmin}+ctp alter cgnd=cgmin+closed*{cgmax-cgmin}+cgp alter rdet=rdmin+closed*{rdmax-rdmin} ac oct {plotpts} {plotmin} {plotmax} alter ctnk=ctmin+ctp alter cgnd=cgmin+cgp alter rdet=rdmin ac oct {plotpts} {plotmin} {plotmax} * Plot power plot mag(ac1.i(vdet))*mag(ac1.v(5))/2 + mag(ac2.i(vdet))*mag(ac2.v(5))/2 + mag(ac3.i(vdet))*mag(ac3.v(5))/2 + mag(ac4.i(vdet))*mag(ac4.v(5))/2 + mag(ac5.i(vdet))*mag(ac5.v(5))/2 + mag(ac6.i(vdet))*mag(ac6.v(5))/2 + mag(ac7.i(vdet))*mag(ac7.v(5))/2 + mag(ac8.i(vdet))*mag(ac8.v(5))/2 + mag(ac9.i(vdet))*mag(ac9.v(5))/2 + mag(ac10.i(vdet))*mag(ac10.v(5))/2 + mag(ac11.i(vdet))*mag(ac11.v(5))/2 + xlabel "Frequency[Hz]" + ylabel "Power[W]" + title "Apparent Power to Detector from 1V in" * Plot gain plot db(ac1.v(5)) + db(ac2.v(5)) + db(ac3.v(5)) + db(ac4.v(5)) + db(ac5.v(5)) + db(ac6.v(5)) + db(ac7.v(5)) + db(ac8.v(5)) + db(ac9.v(5)) + db(ac10.v(5)) + db(ac11.v(5)) + xlabel "Frequency[Hz]" + ylabel "Gain[dB]" + title "Gain" * Plot current to ground * plot mag(ac1.i(vgnd)) mag(ac2.i(vgnd)) .endc .end * (c)2008 David Wagner * Source: R.S. Ananda Murthy, Dept. of E&EE, SJCE, Mysore, A Simplified Introduction to Circuit Simulation using Spice Opus 33 * http://fides.fe.uni-lj.si/spice/download/tutorial-rsam.pdf