Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(2) Circuit機能を使ってL,CをつなげていってLPF(ローパスフィルタ)を合成してSパラメータを得る。チェビシェフとバタワースを比較したり素子の繋がりを図示したり。
さて先日は素子の値を求める関数を作った。
今回はその値を持つL,Cをつなげて実際のフィルタを作ってみる。scikit-rfのCircuit機能を使う。
https://scikit-rf.readthedocs.io/en/latest/tutorials/Circuit.html
作った関数のコードはこちら。
def LPF_synthesis(n, fc, fstart, fstop, points, z0=50.0, first_element="series", type = "Chebyshev", ripple = 0.1):
"""
LPFを合成し、scikit-rfのCircuitとして返す関数
n : フィルタの次数(チェビシェフの場合、偶数だと負荷のインピーダンスが50Ωになりません)
fc : カットオフ周波数[GHz]
fstart : 開始周波数[GHz]
fstop : 終了周波数[GHz]
points : 周波数点数
z0 : 信号源の特性インピーダンス
first_element : 最初にシリーズのLが来る場合"series", 最初にシャントのCが来る場合"shunt"
type : チェビシェフの場合"Chebyshev", バタワースの場合 "Butterworth"
ripple : チェビシェフの場合のリップルの大きさをdBで表したもの
"""
freq = rf.Frequency(start=fstart, stop=fstop, unit='GHz', npoints=points)
LC_elements = LC_LPF(n, fc, z0, first_element, type, ripple)
tl_media = rf.DefinedGammaZ0(freq, z0=LC_elements[0], gamma=1j*freq.w/rf.c)
gnd = rf.Circuit.Ground(freq, name='gnd')
port1 = rf.Circuit.Port(freq, name='port1', z0=z0)
port2 = rf.Circuit.Port(freq, name='port2', z0=LC_elements[-1])
if first_element == "series":
L = [0]
C = [0]
countL = 1
countC = 1
for k in range(1, n + 1):
if k % 2 != 0:
L.append(tl_media.inductor(LC_elements[k], name = f"L{countL}"))
countL +=1
else:
C.append(tl_media.capacitor(LC_elements[k], name = f"C{countC}"))
countC += 1
cnx = [[(port1, 0), (L[1], 0)]]
if n % 2 != 0:
for k in range(1, n//2 + 1):
cnx.append([(L[k], 1), (C[k], 0), (L[k+1], 0)])
cnx.append([(L[n//2 + 1], 1), (port2, 0)])
else:
for k in range(1, n//2):
cnx.append([(L[k], 1), (C[k], 0), (L[k+1], 0)])
cnx.append([(L[n//2], 1), (C[n//2], 0), (port2, 0)])
gnd_cnx = [(gnd, 0)]
for k in range(1, n//2 + 1):
gnd_cnx.append((C[k],1))
cnx.append(gnd_cnx)
elif first_element == "shunt":
L = [0]
C = [0]
countL = 1
countC = 1
for k in range(1, n + 1):
if k % 2 != 0:
C.append(tl_media.capacitor(LC_elements[k], name = f"C{countC}"))
countC +=1
else:
L.append(tl_media.inductor(LC_elements[k], name = f"L{countL}"))
countL += 1
cnx = [[(port1, 0), (C[1], 0), (L[1], 0)]]
gnd_cnx = [(gnd, 0)]
if n % 2 != 0:
for k in range(1, n//2):
cnx.append([(L[k], 1), (C[k+1], 0), (L[k+1], 0)])
cnx.append([(L[n//2], 1), (C[n//2 + 1], 0), (port2, 0)])
for k in range(1, n//2 + 2):
gnd_cnx.append((C[k],1))
else:
for k in range(1, n//2):
cnx.append([(L[k], 1), (C[k+1], 0), (L[k+1], 0)])
cnx.append([(L[n//2], 1), (port2, 0)])
for k in range(1, n//2 + 1):
gnd_cnx.append((C[k], 1))
cnx.append(gnd_cnx)
return rf.Circuit(cnx)
|
LPFを合成し、scikit-rfのCircuitとして返す関数
n : フィルタの次数(チェビシェフの場合、偶数だと負荷のインピーダンスが50Ωになりません)
fc : カットオフ周波数[GHz]
fstart : 開始周波数[GHz]
fstop : 終了周波数[GHz]
points : 周波数点数
z0 : 信号源の特性インピーダンス
first_element : 最初にシリーズのLが来る場合"series", 最初にシャントのCが来る場合"shunt"
type : チェビシェフの場合"Chebyshev", バタワースの場合 "Butterworth"
ripple : チェビシェフの場合のリップルの大きさをdBで表したもの
となっている。
ではやってみよう。まずは9次のチェビシェフフィルタ(リップル0.5dB)と9次のバタワースフィルタを比較する。
« 高周波・RFニュース 2024年7月24日 Qualcommの6G TCO削減解説、iFixitのゲームカートリッジに息を吹きかけると効果あるか?SamsungのGalaxy Z Fold6, Flip6の内部構造解説,GSAウェビナー アジア太平洋地域の5G,Wi-Fi 8におけるミリ波,MACOMの55GHzまでのLNA | トップページ | 高周波・RFニュース 2024年7月25日 Vishayの車載向け70GHz薄膜チップ抵抗、Google,Volvoが6G人材募集中、MatsingとKeysightの5G/6G動画、TT-Mobileに対してAT&TとVerisonの5Gは低速、太陽誘電のスマホ向け積層メタル系パワーインダクタ »
「パソコン・インターネット」カテゴリの記事
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年2月14日 Microwave Journal今月号で透明アンテナ、6Gタワー、月面用アンテナなど、Keysightが6GでEUと提携、TDKが日本酒の味わいを視覚化&車載PoC用巻き線インダクタ、QualcommがSnapdragon 6 Gen 4 Mobile発表(2025.02.14)
- 高周波・RFニュース 2025年2月13日 iFixitがSamsung Galaxy S25 ultraを分解、ぐりぐり回せる3D CTモデルに、Spirentの5G Outlook レポート、QualcommのオンデバイスAIホワイトペーパー、InfineonがCoolSiC™ MOSFETs 650 Vの Q-DPAKとTOLLパッケージで発表(2025.02.13)
- 高周波・RFニュース 2025年2月12日 GSAが5G standaloneウェビナー開催、CTIAと5G americasがケーブルに対抗してSpectrum for Broadband Competitionで連携、NXPがエッジAIのKinaraを買収、PBKreviewsがSamsung Galaxy S25/plus/ultra全部分解していて5Gミリ波AiPは全部1個(2025.02.12)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年2月14日 Microwave Journal今月号で透明アンテナ、6Gタワー、月面用アンテナなど、Keysightが6GでEUと提携、TDKが日本酒の味わいを視覚化&車載PoC用巻き線インダクタ、QualcommがSnapdragon 6 Gen 4 Mobile発表(2025.02.14)
- 高周波・RFニュース 2025年2月13日 iFixitがSamsung Galaxy S25 ultraを分解、ぐりぐり回せる3D CTモデルに、Spirentの5G Outlook レポート、QualcommのオンデバイスAIホワイトペーパー、InfineonがCoolSiC™ MOSFETs 650 Vの Q-DPAKとTOLLパッケージで発表(2025.02.13)
- 高周波・RFニュース 2025年2月12日 GSAが5G standaloneウェビナー開催、CTIAと5G americasがケーブルに対抗してSpectrum for Broadband Competitionで連携、NXPがエッジAIのKinaraを買収、PBKreviewsがSamsung Galaxy S25/plus/ultra全部分解していて5Gミリ波AiPは全部1個(2025.02.12)
« 高周波・RFニュース 2024年7月24日 Qualcommの6G TCO削減解説、iFixitのゲームカートリッジに息を吹きかけると効果あるか?SamsungのGalaxy Z Fold6, Flip6の内部構造解説,GSAウェビナー アジア太平洋地域の5G,Wi-Fi 8におけるミリ波,MACOMの55GHzまでのLNA | トップページ | 高周波・RFニュース 2024年7月25日 Vishayの車載向け70GHz薄膜チップ抵抗、Google,Volvoが6G人材募集中、MatsingとKeysightの5G/6G動画、TT-Mobileに対してAT&TとVerisonの5Gは低速、太陽誘電のスマホ向け積層メタル系パワーインダクタ »
コメント