spf.m

From Spinach Documentation Wiki
Jump to: navigation, search

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