Class dsp::Filterbank
-
class Filterbank : public dsp::Convolution
Breaks a single-band TimeSeries into multiple frequency channels.
Subclassed by dsp::SKFilterbank, dsp::TFPFilterbank
Public Functions
-
Filterbank(const char *name = "Filterbank", Behaviour type = outofplace)
Null constructor.
-
virtual void prepare() override
Prepare all relevant attributes.
-
virtual uint64_t bytes_storage() const override
The number of bytes of additional storage used by the operation.
-
virtual uint64_t bytes_scratch() const override
The number of bytes of scratch space used by the operation.
-
inline uint64_t get_minimum_samples()
Get the minimum number of samples required for operation.
-
inline uint64_t get_minimum_samples_lost()
Get the minimum number of samples lost.
-
inline void set_nchan(unsigned _nchan)
Set the number of channels into which the input will be divided.
-
inline unsigned get_nchan() const
Get the number of channels into which the input will be divided.
-
inline void set_freq_res(unsigned _freq_res)
Set the frequency resolution factor.
-
inline unsigned get_freq_res() const
Get the frequency resolution factor.
-
inline unsigned get_nfilt_pos()
get the response’s positive impulse
-
inline unsigned get_nfilt_neg()
get the response’s negative impulse
-
class Config
Subclassed by dsp::InverseFilterbank::Config
Public Types
Public Functions
-
void set_stream(void*)
Set the stream information for the device.
-
Filterbank *create()
Return a new Filterbank instance and configure it.
-
uint64_t get_overlap() const
Get the Input::overlap required when InputBuffer is disabled.
-
uint64_t get_block_size() const
Get the Input::block_size required when InputBuffer is disabled.
-
void set_stream(void*)
-
class Engine : public Reference::Able
Subclassed by CUDA::FilterbankEngine, dsp::FilterbankEngineCPU
Public Functions
-
virtual void setup(Filterbank*) = 0
If kernel is not set, then the engine should set up for benchmark only.
-
virtual void set_scratch(float*) = 0
Set the base address of scratch space that can be used for temporary results.
-
virtual void perform(const dsp::TimeSeries *in, dsp::TimeSeries *out, uint64_t npart, const uint64_t in_step, const uint64_t out_step) = 0
Perform the filterbank operation on the input data.
-
virtual void perform(const dsp::TimeSeries *in, dsp::TimeSeries *out, dsp::TimeSeries *zero_DM_out, uint64_t npart, const uint64_t in_step, const uint64_t out_step) = 0
Perform the filterbank operation on the input data.
-
inline virtual void finish()
Finish up.
-
inline unsigned get_total_scratch_needed() const
get the amount of scratch space the engine has calculated that it needs
-
virtual void setup(Filterbank*) = 0
-
Filterbank(const char *name = "Filterbank", Behaviour type = outofplace)