You can do finite differences using transmission lines, e.g. this simple running average.
Cheers
Phil Hobbs
Version 4 SHEET 1 880 680 WIRE 448 80 416 80 WIRE -192 112 -448 112 WIRE -96 112 -192 112 WIRE -16 112 -96 112 WIRE 160 112 80 112 WIRE 416 112 416 80 WIRE 160 128 160 112 WIRE -448 208 -448 192 WIRE -192 208 -192 176 WIRE -192 208 -448 208 WIRE -16 208 -16 144 WIRE -16 208 -192 208 WIRE 80 208 80 144 WIRE 80 208 -16 208 WIRE 160 208 80 208 WIRE -448 224 -448 208 WIRE 416 224 416 192 FLAG -448 224 0 FLAG -96 112 smoothed FLAG 160 112 delayed FLAG 416 224 0 FLAG 448 80 RunningAvg SYMBOL tline 32 128 R0 SYMATTR InstName T1 SYMBOL res 144 112 R0 SYMATTR InstName R1 SYMATTR Value 50 SYMBOL cap -208 112 R0 SYMATTR InstName C1 SYMATTR Value 100u SYMBOL bv 416 96 R0 SYMATTR InstName B1 SYMATTR Value V=(V(smoothed)-V(delayed))*2000 SYMBOL current -448 192 R180 WINDOW 0 24 80 Left 2 WINDOW 3 24 0 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName I1 SYMATTR Value PULSE(0 20m 50n 5n 5n 250n) TEXT 56 296 Left 2 !.tran 500n TEXT 328 280 Left 2 !.options plotwinsize=0