Version 4 SHEET 1 1328 1060 WIRE -512 64 -512 48 WIRE -512 160 -512 144 WIRE -480 -208 -512 -208 WIRE -480 48 -512 48 WIRE -464 -64 -512 -64 WIRE -384 -208 -400 -208 WIRE -384 -112 -384 -208 WIRE -384 -64 -400 -64 WIRE -384 -64 -384 -112 WIRE -384 16 -384 -64 WIRE -352 -112 -384 -112 WIRE -336 16 -384 16 WIRE -336 48 -480 48 WIRE -304 -208 -384 -208 WIRE -256 -112 -272 -112 WIRE -176 -208 -224 -208 WIRE -176 -112 -192 -112 WIRE -176 -112 -176 -208 WIRE -176 32 -272 32 WIRE -144 32 -176 32 WIRE -32 32 -64 32 WIRE -32 48 -32 32 WIRE -32 144 -32 112 WIRE 48 32 -32 32 WIRE 80 -208 -176 -208 WIRE 80 32 48 32 WIRE 80 32 80 -208 WIRE 80 48 80 32 WIRE 80 144 80 128 WIRE 128 32 80 32 WIRE 256 32 208 32 WIRE 256 48 256 32 WIRE 256 144 256 112 WIRE 304 32 256 32 WIRE 416 32 384 32 WIRE 432 32 416 32 WIRE 432 48 432 32 WIRE 432 144 432 112 FLAG -32 144 0 FLAG 80 144 0 FLAG -512 160 0 FLAG -512 -208 0 FLAG -176 32 x FLAG -480 48 i FLAG 48 32 o FLAG -512 -64 0 FLAG 256 144 0 FLAG 432 144 0 FLAG 416 32 lp SYMBOL ind -160 48 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 WINDOW 39 63 58 VTop 0 SYMATTR InstName Lo SYMATTR Value 30µ SYMATTR SpiceLine Rser=10m Rpar=10k SYMBOL cap -48 48 R0 SYMATTR InstName Co SYMATTR Value 680n SYMBOL res 64 32 R0 SYMATTR InstName Ro SYMATTR Value {Ro} SYMBOL res -384 -224 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R1 SYMATTR Value {R1} SYMBOL res -208 -224 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R2 SYMATTR Value {R2} SYMBOL res -256 -128 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R3 SYMATTR Value 1k0 SYMBOL cap -192 -128 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName C2 SYMATTR Value 150p SYMBOL cap -400 -80 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName C1 SYMATTR Value 33p SYMBOL Digital\\diffschmtbuf -336 96 M180 WINDOW 3 0 16 Left 0 WINDOW 123 0 -8 Left 0 WINDOW 0 0 112 Left 0 WINDOW 39 0 -32 Left 0 SYMATTR Value Vhigh=50 Vlow=-50 SYMATTR Value2 Rout=30m Tau=30n SYMATTR InstName A1 SYMATTR SpiceLine Td=135ns tripdt=0.1n SYMATTR SpiceLine2 Vt=0 Vh=0 SYMBOL voltage -512 48 R0 WINDOW 0 53 70 Bottom 0 WINDOW 3 28 122 Left 0 WINDOW 123 0 0 Left 0 WINDOW 39 60 56 VTop 0 SYMATTR InstName Vi SYMATTR Value SINE({dc/gain} {sqrt(2)*ac/gain} {fi}) SYMBOL ind 112 48 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 WINDOW 39 63 58 VTop 0 SYMATTR InstName Lo1 SYMATTR Value {Lr} SYMATTR SpiceLine Rser={Rr} SYMBOL cap 272 48 M0 SYMATTR InstName Co1 SYMATTR Value {Cr} SYMBOL ind 288 48 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 5 56 VBottom 0 WINDOW 39 63 58 VTop 0 SYMATTR InstName Lo2 SYMATTR Value {Lr*100} SYMATTR SpiceLine Rser={Rr*100} SYMBOL cap 416 48 R0 SYMATTR InstName Co2 SYMATTR Value {Cr/100} TEXT -488 272 Left 0 ;.step param Ro list 1G 8 4; 6 1u TEXT -488 208 Left 0 !.param dc=0 ac=1 Ro=6 fi=5k TEXT 128 -272 Left 0 !.four {fi} {int(fr/fi)} {nc} V(lp) ; freq, harmonics, periods, source\n.save V(lp) ; save low pass output TEXT 128 -144 Left 0 !.param Tdata=nc/2/fi ; depends on settling time of simulation\n.param dt=1/fi/nfft ; calculated based on above inputs\n.param Tend=Tdata+dt+nc/fi ; calculated to yield nc cycles of data TEXT 32 288 Left 0 !.tran {dt} {Tend} {Tdata} {dt} uic ; uic required for switching amps TEXT -488 240 Left 0 !.step param dc list 30 40 45 48 ; 50 TEXT 128 -208 Left 0 !.options numdgt=16 ; no data digit compression\n.options plotwinsize=0 ; no data time compression TEXT -488 304 Left 0 !.param nfft=16384 nc=16 TEXT -496 -272 Left 0 !.param R1=1k8 R2=8k2 gain=R2/R1+1 TEXT 128 192 Left 0 !.param Rr=1k2 fr=50k\n.param Lr=500/pi/fr Cr=500u/pi/fr ; Zr=1k TEXT -240 -376 Left 0 ;Run an FFT on the output and note how distortion increases the nearer\nthe output gets to the output rail (supply) voltage