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) と同じ
- matplotlib.mlab. angle_spectrum ( x , Fs =なし,ウィンドウ=なし, pad_to =なし,サイド=なし) #
xの周波数スペクトル (ラップされた位相スペクトル) の角度を計算します。データはpad_toの長さまでパディングされ、ウィンドウ関数windowが信号に適用されます。
- パラメータ:
- x 1 次元配列またはシーケンス
データを含む配列またはシーケンス
- Fs float、デフォルト: 2
サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。
- ウィンドウ呼び出し可能または ndarray、デフォルト:
window_hanning
長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照
window_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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] #
xとyの間の一貫性。コヒーレンスは、正規化されたクロス スペクトル密度です。
\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]- パラメータ:
- x、y
データを含む配列またはシーケンス
- Fs float、デフォルト: 2
サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。
- ウィンドウ呼び出し可能または ndarray、デフォルト:
window_hanning
長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照
window_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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_none
、detrend_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の要素の周波数。
- matplotlib.mlab. complex_spectrum ( x , Fs =なし,ウィンドウ=なし, pad_to =なし,サイド=なし) #
xの複素数値の周波数スペクトルを計算します。データはpad_toの長さまでパディングされ、ウィンドウ関数windowが信号に適用されます。
- パラメータ:
- x 1 次元配列またはシーケンス
データを含む配列またはシーケンス
- Fs float、デフォルト: 2
サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。
- ウィンドウ呼び出し可能または ndarray、デフォルト:
window_hanning
長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照
window_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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は、セグメント間のオーバーラップの長さを示します。xとyの直接 FFT の積は、各セグメントで平均化されて計算されます。\(P_{xy}\)、ウィンドウ処理による電力損失を補正するためのスケーリングを使用します。
len( x ) < NFFTまたは len( y ) < NFFTの場合、 NFFTにゼロがパディングされます。
- パラメータ:
- x, y 1 次元配列またはシーケンス
データを含む配列またはシーケンス
- Fs float、デフォルト: 2
サンプリング頻度 (単位時間あたりのサンプル数)。これは、時間単位あたりのサイクルでフーリエ周波数freqsを計算するために使用されます。
- ウィンドウ呼び出し可能または ndarray、デフォルト:
window_hanning
長さNFFTの関数またはベクトル。ウィンドウ ベクトルを作成するには、 、 、 、 、 、 などを参照
window_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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_none
、detrend_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_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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_none
、detrend_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_hanning
しwindow_none
てnumpy.blackman
くださいnumpy.hamming
。numpy.bartlett
関数scipy.signal
がscipy.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_none
、detrend_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
モードが「フェーズ」の場合は、シングル セグメントと同様です。
ノート
detrendとscale_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
別のウィンドウ アルゴリズム。