Sim pulse.m

From Spinach Documentation Wiki
Jump to: navigation, search

Simultaneous multi-channel pulse function. Resamples the grids of the input waveforms onto a common time grid, generates a unified Liouvillian stack on the resulting common grid and applies the resulting propagators to the state vector. The pulse centers are aligned in the resulting combined waveform.

Each nucleus can only appear once on the nucleus list: using e.g. two diffe- rent carbon channels is not allowed.

Input variables:

   L:             the drift Liouvillian
   offsets:       [off1 off2 ...]           (Hz, row vector)
   phases:       {[phi1 phi2 ... phiN],...
                  [phi1 phi2 ... phiK]}     (degrees, cell array of row vectors)
   amplitudes:   {[a1 a2 ... aN],...
                  [b1 b2 ... bK]}           (rad/s, cell array of row vectors)
   durations:     [dur1 dur2 ...]           (seconds, row vector)
   spins:        {'1H', '13C', ...}         (cell array of strings)

Note: the function is only applicable in situations where the drift Liouvillian commutes with offset operators.