ComplexKernelProcessor<T> Class

Kernel processor for complex-valued kernels and signals.

Definition

Namespace: Numerics.NET.SignalProcessing
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
C#
public class ComplexKernelProcessor<T> : KernelProcessor<Complex<T>>
Inheritance
Object  →  KernelProcessor<Complex<T>>  →  ComplexKernelProcessor<T>

Type Parameters

T
The underlying real type (double or float).

Remarks

This class performs convolution and correlation operations on complex-valued signals using complex-valued kernels. All arithmetic is performed in the complex domain, preserving phase and amplitude information.

Complex Correlation:

For complex signals, correlation involves complex conjugation of the kernel: y[n] = Σ_m x[n - (m - a)] · conj(h[m]). This is the standard definition used in signal processing and matches the behavior of SciPy's correlate function.

Properties

Anchor Gets the kernel anchor configuration that determines the alignment between kernel and signal.
(Inherited from KernelProcessor<T>)
KernelLength Gets the length of the kernel.
(Inherited from KernelProcessor<T>)
KernelSpan Gets a read-only span view of the kernel array for internal use by derived classes.
(Inherited from KernelProcessor<T>)
Mode Gets the output mode that determines the size and alignment of the convolution/correlation result.
(Inherited from KernelProcessor<T>)
Padding Gets the signal padding mode used for boundary extension.
(Inherited from KernelProcessor<T>)
ProcessingMethod Gets the processing method used for convolution/correlation computation.
(Inherited from KernelProcessor<T>)

Methods

AutoCorrelate(Vector<T>) Computes the autocorrelation of a vector (allocating).
(Inherited from KernelProcessor<T>)
AutoCorrelate(ReadOnlySpan<T>, Span<T>) Computes the autocorrelation of a signal.
(Inherited from KernelProcessor<T>)
AutoCorrelate(Vector<T>, Vector<T>) Computes the autocorrelation of a vector (non-allocating).
(Inherited from KernelProcessor<T>)
AutoCorrelate(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32) Computes the autocorrelation of a signal.
(Inherited from KernelProcessor<T>)
Convolve(Vector<T>) Computes the convolution of a vector with the stored kernel (allocating).
(Inherited from KernelProcessor<T>)
Convolve(ReadOnlySpan<T>, Span<T>) Computes the convolution of a signal with the stored kernel.
(Inherited from KernelProcessor<T>)
Convolve(Vector<T>, Vector<T>) Computes the convolution of a vector with the stored kernel (non-allocating).
(Inherited from KernelProcessor<T>)
Convolve(Int32, ReadOnlySpan<Complex<T>>, Int32, Int32, Span<Complex<T>>, Int32) Computes the convolution of a complex signal with the stored kernel.
(Overrides KernelProcessor<T>.Convolve(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32))
Correlate(Vector<T>) Computes the cross-correlation of a vector with the stored kernel (allocating).
(Inherited from KernelProcessor<T>)
Correlate(ReadOnlySpan<T>, Span<T>) Computes the cross-correlation of a signal with the stored kernel.
(Inherited from KernelProcessor<T>)
Correlate(Vector<T>, Vector<T>) Computes the cross-correlation of a vector with the stored kernel (non-allocating).
(Inherited from KernelProcessor<T>)
Correlate(Int32, ReadOnlySpan<Complex<T>>, Int32, Int32, Span<Complex<T>>, Int32) Computes the cross-correlation of a complex signal with the stored kernel.
(Overrides KernelProcessor<T>.Correlate(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32))
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetOutputLength Calculates the expected output length for a given signal length based on the convolution mode.
(Inherited from KernelProcessor<T>)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
ShouldUseFft Determines whether to use FFT-based or direct implementation based on signal and kernel sizes.
(Inherited from KernelProcessor<T>)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also