[−][src]Trait basic_dsp::SymmetricTimeToFrequencyDomainOperations
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
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<Self::FreqResult, (ErrorReason, Self::FreqResult)> where
B: Buffer<'a, S, T>,
self,
buffer: &mut B
) -> Result<Self::FreqResult, (ErrorReason, Self::FreqResult)> where
B: Buffer<'a, S, T>,
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:
VectorMustBeReal: ifselfis in complex number space.VectorMustBeInTimeDomain: ifselfis in frequency domain.
fn sfft<B>(
self,
buffer: &mut B
) -> Result<Self::FreqResult, (ErrorReason, Self::FreqResult)> where
B: Buffer<'a, S, T>,
self,
buffer: &mut B
) -> Result<Self::FreqResult, (ErrorReason, Self::FreqResult)> where
B: Buffer<'a, S, T>,
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:
VectorMustBeReal: ifselfis in complex number space.VectorMustBeInTimeDomain: ifselfis in frequency domain.
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<Self::FreqResult, (ErrorReason, Self::FreqResult)> where
B: Buffer<'a, S, T>,
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<Self::FreqResult, (ErrorReason, Self::FreqResult)> where
B: Buffer<'a, S, T>,
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:
VectorMustBeReal: ifselfis in complex number space.VectorMustBeInTimeDomain: ifselfis in frequency domain.
Implementors
impl<S, T, N, D> SymmetricTimeToFrequencyDomainOperations<S, T> for DspVec<S, T, N, D> where
D: TimeDomain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ResizeOps, [src]
D: TimeDomain,
N: RealNumberSpace,
S: ToSliceMut<T>,
T: RealNumber,
DspVec<S, T, N, D>: ToFreqResult,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: RededicateForceOps<DspVec<S, T, N, D>>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: FrequencyDomainOperations<S, T>,
<DspVec<S, T, N, D> as ToFreqResult>::FreqResult: ResizeOps,
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>,
fn sfft<B>(
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>,
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<DspVec<S, T, N, D> as ToFreqResult>::FreqResult, (ErrorReason, <DspVec<S, T, N, D> as ToFreqResult>::FreqResult)> where
B: Buffer<'a, S, T>,
impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for Matrix3xN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix3xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<Matrix3xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix3xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<Matrix3xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix3xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix3xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix3xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for Matrix4xN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix4xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<Matrix4xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix4xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<Matrix4xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix4xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix4xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix4xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for MatrixMxN<V, S, T> where
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>, [src]
S: ToSliceMut<T>,
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<MatrixMxN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<MatrixMxN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn sfft<B>(
self,
buffer: &mut B
) -> Result<<MatrixMxN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B
) -> Result<<MatrixMxN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,
fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<MatrixMxN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>, [src]
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<MatrixMxN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <MatrixMxN<V, S, T> as ToFreqResult>::FreqResult)> where
B: Buffer<'b, S, T>,