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

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

Contents


sprod2du,dprod2du(3F)					 sprod2du,dprod2du(3F)


NAME    [Toc]    [Back]

     sprod2du, dprod2du	- Compute the product of a 2D Fourier transforms with
     a 2D filter.

SYNOPSYS    [Toc]    [Back]

     Fortran :
     subroutine	sprod2du( n1,n2,array,lda,filter,ldf)
	  integer   n1,n2,lda,ldf
	  real	    array(lda,n2), filter(ldf,n2)

     subroutine	dprod2du( n1,n2,array,lda,filter,ldf)
	  integer   n1,n2,lda,ldf
	  real*8    array(lda,n2), filter(ldf,n2)


     C :
     #include <fft.h>
     int sprod2du(int n1, int n2, float	*array,	int lda,
		    float *filter, int ldf);
     int dprod2du(int n1, int n2, double *array,int lda,
		    double *filter, int	ldf);

DESCRIPTION    [Toc]    [Back]

     sprod2du and dprod2du compute the product of the Fourier transforms of 2D
     real sequence (size N1xN2)	with the Fourier transform of 2D real filter.
     Note, the product of the Fourier transforms of two	sequences is equal to
     the Fourier transform of their convolution.

PARAMETERS    [Toc]    [Back]

     N1	Integer, the first dimension size of the 2D sequence.
     Unchanged on exit.

     N2	Integer, the second dimension size of the 2D sequence.	     Unchanged
     on	exit.

     ARRAY Array containing the	samples	of the 2D sequence to be transformed.
     On	input, the element {i,j} of the	sequence is stored as A(i,j) in
     Fortran , and A[i+j*lda] in C.
     On	exit, the array	is overwritten by its transform.

     LDA Integer, array	leading	dimension: increment between the samples of
     two consecutive sub-sequences (e.g	between	{i,j+1}	and {i,j} ).
	  Unchanged on exit.

     FILTER Array containing the Fourier Transform of the 2D filter.
	  Unchanged on exit.

     LDF Integer, array	leading	dimension: increment between the first samples
     of	two consecutive	sub-sequence(e.g between {i,j+1} and {i,j} ).
	  Unchanged on exit.



									Page 1






sprod2du,dprod2du(3F)					 sprod2du,dprod2du(3F)



Example	of Calling Sequence
     Working on	a 64*1024 sequence of real values.  We successively apply a
     Direct Fourier Transform, the product with	a SINGLE filter	transform,
     then an Inverse Fourier TransformElements
 of sequence are stored with increment (stride)1, and the offset
     between the first element of two succesive	sub-sequence (leading
     dimension)	is 1026	(1026 >= 1024+2).
     Fortran
	  real array(0:1026-1,0:64-1),
	       filter(0:1026-1,0:64-1),	coeff(64+15 + 2*(1024+15))
	  call scfft2dui( 1024,	64, coeff)
	  call scfft2du( -1, 1024, 64, array, 1026, coeff)
	  call sprod2du( 1024, 64, array, 1026 , filter, 1026)
	  call csfft2du(  1, 1024, 64, array, 1026, coeff)

     C
	  #include <fft.h>
	  float	array[64*1026],	filter[1026], *coeff;
	  coeff	= scfft2dui( 1024, 64, NULL);
	  scfft2du( -1,	1024, 64, array, 1026, coeff);
	  sprod2du( 1024, 64, array, 1026, filter, 1026);
	  csfft2du( -1,	1024, 64, array, 1026, coeff);

     NOTE : As the FFTs	are not	normalized, a successive direct, then inverse
     transform,	scales the original input by the size of the sequence. Rather
     than calling sscal2d or dscal2d to	scale back the result, this scaling
     factor could be directly applied to the filter transform, thus saving
     some extra	work.

SEE ALSO    [Toc]    [Back]

      
      
     fft, scfft2dui, dzfft2dui,	scfft2du, dzfft2du, sscal2d, dscal2d


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
cprod3d IRIX Compute the product of a 3D Fourier transforms with a 3D filter.
sprod3du IRIX Compute the product of a 3D Fourier transforms with a 3D filter.
sprod1du IRIX Compute the product of a 1D Fourier transform with a 1D filter.
cprod1d IRIX Compute the product of a 1D Fourier transform with a 1D filter.
cprodm1d IRIX Compute the product of Multiple 1D Fourier transforms with Multiple 1D filters.
sprodm1du IRIX Compute the product of Multiple 1D Fourier transforms with Multiple 1D filters.
fft IRIX Fast Fourier Transforms
fft2du IRIX 2D, Real to Complex, Direct Fast Fourier Transforms.
csfft1du IRIX 1D, Complex to Real, Inverse Fast Fourier Transforms.
csfft3du IRIX 3D, Complex to Real, Inverse Fast Fourier Transforms.
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service