Version 4 SHEET 1 3164 680 WIRE 2208 -80 1904 -80 WIRE 1280 -64 1184 -64 WIRE 1376 -64 1280 -64 WIRE 1712 -64 1456 -64 WIRE 960 -48 768 -48 WIRE 1008 -48 960 -48 WIRE 768 -16 768 -48 WIRE 1008 -16 1008 -48 WIRE 2208 -16 2208 -80 WIRE 1904 0 1904 -80 WIRE 1184 16 1184 -64 WIRE 1712 16 1712 -64 WIRE 768 96 768 64 WIRE 1008 96 1008 64 WIRE 1184 128 1184 96 WIRE 1712 128 1712 96 WIRE 1904 128 1904 80 WIRE 2208 128 2208 64 FLAG 768 96 0 FLAG 1008 96 0 FLAG 960 -48 Vpulse FLAG 1184 128 0 FLAG 1712 128 0 FLAG 1712 -64 Vs FLAG 1280 -64 Vo FLAG 1904 128 0 FLAG 2208 128 0 FLAG 2208 -80 vs_energy SYMBOL res 992 -32 R0 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL bv 1184 0 R0 SYMATTR InstName B1 SYMATTR Value V=min((V(Vpulse))/(148.457)*US, 0) SYMBOL res 1472 -80 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName Ri SYMATTR Value {Ri_val} SYMBOL res 1696 0 R0 SYMATTR InstName RL SYMATTR Value {RL_val} SYMBOL ISO7637-2 768 -16 R0 SYMATTR InstName U1 SYMBOL bv 1904 -16 R0 SYMATTR InstName B2 SYMATTR Value V={idt(V(Vs)*I(RL))} SYMBOL res 2192 -32 R0 SYMATTR InstName R1 SYMATTR Value 1 TEXT 760 -392 Left 2 !.tran 0 0.015 0 1m TEXT 712 136 Left 2 !.meas vraw_max MIN v(Vpulse) TEXT 1208 136 Left 2 !.meas vsurge_max MIN v(Vo) TEXT 752 -176 Left 2 !; Tracking variable\n.meas RL_value MAX RL_val TEXT 1560 -376 Left 2 !; Measurements on dummy load\n.meas vload_max MAX ABS(v(Vs))\n.meas total_energy INTEG (V(Vs)*I(RL))\n.meas avg_power INTEG (V(Vs)*I(RL))/0.5\n.meas maximum_power MAX (V(Vs)*I(RL)) TEXT 752 -352 Left 2 !; Stepping different scenarios\n.param scenario=0\n;.step param scenario 0 4 1\n.param Ri_val=table(scenario, 0, 2, 1, 2, 2, 2, 3, 10, 4, 50)\n.param RL_val=table(scenario, 0, 2, 1, 10, 2, 50, 3, 10, 4, 50)\n.param US=table(scenario, 0, 600, 1, 600, 2, 600, 3, 600, 4, 600) TEXT 760 -456 Left 4 ;Simulation control RECTANGLE Normal 1504 -192 736 -480