LTspice で精密な歪率解析(過渡解析)をする設定
結論
- maximum timestep を1波長の 1/1000 以下にする
.options plotwinsize=0
を付ける.options numdgt=7
を付ける
まとめると、こうなります。
ちなみにさらっと使っていますが、信号周波数を .param
コマンドで定義すると便利なのでおすすめです。
効果
これを FFT すると、こうなります。 THD の結果は以下の通りです。
Harmonic Frequency Fourier Normalized Phase Normalized Number [Hz] Component Component [degree] Phase [deg] 1 1.000e+03 2.000e-01 1.000e+00 -0.00° 0.00° 2 2.000e+03 6.775e-11 3.388e-10 -2.79° -2.79° 3 3.000e+03 1.016e-10 5.078e-10 -1.74° -1.74° 4 4.000e+03 1.354e-10 6.768e-10 -1.19° -1.19° 5 5.000e+03 1.692e-10 8.459e-10 -0.83° -0.83° 6 6.000e+03 2.030e-10 1.015e-09 -0.57° -0.57° 7 7.000e+03 2.368e-10 1.184e-09 -0.36° -0.36° 8 8.000e+03 2.706e-10 1.353e-09 -0.19° -0.19° 9 9.000e+03 3.044e-10 1.522e-09 -0.04° -0.04° Total Harmonic Distortion: 0.000000%(0.000000%)
何も指定しないときはこうなります。すごい差です。
Harmonic Frequency Fourier Normalized Phase Normalized Number [Hz] Component Component [degree] Phase [deg] 1 1.000e+03 1.996e-01 1.000e+00 -0.00° 0.00° 2 2.000e+03 3.465e-07 1.736e-06 -86.63° -86.63° 3 3.000e+03 3.736e-07 1.872e-06 -78.71° -78.71° 4 4.000e+03 3.402e-07 1.705e-06 -84.19° -84.19° 5 5.000e+03 3.758e-07 1.883e-06 -71.66° -71.66° 6 6.000e+03 3.316e-07 1.662e-06 -80.87° -80.87° 7 7.000e+03 3.827e-07 1.917e-06 -64.47° -64.47° 8 8.000e+03 3.216e-07 1.611e-06 -77.70° -77.70° 9 9.000e+03 3.905e-07 1.957e-06 -57.41° -57.41° Total Harmonic Distortion: 0.000508%(0.056047%)
各コマンドの説明
.options plotwinsize=0
*1 は出力波形の圧縮を無効にするコマンドです。
これを付けていないと、出力波形のポイントが勝手に減らされてしまいますので、大抵の過渡解析では必須のオプションです。波形ウィンドウの Mark Data Points を有効にするとわかります。
.options plotwinsize=0
だけを付けるとこのようになります。付けない時の2倍位になりましたが、まだスカスカです。
maximum timestep はその名の通り、過渡解析の時間幅を指定します。何も指定しないときは相当荒く、10波長分も解析すると上記のようにスカスカになってしまいます。
.options plotwinsize=0
を付けた上で maximum timestep を 1/1000 波長にするとこうなります。あまり細かくしても解析時間がかかる割には効果が薄くなります。
.options numdgt=7
は内部演算を倍精度にするオプションです。デフォルトは 6 で、6 より大きくすると倍精度になります。