echo_sweep.m
Two-pulse echo-detected frequency-swept experiment, static or under magic angle spinning, in Hilbert space, written for the EPR case of a spinning P1 centre in diamond. Two pulses of equal duration are separated by a delay, the carrier is stepped across the sweep, and the complex echo integral is returned at each carrier offset. The sequence steps through the Hamiltonian rotor stack supplied by the singlerot.m context: at each time step, the stack element nearest to the rotor phase at the middle of the step is used, the phase decreasing with time for a positive rate as in the Liouville space branch of singlerot.m, and only the elements visited are exponentiated. The rotor phase at the start of the sequence, which stands in for the crystallite azimuth about the rotor axis, is averaged over. The coherence pathway of the pulsed spin (-1 after the first pulse, +1 after the second) is selected in place of a phase cycle.
The carrier offsets are placed on the ft_axis.m grid of the sweep. The free evolution propagators of the rotor stack elements visited are built once; at each carrier offset, the offset propagator and the pulse propagators (rotor stack element plus offset plus the nutation term) are rebuilt, and the density matrix is taken through the first pulse, the coherence selection, the delay, the second pulse, the second coherence selection, and the echo window, where the trace with the detection state is accumulated at every time step.
Syntax
echo=echo_sweep(spin_system,parameters,H,R,K)
Parameters
parameters.spins - one-element cell array naming the spin
the pulses are applied to, e.g. {'E'}
parameters.rho0 - initial state, a density matrix
parameters.coil - detection state, a density matrix
parameters.pulse_dur - duration of each pulse, seconds
parameters.pulse_frq - nutation frequency of the pulses, Hz
parameters.tau - delay between the end of the first
pulse and the start of the second
pulse, seconds
parameters.echo_win - echo integration window after the end
of the second pulse, seconds
parameters.timestep - propagation time step, seconds; the
pulses, the delay, and the echo win-
dow are rounded to whole steps
parameters.rate - spinning rate, Hz, zero for a static
sample
parameters.nphases - number of rotor phases at the start
of the sequence to average over
parameters.sweep - width of the carrier sweep, Hz
parameters.npoints - number of carrier offsets, placed on
the ft_axis grid of the sweep
parameters.spc_dim - number of elements in the rotor stack,
received from context function
H - vector cell array of Hamiltonian matrices, one for each
rotor phase, received from context function
R - relaxation superoperator, received from context func-
tion, not used
K - kinetics superoperator, received from context function,
not used
Outputs
echo - complex echo signal integrated over the echo window (a
sum over the time steps multiplied by the time step) and
averaged over the rotor phases at the start of the sequ-
ence, at each carrier offset, a column vector with
parameters.npoints elements
Examples
See mas_diamond_p1.m in the examples/esr_sol_pulsed directory: echo-detected frequency-swept EPR of the P1 centre in diamond under magic angle spinning.
Notes
The elements of the rotor stack must commute with the Lz operator of the pulsed spin, as they do for an electron under the 'esr' assumption set, because the carrier offset is applied as a separate propagator and only the pulse propagators are rebuilt at each carrier offset.
The rotor stack is a table of the Hamiltonian against the rotor phase, its resolution should match the time step at the fastest spinning rate used, parameters.max_rank of the context function of about 1/(2*abs(rate)*timestep) there; a finer stack costs propagators without gaining accuracy beyond the time step, a coarser one loses rotor phase resolution. At slower rates, consecutive steps reuse elements.
See also
singlerot.m, doublerot.m, eseem.m, ft_axis.m, coherence.m, Built-in_experiments
Version 2.13, authors: Ilya Kuprov