信号周波数_SOGI_pll ¶
- typhoon.test.signals.control. signal_frequencies_SOGI_pll ( input , initial_amp , frequency , initial_angle = 0 , max_freq_var = 10 , pll_filter_params = None ) ¶
SOGI PLL アルゴリズムを使用して信号の周波数を測定します。
- パラメータ:
input ( timedelta インデックス値を持つ pandas.Series ) – 測定対象となる入力信号。
initial_amp ( int , float ) – 信号振幅の初期値
周波数( int , float ) – 達成したい周波数の値
initial_angle ( int , float ) – 信号位相の初期値
最大頻度変数 (整数, フロート) – 周波数(
Hz
)はPIコントローラを飽和させるために使用されるpll_filter_params ( Nonetype , dict ) –
この辞書には、PLLの予測ゲインとフィルタのカットオフ周波数が含まれています。これらの値が定義されていない場合、
デフォルト
値が使用されます。設定できる辞書キーは次のとおりです。「sogi_gain」 (int、float。デフォルト:
0.4
) - SOGIアルゴリズムゲイン「kp_pll」 (int、float。デフォルト:
4.81e3
) - PLLコントローラ比例ゲイン「ki_pll」 (int、float。デフォルト:
1.84e4
) - PLLコントローラ積分ゲイン「kd_pll」 (int、float。デフォルト:
-5.19
) - PLLコントローラの微分ゲイン”lp_cut_off_filter_d” (int、float。デフォルト:
20
) - カットオフ周波数(Hz
)の出力フィルタのd
座標”lp_cut_off_filter_w” (int、float。デフォルト:
100
) - カットオフ周波数(Hz
)の角周波数の出力フィルタ(わ
)”lp_cut_off_filter_f” (int、float。デフォルト:
10
) - カットオフ周波数(Hz
)の出力フィルタの周波数
- 戻り値:
結果 – データフレームにはdq座標が含まれています(
d
そしてq
)、測定された周波数(f
)、角度(重量
)、および正弦波出力(sin_wt
)。- 戻り値の型:
pandas.データフレーム
例
>>>から 台風テスト信号制御 signal_frequency_SOGI_pllをインポート>>>から 台風テスト信号 pandas_sineをインポートし、 assert_is_constant を検証します。 >>> >>> amp = 311 >>> freq_initial = 55 >>> freq = 60 >>> >>> signal = pandas_sine ( amp 、 freq 、 100 / freq 、 0 ) >>> >>> df = signal_frequency_SOGI_pll ( signal 、 amp 、 freq_initial )
設定できます
なし
PLL プロジェクトの 1 つまたはすべてのパラメータ:>>> df = signal_frequency_SOGI_pll(signal, amp, freq_initial, pll_filter_params={"lp_cut_off_filter_f": 15})
データはデータフレームの各列で利用可能です
DF
:>>> Frequency = df [ "f" ] >>> d_coordinate = df [ "d" ] >>> q_coordinate = df [ "q" ] >>> wt = df [ "wt" ] # 角度>>> sin_wt = df [ "sin_wt" ] # 角度の正弦 (sin(angle))
ご希望の場合は、
アサートが定数である
次のようにテスト手順に含めることができます。>>>定義 test_pll (): >>> # ... >>> >>> ref_value = freq >>> >>> tol = .5 >>> tol_t = 250e-3 >>> >>> assert_is_constant ( df [ "f" ], ( ref_value - tol , ref_value + tol ), during = ( tol_t , df . index [ - 1 ]), strictness = tol )