Trait basic_dsp_vector::SymmetricTimeToFrequencyDomainOperations[][src]

pub trait SymmetricTimeToFrequencyDomainOperations<S, T>: ToFreqResult where
    S: ToSliceMut<T>,
    T: RealNumber
{ fn plain_sfft<B>(self, buffer: &mut B) -> TransRes<Self::FreqResult>
    where
        B: for<'a> Buffer<'a, S, T>
;
fn sfft<B>(self, buffer: &mut B) -> TransRes<Self::FreqResult>
    where
        B: for<'a> Buffer<'a, S, T>
;
fn windowed_sfft<B>(
        self,
        buffer: &mut B,
        window: &WindowFunction<T>
    ) -> TransRes<Self::FreqResult>
    where
        B: for<'a> Buffer<'a, S, T>
; }

Defines all operations which are valid on DataVecs containing real time domain data.

Failures

All operations in this trait set self.len() to 0 if the vector isn't in time domain or with VectorMustHaveAnOddLength if self.points() isn't and odd number.

Required Methods

Performs a Symmetric Fast Fourier Transformation under the assumption that self is symmetric around the center. This assumption isn't verified and no error is raised if the vector isn't symmetric.

This version of the IFFT neither applies a window nor does it scale the vector.

Failures

TransRes may report the following ErrorReason members:

  1. VectorMustBeReal: if self is in complex number space.
  2. VectorMustBeInTimeDomain: if self is in frequency domain.

Unstable

Symmetric IFFTs are unstable and may only work under certain conditions.

Performs a Symmetric Fast Fourier Transformation under the assumption that self is symmetric around the center. This assumption isn't verified and no error is raised if the vector isn't symmetric.

Failures

TransRes may report the following ErrorReason members:

  1. VectorMustBeReal: if self is in complex number space.
  2. VectorMustBeInTimeDomain: if self is in frequency domain.

Unstable

Symmetric IFFTs are unstable and may only work under certain conditions.

Performs a Symmetric Fast Fourier Transformation under the assumption that self is symmetric around the center. This assumption isn't verified and no error is raised if the vector isn't symmetric.

Failures

TransRes may report the following ErrorReason members:

  1. VectorMustBeReal: if self is in complex number space.
  2. VectorMustBeInTimeDomain: if self is in frequency domain.

Unstable

Symmetric IFFTs are unstable and may only work under certain conditions.

Implementors