MastHead

広帯域 90 度位相差のRC回路網



音声周波数帯域で、比較的広い周波数に亘って 90 度の位相差を持った信号を作りたいときがあります。
私が貧乏学生だった頃は、SSB の信号を作り出すのにメカニカルフィルタが高価で手が出なかったため、90 度位相差を使って合成する実験をしていたものです。

特殊な音響効果を作り出したいときもこの回路が使えます。

右の特性は後で紹介する一番単純な、4次の RC 回路網での位相特性です。 黄色い線が 15 倍程度の周波数帯に亘ってほぼ 90 度の位置にあることが分かります。 二つの RC 回路網 A と B を使いますが、A の位相が低いところから遅れ始めて、まっすぐ落ちていきます。 B 回路がそれに従属して落ちていきます。 それらの差が一定になるように設計します。

広帯域といってもまあ 10 倍から 500 倍程度の話をしています。 また、正確に 90 度ではなく、1-2 度の誤差を持っています。


今ではオペアンプが安価に出回っていますので、それを使うことが多くなってきました。
右の回路はオペアンプで 90 度遅れか進みの信号を作り出すことができる回路です。
ちなみに、遅れの回路では下のようにゲインが一定で ω = 1 のところで 90 度遅れる特性になります。 広帯域にするには何段か従属接続するわけです。




下の抵抗とキャパシタのラダー回路は正相と逆相の入力を使った RC ポリフェーズフィルタ回路で、アマチュア無線家が考え出したものです。 10% 誤差の RC を使っても -60dB の逆サイドバンドのサプレッションが得られると謳われていました。  300 - 3000 Hz で設計されています。



-----------------------
ご紹介したいのはもっと単純な回路です。  下の参考文献2を使いました。 (ただし、その文献は重大な間違いが多いので修正しながら使いました)
入力には逆相の信号も必要です。
エクセルマクロも付けておきますので、ご自分で任意のバンド幅と周波数とインピーダンスレベルの設計ができます。

これです ==> ver 2.4

このページの最初にお見せした特性図は右の4次の回路です。

6次と8次の回路も掲載します。 いずれもエクセル上で RC の値が決定できます。

次数が高くなるほど広帯域で、位相の誤差が小さくなります。 しかし素子の数が増えます。
マクロを公開していますので、どうやって計算しているか、おおよそ見当が付けられるでしょう。
位相の誤差が上側と下側で同じになるように、かつ、周波数が動いたときのリップルも同じになるように、 さらに、 A 回路と B 回路の減衰が同じになるように、、、、というややこしい計算です。
4次式を1次の因数に分解する方法は参考文献中に無かったので、私が勝手に工夫したアルゴリズムを使っています。

図の左側の、出力にターミネータがない回路で計算した後、アドミタンスの一部をターミネータに変換して右側の回路を計算します。


6次の回路については、個人的にはあまりお勧めしません。  信号源から見るとキャパシタだけの負荷になってしまいますから、高い周波数で駆動が不利になります。

8次でバンド幅を 100 に取ったときの特性例を右に示します。
これは位相差の図です。 ゲインの方は -20.2dB で全周波数で一定になります。
位相の誤差は 最大でも 0.31 度に収まっています。 RC の値は下の通りです。


この回路では A も B の同じ次数の遅れを使っていますが、片方だけ次数を一つ多くすることもできます。 帯域がわずかに広くなります。   どなたか理論式まで考えてみませんか? (私はやめておきますが)
片方の次数を一つ多くした場合は、限界周波数の上側か下側での位相差の誤差は下の方に逃げていくカーブになります。
下の参考文献の1はそうした奇数次の回路も扱っています。 回路は上記とは異なっています。


[参考文献]
1. Proceedings of IRE, vol 42, pp.671-676, Apr. 1954
     "Design of RC Wide-Band 90-Degree Phase-Difference Network"
     by D. K. Weaver, Jr
2.IEEE Transaction on Circuit Theory, Vol CT-16, No. 2, pp.189-196, May 1969
     "Computation Methods for Broad-Band 90°Phase-Difference Networks"
     by W. J. Albersheim and F. R. Shirley


My corrections to the second document follows:

1. page 192:    The line above eq.(36a) says "H and b1". It should be "H and bi".
2. page 192, the line above eq.(39):
          beta2 >= beta1, beta4 >= beta3
    should be in the opposite way, i.e.
          beta1 >= beta2, beta3 >= beta4.
3. p192, eq.(39):    "H" is missing on the right side.
4. p194:     Eqs.(53d), (53e), (53h), and (53i) should be corrected as follows:
      g3 = g7*((β3+β4)*h3-h3^2-β3*β4)/(h3*(h3-h4)) ...(53d)
     g4 = (β3*β4*g7-h3*h4*(g7+g3))/(h3*h4) ............(53e)
     g1 = g8*((β6+β7)*h1-h1^2-β6*β7)/(h1*(h1-h2)) ...(53h)
     g2 = (β6*β7*g8-h1*h2*(g8+g1))/(h1*h2) ............(53i)
5. p194, the line above eq.(52):     The sequence of beta should be as follows:
         beta2 >= beta3 >= beta1 >= beta4          beta6 >= beta7 >= beta5 >= beta8


1つ目の論文は IRE を引き継いだ IEEE から紙のコピーで購入できます。
2つ目の論文は IEEE から PDF で購入できますが、もしお読みになるのでしたら、いくつか注意が必要です。  以下、その論文に対する私のコメントです。

1.p191、 紛らわしいですが、式 (22) の中の d と 式 (24) の d とは別物です。
  前の d は下限周波数での位相誤差指数で、後者は次に極小になったときの、
  逆方向の位相誤差指数です。 y を動かして、この2つの d が同じになるよう
  な y の値を見つけます。
2.p192、 式 (36a) の上の行に "H and b1" とありますが "H and bi" の間違いです。
3.p192、 式 (39) のすぐ上の行の2つの不等号がどちらも逆になっています。
  このままでは矛盾があって、式 (40d) と (40e) が成立しません。
4.p192、式 (39) の右辺に H を掛けるのが忘れられています。 このままでは
  (36) と等価になりません。
5.p194、 式 (53d)、(53e)、(53h)、(53i) はこのままでは所望の位相特性が得ら
  れません。 次の式を使うとうまくいきます。 (私が作りました)
      g3 = g7*((β3+β4)*h3-h3^2-β3*β4)/(h3*(h3-h4)) ...(53d)
     g4 = (β3*β4*g7-h3*h4*(g7+g3))/(h3*h4) ............(53e)
     g1 = g8*((β6+β7)*h1-h1^2-β6*β7)/(h1*(h1-h2)) ...(53h)
     g2 = (β6*β7*g8-h1*h2*(g8+g1))/(h1*h2) ............(53i)
  6.p194、 式 (52) の上の行に書いてあるβの大小関係ですが、このままでは一部
  の素子が負の値になってしまいます。 β1~β4 について解析しますと、24 通り
  の組み合わせの内、6 通りが正の素子値を与えることが分かります。 その 6
  通りの内、下のものが素子値が 1 から大きく乖離しなくて使い易いようです。
  β5~β8 も同様です。
          β2 ≧ β3 ≧ β1 ≧ β4        β 6 ≧ β7 ≧ β5 ≧ β8
7.p194、 式 (48a) 以下で Hmax を求めています。 A側もB側も3次の曲線になり
  ますが、重根の位置が両側で一致する Hmax を使います。
8.p195、 式 (56) の so の6次式は解が6つ出ますが、そのうちの h > 1 を満足させ
  るものは so の負の領域にある3つのうちのまんなかのものです。

え? この、私の修正などが正しいかどうか疑問ですって?
私も最初自信がなかったのですが、大丈夫です。  実は、グラフを出しているのは式からではなく、求まった値を使った回路解析からなのです。 最終のものを使って位相差を計算していて、それが 90 度になっていますので、「絶対大丈夫」と言うことができます。

ちょっとこの間違いについて想像をたくましくしてみます。
3は誤植かもしれませんが、5、6、の間違いはとても誤植とは思われません。 式が全く異なっているからです。  なぜこのような、意図的と思われる間違いが埋め込まれているのでしょうか。 興味が沸きます。
時代背景は 1969 年ですから東西冷戦の真っ最中です。  1957 年のスプートニクショック以後、ソ連の技術的優位に対してアメリカは自国の技術を優位に保つためにあらゆる努力をしている時代です。  その中で、IEEE 論文に対する圧力もあったかもしれませんね。
論文の権威を下げず、かつ、利用者には内容を隠しておく、という矛盾を両立させた見事な例です。  それを IEEE という大舞台でやっているのですから、芸術的ですらあります。



[2009 年 1 月 10 日、追記]
電気学会電子回路研究会の 2008 年 6 月発表会で北見工業大学の谷本洋氏他が論文を出しておられます。   タイトルは「広帯域 90度移相回路における素子値のばらつきの一検討」です。
論文整理番号は 「ECT-08-52, 2008年6月」 です。

それによりますと、移相差やゲイン誤差を指標としたときの素子感度は、上記の参考文献2を使った方法よりも、 その上に書いてある RC ポリフェーズフィルタの方がよい結果を示しています。
基本的な概念としては、多くの素子を対等に使っていますから、一つずつの寄与を分散することができます。  なので、少しの狂いがあっても埋没しやすいのでしょう。  また多くの素子が(対等な動作の場所に)あると、それぞれがガウス分布のように誤差が広がったとき、お互いが補償しあうようにもなります。  賢いやりかたですね。


[2019 年 8 月 22 日、追記]
回路定数はかなり精密な値を要求しています。
Forum にお越しの方から、E96 系列相当の精度の抵抗値を2パラや3パラで実現する計算を行うサイトを紹介いただきました。
https://blogs.yahoo.co.jp/gggravity/archive/2017/8/20
http://kmnk3.homeip.net/reg.html
です。  後者についてはクッキーを許可しておくと最初に入力したリストが記憶されますので便利です。