Spectral Periodogram Waterfall (spwaterfall)

Attention

Work in progress

Interface

Listed below is the full interface to the spwaterfall family of objects.

create()

Create spwaterfall object, fully defined

spwaterfallcf = spwaterfallcf_create(unsigned int _nfft, int _wtype, unsigned int _window_len, unsigned int _delay, unsigned int _time);
  • unsigned int _nfft: transform (FFT) size

  • int _wtype: window type, e.g. LIQUID_WINDOW_HAMMING

  • unsigned int _window_len: window length

  • unsigned int _delay: delay between transforms

  • unsigned int _time: number of aggregated transforms

  • returns new spwaterfallcf object

spwaterfallf = spwaterfallf_create(unsigned int _nfft, int _wtype, unsigned int _window_len, unsigned int _delay, unsigned int _time);
  • unsigned int _nfft: transform (FFT) size

  • int _wtype: window type, e.g. LIQUID_WINDOW_HAMMING

  • unsigned int _window_len: window length

  • unsigned int _delay: delay between transforms

  • unsigned int _time: number of aggregated transforms

  • returns new spwaterfallf object

create_default()

Create default spwatefall object (Kaiser-Bessel window)

spwaterfallcf = spwaterfallcf_create_default(unsigned int _nfft, unsigned int _time);
  • unsigned int _nfft: transform size

  • unsigned int _time: delay between transforms, _delay > 0

  • returns new spwaterfallcf object

spwaterfallf = spwaterfallf_create_default(unsigned int _nfft, unsigned int _time);
  • unsigned int _nfft: transform size

  • unsigned int _time: delay between transforms, _delay > 0

  • returns new spwaterfallf object

copy()

Copy object including all internal objects and state

spwaterfallcf = spwaterfallcf_copy(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns new spwaterfallcf object

spwaterfallf = spwaterfallf_copy(spwaterfallf _q);
  • spwaterfallf _q:

  • returns new spwaterfallf object

destroy()

Destroy spwaterfall object, freeing all internally-allocated memory

int = spwaterfallcf_destroy(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns standard error code

int = spwaterfallf_destroy(spwaterfallf _q);
  • spwaterfallf _q:

  • returns standard error code

clear()

Clears the internal state of the object, but not the internal buffer

int = spwaterfallcf_clear(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns standard error code

int = spwaterfallf_clear(spwaterfallf _q);
  • spwaterfallf _q:

  • returns standard error code

reset()

Reset the object to its original state completely. This effectively executes the clear() method and then resets the internal buffer

int = spwaterfallcf_reset(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns standard error code

int = spwaterfallf_reset(spwaterfallf _q);
  • spwaterfallf _q:

  • returns standard error code

print()

Print internal state of the object to stdout

int = spwaterfallcf_print(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns standard error code

int = spwaterfallf_print(spwaterfallf _q);
  • spwaterfallf _q:

  • returns standard error code

get_num_samples_total()

Get number of samples processed since object was created

uint64_t = spwaterfallcf_get_num_samples_total(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns something good

uint64_t = spwaterfallf_get_num_samples_total(spwaterfallf _q);
  • spwaterfallf _q:

  • returns something good

get_num_freq()

Get FFT size (columns in PSD output)

unsigned int = spwaterfallcf_get_num_freq(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns something good

unsigned int = spwaterfallf_get_num_freq(spwaterfallf _q);
  • spwaterfallf _q:

  • returns something good

get_num_time()

Get number of accumulated FFTs (rows in PSD output)

unsigned int = spwaterfallcf_get_num_time(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns something good

unsigned int = spwaterfallf_get_num_time(spwaterfallf _q);
  • spwaterfallf _q:

  • returns something good

get_window_len()

Get window length used in spectral estimation

unsigned int = spwaterfallcf_get_window_len(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns something good

unsigned int = spwaterfallf_get_window_len(spwaterfallf _q);
  • spwaterfallf _q:

  • returns something good

get_delay()

Get delay between transforms used in spectral estimation

unsigned int = spwaterfallcf_get_delay(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns something good

unsigned int = spwaterfallf_get_delay(spwaterfallf _q);
  • spwaterfallf _q:

  • returns something good

get_wtype()

Get window type used in spectral estimation

int = spwaterfallcf_get_wtype(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns standard error code

int = spwaterfallf_get_wtype(spwaterfallf _q);
  • spwaterfallf _q:

  • returns standard error code

get_psd()

Get power spectral density (PSD), size: nfft x time

const float * = spwaterfallcf_get_psd(spwaterfallcf _q);
  • spwaterfallcf _q:

  • returns something good

const float * = spwaterfallf_get_psd(spwaterfallf _q);
  • spwaterfallf _q:

  • returns something good

set_freq()

Set the center frequency of the received signal. This is for display purposes only when generating the output image.

int = spwaterfallcf_set_freq(spwaterfallcf _q, float _freq);
  • spwaterfallcf _q: spectral periodogram waterfall object

  • float _freq: center frequency

  • returns standard error code

int = spwaterfallf_set_freq(spwaterfallf _q, float _freq);
  • spwaterfallf _q: spectral periodogram waterfall object

  • float _freq: center frequency

  • returns standard error code

set_rate()

Set the sample rate (frequency) of the received signal. This is for display purposes only when generating the output image.

int = spwaterfallcf_set_rate(spwaterfallcf _q, float _rate);
  • spwaterfallcf _q: spectral periodogram waterfall object

  • float _rate: sample rate

  • returns standard error code

int = spwaterfallf_set_rate(spwaterfallf _q, float _rate);
  • spwaterfallf _q: spectral periodogram waterfall object

  • float _rate: sample rate

  • returns standard error code

set_dims()

Set the canvas size. This is for display purposes only when generating the output image.

int = spwaterfallcf_set_dims(spwaterfallcf _q, unsigned int _width, unsigned int _height);
  • spwaterfallcf _q: spectral periodogram waterfall object

  • unsigned int _width: image width

  • unsigned int _height: image height

  • returns standard error code

int = spwaterfallf_set_dims(spwaterfallf _q, unsigned int _width, unsigned int _height);
  • spwaterfallf _q: spectral periodogram waterfall object

  • unsigned int _width: image width

  • unsigned int _height: image height

  • returns standard error code

set_commands()

Set commands for executing directly before ‘plot’ statement.

int = spwaterfallcf_set_commands(spwaterfallcf _q, const char * _commands);
  • spwaterfallcf _q: spectral periodogram waterfall object

  • const char * _commands: gnuplot commands separated by semicolons

  • returns standard error code

int = spwaterfallf_set_commands(spwaterfallf _q, const char * _commands);
  • spwaterfallf _q: spectral periodogram waterfall object

  • const char * _commands: gnuplot commands separated by semicolons

  • returns standard error code

push()

Push a single sample into the object, executing internal transform as necessary.

int = spwaterfallcf_push(spwaterfallcf _q, float complex _x);
  • spwaterfallcf _q: spwaterfall object

  • float complex _x: input sample

  • returns standard error code

int = spwaterfallf_push(spwaterfallf _q, float _x);
  • spwaterfallf _q: spwaterfall object

  • float _x: input sample

  • returns standard error code

write()

Write a block of samples to the object, executing internal transform as necessary.

int = spwaterfallcf_write(spwaterfallcf _q, float complex * _x, unsigned int _n);
  • spwaterfallcf _q: spwaterfall object

  • float complex * _x: input buffer

  • unsigned int _n: input buffer length

  • returns standard error code

int = spwaterfallf_write(spwaterfallf _q, float * _x, unsigned int _n);
  • spwaterfallf _q: spwaterfall object

  • float * _x: input buffer

  • unsigned int _n: input buffer length

  • returns standard error code

export()

Export set of files for plotting

int = spwaterfallcf_export(spwaterfallcf _q, const char * _base);
  • spwaterfallcf _q: spwaterfall object

  • const char * _base: base filename (will export .gnu, .bin, and .png files)

  • returns standard error code

int = spwaterfallf_export(spwaterfallf _q, const char * _base);
  • spwaterfallf _q: spwaterfall object

  • const char * _base: base filename (will export .gnu, .bin, and .png files)

  • returns standard error code