Cheetah Software  1.0
ff01_filter< T > Class Template Reference

#include <filters.h>

+ Inheritance diagram for ff01_filter< T >:
+ Collaboration diagram for ff01_filter< T >:

Public Member Functions

 ff01_filter (float t_s, float w_c)
 
virtual ~ff01_filter (void)
 
virtual void input (T input_value)
 
virtual T output (void)
 
virtual void clear (void)
 
- Public Member Functions inherited from filter< T >
 filter (void)
 
virtual ~filter (void)
 

Private Attributes

Lpf_in_prev [2]
 
Lpf_out_prev [2]
 
Lpf_in1
 
Lpf_in2
 
Lpf_in3
 
Lpf_out1
 
Lpf_out2
 
lpf_out
 

Detailed Description

template<typename T>
class ff01_filter< T >

Definition at line 81 of file filters.h.

Constructor & Destructor Documentation

template<typename T >
ff01_filter< T >::ff01_filter ( float  t_s,
float  w_c 
)

Definition at line 217 of file filters.cpp.

217  {
218  Lpf_in_prev[0] = Lpf_in_prev[1] = 0;
219  Lpf_out_prev[0] = Lpf_out_prev[1] = 0;
220  Lpf_in1 = 0, Lpf_in2 = 0, Lpf_in3 = 0, Lpf_out1 = 0, Lpf_out2 = 0;
221  T a = 1.4142;
222  T den = 4 + 2 * a * w_c * t_s + t_s * t_s * w_c * w_c;
223  T J = 0.00008;
224  T B = 0.0002;
225 
226  Lpf_in1 = B * t_s * t_s * w_c * w_c + 2 * J * t_s * w_c * w_c;
227  Lpf_in2 = 2 * B * t_s * t_s * w_c * w_c;
228  Lpf_in3 = B * t_s * t_s * w_c * w_c - 2 * J * t_s * w_c * w_c;
229  Lpf_out1 = -1. * (-8 + t_s * t_s * w_c * w_c * 2) / den;
230  Lpf_out2 = -1. * (4 - 2 * a * w_c * t_s + t_s * t_s * w_c * w_c) / den;
231 }
T Lpf_in_prev[2]
Definition: filters.h:90
T Lpf_out2
Definition: filters.h:92
T Lpf_out1
Definition: filters.h:92
T Lpf_out_prev[2]
Definition: filters.h:91
template<typename T >
ff01_filter< T >::~ff01_filter ( void  )
virtual

Definition at line 234 of file filters.cpp.

234 {}

Member Function Documentation

template<typename T >
void ff01_filter< T >::clear ( void  )
virtual

Implements filter< T >.

Definition at line 254 of file filters.cpp.

254  {
255  Lpf_in_prev[1] = 0;
256  Lpf_in_prev[0] = 0;
257  Lpf_out_prev[1] = 0;
258  Lpf_out_prev[0] = 0;
259 }
T Lpf_in_prev[2]
Definition: filters.h:90
T Lpf_out_prev[2]
Definition: filters.h:91
template<typename T >
void ff01_filter< T >::input ( input_value)
virtual

Implements filter< T >.

Definition at line 237 of file filters.cpp.

237  {
238  lpf_out = Lpf_in1 * lpf_in + Lpf_in2 * Lpf_in_prev[0] +
239  Lpf_in3 * Lpf_in_prev[1] + // input component
240  Lpf_out1 * Lpf_out_prev[0] +
241  Lpf_out2 * Lpf_out_prev[1]; // output component
242  Lpf_in_prev[1] = Lpf_in_prev[0];
243  Lpf_in_prev[0] = lpf_in;
244  Lpf_out_prev[1] = Lpf_out_prev[0];
245  Lpf_out_prev[0] = lpf_out;
246 }
T Lpf_in_prev[2]
Definition: filters.h:90
T Lpf_out2
Definition: filters.h:92
T Lpf_out1
Definition: filters.h:92
T Lpf_out_prev[2]
Definition: filters.h:91
template<typename T >
T ff01_filter< T >::output ( void  )
virtual

Implements filter< T >.

Definition at line 249 of file filters.cpp.

249  {
250  return lpf_out;
251 }

Member Data Documentation

template<typename T >
T ff01_filter< T >::Lpf_in1
private

Definition at line 92 of file filters.h.

template<typename T >
T ff01_filter< T >::Lpf_in2
private

Definition at line 92 of file filters.h.

template<typename T >
T ff01_filter< T >::Lpf_in3
private

Definition at line 92 of file filters.h.

template<typename T >
T ff01_filter< T >::Lpf_in_prev[2]
private

Definition at line 90 of file filters.h.

template<typename T >
T ff01_filter< T >::lpf_out
private

Definition at line 93 of file filters.h.

template<typename T >
T ff01_filter< T >::Lpf_out1
private

Definition at line 92 of file filters.h.

template<typename T >
T ff01_filter< T >::Lpf_out2
private

Definition at line 92 of file filters.h.

template<typename T >
T ff01_filter< T >::Lpf_out_prev[2]
private

Definition at line 91 of file filters.h.


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