Expand description
Hermitian Fast Fourier Transform (HFFT) module
This module provides functions for computing the Hermitian Fast Fourier Transform (HFFT) and its inverse (IHFFT). These functions handle complex-valued signals with real spectra.
§Implementation Notes
The HFFT functions are particularly sensitive to numerical precision issues due to their reliance on Hermitian symmetry properties. When using these functions:
-
Normalization: Pay close attention to the normalization parameter, as it significantly affects scaling in round-trip transformations.
-
Precision: Hermitian symmetry requires that the imaginary part of certain components be exactly zero, which may not be possible due to floating-point precision. The functions apply reasonable tolerances to handle these cases.
-
Round-Trip Transformations: When performing hfft followed by ihfft (or vice versa), you may need to apply scaling factors to recover the original signal amplitudes accurately.
-
Multi-dimensional Transforms: 2D and N-dimensional transforms have additional complexity regarding Hermitian symmetry across multiple dimensions. Care should be taken when working with these functions.
Functions§
- create_
hermitian_ symmetric_ signal - Create a Hermitian-symmetric array from a real-valued amplitude spectrum.
- enforce_
hermitian_ symmetry - Enforce Hermitian symmetry on a 2D complex array.
- enforce_
hermitian_ symmetry_ nd - Enforce Hermitian symmetry on an N-dimensional complex array.
- hfft
- Compute the 1-dimensional discrete Fourier Transform for a Hermitian-symmetric input.
- hfft2
- Compute the 2-dimensional discrete Fourier Transform for a Hermitian-symmetric input.
- hfftn
- Compute the N-dimensional discrete Fourier Transform for Hermitian-symmetric input.
- ihfft
- Compute the 1-dimensional inverse Hermitian FFT.
- ihfft2
- Compute the 2-dimensional inverse Hermitian FFT.
- ihfftn
- Compute the N-dimensional inverse Hermitian FFT.
- is_
hermitian_ symmetric - Check if an array is approximately Hermitian-symmetric.