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.
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.
|
||||||
![]() |
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.






















