Hilbert Transform of an FM Signal
From this great answer . . 


  If we have a real-valued sequence x(n)x(n), and the Hilbert transform
  of x(n)x(n) is xH(n)xH(n), the analytic signal, a(n)a(n), associated
  with x(n)x(n) is:
  
  a(n)=x(n)+jxH(n)
  
  Computing the magnitude of a(n)a(n) will give you the instantaneous
  envelope of the original x(n)x(n) sequence. This works great for AM
  demodulation. If you compute the instantaneous phase of a(n)a(n) to
  get ϕ(n)ϕ(n), and compute the time derivative of ϕ(n)ϕ(n), you have FM
  demodulation.


A practical example where we generate an FM signal in Matlab and analyse it looks as follows:

fs = 44.1e3; %// sample rate
dt = 1/fs;
fc = 200; %// carrier
df = 50; %// modulation excursion (Hz)
fm = 4; %// modulation rate (Hz)

tAx = dt:dt:1; %// time axis in seconds
u = sin(2*pi*fc*tAx + (df/fm)*cos(2*pi*fm*tAx));
w = unwrap(angle(hilbert(u)));
v = diff(w)/(2*pi*dt); %// instantaneous phase differential normalized to Hz


Plotting u and v then gives the following plot, where the sidebands occur at the extremes of the signal . .