Google Colab(Colaboratory)でPythonの高周波用ライブラリscikit-rfを使う(1)まずは準備とTouchstone形式でSパラメータファイルを読み込んでdB表示をする。事例はMarki MicrowaveのQuadplexer(4バンド分離)のs5pを使う。
Pythonの高周波用ライブラリscikit-rfはいろんな人にお勧めしている。最新バージョンはv1.3.0で、IEEEP370 de-embeddingやmultiline TRLも実装されてより使いやすくなった。
https://scikit-rf.readthedocs.io/en/latest/index.html
ただ、Python環境を作るのに苦戦している人も結構いて、またvenvで仮想環境を作るのも敷居が高いという話も聞く。
そこで、Pythonと有名なパッケージ(NumPy, Matplotlib, SciPy, Pandasなどなど)とAI関連のパッケージがすでに入っていて、Googleのアカウントさえあればだれでも使えるGoogle Colab(Colaboratory)を使って簡単に試せるようにしてみる。GPUやTPUも使えて、Googleドライブとも接続できて便利。さらにGoogleのAI、Geminiも搭載されていて分からなくなったら質問できるし、コードの続きを推定もしてくれる。
https://colab.research.google.com/?hl=ja
ただし、残念ながらscikit-rfは入っていない。でも使うようにできる方法はあるので1からやってみる。
まずリンクを開き、ファイル→ドライブの新しいノートブックを選ぶとUntitled0.ipynbというファイルができる。名前をここではscikitrf-01.ipynbに変更した。
こんな画面になっているはず。まさにJupyter Notebookと同じような画面になる。セルにプログラムを入力してSHIFT+ENTERで実行できる。
まずは!pip install scikit-rfとする。これでscikit-rfがインストールできる。ただしいったん閉じると消えてしまうことに注意。
これを毎回やらないといけない(Googleドライブに保存する方法があるがそれはまた別の機会に)。そんなに時間はかからない。
次はGoogleドライブをマウントする。
とする。このノートブックは"/content/drive/MyDrive/Colab Notebooks/"に保存されている。
必要なパッケージをインポートする。
このファイルをGoogleドライブに置き、以下のようにしてTouchstoneフォーマットのSパラメータが読み込める。
何も指定しないと全部表示されてしまう。必要なものだけ表示するには
ntwk.plot_s_db(m=1, n=0)のようにする。注意する点としてはm, n はSmnの添え字を表すが、1から始まるのではなく0始まり。
なのでS21を表示させたかったらm=1, n=0にする。ここではS21,S31,S41,S51をプロットしてみる。
確かにQuadplexerになってる。ただ周波数の単位がHzでe+10がごちゃごちゃしている。
周波数だけ変換してもいいのだが、読み込むときに単位を設定するのが簡単。f_unitを使う。
予期した通りの結果になった。またrf.stylely()というのを使うともうちょっとすっきりしたグラフになる。
Y軸の範囲を変えたいときはmatplotlibのplt.ylim範囲を使えばいい。
あと便利なのはntwk["0-10ghz"]みたいに直接周波数を使ってスライシングできる。
ここまでをまとめてテキストデータにしておく。
!pip install scikit-rf
from google.colab import drive
drive.mount('/content/drive')
import numpy as np
import matplotlib.pyplot as plt
import skrf as rf
rf.stylely()
path = "/content/drive/MyDrive/Colab Notebooks/"
ntwk = rf.Network(path + "MMPX-00002PSM.s5p", f_unit="GHz")
ntwk.plot_s_db(m=1, n=0)
ntwk.plot_s_db(m=2, n=0)
ntwk.plot_s_db(m=3, n=0)
ntwk.plot_s_db(m=4, n=0)
plt.ylim(-100, 0)
|
たったこれだけでなかなかきれいな表示ができる。次はスミスチャートを描いてみよう。
« 松屋でごろごろチキンのバターチキンカレーをいただく。どちらかというと通常のごろチキがスパイシーで好きだが、これもチキンが本当にごろごろでとても美味しい。 | トップページ | 高周波・RFニュース 2024年9月30日 ロームのテラヘルツデバイス発表、Samsung Galaxy S24 FE分解・5Gミリ波AiP、TDKのESD可視化、MetaのQuest 3SはSnapdragon XR2 Gen 2 Platform、Huaweiのアルファシリーズアンテナ、6Gシンポジウムの内容解説、GSAの5Gレポート »
「パソコン・インターネット」カテゴリの記事
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年2月7日 フジクラがMWCバルセロナでミリ波(28GHz,60GHz)モジュールデモ、Qorvo、NXP、AMDらのヘルスケアウェビナー、Samsung Galaxy S25もやはり5Gミリ波AiPは1個、u-bloxがBluetooth LEモジュール4種発表(2025.02.07)
- 高周波・RFニュース 2025年2月6日 3GPPがRel-20(5G Advancedと6G)の計画を公開、SEMCOが産業用MLCC(0805 inch, X6S, 22uF, 25V)と車載MLCC(1005,2.2uF,10V)を発表、KYOCERA AVXのスーパーキャパシタシミュレーションソフト、I向けフォトニックチップ解説(2025.02.06)
- 高周波・RFニュース 2025年2月5日 Mavenirの5G NTNホワイトペーパー、ミニサーキットの1.5mm角QFNパッケージMMIC、Keysigntがスペインに6G研究ラボ設立、アイルランドとスコットランドの大学がRIS(reconfigurable intelligent surfaces)で協力(2025.02.05)
- 高周波・RFニュース 2025年2月4日 Samsung Galaxy S25plus、S25ultra分解、やっぱり5Gミリ波AiPは1個だけ、スマートワイヤレス聴診器にNordicのICが採用、TDKのTMR角度センサ解説(2025.02.04)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年2月7日 フジクラがMWCバルセロナでミリ波(28GHz,60GHz)モジュールデモ、Qorvo、NXP、AMDらのヘルスケアウェビナー、Samsung Galaxy S25もやはり5Gミリ波AiPは1個、u-bloxがBluetooth LEモジュール4種発表(2025.02.07)
- 高周波・RFニュース 2025年2月6日 3GPPがRel-20(5G Advancedと6G)の計画を公開、SEMCOが産業用MLCC(0805 inch, X6S, 22uF, 25V)と車載MLCC(1005,2.2uF,10V)を発表、KYOCERA AVXのスーパーキャパシタシミュレーションソフト、I向けフォトニックチップ解説(2025.02.06)
- 高周波・RFニュース 2025年2月5日 Mavenirの5G NTNホワイトペーパー、ミニサーキットの1.5mm角QFNパッケージMMIC、Keysigntがスペインに6G研究ラボ設立、アイルランドとスコットランドの大学がRIS(reconfigurable intelligent surfaces)で協力(2025.02.05)
- 高周波・RFニュース 2025年2月4日 Samsung Galaxy S25plus、S25ultra分解、やっぱり5Gミリ波AiPは1個だけ、スマートワイヤレス聴診器にNordicのICが採用、TDKのTMR角度センサ解説(2025.02.04)
« 松屋でごろごろチキンのバターチキンカレーをいただく。どちらかというと通常のごろチキがスパイシーで好きだが、これもチキンが本当にごろごろでとても美味しい。 | トップページ | 高周波・RFニュース 2024年9月30日 ロームのテラヘルツデバイス発表、Samsung Galaxy S24 FE分解・5Gミリ波AiP、TDKのESD可視化、MetaのQuest 3SはSnapdragon XR2 Gen 2 Platform、Huaweiのアルファシリーズアンテナ、6Gシンポジウムの内容解説、GSAの5Gレポート »
コメント