C# 클래스 SoundLibrary.Filter.EvenLinearFir

線形位相 FIR フィルタクラス。 係数が実対象であることを利用して計算量/メモリ量削減。 偶数タップバージョン (タップ数 2n で、coef[n-1-i] == coef[n+i] foreach i)
상속: IFirFilter
파일 보기 프로젝트 열기: ufcpp/UfcppSample

보호된 프로퍼티들

프로퍼티 타입 설명
buff CircularBuffer
coef double[]

Private Properties

프로퍼티 타입 설명

공개 메소드들

메소드 설명
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]

메소드 상세

Clear() 공개 메소드

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

Clone() 공개 메소드

public Clone ( ) : object
리턴 object

EvenLinearFir() 공개 메소드

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

EvenLinearFir() 공개 메소드

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

EvenLinearFir() 공개 메소드

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

GetValue() 공개 메소드

フィルタリングを行う。 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 フィルタ入力。
리턴 double

프로퍼티 상세

buff 보호되어 있는 프로퍼티

protected CircularBuffer,SoundLibrary.Filter buff
리턴 CircularBuffer

coef 보호되어 있는 프로퍼티

protected double[] coef
리턴 double[]