OnScaleでインピーダンスを計算する最も簡単な方法は、後処理GUIで利用可能なインピーダンスを使用することです。 また、レビュースクリプトコードを使用してインピーダンスを計算することもできます。
Post-Processモードでインピーダンスの計算
- OnScaleポストプロセッサGUI内からの時系列曲線の結果を含むXX.flxhstデータファイルを開きます。
- 電極の放電を含むpize load_1:Chargeの時系列曲線を1回だけクリックします。
- インピーダンスをクリックすると、アクティブになります
- Frequency Historyに表示されているImpd:load_1.ampをダブルクリックすると、インピーダンス曲線の振幅が表示されます
注意: 画像をクリックして全画面で表示します
トランスデューサーデバイスのメイン周波数に近い部分のみが重要です。
- Plot Controlsをクリックします。
- Log xAxisにチェックを入れ、minimum/maximumに周波数値を入力します。
- Log yAxisにチェックを入れ、minimum/maximumに振幅値を入力します。
注意: マウスのドラッグアンドドロップを使用して、マウスでカーブをズームすることもできます。
レビュースクリプトコードを使用してインピーダンスを計算する方法を調べてみましょう。
Reviewスクリプトでインピーダンスの計算
複雑なインピーダンスは、電圧と充電の時間履歴を使用して計算されるため、レビューでインピーダンスを抽出できるようにするには、次のコードをXX.flxinp入力ファイルに含める必要があります。
pout
histname electrode vq all /* Volt/charge time histories 1 & 2
end
注意: OnScale Designerモードで入力ファイルを生成した場合、このコードはすでに入力ファイルに含まれているはずです。 vqをvqiに変更すると、各電極で電流も抽出されることに注意してください。
入力ファイルを実行すると、XX.revinpレビュースクリプトを作成して開くことができる履歴ファイルが作成され、次のコードがそのファイルに貼り付けられます。
XX.revinp
c Read the XX.flxhst file into a file f1
text filename = InsertNameHere /* Change filename as required
read f1 '$filename.flxhst' /* Read time history
c Open a new file f2, then generate impedance curve using data from f1
freq
file f2 /* Local file to store results
type amp /* Results in Amplitude and Phase
impd f1 2 f1 3 /* Calculate Impedance Magnitude
end
c Plot the newly generate impedance curve
grph
type stnd /* Use standard graphics for Logarithmic plots
nvew 2
pset wndo 0 10.e6 /* Set up X Scale
plot f2 1 /* Plot Amplitude
set log y on
plot f2 2 /* Plot Phase
end
term
注意: InsertNameHereを時系列flxhstファイルの名前XXに変更することを忘れないでください。 電圧と電流が時系列ファイルの2番目と3番目の位置にあるとは限らないため、impdサブコマンドの「f1 2」と「f1 3」も変更する必要がある場合があります。 最後に、pset wndoコマンドで頻度の最小値と最大値を設定する必要があります。
Reviewスクリプトは、$ filename.flxhstファイルと同じディレクトリに配置する必要があります
いくつかの特別な場合に "freq"コマンドに追加する必要があるかもしれない追加のコマンドを見てみましょう。
Windowing/Padding
場合によっては、インピーダンスプロットの離散化(またはフラクチャ)が不十分です。 これは、FFTが計算されたときに、時系列のデータポイントの数が適切に小さい周波数ステップサイズを生成するには不十分であるためです。
解決策は、時間履歴に余分なゼロを埋め込むことです。 これは、モデルの電極の電荷がすでにゼロに達した後でデータポイントを追加するだけです。 これはデータを変更しません。 データセットを拡張するだけです。 時間セットにゼロデータポイントを追加すると、周波数セットのポイント数が増加し、周波数の時間ステップが減少します。
freq
file f2 /* Local file to store results
time pad 4 /* Zero padding for better resolution
end
インピーダンスプロットに関するもう1つの一般的な問題は、シミュレーションが十分に長く実行されておらず、電荷が電極から散逸していない場合に、動作インピーダンスにリンギング共振が追加されることです。 電荷信号のこの切り捨てにより、インピーダンス特性にスプリアス信号が導入されます。 新しいローカルファイルをウィンドウ処理すると、これらの周波数の生成が防止されます。
freq
file f2 /* Local file to store results
wndo hann righ 0.15 /* Windowing to ensure signals terminate at zero
end
計算
駆動機能が適用された電極の電圧と充電時間の履歴は、インピーダンスの計算に使用されるレコード2と3に保存されます。
freq
file f2 /* Local file to store results
type amp /* Results in Amplitude and Phase
impd f1 2 f1 3 /* Calculate Impedance Magnitude
end
デフォルトでは、インピーダンスデータは振幅と位相の形式で出力されます。 typeコマンドを使用すると、これを実数および虚数に変更できます。 impdコマンドは、ローカルファイルf1の配列2と3に基づいて動作インピーダンスを計算し、ローカルファイルf2の配列1と2にそれぞれ振幅と位相を出力します。
表示
インピーダンス曲線は、grphコマンドを使用してプロットできます。 ビューポートの数はnvewコマンドを使用して設定され、次にplotを使用してポートにプロットする曲線を指定します。 制限は、psetコマンドを使用してX軸とY軸に設定できます。
grph
type stnd /* Use standard graphics for Logarithmic plots
nvew 2
pset wndo 0 10.e6 /* Set up X Scale
plot f2 1 /* Plot Amplitude
set log y on
plot f2 2 /* Plot Phase
end