Module hfft

Module hfft 

Source
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:

  1. Normalization: Pay close attention to the normalization parameter, as it significantly affects scaling in round-trip transformations.

  2. 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.

  3. 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.

  4. 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.