S11とVSWRを描く
ついでにS11とVSWRも描かせてみる。同じs集団の中に、plot_s_dbとplot_s_magというのがあったので。それを使った。
import numpy as np
from matplotlib import pyplot as plt
import skrf as rf
ntwk1 = rf.Network('test.s1p');
fig=plt.figure();
plt.subplot(2,2,1);
ntwk1.plot_s_smith(draw_labels=True,show_legend=False,label='sminof test');
ax=plt.subplot(2,2,2);
ntwk1.plot_s_mag(label='sminof test',attribute='s_vswr');
plt.ylim([1,11]);
plt.ylabel('VSWR');
plt.xlim([500e6,1.0e9]);
plt.yticks(np.arange(1, 11 + 1, 1));
plt.xticks(np.arange(500e6, 1e9+1, 250e6));
ax.grid();
ax=plt.subplot(2,1,2);
ntwk1.plot_s_db(label='sminof test');
plt.xlim([0.8e9,1.0e9]);
plt.ylim([-50,0]);
plt.ylabel('S11(dB)');
ax.grid();
swrを描くのに、plot_s_magにして引数に、attribute='s_vswr'を指定するのがミソかしら?
周波数軸の表記
上記の絵だとS11やSWRの周波数軸が指数で見づらい。GHz、MHz単位でできんものだろうか。APIを見ているとこの記載を見つけた。
ntwk1.frequency.unit='Ghz';
他のパラメタでもできるみたいだけど、その時に指定が'Ghz'だったり、'ghz'だったりする、これはバージョンによるものだったりもして、イライラする。こういうところもPythonが好きになれない理由だな!
コメントを追加