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レポート »
「パソコン・インターネット」カテゴリの記事
- ユニクロとAkamaiのコラボTシャツに書かれているコードを解読してみる。base64でデコードするとbashのシェルスクリプトが出てきて実行すると♥PEACE♥FOR♥ALL♥FOR♥ALL♥PEACE♥FOR♥ALL♥という文字が色付きで正弦波で流れた。(2025.05.01)
- Google Gemini 2.5 Pro experimentalに高周波で使われるSパラメータのTouchstoneファイルを読み込んでプロットするC#コードを書いてもらうと570行のコードができて動いた。ファイルの拡張子snpのnでポート数を判別するが人間を信じないのでデータ数えて確認するのに笑った。(2025.04.21)
- Google ColabのJulia言語で搭載されているGeminiを使って一行もコードを書かずに2次元拡散方程式を差分法で計算してGIFアニメにする。次に同じように2次元波動方程式もやってもらう。(2025.04.09)
- Google ColabのJulia言語で主成分分析(PCA)をやってみる。データはおなじみアヤメ(iris)で、標準で特異値分解(SVD)が入っているのですぐできた。(2025.04.08)
- Google ColabのJulia言語でマンデルブロ集合、仏様のようなブッダブロ、燃える船・バーニングシップフラクタルを描いてみる。どれも計算が速い。(2025.04.04)
「学問・資格」カテゴリの記事
- 「数学がゲームを動かす! ゲームデザインから人工知能まで」を読んだ。面白い!パックマンのアルゴリズムやドラクエの計算式、ドンキーコングはベルレ法でジャンプ、カルマンフィルタ、遺伝的アルゴリズム、セガの線形代数本を書かれた方は理論物理出身など話題が豊富。(2025.05.13)
- 高周波・RFニュース 2025年5月12日 IEEE Microwave Magazineでミリ波ガラス基板・超伝導・液晶などの記事、Pythonの高周波ライブラリscikit-rfがv1.7.0に、Megamagneticsの希土類を使わないミリ波サーキュレータ、CoilcraftのRFインダクタホワイトペーパー(2025.05.12)
- 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表(2025.05.09)
- 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加(2025.05.08)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年5月12日 IEEE Microwave Magazineでミリ波ガラス基板・超伝導・液晶などの記事、Pythonの高周波ライブラリscikit-rfがv1.7.0に、Megamagneticsの希土類を使わないミリ波サーキュレータ、CoilcraftのRFインダクタホワイトペーパー(2025.05.12)
- 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表(2025.05.09)
- 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加(2025.05.08)
- 高周波・RFニュース 2025年5月2日 everythingRFが6GのeBook発行、FCCが37GHz帯の共用規則策定、Spirentが5Gクラウドネイティブについてレポート、ローデ・シュワルツが高速差動伝送の測定について解説、Qualcommが2025Q2の決算発表(2025.05.02)
« 松屋でごろごろチキンのバターチキンカレーをいただく。どちらかというと通常のごろチキがスパイシーで好きだが、これもチキンが本当にごろごろでとても美味しい。 | トップページ | 高周波・RFニュース 2024年9月30日 ロームのテラヘルツデバイス発表、Samsung Galaxy S24 FE分解・5Gミリ波AiP、TDKのESD可視化、MetaのQuest 3SはSnapdragon XR2 Gen 2 Platform、Huaweiのアルファシリーズアンテナ、6Gシンポジウムの内容解説、GSAの5Gレポート »
コメント