C# 클래스 SoundLibrary.SpectrumAnalysis.Spectrum

周波数特性クラス。
상속: ICloneable
파일 보기 프로젝트 열기: ufcpp/UfcppSample 1 사용 예제들

공개 메소드들

메소드 설명
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 番目のデータを複素数値で返す。

비공개 메소드들

메소드 설명
GetGroupDelay0 ( ) : double[]
System ( ) : object

메소드 상세

Clone() 공개 메소드

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

ConvertToMinimumPhase() 공개 메소드

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

FromDelay() 공개 정적인 메소드

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

FromTimeSequence() 공개 정적인 메소드

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

FromTimeSequence() 공개 정적인 메소드

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

FromTimeSequence() 공개 정적인 메소드

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

GetAllpassPhase() 공개 메소드

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

GetAmplitude() 공개 메소드

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

GetGroupDelay() 공개 메소드

群遅延特性を取得。 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[]
리턴 double[]

GetIm() 공개 메소드

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

GetMeanDelay() 공개 메소드

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

GetMinimumPahsedSpectrum() 공개 메소드

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

GetMinimumPhase() 공개 메소드

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

GetPhase() 공개 메소드

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

GetPhase0() 공개 메소드

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

GetPhase0() 공개 메소드

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

GetPhaseDelay() 공개 메소드

public GetPhaseDelay ( ) : double[]
리턴 double[]

GetPhaseDelay() 공개 정적인 메소드

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

GetPower() 공개 메소드

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

GetRe() 공개 메소드

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

GetTimeSequence() 공개 메소드

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

GetUnwrapPhase() 공개 메소드

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

GetUnwrapPhase() 공개 메소드

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

HilbertTransform() 공개 정적인 메소드

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

Invert() 공개 메소드

public Invert ( ) : Spectrum
리턴 Spectrum

Normalize() 공개 메소드

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

Smooth() 공개 정적인 메소드

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

Spectrum() 공개 메소드

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

Spectrum() 공개 메소드

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

Spectrum() 공개 메소드

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

Unwrap() 공개 정적인 메소드

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

Unwrap() 공개 정적인 메소드

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

operator() 공개 정적인 메소드

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

this() 공개 메소드

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