[−][src]Trait basic_dsp::CrossCorrelationArgumentOps
This trait allows to transform an argument so that it can be used for cross correlation. Refer to the description of
CrossCorrelationOps for more details.
Required methods
fn prepare_argument<B>(self, buffer: &mut B) -> Self::FreqResult where
B: for<'a> Buffer<'a, S, T>,
B: for<'a> Buffer<'a, S, T>,
Prepares an argument to be used for convolution. Preparing an argument includes two steps:
- Calculate the plain FFT
- Calculate the complex conjugate
fn prepare_argument_padded<B>(self, buffer: &mut B) -> Self::FreqResult where
B: for<'a> Buffer<'a, S, T>,
B: for<'a> Buffer<'a, S, T>,
Prepares an argument to be used for convolution. The argument is zero padded to
length of 2 * self.points() - 1
and then the same operations are performed as described for prepare_argument.
Implementors
impl<S, T, N, D> CrossCorrelationArgumentOps<S, T> for DspVec<S, T, N, D> where
D: TimeDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ComplexOps<T>, [src]
D: TimeDomain,
N: ComplexNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ComplexOps<T>,
fn prepare_argument<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: for<'a> Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: for<'a> Buffer<'a, S, T>,
fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: for<'a> Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> <DspVec<S, T, N, D> as ToFreqResult>::FreqResult where
B: for<'a> Buffer<'a, S, T>,
impl<V, S, T> CrossCorrelationArgumentOps<S, T> for Matrix2xN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn prepare_argument<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
impl<V, S, T> CrossCorrelationArgumentOps<S, T> for Matrix3xN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn prepare_argument<B>(
self,
buffer: &mut B
) -> <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
impl<V, S, T> CrossCorrelationArgumentOps<S, T> for Matrix4xN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn prepare_argument<B>(
self,
buffer: &mut B
) -> <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
impl<V, S, T> CrossCorrelationArgumentOps<S, T> for MatrixMxN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn prepare_argument<B>(
self,
buffer: &mut B
) -> <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,