[][src]Trait basic_dsp::CrossCorrelationArgumentOps

pub trait CrossCorrelationArgumentOps<S, T>: ToFreqResult where
    S: ToSliceMut<T>,
    T: RealNumber
{ fn prepare_argument<B>(self, buffer: &mut B) -> Self::FreqResult
    where
        B: for<'a> Buffer<'a, S, T>
;
fn prepare_argument_padded<B>(self, buffer: &mut B) -> Self::FreqResult
    where
        B: for<'a> Buffer<'a, S, T>
; }

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>, 

Prepares an argument to be used for convolution. Preparing an argument includes two steps:

  1. Calculate the plain FFT
  2. Calculate the complex conjugate

fn prepare_argument_padded<B>(self, buffer: &mut B) -> Self::FreqResult where
    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.

Loading content...

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]

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]

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]

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]

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]

Loading content...