LabVIEW Multicore Analysis and Sparse Matrix Toolkit API Reference

Convolution VI

  • Updated2023-02-21
  • 16 minute(s) read

Convolution VI

Owning Palette: Signal Operation VIs

Requires: Multicore Analysis and Sparse Matrix Toolkit

Computes the convolution of the input sequences X and Y.

Wire data to the X input and the Y input to determine the polymorphic instance to use or manually select the instance.

Details  

1D Convolution (DBL)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y.

0Full (default)—Sets the length of X * Y to one less than the sum of the lengths of X and Y. The output vector X * Y is:



where h(full) is X * Y,

N is the length of X,

M is the length of Y.

The indexed elements outside the ranges of X and Y are equal to zero, as shown in the following relationships.

1Size X—Sets the length of X * Y to the length of X. The output vector X * Y is of the same length of X and is the central part of the output vector X * Y when the output size is Full, as shown in the following equation.

2Compact—Sets the length of X * Y to one more than the difference between the lengths of X and Y. The length of X must be greater than or equal to the length of Y. Computing the edge elements of X * Y requires zero-padding if the output size is Full or Size X. LabVIEW removes these edge elements if the output size is Compact. The output vector X * Y is the central part of the output vector X * Y when the output size is Size X or Full, as shown in the following equation.

X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

1D Convolution (SGL)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y.

0Full (default)—Sets the length of X * Y to one less than the sum of the lengths of X and Y. The output vector X * Y is:



where h(full) is X * Y,

N is the length of X,

M is the length of Y.

The indexed elements outside the ranges of X and Y are equal to zero, as shown in the following relationships.

1Size X—Sets the length of X * Y to the length of X. The output vector X * Y is of the same length of X and is the central part of the output vector X * Y when the output size is Full, as shown in the following equation.

2Compact—Sets the length of X * Y to one more than the difference between the lengths of X and Y. The length of X must be greater than or equal to the length of Y. Computing the edge elements of X * Y requires zero-padding if the output size is Full or Size X. LabVIEW removes these edge elements if the output size is Compact. The output vector X * Y is the central part of the output vector X * Y when the output size is Size X or Full, as shown in the following equation.

X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

1D Convolution (CDB)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y.

0Full (default)—Sets the length of X * Y to one less than the sum of the lengths of X and Y. The output vector X * Y is:



where h(full) is X * Y,

N is the length of X,

M is the length of Y.

The indexed elements outside the ranges of X and Y are equal to zero, as shown in the following relationships.

1Size X—Sets the length of X * Y to the length of X. The output vector X * Y is of the same length of X and is the central part of the output vector X * Y when the output size is Full, as shown in the following equation.

2Compact—Sets the length of X * Y to one more than the difference between the lengths of X and Y. The length of X must be greater than or equal to the length of Y. Computing the edge elements of X * Y requires zero-padding if the output size is Full or Size X. LabVIEW removes these edge elements if the output size is Compact. The output vector X * Y is the central part of the output vector X * Y when the output size is Size X or Full, as shown in the following equation.

X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

1D Convolution (CSG)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y.

0Full (default)—Sets the length of X * Y to one less than the sum of the lengths of X and Y. The output vector X * Y is:



where h(full) is X * Y,

N is the length of X,

M is the length of Y.

The indexed elements outside the ranges of X and Y are equal to zero, as shown in the following relationships.

1Size X—Sets the length of X * Y to the length of X. The output vector X * Y is of the same length of X and is the central part of the output vector X * Y when the output size is Full, as shown in the following equation.

2Compact—Sets the length of X * Y to one more than the difference between the lengths of X and Y. The length of X must be greater than or equal to the length of Y. Computing the edge elements of X * Y requires zero-padding if the output size is Full or Size X. LabVIEW removes these edge elements if the output size is Compact. The output vector X * Y is the central part of the output vector X * Y when the output size is Size X or Full, as shown in the following equation.

X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

2D Convolution (DBL)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y. Refer to the Details section in the Convolution VI for more details about output size in 2D instances of this VI.

0Full (default)—Sets the width of X * Y to one less than the sum of the widths of X and Y and sets the height of X * Y to one less than the sum of the heights of X and Y.
1Size X—Sets the width and height of X * Y to the width and height of X.
2Compact—Sets the width of X * Y to one more than the difference between the widths of X and Y and sets the height of X * Y to one more than the difference of the heights of X and Y. The width and height of X must be greater than or equal to the width and height of Y, respectively.
X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

2D Convolution (SGL)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y. Refer to the Details section in the Convolution VI for more details about output size in 2D instances of this VI.

0Full (default)—Sets the width of X * Y to one less than the sum of the widths of X and Y and sets the height of X * Y to one less than the sum of the heights of X and Y.
1Size X—Sets the width and height of X * Y to the width and height of X.
2Compact—Sets the width of X * Y to one more than the difference between the widths of X and Y and sets the height of X * Y to one more than the difference of the heights of X and Y. The width and height of X must be greater than or equal to the width and height of Y, respectively.
X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

2D Convolution (CDB)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y. Refer to the Details section in the Convolution VI for more details about output size in 2D instances of this VI.

0Full (default)—Sets the width of X * Y to one less than the sum of the widths of X and Y and sets the height of X * Y to one less than the sum of the heights of X and Y.
1Size X—Sets the width and height of X * Y to the width and height of X.
2Compact—Sets the width of X * Y to one more than the difference between the widths of X and Y and sets the height of X * Y to one more than the difference of the heights of X and Y. The width and height of X must be greater than or equal to the width and height of Y, respectively.
X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

2D Convolution (CSG)

X specifies the first input sequence.
Y specifies the second input sequence.
algorithm specifies the convolution method to use. When algorithm is Direct, this VI computes the convolution using the direct method of linear convolution. When algorithm is Frequency Domain, this VI computes the convolution using an FFT-based technique. If X and Y are small, the Direct method typically computes faster than the Frequency Domain method. If X and Y are large, the Frequency Domain method typically computes faster than the Direct method. Slight numerical differences can exist between the two methods. Refer to the Details section in the Convolution VI for more details about algorithm in this VI.

0Direct
1Frequency Domain (default)
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
output size specifies the size of X * Y. Refer to the Details section in the Convolution VI for more details about output size in 2D instances of this VI.

0Full (default)—Sets the width of X * Y to one less than the sum of the widths of X and Y and sets the height of X * Y to one less than the sum of the heights of X and Y.
1Size X—Sets the width and height of X * Y to the width and height of X.
2Compact—Sets the width of X * Y to one more than the difference between the widths of X and Y and sets the height of X * Y to one more than the difference of the heights of X and Y. The width and height of X must be greater than or equal to the width and height of Y, respectively.
X * Y returns the convolution of X and Y.
error out contains error information. This output provides standard error out functionality.

Convolution Details

The following table lists the support characteristics of this VI.

Supported on RT targets Yes
Suitable for bounded execution times on RT Yes

Refer to the Details section in the Convolution VI for more details about this VI.

Log in to get a better experience