Version 4 SHEET 1 4156 1080 WIRE 1408 544 1376 544 WIRE 1504 544 1488 544 WIRE 1696 544 1504 544 WIRE 1856 544 1776 544 WIRE 1936 576 1936 544 WIRE 2032 576 2032 544 WIRE 1504 640 1504 544 WIRE 1536 640 1504 640 WIRE 1568 640 1536 640 WIRE 1680 640 1648 640 WIRE 1760 640 1680 640 WIRE 1856 656 1856 544 WIRE 1856 656 1824 656 WIRE 1760 672 1744 672 WIRE 1936 688 1936 656 WIRE 2032 688 2032 656 FLAG 1536 640 A FLAG 1680 640 B FLAG 1936 688 0 FLAG 2032 688 0 FLAG 1936 544 +V FLAG 1792 624 +V FLAG 2032 544 -V FLAG 1792 688 -V FLAG 1744 672 0 FLAG 1376 544 0 SYMBOL VOLTAGE 1552 640 M90 WINDOW 0 -32 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName Vbode SYMATTR Value SINE(0 10m {Freq}) SYMATTR Value2 ac 1 SYMBOL Opamps\\UniversalOpamp2 1792 656 R0 SYMATTR InstName U1 SYMBOL voltage 1936 560 R0 SYMATTR InstName V1 SYMATTR Value 5 SYMBOL voltage 2032 560 R0 SYMATTR InstName V2 SYMATTR Value -5 SYMBOL res 1792 528 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R1 SYMATTR Value 10K SYMBOL res 1504 528 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R2 SYMATTR Value 1K TEXT 2736 576 Left 0 !.tran 0 {5/Freq+.1m} .1m\n.step oct param Freq .1 10Meg 3 TEXT 2104 520 Left 0 !.option plotwinsize=0 numdgt=15\n.measure Aavg avg V(a)\n.measure Bavg avg V(b)\n.measure Are avg (V(a)-Aavg)*cos(360*time*Freq)\n.measure Aim avg -(V(a)-Aavg)*sin(360*time*Freq)\n.measure Bre avg (V(b)-Bavg)*cos(360*time*Freq)\n.measure Bim avg -(V(b)-Bavg)*sin(360*time*Freq)\n.measure GainMag param 20*log10(hypot(Are,Aim) / hypot(Bre,Bim))\n.measure GainPhi param mod(atan2(Aim, Are) - atan2(Bim, Bre)+180,360)-180 TEXT 2736 416 Left 0 !.save V(a) V(b) TEXT 2736 480 Left 0 ;.ac oct 10 .1 10Meg\n.param freq=0