C# Class Filter.OddLinearFir

線形位相 FIR フィルタクラス。 係数が実対象であることを利用して計算量/メモリ量削減。 奇数タップバージョン (タップ数 2n + 1 で、coef[n-i] == coef[n+i] foreach i)
Inheritance: IFilter
Mostrar archivo Open project: ufcpp/UfcppSample Class Usage Examples

Protected Properties

Property Type Description
buff CircularBuffer
coef double[]

Public Methods

Method Description
Clear ( ) : void

内部状態のクリア

GetValue ( double x ) : double

フィルタリングを行う。 n: タップ数が 2n + 1 (n = this.coef.Length - 1) x: 入力 y: 出力 c[i]: 係数配列 d[i]: i+1 サンプル前の x の値 とすると、 y = d[n]*c[0] + Σ_{i=1}^{n} (d[n+i] + d[n-i])*c[i]

OddLinearFir ( ) : System

デフォルトコンストラクタ

OddLinearFir ( double coef ) : System

係数を指定して FIR を作る。

OddLinearFir ( int n ) : System

タップ数を指定して FIR を作る。

Method Details

Clear() public method

内部状態のクリア
public Clear ( ) : void
return void

GetValue() public method

フィルタリングを行う。 n: タップ数が 2n + 1 (n = this.coef.Length - 1) x: 入力 y: 出力 c[i]: 係数配列 d[i]: i+1 サンプル前の x の値 とすると、 y = d[n]*c[0] + Σ_{i=1}^{n} (d[n+i] + d[n-i])*c[i]
public GetValue ( double x ) : double
x double フィルタ入力。
return double

OddLinearFir() public method

デフォルトコンストラクタ
public OddLinearFir ( ) : System
return System

OddLinearFir() public method

係数を指定して FIR を作る。
public OddLinearFir ( double coef ) : System
coef double 係数を格納した配列。
return System

OddLinearFir() public method

タップ数を指定して FIR を作る。
public OddLinearFir ( int n ) : System
n int タップ数 = 2n + 1
return System

Property Details

buff protected_oe property

protected CircularBuffer,Filter buff
return CircularBuffer

coef protected_oe property

protected double[] coef
return double[]