One-dimensional digital filter class. More...
#include <transfer_function.h>
Public Member Functions | |
virtual bool | configure () |
Configure the filter with the correct number of channels and params. | |
SingleChannelTransferFunctionFilter () | |
Construct the filter. | |
virtual bool | update (const T &data_in, T &data_out) |
Update the filter and return the data seperately. | |
~SingleChannelTransferFunctionFilter () | |
Destructor to clean up. | |
Protected Attributes | |
std::vector< double > | a_ |
std::vector< double > | b_ |
boost::scoped_ptr < RealtimeCircularBuffer< T > > | input_buffer_ |
boost::scoped_ptr < RealtimeCircularBuffer< T > > | output_buffer_ |
T | temp_ |
One-dimensional digital filter class.
This class calculates the output for one-dimensional digital filters. The filter is described by vectors and and implemented using the standard difference equation:
If is not equal to 1, the coefficients are normalized by .
Example xml config:
<filter type="TransferFunctionFilter" name="filter_name">
<params a="1.0 0.5" b="0.2 0.2">
</filter>
Definition at line 74 of file transfer_function.h.
filters::SingleChannelTransferFunctionFilter< T >::SingleChannelTransferFunctionFilter | ( | ) | [inline] |
Construct the filter.
Definition at line 113 of file transfer_function.h.
filters::SingleChannelTransferFunctionFilter< T >::~SingleChannelTransferFunctionFilter | ( | ) | [inline] |
Destructor to clean up.
Definition at line 118 of file transfer_function.h.
bool filters::SingleChannelTransferFunctionFilter< T >::configure | ( | ) | [inline, virtual] |
Configure the filter with the correct number of channels and params.
number_of_channels | The number of inputs filtered. | |
config | The xml that is parsed to configure the filter. |
Implements filters::FilterBase< T >.
Definition at line 123 of file transfer_function.h.
bool filters::SingleChannelTransferFunctionFilter< T >::update | ( | const T & | data_in, | |
T & | data_out | |||
) | [inline, virtual] |
Update the filter and return the data seperately.
data_in | vector<T> with number_of_channels elements | |
data_out | vector<T> with number_of_channels elements |
Implements filters::FilterBase< T >.
Definition at line 170 of file transfer_function.h.
std::vector<double> filters::SingleChannelTransferFunctionFilter< T >::a_ [protected] |
Definition at line 107 of file transfer_function.h.
std::vector<double> filters::SingleChannelTransferFunctionFilter< T >::b_ [protected] |
Definition at line 108 of file transfer_function.h.
boost::scoped_ptr<RealtimeCircularBuffer<T > > filters::SingleChannelTransferFunctionFilter< T >::input_buffer_ [protected] |
Definition at line 102 of file transfer_function.h.
boost::scoped_ptr<RealtimeCircularBuffer<T > > filters::SingleChannelTransferFunctionFilter< T >::output_buffer_ [protected] |
Definition at line 103 of file transfer_function.h.
T filters::SingleChannelTransferFunctionFilter< T >::temp_ [protected] |
Definition at line 105 of file transfer_function.h.