アナログシンセの VCO ブロック (22) -- アンチログ回路(5)

アンチログ回路入力の絶対温度 (T) スケーリングの話に戻ります。
純粋にアナログ的手段による方法として、

  • ギルバート・セル型アナログ乗算器 (4象限)
  • ログ-アンチログ型アナログ乗算器 (2象限)
  • OTA を乗算器的に使う

を取り上げます。
また、ディジタル的な手法を取り入れた方法として PWM に触れます。
絶対温度に比例するピタット (PTAT) 電圧は、常温 (T = 300 K) を中心に上下 30 ℃の範囲を考えても ±10 % 変動するにすぎません。
このように狭い範囲で変動する電圧の乗算に、本格的なアナログ乗算器を持ち出すのは、ちょっと大げさな感じがします。
といっても、CV 側は正負に変化しますし、高い直線性が要求されますから、簡単に実現できる方法は、なかなか見つかりません。
CEM3340 の内部回路ではどのように実現しているのか興味があります。

ギルバート・セル型アナログ乗算器 (4象限)

古くは MC1495 などの、いわゆるギルバート・セル型の4象限乗算器 IC が数多く市販されています。
それらは高価なこともあり、私は使ったことがありません。
これらの IC を使えば簡単に高性能を得ることができるでしょう。(棒読み)
この方法については実験する予定はありません。

ログ-アンチログ型アナログ乗算器 (2象限)

乗算器の別の実現方法として、ログ回路とアンチログ回路を縦続する方法があります。
この方法による乗除算 IC が RC4200 でレイセオンがオリジナルです。 セカンドソースの新日本無線製の NJM4200 が入手しやすいです。*1

左図のように、エミッタとベースが直列になった2個のトランジスタが2組並列に接続された、計4個のトランジスタ回路が基本になっています。
左図は概念的なもので、電流の流れ先がありませんから、回路図としては成立していません。
I_1, I_2, I_4 は入力電流として外部から流し込み、I_3 は出力電流として、外部の OP アンプで電圧に変換します。
トランジスタV_{\small\rm BE}I_{\small\rm C} の関係は、
\quad\quad V_{\small\rm BE1} = V_{\small\rm T} \cdot \ln \left ( I_{\small\rm C1} / I_{\small\rm S1} \right )
\quad\quad V_{\small\rm BE2} = V_{\small\rm T} \cdot \ln \left ( I_{\small\rm C2} / I_{\small\rm S2} \right )
\quad\quad V_{\small\rm BE3} = V_{\small\rm T} \cdot \ln \left ( I_{\small\rm C3} / I_{\small\rm S3} \right )
\quad\quad V_{\small\rm BE4} = V_{\small\rm T} \cdot \ln \left ( I_{\small\rm C4} / I_{\small\rm S4} \right )
となります。
\quad\quad V_{\small\rm BE1} + V_{\small\rm BE2}  = V_{\small\rm BE3} + V_{\small\rm BE4}
ですから、
\quad\quad \ln \left ( I_{\small\rm C1} / I_{\small\rm S1} \right ) + \ln \left ( I_{\small\rm C2} / I_{\small\rm S2} \right ) = \ln \left ( I_{\small\rm C3} / I_{\small\rm S3} \right ) + \ln \left ( I_{\small\rm C4} / I_{\small\rm S4} \right )
\quad\quad \ln \left ( I_{\small\rm C1} \cdot I_{\small\rm C2} / ( I_{\small\rm S1} \cdot  I_{\small\rm S2})  \right )  = \ln \left ( I_{\small\rm C3} \cdot I_{\small\rm C4} / ( I_{\small\rm S3} \cdot  I_{\small\rm S4} )\right )
両辺の指数を取って、
\quad\quad I_{\small\rm C1} \cdot I_{\small\rm C2} / ( I_{\small\rm S1} \cdot  I_{\small\rm S2})   =  I_{\small\rm C3} \cdot I_{\small\rm C4} / ( I_{\small\rm S3} \cdot  I_{\small\rm S4} )
\quad\quad I_{\small\rm C3}  =  \left (  I_{\small\rm S3} \cdot I_{\small\rm S4} / ( I_{\small\rm S1} \cdot  I_{\small\rm S2}) \right )  \cdot I_{\small\rm C1} \cdot I_{\small\rm C2} /  I_{\small\rm C4}
ここで、各トランジスタは特性が揃っていて、逆方向飽和電流の比 I_{\small\rm S3} \cdot I_{\small\rm S4} / ( I_{\small\rm S1} \cdot  I_{\small\rm S2}) = 1 と見なせるとすれば、結局、
\quad\quad I_{\small\rm C3}  =  I_{\small\rm C1} \cdot I_{\small\rm C2} /  I_{\small\rm C4}
となり、出力電流 I_{\small\rm C3} は入力電流 I_{\small\rm C1}I_{\small\rm C2} とを掛け、 I_{\small\rm C4} で割ったものになります。
実際のチップでは、Q1, Q2, Q4 のコレクタは OP アンプのマイナス側入力端子につながっていて、バーチャル・グラウンドを構成しています。
Q1, Q2 については OP アンプのプラス側入力端子がピンに出ており、通常はグラウンドに落としますが、外部回路によりオフセットの調整もできるようになっています。
流入力端子はバーチャル・グラウンドになっていますから、抵抗によって入力電圧を電流に変換します。
この乗除算は全ての入力値が正の値に限られる、つまり1象限乗算となっています。

アナログシンセ用の CV スケーリングに求められるのは2象限乗算ですから、左の図のように、温度係数ゼロの基準電源からバイアス電流を流しておいて、出力側の OP アンプで補正します。
各電流入力のリニアリティの良い範囲が約 50 〜 250 uA なので、バイアスとしては、その中間の 150 uA 程度を流します。
上の回路図の R2 とか R4 とかは部品番号ではなく、抵抗値が揃っているべき抵抗に対して同じ番号が割り当てられています。
RC4200 チップの電源は、グラウンドとマイナス電源を与えるようになっており、ちょっと変わっています。 マイナス電源は -9 V が最大値、 -18 V が最小値です。

*1:DIP タイプの NJM4200D が秋月で単価 300 円