Class FirFilter

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class FirFilter : public dsp::filter::IFilter

Subclassed by dsp::filter::SlopeFilter

Public Functions

FirFilter(const std::vector<double> &coefficients, std::string description = "")
virtual IFilter *clone()
virtual unsigned int order() const final
std::size_t group_delay() const
virtual double process_channel(double input, unsigned int channel = 0) final
virtual void process_sample(std::vector<double> &input, std::vector<double> &output) final
virtual void process_sample(std::vector<double>::iterator input, std::vector<double>::iterator output) final
virtual void process_sample(double *input, double *output) final
virtual void process_channel(std::vector<double> &input, std::vector<double> &output, unsigned int channel = 0) final
virtual void process_channel(uint64_t nsamples, std::vector<double>::iterator input, std::vector<double>::iterator output, unsigned int channel = 0)
virtual void process_channel(uint64_t nsamples, double *input, double *output, unsigned int channel = 0)
virtual void process_by_channel(std::vector<std::vector<double>> &input, std::vector<std::vector<double>> &output) final
virtual void process_by_sample(std::vector<std::vector<double>> &input, std::vector<std::vector<double>> &output) final
virtual void process_by_channel(uint64_t nsamples, double **input, double **output) final
virtual void process_by_sample(uint64_t nsamples, double **input, double **output) final
virtual void process_by_channel(uint64_t nsamples, std::vector<double> &input, std::vector<double> &output)
virtual void process_by_sample(uint64_t nsamples, std::vector<double> &input, std::vector<double> &output)

Public Static Functions

static FirFilter *FromStream(std::istream &stream, std::string description, bool binary = false)

Protected Functions

virtual bool realize_filter(unsigned int nchannels, double init = 0.0) final
virtual void unrealize_filter() final

Protected Attributes

std::vector<double> coefficients_
double *pcoefficients_
unsigned int ntaps_
std::vector<std::vector<double>> registers_
std::vector<double*> pregisters_
double *preg_