TNJ-018:帰還回路の位相余裕が同じならオーバーシュートはいつも同じか?
2016年4月28日公開
はじめに
一般的に2次系帰還回路において、周波数特性と位相特性そしてオーバーシュートは、相互に関係しているものとして(例えば図1に示す参考文献[1])回路検討・回路評価に用いられます。
果たしてこれは「いつでも必ずそうだ」と言い切れるでしょうか。本稿を読み進める前にちょっと考えていただければ幸いです……。
なんだ?・・・、これはおかしい
「位相余裕=オーバーシュート量」…「必ずそうなる」と思っていた(思い込んでいた)私は、とある日、とある記事のためOP1177を使って、とある実験をしていました。ところが一般的に紹介されている、参考文献[1]にもある位相余裕量とオーバーシュートの計算式(Appendixにも示します)と、実験結果が合わないのです。「理論通りで誤差だろう」と見逃す寸前でしたが、やっぱりおかしいと思い、シミュレータを使って詳細を検討してみました。なんとシミュレータでも「正しく実験結果どおり」の答えが出たのです。頭の中がより混乱してきてしまいました。
以降いろいろ検討していった結果が本稿です。終わって最後に考なおしてみれば(最後にも示しますが)、「当たり前といえば当たり前。よく考えれば当然」な答えだったのですが。
ビジネス文書の基本は答えを書くのだ
と、学校を卒業して会社に入ると先輩に言われるものです。この技術ノートの答えを最初にここで書いておくと、「同じにはなりません」です。そしてとても単純な話だったわけでした。測定する箇所で異なるというと良いでしょうか。詳しくは後半を読んでください。
ところでこの「答えを最初に書け」は大学のレポートでの書く順番として「結果と考察を最後に書くのだ」と教わってきた私には衝撃でした(さすがに今は当たり前のことだと思います)。
といっても学術論文や書籍や記事、そしてプレゼンテーションでも「つかみ」が大事です。出だしでうまく「答えを最初に」のエッセンス(すべて言ってしまってはつまらないのですが)を読者や聴衆にメッセージとして伝える必要があります。これは学術論文の場合は「落とされる(reject)」ので、死活問題ですが(笑)。
しかし新橋のオヤジ居酒屋の夜は更けてゆく
弊社の目の前「ゆりかもめ竹芝駅」から、ゆりかもめ2駅で新橋駅です。この「オヤジの聖地」の居酒屋では、「答えを最初に出せ」ではなく、答えにならないような話が延々と続きながら(平日も含めて)夜が更けていきます。こんな感じでこの技術ノートも続けて行ってしまいましょう!

図1. 杉江, 藤田; フィードバック制御入門, コロナ社
位相余裕が無くなってくると動作が不安定になる
OPアンプは、フィードバック系…帰還系(負帰還)…つまり出力を入力に戻すことで、特性を向上させています。しかし位相余裕が無くなってくると、動作が不安定になってきます。
位相余裕は図2のようにこのフィードバックを切断して、切断した入力から先端で、この経路の開放利得(オープンループゲイン)AOLがAOL = 1(0dB)になる周波数で、位相がどれだけ回転しているかを考え、これから「発振条件から余裕があるか」を求めるものです。それにより、いかにOPアンプのフィードバック系が安定であるかを判定します。
電子回路の書籍にも詳しく説明されていますが、弊社サイト上にあるものとしますと、
- AN-257 高速オペアンプを用いた設計での注意点
- Rarely Asked Questions...「高速トリプル・アンプの1つが発振します。どこが悪いのでしょうか?」
- MT-033 電圧帰還型オペアンプのゲインと帯域幅
などが挙げられるでしょう。
自動制御の参考書では、位相余裕と応答のピーク量とピーク・ゲインとダンピング・ファクタは、一意で決まっていると説明されています。たとえば図1の書籍(参考文献[1])の式(3.37)、式(3.38)、式(8.3)などです。
つまり「帰還回路の位相余裕が同じなら、オーバーシュートはいつも同じ」ということになりそうです。

図2. 位相余裕はフィードバックを切断し一巡ループでAOL = 1になる周波数で位相がどれだけ発振条件から余裕があるか
ふたつの回路…一巡伝達関数は同じはず
図3のようなふたつの回路を考えてみます。左は増幅系に利得Aと2次遅れ(τ1, τ2)があり、帰還系に帰還率β(抵抗のみ)がある場合です。2段めにA = 1のバッファがついていますが、OPアンプ出力にコンデンサ(たとえば容量負荷や同軸ケーブル)がついていることで1次遅れ(τ2)が形成されていて、そこに帰還回路が接続されている例でも同様に考えてよいでしょう。
右は増幅系に利得Aと1次遅れ(τ1)があり、帰還系に帰還率βと1次遅れ(τ2)がある場合です。この例は入力部分に浮遊容量がある場合として考えられるでしょう。
左右の回路ごとのそれぞれの1次系部分の時定数τ1, τ2は「それぞれ同じ」であるものとします。
ここでループを開いて、一巡伝達関数を考えてみると、どちらも同じはずですね。つまり2つの回路は「位相余裕は同じ」なのです。それでは回路の振る舞い(オーバーシュート)も同じでしょうか。

図3.二つの回路は一巡伝達関数で考えてみれば同じはず
位相余裕の実際のシミュレーション(測定)方法
位相余裕がどれだけあるか、求め方が意外と分からないという人も多いのではないでしょうか。以降では ADIsimPEを用いたSPICEシミュレーションで、OP1177というOPアンプを使って、開放利得(オープンループゲイン)と位相余裕の求め方を示してみたいと思います。
図4は非反転増幅 G = +10として作りこんだ回路です。仕上がり利得として(当然ですが)図5のように10倍、つまり20dBになっています。ここでOUT/INと見えるのは「Bode Plotter」というINとOUTのゲインと位相を表示できるプローブ機能です。

図4. OP1177で非反転増幅 G = +10とした回路

図5. OP1177で非反転増幅 G = +10(20dB)とした周波数特性
単にループを開くだけでは測定できない
開放利得(オープンループゲイン)と位相余裕は、図4のフィードバックを図2のように切断し、図6のようにして入出力間の特性、つまり開放利得を「考える/計算する」ことが基本です。
しかし実際の回路ではオフセットやバイアスの問題があるので、それが開放利得分だけ増幅されて出力に現れるため、大体の場合、出力電圧が「振り切って」しまいます。つまり開放利得を普通に、簡単に測定することはほぼ不可能ともいえるかと思います。

図6. 図4の回路を「開放利得(オープンループゲイン)」の考えどおりループを切断してみる
(これではうまくシミュレーションできない)

図7. 図6の回路のシミュレーション結果
(10mHz~10MHzでシミュレーション。下がゲイン、上が位相)
「シミュレーションなら理想で動くだろう」と思ったとしても、うまくいきません。この図6のように入出力間を開放してシミュレーションしても、図7のように(シミュレーションする周波数は10mHz~10MHzにしています)アンプ自体の利得が+56dB程度となってしまっています。
「OPアンプの開放利得が+56dB?」 概略60dBだとして考えても、1,000倍ですね。1,000倍というのはOPアンプの開放利得としては考えられない小ささです。OP1177の正しいDC利得は、データシートのように120dBです。シミュレーションが目的の答えを出していないということです。
ちなみにDC動作点解析で電圧マーカを使って、出力の電圧を測定してみると、3.8Vとなっており、出力が振り切っていることが分かります。これでは「ダメ」ですね。
ループを組んだままで位相余裕を測定する方法
ということで、これでは正しい答えが得られません。そこでシミュレーションであっても、本来の(現実の)OPアンプでの実験であっても、開放利得と位相を正しく求められる、「ループを閉じて開放利得を得る」方法を図8に、結果を図9に示します。これは「ミドルブルック法[2]」という方法の一部を用いたものです。
図9のシミュレーション結果では、DC利得が約110dB、1次(1st)ポールが0.5Hzに出来ていて、2.7MHzを超えるあたりで2次(2nd)ポールが出来ていることが分かります。ここではβ = -20dBになっていますので、OP1177単体のDC利得は約130dBになっていることも分かります。
これから位相余裕を判定するには(簡単な話で)、まず開放利得が1(0dB)になった周波数を確認します。次にこの周波数での位相量を読みます。この位相量が位相余裕になります。

図8. ループを閉じて開放利得(オープンループゲイン)を得るシミュレーション方法


図9. 図8の回路のオープンループゲインのシミュレーション結果(上:位相、下:開放利得)
このシミュレーション(測定)方法の考え方
このシミュレーションの考え方を示してみたいと思います。図8と図10も合せてご覧ください。
図8では、電圧源V1が出力とフィードバック回路の間に接続されています。この電圧源V1を交流信号源としてみると、直流では信号が無いわけで、なおかつ電圧源は(回路理論では)ショートと同じだと置き換えることができます。
つまり直流でこの回路を考えると、電圧源が全くない、+入力をゼロボルトとした10倍の非反転増幅回路になります。定常状態として、ここでバイアス(ゼロボルトですが)されている、つまり「帰還系として系を閉じた状態になっている」わけです。
接続した交流電圧源はグラウンドからフロートしている
次に交流の視点で考えます。図10のV1の両端に電圧(端子Voutと端子Vfb)が発生します。このV1のグラウンドレベルは規定されていない(というより上記のバイアスで決定する)わけなので、V1の両端はV1で発生する電圧振幅で、それぞれスイングすることになります。
V1の両端を、今度は逆にグラウンドを基準とする2つの電圧源(グラウンド基準のVoutとVfb)として考えれば、帰還回路βに入力される電圧Vfb(図10では電圧源V1の下側の端子)とOPアンプからの出力電圧Vout(図10では同じく上側の端子)が、ループを開いた状態として、入出力の関係を示していることに置き換えることができるわけです。以降にも示しますが、Vout-Vfbで計算してみるとV1の電圧値になります。
トランジェント解析の波形で考え方を確認してみる
このようすをADIsimPEのトランジェント解析を用いて確認してみます。図10~図12をご覧ください。図10をオープンループゲインが6dBになる周波数(72.766kHz, 図11)と0dBになる周波数(145.11kHz, 図12)でV1を励起して、VoutとVfbをトランジェント解析として波形を示したものです。Vout-Vfbとしてシミュレータ上で計算してみると、V1の電圧1Vになっていることが分かります。
図10でV1が無いものとしてVfbから信号を入れて、Voutまでのゲインを計算していると考えれば、これはそのままオープンループゲインを求めること(Vout/Vfbを計算すること)と全く等しいことが分かります。V1という信号源ではなく、グラウンド基準で考えたVoutとVfbがあるのだ、と拡張して考えれば、この方法でよいことが理解できるのではないでしょうか。
それでは実際の波形を見てみましょう。まずは図11の「オープンループゲインが6dBになる周波数(72.766kHz)」です。Vfbに対してVoutが2倍、つまり+6dBになっていることが分かります。つづいて図12の「0dBになる周波数(145.11kHz)」では、VfbとVoutが等しい状態(Vout/Vfb = 1)になっています。つまりフィードバック系としてここで確かにオープンループゲインが0dBになっていることが分かります。
トランジェント解析の波形で位相余裕を測定する
図12の周波数(145.11kHz)でVfbからVoutの「進み位相」となる大きさが「位相余裕」になります。マーカで測ってみると86.7°という答えになりました。
図9の周波数特性と比較してみると、図9で示したオープンループゲインが0dBになる周波数(同図の下側)が145kHz前後であること、そして図12の145kHzでの結果Vout/Vfbがぴったり1になっていることが確認できます。
そしてそのときの位相、つまり位相余裕が図9では90°前後になっているものが、図12の結果とぴったり同じであることも分かるかと思います。
このようにVout/Vfbとして計算することで、ループの切れる周波数と位相余裕を求めることができます。図8のようにBode Plotterを接続すれば、この計算を自動的にやってくれることになるわけです。

図10. ループを閉じてオープンループゲインを得るシミュレーションの基本的な考え方
図11. 図10の回路でV1の周波数を72.766kHzとしたときの各端子の波形

図12. 図10の回路でV1の周波数を145.11kHzとしたときの各端子の波形
位相余裕が同じでもオーバーシュートが同じにならないぞ!(まず位相余裕を確認)
それではいよいよ(新橋の夜も更けてきたということで!)本題に入っていきたいと思います。
ここまではOP1177の開放利得(オープンループゲイン)と位相余裕を単純にシミュレーションしてきました。OP2177のGB積は1.3MHzです。一方で図9のシミュレーション結果から、2ndポールは2.7MHzを超えるあたりにあることが分かり、これではどんなゲイン条件でも(OP1177のGB積である1.3MHzの周波数以下では)位相余裕が90°程度あることになり、本題の検証試験とはなりませせん。
無理やり位相余裕を減らした回路を作ってみる
そこで図8の回路に1次遅れ要素をつけて、位相余裕をむりやり減らしてみます。図11の回路図をご覧ください。ここでは仮に2ndポールとして、82kΩと100pF(-3dB周波数19.4kHz)を挿入して「強制的に影響を与えるように」してあります。なおこの回路で形成されるインピーダンスが帰還回路R1, R2に影響を与えないように、理想バッファ(LAP1)をはさんであります。このバッファの出力が「2次の遅れをもつOPアンプ」の出力に相当すると考えてください。
図13. R3 = 82kΩとC1 = 100pFの遅れ要素を接続してむりやり位相余裕を低減させた(トポロジー1)
トポロジー1の位相余裕を求めてみる
この図13の回路を「トポロジー1」とします。これは図3の左側に相当します。これをここまで説明した方式で(ループを閉じたやり方で)開放利得(オープンループゲイン)と位相余裕をシミュレーションしてみます。


図14. 図11の位相遅延を増やした回路(トポロジー1)のオープンループゲイン(上:位相、下:開放利得)
結果を図14に示します。下側の利得のプロットのように、大体51kHz付近でAOL = 0dBとなっています。上側の位相のプロットで、この周波数での位相余裕をマーカで読み取ります。大体20°の位相余裕があると答えが出ています。
トポロジー2の位相余裕を求めてみる(1と同じだ)
つぎに二つめのトポロジーです。これを「トポロジー2」とします。図15の回路図をご覧ください。これは図3の右側に相当します。図13の回路で2ndポールとして接続した82kΩと100pFの時定数は8.2μsでした。今度はこの遅れ要素をR1, R2帰還回路に割り振った場合で考えてみます。
図15の帰還抵抗はR1 = 9kΩとR2 = 1kΩです。合成抵抗としてみてみると、テブナンの定理を使って900Ωに相当する抵抗ぶんになります。これで8.2μsの時定数を実現するには、9.111nFのコンデンサを図の位置に接続すればよいことが分かります。
図15の回路でシミュレーションしたものが図16です。計算で設定したとおりの結果として、図13(トポロジー1)の下側の利得のプロットと同じように、大体51kHz付近でAOL = 0dBとなっています。上側の位相のプロットでも同じように、この周波数での位相余裕を求めると、図13と同じように、大体20°の位相余裕があると答えが出ています。
これらのふたつの回路では、位相余裕は同じであることが分かりました。ここで最初のタイトルに戻って、さて「位相余裕が同じならオーバーシュートはいつも同じか?」です。

図15. R1 = 9kΩとR2 = 1kΩの間にC1 = 9.111nFの遅れ要素を接続して図13と同じ時定数にしてみた(トポロジー2)


位相余裕が同じでもオーバーシュートが同じにならないぞ!(オーバーシュートを求めてみる)
それでは今度は、これらのステップ応答を求めるために、ADIsimPEをトランジェント解析で動かしてみます。
トポロジー1のオーバーシュートを求めてみる
図13のトポロジー1から回路構成を変えて、図17のように非反転入力に0.1V pkのクロック入力を入れて、これをステップ入力と仮定してシミュレーションしてみます。出力は10倍になります。
図18のように位相余裕が20°の状態でオーバーシュートが50%程度になっています。これが通常、書籍や教科書で見るところの位相余裕とオーバーシュートの関係です。
この関係を式としてAppendixに詳しく求めてみましたので、ご興味ある方はそちらを是非ご参考していただければと思います。
トポロジー2のオーバーシュートを求めてみる
今度はトポロジー2の回路です(図19)。シミュレーション結果の図20のように、トポロジー1/2で位相余裕が同じ(図14/図16でともども20°であること)にもかかわらず、非常に大きな、280%程度のオーバーシュートが観測されています。
トポロジー1と2で回路の振る舞いが変わるわけです!これはなぜでしょうか…。「位相余裕が同じでもオーバーシュートが同じにならない」のでした。繰り返しになりますが、自分も嵌り(はまり)ました…。でもよく考えれば、これは…、とっても当たり前のことだったのでした。

図17. 図13の回路(トポロジー1)にクロック入力をステップ信号源として加えてステップ応答を確認する

図18. 図17の回路(図13トポロジー1)のステップ応答

図19. 図15の回路(トポロジー2)にクロック入力をステップ信号源として加えてステップ応答を確認する

図20. 図19の回路(図15トポロジー2)のステップ応答
オーバーシュートが同じにならないのを数式「的」に考えてみる
さてここまでで、同じ位相余裕でもトポロジーにより、オーバーシュートの大きさが異なるところを見てきました。それでは数式的(「的…」です)に説明していきたいと思います。
式を「こねくりまわして」いますが、結果はとても単純な話です。最後だけ見てください。
閉ループ伝達関数として考える
図3に戻って考えてみます。図13, 15, 17, 19の二つのトポロジーは、1次遅れ要素が(τ1、τ2として)ループの一巡経路に入っています。τは一次遅れ系の時定数を表していますので、τ=CRになります。τ1、τ2それぞれの遅れ要素による伝達関数をラプラス演算子で表すと
となります。いっぽう、OPアンプの単体のゲインをAOP、帰還率をβとすると、この系でループを閉じた閉ループ伝達関数(つまり入出力の伝達関数)ACLは
で表されるのは良くご存じのことかと思います。
トポロジー1の閉ループ伝達関数
いま、図13, 17(図3の左側)のトポロジー1のように、二つの1次遅れ要素(τ1、τ2として)がフォワードA側に2段入っている状態を考えます。こうするとAOPはτ1とτ2による2次の周波数特性要素をもつことになります。つまり
ここでADCはOPアンプのDC利得(OP2177では130dB)、τ1はOPアンプが本来もつ、1次遅れの特性と考えてもらえればよく、図9のOP1177のシミュレーション結果で「1次(1st)ポールが0.5Hzに出来ていて」というものに相当します。τ2は付加的についた遅れ要素になります。
これで帰還率をβとして、閉ループ伝達関数(つまり入出力の伝達関数)ACLの式に代入してみると、
フィードバック(帰還)側βは抵抗分圧だけですから、β = constです。これまで分圧比をβ(たとえば1/10)としたものです。この式展開はここで止めておきましょう(汗)…。トポロジー2との比較だけの話ですから…。
トポロジー2の閉ループ伝達関数
つづいて図14, 18(図3の右側)のトポロジー2のほうは、1次遅れ要素がフォワードA側に1段です。こうするとAOPは1次の周波数特性要素をもつことになり
一方、こんどはフィードバック側βに1次遅れ要素があります。つまり帰還回路が周波数特性をもっているということです。これをラプラス演算子sで表すと(β(s)としてsの関数で表すと)
ここでβDCは帰還回路のDC帰還率(ここまでの説明では1/10、つまり-20dB)です。これで閉ループ伝達関数(つまり入出力の伝達関数)ACL の式に代入してみると、
となり、上の式と伝達関数が異なっていること、 1/(sτ2+1)の項が減っていることが分かります。
トポロジー1/2の閉ループ伝達関数は異なっている!
このようにクローズド・ループとして系を閉じると、ふたつの閉ループ伝達関数は、「同じではない」ということになります。ご存じのこの式を示せば「なーんだ。この技術ノートの話は、単純なことじゃないか」と気がつかれる方も(既に気がつかれている方も)多いかと思います。
これらをそれぞれ、1/sをかけてステップ応答を求めると、当然応答(オーバーシュート)が異なるわけですね。
逆にたとえば、 ACL(2)(s)に、1/(sτ2 + 1) を掛ければ(出力に時定数τ2を接続すれば)、当然トポロジー1の応答になるわけです。分かってしまえば「なーんだ」の答えなわけです。ところがこれは意外と気がつかないところではないでしょうか(自分も嵌まったわけでした ^^;)。
また「トポロジー2の出力に時定数τ2を接続すれば」というのは、振幅レベルは変わりますが、トポロジー2の反転入力端子での応答を見るのと同じことなわけですね。これをシミュレーションしたもの(図19の反転入力端子の応答を観測したもの)を図21に示します。
これらのシミュレーション結果は、最初に示した「とある記事のためOP1177を使って」の実験で得られた波形とほぼ同じものでした。目出度しめでたし、と言ってよいのでしょうか…。

図21 トポロジー2で非反転入力端子を観測した。トポロジー1と同じステップ応答波形になっている(振幅レベルは1/10)
考察してみる
図3をあらためて図22に書き直して示してみます。最初の話のように、制御理論の教科書では、フォワード側Aに遅延要素があるモデルで考えています。しかしOPアンプの場合は、外部に(トポロジー2のように)、帰還系 側に位相遅れ要素があるケースが多いといえるのではないでしょうか。たとえば入力浮遊容量だとか位相補償などが考えられると思います。
つまり図22の右側のケースが多くなり、結果的に位相余裕とオーバーシュートが教科書の説明にあるような関係の1対1では、「合わない」ということになってしまうわけです。
ここであらためて「制御理論」などと大上段に構えず、「ふつーの回路である」として見てみます。
図22の左の回路(トポロジー1)ではOPアンプの増幅段Aのあとにτ2のローパスフィルタがあるわけですから、当然増幅段A出力のオーバーシュートは軽減されて、図の右側の1倍のバッファ出力には低いオーバーシュート量の波形が得られることは、直観的にも理解できることではないでしょうか。
「とある同人誌」にも、このネタの一部を投稿してみました。送られてきたその冊子を見ると、通常は私のネタは末尾の方に掲載が多い(つまりゴミ)のですが、今回ばかりは3人目だったのでした!先達の選者の方が興味を示してくれて大変うれしく思いました (^o^)。

図22. 図3をあらためて書き直してみる
付録
2次遅れフィードバック系の位相余裕とダンピング・ファクタζとステップ応答の関係
参考文献
[1] 杉江 俊治; フィードバック制御入門 (システム制御工学シリーズ), コロナ社
[2] R. D. Middlebrook; Measurement of Loop Gain in Feedback Systems, Int. J. Electronics, 1975, Vol. 38, No. 4, pp. 485-512.
著者について
デジタル回路(FPGAやASIC)からアナログ、高周波回路まで多...
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}