Signal Operations<T>.Create Complex Kernel Processor 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#
A new ComplexKernelProcessor<T> instance.
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.1.0
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
| Argument | kernel is null. |