pub struct HilbertTransform<T: Float + FromPrimitive> { /* private fields */ }Expand description
Hilbert Transform processor
Produces a 90-degree phase-shifted version of a signal. Can be used to generate analytic signals.
Implementations§
Source§impl<T: Float + FromPrimitive> HilbertTransform<T>
impl<T: Float + FromPrimitive> HilbertTransform<T>
Sourcepub fn new(fft_size: usize) -> Self
pub fn new(fft_size: usize) -> Self
Create a new Hilbert transform processor with the specified FFT size
Sourcepub fn transform(&mut self, signal: &[T]) -> Vec<T>
pub fn transform(&mut self, signal: &[T]) -> Vec<T>
Compute the Hilbert transform of a signal
Returns the 90-degree phase-shifted version of the input signal.
Sourcepub fn analytic_signal(&mut self, signal: &[T]) -> Vec<Complex<T>>
pub fn analytic_signal(&mut self, signal: &[T]) -> Vec<Complex<T>>
Create an analytic signal from the input
Returns a vector of complex numbers where:
- Real part = original signal
- Imaginary part = Hilbert transform (90° phase-shifted version)
Auto Trait Implementations§
impl<T> Freeze for HilbertTransform<T>
impl<T> RefUnwindSafe for HilbertTransform<T>where
T: RefUnwindSafe,
impl<T> Send for HilbertTransform<T>where
T: Send,
impl<T> Sync for HilbertTransform<T>where
T: Sync,
impl<T> Unpin for HilbertTransform<T>where
T: Unpin,
impl<T> UnwindSafe for HilbertTransform<T>where
T: UnwindSafe,
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