waterfall  0.2dev
 All Classes Files Functions Variables Enumerations Enumerator Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FFTBackend Class Reference

Base class for backends that compute and process FFT from I/Q signal. More...

#include <FFTBackend.h>

Public Types

typedef RingBuffer2D< float > IQBuffer
 

Public Member Functions

 FFTBackend (int bins, int overlap)
 
int getBins () const
 Returns number of the FFT bins.
 
float getFFTSampleRate () const
 Returns number of FFT samples (results) per second (in Hz).
 
SampleType getGain ()
 
void setGain (SampleType value)
 
int getPhaseShift ()
 
void setPhaseShift (int value)
 
virtual void startStream (StreamInfo info)
 
virtual void process (const vector< Complex > &data, DataInfo info)
 
virtual void endStream ()
 
void resizeRawBuffer (int sampleCount)
 
float binToFrequency (int bin) const
 
float binToFrequency () const
 
int frequencyToBin (float frequency) const
 
double fftSamplesToTime (int samples)
 Converts number of FFT samples to seconds. More...
 
int timeToFFTSamples (double time)
 Converts time in seconds to number of FFT samples. More...
 
- Public Member Functions inherited from Backend
 Backend ()
 
StreamInfo getStreamInfo () const
 Return the stream information passed to the backend through startStream().
 

Static Public Member Functions

static int16_t floatToInt (float f)
 
static void floatToInt (Complex c, int16_t *result)
 
static void floatToInt (Complex c, float *result)
 

Protected Member Functions

virtual void processFFT (const fftw_complex *data, int size, DataInfo info, int rawMark)
 

Protected Attributes

int bins_
 
float fftSampleRate_
 Number of FFT results per second (Hz).
 
IQBuffer rawBuffer_
 contains raw I/Q data
 
- Protected Attributes inherited from Backend
StreamInfo streamInfo_
 

Detailed Description

Base class for backends that compute and process FFT from I/Q signal.

This class also buffers the raw I/Q data so that any subclasses (WaterfallBackend) can record them.

Inheritance diagram for FFTBackend:
Inheritance graph
[legend]
Collaboration diagram for FFTBackend:
Collaboration graph
[legend]

Member Function Documentation

double FFTBackend::fftSamplesToTime ( int  samples)
inline

Converts number of FFT samples to seconds.

Parameters
samplesnumber of FFT samples
Returns
time in seconds
int FFTBackend::timeToFFTSamples ( double  time)
inline

Converts time in seconds to number of FFT samples.

Parameters
timetime in seconds
Returns
number of FFT samples

Member Data Documentation

int FFTBackend::bins_
protected

Number of FFT output bins.


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