C# Класс SoundLibrary.SpectrumAnalysis.Spectrum

周波数特性クラス。
Наследование: ICloneable
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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