 Non-Fourier Spectrum Analysis

blip dim;l order;i npoints;i nextrap;i disposition;l [PRINT]

Performs backward linear prediction along the specified dimension. Order is the size of the filter; npoints is the number of sample points to use in computing the filter; nextrap is the number of points in the extrapolation region (i.e., before npoints); and disposition indicates what to do with roots outside the unit circle: REFLECT, DISPLACE, or NOTHING (default). PRINT tells the program to print out the roots of the characteristic polynomial (but only if there is just one row and disposition is not NOTHING).

flip dim;l order;i npoints;i [nextrap;i] disposition;l [PRINT] [MIRROR0 or MIRROR180 linewidth;f]

Performs forward linear prediction along the specified dimension. Order is the size of the filter; npoints is the number of sample points to use in computing the filter; nextrap is the number of points before the extrapolation region (the default is npoints); and disposition indicates what to do with roots outside the unit circle: REFLECT (default), DISPLACE, or NOTHING. PRINT tells the program to print out the roots of the characteristic polynomial (but only if there is just one row and disposition is not NOTHING).

The keywords MIRROR0 or MIRROR180 indicate that the program should perform mirror-image LP extrapolation, assuming a linear phase correction of 0 or 180 degrees, respectively. An estimated line width must be provided.

hsvd dim;l order;i npoints;i [nCadzow;i [nreduced;i]] [phase-const;f phase-linear;f]

Performs Hankel Singular Value Decomposition analysis of an FID. The input data are taken from row 1, and the program produces a list of frequencies, widths, amplitudes, and phases.  Cadzow regularization can be used to reduce the sensitivity to noise (usually nCadzow = 1 or 2 suffices).  nreduced is the reduced order (i.e., the number of actual peaks); if it is not specified, the program will select a value based on the MDL criterion. The data must be two-dimensional, and there must be at least 7 rows.  The program stores the simulated FID in row 2, the residual FID in row 3, the simulated spectrum in row 4, the residual spectrum in row 5, the simulated spectrum plus the residual in row 6, and the absolute value of the residual in row 7.

igls dim;l nloops-ini;i nloops_final;i {nuse;i or samplefile;l} thresh-ini;f thresh-final;f [linewidth;f [Jvalue;f]] [debuglevel;i]

Performs Iterative Generalized Least Squares analysis of an FID.

ist dim;l nloops-ini;i nloops_final;i {nuse;i or samplefile;l} thresh-ini;f thresh-final;f [linewidth;f [Jvalue;f]] [debuglevel;i] [LINE or CONJ]

Performs Iterative Soft Threshholding reconstruction along the specified dimension. Nloops-ini and nloops-final are the number of iterations to use during the initial and final stages. Nuse is the number of points in each row to check against the FID for linear sampling, whereas sample-file lists the sample numbers of the points for nonlinear sampling (one integer entry per line). Thresh-ini and thresh-final are the initial and final threshhold values for the linear ramp during the first phase; during the second phase the threshhold is held constant at thresh-final. Linewidth is the FWHM width (in Hz) of an exponential decay to be deconvolved. P0 and p1 are the constant and linear phase offsets for the reconstruction. Jvalue is the size (in Hz) of a constant coupling to be deconvolved: positive for in-phase, negative for anti-phase. Debuglevel specified the amount of additional information to be printed during the course of the reconstruction: 0 for none (the default), 1 for a summary of each row, 2 for a summary of each iteration, and so on. LINE or CONJ specify that line-search or conjugate-gradient minimization should be used as the search strategy.

mlm dim;l maxloops;i {sample-file;l or npoints;i} estlw;f aim;f [p0;f p1;f] [debuglevel;i] [ONE]

Performs Maximum Likelihood reconstruction along the specified dimension. Maxloops is the maximum number of iterations. Nuse is the number of points in each row to check against the FID for linear sampling, whereas sample-file lists the sample numbers of the points for nonlinear sampling (one integer entry per line). Estlw is the estimated line width for the peaks. Aim is the Chi-0 value for the difference between the input FID and the simulated one. P0 and p1 are the constant and linear phase offsets for the reconstruction. Debuglevel specifies the amount of additional information to be printed during the course of the reconstruction: 0 for none (the default), 1 for a summary of each row, 2 for a summary of each iteration, and 3 for single-FID analysis. The keyword ONE indicates that only one Lorentzian component should be added during each iteration.

The final result is the FT of the simulated FID with the sampled points replaced by their measured value; this is equal to the sum of the simulated and the residual spectra. The program computes a MDL (Minimum Description Length) statistic for each iteration, and it will automatically stop if the MDL value decreases by less than 18 four times with no intervening decreases more than 40. When this happens, the final result is the last iteration in which the decrease was more than 40, since the later components presumably just fit the noise.

In Debug 3 mode, the program only processes the first row, and it pauses after each iteration to allow the user to examine the current state of the reconstruction. The simulated FID is stored in row 2, the residual FID in row 3, the simulated spectrum in row 4, the FT of the residual in row 5, the simulated spectrum plus the residual in row 6, and the magnitude spectrum of the residual in row 7.

msa dim;l nloops;i {nuse;i or sample-file;l} def;f {aim;f or lambda;f LAMBDA} linewidth;f [p0;f p1;f [Jvalue;f]] [debuglevel;i] [SINGLE]

Performs Maximum Entropy reconstruction along the specified dimension. Nloops is the maximum number of iterations. Nuse is the number of points in each row to check against the FID for linear sampling, whereas sample-file lists the sample numbers of the points for nonlinear sampling (one integer entry per line). Def is the scaling factor for the reconstruction. Aim is the Chi-0 value for the difference between the input FID and the reconstruction, whereas the LAMBDA keyword indicates that a constant lambda value should be used for each row instead. Linewidth is the FWHM width (in Hz) of an exponential decay to be deconvolved. P0 and p1 are the constant and linear phase offsets for the reconstruction. Jvalue is the size (in Hz) of a constant coupling to be deconvolved: positive for in-phase, negative for anti-phase. Debuglevel specified the amount of additional information to be printed during the course of the reconstruction: 0 for none (the default), 1 for a summary of each row, 2 for a summary of each iteration, and so on. The SINGLE keyword indicates that rows should be processed individually rather than as multiple-row chunks.

msa2 adim;l bim2;l parameter_file;l [debug-level; i]

Performs 2-dimensional Maximum Entropy reconstruction in the specified dimensions.  The 'a' and 'b' dimensions must be complex, in the time domain, and contiguous in memory.  The

parameters for the reconstruction are given in the parameter-file.

Reconstructions can use either linear sampling or nonuniform sampling.  With nonuniform sampling, the input data can be stored in either a compressed or an expanded format (linear sampling requires the expanded format).  In the expanded format, the input data for each plane is arranged as a normal two-dimensional matrix; the sampling schedule might then refer to only some of the data values.  In the compressed format, one of the two dimensions must have length 1, while the other contains a set of sample points with time coordinates

specified by the sampling schedule.The parameter-file consists of a series of commands taken from the list below.  The meaning of the parameters is the same as for the msa program, but applied to two dimensions.

DEBUGdebug-level;i

Specify the level of debugging output.  This can optionally

be given on the command line as well.

NLOOPSnloops;i

Specify the maximum number of iterations for each plane.

DEFdef;f

Specify the value of def.

AIMaim;f

Specify the value of aim for a constant-aim reconstruction.

This command is mutually exclusive with the LAMBDA command.

LAMBDAlambda;f

Specify the value of lambda for a constant-lambda

reconstruction.  This command is mutually exclusive

with the AIM command.

SCALEFIRSTsf;f

Specify the value to scale the first point in each dimension.

The default value is 0.5.

SCHEDschedule-file;l

Specify the name of the sampling schedule file.  This

command is mutually exclusive with the NUSE command.

NUSEnuse-a;i nuse-b;i

Specify the number of input points in each dimension

to use for a linearly sampled reconstruction.  The default

is to use all the points.  This command is mutually

exclusive with the SCHED command.

NOUTnout-a;i nout-b;i

Specify the output size of the spectrum.  For compressed-

format data this command is required; for expanded-format

data the default is to use the current size in the data

set.  The specified value may not be smaller than the

current size.  If it is larger than the current size, the

program will automatically enlarge the data set.

PHASEp0-a;f p1-a;f p0-b;f p1-b;f

Specify the constant and first-order phase corrections

to apply in each dimension.  The default is 0.

LWlw-a;f lw-b;f

Specify the line width (FWHM, in Hz) in each dimension

for a deconvolution decay kernel.  The default is 0.

JVALUEjvalue-a;f jvalue-b;f

Specify the coupling constant (in Hz) in each dimension

for a deconvolution decoupling kernel.  If a constant is

negative it refers to an anti-phase coupling, otherwise

it refers to an in-phase coupling.  The default is 0.

The sample schedule file contains a list of lines, each referring to one input point.  The format of the lines is: index-a;i index-b;i [nacq;i] where index-a and index-b give the time index for the data point in the two dimensions.  Nacq is the number of "acquisition units" for this sample; it is used to describe data in which different points are recorded using different numbers of acquisitions (phase cycles or transients).  The default value for nacq is 1. For the most part, the actual value of nacq does not matter, only the ratio between nacq values for different points.  But nacq does affect the meaning of aim:  Aim refers to the noise level for points with nacq = 1.  For points with nacq > 1, the noise level increases in proportion to sqrt(nacq).  Therefore, aim should be estimated as the noise level divided by sqrt(nacq).