GNU Radio 3.6.5 C++ API

gr_single_pole_iir_filter_cc Class Reference

single pole IIR filter with complex input, complex output More...

#include <gr_single_pole_iir_filter_cc.h>

Inheritance diagram for gr_single_pole_iir_filter_cc:
gr_sync_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter

List of all members.

Public Member Functions

 ~gr_single_pole_iir_filter_cc ()
void set_taps (double alpha)
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 just like gr_block::general_work, only this arranges to call consume_each for you

Friends

GR_CORE_API
gr_single_pole_iir_filter_cc_sptr 
gr_make_single_pole_iir_filter_cc (double alpha, unsigned int vlen)

Detailed Description

single pole IIR filter with complex input, complex output

The input and output satisfy a difference equation of the form \f{ y[n] - (1-alpha) y[n-1] = alpha x[n] \f}

with the corresponding rational system function \f{ H(z) = \frac{alpha}{1 - (1-alpha) z^{-1}} \f}

Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback tap.


Constructor & Destructor Documentation

gr_single_pole_iir_filter_cc::~gr_single_pole_iir_filter_cc ( )

Member Function Documentation

void gr_single_pole_iir_filter_cc::set_taps ( double  alpha)
int gr_single_pole_iir_filter_cc::work ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

just like gr_block::general_work, only this arranges to call consume_each for you

The user must override work to define the signal processing code

Implements gr_sync_block.


Friends And Related Function Documentation

GR_CORE_API gr_single_pole_iir_filter_cc_sptr gr_make_single_pole_iir_filter_cc ( double  alpha,
unsigned int  vlen 
) [friend]

The documentation for this class was generated from the following file: