*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> complib/iir1d (3)              
Title
Content
Arch
Section
 

Contents


_IIR1D(3F)							    _IIR1D(3F)


NAME    [Toc]    [Back]

     SIIR1D, DIIR1D, CIIR1D, ZIIR1D - 1D recursive convolution in the time
     domain.

FORTRAN	SPECIFICATION
     subroutine	SIIR1D(	in_put,	incinp,	i0_inp,	n_inp,
			iirfil,	inciir,	i0_iir,	n_iir,
			output,	incout,	i0_out,	n_out,
			alpha, beta )
     integer		incinp,	i0_inp,	n_inp,
			inciir,	i0_iir,	n_iir
			incout,	i0_out,	n_out
     real		in_put(*), iirfil(*), output(*), alpha,	beta

     subroutine	DIIR1D(	in_put,	incinp,	i0_inp,	n_inp,
			iirfil,	inciir,	i0_iir,	n_iir,
			output,	incout,	i0_out,	n_out,
			alpha, beta )
     integer		incinp,	i0_inp,	n_inp,
			inciir,	i0_iir,	n_iir
			incout,	i0_out,	n_out
     double precision	in_put(*), iirfil(*), output(*), alpha,	beta

     subroutine	CIIR1D(	in_put,	incinp,	i0_inp,	n_inp,
			iirfil,	inciir,	i0_iir,	n_iir,
			output,	incout,	i0_out,	n_out,
			alpha, beta )
     integer		incinp,	i0_inp,	n_inp,
			inciir,	i0_iir,	n_iir
			incout,	i0_out,	n_out
     complex		in_put(*), iirfil(*), output(*), alpha,	beta

     subroutine	ZIIR1D(	in_put,	incinp,	i0_inp,	n_inp,
			iirfil,	inciir,	i0_iir,	n_iir,
			output,	incout,	i0_out,	n_out,
			alpha, beta )
     integer		incinp,	i0_inp,	n_inp,
			inciir,	i0_iir,	n_iir
			incout,	i0_out,	n_out
     double complex	in_put(*), iirfil(*), output(*), alpha,	beta

C SPECIFICATION    [Toc]    [Back]

     #include <conv.h>

     void siir1d(    float *f, int incf, int if0, int nf,
		     float *g, int incg, int ig0, int ng,
		     float *h, int inch, int ih0, int nh,
		     float alpha, float	beta)

     void diir1d(    double *f,	int incf, int if0, int nf,
		     double *g,	int incg, int ig0, int ng,



									Page 1






_IIR1D(3F)							    _IIR1D(3F)



		     double *h,	int inch, int ih0, int nh,
		     double alpha, double beta)

     void ciir1d(    complex *f, int incf, int if0, int	nf,
		     complex *g, int incg, int ig0, int	ng,
		     complex *h, int inch, int ih0, int	nh,
		     complex *alpha, complex *beta)

     void ziir1d(    zomplex *f, int incf, int if0, int	nf,
		     zomplex *g, int incg, int ig0, int	ng,
		     zomplex *h, int inch, int ih0, int	nh,
		     zomplex *alpha, zomplex *beta)


DESCRIPTION    [Toc]    [Back]

     SIIR1D, DIIR1D CIIR1D and ZIIR1D compute a	1D convolution in the time
     domain :

       O(j) = (1/F(0)) * { I(j)	- Sum[ O(i) * F(j-i) ] }, for i=1,...,(j-1)

USAGE    [Toc]    [Back]

     These modules compute the result of the convolution in the	"output" range
     padding with zeroes when needed.

     With some precautions it is possible that
	       the Output sequence   OVERWRITE	 the Input one.
     Then (if i0_out ==	i0_inp), it is necessary that	i0_iir =< 0 Said in
     DSP jargon: "iirfil" must be ANTI-CAUSAL

     In	theory,	an input sequence of "n_inp" samples starting at time
     "i0_inp", filtered	by a sequence of "n_fir" samples starting at time
     "i0_fir", will result in a	new signal of infinite length starting at time
     (i0_inp + i0_fir).	 Here we just compute here the values that fall	in
     that range	and zero the rest.

     For example when filtering	a sequence of N	samples, with a	filter of m
     samples. If one wants only	to compute the first N resulting samples, the
     following call can	be used:
	 call diir1d( f, 0, 1, N,  g, 0, 1, m,	h, 0, 1, N)



PARAMETERS    [Toc]    [Back]

     in_put  Pointer to	IIRST sample of	sequence "in_put"


     incinp  Increment between two successive values of	"in_put"





									Page 2






_IIR1D(3F)							    _IIR1D(3F)



     i0_inp  Index of the iirst	element	of "in_put"


     n_inp   Number of samples of "in_put"


     iirfil  Pointer to	IIRST sample of	sequence "iirfil"


     inciir  Increment between two successive values of	"iirfil"


     i0_iir  Index of the iirst	element	of "iirfil"


     i0_iir  Number of samples of "iirfil"


     output  Pointer to	IIRST sample of	sequence "output"


     incout  Increment between two successive values of	"output"


     i0_out  Index of the iirst	element	of "output"


     n_out   Number of samples of "output"


     alpha   Scaling factor for	the convolution


     beta    Scaling factor for	the Output on Entry


IMPORTANT NOTE:
	   The array pointers must all point to	the iirst element of the
	   array "i0_inp", "i0_iir" and	"i0_out". If "in_put" for example
	   is defined as
		dimension in_put(-25:45)
	   Then	"diir1d" must be called	with the following parameters
		call diir1d( in_put(-25),1,-25,45, ... )

AUTHORS    [Toc]    [Back]

	  Jean-Pierre Panziera,	1/12/93.


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
fir1d IRIX 1D Convolution in the time domain. FORTRAN SPECIFICATION subroutine SFIR1D( in_put, incinp, i0_inp, n_inp, fir
iir2d IRIX 2D Convolution in the time domain. FORTRAN SPECIFICATION subroutine SIIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_
fir2d IRIX 2D Convolution in the time domain. FORTRAN SPECIFICATION subroutine SFIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_
cor1d IRIX 1D Correlation in the time domain. FORTRAN SPECIFICATION subroutine SCOR1D( f, incf, if0, nf, g, incg, ig0, ng
iirm1d IRIX N 1D convolutions in the time domain. FORTRAN SPECIFICATION subroutine SIIRM1D( f, incf, ldf, ifx0, n_fx, ny,
firm1d IRIX N 1D convolutions in the time domain. FORTRAN SPECIFICATION subroutine SFIRM1D( f, incf, ldf, ifx0, n_fx, ny,
corm1d IRIX N 1D convolutions in the time domain. FORTRAN SPECIFICATION subroutine SCORM1D( f, incf, ldf, ifx0, n_fx, ny,
cor2d IRIX 2D Correlation in the space domain. FORTRAN SPECIFICATION subroutine SCOR2D( f, incf, ldf, ifx0, n_fx, ify0, n
sdfft2dui IRIX 2D FFT Real to Complex workspace initialization routines. FORTRAN SPECIFICATION subroutine SFFT2DUI( n1, n2, w
sdfft3dui IRIX 3D FFT Real to Complex workspace initialization routines. FORTRAN SPECIFICATION subroutine SFFT3DUI( n1, n2, n
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service