sanguisorba が 2021年05月09日20時52分33秒 に編集
コメント無し
タイトルの変更
ラプラス変換による電気回路解析 - RC, RLフィルタ
RC, RLフィルタをラプラス変換で解く
タグの変更
Wolfram
本文の変更
これの続き Wolfram Engine + Jupyter notebookで回路解析 (Windows) | elchika https://elchika.com/article/ef587a27-9e1e-4c10-820d-070477c3cb1f/ ## 前書き ラプラス変換はコンピュータで計算できるため非常に便利ではありますが、割と一長一短なところがあります。 * ラプラス変換の長所 コンピュータに解かせる事ができる。 フェーザ法では適応できない交流以外の入力に対して対応できる。 * ラプラス変換の短所 コンデンサに電荷が蓄えられている状態を解析するのが困難。 コンデンサに電荷が蓄えられている状態を解析するのは微積のほうが楽です。 これは、コンデンサが含まれる回路では電荷に関する微分方程式を解くため、電荷の初期条件を適用するのが容易(というか必須)だからです。 ゆえに、初期条件でコンデンサの電荷が0となっている状態の回路でないと解析は難しいです。 今回はラプラス変換を用いると瞬で解ける例としてフィルタ回路を紹介します。いずれもコンデンサの電荷は初期状態で0とします。 復習ですが、ラプラス変換によるs関数を用いたインピーダンスは次のようになります。 * 抵抗: $R$ * コイル: $sL$ * コンデンサ: $\frac{1}{sC}$
## ゲインのプロット方法 ``` Plot [NMaxValue[(50000*2*π*x*Sin[2*π*x*y]-(2*π*x)^2*Cos[2*π*x*y])/(5000000000+2*(2*π*x)^2),y],{x,1,50000}, PlotRange ->{{0,50000},{0,0.5}}] ``` ![前回のグラフ](https://camo.elchika.com/18f051019f8de5d3c76b4ae4d10a1bc93d86aef0/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f39323631353836652d626336342d343538642d383135382d383030616235666635633831/) ゲインは振幅比に対して $$G = 20 log_{10} A$$ ですから、まずゲインの式を適用します。ゲインは0以下となるのでPlotRangeを{-30,-0}とすると次のようにプロットできます。 ``` Plot[20*Log10[NMaxValue[(50000*2*π*x*Sin[2*π*x*y] - (2*π*x)^2*Cos[2*π*x*y])/(5000000000 + 2*(2*π*x)^2), y]], {x, 1,50000}, PlotRange -> {{0, 50000}, {-30, 0}}] ``` ![キャプションを入力できます](https://camo.elchika.com/fcceb1ede7fe95fb24a965c6246e707422d416da/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f64663633373662302d326164612d346435342d623930392d343463313864333637383435/) 軸が正方向にしか出ていないのが気持ち悪いので[Frame](https://reference.wolfram.com/language/ref/Frame.html)を適用します。オプションに以下の記述を追加すると次のように出力されます。 ``` Frame -> True ``` ![キャプションを入力できます](https://camo.elchika.com/fadf1b6b24800decb7a8af285647ff37bd6d9cfe/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f38613634393761322d613236312d343239352d396234342d343839376631353537353935/) Wolframにはy軸を対数軸とする[LogPlot](https://reference.wolfram.com/language/ref/LogPlot.html)というものが用意されていますが、x軸のみを対数軸とするものは用意されていません。 x軸のみを対数軸とするには、オプションに[ScalingFunctions](https://reference.wolfram.com/language/ref/ScalingFunctions.html)を追加すると解決できます。 ``` ScalingFunctions -> {"Log10", None} ``` ![キャプションを入力できます](https://camo.elchika.com/a30756b6a935588738558c2b2e7a5fd228b9b5d9/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f39343233303065382d653839332d346433372d613734332d326563333565663561373763/) あとはPlotRange を調整して、更に線の色を赤色に変更すると最終的に以下のように出力できます。 ``` Plot[20*Log10[NMaxValue[(50000*2*π*x*Sin[2*π*x*y] - (2*π*x)^2*Cos[2*π*x*y])/(5000000000 + 2*(2*π*x)^2), y]], {x, 1,100000}, PlotRange -> {{1000, 100000}, {-30, 0}}, Frame -> True,ScalingFunctions -> {"Log10", None}, PlotStyle -> Red] ``` ![キャプションを入力できます](https://camo.elchika.com/f0a315857aff8c6904ea0a4777956e777542bcd1/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f38636164336166652d663662372d343331392d616334352d643532626362396438366164/)
## "RR"フィルタ 今回はRC, CR, RLフィルタを解析していきますが、その前に"RR"である状態を考えます。 ![キャプションを入力できます](https://camo.elchika.com/ccf9f10bb8fbc4715921d532458839cb2f2a7b7a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f34323133353034352d353837632d343066652d393638322d613932323939366262346161/) この時、出力される電圧$V_{OUT}$を考えてみると、分圧抵抗から $$V_{OUT}=\frac{R_2}{R_1+R_2}V_{IN}$$ となります。以降のフィルタ回路は全部分圧抵抗と同じ考え方となります。 ## ローパスRCフィルタ ![キャプションを入力できます](https://camo.elchika.com/4b0dea83da2afa13cddb93c4462b6e703a937833/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f36343437623139642d333230352d346361302d623465302d323530383238383238303036/) $$\mathcal{L}[V_{OUT}]=\frac{\frac{1}{sC}}{R+\frac{1}{sC}}\mathcal{L}[V_{IN}]=\frac{1}{sCR+1}\mathcal{L}[V_{IN}]$$ 入力電圧$V_{IN}= cos(\omega t)$とすると、 $$\mathcal{L}[V_{OUT}]=\mathcal{L}[cos (\omega t)]= \frac{s}{s^2+\omega ^2}$$ よって、 $$\mathcal{L}[V_{OUT}]=\frac{1}{sCR+1}\frac{s}{s^2+\omega ^2}$$ 逆ラプラス変換を行い、 $$V_{OUT}=\frac{cos(\omega t)+\omega CR sin(\omega t)-e^{-\frac{t}{CR}}}{\omega^2C^2R^2+1}$$ 定常解は $$V_{OUT}=\frac{cos(\omega t)+\omega CR sin(\omega t)}{\omega^2C^2R^2+1}$$ $C=100nF, R=1k\Omega$として周波数特性をプロットすると次のようにローパスである事がわかる。 ![キャプションを入力できます](https://camo.elchika.com/09f93c2b7e1561a216325678e6fbd13441edfa56/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f30303061643062342d646236302d343064382d393066322d353837613265326336616231/) カットオフ周波数は $$f_{0}=\frac{1}{2\pi CR}=\frac{1}{2\pi\times 10^{-7}\times 1000}=1592 Hz$$
ちなみにこの回路に直流1Vを入力した場合、すなわち、 $$\mathcal{L}[V_{OUT}]=\frac{1}{sCR+1}\frac{1}{s}$$ これに逆ラプラス変換をすると、 $$V_{OUT}=1-e^{-\frac{t}{CR}}$$ と求まり、わざわざ微積を用いなくてもコンデンサの充電時間の目安を簡単に計算できる。
## ハイパスCRフィルタ ![キャプションを入力できます](https://camo.elchika.com/9d42aa455a5c16288d89ebddd9f0d903c28b0798/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f38346539643538302d383836652d346364362d626561322d373033346331303237633566/) $$\mathcal{L}[V_{OUT}]=\frac{R}{R+\frac{1}{sC}}\mathcal{L}[V_{IN}]=\frac{sCR}{sCR+1}\mathcal{L}[V_{IN}]$$ 入力電圧$V_{IN}= cos(\omega t)$とすると、 $$\mathcal{L}[V_{OUT}]=\mathcal{L}[cos (\omega t)]= \frac{s}{s^2+\omega ^2}$$ よって、 $$\mathcal{L}[V_{OUT}]=\frac{sCR}{sCR+1}\frac{s}{s^2+\omega ^2}$$ 逆ラプラス変換を行い、 $$V_{OUT}=\frac{\omega ^2 C^2R^2 cos(\omega t) - \omega CR sin(\omega t)+e^{-\frac{t}{CR}}}{\omega^2C^2R^2+1}$$ 定常解は $$V_{OUT}=\frac{\omega ^2 C^2R^2 cos(\omega t) - \omega CR sin(\omega t)}{\omega^2C^2R^2+1}$$ $C=100nF, R=1k\Omega$として周波数特性をプロットすると次のようにハイパスである事がわかる。 ![キャプションを入力できます](https://camo.elchika.com/8c0fac18d87ae77e2d3fd6ff7a60fda0b03a1035/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f31646461663065392d313461352d343839302d613764362d356535643464626239373630/) カットオフ周波数は $$f_{0}=\frac{1}{2\pi CR}=\frac{1}{2\pi\times 10^{-7}\times 1000}=1592 Hz$$ ちなみに先ほどのローパスRCフィルタと周波数特性をあわせるとこんなかんじになる。 ![キャプションを入力できます](https://camo.elchika.com/c2b0390a7f86539b903109aab38d544d12f1ae5e/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f33313663643563662d376231392d343464342d393735312d633739343839653763613739/) ## ハイパスRLフィルタ ![キャプションを入力できます](https://camo.elchika.com/e5aeb03c95edbf1ab7a6892a86a8e73a477100f4/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f31353865326436392d353262332d343031622d616134342d623361636531323336333530/) $$\mathcal{L}[V_{OUT}]=\frac{sL}{R+sL}\mathcal{L}[V_{IN}]$$ 入力電圧$V_{IN}= cos(\omega t)$とすると、 $$\mathcal{L}[V_{OUT}]=\mathcal{L}[cos (\omega t)]= \frac{s}{s^2+\omega ^2}$$ よって、 $$\mathcal{L}[V_{OUT}]=\frac{sL}{R+sL}\frac{s}{s^2+\omega ^2}$$ 逆ラプラス変換を行い、 $$V_{OUT}=\frac{L^2 \omega ^2 cos (\omega t)-RL \omega sin (\omega t) + R^2e^{-\frac{Rt}{L}} }{R^2+L^2 \omega ^2}$$ 定常解は $$V_{OUT}=\frac{L^2 \omega ^2 cos (\omega t)-RL \omega sin (\omega t)}{R^2+L^2 \omega ^2}$$ $L=100mH, R=1k\Omega$として周波数特性をプロットすると次のようにハイパスである事がわかる。 ![キャプションを入力できます](https://camo.elchika.com/2e30fc801384aa06c14e14f0a412029ea6646f3d/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f65616234636465312d346632342d343630382d613330622d643265363839343232363266/) カットオフ周波数は $$f_{0}=\frac{R}{2\pi L}=\frac{1000}{2\pi \times 100 \times 10^{-3}}=1592 Hz$$ $L=100mH, R=1k\Omega$のハイパスRLフィルタと、$C=100nF, R=1k\Omega$のハイパスCRフィルタは殆ど同じ周波数特性を持つ。(実際にプロットして確認してみてください) ローパスLRも同じような感じで解くので省略。
ちなみにローパスLRフィルタ回路に直流1Vを入力した場合、すなわち、 $$\mathcal{L}[V_{OUT}]=\frac{R}{R+sL}\frac{1}{s}$$ これに逆ラプラス変換をすると、 $$V_{OUT}=1-e^{-\frac{R}{L}t}$$ と求まり、抵抗にかかる電圧は指数関数的に増加する事がわかる。 ![例](https://camo.elchika.com/61a2607522c218b7c2f8aa214d498ed2e4478eaf/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f38383135613134632d383761302d346636392d383063662d383031336630393933653166/)
## おまけ: LCで作るとどうなるか つまりこういう回路 ![キャプションを入力できます](https://camo.elchika.com/12bdd2de797d896b21c58758ccb36260c2d96555/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f66653136663961632d623832312d346139632d626533652d373533316630396436666632/) $$\mathcal{L}[V_{OUT}]=\frac{\frac{1}{sC}}{sL+\frac{1}{sC}}\mathcal{L}[V_{IN}]=\frac{1}{s^2LC+1}\mathcal{L}[V_{IN}]$$ 入力電圧$V_{IN}= cos(\omega t)$とすると、 $$\mathcal{L}[V_{OUT}]=\mathcal{L}[cos (\omega t)]= \frac{s}{s^2+\omega ^2}$$ よって、 $$\mathcal{L}[V_{OUT}]=\frac{1}{s^2LC+1}\frac{s}{s^2+\omega ^2}$$ 逆ラプラス変換を行い、 $$V_{OUT}=\frac{cos(\frac{t}{\sqrt {LC}})-cos (\omega t)}{LC \omega ^2-1}$$ これはそのまま定常解なので$L=100mH, C=100nF$として周波数特性をプロットすると次のように出力される。 ![キャプションを入力できます](https://camo.elchika.com/2eec041a9fd5d488d9c1ea5c28d123822c291fc6/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f32653637363565332d393633312d346565612d383735622d656564656436326634346133/) ただしこの回路は自己発振するためきれいな正弦波を出力しません。回路シミュレータで実際に制作してみてください。 共振周波数は $$f_{0}=\frac{1}{2\pi \sqrt {LC}}=\frac{1}{2\pi \sqrt {100 \times 10^{-3} \times 100 \times 10^{-9}}}=1592 Hz$$
また、この回路に直流1Vを入力した場合、すなわち
ちなみにこの回路に直流1Vを入力した場合、すなわち、
$$\mathcal{L}[V_{OUT}]=\frac{1}{s^2LC+1}\frac{1}{s}$$ これに逆ラプラス変換をすると $$V_{OUT}=1-cos (\frac{t}{\sqrt {LC}})$$ 周波数は$\omega = \frac{1}{\sqrt {LC}}$ であるから、例えば50Hzを発振させたい場合は$\omega = 2 \pi \times 50= \frac{1}{\sqrt {LC}}$ となるようにうまくコンデンサとコイルを選ぶとする。 $L=100mH, C=100\mu F$を素子値としてプロットすると、0.2秒の間にほぼ10回振動しているのでほぼ50Hzである事がわかる。 ![キャプションを入力できます](https://camo.elchika.com/ac04135fe97fe515ce70df78674a0a42f4b018cb/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38303034383535362d663062322d343030302d616334642d3266373330643761393339392f37643638643037382d373761652d343231322d616637362d376662613030656339613463/) コイルとコンデンサを組み合わせると発振する性質をうまく応用すると、直流から交流を生成できる。 例えば、コイル・コンデンサ・トランジスタを組み合わせたコルピッツ型発振回路というものがあります。 よかったら勉強してみてね。