非線形素子の作成
スクリプトを使って作成する
スクリプトを使用し、条件によって素子パラメータを変化するように設定することで、
非線形な変化を行う素子を模擬することができます。
スクリプトを使用することで次のような直流重畳特性を持つ Inductor
(インダクタ)を模擬することができます。
なお、近似式はExcelの機能を使用して算出しています。
近似式を使用する
近似式を直接スクリプトに記載することで非線形素子を模擬します。
スクリプトは以下のように記載し、Inductor
L
の値を変更します。
/* Lの電流を取得 */
I = output("L.I","I","AVE");
/* Lの直流重畳特性から求めた近似式を使ってインダクタンスを導出 */
Inductance = 0.0000001861 * pow(I,3) - 0.0000014119 * pow(I,2) + 0.0000001044 * I + 0.0000237024;
/* setparam関数を使用して、Lのインダクタンス値を更新 */
setparam("L","value",Inductance);
/* Inductanceを出力変数とする */
setoutvar(Inductance);
Lookup Tableと機能関数table
を使用する
非線形特性を ルックアップテーブル
で定義し機能関数 table
で呼び出すことで非線形素子を模擬します。
ルックアップテーブルの作成手順
ファイル
メニューの新規作成からルックアップテーブル
を作成し、Name
をnonlinearに変更します。-
コンフィグエディタ
のLookup Table
メニューで保存したルックアップテーブルファイルを登録します。
ルックアップテーブルの呼び出し
次にスクリプトにて上記で作成したテーブルを呼び出します。
テーブルの呼び出しは機能関数 table(テーブル名,xの値)
で行います。
/* Lの電流を取得 */
I = output("L.I","I","AVE");
/* 作成したテーブルを使用してインダクタンスを導出 */
Inductance = table("nonlinear",I);
/* setparam関数を使用して、Lのインダクタンス値を更新 */
setparam("L","value",Inductance);
/* Inductanceを出力変数とする */
setoutvar(Inductance);