Quadrature Trapezoid VCO の続きです。Qadrature Trapezoid VCO は訳すと「直交台形波 VCO」みたいな感じです。元記事の回路図をこの記事に切り貼りするのはちょっとはばかられるので、解説、回路などは Donald さんの元記事を参照していただきたいですが、詳しい解説が書かれていてもそれでも難解な VCO なのでちょっと時間をかけて自分なりに理解してみました。この発振器、実に巧妙に設計されています。よく何もないところからこんな仕組みを思いついたなとすごく感心してしまいます。
まずこの VCO の第一の目的は、アナログ発振器を使って Thru-Zero FM を実現することです。負の周波数で発振させるときに問題になるのが波形の向きです。三角波のような時間軸上で対称な波形なら特に問題にならないのですが、ノコギリ波のような非対称な波形を出す場合にはゼロ周波数をまたぐときに波形の方向が切り替わるので問題です。そこで、二つの発振器を位相が90度ずれた二つの波形を同時に発振させ、これらは出力を平面に投影すると回転してゆくわけですが、それをどちら向きにも回せるような仕組みを作ればよいというのが出発点です。以下のような感じ。負の周波数では制御電流を逆向きにします。
発振器は、以下のような基本構造をしています。正負対称の制御電流とコンデンサの間にスイッチボックスを入れてタイミングごとにスイッチを切り替え、下側のような位相が90度ずれた台形の波形を二つ作ります。正の制御電流側のスイッチを入れると波形は登りのスロープになり、負の制御電流側のスイッチを入れると波形は下りのスロープになり、両方切ると電位は停滞します。
二つの波形を X 軸、Y 軸に投影してみると、以下のような感じで、1 → 2→ 3→ 4 とリサージュ波形が反時計回りに回転してゆきます。1 → 2 の辺では、x軸(下側波形)の両スイッチが切断していて y 軸 (左側波形)の正のスイッチが入っていれば上側に移動してゆき、これを (0, i) とあらわすと、次は x -> 負のスイッチ、y -> 切断ということで (-i, 0)、スイッチの状態が (0, i) → (-i, 0) → (0, -i) → (i, 0) と遷移してゆくと波形がきれいに回ってゆくことになります。このスイッチ状態、重複しているものがないので、発振器は四状態です。この四状態を順繰りに作り出せれば発振が起こせるわけです。ここで、リサージュの各辺のスイッチ状態が同じで、制御電流の向きを逆にしてみると、波形は反対回りします。
次に問題になるのが、発振器の状態遷移をどうやって作り出そうかという点です。この発振器は四状態を持つので、それを二ビットの二進数であらわしてみます。二進数化してしまえば、スイッチの制御はマルチプレクサを使って実現できます。問題はどうやって発振器の状態を二進数にとらえるかということ。波形は左回りにも右回りにも回したいので、回転方向に依存してはいけない、つまり過去の状態から次の状態を決めてはいけません。そこでこの発振器がとっている仕組みが以下の通りです。
二つの波形の大小関係を比較し、x の波形は y よりも大きいときに 1、y の波形は -x よりもとき大きいに 1 とすると、四状態が 10, 11, 01, 00 と重複なくきれいにあらわされます。この方法なら状態は二つの波形の大小関係だけで決まるので、どちら向きの状態遷移でも同じ大小関係なら波形の履歴にかかわらず同じ状態になります。この二ビットを二個の比較器で実際に発生してマルチプレクサに入力すれば目的通りの発振器ができるわけです。えっそんな簡単な方法でできてしまう?とびっくりしてしまいます。
本日も遅くなってしまったので回路図を写す時間がなく、ここにバーンと回路図を貼れないのが残念ですが、いやはや、魔術のような発振器です。