« 高周波・RFニュース 2026年4月22日 QualcommのAIネイティブ6Gインタビュー動画、LGイノテックが車載Wi-Fi7モジュール1,000億ウォン受注、GSAが無線市場の現状をレポート、AppleのCEOがTim CookからJohn Ternusへ、など | トップページ | 高周波・RFニュース 2026年4月23日 Qualcommへの6G周波数割り当てインタビュー動画、5Gミリ波向け基板材料・技術のレビュー論文発行、車内センシングレーダ解説、Amphenol RFの18GHzまで使えるSMAピッグテイルアセンブリ »

2026年4月22日 (水)

高周波エンジニアのためのAI・機械学習入門(GPU編20)TDRでは出せない複素特性インピーダンスの周波数特性を予測する。今回は準備編でscikit-rfを使ってデータをモンテカルロシミュレーションで作る。

さてこれまではTDRでは出せない複素特性インピーダンスの1点を機械学習で予測することをやってきた。

たまに聞かれるのは特性インピーダンスの周波数特性が欲しいがどうしたらいい?ということ。じゃあこれも機械学習でやってみよう。

まずは準備としてscikit-rfでモンテカルロシミュレーションをしてデータを作る。

コードはこちら。


import numpy as np
import matplotlib.pyplot as plt
import skrf as rf
from skrf.media import Coaxial, MLine
rf.stylely()

def mesurement_jig(fstart, fstop, n, coaxial_length, cap, ind, width, length, height, er):
    """
    測定治具を模したSパラメータ及び基板の特性インピーダンスを返す関数

    測定治具は
    同軸コネクタ→シャントC→シリーズL
    →基板に形成されたマイクロストリップライン
    →シリーズL→シャントC→同軸コネクタの構成
    導体損・tanδは今回は固定されている。

    Parameters
    ----------
    fstart : float
        最低周波数[GHz]
    fstop :  float
        最高周波数[GHz]
    n : int
        周波数分割数
    coaxial_length : float
        同軸コネクタ部分の長さ[mm]
    cap : float
        同軸コネクタ・基板接続部キャパシタンス[pF]
    ind : float
        同軸コネクタ・基板接続部インダクタンス[nH]
    width : float
        線路幅[mm]
    length : float
        線路長さ[mm]
    height : float
        基板厚み[mm]
    er : float
        基板比誘電率

    Returns
    -------
    Stl : scikit-rfのNetwork
        測定治具のSパラメータ
    z0 : float, float, float
        基板の特性インピーダンスの周波数特性(f, z0r, z0i)
    """
    #周波数範囲設定
    freq = rf.Frequency(fstart, fstop, n, "GHz")

    #同軸コネクタのパラメータ(SMA相当)
    coax = Coaxial(frequency=freq, Dint=1.3e-3, Dout = 4.59e-3, epsilon_r=2.29, tan_delta=4e-4, sigma=1/0.022e-6, z0_port=50)

    #マイクロストリップラインのパラメータ
    msl = MLine(frequency=freq, z0_port=50, w=width*1e-3, h=height*1e-3, t=35e-6, ep_r=er, tand=0.01, rho=1e-8, rough=0.127e-6)

    #同軸コネクタの長さ決定
    coax_line = coax.line(coaxial_length, unit="mm", name="coax_line")

    #マイクロストリップラインの長さ決定
    msl_line = msl.line(length,  unit="mm", name = "msl_line")

    #同軸コネクタと基板の接続部のLC
    C = msl.shunt_capacitor(cap * 1e-12)
    L = msl.inductor(ind * 1e-9)

    #Casccade接続する
    Stl = coax_line ** C ** L ** msl_line ** L ** C ** coax_line

    #基板の特性インピーダンスを求める。
    z0r = msl.z0[:].real
    z0i = msl.z0[:].imag  
    return Stl, z0r, z0i


#周波数の設定
fstart = 0.1
fstop = 20
n = 200

#固定する項目の設定
length = 100
coaxial_length = 10


#モンテカルロシミュレーションでは誘電率,L, C, 線路幅、基板厚みを乱数で振るがそれの最大最小
ermin = 2.0
ermax = 5.0
Lmin = 0.05
Lmax = 0.2
Cmin = 0.01
Cmax = 0.1
wmin = 0.2
wmax = 0.8
hmin = 0.1
hmax = 0.3


#測定治具データ1つ分作る関数
def tl_data(fstart, fstop, n, coaxial_length, cap, ind, width, length, height, er):
    """
    Kerasで読めるような形で測定治具の2ポートSパラメータと特性インピーダンスを
    1つ分のdata, labelとして出力する。具体的にはdataは(1, points, 5), labelは(1, points, 3)。
    dataが5なのは対称的なのでS11=S22、S21=S12かつ複素数データなので
    freq, S11real, S11imag, S21real, S21imagだから。Sパラメータは絶対値1なので規格化はせず
    周波数のみ最大周波数で割っている。
    """
    Stl, z0r, z0i = mesurement_jig(fstart, fstop, n, coaxial_length, cap, ind, width, length, height, er)
    freq = Stl.f
    Spara = Stl.s
    data = np.array([freq[:]/fstop*1E-9,Spara[:,0, 0].real, Spara[:,0, 0].imag,
                     Spara[:,1, 0].real, Spara[:,1, 0].imag]).T.reshape(1, Spara.shape[0],5)
    label = np.array([freq[:]/fstop*1E-9,z0r[:], z0i[:]]).T.reshape(1, Spara.shape[0],3)
    return data, label


#モンテカルロシミュレーションでデータ作成して保存する。
N = 10000
np.random.seed(1)
data = np.empty((0, n, 5))
label = np.empty((0, n, 3))
for i in range(N):
    er = ermin + (ermax - ermin) * np.random.rand()
    L = Lmin + (Lmax - Lmin) * np.random.rand()
    C = Cmin + (Cmax - Cmin) * np.random.rand()
    w = wmin + (wmax - wmin) * np.random.rand()
    h = hmin + (hmax - hmin) * np.random.rand()
    x, y = tl_data(fstart, fstop, n, coaxial_length, C, L, w, length, h, er)
    data = np.vstack((data, x))
    label = np.vstack((label, y))

#保存
np.savez_compressed("tl_freq_data.npz", data=data, label=label)


10000個データを作るが、最初の1000個をグラフにしたのがこちら。

Gpuzofreq01

これを機械学習のいろいろなアルゴリズムで予測しよう(続く)。

 

 

 

« 高周波・RFニュース 2026年4月22日 QualcommのAIネイティブ6Gインタビュー動画、LGイノテックが車載Wi-Fi7モジュール1,000億ウォン受注、GSAが無線市場の現状をレポート、AppleのCEOがTim CookからJohn Ternusへ、など | トップページ | 高周波・RFニュース 2026年4月23日 Qualcommへの6G周波数割り当てインタビュー動画、5Gミリ波向け基板材料・技術のレビュー論文発行、車内センシングレーダ解説、Amphenol RFの18GHzまで使えるSMAピッグテイルアセンブリ »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 高周波・RFニュース 2026年4月22日 QualcommのAIネイティブ6Gインタビュー動画、LGイノテックが車載Wi-Fi7モジュール1,000億ウォン受注、GSAが無線市場の現状をレポート、AppleのCEOがTim CookからJohn Ternusへ、など | トップページ | 高周波・RFニュース 2026年4月23日 Qualcommへの6G周波数割り当てインタビュー動画、5Gミリ波向け基板材料・技術のレビュー論文発行、車内センシングレーダ解説、Amphenol RFの18GHzまで使えるSMAピッグテイルアセンブリ »

最近の記事

2026年5月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

最近のコメント

無料ブログはココログ
フォト