fir2d(3F)

SFIR2D, DFIR2D, CFIR2D, ZFIR2D - 2D Convolution in the time domain.

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     SFIR2D, DFIR2D, CFIR2D, ZFIR2D - 2D Convolution in the time domain.

FORTRAN SPECIFICATION
     subroutine SFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy,
                        alpha, beta )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     real               f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta

     subroutine DFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy,
                        alpha, beta )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     double precision   f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta

     subroutine CFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy,
                        alpha, beta )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     complex            f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta

     subroutine ZFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy,
                        alpha, beta )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     double complex     f(ldf,*), g(ldg,*), h(ldh,*), alpha, beta


C SPECIFICATION
     #include <conv.h>

     void sfir2d( float *f, int incf, int lsf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  float *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  float *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy,
                  float alpha, float beta)
     void dfir2d( double *f, int incf, int ldf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  double *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  double *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy,
                  double alpha, double beta)

     void cfir2d( complex *f, int incf, int ldf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  complex *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  complex *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy,
                  complex *alpha, complex *beta)

     void zfir2d( zomplex *f, int incf, int ldf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  zomplex *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  zomplex *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy,
                  zomplex *alpha,  zomplex *beta)



DESCRIPTION
     SFIR2D and DFIR2D compute a 2D convolution in the time domain :

        h(i,j) = beta * h(i,j) + alpha * Sum.Sum[ f(k,l) * g(i-k,j-l) ]



PARAMETERS
     f       Vector containing sequence "f"

     incf    Increment between two successive lines   of "f"

     ldf     Increment between two successive columns of "f"

     ifx0    Index of the first element of each column of "f"

     n_fx    Number of elements (lines) of each column of "f"

     ify0    Index of the first column of "f"

     n_fy    Index of the  last column of "f"


     g       Vector containing sequence "g"

     incg    Increment between two successive lines   of "g"

     ldg     Increment between two successive columns of "g"

     igx0    Index of the first element of each column of "g"

     n_gx    Number of elements (lines) of each column of "g"

     igy0    Index of the first column of "g"

     n_gy    Index of the  last column of "g"


     h       Vector containing sequence "h"

     inch    Increment between two successive lines   of "h"

     ldh     Increment between two successive columns of "h"

     ihx0    Index of the first element of each column of "h"

     n_hx    Number of elements (lines) of each column of "h"

     ihy0    Index of the first column of "h"

     n_hy    Index of the  last column of "h"


     alpha   Scaling factor for the Convolution

     beta    Scaling Factor for the Output on Entry



IMPORTANT NOTE:
           The array pointers must all point to the first element of the
           array "(ifx0,ify0)", "(igx0,igy0)" and "(ihx0,ihy0)". If "f"
           for example is defined as
                dimension f(-25:45,10:21)
           Then "dfir2d" must be called with the following parameters
                call dfir2d( f(-25,10),(45-(-25)+1),-25,45,10,21 ... )


AUTHORS
          Jean-Pierre Panziera, 1/12/93.