window_rms ¶
- typhoon.test.rms. window_rms ( signal 、 window_length = None 、 max_frequency = 1000 、 match_num_of_cycles_with_samples = True 、 assume_previous_data = False ) ¶
スライディングウィンドウ技術を使用して信号の RMS 値を計算します。ユーザーは「window_length」を秒単位で指定できます。ウィンドウの長さは信号周期の全数を表す必要があります。「window_length」が長いほど、関数が有効な rms 値を提供しない初期の過渡状態が長くなります。「window length」が指定されていない場合、関数は高速フーリエ変換を使用して支配的な周波数を見つけることで window_length を決定しようとします - 「window_length」は 1 つの信号周期の長さになります。window_length の計算を最適化するための追加オプションもあります。「match_num_of_cycles_with_samples」が設定されている場合、window_length は計算されたサンプル数が信号周期の全数と正確に一致することを保証する最小数の信号周期をカバーするように計算されます。これにより、rms 計算がより正確になりますが、rms 結果の冒頭の過渡時間も長くなります。「assume_previous_data」が True に設定されている場合、関数は提供された信号値の前の信号値を想定します。この方法では、rms 結果には最初の「window_length」秒間に過渡期間がなくなり、rms 結果には最初から予想される値が含まれます。
- パラメータ:
信号(シリーズ) – RMS 値を計算する信号を持つ Pandas シリーズ。
window_length ( float/intまたはTimedelta ) – 計算に使用するウィンドウの長さ(秒単位)( float/int の場合)。デフォルトは None で、その場合、信号上で検出された最も強い周波数の周期がウィンドウ周期として使用されます。
max_freqnue ( float/intまたはTimedelta ) – 'window_length' が定義されていない場合、信号の最も強い周波数の1周期として 'window_length' を自動的に検出するための最大周波数を設定します。デフォルト: 1000
match_num_of_cycles_with_samples ( bool ) – 'window_length' が定義されていない場合は、'window_length' を最も強い周波数のサイクル数の整数値と一致させようとします。デフォルト: True
assume_previous_data ( bool ) – 設定されている場合、返されるrms配列には関数解析開始時からの有効な値が含まれます。これは、前の「window_length」秒間の信号が、最初の「window_length」秒間と全く同じ挙動を示したと仮定することで実現されます。
- 戻り値:
rms – 計算された RMS 値を持つ信号と同じ長さの時系列。
- 戻り値の型:
シリーズ
例
>>>から 台風テスト信号 assert_is_constant 、 pandas_sineをインポート>>>から 台風.テスト.rms window_rmsをインポート>>>から 台風テスト範囲 の周りをインポートします。 台風の種類.時間デルタ Timedeltaをtdとしてインポート>>> ナンピー sqrtをインポートする
>>> sine = pandas_sine (振幅= 220 * sqrt ( 2 )、周波数= 60 ) >>>周期= td ( 1 / 60 ) >>> rms = window_rms ( sine 、周期) >>> assert_is_constant ( rms 、 at_value = around ( 220 、 tol_p = 0.01 )、 strictness = 1 、 during = after (周期))