23#ifndef INCLUDED_SINGLE_POLE_IIR_H
24#define INCLUDED_SINGLE_POLE_IIR_H
26#include <gnuradio/filter/api.h>
27#include <gnuradio/gr_complex.h>
36template <
class o_type,
class i_type,
class tap_type>
62 void filterN(o_type output[],
const i_type input[],
unsigned long n);
69 if (alpha < 0 || alpha > 1)
70 throw std::out_of_range(
"Alpha must be in [0, 1]\n");
95template <
class o_type,
class i_type,
class tap_type>
108 return (o_type)output;
112template <
class o_type,
class i_type,
class tap_type>
114 const i_type input[],
117 for (
unsigned i = 0; i < n; i++)
118 output[i] =
filter(input[i]);
127template <
class i_type>
146 gr_complex
filter(
const i_type input);
152 void filterN(gr_complex output[],
const i_type input[],
unsigned long n);
159 if (alpha < 0 || alpha > 1)
160 throw std::out_of_range(
"Alpha must be in [0, 1]\n");
177template <
class i_type>
185 return (gr_complex)output;
190template <
class i_type>
192 const i_type input[],
195 for (
unsigned i = 0; i < n; i++)
196 output[i] =
filter(input[i]);
gr_complex filter(const i_type input)
compute a single output value.
Definition single_pole_iir.h:178
void reset()
reset state to zero
Definition single_pole_iir.h:167
double d_one_minus_alpha
Definition single_pole_iir.h:173
void set_taps(double alpha)
install alpha as the current taps.
Definition single_pole_iir.h:157
gr_complexd prev_output() const
Definition single_pole_iir.h:169
single_pole_iir(double alpha=1.0)
construct new single pole IIR with given alpha
Definition single_pole_iir.h:136
gr_complexd d_prev_output
Definition single_pole_iir.h:174
double d_alpha
Definition single_pole_iir.h:172
bool d_reset_output
Definition single_pole_iir.h:89
o_type prev_output() const
Definition single_pole_iir.h:83
tap_type d_alpha
Definition single_pole_iir.h:86
tap_type d_one_minus_alpha
Definition single_pole_iir.h:87
void set_taps(tap_type alpha)
install alpha as the current taps.
Definition single_pole_iir.h:67
o_type d_prev_output
Definition single_pole_iir.h:88
void filterN(o_type output[], const i_type input[], unsigned long n)
compute an array of N output values. input must have n valid entries.
Definition single_pole_iir.h:113
single_pole_iir(tap_type alpha=1.0)
construct new single pole IIR with given alpha
Definition single_pole_iir.h:45
void reset()
reset state to zero
Definition single_pole_iir.h:77
o_type filter(const i_type input)
compute a single output value.
Definition single_pole_iir.h:96
Provides programming elements for controlling the CyberRadio Solutions NDR651 radio.
Definition single_pole_iir.h:31
Provides programming elements for controlling CyberRadio Solutions products.
Definition single_pole_iir.h:30