LTspiceでノイズの検討を行う(1)LTspice の .noize コマンドを試す
LTspiceは、ノイズ解析を行うための .noizeコマンドが利用できます。回路中の抵抗、半導体などの素子に起因するジョンソン・ノイズ、ショット・ノイズおよび1/f(フリッカ・ノイズ)の解析を行います。
今回は、抵抗の熱雑音を確認してみます。熱雑音は、抵抗体中の電子がブラウン運動を行うことによって生じるノイズで、温度の上昇に応じてブラウン運動も激しくなり、ノイズも大きくなります。温度が下がるとともにブラウン運動は低下し、絶対零度ではブラウン運動も停止しノイズもなくなります。
電波望遠鏡などでは、ノイズ低減のため液体窒素などでプリアンプを冷却しているそうです。
●電源の内部抵抗分でテストする
次に示す電源のVoltageのシリアル抵抗分を、熱雑音の発生源として検討します。
V1のシンボルをマウスの右ボタンでクリックして、表示されるダイアログで「Advanced」を選択し、次に示すVoltageの仕様を設定するウィンドウを表示します。
ここでは、voltageを信号源として利用する場合に、信号源として利用する各ファンクションの設定、電源として利用する場合のDCの出力電圧、AC解析の場合出力信号のピーク値のほか、電源の内部容量、今回想定する内部抵抗値の設定ができます。
ここでは、ファンクションの設定は行わず、noneのままにし、Series Resistanceに1kを設定しました。
グラウンドと出力のラベル out を次のように設定して、最初のテスト回路を作成しました。
●ノイズ解析の設定
メニュー・バーのSimulate > Edit Simulation Cmdを選択し、次に示すEdit Simulation Commandのウィンドウを表示し Noiseのタグを選択します。
Output : 全出力ノイズを計算するノードを設定する Input : ノイズ源となる独立した信号源の名称 Type of sweep : 掃引のタイプ オクターブ、ディケード、リニア、リストから選ぶ Number of points per octave : オクターブ当たりのシミュレーション・ポイント数 Start Frequency : 開始周波数をセットする Stop Frequency : 終了周波数をセットする |
V(out)でノイズをモニタし、V1をノイズ源にし、オクターブ当たり50ポイントのシミュレーションを0.1Hzから100kHzとする設定を、次に示すように行いました。
●シミュレーション結果
シミュレーションの結果は、次のように全周波数で4.058nV/Hzの値になっています。また、ノイズの発生源V1の出力がそのままノイズの測定点となっているので、各周波数にわたって同一の値になっています。
抵抗中の雑音は熱雑音です。このシミュレーション時の設定温度を確認します。次に示すSPICE Error Logには、温度に関する情報としてtnomとtempが記述されています。
tnomは、デフォルトの温度を設定していないモデルの測定時の温度となります。tempは、温度が設定されていない素子の測定時の温度です。
ここでは、共に27度のデフォルトの設定になっています。
●抵抗体の熱雑音の推定値
抵抗体の熱雑音については、ジョンソン・ナイキストにより次の式が与えられています。
Vn : ノイズ電圧
k : ボルツマン定数 1.38E-23
T : 抵抗の温度 300°K
R : 抵抗値 1000Ω
df : 帯域幅 1Hz
この条件でVnを計算すると、
Vn = 4.069E-9V = 4.069nV
となります。シミュレーション結果とほぼ同じ値になりました。
● -273.15℃の場合
-273.15℃の絶対零度の場合の熱雑音がどのようになるでしょうか。.temp ディレクティブで-273.15℃を設定して、どのような結果が得られるかシミュレーションしました。結果を次に示します。
ノイズの出力電圧V(out)は 0.00559 fVとの結果を得ました。1 fVは 1.0E-15Vとなります。nVの百万分の1となり、常温時の値に対して十分小さな値となっています。
次回以降、フィルタやアンプを通過した場合の検討を行います。
(2020/10/22 V1.0)
<神崎康宏>