信号周波数_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 )