ardour
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
GTKArdour::FFT Class Reference

#include <fft.h>

Public Types

enum  WindowingType { NONE, HANN }
 

Public Member Functions

 FFT (uint32_t)
 
 ~FFT ()
 
void reset ()
 
void analyze (ARDOUR::Sample *, WindowingType w=NONE)
 
void calculate ()
 
uint32_t bins () const
 
float power_at_bin (uint32_t i) const
 
float phase_at_bin (uint32_t i) const
 

Private Member Functions

float * get_hann_window ()
 

Private Attributes

uint32_t const _window_size
 
uint32_t const _data_size
 
uint32_t _iterations
 
float * _hann_window
 
float * _fftInput
 
float * _fftOutput
 
float * _power_at_bin
 
float * _phase_at_bin
 
fftwf_plan _plan
 

Detailed Description

Definition at line 37 of file fft.h.

Member Enumeration Documentation

Enumerator
NONE 
HANN 

Definition at line 43 of file fft.h.

Constructor & Destructor Documentation

FFT::FFT ( uint32_t  windowSize)

Definition at line 28 of file fft.cc.

FFT::~FFT ( )

Definition at line 135 of file fft.cc.

Member Function Documentation

void FFT::analyze ( ARDOUR::Sample input,
WindowingType  w = NONE 
)

Definition at line 56 of file fft.cc.

uint32_t GTKArdour::FFT::bins ( ) const
inline

Definition at line 52 of file fft.h.

void FFT::calculate ( )

Definition at line 98 of file fft.cc.

float * FFT::get_hann_window ( )
private

Definition at line 110 of file fft.cc.

float GTKArdour::FFT::phase_at_bin ( uint32_t  i) const
inline

Definition at line 55 of file fft.h.

float GTKArdour::FFT::power_at_bin ( uint32_t  i) const
inline

Definition at line 54 of file fft.h.

void FFT::reset ( )

Definition at line 47 of file fft.cc.

Member Data Documentation

uint32_t const GTKArdour::FFT::_data_size
private

Definition at line 63 of file fft.h.

float* GTKArdour::FFT::_fftInput
private

Definition at line 68 of file fft.h.

float* GTKArdour::FFT::_fftOutput
private

Definition at line 69 of file fft.h.

float* GTKArdour::FFT::_hann_window
private

Definition at line 66 of file fft.h.

uint32_t GTKArdour::FFT::_iterations
private

Definition at line 64 of file fft.h.

float* GTKArdour::FFT::_phase_at_bin
private

Definition at line 72 of file fft.h.

fftwf_plan GTKArdour::FFT::_plan
private

Definition at line 74 of file fft.h.

float* GTKArdour::FFT::_power_at_bin
private

Definition at line 71 of file fft.h.

uint32_t const GTKArdour::FFT::_window_size
private

Definition at line 62 of file fft.h.


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