対数増幅回路の入出力特性

図1は,OPアンプとNPNトランジスタを使用した対数増幅回路です.OP1の反転入力端子に1kΩの抵抗R1を介して入力電圧VINが加えられています.OP2の帰還抵抗R2が15.8kΩ,R3が1kΩになっています.また,トランジスタQ1とQ2の特性はまったく等しいものとします.VINが10mVのときにOUT端子の電圧は0Vでした.VINが100mVになったときのOUT端子の電圧は次の(A)~(D)のどれでしょうか.

VINが100mVのときのOUT端子の電圧は?
入力電圧VINは,抵抗R1で電流に変換され,その電流はトランジスタQ1に流れます.トランジスタのコレクタ電流とベース・エミッタ間電圧の関係式から,オペアンプOP2の非反転入力端子の電圧を計算し,OP2のゲイン倍すれば答えが分かります.
図1の回路で,Q1のベース・エミッタ間電圧とQ2のベース・エミッタ間電圧からOUT端子の電圧(VOUT)を計算すると「VOUT=-log(VIN/10mV)」になります.そのため「VIN=10mV」のとき,VOUTは0Vとなります.また,「VIN=100mV」の場合,VOUTは-1Vになります.したがって正解はDということになります.
●基本的な対数増幅回路の動作
図2は,OPアンプとトランジスタを使用した基本的な対数増幅回路です.トランジスタのコレクタ電流とベース・エミッタ間電圧が対数関係となっていることを利用しています.

コレクタ電流とベース・エミッタ間電圧が対数関係であることを利用している.
トランジスタのベース・エミッタ間電圧(VBE)は,コレクタ電流をICとすると,式1のように表され,コレクタ電流の自然対数に比例します.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(1)
式1の中でISは,逆方向飽和電流と呼ばれるもので,トランジスタの大きさなどによって決まり,大きな温度係数を持っています.またVTは熱電圧と呼ばれ,式2で表されます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(2)
図2においてOPアンプが正常に動作しているときは,反転入力端子の電圧は非反転入力端子と等しくなっており,GNDと同じ電位になっています.そのため,抵抗R1に流れる電流は,式3のようにして求めることができます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(3)
また,OPアンプの入力端子には電流が流れないため,Q1のコレクタ電流ICはIR1と等しくなります.そのため,Q1のベース・エミッタ間電圧VBEQ1は式4のようになります.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(4)
OUT端子の電圧はGND電位からVBEQ1だけ下がった電圧になります.VBEQ1はVINの自然対数に比例するため,図2の回路は対数増幅回路として動作します.なおOPアンプが正常に動作するのはVINが正の電圧のときだけです.
●基本的な対数増幅回路をシミュレーションする
図3は,図2の回路でVINを10μVから10Vまで一桁あたり50ポイント変化させたときの出力電圧(OUT端子の電圧)をシミュレーションしたもです.出力電圧は直線的に変化していますが,横軸は対数目盛となっており,出力電圧がVINの対数に比例していることが分かります.

出力電圧がVINの対数に比例していることが分かる.
図2の回路ではトランジスタのベース・エミッタ間電圧がそのまま出力されます.そのため,出力電圧はVBEの温度係数の影響を受けてしまいます.図4は,図2の回路で温度を-40℃,27℃,80℃と変化させて(Basic_logAmp_Temp.asc),シミュレーションした結果です.温度によって出力電圧が平行移動的に変化していることが分かります.

温度によって出力電圧が平行移動的に変化している.
●改良型対数増幅回路の動作
図2の回路は,ベース・エミッタ間電圧がそのまま出力電圧となるため,あまり使いやすくありません.その問題を対策した回路が図5の回路です.これは,図1と同じ構成となっています.電流源I1とトランジスタQ2および,OP2による増幅回路が追加されています.

電流源I1とトランジスタQ2および,OP2による増幅回路が追加されている.
図5でA点の電圧は図2のOUT端子と同じ電圧で,式5で求められます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(5)
B点の電圧は,A点の電圧にQ2のベース・エミッタ間電圧(VBEQ2)を加算したものです.VBEQ2は,式6で表されます.Q1,Q2の特性はまったく同じであるという前提のため,ISは同じ値になります.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(6)
ベース電流を無視すると,IC2は,電流源(I1)と等しくなります.これを踏まえて式5および式6からB点の電圧を計算すると,式7のようにISが消去されたものになります.
・・・・・(7)
OP2は非反転増幅回路を構成しており,そのゲインをGとします.また,「R1I1=Vref」とし,式7の対数の底を10に変換すると,OUT端子の電圧VOUTは式8になります.
・・・・・・・・・・・・・・・・・・・・・・・(8)
式8よりVIN=VrefのときにVOUTは0Vになることが分かります.ここで,「GVTln(10)=1」となるようにGの値を設定すると,式9になり,VINがVrefの10倍になるごとに,VOUTが1V変化するように設定できます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(9)
そのときのGの値は式10で計算することができます.
・・・・・(10)
また,Gは式11で表され,図1および図5の定数を代入すると16.8になります.
・・・・・・・・・・・・・・・・・・・・・・(11)
つまり,図1の回路のVOUTは式9で表されることになります.「Vref=R1I1=1k*10μ=10mV」なので,VINが10mVのときにOUT端子の電圧が0Vとなり,VINが100mVのときにはOUT端子の電圧が1Vになります.
●改良型対数増幅回路のシミュレーション
図5の回路のVINを10μVから10Vまで一桁あたり50ポイント変化させ,OUT端子の電圧をシミュレーションしたものが図6です.VINが10mVのときに出力電圧が0Vとなっており,VINが100mVになると-1Vとなり,VINが10倍になるごとに-1V変化しています.また,VINが10mVよりも小さくなると,1/10になるごとに1V変化しています.

VINが10mVのときに出力電圧が0Vで,10倍になるごとに1V変化している.
図7は,図5の回路で温度を-40℃,27℃,80℃と変化させて(logAmp_Temp1.asc),シミュレーションした結果です.VINが10mVのとき,出力電圧はどれも0Vとなっています.直線の傾きが温度によって変化しています.これは,式8のVTの項が正の温度係数を持っているためです.

直線の傾きが温度によって変化している.
図7の温度による直線の傾きは,OP2による非反転増幅回路のゲインを温度で変化させることで補正することができます.これは適切な温度係数を持った抵抗を帰還回路に使用することで実現できます.図8は,R3の抵抗の温度係数を+3300ppmに設定したものです.

R3の温度係数を+3300ppmに設定している.
図9がR3の温度係数を+3300ppmにしたときのシミュレーション結果です.温度による直線の傾きの変化がほとんどなくなっていることが分かります.

温度による直線の傾きの変化がほとんどなくなっている.
以上,対数増幅回路について解説しました.対数増幅回路の精度を上げるためには,Q1,Q2のトランジスタの特性が同じになるよう選別することや,Q1,Q2および温度補償用抵抗R3が常に同じ温度で動作するよう,密着して実装する等の配慮が必要です.
解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice4_024.zip
●データ・ファイル内容
Basic_logAmp.asc:図2の回路
Basic_logAmp_Temp.asc:図2を温度変化させる回路
logAmp.asc:図5の回路
logAmp_Temp1.asc:図5を温度変化させる回路
logAmp_Temp2.asc:図8の回路
■LTspice関連リンク先
(1) LTspice ダウンロード先
(2) LTspice Users Club
(3) トランジスタ技術公式サイト LTspiceの部屋はこちら
(4) LTspice電子回路マラソン・アーカイブs
(5) LTspiceアナログ電子回路入門・アーカイブs
(6) LTspice電源&アナログ回路入門・アーカイブs