pub struct FFTEnhanced;Expand description
Enhanced Fast Fourier Transform (FFT) implementation supporting arbitrary-sized inputs
This module extends the FFT functionality to support:
- Non-power-of-2 input sizes
- Additional window functions
- Optimized implementation for real-valued inputs
- Implementation of the Stockwell transform (S-transform)
FFTEnhanced provides extended FFT functionality
Implementations§
Source§impl FFTEnhanced
impl FFTEnhanced
Sourcepub fn window_energy_concentration<T>(
window_types: &[&str],
n: usize,
) -> Result<Vec<(String, T)>>
pub fn window_energy_concentration<T>( window_types: &[&str], n: usize, ) -> Result<Vec<(String, T)>>
Sourcepub fn stockwell_transform<T>(
x: &Array<T>,
min_freq: Option<usize>,
max_freq: Option<usize>,
) -> Result<Array<Complex<T>>>
pub fn stockwell_transform<T>( x: &Array<T>, min_freq: Option<usize>, max_freq: Option<usize>, ) -> Result<Array<Complex<T>>>
Compute the Stockwell Transform (S-Transform) of a signal
The S-transform is a time-frequency spectral localization method similar to the short-time Fourier transform, but with a Gaussian window whose width scales with frequency.
§Parameters
x- The input signalmin_freq- Minimum frequency index to compute (optional)max_freq- Maximum frequency index to compute (optional)
§Returns
- The S-transform of the input signal (2D array)
Sourcepub fn real_fft_optimized<T>(x: &Array<T>) -> Result<Array<Complex<T>>>
pub fn real_fft_optimized<T>(x: &Array<T>) -> Result<Array<Complex<T>>>
Optimized FFT for real-valued inputs (Hermitian optimized FFT)
This implementation takes advantage of the conjugate symmetry of the FFT of real-valued signals. For now, it uses the standard FFT approach to ensure correctness, with potential optimizations to be added later.
§Parameters
x- The real-valued input array
§Returns
- The FFT of the input array
Auto Trait Implementations§
impl Freeze for FFTEnhanced
impl RefUnwindSafe for FFTEnhanced
impl Send for FFTEnhanced
impl Sync for FFTEnhanced
impl Unpin for FFTEnhanced
impl UnsafeUnpin for FFTEnhanced
impl UnwindSafe for FFTEnhanced
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.