spf.m
Applies a discrete single-pole filter:
Y(n)=(1-p)*X(n)+p*Y(n-1)
to a Spinach optimal control module waveform. Treats odd rows of multi-row waveform arrays as real, and even rows as imaginary, components of a complex signal.
Syntax
[w,J]=spf(w,p)
Parameters
w - waveform, one time slice per column, and
rows arranged as XYXY... with respect to
in-phase and quadrature parts on each
control channel
p - a vector (one element per XY control pair)
containing the filter coefficient:
p=exp(-r*dt+1i*(omega-omega_rf)*dt)
where r is th damping rate, omega is the
pole frequency, omega_rf is the rotating
frame frequency, and dt is the time dis-
cretisation step.
Outputs
w - distorted waveform, same dimension as the
input waveform; leaving sufficient ring-
down margin is the user's responsibility
J - Jacobian matrix with respect to vectori-
sations of the output and the input arrays
See also
amp_root.m, amp_tanh.m, firf.m, kernelest.m, no_dist.m, penalty.m, restrans.m, szf.m, transfermat.m, Optimal_control_module
Version 2.11, authors: Uluk Rasulov, Ilya Kuprov