アナログシンセの VCO ブロック (56) -- マルチ出力アンチログ回路の測定 (6)

オクターブ・スパン誤差の温度変化の測定を始めました。
今回、実験回路は Arduino の「シールド」の形で作成したので、必要なコントロールはすべて Arduino で行い、シリアルで接続する PC は測定結果のロギングだけに使っています。
とりあえず、室温 27.5 °C から 33.6 °C のピークまで上昇する期間の測定データのグラフを下に示します。
リワインド型の VCO で 220 Hz と 440 Hz を交互に発振させてその周波数を測定し、オクターブ・スパンの理想値 1200 セントからの誤差を計算してプロットした散布図です。

青い線は 2 次曲線にフィッテイングした結果です。
オクターブ・スパンの平均は 1200 - 0.85 = 1199.15 [セント] 程度になっています。
この偏差は初期調整でオクターブ・スパンを 1200 セントぴったりに調整し切れなかったせいです。
オクターブ・スパンの誤差の温度変化自体は、2 次回帰曲線を使って温度変化を 26 °C から 36 °C まで外挿して推測すると、約 0.05 セントとなります。
回路の原理的には誤差はゼロとなるはずですが、VCO 自体の周波数変動と測定誤差を合わせた変動幅が約 0.3 セント程度になっていることを考慮すると、約 0.05 セントは十分に低い値です。
差動ペアによる温度補償回路を使った場合の特性を測定した 2010 年 8 月 12 日付けの記事 (→ こちら) での結果、±5 °C で約 0.3 セントの変動幅と比べても十分に低くなっています。
220 Hz の発振周波数自体のピッチ誤差のグラフを下に示します。

こちらも青い線は 2 次回帰曲線にフィッテイングした結果です。
回帰曲線で外挿した結果は、10 °C の温度変動で約 2.5 セントになっています。
発振回路の周波数に関係する部品は手持ちの

  • KOA 製 1/4 W 金属皮膜抵抗
  • NISSEI 製 積層フィルム・コンデンサ MMT型 333 (33 nF) (秋月通販コード P-03202)
  • STmicroelectronics 製 シャント・レギュレータ TL431
  • 手持ちの半固定抵抗

を使い、特に温度特性に優れた部品は使っていませんから、この変動は部品の温度特性に起因するものと考えられます。
セント単位で表された誤差を、通常の温度特性の表現に使われる ppm/°C に換算すると、
(2(2.5/1200) - 1) × 106 / 10 [°C] = 144.5 [ppm/°C]
となり、妥当な値と言えます。