Initial import
git-svn-id: http://moon:8086/svn/projects/ltspice@388 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
Version 4
|
||||
SHEET 1 4156 1252
|
||||
WIRE 1424 544 1392 544
|
||||
WIRE 1520 544 1504 544
|
||||
WIRE 1696 544 1520 544
|
||||
WIRE 1856 544 1776 544
|
||||
WIRE 1936 576 1936 560
|
||||
WIRE 2032 576 2032 560
|
||||
WIRE 1520 640 1520 544
|
||||
WIRE 1552 640 1520 640
|
||||
WIRE 1584 640 1552 640
|
||||
WIRE 1696 640 1664 640
|
||||
WIRE 1760 640 1696 640
|
||||
WIRE 1856 656 1856 544
|
||||
WIRE 1856 656 1824 656
|
||||
WIRE 1760 672 1744 672
|
||||
WIRE 1936 672 1936 656
|
||||
WIRE 2032 672 2032 656
|
||||
FLAG 1552 640 A
|
||||
FLAG 1696 640 B
|
||||
FLAG 1936 672 0
|
||||
FLAG 2032 672 0
|
||||
FLAG 1936 560 +V
|
||||
FLAG 1792 624 +V
|
||||
FLAG 2032 560 -V
|
||||
FLAG 1792 688 -V
|
||||
FLAG 1744 672 0
|
||||
FLAG 1392 544 0
|
||||
SYMBOL VOLTAGE 1568 640 M90
|
||||
WINDOW 0 -32 56 VBottom 0
|
||||
WINDOW 3 32 56 VTop 0
|
||||
SYMATTR InstName V3
|
||||
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 1520 528 R90
|
||||
WINDOW 0 0 56 VBottom 0
|
||||
WINDOW 3 32 56 VTop 0
|
||||
SYMATTR InstName R2
|
||||
SYMATTR Value 1K
|
||||
TEXT 2200 560 Left 0 !.tran 0 {5/Freq+.1m} .1m\n.step oct param Freq .1 10Meg 3
|
||||
TEXT 1504 752 Left 0 !.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 2200 448 Left 0 !.save V(a) V(b)\n.option nomarch\n.option plotwinsize=0 numdgt=15
|
||||
TEXT 2200 648 Left 0 ;.ac oct 10 .1 10Meg\n.param freq=0
|
||||
TEXT 1856 248 Center 0 ;This example shows the basic principle of extracting\nthe small signal AC characteristics from time domain simulation.\n \nAfter running the simulation, execute menu command\nView=>SPICE Error Log. Then right click and select\n"Plot .step'ed .meas data". Press "yes" to the dialog\nasking if it should combine the data to complex numbers.
|
||||
TEXT 2200 784 Left 0 ;To use this technique in your\nown simulations, include these\n.measure statements
|
||||
RECTANGLE Normal 2608 976 1488 720 2
|
||||
@@ -0,0 +1,183 @@
|
||||
Version 4
|
||||
SHEET 1 4460 1080
|
||||
WIRE 160 -48 48 -48
|
||||
WIRE 288 -48 160 -48
|
||||
WIRE 896 -48 288 -48
|
||||
WIRE 384 -32 240 -32
|
||||
WIRE 928 -32 384 -32
|
||||
WIRE 48 -16 48 -48
|
||||
WIRE 160 -16 160 -48
|
||||
WIRE 384 -16 384 -32
|
||||
WIRE 384 80 384 64
|
||||
WIRE 464 80 384 80
|
||||
WIRE 48 96 48 64
|
||||
WIRE 160 96 160 48
|
||||
WIRE 384 96 384 80
|
||||
WIRE 288 112 288 -48
|
||||
WIRE 464 128 464 80
|
||||
WIRE 496 128 464 128
|
||||
WIRE 896 128 896 -48
|
||||
WIRE 896 128 880 128
|
||||
WIRE 384 192 384 176
|
||||
WIRE 288 224 288 192
|
||||
WIRE 496 224 288 224
|
||||
WIRE 976 224 880 224
|
||||
WIRE 1088 224 976 224
|
||||
WIRE 1232 224 1168 224
|
||||
WIRE 1328 224 1232 224
|
||||
WIRE 1440 224 1328 224
|
||||
WIRE 1536 224 1440 224
|
||||
WIRE 1328 256 1328 224
|
||||
WIRE 1440 256 1440 224
|
||||
WIRE 1536 272 1536 224
|
||||
WIRE 496 320 480 320
|
||||
WIRE 976 320 976 288
|
||||
WIRE 976 320 880 320
|
||||
WIRE 1328 384 1328 320
|
||||
WIRE 1440 384 1440 320
|
||||
WIRE 1536 384 1536 352
|
||||
WIRE 1232 400 1232 224
|
||||
WIRE 240 416 240 -32
|
||||
WIRE 272 416 240 416
|
||||
WIRE 384 416 352 416
|
||||
WIRE 496 416 384 416
|
||||
WIRE 928 416 928 -32
|
||||
WIRE 928 416 880 416
|
||||
WIRE 976 416 976 384
|
||||
WIRE 976 416 928 416
|
||||
WIRE 384 448 384 416
|
||||
WIRE 496 512 480 512
|
||||
WIRE 1040 512 880 512
|
||||
WIRE 1072 512 1040 512
|
||||
WIRE 1184 512 1152 512
|
||||
WIRE 1232 512 1232 480
|
||||
WIRE 1232 512 1184 512
|
||||
WIRE 1232 528 1232 512
|
||||
WIRE 384 544 384 528
|
||||
WIRE 240 576 240 416
|
||||
WIRE 480 576 480 512
|
||||
WIRE 480 576 240 576
|
||||
WIRE 912 608 880 608
|
||||
WIRE 992 608 912 608
|
||||
WIRE 1104 608 1072 608
|
||||
WIRE 912 624 912 608
|
||||
WIRE 1104 624 1104 608
|
||||
WIRE 1232 624 1232 608
|
||||
WIRE 608 688 608 672
|
||||
WIRE 768 688 768 672
|
||||
WIRE 912 704 912 688
|
||||
WIRE 1104 704 1104 688
|
||||
FLAG 976 480 0
|
||||
FLAG 1536 384 0
|
||||
FLAG 1232 624 0
|
||||
FLAG 1328 384 0
|
||||
FLAG 48 96 0
|
||||
FLAG 416 320 0
|
||||
FLAG 160 96 0
|
||||
FLAG 48 -48 IN
|
||||
FLAG 1536 224 OUT
|
||||
FLAG 1104 704 0
|
||||
FLAG 912 704 0
|
||||
FLAG 768 688 0
|
||||
FLAG 608 688 0
|
||||
FLAG 384 544 0
|
||||
FLAG 384 192 0
|
||||
FLAG 1440 384 0
|
||||
FLAG 1184 512 A
|
||||
FLAG 1040 512 B
|
||||
SYMBOL res 1216 384 R0
|
||||
SYMATTR InstName R1
|
||||
SYMATTR Value 6.49K
|
||||
SYMBOL res 1216 512 R0
|
||||
SYMATTR InstName R2
|
||||
SYMATTR Value 4.99K
|
||||
SYMBOL schottky 960 384 M180
|
||||
WINDOW 0 34 66 Left 0
|
||||
WINDOW 3 24 0 Left 0
|
||||
SYMATTR InstName D1
|
||||
SYMATTR Value CMDSH2-3
|
||||
SYMBOL cap 960 416 R0
|
||||
WINDOW 0 29 13 Left 0
|
||||
WINDOW 3 29 52 Left 0
|
||||
SYMATTR InstName C1
|
||||
SYMATTR Value 4.7µ
|
||||
SYMBOL ind 1072 240 R270
|
||||
WINDOW 0 32 56 VTop 0
|
||||
WINDOW 3 5 56 VBottom 0
|
||||
WINDOW 39 -27 51 VBottom 0
|
||||
SYMATTR InstName L1
|
||||
SYMATTR Value 2.2µ
|
||||
SYMATTR SpiceLine Rser=6m
|
||||
SYMBOL polcap 1312 256 R0
|
||||
WINDOW 39 24 67 Left 0
|
||||
WINDOW 40 24 95 Left 0
|
||||
WINDOW 3 40 39 Left 0
|
||||
SYMATTR SpiceLine Rser=9m
|
||||
SYMATTR SpiceLine2 x2
|
||||
SYMATTR Value 200µ
|
||||
SYMATTR InstName C2
|
||||
SYMBOL VOLTAGE 48 -32 R0
|
||||
WINDOW 123 0 0 Left 0
|
||||
WINDOW 39 0 0 Left 0
|
||||
SYMATTR InstName V1
|
||||
SYMATTR Value 28
|
||||
SYMBOL cap 480 304 R90
|
||||
WINDOW 0 0 32 VBottom 0
|
||||
WINDOW 3 32 32 VTop 0
|
||||
SYMATTR InstName C3
|
||||
SYMATTR Value .1µ
|
||||
SYMBOL cap 960 224 R0
|
||||
WINDOW 0 39 25 Left 0
|
||||
WINDOW 3 35 51 Left 0
|
||||
SYMATTR InstName C4
|
||||
SYMATTR Value .22µ
|
||||
SYMBOL cap 144 -16 R0
|
||||
SYMATTR InstName C5
|
||||
SYMATTR Value 22µ
|
||||
SYMATTR SpiceLine Rser=1m Lser=.3n
|
||||
SYMBOL res 976 624 R270
|
||||
WINDOW 0 32 56 VTop 0
|
||||
WINDOW 3 0 56 VBottom 0
|
||||
SYMATTR InstName R3
|
||||
SYMATTR Value 24.9K
|
||||
SYMBOL cap 1088 624 R0
|
||||
SYMATTR InstName C6
|
||||
SYMATTR Value 1n
|
||||
SYMBOL cap 896 624 R0
|
||||
SYMATTR InstName C7
|
||||
SYMATTR Value 10p
|
||||
SYMBOL VOLTAGE 1168 512 R90
|
||||
WINDOW 0 -32 56 VBottom 0
|
||||
WINDOW 3 32 56 VTop 0
|
||||
SYMATTR InstName V2
|
||||
SYMATTR Value SINE(0 1m {Freq})
|
||||
SYMBOL PowerProducts\\LTC3611 688 368 R0
|
||||
SYMATTR InstName U1
|
||||
SYMBOL res 256 432 R270
|
||||
WINDOW 0 32 56 VTop 0
|
||||
WINDOW 3 0 56 VBottom 0
|
||||
SYMATTR InstName R4
|
||||
SYMATTR Value 6.49K
|
||||
SYMBOL res 368 432 R0
|
||||
SYMATTR InstName R5
|
||||
SYMATTR Value 39.2K
|
||||
SYMBOL res 272 96 R0
|
||||
SYMATTR InstName R6
|
||||
SYMATTR Value 249K
|
||||
SYMBOL res 368 -32 R0
|
||||
SYMATTR InstName R7
|
||||
SYMATTR Value 15.0K
|
||||
SYMBOL res 368 80 R0
|
||||
SYMATTR InstName R8
|
||||
SYMATTR Value 4.99K
|
||||
SYMBOL cap 1424 256 R0
|
||||
SYMATTR InstName C8
|
||||
SYMATTR Value 50µ
|
||||
SYMATTR SpiceLine Rser=1.5m Lser=.24n
|
||||
SYMBOL res 1520 256 R0
|
||||
SYMATTR InstName Rload
|
||||
SYMATTR Value 0.25
|
||||
TEXT 1672 192 Left 0 !.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 1680 560 Left 0 ;Loop crossover frequency: 125KHz\nPhase Margin: 92°
|
||||
TEXT 1664 32 Left 0 !.param Freq=125K ; iterate to 0dB gain or use the .step statement below\n.step oct param freq 50K 200K 5\n.save V(a) V(b) I(L1)\n.option plotwinsize=0 numdgt=15
|
||||
TEXT 1672 472 Left 0 !.param t0=.2m\n.tran 0 {t0+25/freq} {t0}
|
||||
@@ -0,0 +1,162 @@
|
||||
Version 4
|
||||
SHEET 1 2936 1904
|
||||
WIRE 1120 768 912 768
|
||||
WIRE 1696 768 1120 768
|
||||
WIRE 912 784 912 768
|
||||
WIRE 1536 800 1408 800
|
||||
WIRE 1632 800 1536 800
|
||||
WIRE 1632 816 1632 800
|
||||
WIRE 1120 848 1120 768
|
||||
WIRE 1408 848 1408 800
|
||||
WIRE 1536 848 1536 800
|
||||
WIRE 912 896 912 864
|
||||
WIRE 1632 896 1632 880
|
||||
WIRE 1696 912 1696 768
|
||||
WIRE 1536 928 1536 912
|
||||
WIRE 1536 928 1488 928
|
||||
WIRE 1648 992 1488 992
|
||||
WIRE 1536 1008 1536 928
|
||||
WIRE 912 1056 848 1056
|
||||
WIRE 1040 1056 976 1056
|
||||
WIRE 1536 1088 1536 1072
|
||||
WIRE 1536 1088 1488 1088
|
||||
WIRE 1696 1088 1696 1008
|
||||
WIRE 1696 1088 1536 1088
|
||||
WIRE 1840 1088 1696 1088
|
||||
WIRE 1872 1088 1840 1088
|
||||
WIRE 1968 1088 1952 1088
|
||||
WIRE 1984 1088 1968 1088
|
||||
WIRE 2080 1088 2064 1088
|
||||
WIRE 2160 1088 2080 1088
|
||||
WIRE 2256 1088 2160 1088
|
||||
WIRE 2384 1088 2256 1088
|
||||
WIRE 1696 1104 1696 1088
|
||||
WIRE 2160 1104 2160 1088
|
||||
WIRE 1840 1120 1840 1088
|
||||
WIRE 2256 1152 2256 1088
|
||||
WIRE 2384 1152 2384 1088
|
||||
WIRE 864 1184 848 1184
|
||||
WIRE 960 1184 944 1184
|
||||
WIRE 1040 1184 1024 1184
|
||||
WIRE 1648 1184 1488 1184
|
||||
WIRE 2160 1200 2160 1184
|
||||
WIRE 2160 1200 2112 1200
|
||||
WIRE 1696 1216 1696 1200
|
||||
WIRE 1840 1216 1840 1184
|
||||
WIRE 2160 1216 2160 1200
|
||||
WIRE 1968 1264 1968 1088
|
||||
WIRE 1968 1264 1488 1264
|
||||
WIRE 928 1312 848 1312
|
||||
WIRE 1040 1312 992 1312
|
||||
WIRE 2160 1312 2160 1296
|
||||
WIRE 2256 1312 2256 1216
|
||||
WIRE 2384 1312 2384 1232
|
||||
WIRE 2080 1328 2080 1088
|
||||
WIRE 2080 1328 1488 1328
|
||||
WIRE 1584 1392 1488 1392
|
||||
WIRE 1632 1392 1584 1392
|
||||
WIRE 1744 1392 1712 1392
|
||||
WIRE 2112 1392 2112 1200
|
||||
WIRE 2112 1392 1744 1392
|
||||
WIRE 1152 1488 1152 1456
|
||||
WIRE 1376 1488 1376 1456
|
||||
FLAG 1152 1488 0
|
||||
FLAG 1376 1488 0
|
||||
FLAG 848 1184 0
|
||||
FLAG 848 1056 0
|
||||
FLAG 2160 1312 0
|
||||
FLAG 2384 1312 0
|
||||
FLAG 2256 1312 0
|
||||
FLAG 912 896 0
|
||||
FLAG 1696 1216 0
|
||||
FLAG 848 1312 0
|
||||
FLAG 2384 1088 OUT
|
||||
FLAG 1632 896 0
|
||||
FLAG 1840 1216 0
|
||||
FLAG 1584 1392 B
|
||||
FLAG 1744 1392 A
|
||||
FLAG 912 768 IN
|
||||
SYMBOL RES 960 1168 R90
|
||||
WINDOW 0 0 56 VBottom 0
|
||||
WINDOW 3 32 56 VTop 0
|
||||
SYMATTR InstName R1
|
||||
SYMATTR Value 10K
|
||||
SYMBOL res 2144 1088 R0
|
||||
SYMATTR InstName R2
|
||||
SYMATTR Value 20K
|
||||
SYMBOL res 2144 1200 R0
|
||||
SYMATTR InstName R3
|
||||
SYMATTR Value 10K
|
||||
SYMBOL res 1968 1072 M90
|
||||
WINDOW 0 0 56 VBottom 0
|
||||
WINDOW 3 32 56 VTop 0
|
||||
SYMATTR InstName R4
|
||||
SYMATTR Value .006
|
||||
SYMBOL cap 1024 1168 R90
|
||||
WINDOW 0 0 32 VBottom 0
|
||||
WINDOW 3 32 32 VTop 0
|
||||
SYMATTR InstName C1
|
||||
SYMATTR Value 330p
|
||||
SYMBOL cap 992 1296 R90
|
||||
WINDOW 0 0 32 VBottom 0
|
||||
WINDOW 3 32 32 VTop 0
|
||||
SYMATTR InstName C2
|
||||
SYMATTR Value 43p
|
||||
SYMBOL cap 976 1040 R90
|
||||
WINDOW 0 0 32 VBottom 0
|
||||
WINDOW 3 32 32 VTop 0
|
||||
SYMATTR InstName C3
|
||||
SYMATTR Value .001µ
|
||||
SYMBOL polcap 2240 1152 R0
|
||||
WINDOW 39 24 98 Left 0
|
||||
WINDOW 123 23 68 Left 0
|
||||
WINDOW 3 40 40 Left 0
|
||||
SYMATTR SpiceLine Rser=.05
|
||||
SYMATTR Value2 x4
|
||||
SYMATTR Value 180µ
|
||||
SYMATTR InstName C4
|
||||
SYMBOL VOLTAGE 912 768 R0
|
||||
SYMATTR InstName V1
|
||||
SYMATTR Value 6
|
||||
SYMBOL ind 1856 1104 R270
|
||||
WINDOW 0 32 56 VTop 0
|
||||
WINDOW 3 5 56 VBottom 0
|
||||
SYMATTR InstName L1
|
||||
SYMATTR Value 1.5µ
|
||||
SYMBOL NMOS 1648 912 R0
|
||||
SYMATTR InstName Q1
|
||||
SYMATTR Value Si4410DY
|
||||
SYMBOL nmos 1648 1104 R0
|
||||
SYMATTR InstName Q2
|
||||
SYMATTR Value Si4410DY
|
||||
SYMBOL cap 1616 816 R0
|
||||
SYMATTR InstName C5
|
||||
SYMATTR Value 4.7µ
|
||||
SYMBOL cap 1520 1008 R0
|
||||
SYMATTR InstName C6
|
||||
SYMATTR Value .22µ
|
||||
SYMBOL schottky 1520 848 R0
|
||||
SYMATTR InstName D1
|
||||
SYMATTR Value 1N5818
|
||||
SYMBOL schottky 1824 1184 M180
|
||||
WINDOW 0 24 72 Left 0
|
||||
WINDOW 3 24 0 Left 0
|
||||
SYMATTR InstName D2
|
||||
SYMATTR Value 1N5818
|
||||
SYMBOL POWERPRODUCTS\\LTC1735 1264 1120 R0
|
||||
SYMATTR InstName U1
|
||||
SYMBOL voltage 1728 1392 R90
|
||||
WINDOW 0 -32 56 VBottom 0
|
||||
WINDOW 3 32 56 VTop 0
|
||||
WINDOW 39 32 56 VTop 0
|
||||
WINDOW 123 32 56 VTop 0
|
||||
SYMATTR InstName V2
|
||||
SYMATTR Value SINE(0 10m {Freq})
|
||||
SYMBOL res 2368 1136 R0
|
||||
SYMATTR InstName Rload
|
||||
SYMATTR Value .5
|
||||
TEXT 1824 1624 Left 0 !.param t0=.5m\n.tran 0 {t0+10/Freq} {t0} 10n
|
||||
TEXT 1824 1536 Left 0 !.ic V(out)=2.4\n.save V(a) V(b) I(L1)
|
||||
TEXT 800 1480 Left 0 !.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 1824 1464 Left 0 !.param freq=21K ; iterate to 0dB gain or use the .step statement below\n.step oct param Freq 15K 30K 4
|
||||
TEXT 2224 1576 Left 0 ;Loop crossover frequency: 21KHz\nPhase Margin: 66°
|
||||
@@ -0,0 +1,68 @@
|
||||
|
||||
Frequency Response Analysis
|
||||
|
||||
These examples show to how to extract the small-signal, AC open-loop
|
||||
gain from time-domain, closed-loop simulations. The technique is a
|
||||
subset of the method shown in ../LoopGain.asc and ../LoopGain2.asc.
|
||||
The method assumes that the input impedance of the error amplifier is
|
||||
infinite so that the loop gain can be computed solely by the voltage
|
||||
loop gain.
|
||||
|
||||
The open-loop gain is computed from the closed-loop system by inserting
|
||||
a perturbing voltage source in the loop and measuring how well the
|
||||
perturbation is servoed out of the the loop via the feedback. The
|
||||
open-loop gain is given by the ratio of complex voltages at either side
|
||||
of the perturbing voltage source.
|
||||
|
||||
But since the SMPS macromodels are implemented as time-domain models
|
||||
that include detailed switching information but don't include
|
||||
continuous-time(average) equivalents, the complex voltage is determined
|
||||
from Fourier analysis of a time-domain sine wave perturbation.
|
||||
|
||||
A script of .measure statements is used to perform the Fourier analysis
|
||||
and computer the open-loop response. To use this script into your own
|
||||
SMPS design, follow these steps:
|
||||
|
||||
1. Place these .measure statements on your circuit as a SPICE
|
||||
directive:
|
||||
|
||||
.measure Aavg avg V(a)
|
||||
.measure Bavg avg V(b)
|
||||
.measure Are avg (V(a)-Aavg)*cos(360*time*Freq)
|
||||
.measure Aim avg -(V(a)-Aavg)*sin(360*time*Freq)
|
||||
.measure Bre avg (V(b)-Bavg)*cos(360*time*Freq)
|
||||
.measure Bim avg -(V(b)-Bavg)*sin(360*time*Freq)
|
||||
.measure GainMag param 20*log10(hypot(Are,Aim) / hypot(Bre,Bim))
|
||||
.measure GainPhi param mod(atan2(Aim,Are)-atan2(Bim,Bre)+180,360)-180
|
||||
|
||||
2. Insert a voltage source in the feedback loop under analysis. Give
|
||||
this voltage sourse the value SINE(0 5m {Freq})
|
||||
|
||||
3. Place a SPICE directive on the schmatic that defines Freq:
|
||||
|
||||
.param Freq=10K
|
||||
|
||||
4. Run a .tran command to see how long it takes your circuit to come to
|
||||
steady state and then edit the .tran command so that data isn't saved
|
||||
until this time.
|
||||
|
||||
5. Rerun the .tran command to do the analysis at the frequency defined
|
||||
with the .param statement of step 3.
|
||||
|
||||
6. Execute menu command View=>SPICE Error Log to see the results of this
|
||||
analysis. The open-loop response magnitude is given by GainMag[dB]
|
||||
and the phase is given by GainPhi[°].
|
||||
|
||||
You can iterate the param Freq to zero dB. That frequency is the loop
|
||||
crossover frequency and phase margin will be reported as GainPhi in the
|
||||
error log.
|
||||
|
||||
You can set up a .step statement to sweep the parameter Freq. Then you
|
||||
can plot the open-loop response be executing menu command
|
||||
View=>SPICE Error Log, and then right mouse clicking and executing menu
|
||||
command "Plot .step'ed .meas data" Answer yes to the dialog that asks
|
||||
if LTspice should combine the real .meas data to complex data. Then you
|
||||
can plot the quanity gain to get a Bode plot the open-loop response of
|
||||
the system.
|
||||
|
||||
--Mike
|
||||
Reference in New Issue
Block a user