アドミッタンス円とマーカー

ee9king に投稿

ネットアナ上でsmithを見るとき、マーカーを動かして周波数を確認したりできるが、pyhtonで描画すると、絵は描画されるものの目的の周波数がどこにあるのかわからない。そこでマーカーを表示するようにしたかったが、どうもわからない。

plot_s_smith だけではできないようで、座標データから散布プロットで特定データを重ねてプロットすることで、見かけ上のマーカーにできるようだ。Networkからfrequencyを取り出し目的の周波数のindexを求める。そしてNetworkのsの虚部と実部のindexから値を取得する。実部がX座標、虚部がY座標となる。

import numpy as np
import skrf as rf
from matplotlib import pyplot as plt
import matplotlib
font = {"family" : "IPAGothic"};  ## for Mac
matplotlib.rc('font', **font)

marker_f=915e6;
fig1=plt.figure(figsize=(6,6),tight_layout=True);
ntwk=rf.Network('cable.s1p');
ntwk.frequency.unit = 'Mhz';

ax=plt.subplot(111);
ntwk1=ntwk['0.85-1.0ghz']
ntwk1.plot_s_smith(m=0,n=0,chart_type='zy',draw_labels=True,label='8.2nH');
freq=ntwk.f;
marker_f_idx = np.where(freq>marker_f)[0][0];
marker_x = ntwk.s.real[marker_f_idx,0,0];
marker_y = ntwk.s.imag[marker_f_idx,0,0];
plt.scatter(marker_x,marker_y,marker='v',color='k');

アドミッタンス円は、chart_type で設定することができる。'y'でアドミッタンス円のみ、'z'でインピーダンス円のみ、'zy','yz'で両方描くが順番によってどちらが濃く表示されるかが決まる。薄過ぎてよく分かりませんね

マーカーは表示してはいるが、これじゃ分かりにくいですね。。。markerの周波数をtitleに書かなきゃいけない、ふむ

 

 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。