Contents


NAME

     swiener - perform Wiener deconvolution of two signals

SYNOPSIS

     SUBROUTINE SWIENER(N_POINTS, ACOR, XCOR, FLTR, EROP, ISW, IERR)

     INTEGER N_POINTS, ISW, IERR
     REAL ACOR(*), XCOR(*), FLTR(*), EROP(*)

     SUBROUTINE SWIENER_64(N_POINTS, ACOR, XCOR, FLTR, EROP, ISW, IERR)

     INTEGER*8 N_POINTS, ISW, IERR
     REAL ACOR(*), XCOR(*), FLTR(*), EROP(*)

  F95 INTERFACE
     SUBROUTINE WIENER(N_POINTS, ACOR, XCOR, FLTR, EROP, ISW, IERR)

     INTEGER :: N_POINTS, ISW, IERR
     REAL, DIMENSION(:) :: ACOR, XCOR, FLTR, EROP

     SUBROUTINE WIENER_64(N_POINTS, ACOR, XCOR, FLTR, EROP, ISW, IERR)

     INTEGER(8) :: N_POINTS, ISW, IERR
     REAL, DIMENSION(:) :: ACOR, XCOR, FLTR, EROP

  C INTERFACE
     #include <sunperf.h>

     void swiener(int n_points, float *acor, float  *xcor,  float
               *fltr, float *erop, int *isw, int *ierr);

     void swiener_64(long n_points,  float  *acor,  float  *xcor,
               float *fltr, float *erop, long *isw, long *ierr);

PURPOSE

     swiener performs Wiener deconvolution of two signals.

ARGUMENTS

     N_POINTS (input)
               On entry, the number of points in the input corre-
               lations.  Unchanged on exit.

     ACOR (input)
               On entry, autocorrelation coefficients.  Unchanged
               on exit.

     XCOR (input)
               On    entry,    cross-correlation    coefficients.
               Unchanged on exit.

     FLTR (output)
               On exit, filter coefficients.

     EROP (output)
               On exit, the prediction error.

     ISW (input)
               On entry, if  ISW  .EQ.  0  then  perform  spiking
               deconvolution,  otherwise perform general deconvo-
               lution.  Unchanged on exit.

     IERR (output)
               On exit, the deconvolution was successful iff IERR
               .EQ. 0, otherwise there was an error.