Trait basic_dsp::SymmetricTimeDomainOperations
[−]
[src]
pub trait SymmetricTimeDomainOperations<T>: DataVector<T> where T: RealNumber { type FreqPartner; fn plain_sfft(self) -> VecResult<Self::FreqPartner>; fn sfft(self) -> VecResult<Self::FreqPartner>; fn windowed_sfft(self, window: &WindowFunction<T>) -> VecResult<Self::FreqPartner>; }
Defines all operations which are valid on DataVectors containing real time domain data.
Failures
All operations in this trait fail with VectorMustBeInTimeDomain if the vector isn't in time domain or
with VectorMustHaveAnOddLength if self.points() isn't and odd number.
Associated Types
type FreqPartner
Required Methods
fn plain_sfft(self) -> VecResult<Self::FreqPartner>
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
VecResult may report the following ErrorReason members:
VectorMustBeReal: ifselfis in complex number space.VectorMustBeInTimeDomain: ifselfis in frequency domain.
Unstable
Symmetric IFFTs are unstable and may only work under certain conditions.
fn sfft(self) -> VecResult<Self::FreqPartner>
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
VecResult may report the following ErrorReason members:
VectorMustBeReal: ifselfis in complex number space.VectorMustBeInTimeDomain: ifselfis in frequency domain.
Unstable
Symmetric IFFTs are unstable and may only work under certain conditions.
fn windowed_sfft(self, window: &WindowFunction<T>) -> VecResult<Self::FreqPartner>
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
VecResult may report the following ErrorReason members:
VectorMustBeReal: ifselfis in complex number space.VectorMustBeInTimeDomain: ifselfis in frequency domain.
Unstable
Symmetric IFFTs are unstable and may only work under certain conditions.
Implementors
impl SymmetricTimeDomainOperations<f32> for GenericDataVector<f32>impl SymmetricTimeDomainOperations<f32> for RealTimeVector<f32>impl SymmetricTimeDomainOperations<f64> for GenericDataVector<f64>impl SymmetricTimeDomainOperations<f64> for RealTimeVector<f64>