ldminorm(3)

LIBRARY ROUTINE
ldminorm - 1D Minimum-Norm Spectral Estimation

LIBRARY CALL
#include "vinclude.h"
int ldminorm(image,order,freq,kdim,auto_type,arith_type,psd_type,proc_dir)
  struct xvimage *image;
  int order,freq,kdim,auto_type,arith_type,psd_type,proc_dir;

INPUT

image
    pointer to VIFF structure containing image data to be processed.

order
    order of the linear combiner.

freq
    number of computed spectral values.

kdim
    used to determine the dimension of the noise subspace. If it is a positive, non-zero integer, then it represents the actual value of the noise subspace dimension. If it is zero, then ldminorm will use the Akaike (AIC) criteria to determine the noise subspace dimension. If it is -1, then the minimum description length (MDL) criteria will be used.

auto_type
    type of auto correlation to be used. 0 specifies a biased estimate, 1 specifies an unbiased estimate, 2 specifies an FFT based estimate.

arith_type
    type of arithmetic to be used on complex data. 0 specifies scalar arithmetic and 1 specifies vector arithmetic.

psd_type
    specifies the centering of the power spectral density estimate. 0 specifies not centered, 1 specifies centered.

procdir
    process direction: 0 indicated vector oriented processing, 1 indicates band oriented processing.

OUTPUT

image
    pointer to VIFF structure containing image data after processing.

Return Value:
    1 on success, 0 on failure.

MODIFICATIONS

Jeremy Worley 30 Jul 1990 08:38 MST
    Changed internal routines to static to prevent conflicts with other routines in the library.

Jeremy Worley 12 Mar 1991 13:51 MST
    Fixed bug in static lminorm that generated backwards spectrum estimate.

Jeremy Worley 05 Mar 1992 11:04 MST
    Added many explicit function declarations in ldminorm(), lrminorm() and lcminorm(). Fixed an fprintf call in ldminorm(). Added explicit argument declarations for kdim in lrminorm() and lcminorm().

DESCRIPTION
An implementation of the Minimum Norm for spectral estimation. Minimum Norm is a spectral estimation technique based on eigendecomposition of the autocorrelation matrix of a sampled random process. The Minimum Norm algorithm attempts to eliminate the effects of spurious zeros, which result in spurious peaks in the power spectrum, by pushing them inside the unit circle.

The algorithm involves generating estimates of the eigenvalues and eigenvectors of a Toelitz and Hermitian autocorrelation matrix estimate. The eigenvectors are then sorted by ascending order of their corresponding eigenvalues. The eigenvectors corresponding to the k smallest, approximately equal eigenvalues are selected. k is the dimension of the noise subspace, and can be specified by the user or may be computed using the Akaike (AIC) or Minimum Description Length (MDL) information theoretic criteria.

The Minimum Norm power spectrum is computed by solving an ordinary linear prediction problem.

For a more theoretical discussion of the Minimum Norm algorithm see: Optimum Signal Processing by Sophocles Orfranidis, McGraw-Hill, 1988; or Eigenvector-Based Parametric Modeling of Time-Domain Signals: Application to Nuclear Magnetic Resonance Spectroscopy by Glen Abousleman (Master's thesis, University of New Mexico, Dept. of EECE, 1990).

ldminorm does not work on explicit location data and will return an error when such a file is encountered. No output file will be created. dminorm works only on VFF_TYP_FLOAT or VFF_TYP_COMPLEX data files.

Input/Output Files

The input file must be of type VFF_TYP_FLOAT or VFF_TYP_COMPLEX. The output file returned will be of size specified by the user. If the data is of type VFF_TYP_COMPLEX and complex aithmetic is selected then the output file will be of type VFF_TYP_FLOAT. *********************************************************************

Process direction

Data can be processed with either band or vector orientation (-d option). The default data processing direction is in the vector direction (-d = 0). This means that data stored in multiband format will be processed as a set pixel location. The direction of processing can be changed so that each band is processed as a signal (instead of each vector being a signal) by setting the -d option to 1.

SEE ALSO
dminorm(1), intro(3), vipl(3), verror(3), vutils(3)

RESTRICTIONS
works only on VFF_TYP_COMPLEX and VFF_TYP_FLOAT.

ldminorm does not work on explicit location data and will return an error when such a data file is encountered.

AUTHOR
Jeremy Worley, Ramiro Jordan, Glen Abousleman

COPYRIGHT
Copyright 1992, University of New Mexico. All rights reserved.