Python+SymPy(ブロック行列)で2*NポートのSパラメータをTパラメータに変換(2) 4ポートの場合
先日は2ポートの計算でしたが、こちらが本題。
4ポートの場合のSパラメータ・Tパラメータ変換を以下のように考える。
これはブロック行列の計算が必要だが、なんとSymPyはその計算ができる。
4x4行列を2x2行列4個に分解して計算を進める。
MatrixSymbok, BlockMatrix, block_collapseを使う。こんな感じ。
from sympy import *
init_printing()
SA=MatrixSymbol('SA',2,2)
SB=MatrixSymbol('SB',2,2)
SC=MatrixSymbol('SC',2,2)
SD=MatrixSymbol('SD',2,2)
I=Identity(2)
O=ZeroMatrix(2,2)
A=BlockMatrix([[I,-SA],[O,-SC]])
B=BlockMatrix([[SB,O],[SD,-I]])
block_collapse(Inverse(A)*B)
すると、結果はこうなる。
おお、完全にあってる。
2*Nポートも全く同様にできます。
案外、この計算している文献が少ない、、、
« Python+SymPyで2*NポートのSパラメータをTパラメータに変換(1) 2ポートの場合 | トップページ | 行列の平方根(X^2 =AとなるX)をPython+SciPy(linalg.sqrtm)で計算。 »
「学問・資格」カテゴリの記事
「日記・コラム・つぶやき」カテゴリの記事
コメント
« Python+SymPyで2*NポートのSパラメータをTパラメータに変換(1) 2ポートの場合 | トップページ | 行列の平方根(X^2 =AとなるX)をPython+SciPy(linalg.sqrtm)で計算。 »




参考文献を教えていただけますか?
S-->Tの変換は2端子対回路の説明ばかりで、それ以上だとどうやるのか知りたいです。
行列の変数(a1,a2,a3,a4,b1,b2,b3,b4)が変換後は入れ替わっていますが、ここを任意に入れ替えた場合も同じ計算処理でしょうか。
投稿: ひろつぐ | 2022年4月 8日 (金) 22時19分