* rndsrc -- by CDHW -- writes a gausian random voltage source * * Note: see also the frontend command 'compose' * .control begin setplot new set outfile = "PWL_File.inc" if ($argc = 2) let step = $argv[1] let duration = $argv[2] else echo "usage - rndsrc timestep duration" echo "effect - gaussian source written to file -- $outfile" unset outfile goto done endif set parity = true let time = 0 echo "VpwlT OUT 0 PWL(" > $outfile while time < duration let time = time + step if $parity let X1 = (1+rnd(32768))/32769 let X2 = rnd(32768)/32768*8*atan(1) let Vnoise = sqrt(-2*ln(X1))*cos(X2) set parity = false else let Vnoise = sqrt(-2*ln(X1))*sin(X2) set parity = true endif echo "+ $&time $&Vnoise" >> $outfile end echo "+ )" >> $outfile unset outfile parity label done destroy end .endc