inst_freq.m

From Spinach Documentation Wiki
Jump to: navigation, search

Instantaneous frequency trajectory from a complex time-domain signal by regularised phase differentiation.

Syntax

    freq=inst_freq(signal,dt,npoints,poly_order,amp_tol)

Parameters

signal     - complex row or column vector with time-domain signal

dt         - time step duration between signal points, seconds

npoints    - odd number of signal points in the local least-squares
             window

poly_order - local polynomial order used for phase differentiation

amp_tol    - fractional amplitude tolerance relative to the maximum
             signal amplitude; zero tolerance still masks zero-
             magnitude points where the phase is undefined

Outputs

freq       - instantaneous frequency trajectory, Hz, same size as
             signal and on the same time grid


Notes

Signal phase is unwrapped first and then differentiated by Savitzky-Golay local least-squares polynomial fits. This regularises numerical phase noise before the derivative is taken. Output points are set to NaN when any point in the local differentiation stencil is below the amplitude tolerance.

See also

fapt2sfo.m, read_wave.m, heterodyne.m, bruker_write.m, ctrl_trajan.m, Optimal_control_module

Version 2.11, authors: Ilya Kuprov