Python+scikit-rf(高周波関連ライブラリ)でNポートのSパラメータをTDR波形に変換してExcelで読めるcsvファイルに吐き出せようとしてハマる、、、やっとできた。
この記事はバージョンが古いもののためです。今はこちらを使ってください。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
以前、SパラをTDRには変換できるようにはなった。
しかしデータをテキスト(できれば.csv)で吐き出させたい。いろいろやったけどハマった、、、
その記録:
①z_time_stepが動かない、、、
plot_z_time_stepでお絵かきできたんだから、データはz_time_stepで取り出せると思うでしょう、、、
https://scikit-rf.readthedocs.io/en/v0.15/api/generated/skrf.network.Network.z_time_step.html
でも何やってもエラー。
調べると、同じことを聞いている人がいた。
https://teratail.com/questions/248227
やっぱり同じところでエラー。
回答は、、、グラフ表示されているaxesから直接データを読み取れ、とのことでした、、、
(ちょっと納得いかないが仕方ない。)ax.get_linesで読める。
②subsetとplot_z_time_stepのポート数が1個ずれてる!
ここもハマった、、、
前はrf.ntwk.s11.plot_z_time_step()
みたいにすればすぐに表示されたが、s11とか使わないで任意のポート数nにしたい。
rf.ntwk[:,0,0]とすればいいか?と思ったらエラー?あれ?かといって
rf.ntwk.plot_z_time_step(m=0,n=0)
としてもエラー。
うーん、といろいろ調べると最初の[]と()の中身のポート番号が1個ずつずれてる!
rf.ntwk[:,1,1].plot_z_time_step(m=0,n=0)
これで動いた。
グラフとcsvファイルを読んでExcelでグラフにしたもの。
ソースコード:
import skrf as rf
import matplotlib.pyplot as plt
import numpy as np
import os
from tkinter import filedialog
rf.stylely()
typ = [('タッチストーンファイル','*.s*p')]
dir = "C:\\Users\\tomoh_000\\Documents\\Python Scripts"
filename = filedialog.askopenfilename(filetypes = typ, initialdir = dir)
TL=rf.Network(filename)
Port_numbers=TL.number_of_ports
TLdc=TL.extrapolate_to_dc(kind='linear')
fig=plt.figure()
ax=plt.axes()
for i in range(Port_numbers):
TLdc[:,i+1,i+1].plot_z_time_step(m=i,n=i,ax=ax,window='hamming', pad=1000)
lines=ax.get_lines()
DataX=[]
DataY=[]
x=lines[0].get_xdata()
DataX.append(x)
for i in range(Port_numbers):
y=lines[i].get_ydata()
DataY.append(y)
Data=np.concatenate([DataX,DataY]).T
dirname = os.path.dirname(filename)
barefilename=os.path.splitext(os.path.basename(filename))[0]
np.savetxt(dirname+'\\'+barefilename+'-TDR.csv',Data,delimiter=',')
plt.xlim(-1,5)
plt.show()
« 御霊神社(大阪 淀屋橋)でお参り。 | トップページ | 松屋でごろごろ創業ビーフカレー生野菜セット(大盛)をいただく。ごろごろ煮込みチキンカレー派の私でもかなり美味しかった。 »
「学問・資格」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- 高周波・RFニュース 2026年4月17日 atisの3GPP Rel.20ウェビナー動画公開、MWCバルセロナ2026でのGSMA Device Enablement Summit資料公開、ハリファ大学が無線周波数AI言語モデルRF-GPT発表、レドームの解説など(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- 高周波・RFニュース 2026年4月16日 AmazonがGlobalstarを買収、GSMAが日本のデジタル化をレポート、Mini-Circuitsがケーブルアセンブリを動画で解説、Kymetaが米国海軍研究局と衛星通信で契約、PerasoがドローンIFF向け60GHzモジュール出荷、SEMCOが1500V耐圧MLCC発表(2026.04.16)
- 高周波・RFニュース 2026年4月15日 Microwave Journalはアンプと発振器特集、Signal Integrity Journalは100GHz越えのインターコネクトのAIを使うHFSSモデル化、ローデ・シュワルツが潜水艦通信をUDT2026で発表、Xiaomi Poco X8 Pro分解動画、atisの5Gポリシーレポート(2026.04.15)
« 御霊神社(大阪 淀屋橋)でお参り。 | トップページ | 松屋でごろごろ創業ビーフカレー生野菜セット(大盛)をいただく。ごろごろ煮込みチキンカレー派の私でもかなり美味しかった。 »




コメント