Nekvstr,
The MODULATE FM input works just like a numerically controlled oscillator.? It increments the phase in an internal accumulator based on the instantaneous frequency at each time step. It then takes the sin(phase)*AM to produce the output.? This is not complicated nor mysterious.
Here is a simple netlist that implements the FM modulation equation without need of the MODULATE function.It modulates a 100kHz carrier with +/-10kHz deviation using a 1kHz modulating signal
* FM Simulation
B1 0 FM I=sin(2*pi*FC*time + 2*pi*DEVIATION*idt(i(r2)))
R1 FM 0 1
I1 0 modulation SINE(0 1 {MF} 5m)
R2 modulation 0 1
.param FC=100K
.param MF=1K
.param DEVIATION=10K
.tran 0 40mS 0 100n
.backanno
.end
Note that LTspice needs a "hint" to slow down the simulation by restricting the maximum time step so as to not skip ahead too much.? Otherwise the integrator idt() misses too much information.
??