conv(3F)
conv, libconv, convolution, correlation - Convolution and Correlation Library
As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.
NAME conv, libconv, convolution, correlation - Convolution and Correlation Library DESCRIPTION LIBCONV is an optimized library available on Silicon Graphics computers. It features Convolution for Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filters, together with Correlations. The library modules take 1D and 2D inputs, and are available in single and double precision for real and complex arithmetic. The 2D subprograms have been parallelized and take fully advantage of SGI parallel architecture. The two main goals of the Convolution and Correlation library are performance and generality. It provides well tuned modules usable in most convolution and correlation instances. To achieve maximum flexibility, 1D sequence are defined by 3 parameters, while 6 parameters are necessary for 2D inputs. One drawback of this versatility may come from the (very) long calling sequences (up to 23 parameters for sfir2d). To help the user, systematic conventions were used for modules names, calling parameters and sequence definition. C interface For the C interface two types "complex" and "zomplex" have been defined as structures of two floating point variables ( re, im ). They are equivalent to the "complex" and "double complex" Fortran types. typedef struct { float re; float im; } complex; typedef struct { double re; double im; } zomplex; These types as well as the prototypes of the different functions for convolution and correlations are defined in the "/usr/include/conv.h" header file. NAMING CONVENTIONS The name of each Convolution and Correlation routine is a coded specification of its function (6 or 7-character names). All driver and computational routines have names of the form XYYYMND The first letter, X, indicates the data type as follows: S REAL D DOUBLE PRECISION C COMPLEX Z COMPLEX*16 or DOUBLE COMPLEX The next three letters, YYY, indicate the type of computation performed. For example, fir for FIR convolution, iir for IIR filtering, and cor for Correlation. The next two letters, MN, are the dimension. MN can be a 1 or 2 character string: 1 or 2 for 1D and 2D modules, and M1 for "multiple 1D" subprograms. SUMMARY ------------------------------------------------------------------ | | | | | | 1 Dimension | 2 Dimensions | ------------------------------------------------------------------ | | FIR | IIR | Corre- | FIR | IIR | Corre- | | | filter | filter | lation | filter | filter | lation | ------------------------------------------------------------------ | | | | | | | | | Real | sfir1d | siir1d | scor1d | sfir2d | siir2d | scor2d | | Single | | | | sfirm1d | siirm1d| scorm1d| | | | | | | | | | Real | dfir1d | diir1d | dcor1d | dfir2d | diir2d | dcor2d | | Double | | | | dfirm1d | diirm1d| dcorm1d| | | | | | | | | | Complex | cfir1d | ciir1d | ccor1d | cfir2d | ciir2d | ccor2d | | Double | | | | cfirm1d | ciirm1d| ccorm1d| | | | | | | | | | Complex | zfir1d | ziir1d | zcor1d | zfir2d | ziir2d | zcor2d | | Double | | zcfirm1d| ziirm1d| zcorm1d| ------------------------------------------------------------------ For example: sfir1d applies a FIR filter to single precision real 1D signals, diir1d performs a IIR filtering on double precision 1D data, cfirm1d applies a 1D FIR filter for each column of a 2D single complex array, and zcor2d computes the correlation of 2D double complex sequences.