pseudomodulation.m
Pseudomodulation of uniformly sampled spectra using the Hyde et al. Fourier-domain algorithm. The angular frequency axis conjugate to the field axis is built with fftdiff.m in Matlab FFT ordering and signed by the direction of the field sweep; the modulation amplitude is converted into the Bessel argument mod_amp*ang_freq/2. Each column of the spectrum matrix is Fourier transformed along the field axis, multiplied by the Bessel function of the requested order, and transformed back, with the amplitude factor 2i for the first harmonic and 2 for the second. Round-off imaginary parts are discarded when the input spectrum is real.
Syntax
output=pseudomodulation(field,spectrum,mod_amp,mod_order)
Parameters
field - N-by-1 real, ordered, uniformly spaced field
axis
spectrum - N-by-M spectrum matrix; rows are field samples,
and columns are independent spectra
mod_amp - non-negative modulation amplitude in field units
mod_order - modulation harmonic order: 0, 1, or 2
Outputs
output - N-by-M pseudomodulated spectrum matrix
Notes
The implementation follows Eqs. 5-7 of Hyde et al., J. Magn. Reson. 96, 1-13 (1992). After phase-sensitive detection, the time-dependent prefactors are set to unity, leaving amplitude factors 2i for the first harmonic, and 2 for the second harmonic.
See also
fftdiff.m, apodisation.m, Kernel utilities
Version 2.13, authors: Alexey Bogdanov, Ilya Kuprov