etrobocon2019 feat.KatLab  ece30a9a007fff7d3ad48592c0d09a74643377bb
公開メンバ関数 | 全メンバ一覧
Filter< T > クラステンプレート

#include <Filter.h>

Filter< T > 連携図
Collaboration graph

公開メンバ関数

 Filter ()
 
void reset ()
 
double lowPassFilter (T value, double rate=0.9)
 ローパスフィルター(現在値と前回値を参考にして値を決定する) [詳解]
 

詳解

template<typename T = int>
class Filter< T >

Filter.h10 行目に定義があります。

構築子と解体子

◆ Filter()

template<typename T >
Filter< T >::Filter ( )

Filter.cpp9 行目に定義があります。

9  : preValue(0)
10 {
11 }

関数詳解

◆ lowPassFilter()

template<typename T >
double Filter< T >::lowPassFilter ( value,
double  rate = 0.9 
)

ローパスフィルター(現在値と前回値を参考にして値を決定する)

[Filter::lowPassFilter]

引数
value[現在の値]
rate[前回値を参考にする割合]
戻り値
[フィルター後の値]

Filter.cpp28 行目に定義があります。

29 {
30  // 前回値の初期化
31  if(preValue == 0) {
32  preValue = value;
33  return static_cast<double>(value);
34  }
35 
36  double filtered = preValue * rate + value * (1 - rate);
37  // 前回値の更新
38  preValue = value;
39 
40  return filtered;
41 }
被呼び出し関係図:

◆ reset()

template<typename T >
void Filter< T >::reset ( )

Filter.cpp14 行目に定義があります。

15 {
16  preValue = 0;
17 }

このクラス詳解は次のファイルから抽出されました: