3#include "common/dsp/complex.h"
8#include <volk/volk_alloc.hh>
14 class FFTPanBlock :
public Block
18 volk::vector<float> fft_taps;
24 complex_t *fft_input_buffer;
25 float *fft_output_buffer =
nullptr;
27 int in_reshape_buffer = 0;
28 complex_t *fft_reshape_buffer;
30 fftwf_complex *fftw_in;
31 fftwf_complex *fftw_out;
38 int reshape_buffer_size = 0;
43 void set_fft_settings(
int size, uint64_t samplerate,
int rate = 60);
45 std::function<void(
float *)> on_fft = [](
float *) {};
47 float *output_fft_buff;
56 throw satdump_exception(key);
64 throw satdump_exception(key);
cfg_res_t
set_cfg status.
Definition block.h:227
virtual bool work()=0
The actual looping work function meant to handle all the DSP (well, in most blocks)
Block(std::string id, std::vector< BlockIO > in={}, std::vector< BlockIO > out={})
Generic constructor, to be overloaded.
Definition block.h:206
nlohmann::json get_cfg(std::string key)
Get parameters of the block as JSON.
Definition fft_pan.h:51
cfg_res_t set_cfg(std::string key, nlohmann::json v)
Set parameters of the block from JSON, including potentially IO configurations for blocks that may ha...
Definition fft_pan.h:59