SignalOperations<T>.CreateComplexKernelProcessor Method

Creates a kernel processor for complex convolution and correlation operations.

Definition

Namespace: Numerics.NET.SignalProcessing
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.1.0
C#
public virtual ComplexKernelProcessor<T> CreateComplexKernelProcessor(
	Complex<T>[] kernel,
	KernelAnchor anchor = default,
	ConvolutionMode mode = ConvolutionMode.FullLength,
	SignalPadding padding = SignalPadding.Zero,
	KernelProcessingMethod processingMethod = KernelProcessingMethod.Auto,
	int fftThreshold = 256
)

Parameters

kernel  Complex<T>[]
The complex convolution kernel array.
anchor  KernelAnchor  (Optional)
The anchor point of the kernel. Determines which kernel element aligns with the current signal sample. Default is Default, which adapts based on mode.
mode  ConvolutionMode  (Optional)
The output mode that determines the size and alignment of the result. Default is FullLength, returning output of length signalLength + kernelLength - 1.
padding  SignalPadding  (Optional)
The signal padding mode used for boundary extension. Default is Zero, padding with zeros outside the signal boundaries.
processingMethod  KernelProcessingMethod  (Optional)
The processing method selection strategy. Default is Auto, automatically choosing between direct and FFT methods.
fftThreshold  Int32  (Optional)
The threshold for switching to FFT-based implementation when using Auto. FFT is used when signalLength * kernelLength > fftThreshold. Default is 256.

Return Value

ComplexKernelProcessor<T>
A new ComplexKernelProcessor<T> instance.

Remarks

This factory method creates a kernel processor that uses this signal operations instance for FFT operations, allowing for provider-specific optimizations.

Complex convolution preserves the full complex arithmetic. For correlation, the kernel is conjugated element-wise.

Exceptions

ArgumentNullExceptionkernel is null.

See Also