C# Class SoundLibrary.SpectrumAnalysis.Spectrum

周波数特性クラス。
Inheritance: ICloneable
Datei anzeigen Open project: ufcpp/UfcppSample Class Usage Examples

Public Methods

Method Description
Clone ( ) : Spectrum

インスタンスのコピーを作成。

ConvertToMinimumPhase ( ) : void

最小位相化する。

FromDelay ( double delay, int length ) : Spectrum

遅延 δ[i - delay] の周波数特性を作成する。

FromTimeSequence ( double x ) : Spectrum

時間領域データから作成。

FromTimeSequence ( double x, int length ) : Spectrum

時間領域データから作成。

FromTimeSequence ( double x, int length, int skip ) : Spectrum

時間領域データから作成。

GetAllpassPhase ( ) : double[]

オールパス位相を求める。

GetAmplitude ( ) : double[]

振幅特性を取得。

GetGroupDelay ( ) : double[]

群遅延特性を取得。 F(ω) = x + j y, θ=∠F, gd = -dθ/dω = -(d/dω)Im[log F] = -Im[(d/dω)log F] = -Im[F'/F] = -Im[(x'+jy') / (x+jy) = (x'y - xy') / (x*x + y*y)

GetIm ( ) : double[]

虚部を配列化して取得。

GetMeanDelay ( ) : double

平均ディレイ(=オールパス位相の平均勾配×-1)を求める。

GetMinimumPahsedSpectrum ( ) : Spectrum

最小位相化した周波数特性を生成する。

GetMinimumPhase ( ) : double[]

最小位相を求める。

GetPhase ( ) : double[]

位相特性を取得。

GetPhase0 ( ) : double[]

位相から平均ディレイを除いた部分を求める。

GetPhase0 ( double delay ) : double[]

位相から平均ディレイを除いた部分を求める。

GetPhaseDelay ( ) : double[]
GetPhaseDelay ( double phase, double fs ) : double[]

位相遅延特性を取得。

GetPower ( ) : double[]

パワースペクトル[dB]を取得。

GetRe ( ) : double[]

実部を配列化して取得。

GetTimeSequence ( double x ) : void

時系列を返す。 あらかじめ時系列データの格納先を用意しておく。

GetUnwrapPhase ( ) : double[]

位相特性(アンラップしたもの)を取得。

GetUnwrapPhase ( int skip ) : double[]

位相特性(アンラップしたもの)を取得。

HilbertTransform ( double x ) : double[]

x をヒルベルト変換する。

Invert ( ) : Spectrum
Normalize ( ) : void

振幅特性の平均値が0dBになるように正規化

Smooth ( double data ) : void

データのスムージングを行う。

Spectrum ( ) : System

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

Spectrum ( double x ) : System

周波数領域データ(時系列データを Fft クラスで変換したもの)から作成。

Spectrum ( int length ) : System

時系列長のみを指定して構築。

Unwrap ( double phase ) : void

位相のアンラッピングを行う。

Unwrap ( double phase, int start ) : void

位相のアンラッピングを行う。

operator ( ) : Spectrum

単項+。元のままの値を返す。

this ( int i ) : Complex

i 番目のデータを複素数値で返す。

Private Methods

Method Description
GetGroupDelay0 ( ) : double[]
System ( ) : object

Method Details

Clone() public method

インスタンスのコピーを作成。
public Clone ( ) : Spectrum
return Spectrum

ConvertToMinimumPhase() public method

最小位相化する。
public ConvertToMinimumPhase ( ) : void
return void

FromDelay() public static method

遅延 δ[i - delay] の周波数特性を作成する。
public static FromDelay ( double delay, int length ) : Spectrum
delay double 遅延サンプル数
length int
return Spectrum

FromTimeSequence() public static method

時間領域データから作成。
public static FromTimeSequence ( double x ) : Spectrum
x double
return Spectrum

FromTimeSequence() public static method

時間領域データから作成。
public static FromTimeSequence ( double x, int length ) : Spectrum
x double 時間領域データ
length int データの長さ
return Spectrum

FromTimeSequence() public static method

時間領域データから作成。
public static FromTimeSequence ( double x, int length, int skip ) : Spectrum
x double 時間領域データ
length int データの長さ
skip int 読み飛ばす長さ
return Spectrum

GetAllpassPhase() public method

オールパス位相を求める。
public GetAllpassPhase ( ) : double[]
return double[]

GetAmplitude() public method

振幅特性を取得。
public GetAmplitude ( ) : double[]
return double[]

GetGroupDelay() public method

群遅延特性を取得。 F(ω) = x + j y, θ=∠F, gd = -dθ/dω = -(d/dω)Im[log F] = -Im[(d/dω)log F] = -Im[F'/F] = -Im[(x'+jy') / (x+jy) = (x'y - xy') / (x*x + y*y)
public GetGroupDelay ( ) : double[]
return double[]

GetIm() public method

虚部を配列化して取得。
public GetIm ( ) : double[]
return double[]

GetMeanDelay() public method

平均ディレイ(=オールパス位相の平均勾配×-1)を求める。
public GetMeanDelay ( ) : double
return double

GetMinimumPahsedSpectrum() public method

最小位相化した周波数特性を生成する。
public GetMinimumPahsedSpectrum ( ) : Spectrum
return Spectrum

GetMinimumPhase() public method

最小位相を求める。
public GetMinimumPhase ( ) : double[]
return double[]

GetPhase() public method

位相特性を取得。
public GetPhase ( ) : double[]
return double[]

GetPhase0() public method

位相から平均ディレイを除いた部分を求める。
public GetPhase0 ( ) : double[]
return double[]

GetPhase0() public method

位相から平均ディレイを除いた部分を求める。
public GetPhase0 ( double delay ) : double[]
delay double 位相から平均ディレイを除いた部分
return double[]

GetPhaseDelay() public method

public GetPhaseDelay ( ) : double[]
return double[]

GetPhaseDelay() public static method

位相遅延特性を取得。
public static GetPhaseDelay ( double phase, double fs ) : double[]
phase double
fs double
return double[]

GetPower() public method

パワースペクトル[dB]を取得。
public GetPower ( ) : double[]
return double[]

GetRe() public method

実部を配列化して取得。
public GetRe ( ) : double[]
return double[]

GetTimeSequence() public method

時系列を返す。 あらかじめ時系列データの格納先を用意しておく。
public GetTimeSequence ( double x ) : void
x double データ格納先
return void

GetUnwrapPhase() public method

位相特性(アンラップしたもの)を取得。
public GetUnwrapPhase ( ) : double[]
return double[]

GetUnwrapPhase() public method

位相特性(アンラップしたもの)を取得。
public GetUnwrapPhase ( int skip ) : double[]
skip int 最初 skip サンプルはアンラップしない
return double[]

HilbertTransform() public static method

x をヒルベルト変換する。
public static HilbertTransform ( double x ) : double[]
x double 変換元
return double[]

Invert() public method

public Invert ( ) : Spectrum
return Spectrum

Normalize() public method

振幅特性の平均値が0dBになるように正規化
public Normalize ( ) : void
return void

Smooth() public static method

データのスムージングを行う。
public static Smooth ( double data ) : void
data double
return void

Spectrum() public method

デフォルトコンストラクタ
public Spectrum ( ) : System
return System

Spectrum() public method

周波数領域データ(時系列データを Fft クラスで変換したもの)から作成。
public Spectrum ( double x ) : System
x double 周波数領域データ
return System

Spectrum() public method

時系列長のみを指定して構築。
public Spectrum ( int length ) : System
length int 時系列長
return System

Unwrap() public static method

位相のアンラッピングを行う。
public static Unwrap ( double phase ) : void
phase double 位相の入った配列
return void

Unwrap() public static method

位相のアンラッピングを行う。
public static Unwrap ( double phase, int start ) : void
phase double 位相の入った配列
start int アンラッピングの開始地点
return void

operator() public static method

単項+。元のままの値を返す。
public static operator ( ) : Spectrum
return Spectrum

this() public method

i 番目のデータを複素数値で返す。
public this ( int i ) : Complex
i int
return Complex