C# Класс SoundLibrary.Filter.EvenLinearFir

線形位相 FIR フィルタクラス。 係数が実対象であることを利用して計算量/メモリ量削減。 偶数タップバージョン (タップ数 2n で、coef[n-1-i] == coef[n+i] foreach i)
Наследование: IFirFilter
Показать файл Открыть проект

Защищенные свойства (Protected)

Свойство Тип Описание
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[]