C# Class SoundLibrary.Filter.OddLinearFir

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

Protected Properties

Property Type Description
buff CircularBuffer
coef double[]

Private Properties

Property Type Description

Public Methods

Method Description
Clear ( ) : void

内部状態のクリア

Clone ( ) : object
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[n] + Σ_{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

Clone() public method

public Clone ( ) : object
return object

GetValue() public method

フィルタリングを行う。 n: タップ数が 2n + 1 (n = this.coef.Length - 1) x: 入力 y: 出力 c[i]: 係数配列 d[i]: i+1 サンプル前の x の値 とすると、 y = d[n]*c[n] + Σ_{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,SoundLibrary.Filter buff
return CircularBuffer

coef protected_oe property

protected double[] coef
return double[]