Complex Kernel Processor<T>.Convolve Method
Definition
Namespace: Numerics.NET.SignalProcessing
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
Overload List
| Convolve( | Computes the convolution of a vector with the stored kernel (allocating). |
| Convolve( | Computes the convolution of a signal with the stored kernel. |
| Convolve( | Computes the convolution of a vector with the stored kernel (non-allocating). |
| Convolve( | Computes the convolution of a complex signal with the stored kernel. |
Convolve(Int32, ReadOnlySpan<Complex<T>>, Int32, Int32, Span<Complex<T>>, Int32)
Computes the convolution of a complex signal with the stored kernel.
public override void Convolve(
int signalLength,
ReadOnlySpan<Complex<T>> signal,
int signalStride,
int resultLength,
Span<Complex<T>> result,
int resultStride
)Parameters
- signalLength Int32
- The length of the input signal.
- signal ReadOnlySpan<Complex<T>>
- A read-only span containing the complex input signal.
- signalStride Int32
- The stride between successive elements in the signal. Use 1 for contiguous data.
- resultLength Int32
- The expected length of the result (should match GetOutputLength(Int32)).
- result Span<Complex<T>>
- A span to store the convolution result. Must have capacity for at least resultLength elements.
- resultStride Int32
- The stride between successive elements in the result. Use 1 for contiguous output.
Remarks
Complex convolution computes: y[n] = Σ_m x[n - (m - a)] · h[m], where a is the anchor index. The operation preserves complex arithmetic throughout.
This method automatically selects between direct (time-domain) and FFT (frequency-domain) algorithms based on the ProcessingMethod setting and signal/kernel sizes.