_IIR2D(3F)_IIR2D(3F)NAME
SIIR2D, DIIR2D, CIIR2D, ZIIR2D - 2D Convolution in the time domain.
FORTRAN SPECIFICATION
subroutine SIIR2D( 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 )
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,*)
subroutine DIIR2D( 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 )
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,*)
subroutine CIIR2D( 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 )
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,*)
subroutine ZIIR2D( 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 )
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,*)
C SPECIFICATION
#include <conv.h>
void siir2d( 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 )
void diir2d( 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,
Page 1
_IIR2D(3F)_IIR2D(3F)
int ihy0, int n_hy )
void ciir2d( 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 )
void ziir2d( 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 )
DESCRIPTION
SIIR2D, DIIR2D, CIIR2D and ZIIR2D 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"
Page 2
_IIR2D(3F)_IIR2D(3F)
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"
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 "diir2d" must be called with the following parameters
call diir2d( f(-25,10),(45-(-25)+1),-25,45,10,21 ... )
AUTHORS
Jean-Pierre Panziera, 1/12/93.
Page 3