Contents


NAME

     dwiener - perform Wiener deconvolution of two signals

SYNOPSIS

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

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

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

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

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

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

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

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

  C INTERFACE
     #include <sunperf.h>

     void dwiener(int n_points, double *acor, double *xcor,  dou-
               ble *fltr, double *erop, int *isw, int *ierr);

     void dwiener_64(long n_points, double *acor,  double  *xcor,
               double   *fltr,  double  *erop,  long  *isw,  long
               *ierr);

PURPOSE

     dwiener 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.