eFFT
An efficient method for the calculation of the exact Fourier transform of an asynchronous event stream
Loading...
Searching...
No Matches
eFFT< N > Class Template Reference

Public Member Functions

 eFFT (const eFFT &)=default
 
 eFFT (eFFT &&) noexcept=default
 
eFFToperator= (const eFFT &)=default
 
eFFToperator= (eFFT &&) noexcept=default
 
void initialize ()
 Initializes the FFT computation with zero matrix.
 
void initialize (cfloatmat &x, const int offset=0)
 Initializes the FFT computation with the provided matrix.
 
bool update (const Stimulus &p)
 Updates the FFT with a single stimulus.
 
bool update (cfloatmat &x, const Stimulus &p, const unsigned int offset=0)
 Updates the FFT with a single stimulus in the specified matrix.
 
bool update (Stimuli &pv)
 Updates the FFT with multiple stimuli.
 
bool update (cfloatmat &x, Stimuli::iterator b0, Stimuli::iterator e0, const unsigned int offset=0)
 Updates the FFT with multiple stimuli in the specified matrix.
 
Eigen::Matrix< cfloat, N, N > getFFT () const
 Get the FFT result as an Eigen matrix of complex floats.
 

Member Function Documentation

◆ getFFT()

template<unsigned int N>
Eigen::Matrix< cfloat, N, N > eFFT< N >::getFFT ( ) const
inlinenodiscard

Get the FFT result as an Eigen matrix of complex floats.

Returns
The FFT result.

◆ initialize()

template<unsigned int N>
void eFFT< N >::initialize ( cfloatmat & x,
const int offset = 0 )
inline

Initializes the FFT computation with the provided matrix.

Parameters
xInput matrix.
offsetOffset for the tree structure.

◆ update() [1/4]

template<unsigned int N>
bool eFFT< N >::update ( cfloatmat & x,
const Stimulus & p,
const unsigned int offset = 0 )
inline

Updates the FFT with a single stimulus in the specified matrix.

Parameters
xThe matrix to update.
pThe stimulus to update.
Returns
True if the update changed the FFT state, false otherwise.

◆ update() [2/4]

template<unsigned int N>
bool eFFT< N >::update ( cfloatmat & x,
Stimuli::iterator b0,
Stimuli::iterator e0,
const unsigned int offset = 0 )
inline

Updates the FFT with multiple stimuli in the specified matrix.

Parameters
xThe matrix to update.
b0Iterator pointing to the begining of the stimuli vector.
e0Iterator pointing to the end of the stimuli vector.
Returns
True if the update changed the FFT state, false otherwise.

◆ update() [3/4]

template<unsigned int N>
bool eFFT< N >::update ( const Stimulus & p)
inline

Updates the FFT with a single stimulus.

Parameters
pThe stimulus to update.
Returns
True if the update changed the FFT state, false otherwise.

◆ update() [4/4]

template<unsigned int N>
bool eFFT< N >::update ( Stimuli & pv)
inline

Updates the FFT with multiple stimuli.

Parameters
pvThe stimuli to update.
Returns
True if the update changed the FFT state, false otherwise.

The documentation for this class was generated from the following file: