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()
« 御霊神社(大阪 淀屋橋)でお参り。 | トップページ | 松屋でごろごろ創業ビーフカレー生野菜セット(大盛)をいただく。ごろごろ煮込みチキンカレー派の私でもかなり美味しかった。 »
「学問・資格」カテゴリの記事
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
- 高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事(2025.07.02)
- 高周波・RFニュース 2025年6月30日 QualcommがAIを用いた6Rxアンテナ解説、Next G Allianceと日本のXGMFが5G,6Gで協力、5G Americasが25Q1で5G加入者増加と発表、TechInsigtsがHuawei Pura 80 Pro+分解、Qorvoが5-7GHzのWi-Fi 7 FEM発表(2025.06.30)
- Gemini CLIが使えるようになっていたので早速VSCodeのターミナルから使って、JavaScriptで連立一次方程式を計算するコードを書いてもらった。普通にガウスの消去法で計算するhtmlを作ってくれた。(2025.06.27)
« 御霊神社(大阪 淀屋橋)でお参り。 | トップページ | 松屋でごろごろ創業ビーフカレー生野菜セット(大盛)をいただく。ごろごろ煮込みチキンカレー派の私でもかなり美味しかった。 »
コメント