RCポリフェーズフィルタでIFの90°成分を作る

先週からスーパーヘテロダイン式による機械振動子の自励発振回路の要素技術について書き始めました。発振回路といっても基板上にある水晶振動子やLCタンク回路と違って、機械振動子は真空装置の中だったり水の中だったりするし、振動を観測する装置に何を使うか途中でどんなフィルタが挿入されるかなどは変更されることもあるため、検出された信号と駆動信号の間の位相を任意に変えられるように設計しておかなければなりません。今回はRCポリフェーズフィルタを使ってみました。

画像


上図の回路は左側からある正弦波と逆位相(180度位相)の正弦波を入力すると、右側では4つの位相に等分割されて出てくるというものです。入力から出力の間には周波数に応じた何らかの位相差がありますが、ともかく右端の4つの出力間ではきれいに90°ずつの位相差になっています。

たとえば上から2番目の出力を基準(実軸)とすると、いちばん上の出力は90°進んでいるので虚軸に相当します。したがって、これらの線形結合によって任意の位相が実現できることになります。

sinα・sinβ= { cos(α-β) - cos(α+β) } /2 ………(1)
cosα・cosβ= { cos(α-β) + cos(α+β) } /2 ………(2)

上の公式(2)と(1)を足すと cos(α-β) 、(2)から(1)を引くとcos(α+β)が得られます。
α=2π×100000、β=θをそれぞれ代入すると、αの方を100kHzの振動成分、ベータの方を回転させたい位相とすることになります。具体的にはcosθとsinθをマイコンとDACで生成し、RCポリフェーズフィルタの出力とそれぞれアナログ乗算器で掛けて足すか引くかすることになります。

ただし、上図の回路が正確に90°ずつ位相を分割してくれる周波数の範囲はある程度限られます。とはいうもののほかの手法よりずっと広いというのが今回の話題なんですが、ともかくある程度限られます。スーパーヘテロダイン方式のIF段では、周波数がある程度限定されているため、位相シフターを挿入するならIF段は理想的です。

鳩歩堂ではRCポリフェーズフィルタを使った記事をすでに書いたことがあり、そのひとつはスーパーヘテロダインを使わない発振回路で任意の位相シフトをするためでした。RCポリフェーズフィルタはこのように広い周波数にわたっても90°分割ができます。実は広い周波数範囲でどう設計するかについて、鳩歩堂はちゃんとした知識を持っているわけではなく、アマチュア無線用に知られている回路(これもどこのホームページから拝借したかも忘れてしまいましたが)を参考にしたに過ぎませんでした。

しかしRCポリフェーズフィルタをIFのような中心周波数から大きくずれない周波数範囲で設計するのは簡単です。今回は中心周波数が100kHzなので、RC=(2π×100kHz)-1になるようなRとCを繰り返して配置していけば、自然と90°位相になってきます。何段つなげば満足がいくかは、回路シミュレータで確認してみれば決定できます。

画像


Rはすべて1.6kΩ、Cはすべて1000pFです。これは100kHzの正弦波を入力したときです。基板上では対称に配置するのが難しいので、だいたい放射状になるように配置してみました。

画像


周波数軸を拡大してみましょう。

画像


位相の90°分割がとても良いです。次に周波数を80kHzと120kHzに変えた場合を見てください。

画像


画像


いずれも位相の分割は素晴らしいです。また、振幅は周波数によって変化しているものの、4つの出力の間で振幅のばらつきが全く無いのが特徴です。

これらを上で書いたようにDACから出力した任意の角度θのサイン・コサインとそれぞれ掛けて加え合わせたものを作ると、IF周波数において位相をθだけシフトできます。しかし、今回はこの後、もともとの機械振動子の発振周波数に変換するためにミキサー(乗算器)が必要になりますから、位相シフトと周波数変換を同時に行ってしまうほうが得策となります。

そのかわり、DACからサインθとコサインθを与えれば済むというわけにいかなくなります。IFの2つの位相成分に対して乗算すべき信号は、IF周波数に変換したときに使った局発(これをフロントエンドLOと呼ぶことにします)と同じ周波数で、お互いが90°の位相関係にある正弦波信号(これらをリアエンドLOのIおよびQ成分と呼ぶことにします)です。位相シフト量は、フロントエンドLOとリアエンドLOの間の位相差として与えなければなりません。

そのため、同じ周波数の3つの出力を持つ任意周波数正弦波発振器が必要になりますが、それにはDDSが最適な解となります。3つとも同じ周波数なので、位相発生器が1個で正弦波変換部が複数という構成がシンプルな解になります。DDSはICとして買うことができますが、3個のICにそれぞれ位相発生器が分散していると、位相合わせがかえって難しいので、今回の装置ではFPGAと高速DACを使って作りました。それもいずれ紹介したいと思います。

それから、周波数変換と位相シフトを同時に行うことには別のメリットもあります。

その前に、そのメリットを享受していない一般的なアナログのスーパーヘテロダインはどうなっているかというと、ミキサ(乗算器)は1個で、不要な方の周波数成分はフィルタで除去します。これは上の公式(1)または(2)の片方だけを使うことに相当します。現在でこそリニアリティの良いアナログ乗算器がありますが、伝統的に周波数ミキサと呼ぶように、能動素子が高価な時代には、乗算すべき信号を加算した上で1個の非線形素子に通し、出てきたいろんな非線形成分の中から積の周波数成分以外をフィルタアウトするというようなことをしていたわけで、とうてい公式(1)と(2)の和だの差だのという理想的な処理はできなかったわけです。現在でもアナログの乗算器は良くて2%低度の歪みがありますし、コストも高いし、90°位相の信号を生成するためのハードウェアにもコストがかかるので、あまり行われるようにはなっていません。

周波数変換と位相シフトを同時に行うということは、公式の和または差がいきなり出力されますから、周波数成分は片方しか出てきません。

ディジタルではこうした複素信号処理が当たり前に行われています。ディジタル回路でも乗算器はコストのかかるハードウエアではありますが、2,000円低度のFPGAにも10個以上含まれています。ヒルベルトフィルタで簡単に90°位相が作れます。こういった特徴から、複素信号処理がしやすいと言えます。また、アナログのIF段は10.7MHzとかもっと高い周波数でも実現できるため、ミキサ1個で周波数変換しても不要な方の周波数が必要な周波数からかけ離れた値になってフィルタアウトしやすいように設計できるのに対し、ディジタル処理ではサンプリング周波数の制約からIFの周波数は低い方が良いですから、ゼロヘルツを中心とする代わりに複素信号処理を行う設計の方が相性が良いわけですね。

アナログの話に戻ると、90°位相を作るところがなんといっても悩みのためですね。アナログのヒルベルト変換回路というと、移相器(全域通過フィルタ)を複数カスケードして近似的に90°位相差を作り出す回路が知られていますが、かなり大規模なものになります。IFで90°位相を作るなら全域通過フィルタ1個でも近似的に可能ですが、1個の全域通過フィルタが90°位相を実現できる周波数はたった1点なので、IFにおいても周波数デビエーションが大きい場合は近似が悪くなります。

全域通過フィルタは比較的低い周波数ではオペアンプで、高い周波数では「トロイダル・コア活用百科」に紹介されている「クワッドレチャ・ハイブリッド」が使えます。10年以上前の前作の自励発振回路で、鳩歩堂は10.7MHzのIF段でクワッドレチャ・ハイブリッドを使いました。やはり中心周波数の1点でしか本当の90°は得られませんが、これで十分良い近似ではありました。

ここで、しかし!と言いたいのです。RCポリフェースフィルタがいかに周波数に鈍感か、というのは驚くべきもので、周波数が±20パーセントも変わっても相変わらず90°位相を保っています。ですから、設計も製作も気楽そのもので、まったく無調整でいけます。こんなマジカルなものがあっていいのかと感じたりもしますが、RCポリフェーズフィルタは電気回路における螺旋構造を通るうちに位相が等分割されるという、異なるスキームによるものだから、あってもいいのだと思います。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック