エンドレス移相器

RCポリフェーズフィルタを使った移相器に関する記事はいくつも書いてきましたが、今回のはちょっと進化しています。30kHzから300kHzの範囲でほぼ90˚位相を維持するだけでなく、ゲインも0dBを維持します。



昨年末のホモダイン、ヘテロダイン、周波数変換などの実習授業で、ロックインアンプの部分はNF回路設計ブロックさんにお願いして最新のLI5600を使ったセミナーをやっていただきました。その際にロックインアンプで位相を検出してみるという実験のためにこの移相器を作りました。実際にはファンクションジェネレータで同一周波数で位相が違う正弦波を出力させて、それを検出するという実験で十分だったので、ほとんど作ってみたかったから作ってみたようなものです。

RCポリフェーズフィルタはRとCの値を全部同じにすると、90˚位相になる周波数は厳密には1点になりますが、回路の回転対称性によってけっこう広い範囲で90˚位相に近い位相シフトが実現します(これを使った旧歩堂の記事)

Rの値は全段一緒のままでCの値に変化を付けることによって、さらに広い範囲でほぼ90˚位相を実現できます(それを使った旧歩堂の記事)。ところがCの値だけ傾斜させると振幅がフラットでなくなるので、上に引用しているqhodoの記事でも周波数と振幅の関係をマイコンで記憶させておいて補正するということをしていました。今回はRC両方ともうまく傾斜させることで振幅ゲインもフラットにすることができました。

まずRCの片方だけ変化させた場合の回路と位相特性と振幅特性を見ていただきましょう。

画像


画像


画像


位相が90˚に分割される周波数領域でゲインが下がっています。ここではCを一定にしてRに変化を付けましたが、Rを一定にしてCに変化をつけても同じようにゲインが下がります。これは入力側から見て出力側のインピーダンスが低いために負荷が重くなっているのだと思われます。では負荷を軽くするために各段に0dBのバッファを入れたらどうなるかシミュレーションしてみました。

画像


画像


画像


こんどは位相が90˚に分割される周波数領域で振幅ゲインが盛り上がりました。ということは、バッファ付きとバッファ無しの中間にゲインがフラットになる負荷の重さがあるに違いないと思われます。RとCの両方を調節することでそれを実現できるかもしれません。あとはシミュレータを使って試行錯誤をしていったら、ほぼフラットにすることができました。ついでにRとCの値は入手しやすい値から選んでいます。その結果を示します。

画像


画像


画像


ゲインがうねっていますが、縦軸を見れば1から1.01の範囲でのうねりに過ぎません。

さて、これを使ってどうやってエンドレスに位相を回す回路に仕上げるかというと、基本的なアイディアは上で引用している2つの記事と同じで、90˚に分割された信号それぞれにサインθとコサインθをアナログ乗算して足し合わせます。その際にアナログ乗算器を使う方法と4象限乗算型DACを使う方法があります。今回はなるべく単純な回路にしたいので乗算型DACを使いました。

画像


4象限の乗算型DACというものは普通、アナログ入力(というかレファレンス電圧)に関してはAGNDより正でも負でも入力でき、それに対してデジタルコードを乗算した電流を出力します。電圧に変換するためにはオペアンプを外付けするタイプが多いです。DAC内部のR-2Rネットワークを構成する抵抗の絶対精度はあまり高くないけれど、相対的な比はよく合っているという性質があるので、外付けのオペアンプに使うフィードバック抵抗はDACに内蔵されているのが普通です。

今言ったようにアナログについては負の電圧も入力できますが、デジタルコードの方は例えば10ビットの場合にはアナログ信号に0から1023のいずれかを乗算してくれるという意味であって、-512から511のいずれかを乗算してくれるわけではありません。このままでは2象限乗算になってしまいますから、4象限にするには外付けオペアンプで電圧変換された出力信号から入力のアナログ信号を半分引き算する必要があります。

だからDAC1個につきオペアンプが2個必要になります。以前の記事ではある意味馬鹿正直にそれを行っていましたが、今回はRCポリフェーズフィルタには互いに逆位相の出力信号があることを利用して、オペアンプの数を激減させることに成功しました。

今回の装置は電池またはACアダプタで駆動したいので、アナログ回路は電源電圧の中点をボルテージフォロワでバッファしたものを接地とみなして動作するように設計しました。AD5544は16ビットの乗算型DACが4個入ったICですが、この回路図ではAD5544の絶対最大定格を逸脱する使い方をしているので、このまま真似するかどうかは慎重にお願いします。

というのは、今回の回路ではDACのAGNDも電源電圧の中点に接続するのが自然です。しかしそうするとDGNDとAGNDの電位が違ってしまいますが、AD5544のデータシートによるとAGNDの電位はDGNDの±0.3V以内にでなければならないことになっています。乗算型DACではAGNDの電位はDGNDとVDDの間のどこでも良いはずだ、と思い込んでいたし、実際MAX7545などはそうなっていますので、AD5544ではそうではないというのは後で気づきました。しかし、データシートが間違っているんじゃないかと思うくらい何の不具合も無く使えています。他のICに変更するのが正しいのでしょうが、AD5544が昨秋閉店した鈴商で安く買えたこともあるし、結果オーライということでそのままにしてあります。

さて、DAC周辺の動作を説明します。AGNDを電源の中点に持ち上げたので、RCポリフェーズフィルタから出力される正弦波はAGNDに対して上下に振れます。一方、デジタルコードは片極性なので、通常は上に書いたように入力信号をオペアンプで引き算する必要があります。ところが、RCポリフェーズフィルタには90˚毎の出力がありますから、たとえば0˚の成分の寄与が負になる場合は代わりに180˚成分に正のゲインを掛けて足せばいいことになります。言うまでも無く90˚成分と270˚成分についても同様です。その結果、4つのDACの出力電流を全部合成するだけでよいことになります。フィードバック抵抗は4個内臓されていますが、1個だけ使えばちょうどゲインが1になります。4回路入りのICのためフィードバック抵抗の値もよく一致しているので、どれを使ってもOKです。



ブログ気持玉

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

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

→ログインへ

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

気持玉数 : 1

なるほど(納得、参考になった、ヘー)

この記事へのコメント

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