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()
« 御霊神社(大阪 淀屋橋)でお参り。 | トップページ | 松屋でごろごろ創業ビーフカレー生野菜セット(大盛)をいただく。ごろごろ煮込みチキンカレー派の私でもかなり美味しかった。 »
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年1月13日 IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波、Siversがミリ波ビームフォーマー開発を受注、バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル、HoneywellとNXPが航空機技術で提携(2025.01.13)
- UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。(2025.01.14)
- 高周波・RFニュース 2025年1月9日 CES2025に合わせて各社プレスリリース、特にQualcomm、NVIDIA、INTELが大量。SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説、TIのAI搭載60GHz車内レーダ、MarvellのCPO、Qorvoの車載UWB SoC、TDKのセンサがAI白杖に採用(2025.01.09)
- NHK パンサー尾形さんの笑わない数学 微分・積分 スペシャルがもうすぐ始まる。これから見てリアルタイムでポストしたのでそのスレッドを残す。(2024.12.29)
« 御霊神社(大阪 淀屋橋)でお参り。 | トップページ | 松屋でごろごろ創業ビーフカレー生野菜セット(大盛)をいただく。ごろごろ煮込みチキンカレー派の私でもかなり美味しかった。 »
コメント