matplotlib.mlab#

同じ名前の MATLAB コマンドとの互換性のために記述された数値 Python 関数。Python の数値関数のほとんどは、NumPyおよびSciPyライブラリにあります。ここに残っているのは、スペクトル計算とカーネル密度推定を実行するためのコードです。

スペクトル関数#

cohere

コヒーレンス (正規化されたクロス スペクトル密度)

csd

ウェルチの平均ピリオドグラムを使用したクロス スペクトル密度

detrend

配列から平均線または最適線を削除する

psd

ウェルチの平均ピリオドグラムを使用したパワー スペクトル密度

specgram

スペクトログラム (時間セグメントのスペクトル)

complex_spectrum

信号の複素数値の周波数スペクトルを返します

magnitude_spectrum

信号の周波数スペクトルの大きさを返します

angle_spectrum

信号の周波数スペクトルの角度 (ラップされた位相) を返します

phase_spectrum

信号の周波数スペクトルの位相 (アンラップ角度) を返します

detrend_mean

ラインから平均を削除します。

detrend_linear

ラインから最適なラインを削除します。

detrend_none

元の行を返します。

stride_windows

メモリ効率の良い方法で配列内のすべてのウィンドウを取得します

クラス matplotlib.mlab。GaussianKDE (データセット bw_method =なし) [ソース] #

拠点:object

ガウス カーネルを使用したカーネル密度推定の表現。

パラメータ:
データセット配列のような

推定するデータポイント。一変量データの場合、これは 1 次元配列です。それ以外の場合は、形状 (ディムの数、データの数) を持つ 2 次元配列です。

bw_method str、スカラーまたは呼び出し可能、オプション

エスティメータ帯域幅の計算に使用される方法。これは、'scott'、'silverman'、スカラー定数、または呼び出し可能オブジェクトです。スカラーの場合、これは として直接使用されkde.factorます。callable の場合、GaussianKDEインスタンスを唯一のパラメーターとして取り、スカラーを返す必要があります。None (デフォルト) の場合、'scott' が使用されます。

属性:
データセットndarray

コンストラクターに渡されるデータセット。

薄暗い_

次元数。

num_dp int

データポイントの数。

ファクターフロート

から取得されkde.covariance_factor、共分散行列が乗算される帯域幅係数。

共分散ndarray

計算された帯域幅 ( ) でスケーリングされたデータセットの共分散行列kde.factor

inv_cov ndarray

共分散の逆。

メソッド

kde.evaluate(ポイント)

(ndarray) 提供された点のセットで推定 pdf を評価します。

kde(ポイント)

(ndarray) kde.evaluate(points) と同じ

covariance_factor ( ) [ソース] #
評価(ポイント) [ソース] #

一連の点で推定 pdf を評価します。

パラメータ:
ポイント(次元数、ポイント数)-配列

または、(次元数) ベクトルを渡して、1 つの点として扱うこともできます。

戻り値:
(ポイント数、)-配列

各ポイントの値。

レイズ:
入力ポイントの次元が異なる場合はValueError

KDEの次元よりも。

scotts_factor ( ) [ソース] #
silverman_factor ( ) [ソース] #
matplotlib.mlab. angle_spectrum ( x , Fs =なし,ウィンドウ=なし, pad_to =なし,サイド=なし) #

xの周波数スペクトル (ラップされた位相スペクトル) の角度を計算します。データはpad_toの長さまでパディングされ、ウィンドウ関数windowが信号に適用されます。

パラメータ:
x 1 次元配列またはシーケンス

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を入力信号の長さに等しく設定します (つまり、パディングなし)。

戻り値:
スペクトル1 次元配列

周波数スペクトル (ラップされた位相スペクトル) の角度。

freqs 1 次元配列

スペクトル内の要素に対応する周波数。

こちらもご覧ください

psd

パワー スペクトル密度を返します。

complex_spectrum

複素数値の周波数スペクトルを返します。

magnitude_spectrum

の絶対値を返しますcomplex_spectrum

angle_spectrum

の角度を返しますcomplex_spectrum

phase_spectrum

の位相 (アンラップ角度) を返しますcomplex_spectrum

specgram

信号内のセグメントの複雑なスペクトルを返すことができます。

matplotlib.mlab. cohere ( x , y , NFFT=256 , Fs=2 , detrend=<function detrend_none> , window=<function window_hanning> , noverlap=0 , pad_to=None , sides='default' , scale_by_freq=None ) [source] #

xyの間の一貫性。コヒーレンスは、正規化されたクロス スペクトル密度です。

\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]
パラメータ:
x、y

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。これは、使用するデータ点の数を指定するNFFTとは異なる場合があります。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を NFFT に設定ます

NFFT int、デフォルト: 256

FFT の各ブロックで使用されるデータ ポイントの数。累乗 2 が最も効率的です。これは、ゼロ パディングを取得するために使用しないでください。そうしないと、結果のスケーリングが正しくなくなります。代わりにこれにはpad_toを使用してください。

detrend {'none', 'mean', 'linear'} または callable、デフォルト: 'none'

fft する前に各セグメントに適用される関数で、平均または線形トレンドを削除するように設計されています。detrendパラメーターがベクトルである MATLAB とは異なり、Matplotlib では関数です。mlab モジュールはdetrend_nonedetrend_mean、および を定義しますdetrend_linearが、カスタム関数も使用できます。文字列を使用して関数の 1 つを選択することもできます: 'none' 呼び出しdetrend_none。「平均」呼び出し detrend_mean. 「線形」呼び出しdetrend_linear.

scale_by_freq bool、デフォルト: True

結果の密度値をスケーリング周波数でスケーリングする必要があるかどうか。これにより、密度が 1/Hz の単位で得られます。これにより、返された周波数値の統合が可能になります。MATLAB との互換性のため、既定値は True です。

noverlap int、デフォルト: 0 (オーバーラップなし)

セグメント間のオーバーラップ ポイントの数。

戻り値:
Cxy 1 次元配列

コヒーレンス ベクトル。

freqs 1 次元配列

Cxyの要素の周波数。

こちらもご覧ください

psd()csd()

計算に使用される方法については、\(P_{xy}\)\(P_{xx}\)\(P_{yy}\).

matplotlib.mlab. complex_spectrum ( x , Fs =なし,ウィンドウ=なし, pad_to =なし,サイド=なし) #

xの複素数値の周波数スペクトルを計算します。データはpad_toの長さまでパディングされ、ウィンドウ関数windowが信号に適用されます。

パラメータ:
x 1 次元配列またはシーケンス

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を入力信号の長さに等しく設定します (つまり、パディングなし)。

戻り値:
スペクトル1 次元配列

複素数値の周波数スペクトル。

freqs 1 次元配列

スペクトル内の要素に対応する周波数。

こちらもご覧ください

psd

パワー スペクトル密度を返します。

complex_spectrum

複素数値の周波数スペクトルを返します。

magnitude_spectrum

の絶対値を返しますcomplex_spectrum

angle_spectrum

の角度を返しますcomplex_spectrum

phase_spectrum

の位相 (アンラップ角度) を返しますcomplex_spectrum

specgram

信号内のセグメントの複雑なスペクトルを返すことができます。

matplotlib.mlab. csd ( x , y , NFFT =なし, Fs =なし, detrend =なし, window =なし, noverlap =なし, pad_to =なし, sides =なし, scale_by_freq =なし) [source] #

クロス スペクトル密度を計算します。

クロススペクトル密度\(P_{xy}\)ウェルチの平均ピリオドグラム法による。ベクトルxおよびyは、 NFFT長のセグメントに分割され ます。各セグメントは、関数 detrendによってトレンド除去され、関数windowによってウィンドウ処理されます。noverlapは、セグメント間のオーバーラップの長さを示します。xyの直接 FFT の積は、各セグメントで平均化されて計算されます。\(P_{xy}\)、ウィンドウ処理による電力損失を補正するためのスケーリングを使用します。

len( x ) < NFFTまたは len( y ) < NFFTの場合、 NFFTにゼロがパディングされます。

パラメータ:
x, y 1 次元配列またはシーケンス

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。これは、使用するデータ点の数を指定するNFFTとは異なる場合があります。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を NFFT に設定ます

NFFT int、デフォルト: 256

FFT の各ブロックで使用されるデータ ポイントの数。累乗 2 が最も効率的です。これは、ゼロ パディングを取得するために使用しないでください。そうしないと、結果のスケーリングが正しくなくなります。代わりにこれにはpad_toを使用してください。

detrend {'none', 'mean', 'linear'} または callable、デフォルト: 'none'

fft する前に各セグメントに適用される関数で、平均または線形トレンドを削除するように設計されています。detrendパラメーターがベクトルである MATLAB とは異なり、Matplotlib では関数です。mlab モジュールはdetrend_nonedetrend_mean、および を定義しますdetrend_linearが、カスタム関数も使用できます。文字列を使用して関数の 1 つを選択することもできます: 'none' 呼び出しdetrend_none。「平均」呼び出し detrend_mean. 「線形」呼び出しdetrend_linear.

scale_by_freq bool、デフォルト: True

結果の密度値をスケーリング周波数でスケーリングする必要があるかどうか。これにより、密度が 1/Hz の単位で得られます。これにより、返された周波数値の統合が可能になります。MATLAB との互換性のため、既定値は True です。

noverlap int、デフォルト: 0 (オーバーラップなし)

セグメント間のオーバーラップ ポイントの数。

戻り値:
Pxy 1 次元配列

クロススペクトルの値\(P_{xy}\)スケーリング前 (実数値)

freqs 1 次元配列

Pxyの要素に対応する周波数

こちらもご覧ください

psd

設定に相当します。y = x

参考文献

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures、John Wiley & Sons (1986)

matplotlib.mlab. detrend ( x ,キー=なし,=なし) [ソース] #

傾向を取り除いたxを返します。

パラメータ:
x配列またはシーケンス

データを含む配列またはシーケンス。

キー{'default', 'constant', 'mean', 'linear', 'none'} または関数

使用するトレンド除去アルゴリズム。'default'、'mean'、および 'constant' は と同じdetrend_meanです。'linear' は と同じdetrend_linearです。「なし」は と同じdetrend_noneです。デフォルトは「平均」です。アルゴリズムの詳細については、対応する関数を参照してください。また、トレンド除去操作を実行する関数にすることもできます。

の整数

トレンド除去を行う軸。

こちらもご覧ください

detrend_mean

「平均」アルゴリズムの実装。

detrend_linear

「線形」アルゴリズムの実装。

detrend_none

「なし」アルゴリズムの実装。

matplotlib.mlab. detrend_linear ( y ) [ソース] #

xから最適な線を引いたものを返します。「線形」トレンド除去。

パラメータ:
y 0 次元または 1 次元の配列またはシーケンス

データを含む配列またはシーケンス

こちらもご覧ください

detrend_mean

別のトレンド除去アルゴリズム。

detrend_none

別のトレンド除去アルゴリズム。

detrend

すべてのトレンド除去アルゴリズムのラッパー。

matplotlib.mlab. detrend_mean ( x , axis = None ) [ソース] #

xから mean( x ) を引いた値を返します。

パラメータ:
x配列またはシーケンス

データを含む配列またはシーケンス任意の次元を持つことができます

の整数

平均を取る軸。numpy.meanこの引数の説明については、を参照してください。

こちらもご覧ください

detrend_linear

別のトレンド除去アルゴリズム。

detrend_none

別のトレンド除去アルゴリズム。

detrend

すべてのトレンド除去アルゴリズムのラッパー。

matplotlib.mlab. detrend_none ( x , axis = None ) [ソース] #

xを返す: トレンド除去なし。

パラメータ:
×任意のオブジェクト

データを含むオブジェクト

の整数

このパラメーターは無視されます。detrend_mean との互換性のために含まれています

こちらもご覧ください

detrend_mean

別のトレンド除去アルゴリズム。

detrend_linear

別のトレンド除去アルゴリズム。

detrend

すべてのトレンド除去アルゴリズムのラッパー。

matplotlib.mlab. Magnitude_spectrum ( x , Fs =なし, window =なし, pad_to =なし, side =なし) #

xの周波数スペクトルの大きさ (絶対値) を計算します。データはpad_toの長さまでパディングされ、ウィンドウ関数windowが信号に適用されます。

パラメータ:
x 1 次元配列またはシーケンス

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を入力信号の長さに等しく設定します (つまり、パディングなし)。

戻り値:
スペクトル1 次元配列

周波数スペクトルの大きさ (絶対値)。

freqs 1 次元配列

スペクトル内の要素に対応する周波数。

こちらもご覧ください

psd

パワー スペクトル密度を返します。

complex_spectrum

複素数値の周波数スペクトルを返します。

magnitude_spectrum

の絶対値を返しますcomplex_spectrum

angle_spectrum

の角度を返しますcomplex_spectrum

phase_spectrum

の位相 (アンラップ角度) を返しますcomplex_spectrum

specgram

信号内のセグメントの複雑なスペクトルを返すことができます。

matplotlib.mlab. phase_spectrum ( x , Fs =なし,ウィンドウ=なし, pad_to =なし,サイド=なし) #

xの周波数スペクトル (ラップされていない位相スペクトル) の位相を計算します。データはpad_toの長さまでパディングされ、ウィンドウ関数windowが信号に適用されます。

パラメータ:
x 1 次元配列またはシーケンス

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を入力信号の長さに等しく設定します (つまり、パディングなし)。

戻り値:
スペクトル1 次元配列

周波数スペクトルの位相 (ラップされていない位相スペクトル)。

freqs 1 次元配列

スペクトル内の要素に対応する周波数。

こちらもご覧ください

psd

パワー スペクトル密度を返します。

complex_spectrum

複素数値の周波数スペクトルを返します。

magnitude_spectrum

の絶対値を返しますcomplex_spectrum

angle_spectrum

の角度を返しますcomplex_spectrum

phase_spectrum

の位相 (アンラップ角度) を返しますcomplex_spectrum

specgram

信号内のセグメントの複雑なスペクトルを返すことができます。

matplotlib.mlab. psd ( x , NFFT =なし, Fs =なし, detrend =なし, window =なし, noverlap =なし, pad_to =なし, sides =なし, scale_by_freq =なし) [source] #

パワー スペクトル密度を計算します。

パワースペクトル密度\(P_{xx}\)ウェルチの平均ピリオドグラム法による。ベクトルxはNFFT の長さのセグメントに分割されます。各セグメントは、関数detrendによってトレンド除去され、関数windowによってウィンドウ処理されます。noverlapは、セグメント間のオーバーラップの長さを示します。の\(|\mathrm{fft}(i)|^2\) 各セグメントの\(i\)計算するために平均化されます\(P_{xx}\).

len( x ) < NFFTの場合、 NFFTにゼロ パディングされます。

パラメータ:
x 1 次元配列またはシーケンス

データを含む配列またはシーケンス

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。これは、使用するデータ点の数を指定するNFFTとは異なる場合があります。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を NFFT に設定ます

NFFT int、デフォルト: 256

FFT の各ブロックで使用されるデータ ポイントの数。累乗 2 が最も効率的です。これは、ゼロ パディングを取得するために使用しないでください。そうしないと、結果のスケーリングが正しくなくなります。代わりにこれにはpad_toを使用してください。

detrend {'none', 'mean', 'linear'} または callable、デフォルト: 'none'

fft する前に各セグメントに適用される関数で、平均または線形トレンドを削除するように設計されています。detrendパラメーターがベクトルである MATLAB とは異なり、Matplotlib では関数です。mlab モジュールはdetrend_nonedetrend_mean、および を定義しますdetrend_linearが、カスタム関数も使用できます。文字列を使用して関数の 1 つを選択することもできます: 'none' 呼び出しdetrend_none。「平均」呼び出し detrend_mean. 「線形」呼び出しdetrend_linear.

scale_by_freq bool、デフォルト: True

結果の密度値をスケーリング周波数でスケーリングする必要があるかどうか。これにより、密度が 1/Hz の単位で得られます。これにより、返された周波数値の統合が可能になります。MATLAB との互換性のため、既定値は True です。

noverlap int、デフォルト: 0 (オーバーラップなし)

セグメント間のオーバーラップ ポイントの数。

戻り値:
Pxx 1 次元配列

パワースペクトルの値\(P_{xx}\)(実質値)

freqs 1 次元配列

Pxxの要素に対応する周波数

こちらもご覧ください

specgram

specgramデフォルトのオーバーラップが異なります。セグメントのピリオドグラムの平均を返さない。そして、セグメントの時間を返します。

magnitude_spectrum

振幅スペクトルを返します。

csd

2 つの信号間のスペクトル密度を返します。

参考文献

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures、John Wiley & Sons (1986)

matplotlib.mlab. specgram ( x , NFFT =なし, Fs =なし, detrend =なし, window =なし, noverlap =なし, pad_to =なし, sides =なし, scale_by_freq =なし, mode =なし) [source] #

スペクトログラムを計算します。

xのデータのスペクトログラムを計算してプロットします。データはNFFT長のセグメントに分割され 、各セクションのスペクトルが計算されます。ウィンドウ関数windowが各セグメントに適用され、各セグメントのオーバーラップ量がnoverlapで指定されます。

パラメータ:
x配列のような

1 次元配列またはシーケンス。

Fs float、デフォルト: 2

サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。

ウィンドウ呼び出し可能または ndarray、デフォルト:window_hanning

長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照 window_hanningwindow_nonenumpy.blackmanくださいnumpy.hammingnumpy.bartlett関数scipy.signalscipy.signal.get_window引数として渡される場合、データ セグメントを引数として取り、セグメントのウィンドウ バージョンを返す必要があります。

側面{'default', 'onesided', 'twosided'}, オプション

スペクトルのどちら側を返すか。'default' は、実数データの場合は片面で、複素数データの場合は両面です。'onesided' は片側スペクトルを強制的に返しますが、'twosided' は両側を強制します。

pad_to int、オプション

FFT の実行時にデータ セグメントがパディングされるポイントの数。これは、使用するデータ点の数を指定するNFFTとは異なる場合があります。スペクトルの実際の解像度 (分解可能なピーク間の最小距離) は増加しませんが、これによりプロット内のポイントが増え、より詳細な情報を得ることができます。これは、 への呼び出しのnパラメータに対応しますfft。デフォルトは None で、pad_to を NFFT に設定ます

NFFT int、デフォルト: 256

FFT の各ブロックで使用されるデータ ポイントの数。累乗 2 が最も効率的です。これは、ゼロ パディングを取得するために使用しないでください。そうしないと、結果のスケーリングが正しくなくなります。代わりにこれにはpad_toを使用してください。

detrend {'none', 'mean', 'linear'} または callable、デフォルト: 'none'

fft する前に各セグメントに適用される関数で、平均または線形トレンドを削除するように設計されています。detrendパラメーターがベクトルである MATLAB とは異なり、Matplotlib では関数です。mlab モジュールはdetrend_nonedetrend_mean、および を定義しますdetrend_linearが、カスタム関数も使用できます。文字列を使用して関数の 1 つを選択することもできます: 'none' 呼び出しdetrend_none。「平均」呼び出し detrend_mean. 「線形」呼び出しdetrend_linear.

scale_by_freq bool、デフォルト: True

結果の密度値をスケーリング周波数でスケーリングする必要があるかどうか。これにより、密度が 1/Hz の単位で得られます。これにより、返された周波数値の統合が可能になります。MATLAB との互換性のため、既定値は True です。

オーバーラップ整数、デフォルト: 128

ブロック間のオーバーラップ ポイントの数。

モードstr、デフォルト: 'psd'
使用するスペクトルの種類:
「psd」

パワー スペクトル密度を返します。

'繁雑'

複素数値の周波数スペクトルを返します。

「マグニチュード」

マグニチュード スペクトルを返します。

'角度'

アンラップせずに位相スペクトルを返します。

'段階'

アンラップで位相スペクトルを返します。

戻り値:
スペクトル配列のような

2D 配列、列は連続するセグメントのピリオドグラムです。

freqs配列のような

1 次元配列、スペクトルの行に対応する周波数。

t配列のような

1 次元配列、セグメントの中点 (つまり、 Spectrum の列) に対応する時間

こちらもご覧ください

psd

オーバーラップと戻り値が異なります。

complex_spectrum

似ていますが、複雑な値の周波数があります。

magnitude_spectrum

モードが「マグニチュード」の場合、同様の単一セグメント。

angle_spectrum

モードが「角度」の場合の単一セグメントに似ています。

phase_spectrum

モードが「フェーズ」の場合は、シングル セグメントと同様です。

ノート

detrendscale_by_freqは、モードが 'psd' に設定されている場合にのみ適用されます。

matplotlib.mlab. stride_windows ( x , n , noverlap = None , axis = 0 ) [source] #

[非推奨] データの重複を避けるためにストライドを使用して、長さnのxのすべてのウィンドウを単一の配列として取得します。

警告

出力配列への書き込みは安全ではありません。複数の要素が同じメモリ部分を指している可能性があるため、1 つの値を変更すると他の値が変更される可能性があります。

パラメータ:
x 1D 配列またはシーケンス

データを含む配列またはシーケンス。

n整数

各ウィンドウのデータ ポイントの数。

noverlap int、デフォルト: 0 (オーバーラップなし)

隣接するウィンドウ間のオーバーラップ。

の整数

ウィンドウが実行される軸。

ノート

バージョン 3.6 以降は非推奨です。

参考文献

stackoverflow: Numpy の 1D 配列のローリング ウィンドウ? stackoverflow: 効率的な移動平均フィルターにストライドを使用する

matplotlib.mlab. window_hanning ( x ) [ソース] #

len( x )のハニング (またはハン) ウィンドウのx倍を返します。

こちらもご覧ください

window_none

別のウィンドウ アルゴリズム。

matplotlib.mlab. window_none ( x ) [ソース] #

ウィンドウ機能なし。単純にxを返します。

こちらもご覧ください

window_hanning

別のウィンドウ アルゴリズム。