C# 클래스 SoundLibrary.Filter.IirFilter

IIR フィルタクラス。
상속: IFilter
파일 보기 프로젝트 열기: ufcpp/UfcppSample

공개 메소드들

메소드 설명
Clear ( ) : void

内部状態のクリア

Clone ( ) : object
GetValue ( double x ) : double

フィルタリングを行う。 N: フィルタ次数 (= this.a.Length = this.b.Length - 1) x: 入力 t: 中間データ y: 出力 a[i]: 分母係数配列 b[i]: 分子係数配列 d[i]: i+1 サンプル前の t の値 とすると、 t = x + Σ_{i=0}^{N-1} a[i]d[i] y = t * b[0] + Σ_{i=0}^{N} b[i+1]d[i]

IirFilter ( ) : System

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

IirFilter ( double a, double b ) : System

係数を指定して IIR を作る。 作りたい IIR の伝達関数が、 Σ_0^N B_i z^i Y = ---------------- X Σ_0^N A_i z^i であるとき、 a[i] = - A_(i+1) / A_0 (i = 1〜N) b[i] = B_i / A_0 (i = 0〜N)

IirFilter ( int order ) : System

次数を指定して IIR を作る。

SetCoefficient ( double a, double b ) : void

係数の設定

메소드 상세

Clear() 공개 메소드

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

Clone() 공개 메소드

public Clone ( ) : object
리턴 object

GetValue() 공개 메소드

フィルタリングを行う。 N: フィルタ次数 (= this.a.Length = this.b.Length - 1) x: 入力 t: 中間データ y: 出力 a[i]: 分母係数配列 b[i]: 分子係数配列 d[i]: i+1 サンプル前の t の値 とすると、 t = x + Σ_{i=0}^{N-1} a[i]d[i] y = t * b[0] + Σ_{i=0}^{N} b[i+1]d[i]
public GetValue ( double x ) : double
x double フィルタ入力。
리턴 double

IirFilter() 공개 메소드

デフォルトコンストラクタ。
public IirFilter ( ) : System
리턴 System

IirFilter() 공개 메소드

係数を指定して IIR を作る。 作りたい IIR の伝達関数が、 Σ_0^N B_i z^i Y = ---------------- X Σ_0^N A_i z^i であるとき、 a[i] = - A_(i+1) / A_0 (i = 1〜N) b[i] = B_i / A_0 (i = 0〜N)
public IirFilter ( double a, double b ) : System
a double 分母係数配列
b double 分子係数配列
리턴 System

IirFilter() 공개 메소드

次数を指定して IIR を作る。
public IirFilter ( int order ) : System
order int IIR の次数
리턴 System

SetCoefficient() 공개 메소드

係数の設定
public SetCoefficient ( double a, double b ) : void
a double 分母係数配列
b double 分子係数配列
리턴 void