szf.m

From Spinach Documentation Wiki
Jump to: navigation, search

Applies a discrete single-zero filter:

   Y(k)=X(k)/(1-z)-z*X(k-1)/(1-z);

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]=szf(w,z)

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

   z   - a vector (one element per XY control pair) 
         containing the filter coefficient:

          p=exp(-r*dt+1i*(omega-omega_rf)*dt)

         where r is the 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, spf.m, transfermat.m, Optimal_control_module

Version 2.11, authors: Uluk Rasulov, Ilya Kuprov