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)で計算。 »
「学問・資格」カテゴリの記事
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(3) 高速フーリエ変換(FFT)を実行する。FourierOptionsにMatlabとNumerical Recipesがあるのが意外。(2023.03.30)
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。(2023.03.27)
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(1)複素行列を定義して一次方程式や逆行列、行列式などを計算する。(2023.03.24)
- 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース(3/16) IEEE Microwave Magazineは女性マイクロ波研究者特集、Microwave Journalで285GHz帯で30GHz帯域のOTA測定!QorvoがUWB室内ナビのデモ、STMとonsemiのBluetooth新商品、IDTechExの6Gレポート、など。(2023.03.16)
「日記・コラム・つぶやき」カテゴリの記事
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(3) 高速フーリエ変換(FFT)を実行する。FourierOptionsにMatlabとNumerical Recipesがあるのが意外。(2023.03.30)
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。(2023.03.27)
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(1)複素行列を定義して一次方程式や逆行列、行列式などを計算する。(2023.03.24)
- BingのAIチャットに最大の素数はいくつ?と聞くと、存在しないが今知られている最大の素数は2^89589933-1だと答えた。が、これは引用している記事が誤植していて、実際は2^82589933-1だ...間違った記事を引用すると間違った答えになる。英語で聞くと1つ前のメルセンヌ素数に…(2023.03.17)
コメント
« 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分