C# Class SoundLibrary.Filter.EvenLinearFir

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

Protected Properties

Свойство Type Description
buff CircularBuffer
coef double[]

Private Properties

Свойство Type Description

Méthodes publiques

Méthode Description
Clear ( ) : void

内部状態のクリア

Clone ( ) : object
EvenLinearFir ( ) : System

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

EvenLinearFir ( double coef ) : System

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

EvenLinearFir ( int n ) : System

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

GetValue ( double x ) : double

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

Method Details

Clear() public méthode

内部状態のクリア
public Clear ( ) : void
Résultat void

Clone() public méthode

public Clone ( ) : object
Résultat object

EvenLinearFir() public méthode

デフォルトコンストラクタ
public EvenLinearFir ( ) : System
Résultat System

EvenLinearFir() public méthode

係数を指定して FIR を作る。
public EvenLinearFir ( double coef ) : System
coef double 係数を格納した配列。
Résultat System

EvenLinearFir() public méthode

タップ数を指定して FIR を作る。
public EvenLinearFir ( int n ) : System
n int タップ数 = 2n - 1
Résultat System

GetValue() public méthode

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

Property Details

buff protected_oe property

protected CircularBuffer,SoundLibrary.Filter buff
Résultat CircularBuffer

coef protected_oe property

protected double[] coef
Résultat double[]