Main Content

Simscape Spectrum Analyzer ブロックを使用したオンライン高調波解析の実行

高調波歪み

非線形負荷は、電力歪みを高調波の形で作成します。つまり、電圧と電流が基本周波数の倍数になります。高調波波形により、放熱によるエネルギー損失や、電力品質の低下が発生する場合があります。また、機器の誤動作や損傷の原因になることがあります。IEEE (電気電子技術者協会、Institute of Electrical and Electronics Engineers) や IEC (国際電気標準会議、International Electrotechnical Commission) などの標準開発団体は、電力系統における高調波成分の推奨限界を定義しています。

この例では、オフライン (シミュレーション後) 解析とオンライン (シミュレーション中) 解析を使用してモデル内の高調波歪みを調査する方法を説明します。オフライン解析では、Simscape™ Electrical™ の高調波解析関数を使用して、オンライン解析のコンフィギュレーション設定の決定と結果の検証に役立てます。オンライン解析では Simscape Spectrum Analyzer ブロックを使用します。

前提条件

この例では、MATLAB® ワークスペース内にシミュレーション ログ変数が必要です。この例のモデルは、全シミュレーション時間にわたってモデル全体の Simscape データを記録するように構成されています。

モデルがシミュレーション データを記録するように構成されているかどうかを確認する方法については、モデルのシミュレーション データ ログ コンフィギュレーションの確認を参照してください。

オフライン高調波解析の実行

  1. モデルを開きます。MATLAB コマンド ウィンドウで、次のように入力します。

    openExample("simscapeelectrical/CompositeRectifierExample")

    モデル例には三相整流器が含まれています。モデルにはまた、PS-Simulink Converter ブロックから受信する三相電流信号の a 相のみを出力する Selector ブロックも含まれています。

  2. モデルをシミュレートします。

    sim("CompositeRectifier")

  3. 時間領域の結果を表示します。Scope ブロックを開きます。

    時間領域解析は、整流器が電圧を変換していることを示していますが、信号の周波数についての情報は含んでいません。

  4. コンフィギュレーション設定を決定し、オンライン高調波解析の予想される結果を計算します。オフライン高調波解析を実行します。

    1. Simscape Electrical の高調波解析関数では、固定ステップ ソルバーの使用が求められます。モデルのソルバー タイプとサンプル時間を特定します。サンプル時間の強調表示をオンにするには、Simulink® エディターのメニュー バーで、[デバッグ][情報のオーバーレイ][サンプル時間][色] を選択します。

      モデルは離散レートで実行されており、そのため 1e-4 秒のサンプル時間で固定ステップ ソルバーを使用しています。

    2. 関数 ee_getHarmonics を使用し、電圧源の電流に基づいて高調波の次数、高調波の振幅、基本周波数を計算します。

      [harmonicOrder,harmonicMagnitude,fundamentalFrequency] = ...     
      ee_getHarmonics(simlog_CompositeRectifier.Voltage_Source.I);

    3. Spectrum Analyzer ブロックを使用してオンライン高調波解析を実行するには、最大高調波次数と分解能帯域幅 (RBW) の値を指定する必要があります。RBW は基本周波数によって異なります。

      最大高調波次数と基本周波数を抽出して表示します。

      disp(['Maximum Harmonic Order = ', num2str(max(harmonicOrder))])
      disp(['Fundamental Frequency  = ', num2str(fundamentalFrequency)])
      Maximum Harmonic Order = 30
      Fundamental Frequency  = 60

    4. 基本周波数のピーク値を特定します。この値は、無視できる高調波をフィルターで除外し、オフライン解析の結果を検証するのに役立ちます。

      fundamentalPeak = harmonicMagnitude(harmonicOrder==1); 
      disp(['Peak value of fundamental = ', num2str(fundamentalPeak),' A']);
      Peak value of fundamental = 1945.806 A

    5. 基本周波数のピークの 1000 分の 1 より大きい高調波を特定して保持し、小さい高調波を除外します。

      threshold = fundamentalPeak ./ 1e3;
      aboveThresold = harmonicMagnitude > threshold;
      harmonicOrder = harmonicOrder(aboveThresold)';
      harmonicMagnitude = harmonicMagnitude(aboveThresold)';

    6. MATLAB の table で高調波データを表示します。

      harmonicRms = harmonicMagnitude./sqrt(2);
      harmonicPct = 100.*harmonicMagnitude./harmonicMagnitude(harmonicOrder == 1);
      harmonicTable = table(harmonicOrder,...
          harmonicMagnitude,...
          harmonicRms,...
          harmonicPct,...
          'VariableNames',{'Order','Magnitude','RMS','Percentage'});
      display(harmonicTable);
      harmonicTable =
      
        10×4 table
      
          Order    Magnitude     RMS      Percentage
          _____    _________    ______    __________
      
           1       1945.8       1375.9       100    
           5       218.86       154.75    11.248    
           7       105.83       74.835     5.439    
          11       85.135         60.2    4.3753    
          13       57.599       40.729    2.9602    
          17       50.417        35.65    2.5911    
          19       37.612       26.596     1.933    
          23       33.859       23.942    1.7401    
          25       26.507       18.743    1.3622    
          29       23.979       16.955    1.2323      

    7. 関数 ee_calculate_ThdPercent を使用して全高調波歪み (THD) の割合を計算します。

      thdPercent = ee_calculateThdPercent(harmonicOrder,harmonicMagnitude);
      disp(['Total Harmonic Distortion Percentage = ' num2str(thdPercent),' %']);
      Total Harmonic Distortion percentage = 14.1721 %

オンライン高調波解析の実行

  1. CompositeRectifier モデルを含む Simulink エディターで、Scope ブロックを Simscape Utilities ライブラリの Spectrum Analyzer ブロックに置き換えます。

    1. Scope ブロックを削除します。

    2. ブロック線図内を左クリックします。

    3. 検索アイコンが表示されたら「spec」と入力し、リストから [Utilities] ライブラリの [Spectrum Analyzer] を選択します。

    4. Spectrum Analyzer ブロックを Subsystem i からの出力信号に接続します。

  2. [スペクトル設定] パネルを使用して Spectrum Analyzer ブロックを構成します。

    1. Spectrum Analyzer を開きます。

    2. 周波数の平方根平均二乗 (RMS) を表示するようにブロックを設定します。[アナライザー] タブの [ビュー] セクションで、[スペクトル] をクリックして [RMS] を選択します。

    3. 次の方程式を使用して、分解能帯域幅 (RBW) に指定する値を決定します。

      RBW=NENBW*fN,

      ここで、

      • NENBW は、使用するウィンドウ法の係数である正規化された有効ノイズ帯域幅。ハニング (ハン) ウィンドウの NENBW 値は約 1.5 です。

      • f は基本周波数。

      • N は周期数。

      • RBW は分解能帯域幅 (Hz 単位)。

      ハン ウィンドウを使用した 10 周期にわたる 60 Hz の基本周波数の場合、次のようになります。

      RBW=1.5*60Hz10=9Hz

      [アナライザー] タブの [帯域幅] セクションで、[RBW (Hz)]9 に設定します。

    4. [推定] タブの [ウィンドウ オプション] セクションで、[オーバーラップ (%)]90 に設定します。

    5. アナライザーに表示するピークの最大数を指定します。[測定値] タブの [ピーク] セクションで、[ピークの検出] をクリックします。次に、[ピークの最大数]30 に設定します。この値は、オフライン解析で示された最大高調波次数に基づいています。

    6. 高調波歪みの測定に使用する高調波数を設定します。指定する数は、オフライン解析で捉えられる最大高調波次数を捉えるものとします。[測定値] タブの [歪み] セクションで、[歪み] をクリックします。次に、[高調波の数]30 に設定します。

  3. モデルをシミュレートします。

    sim("CompositeRectifier")

    基本ピーク電力は 0.06 kHz (60 Hz) で 1375.89 Vrms です。これらの結果は、オフライン高調波解析の結果と一致しています。

参考

ブロック

関数

関連するトピック