フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2008-9-27 15:31 |
Webmaster ![]() ![]() 登録日: 2004-11-7 居住地: 投稿: 3110 |
回路網解析と基本諸定理 さてPoorman's MSM5524プロジェクトが一段落したので(うそ)、いよいよ回路網解析と基本諸定理を学ぶことに。
やっとここまでたどり着いた。このペースだと年内に上巻を終えるのがやっとかも。下巻をやって、それから電磁気学をやるとするとあと何年かかるんだ。大学の電気電子科のカリキュラムを拝見するとこれだけじゃないんだよね、4年間に授業受けるの。全部マスターしたらかなりのものなんだけど、みんな単位取るのが精一杯だよきっと。 それでも電気理論の基礎と電磁気学はマスターした方が良いね。理解すると楽しいし、知識がつながっていくというのと、理論を積み上げてきた先駆者と血脈でつながることになるし。 いままで学んできたのは電気理論の最も底辺で、こっから先を学んで実務に生かすための下準備みたいなもの。特に電気回路設計や電子回路設計、それから高周波回路設計とかやる人には、ここまではしっかりマスターするのと、こっから先の回路網解析の理論を頭にたたき込まないと複数の素子が絡み合ったネットリストのような回路の解析や設計が困難。 もちろん実際の回路素子はこれまで学んだオームの法則やキルヒホッフの法則が適用できるのはごく限られた条件下のみ。現実の素子は抵抗やコンデンサ、コイルのような受動素子でも動作条件によって定数が変化する非線形特性を持っている。また温度係数も厳密に言えば非線形特性である。従って本当に現実の動作を予測するにはそうした非線形特性を考慮しないといけないが、ある限られて条件下では定数は一定であると見なすことができる。これを利用して理想的な条件下での回路解析や設計を行うことが可能であるため有用である。 これまでも一部の理論や演習問題で回路方程式というのをたててそれを解くことで回路の各部位に流れる電流や電圧を求めることができた。例えば、ブリッジ回路に流れる電流を求める場合、 図の様な枝電流法で回路方程式をたてて、未知の電流I1, I2, Igに関する3元連立方程式をたてた。また、それは行列でも表すことも出来ることを知っている。各連立方程式のI1, I2, Igに関する係数の行列をZ、電流I1, I2, Igの行列をIそして右辺の電圧の行列をEとそれぞれ置くと連立方程式は一つの式で表すことができる。 Z*I=E これはオームの法則の式でありキルヒホッフの法則の式に他ならない。これはどんなに素子が多い複雑な回路でも同じである。 素人考えで見れば、回路に流れる電流は上の式の両辺をZで割れば I=E/Z と求めることが出来るのではないかと思える。 しかしある行列を別の行列で割った結果がどうなるかを知らないとどうにもならない。 ここで数学をおさらいする必要が出てくる。著者は既にこれ以前の段階で演習問題のいくつかで行列式を使った連立方程式の解法として知られるクランメールの公式を使っている。大学とかのカリキュラムでは行列と行列式で必ず学ぶ定理であり、それを扱う線形代数も初学年から教わっているということが前提である。 しかしながら今更数学の教科書を開いて線形代数の最初から学ぶと大変な壁にぶつかる。線形代数は様々な代数の概念で四則演算がどう扱われるかやどういう性質を持つかを集大成したものなのでその証明方法とかは数学的に厳密すぎてわけがわからない。時間があったら数学の基礎からやるとして、ここではとりあえず公式の意味をいつでも思い出せるように簡単に理解しておこう。後にデジタル信号処理とかの研究に進む人は線形代数やその応用数学分野についても学ぶ必要がある。なにせデジタル信号処理は数値計算で信号を扱うので量子化誤差は伴うものの完璧に線形であり、非線形性なアナログ電子回路で処理するよりも理想に近い。 アナログ電子回路や高周波回路の動作を解析したり設計するには線形代数を土台とした回路網理論の理解と活用能力が不可欠である。 さて話をクランメールの公式の話に戻すと。行列で表した回路方程式を解くために両辺をZで割れば良いというのは思いついたが、そっから先はどうすればよいか。 ある行列Aの逆数を線形代数では逆行列と呼び 1/A=A^-1 と表される。元の行列にその逆行列を乗じると当然ながら結果は単位行列になる。 A*A^-1=U 単位行列とは行列の列と行が等しい要素がすべて1でそれ以外は0の行列である。単位行列に任意の行列Aを乗じても結果はAであるという性質を持つ。 U=([1, 0 , 0], [0, 1, 0], [0, 0, 1]) 従って先の方程式で行列Zで両辺を割ったのは、両辺にZの逆行列を掛けたことと同じことであると言える。 Z^-1*Z*I=Z^-1*E U*I=Z^-1*E I=Z^-1*E またZ^-1はちょうどインピーダンスの逆数であるアドミッタンスと相似なのでYとすると Z^-1=Y I=Y*E と表すことができる。これもまたオームの法則でありキルヒホッフの法則である。 ここで実際に最初の回路方程式を解いてみよう。 (%i1) e1:Z1*I1+Z3*(I1-Ig)=E; (%o1) (I1-Ig)*Z3+I1*Z1=E (%i2) e2:Z2*I2+Z4*(I2+Ig)=E; (%o2) (I2+Ig)*Z4+I2*Z2=E (%i3) e3:Z1*I1+Z4*(I2+Ig)=E; (%o3) (I2+Ig)*Z4+I1*Z1=E (%i4) solve([e1,e2,e3],[I1,I2,Ig]); (%o4) [[I1=(E*Z2*Z4+E*Z2*Z3)/(Z3*(Z1*(Z4+Z2)+Z2*Z4)+Z1*Z2*Z4),I2=(E*Z1*Z4+E*Z1*Z3)/(Z3*(Z1*(Z4+Z2)+Z2*Z4)+Z1*Z2*Z4),Ig= (E*Z2*Z3-E*Z1*Z4)/(Z3*(Z1*(Z4+Z2)+Z2*Z4)+Z1*Z2*Z4)]] (%i5) factor(%); (%o5) [[I1=(E*Z2*(Z4+Z3))/(Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3),I2=(E*Z1*(Z4+Z3))/(Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3),Ig=- (E*(Z1*Z4-Z2*Z3))/(Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3)]] 従って I1=E*Z2*(Z4+Z3)/(Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3) I2=E*Z1*(Z4+Z3)/(Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3) Ig=E*(Z1*Z4-Z2*Z3)/(Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3) どれも共通の分母 Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3 を伴っている。実はこれは行列Zの行列式|Z|である。 (%i11) z: matrix ([Z1+Z3, 0, -Z3],[0, Z2+Z4, Z4],[Z1, Z4, Z4]); (%o11) matrix([Z3+Z1,0,-Z3],[0,Z4+Z2,Z4],[Z1,Z4,Z4]) (%i12) determinant(z); (%o12) (Z3+Z1)*(Z4*(Z4+Z2)-Z4^2)+Z1*Z3*(Z4+Z2) (%i13) factor(%); (%o13) Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3 |Z|=Z2*Z3*Z4+Z1*Z3*Z4+Z1*Z2*Z4+Z1*Z2*Z3 従って I1=E*Z2*(Z4+Z3)/|Z| I2=E*Z1*(Z4+Z3)/|Z| Ig=E*(Z1*Z4-Z2*Z3)/|Z| と書き直すことが出来る。従ってYは Y=(Z2*(Z4+Z3)/|Z|, Z1*(Z4+Z3)/|Z|, (Z1*Z4-Z2*Z3)/|Z|) =(1/|Z|)*(Z2*(Z4+Z3), Z1*(Z4+Z3), Z1*Z4-Z2*Z3) と表すことが出来る。 これは行列式|Z|のi行j列の余因子を|Zij|とした場合、 Y=(1/|Z|)*(|Z11|+|Z12|+|Z13|, |Z21|+|Z22|+|Z23|,|Z31|+|Z32|+|Z33|) である。 すなわち回路方程式は I=Y*E =(1/|Z|)*([|Z11|,|Z12|,|Z13|],[|Z21|,|Z22|,|Z23|],[|Z31|,|Z32|,|Z33|])*E ∴Y=(1/|Z|)*([|Z11|,|Z12|,|Z13|],[|Z21|,|Z22|,|Z23|],[|Z31|,|Z32|,|Z33|]) で表される。([|Zk1|,|Zk2|,|Zk3|])*Eはそれぞれ行列式|Z|のk列の余因子Zkなので、各行列のk列に対して Ik=(1/|Z|)*|Zk|*Ek が成り立つことになる。少々強引だがこれがクランメールの公式による回路方程式の解法である。これによればどんなに複雑な回路でも同じように扱うことが出来て同じように解けることを意味する。 回路網理論では、行列Zをインピーダンス行列、その逆数であるYをアドミッタンス行列と呼ぶ。 ここまではこれまで扱って来た回路解析の集大成である。これからはこの考えに基づいて、更に一般化した回路網について共通に適用できる定理を学んでいくことになる。 P.S 逆行列を求める別方法には行列の掃き出し法がある。これはZの逆行列をZ^-1、Zと同じ大きさの単位行列をUとした場合 Z^-1*(Z|U) =(Z^-1*Z|Z^-1*U) =(U|Z^-1) という性質を利用し、元の行列Zと単位行列Uをつなぎ合わせた行列に対して元の行列部分が単位行列になるように吐き出し操作を行えば残りの行列部分が逆行列になるというもの。 例えば Z=([Z11,Z12],[Z21,Z22]) とした場合 Z|U =([Z11,Z12,1,0], [Z21,Z22,0,1]) これをZ11,Z12,Z21,Z22部分がそれぞれ1,0,0,1になるように操作するには 1行目をZ11で割る ([1, Z12/Z11, 1/Z11, 0], [Z21, Z22, 0, 1]) 2行目をZ21で割る ([1, Z12/Z11, 1/Z11, 0], [1, Z22/Z21, 0, 1/Z21]) 1列目を掃き出すために2行目から1行目を差し引く ([1, Z12/Z11, 1/Z11, 0], [0, (Z22*Z11-Z12*Z21)/(Z21*Z11), -1/Z11, 1/Z21]) 2行目を(Z22*Z11-Z12*Z21)/(Z21*Z11)で割る ([1, Z12/Z11, 1/Z11, 0], [0, 1, -Z21/(Z22*Z11-Z12*Z21), Z11/(Z22*Z11-Z12*Z21)]) 2行目にZ12/Z11を乗じたものを1行目から差し引く ([1, 0, 1/Z11+Z12*Z21/Z11*(Z22*Z11-Z12*Z21), -Z12/(Z22*Z11-Z12*Z21)], [0, 1, -Z21/(Z22*Z11-Z12*Z21), Z11/(Z22*Z11-Z12*Z21)]) ([1, 0, Z22/(Z22*Z11-Z12*Z21), -Z12/(Z22*Z11-Z12*Z21)], [0, 1, -Z21/(Z22*Z11-Z12*Z2), Z11/(Z22*Z11-Z12*Z21]) 従って Z^-1 =([Z22/(Z22*Z11-Z12*Z21), -Z12/(Z22,Z11-Z12*Z21)], [-Z21/(Z22*Z11-Z12*Z2), Z11/(Z22*Z11-Z12*Z21)]) =(1/(Z22*Z11-Z12*Z2))*([Z22,-Z12],[-Z21,Z11]) =(1/|Z|)*([Z22,-Z12],[-Z21,Z11]) =(1/|Z|)*([|Z11|,|Z12|],[|Z21|,|Z22|]) ということになる。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» ![]() |
webadm | 2008-9-27 15:31 |
![]() |
webadm | 2008-9-28 4:55 |
![]() |
webadm | 2008-9-29 0:19 |
![]() |
webadm | 2008-9-29 1:28 |
![]() |
webadm | 2008-9-29 2:28 |
![]() |
webadm | 2008-9-30 8:55 |
![]() |
webadm | 2008-9-30 20:35 |
![]() |
webadm | 2008-9-30 23:12 |
![]() |
webadm | 2008-10-2 23:31 |
![]() |
webadm | 2008-10-4 12:13 |
![]() |
webadm | 2008-10-4 21:41 |

投稿するにはまず登録を | |