- Main Page
- Tutorials
- Functions
- Release Notes
- Examples

Functions
fftConvolve
Complete List of ArrayFire Functions ArrayFire Functions by Category » Signal Processing » | Convolutions

Convolution using Fast Fourier Transform. More...

## Functions
AFAPI array | fftConvolve (const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
| C++ Interface for FFT-based convolution any(one through three) dimensional signals. More...

## Detailed Description

Convolution using Fast Fourier Transform.

A convolution is a common operation between a source array, a, and a filter (or kernel) array b. The answer to the convolution is the same as computing the coefficients in polynomial multiplication, if a and b are the coefficients.

Another way to think about it is that the filter kernel is centered on each pixel in a, and the output for that pixel or data point is the sum of the products.

Depending on the dimensions of the input signal and the filter signal, any one of the following batch mode convolutions take place.

- No Batch - Single filter applied to single input.
- Filter is Batched - Many filters applied on same input
- Signal is Batched - Single filter applied to a set of inputs.
- Identical Batches - A set of filters applied onto to a set of inputs in one-to-one correspondence.
- Non overlapping Batches - All batched filters are applied to all batched signals. The batch dimension of Signal and Filter should not be the same.

## Function Documentation

AFAPI array af::fftConvolve | ( | const array & | signal,
|  | const array & | filter,
|  | const convMode | mode = `AF_CONV_DEFAULT`
| ) |  |

C++ Interface for FFT-based convolution any(one through three) dimensional signals.

Parameters

  [in] | signal | is the input signal
  [in] | filter | is the signal that shall be used for the convolution operation
  [in] | mode | indicates if the convolution should be expanded or not(where output size equals input)

Returns
  the convolved array