1. Network
类(处理网络参数)
import skrf as rf
# 示例:读取Touchstone文件
nw = rf.Network('network.s2p') # 读取S2P文件
# 绘制S参数的史密斯图
nw.plot_s_smith(m=0, n=0) # 绘制S11的史密斯图
nw.plot_s_smith(m=1, n=0) # 绘制S21的史密斯图
# 计算驻波比(VSWR)
nw.plot_s_vswr (m=0, n=0) # 获取所有端口的驻波比
# 保存为Touchstone文件
nw.write_touchstone('new_network.s2p')
2. Frequency
类(频率范围操作)
# 创建频率范围(1GHz到10GHz,101个点)
freq = rf.Frequency(start=1e9, stop=10e9, npoints=101, unit='Hz')
# 转换为其他单位(如GHz)
freq.f_scaled # 返回以GHz为单位的频率数组
# 生成对数间隔的频率
freq_log = rf.Frequency.from_f([1e9, 10e9], npoints=101, unit='GHz', sweep_type='log')
3. 网络连接与操作
-
# 创建两个网络
nw1 = rf.Network('network1.s2p')
nw2 = rf.Network('network2.s2p')# 串联连接(使用 ** 操作符)
nw_series = nw1 ** nw2# 并联连接(需要相同端口数)
nw_parallel = nw1 // nw2