signal.h File Reference

(2014-04-30 15:38:09 -0400, (build fd32605))

#include "defines.h"
#include "dims.h"
#include "constants.h"

Go to the source code of this file.

Namespaces

 af
 

Functions

array fft (const array &, int pad=-1)
 Fast Fourier Transform in one dimension. More...
 
array fft2 (const array &, int nx=-1, int ny=-1)
 Fast Fourier Transform in two dimensions. More...
 
array fft3 (const array &, const dim4 &dims=dim4(0))
 Fast Fourier Transform in three dimensions. More...
 
Inverse Fast Fourier Transform
array ifft (const array &, int pad=-1)
 Inverse Fast Fourier Transform in one dimension. More...
 
array ifft2 (const array &, int nx=-1, int ny=-1)
 Inverse Fast Fourier Transform in two dimensions. More...
 
array ifft3 (const array &, const dim4 &dims=dim4(0))
 Inverse Fast Fourier Transform in three dimensions. More...
 
array fir (int nb, const float *h_b, const array &x)
 
array fir (const array &b, const array &x)
 Finite impulse response filtering. More...
 
array iir (int nb, const float *h_b, int na, const float *h_a, const array &x)
 
array iir (const array &b, const array &a, const array &x)
 
array convolve (const array &f1, const array &f2, const array &signal, bool expand=false)
 Separable convolution (2D) with device arrays. More...
 
template<typename ty >
array convolve (unsigned n1, const ty *h_f1, unsigned n2, const ty *h_f2, const array &signal, bool expand=false)
 Separable convolution (2D) with host arrays. More...
 
array convolve (const array &signal, const array &filter, bool expand=false)
 Convolution (1D,2D,3D). More...
 
template<typename ty >
array convolve (const array &signal, unsigned ndims, unsigned *dims, const ty *h_kernel, bool expand=false)
 Convolution (1D,2D,3D) with host filter. More...
 
array approx1 (const array &Y, const array &Xi, char method='L', float offgrid=af::NaN)
 Interpolation in one dimension (1D). More...
 
array approx2 (const array &Z, const array &Xi, const array &Yi, char method='L', float offgrid=af::NaN)
 Interpolation in two dimensions (2D): z=f(x,y) More...
 
afError af_fft_S (dim3 dim_O, cfloat *d_O, dim3 dim_I, const float *d_I, unsigned batch, int dim, int direction)
 Single precision, One dimensional fft along dimension. More...
 
afError af_fft_C (dim3 dim_O, cfloat *d_O, dim3 dim_I, const cfloat *d_I, unsigned batch, int dim, int direction)
 Complex, Single precision, One dimensional fft along dimension. More...
 
afError af_fft_D (dim3 dim_O, cdouble *d_O, dim3 dim_I, const double *d_I, unsigned batch, int dim, int direction)
 Double precision, One dimensional fft along dimension. More...
 
afError af_fft_Z (dim3 dim_O, cdouble *d_O, dim3 dim_I, const cdouble *d_I, unsigned batch, int dim, int direction)
 Complex, Double precision, One dimensional fft along dimension. More...
 
afError af_fft2_S (unsigned xo, unsigned yo, cfloat *d_O, unsigned xi, unsigned yi, const float *d_I, unsigned batch, int direction)
 Single precision, two dimensional fft. More...
 
afError af_fft2_C (unsigned xo, unsigned yo, cfloat *d_O, unsigned xi, unsigned yi, const cfloat *d_I, unsigned batch, int direction)
 Complex, Single precision, two dimensional fft. More...
 
afError af_fft2_D (unsigned xo, unsigned yo, cdouble *d_O, unsigned xi, unsigned yi, const double *d_I, unsigned batch, int direction)
 Double precision, two dimensional fft. More...
 
afError af_fft2_Z (unsigned xo, unsigned yo, cdouble *d_O, unsigned xi, unsigned yi, const cdouble *d_I, unsigned batch, int direction)
 Complex, Double precision, two dimensional fft. More...
 
afError af_fft3_S (dim3 dims_O, cfloat *d_O, dim3 dims_I, const float *d_I, unsigned batch, int direction)
 Single precision, multi-dimensional fft. More...
 
afError af_fft3_C (dim3 dims_O, cfloat *d_O, dim3 dims_I, const cfloat *d_I, unsigned batch, int direction)
 Complex, Single precision, multi-dimensional fft. More...
 
afError af_fft3_D (dim3 dims_O, cdouble *d_O, dim3 dims_I, const double *d_I, unsigned batch, int direction)
 Double precision, multi-dimensional fft. More...
 
afError af_fft3_Z (dim3 dims_O, cdouble *d_O, dim3 dims_I, const cdouble *d_I, unsigned batch, int direction)
 Complex, Double precision, multi-dimensional fft. More...
 
afError af_fft_setplans (int max_plans)
 Set the cache size for CUfft plans. More...
 
afError af_fft_clear (void)
 Clear the fft plan cache. More...
 
void af_fft_info (void)
 Print status of fft plan cache. More...
 
afError af_filter1D_S (float *d_out, unsigned len_in, const float *d_in, unsigned len_a, const float *h_a, unsigned len_b, const float *h_b, const float *d_init, float *d_final, unsigned Nin, unsigned Ninit)
 
afError af_filter1D_C (cfloat *d_out, unsigned len_in, const cfloat *d_in, unsigned len_a, const float *h_a, unsigned len_b, const float *h_b, const cfloat *d_init, cfloat *d_final, unsigned Nin, unsigned Ninit)
 Complex, single-precision, Transposed direct form II filtering. More...
 
afError af_filter1D_D (double *d_out, unsigned len_in, const double *d_in, unsigned len_a, const double *h_a, unsigned len_b, const double *h_b, const double *d_init, double *d_final, unsigned Nin, unsigned Ninit)
 Double-precision, Transposed direct form II filtering. More...
 
afError af_filter1D_Z (cdouble *d_out, unsigned len_in, const cdouble *d_in, unsigned len_a, const double *h_a, unsigned len_b, const double *h_b, const cdouble *d_init, cdouble *d_final, unsigned Nin, unsigned Ninit)
 Complex, single-precision, Transposed direct form II filtering. More...
 
afError af_conv_SS (float *d_out, unsigned ni, const float *d_in, unsigned batchi, unsigned nf, const float *d_filt, unsigned batchf, bool expand)
 Single precision, real input, real filter, one dimensional convolution. More...
 
afError af_conv_CS (cfloat *d_out, unsigned ni, const cfloat *d_in, unsigned batchi, unsigned nf, const float *d_filt, unsigned batchf, bool expand)
 Single precision, complex input, real filter, one dimensional convolution. More...
 
afError af_conv_CC (cfloat *d_out, unsigned ni, const cfloat *d_in, unsigned batchi, unsigned nf, const cfloat *d_filt, unsigned batchf, bool expand)
 Float precision, complex input, complex filter, one dimensional convolution. More...
 
afError af_conv_DD (double *d_out, unsigned ni, const double *d_in, unsigned batchi, unsigned nf, const double *d_filt, unsigned batchf, bool expand)
 Single precision, real input, real filter, one dimensional convolution. More...
 
afError af_conv_ZD (cdouble *d_out, unsigned ni, const cdouble *d_in, unsigned batchi, unsigned nf, const double *d_filt, unsigned batchf, bool expand)
 Double precision, complex input, real filter, one dimensional convolution. More...
 
afError af_conv_ZZ (cdouble *d_out, unsigned ni, const cdouble *d_in, unsigned batchi, unsigned nf, const cdouble *d_filt, unsigned batchf, bool expand)
 Double precision, complex input, complex filter, one dimensional convolution. More...
 
afError af_conv2_SS (float *d_out, unsigned mi, unsigned ni, const float *d_in, unsigned batch_in, unsigned mf, unsigned nf, const float *d_filt, unsigned batch_filt, bool expand)
 
afError af_conv2_CS (cfloat *d_out, unsigned mi, unsigned ni, const cfloat *d_in, unsigned batch_in, unsigned mf, unsigned nf, const float *d_filt, unsigned batch_filt, bool expand)
 Single precision, complex input, real filter, two dimensional convolution. More...
 
afError af_conv2_CC (cfloat *d_out, unsigned mi, unsigned ni, const cfloat *d_in, unsigned batch_in, unsigned mf, unsigned nf, const cfloat *d_filt, unsigned batch_filt, bool expand)
 Single precision, complex input, complex filter, two dimensional convolution. More...
 
afError af_conv2_DD (double *d_out, unsigned mi, unsigned ni, const double *d_in, unsigned batch_in, unsigned mf, unsigned nf, const double *d_filt, unsigned batch_filt, bool expand)
 Double precision, real input, real filter, two dimensional convolution. More...
 
afError af_conv2_ZD (cdouble *d_out, unsigned mi, unsigned ni, const cdouble *d_in, unsigned batch_in, unsigned mf, unsigned nf, const double *d_filt, unsigned batch_filt, bool expand)
 Double precision, complex input, real filter, two dimensional convolution. More...
 
afError af_conv2_ZZ (cdouble *d_out, unsigned mi, unsigned ni, const cdouble *d_in, unsigned batch_in, unsigned mf, unsigned nf, const cdouble *d_filt, unsigned batch_filt, bool expand)
 Double precision, complex input, complex filter, two dimensional convolution. More...
 
afError af_convn_SS (float *d_out, unsigned ndimsi, unsigned *dimsi, const float *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const float *d_filt, unsigned batchf, bool expand)
 Single precision, real input, real filter, multi-dimensional convolution. More...
 
afError af_convn_CS (cfloat *d_out, unsigned ndimsi, unsigned *dimsi, const cfloat *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const float *d_filt, unsigned batchf, bool expand)
 Single precision, complex input, real filter, multi-dimensional convolution. More...
 
afError af_convn_CC (cfloat *d_out, unsigned ndimsi, unsigned *dimsi, const cfloat *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const cfloat *d_filt, unsigned batchf, bool expand)
 Single precision, complex input, complex filter, multi-dimensional convolution. More...
 
afError af_convn_DD (double *d_out, unsigned ndimsi, unsigned *dimsi, const double *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const double *d_filt, unsigned batchf, bool expand)
 Double precision, real input, real filter, multi-dimensional convolution. More...
 
afError af_convn_ZD (cdouble *d_out, unsigned ndimsi, unsigned *dimsi, const cdouble *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const double *d_filt, unsigned batchf, bool expand)
 Double precision, complex input, real filter, multi-dimensional convolution. More...
 
afError af_convn_ZZ (cdouble *d_out, unsigned ndimsi, unsigned *dimsi, const cdouble *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const cdouble *d_filt, unsigned batchf, bool expand)
 Double precision, complex input, complex filter, multi-dimensional convolution. More...
 
Device pointer interface: filter is host pointer

Multi-dimensional convolution (filter on host)

Parameters
[out]d_outThe convolved output
[in]ndimsiNumber of dimensions in input signal
[in]dimsiDimensions of input signal
[in]d_inInput signal
[in]batchiNumber of input signal tiles
[in]ndimsfNumber of dimensions in input filter
[in]dimsfDimensions of input filter
[in]h_filtInput filter (on host)
[in]batchfNumber of input signal tiles
[in]expandperform expanded convolution if true.
afError af_convh_SS (float *d_out, unsigned ndimsi, unsigned *dimsi, const float *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const float *h_filt, unsigned batchf, bool expand)
 Single precision, real input, real filter, multi-dimensional convolution. More...
 
afError af_convh_CS (cfloat *d_out, unsigned ndimsi, unsigned *dimsi, const cfloat *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const float *h_filt, unsigned batchf, bool expand)
 Single precision, complex input, real filter, multi-dimensional convolution. More...
 
afError af_convh_DD (double *d_out, unsigned ndimsi, unsigned *dimsi, const double *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const double *h_filt, unsigned batchf, bool expand)
 Double precision, real input, real filter, multi-dimensional convolution. More...
 
afError af_convh_ZD (cdouble *d_out, unsigned ndimsi, unsigned *dimsi, const cdouble *d_in, unsigned batchi, unsigned ndimsf, unsigned *dimsf, const double *h_filt, unsigned batchf, bool expand)
 Double precision, complex input, real filter, multi-dimensional convolution. More...
 
afError af_scale2D_S (float *d_ZI, unsigned md, unsigned nd, const float *d_Z, int factor, char method)
 Rescale a Matrix. More...
 
afError af_scale2D_D (double *d_ZI, unsigned md, unsigned nd, const double *d_Z, int factor, char method)
 
afError af_scale2D_C (cfloat *d_ZI, unsigned md, unsigned nd, const cfloat *d_Z, int factor, char method)
 
afError af_scale2D_Z (cdouble *d_ZI, unsigned md, unsigned nd, const cdouble *d_Z, int factor, char method)
 
afError af_scale2D_c (char *d_ZI, unsigned md, unsigned nd, const char *d_Z, int factor, char method)
 Character (8-bit) rescale. More...
 
Vector Interpolation

Vector (1D) interpolation.

Parameters
[out]d_YIInterpolated function values
[in]nNumber of elements in inputs d_Y
[in]d_YFunction values
[in]batch_YNumber of tiles of d_Y
[in]niNumber of elements in d_XI
[in]d_XIGrid values to interpolate at
[in]batch_XINumber of tiles of d_XI
[in]methodinterpolation type ('N' nearest, 'L' linear, 'C' cubic)
[in]offgridValue for interpolations off the grid (i.e. out-of-bounds)
afError af_approx1_S (float *d_YI, unsigned n, const float *d_Y, unsigned batch_Y, unsigned ni, const float *d_XI, unsigned batch_XI, char method, float offgrid)
 
afError af_approx1_D (double *d_YI, unsigned n, const double *d_Y, unsigned batch_Y, unsigned ni, const double *d_XI, unsigned batch_XI, char method, float offgrid)
 
afError af_approx1_C (cfloat *d_YI, unsigned n, const cfloat *d_Y, unsigned batch_Y, unsigned ni, const float *d_XI, unsigned batch_XI, char method, float offgrid)
 
afError af_approx1_Z (cdouble *d_YI, unsigned n, const cdouble *d_Y, unsigned batch_Y, unsigned ni, const double *d_XI, unsigned batch_XI, char method, float offgrid)
 
Matrix Interpolation

Matrix (2D) interpolation.

Parameters
[out]d_ZIInterpolated function values
[in]nxNumber of rows in d_Z
[in]nyNumber of columns in d_Z
[in]d_ZFunction values
[in]batch_ZNumber of tiles of d_Z
[in]niNumber of elements in d_XI, d_YI
[in]d_XIX Grid or Vector values to interpolate at
[in]batch_XINumber of tiles of d_XI
[in]d_YIY Grid or Vector values to interpolate at
[in]batch_YINumber of tiles of d_YI
[in]methodinterpolation type ('N' nearest, 'L' linear, 'C' cubic)
[in]offgridValue for interpolations off the grid (i.e. out-of-bounds)
afError af_approx2_S (float *d_ZI, unsigned nx, unsigned ny, const float *d_Z, unsigned batch_Z, unsigned ni, const float *d_XI, unsigned batch_XI, const float *d_YI, unsigned batch_YI, char method, float offgrid)
 
afError af_approx2_D (double *d_ZI, unsigned nx, unsigned ny, const double *d_Z, unsigned batch_Z, unsigned ni, const double *d_XI, unsigned batch_XI, const double *d_YI, unsigned batch_YI, char method, float offgrid)
 
afError af_approx2_C (cfloat *d_ZI, unsigned nx, unsigned ny, const cfloat *d_Z, unsigned batch_Z, unsigned ni, const float *d_XI, unsigned batch_XI, const float *d_YI, unsigned batch_YI, char method, float offgrid)
 
afError af_approx2_Z (cdouble *d_ZI, unsigned nx, unsigned ny, const cdouble *d_Z, unsigned batch_Z, unsigned ni, const double *d_XI, unsigned batch_XI, const double *d_YI, unsigned batch_YI, char method, float offgrid)