matplotlib.pyplot.csd #
- matplotlib.pyplot. csd ( x , y , NFFT =なし, Fs =なし, Fc =なし, detrend =なし, window =なし, noverlap =なし, pad_to =なし, sides =なし, scale_by_freq =なし, return_line =なし, * , data =なし、** kwargs ) [ソース] #
クロス スペクトル密度をプロットします。
クロススペクトル密度\(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 (オーバーラップなし)
セグメント間のオーバーラップ ポイントの数。
- Fc int、デフォルト: 0
xの中心周波数。プロットの x 範囲をオフセットして、信号が取得され、フィルター処理されてベースバンドにダウンサンプリングされるときに使用される周波数範囲を反映します。
- return_line bool、デフォルト: False
返された値にプロットされた線オブジェクトを含めるかどうか。
- 戻り値:
- Pxy 1 次元配列
クロススペクトルの値\(P_{xy}\)スケーリング前 (複素数値)。
- freqs 1 次元配列
Pxyの要素に対応する周波数。
- ライン
Line2D
この関数によって作成された行。return_lineが True の場合にのみ返されます。
- その他のパラメータ:
- データのインデックス可能なオブジェクト、オプション
指定された場合、次のパラメーターは string も受け入れます
s
。これは、次のように解釈されますdata[s]
(例外が発生しない限り)。x、y
- **kwargs
キーワード引数は
Line2D
プロパティを制御します:財産
説明
(m, n, 3) float 配列と dpi 値を取り、(m, n, 3) 配列と画像の左下隅からの 2 つのオフセットを返すフィルター関数
スカラーまたはなし
ブール
antialiased
またはああブール
ブール
パッチまたは (パス、変換) またはなし
color
またはc色
CapStyle
または {'butt', 'projecting', 'round'}JoinStyle
または {'miter', 'round', 'bevel'}float のシーケンス (ポイント単位のオン/オフ インク) または (None, None)
(2, N) 配列または 2 つの 1D 配列
drawstyle
またはds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, デフォルト: 'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
色またはなし
力
ブール
物体
linestyle
または ls{'-', '--', '-.', ':', '', (オフセット, オンオフシーケンス), ...}
linewidth
またはlw浮く
マーカー スタイル文字列、
Path
またはMarkerStyle
markeredgecolor
またはメック色
markeredgewidth
またはニャー浮く
markerfacecolor
またはmfc色
markerfacecoloralt
またはmfcalt色
markersize
またはミリ秒浮く
None または int または (int, int) または slice または list[int] または float または (float, float) または list[bool]
ブール
float または callable[[Artist, Event], tuple[bool, dict]]
わからない
ブール
(位取り: float、長さ: float、乱数: float)
ブールまたはなし
CapStyle
または {'butt', 'projecting', 'round'}JoinStyle
または {'miter', 'round', 'bevel'}わからない
力
ブール
一次元配列
一次元配列
浮く
こちらもご覧ください
psd
設定と同等です。
y = x
ノート
プロットの場合、パワーは次のようにプロットされます。 \(10 \log_{10}(P_{xy})\)ただし、デシベルの場合\(P_{xy}\)それ自体が返されます。
参考文献
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures、John Wiley & Sons (1986)