dwiener


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, double *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 correlations. 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. Unchanged on exit.

* EROP (input)
On exit, the prediction error.

* ISW (output)
On entry, if ISW .EQ. 0 then perform spiking deconvolution, otherwise perform general deconvolution. Unchanged on exit.

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