« 2024年6月 | トップページ | 2024年8月 »

2024年7月

2024年7月31日 (水)

高周波・RFニュース 2024年7月31日 Qorvo、Skyworksの決算発表、QualcommがSnapdragon 4s Gen 2を発表、u-bloxの測位ソリューションがNVIDIAに採用、MarvellがStructera CXLを発表、IEEE IMS2024の論文集が公開、TDKのAI新会社

①Qorvo、Skyworksの決算発表

Qorvo® Announces Fiscal 2025 First Quarter Financial Results

 

  • 四半期の収益は前年同期比36%増となり、収益ガイダンスの中間点を3,700万ドル上回りました。
  • 北京と徳州の事業をLuxshareに移行し、AnokiwaveをQorvoに統合

Skyworks Reports Q3 FY24 Results

 

  • 収益は9億600万ドル
  • GAAP希薄化後EPSを発表0.75ドル非GAAP希薄化後EPS1.21ドル
  • 今年度の営業キャッシュフロー13億5千万ドルフリーキャッシュフロー12億7千万ドル営業キャッシュフローマージン43%、フリーキャッシュフローマージン40%

②QualcommがSnapdragon 4s Gen 2を発表

202407311

Qualcomm Unveils the Snapdragon 4s Gen 2 Mobile Platform, Making 5G Accessible to Billions of Smartphone Users Worldwide

③u-bloxの測位ソリューションがNVIDIAに採用

u-blox high-precision positioning solutions now available on NVIDIA® Jetson™ Edge AI and NVIDIA DRIVE Hyperion™ platforms

④MarvellがStructera CXLを発表

Marvell Introduces Breakthrough Structera CXL Product Line to Address Server Memory Bandwidth and Capacity Challenges in Cloud Data Centers

⑤Falcommが最初のパワーアンプ製品発表

202407312

Falcomm Releases First Power Amplifier Product

⑥IEEE IMS2024の論文集が公開

https://ieeexplore.ieee.org/xpl/conhome/10600173/proceeding

⑦TDKのAI新会社

エッジAIとセンサフュージョンで先進的な産業機械の最適化を実現する
AI新会社「TDK SensEI Pte. Ltd.」を設立

  • 新会社TDK SensEI Pte. Ltd.(以下“TDK SensEI”)を設立。
  • TDK SensEI(sensor edge intelligence)は、TDKのノウハウ、プラットフォーム、関連する技術を統合して行く。
  • 起業家・経営幹部として人工知能(AI)/ディープテック分野におけるチーム開発、製品開発、市場開拓の実績を持つSandeep Pandyaを社外から招き、CEOに任用。

2024年7月30日 (火)

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(3) プロトタイプLPFから BPF(バンドパスフィルタ)を設計・合成してチェビシェフとバタワースを比べる。

以前にLPF(ローパスフィルタ)の設計をやってみた。

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(1)プロトタイプLPF(チェビシェフ、バタワース)の素子の値を計算する関数をMatthai, Young & JonesのMicrowave Filters, Impedance-matching networks, and coupling structureを基に作る。 

 Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(2) Circuit機能を使ってL,CをつなげていってLPF(ローパスフィルタ)を合成してSパラメータを得る。チェビシェフとバタワースを比較したり素子の繋がりを図示したり。

今回はBPF(バンドパスフィルタ)。LPFからシャントCをLC並列に、シリーズLをLC直列に変換することでバンドパスフィルタが作れる。

どういう変換をするかはこれらを参照:

Microwave Filters, Impedance-Matching Networks, and Coupling Structures

Microwave Filters for Communication Systems: Fundamentals, Design, and Applications

LPFと違うのは帯域幅も指定する必要があること。LCの値を計算する関数は以下の通り。


def LC_BPF(n, f0, df, z0 = 50.0, first_element = "series", type = "Chebyshev", ripple = 0.1):
    """
    信号源、負荷の特性インピーダンスZo、中心周波数f0, 帯域幅dfのBPFのL,C素子の値をndarrayで返す関数
    n : フィルタの次数(チェビシェフの場合、偶数だと負荷のインピーダンスが50Ωになりません)
    f0 : 中心周波数[GHz]
    df : 帯域幅[GHz]
    z0 : 信号源の特性インピーダンス
    first_element : 最初にシリーズのLCが来る場合"series", 最初にシャントのLCが来る場合"shunt"
    type : チェビシェフの場合"Chebyshev", バタワースの場合 "Butterworth"
    ripple : チェビシェフの場合のリップルの大きさをdBで表したもの
    """
    gk = prototype_LPF(n, type, ripple)

    LC_elements = np.zeros((n + 2, 2))
    LC_elements[0, 0] = z0
    LC_elements[n + 1, 0] = gk[n+1] * z0
    d = df/f0
    w0 = 2 * np.pi * f0 * 1.0E9
    if first_element == "series":
        for k in range(1, n + 1):
            if k % 2 != 0:
                LC_elements[k,0] = gk[k] * z0 / (d * w0)
                LC_elements[k,1] = d / (z0 * w0 * gk[k])
            else:
                LC_elements[k,0] = d * z0/ (w0 * gk[k])
                LC_elements[k,1] = gk[k] / (z0 * w0 * d)
    elif first_element == "shunt":
        for k in range(1, n + 1):
            if k % 2 != 0:
                LC_elements[k,0] = d * z0/ (w0 * gk[k])
                LC_elements[k,1] = gk[k] / (z0 * w0 * d)
            else:
                LC_elements[k,0] = gk[k] * z0 / (d * w0)
                LC_elements[k,1] = d / (z0 * w0 * gk[k])
    return LC_elements

これを使って3次のチェビシェフフィルタを計算すると

LC_BPF(3, 1, 0.1*1, ripple=0.5)
array([[5.00000000e+01, 0.00000000e+00],
[1.27032014e-07, 1.99400884e-13],
[7.25621158e-10, 3.49084307e-11],
[1.27032014e-07, 1.99400884e-13],
[5.00000000e+01, 0.00000000e+00]])
のように計算できる。
でscikit-rfのCircuit機能を使って合成する関数はこちら。

def BPF_synthesis(n, f0, df, fstart, fstop, points, z0=50.0, first_element="series", type = "Chebyshev", ripple = 0.1):
    """
    BPFを合成し、scikit-rfのCircuitとして返す関数
    n : フィルタの次数(チェビシェフの場合、偶数だと負荷のインピーダンスが50Ωになりません)
    f0 : 中心周波数[GHz]
    df : 帯域幅[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_BPF(n, f0, df, z0, first_element, type, ripple)
    tl_media = rf.DefinedGammaZ0(freq, z0=LC_elements[0, 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, 0])

    if first_element == "series":
        Ls = [0]
        Cs = [0]
        Lp = [0]
        Cp = [0]
        countL = 1
        countC = 1
        for k in range(1, n + 1):
            if k % 2 != 0:
                Ls.append(tl_media.inductor(LC_elements[k,0], name = f"Ls{countL}"))
                Cs.append(tl_media.capacitor(LC_elements[k,1], name = f"Cs{countL}"))
                countL +=1
            else:
                Lp.append(tl_media.inductor(LC_elements[k,0], name = f"Lp{countC}"))
                Cp.append(tl_media.capacitor(LC_elements[k,1], name = f"Cp{countC}"))
                countC += 1
        cnx = [[(port1, 0), (Ls[1],  0)]]
        if n % 2 != 0:
            for k in range(1, n//2 + 1):
                cnx.append([(Ls[k], 1), (Cs[k], 0)])
                cnx.append([(Cs[k], 1), (Lp[k], 0), (Cp[k], 0),  (Ls[k+1], 0)])
            cnx.append([(Ls[n//2 + 1], 1),(Cs[n//2 + 1], 0)])
            cnx.append([(Cs[n//2 + 1], 1), (port2, 0)])
        else:
            for k in range(1, n//2):
                cnx.append([(Ls[k], 1), (Cs[k], 0)])
                cnx.append([(Cs[k], 1), (Lp[k], 0), (Cp[k], 0),  (Ls[k+1], 0)])
            cnx.append([(Ls[n//2], 1), (Cs[n//2], 0)])
            cnx.append([ (Cs[n//2], 1), (Lp[n//2], 0), (Cp[n//2], 0), (port2, 0)])
        gnd_cnx = [(gnd, 0)]
        for k in range(1, n//2 + 1):
            gnd_cnx.append((Lp[k], 1))
            gnd_cnx.append((Cp[k], 1))
        cnx.append(gnd_cnx)
    elif first_element == "shunt":
        Ls = [0]
        Cs = [0]
        Lp = [0]
        Cp = [0]
        countL = 1
        countC = 1
        for k in range(1, n + 1):
            if k % 2 != 0:
                Lp.append(tl_media.inductor(LC_elements[k,0], name = f"Lp{countC}"))
                Cp.append(tl_media.capacitor(LC_elements[k,1], name = f"Cp{countC}"))
                countC += 1
            else:
                Ls.append(tl_media.inductor(LC_elements[k,0], name = f"Ls{countL}"))
                Cs.append(tl_media.capacitor(LC_elements[k,1], name = f"Cs{countL}"))
                countL +=1
        cnx = [[(port1, 0), (Lp[1],  0), (Cp[1], 0), (Ls[1], 0)]]
        gnd_cnx = [(gnd, 0)]
        if n % 2 != 0:
            for k in range(1, n//2):
                cnx.append([(Ls[k], 1), (Cs[k], 0)])
                cnx.append([(Cs[k], 1), (Lp[k+1], 0), (Cp[k+1], 0), (Ls[k+1], 0)])
            cnx.append([(Ls[n//2], 1),(Cs[n//2],0)])    
            cnx.append([(Cs[n//2], 1), (Lp[n//2 + 1], 0), (Cp[n//2 + 1], 0), (port2, 0)])
            for k in range(1, n//2 + 2):
                gnd_cnx.append((Lp[k], 1))
                gnd_cnx.append((Cp[k], 1))
        else:
            for k in range(1, n//2):
                cnx.append([(Ls[k], 1), (Cs[k], 0)])
                cnx.append([(Cs[k], 1), (Lp[k+1], 0), (Cp[k+1], 0),  (Ls[k+1], 0)])
            cnx.append([(Ls[n//2], 1), (Cs[n//2], 0)])
            cnx.append([(Cs[n//2], 1), (port2, 0)])
            for k in range(1, n//2 + 1):
                gnd_cnx.append((Lp[k], 1))
                gnd_cnx.append((Cp[k], 1))
        cnx.append(gnd_cnx)

    return rf.Circuit(cnx)

ではフィルタを合成してみよう。5次のバタワースとチェビシェフの比較をしてみる。

bpf_butterworth =BPF_synthesis(5, 1, 0.1*1,  0.5, 2, 1000,type="Butterworth")
bpf_butterworth.name = "5th order Butterworth"
bpf_chebyshev =BPF_synthesis(5, 1, 0.1*1,  0.5, 2, 1000, ripple=0.5)
bpf_chebyshev.name = "5th order Chebyshev"
fig = plt.figure(figsize=(10,7))
bpf_butterworth.network.plot_s_db(m=1, n=0)
bpf_butterworth.network.plot_s_db(m=0, n=0)
bpf_chebyshev.network.plot_s_db(m=1, n=0)
bpf_chebyshev.network.plot_s_db(m=0, n=0)
plt.ylim(-80, 5)
plt.ylabel("S parameter[dB]")

Bpfsynth01

チェビシェフのほうが急峻だがリップルが入っているのが見える。素子のつながりは

bpf_chebyshev.plot_graph(network_labels=True, edge_labels=True, port_labels=True)
でわかる。とても見にくいが…

Bpfsynth02

高周波・RFニュース 2024年7月30日 Gartner/QorvoのEVのバッテリマネジメントシステム(BMS)解説、Qualcommのスマートグラスインタビュー、6GとISAC解説、Tachyon NetworksとPerasoの60GHz FWA、電気設計のためのAIツール、Wi-Fi 7とプライベート5Gは共存するか?など

①Gartner/QorvoのEVのバッテリマネジメントシステム(BMS)解説

Looking to the Future of Electric Vehicle Battery Management Systems

②Qualcommのスマートグラスインタビュー

Snapdragon powers the future of AI in smart glasses. Here’s how

202407301

③IntelのAIによるアスリート発掘

Intel-Powered AI Platform Technology Might Spot Next Olympic Hopeful

④WPPとNVIDIAがコカ・コーラのマーケティングに生成AI活用

Recipe for Magic: WPP and NVIDIA Omniverse Help The Coca-Cola Company Scale Generative AI Content That Pops With Brand Authenticity

⑤InfineonがInnoscienceを特許侵害で訴え

Infineon expands Infringement Lawsuit against Innoscience and files complaint with U.S. International Trade Commission

⑥6GとISAC解説

6G and Integrated Sensing & Communications: The Essentials

⑦Tachyon NetworksとPerasoの60GHz FWA

202407302

Tachyon Networks Announces New Fixed Wireless Products Based on Peraso 60 GHz mmWave Technology

⑧電気設計のためのAIツール

Working with AI Tools in Electronic Designs

⑨Wi-Fi 7とプライベート5Gは共存するか?

Wi-Fi 7 and private 5G networks: co-existence or competition?

2024年7月29日 (月)

描く人、安彦良和@兵庫県立美術館を観てきた。子供のころ見ていたアニメの多くが安彦さんの絵だったことに改めて感銘を受ける。すごい数のラフや絵コンテが残っているのも。最後に開催記念画を描かれていて動画で色付けがすごかった。そのクリアファイル買ってきた。

久しぶりに兵庫県立美術館へ。あ、カエルが戻ってる。

20240725-140946 20240725-141155 20240725-141206

ヤマト、ライディーン、ザンボット3などなど、子供のころに見ていたアニメのラフや絵コンテがたくさんで興味深かった。虫プロに在籍されていたとは知らなかった。

20240725-141420 20240725-141459 20240725-141511

機動戦士ガンダムTHE ORIGINって25年ぶりにアニメに関わられたとか。こんなにコミックを書かれていたのも知らなかった。

で最後の展示が安彦良和作品のキャラクター勢ぞろいの記念画で、その色付け風景の動画が流れていたがすごかった。こんなにすらすら色が付けられるんだと。

あまりに良かったのでクリアファイル買った。

20240725-174027

2024年7月28日 (日)

あべのハルカス美術館開館10周年記念 広重 ―摺すりの極きわみ―を観てきた。200点もの作品が展示(しかも後期入れ替わる)ですごかったが大混雑!京都や近江の風景や魚づくしも見られた。あの特徴的な青はプルシアンブルー、紅の雲も2色使っていたりする。旅人留女に笑った。

久しぶりにあべのハルカス美術館まで。

20240717-141306 20240717-141326

平日だったがものすごい人出だった。全然動かない…まあゆっくり観てきました。

とにかく作品数が多くて、しかも前期と後期でほぼ入れ替わる。前期後期合わせて338点あるようです。

東海道五拾三次(旅人留女に笑った)はもちろん、京都や滋賀の風景もたくさん展示されていた。作品の説明の上に何歳ごろの絵です、というのが書いてあったのも新設。花鳥も面白く、魚づくしで伊勢海老があったり。

あの青い空はプルシアンブルーというらしく、対比する紅も濃いのと薄いのの2色使っていたりする。面白かった。

一部は写真OKでした。以下少し撮ってきたものを。

20240717-151120 20240717-151248 20240717-151327 20240717-151349 20240717-151443 20240717-151540 20240717-151615

2024年7月27日 (土)

デッドプール&ウルヴァリンをimaxで観てきた。もうやりたい放題!20世紀フォックス、ホンダオデッセイ、マルチバース、マッドマックス、キャップ…?などディスりまくり。ウルヴァリンのあれも見られるし、あの映画で出てきた子も。エンドクレジットでは貴重な映像も。

せっかくなんで、ということでimaxで観てきた。

20240726-151734

素敵なポスターとステッカーもらった。

20240726-195534

ウルヴァリンはもう死んでるはず…というところを逆手に取った残虐シーン(とにかく血しぶきや手や首が飛んでいく)からスタート。いや不謹慎すぎる!ローガンの終わりが…

今回はその死んでるのを何とかするために時間を管理する団体が登場。何故か黄色いユニフォーム(映画版では絶対に着なかった)を着たウルヴァリンを見つける。これには最後の方であれがでる伏線だった。

マッドマクシーという言葉を初めて聞きつつ、キャップ...?と思ったらそっちか(同じ俳優さんだもんな)。

アントマンの最後…はあれなのか…

ブレイド、エレクトラそしてローガンとはかかわりの深いあの子(本人!大きくなってる!)も出る。

しかしホンダオデッセイはなんであんなにディスられるのだろうか?謎だ…

マルチバースで成功したのはオズの魔法使いだけ、というのに笑った。

デッドプール軍団の中に仮面ライダーみたいなのがいた、というのを見つつ、ラストはいい展開に。でもこれ完全にリブートするってこと?

エンドクレジットの映像は貴重でした。でもその横のクレジット誰も見ないというかわいそうなことになってるのでは。

2024年7月26日 (金)

高周波・RFニュース 7月26日 Next G Allianceの新しい6Gホワイトペーパー、HuaweiのEバンドXMC-80Dがデザイン賞受賞、QuactelのquadバンドGNSSモジュール、TelitのNB-IoTモジュール、Marvell Teralynx 51.2Tイーサネットスイッチ、GSMA APACモバイルレポート

①Next G Allianceの新しい6Gホワイトペーパー、 Channel Measurements and Modeling for Joint/Integrated Communication and Sensing, as well as 7-24 GHz Communication

ATIS’ Next G Alliance Maps the 6G Opportunities Inherent in JCAS/ICAS

202407261

②HuaweiのEバンドXMC-80Dがデザイン賞受賞

Huawei Microwave 2T E-band XMC-80D Wins iF and Red Dot Design Awards 2024

202407262

③QuactelのquadバンドGNSSモジュール

Quectel unveils industry-first quad-band GNSS module, expanding comprehensive GNSS solutions portfolio

202407263

④TelitのNB-IoTモジュール

Telit Cinterion NE310L2 Series of NB-IoT Modules for Power- and Cost-Sensitive IoT Applications Certified by Korea’s LG U+

⑤Marvell Teralynx 51.2Tイーサネットスイッチ

Marvell Teralynx 51.2T Ethernet Switch Enters Volume Production for Global AI Cloud Deployments

GSMA APACモバイルレポート

The GSMA said it expects mobile traffic in the APAC region to quadruple between 2023 and 2030

生成AI(Mistral Large 2, ChatGPT (4o), Gemini 1.5 Pro, Claude 3.5 Sonnet)にLCフィルタ(5次のチェビシェフ型ローパスフィルタ(LPF))を設計してもらった。最近Pythonとscikit-rfで設計ツールを作ったので。MistralとClaudeは完璧、ChatGPTは惜しい…Geminiは最後まで答えず…

最近、Pythonとscikit-rfでLCフィルタ(まずはLPF)を作るツールを作っている。

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(2) Circuit機能を使ってL,CをつなげていってLPF(ローパスフィルタ)を合成してSパラメータを得る。チェビシェフとバタワースを比較したり素子の繋がりを図示したり

ちょうどMistral Large 2が出たばかりなので生成AIに設計できるか試してみよう。

聞いたのは英語で、

You are an excellent microwave circuit designer. I want to design an LC filter with inductors (L) and capacitors (C) connected in a ladder shape. The cutoff frequency is 2GHz, the impedance of the signal source is 50Ω, and I want to design a Chebyshev type 5th order low pass filter (LPF) with a ripple of 0.1dB starting from L in series. Please tell me the values ​​of L and C.

というもの。

ChatGPT(GPT-4o)はやり方は合っているがテーブルが間違っている。

Chatgptlpf

Mistral Large 2は完璧!

Mistrallpf

Claude 3.5 Sonnetも完璧!

Claudelpf

Google Gemini 1.5 ProはLCの値を答えてくれず(計算できない?)テーブルも間違っている…

Geminilpf

ということで設計してもらったものを図示。

ChatGPTだけずれていてMistralとClaudeは完璧だ。すごいな生成AI。

Ailpf

 

2024年7月25日 (木)

インドの弦理論研究者が発見した新しい円周率の公式をカシオの高精度計算サイトkeisan.casio.jpにUP!確かに円周率の計算ができているし、出てくるλは実部が-1ならなんでもいいという。

この記事見た。

インドの物理学者がひも理論の研究から偶然「円周率」の新しい公式を発見 

なるほど。確かめてみよう。詳細は

Field Theory Expansions of String Theory Amplitudes
https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.132.221601

IISc physicists find a new way to represent ‘pi’
https://iisc.ac.in/events/iisc-physicists-find-a-new-way-to-represent-pi/

を参考にこの式を計算すればいい。

和の2項目はPochhammer記号(x)nだがカシオの高精度計算サイトで使えるので簡単。

Newpi

作ってみたのがこちら。確かに円周率に近づいている。λは-1以上の実部を持つ複素数だが、大きいほど収束が速そう。

リンク:

弦理論から生まれた新しい円周率公式 

画面:

 

Newp2i

内容:


インドの弦理論の研究者Arnab Priya SahaさんとAninda Sinhaさんが論文Field Theory Expansions of String Theory Amplitudesの中で新しい円周率の公式を編み出しました。それを確認します。


公式は以下の形をしており、n=1~∞までの和を取ります。λは実部が-1以上の複素数です。
Π = ∑ (1/(n+λ)-4/(2*n+1))*pochhammer((2*n+1)^2/(4*(n+λ))-n,n-1)/n!

高周波・RFニュース 2024年7月25日 Vishayの車載向け70GHz薄膜チップ抵抗、Google,Volvoが6G人材募集中、MatsingとKeysightの5G/6G動画、TT-Mobileに対してAT&TとVerisonの5Gは低速、太陽誘電のスマホ向け積層メタル系パワーインダクタ

①Vishayの車載向け70GHz薄膜チップ抵抗

Vishay Intertechnology AEC-Q200 Qualified Thin Film Chip Resistors Deliver Stable High Frequency Performance Up to 70 GHz

202407251

②Google,Volvoが6G人材募集中

Job Openings Offers Sneak Peek of 6G Research at Google, Volvo

③MatsingとKeysightの5G/6G動画

Video: How should 5G, 6G evolve?

④T-Mobileに対してAT&TとVerisonの5Gは低速

5G from AT&T and Verizon turns out to be Europe-level bad

⑤太陽誘電のスマホ向け積層メタル系パワーインダクタ

太陽誘電:スマートフォン向け積層メタル系パワーインダクタを拡充

202407252

2024年7月24日 (水)

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(2) Circuit機能を使ってL,CをつなげていってLPF(ローパスフィルタ)を合成してSパラメータを得る。チェビシェフとバタワースを比較したり素子の繋がりを図示したり。

さて先日は素子の値を求める関数を作った。

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(1)プロトタイプLPF(チェビシェフ、バタワース)の素子の値を計算する関数をMatthai, Young & JonesのMicrowave Filters, Impedance-matching networks, and coupling structureを基に作る。 

今回はその値を持つ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次のバタワースフィルタを比較する。

lpf_chebyshev = LPF_synthesis(9, fc=5, fstart=1, fstop=20, points=1001, ripple=0.5)
lpf_butterworth = LPF_synthesis(9, fc=5, fstart=1, fstop=20, points=1001, type="Butterworth")
lpf_chebyshev.name = "9th order Chebyshev"
lpf_butterworth.name = "9th order Butterworth"
fig = plt.figure(figsize=(10,7))
lpf_chebyshev.network.plot_s_db(m=1, n=0, logx=True)
lpf_chebyshev.network.plot_s_db(m=0, n=0, logx=True)
lpf_butterworth.network.plot_s_db(m=1, n=0, logx=True)
lpf_butterworth.network.plot_s_db(m=0, n=0, logx=True)
plt.ylim(-80, 5)
plt.ylabel("S parameter[dB]")
実行結果はこうなって、チェビシェフの方が急峻だがリップルが入っているのがわかる。
Lpfsynth01
回路のつながりは以下で確認できる。
lpf_chebyshev.plot_graph(network_labels=True,port_labels=True, edge_labels=True)
Lpfsynth02
分かりにくいがちゃんと想定通り繋がっている。次はバンドパスフィルタ(BPF)かな。

高周波・RFニュース 2024年7月24日 Qualcommの6G TCO削減解説、iFixitのゲームカートリッジに息を吹きかけると効果あるか?SamsungのGalaxy Z Fold6, Flip6の内部構造解説,GSAウェビナー アジア太平洋地域の5G,Wi-Fi 8におけるミリ波,MACOMの55GHzまでのLNA

①Qualcommの6G TCO削減解説

6G Foundry: Why economic innovation is a key focus for our mobile future

②iFixitのゲームカートリッジに息を吹きかけると効果あるか?

これ海外でもやってたのか!

Ask iFixit: Does Blowing Into Gaming Cartridges Actually Fix Them?

③SamsungのGalaxy Z Fold6, Flip6の内部構造解説

A Look Inside the Galaxy Z Fold6

A Look Inside the Galaxy Z Flip6

202407242 202407241

④GSAウェビナー アジア太平洋地域の5G

Regional Spotlight: 5G & 5G SA in APAC

⑤Wi-Fi 8におけるミリ波

What is the role of mmWave in Wi-Fi 8?

⑥MACOMの55GHzまでのLNA

MACOM Technology Solutions Introduces Low Noise Amplifier from 17 to 55 GHz

202407243

2024年7月23日 (火)

「しかのこのこのここしたんたん」ゲームをカシオの高精度計算サイトkeisan.casio.jpにUP! キヨシゲーム(ズン・ズン・ズン・ズンドコを揃える)のように乱数で出てくる「しか」「のこ」「こし」「たん」を揃える。マルコフ連鎖版が難しすぎるので…ただ高精度関係ないな。

アニメはみたことないがこのOPが流行っている。確かに面白い。

これをマルコフ連鎖にした方がいてこれも中毒性がある。

これをもうちょっと簡単にしてみよう。ちょうどこういうのを作っていたので、

キヨシ関数(ズン・ズン・ズン・ズンドコ)

NKODICE(んこダイス)もどき

乱数で出てくる「しか」「のこ」「こし」「たん」を揃えるものを作ってみた。

これです。

「しかのこのこのここしたんたん」ゲーム

画面はこんな感じ。

Shikanoko

揃えてみよう!

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(1)プロトタイプLPF(チェビシェフ、バタワース)の素子の値を計算する関数をMatthai, Young & JonesのMicrowave Filters, Impedance-matching networks, and coupling structureを基に作る。

Pythonの高周波ライブラリscikit-rfは便利でたいていなんでもあるが、フィルタの合成ツールがない。回路を作ることはできるので素子の値さえ計算できればつくれるな、とやってみる。

プロトタイプLPFというのはカットオフ周波数1、信号源の特性インピーダンスを1にしたものでこれをスケーリングして任意のカットオフ周波数、特性インピーダンス(通常50Ω)のLPFが設計できる。そのL,Cの値のテーブル(gk)が大抵のマイクロ波の本には載っている。

大抵の本のネタ本になっているのはMatthai, Young & JonesのMicrowave Filters, Impedance-matching networks, and coupling structureで、大昔に買った。ここにはテーブルだけでなくButterworthとChebyshevの計算式もあるのでこれを参考にしよう。

アマゾンリンク:https://amzn.to/3LAkTPr

20240723-092059

Butterworthの係数は

\[
\begin{align}
g_{0} = 1 \\
g_{k} = 2 \sin\left(\frac{(2k-1)\pi}{2n}\right) \quad k=1,2,...,n \\
g_{n+1} = 1 \\
\end{align}\] 

 Chebyshevの係数は

\[
\begin{align}
\beta = \ln\left(\coth\left(\frac{L_{Ar}}{17.37}\right)\right) \\
\gamma = \sinh\left(\frac{\beta}{2n}\right) \\
a_{k} = \sin\left(\frac{(2k-1)\pi}{2n}\right) \quad k=1,2,...,n \\
b_{k} = \gamma^{2} + \sin^{2}\left(\frac{k\pi}{n}\right) \quad k=1,2,...,n \\
\end{align}
\]

として 

\[
\begin{align}
g_{1} = \frac{2a_{1}}{\gamma} \\
g_{k} = \frac{4a_{k-1}a_{k}}{b_{k-1}g_{k-1}}\\
g_{n+1}=1 \quad n:奇数 \\
\quad=\coth^{2}\left(\frac{\beta}{4}\right)\quad n:偶数\\
\end{align}
\]

となる。LArはリップルの大きさ(チェビシェフのみ)。MathJaxの左詰めがうまくいかない…

Pythonのコードはこんな感じで、


import numpy as np
import matplotlib.pyplot as plt
import skrf as rf
rf.stylely()

def prototype_LPF(n, type = "Chebyshev", ripple = 0.1):
    """
    信号源、負荷のインピーダンス1、カットオフ周波数1のプロトタイプLPFの素子の値をndarrayで返す関数
    n : フィルタの次数(チェビシェフの場合、偶数だと負荷のインピーダンスが50Ωになりません)
    type : チェビシェフの場合"Chebyshev", バタワースの場合 "Butterworth"
    ripple : チェビシェフの場合のリップルの大きさをdBで表したもの
    """
    gk = np.zeros(n + 2)
    gk[0] = 1.0
    if type == "Chebyshev":
        ak = np.zeros(n + 1)
        bk = np.zeros(n + 1)
        beta = np.log(1 / np.tanh(ripple / 17.37))
        gamma = np.sinh(beta/(2 * n))
        for k in range(1, n + 1):
            ak[k] = np.sin((2 * k - 1) * np.pi / (2 * n))
            bk[k] = gamma**2 + np.sin(k * np.pi / n)**2
        gk[1] = 2 * ak[1] / gamma
        for k in range(2, n + 1):
            gk[k] = 4 * ak[k-1] * ak[k] / (bk[k-1] * gk[k-1])
        if n % 2 == 0:
            gk[n+1] = 1 / (np.tanh(beta/4)**2)
        else:
            gk[n+1] = 1
    elif type == "Butterworth":
        gk[n+1] = 1
        for k in range(1, n + 1):
            gk[k] = 2 * np.sin((2 * k - 1) * np.pi / (2 * n))
    return gk

9次のチェビシェフフィルタ、リップル1dBの場合は以下のようになる。ちゃんとMatthaiさんらのテーブルの値と一致。

prototype_LPF(9, ripple=1)

array([1. , 2.17980201, 1.1191509 , 3.12151925, 1.18964317,
3.17471934, 1.18964317, 3.12151925, 1.1191509 , 2.17980201,
1. ])

5次のバタワースの場合は以下の通り。

prototype_LPF(5, "Butterworth")

array([1. , 0.61803399, 1.61803399, 2. , 1.61803399,
0.61803399, 1. ])

 

スケーリングする関数はこれ。最初にシャントCが来るかシリーズLが来るか選べるようになっている。


def LC_LPF(n, fc, z0 = 50.0, first_element = "series", type = "Chebyshev", ripple = 0.1):
    """
    信号源、負荷の特性インピーダンスZo、カットオフ周波数fcのLPFのL,C素子の値をndarrayで返す関数
    n : フィルタの次数(チェビシェフの場合、偶数だと負荷のインピーダンスが50Ωになりません)
    fc : カットオフ周波数[GHz]
    z0 : 信号源の特性インピーダンス
    first_element : 最初にシリーズのLが来る場合"series", 最初にシャントのCが来る場合"shunt"
    type : チェビシェフの場合"Chebyshev", バタワースの場合 "Butterworth"
    ripple : チェビシェフの場合のリップルの大きさをdBで表したもの
    """
    gk = prototype_LPF(n, type, ripple)
    LC_elements = np.zeros(n + 2)
    LC_elements[0] = z0
    LC_elements[n+1] = gk[n+1] * z0
    wc = 2 * np.pi * fc * 1.0E9
    if first_element == "series":
        for k in range(1, n + 1):
            if k % 2 != 0:
                LC_elements[k] = gk[k] * z0 / wc
            else:
                LC_elements[k] = gk[k] / (z0 * wc)
    elif first_element == "shunt":
        for k in range(1, n + 1):
            if k % 2 != 0:
                LC_elements[k] = gk[k] / (z0 * wc)
            else:

                LC_elements[k] = gk[k] * z0 / wc

    return LC_elements

では例題としてPozarのマイクロ波工学のものをやってみる。

5次のバタワースフィルタでカットオフ周波数が2GHzのもの。最初がシャントC。

LC_LPF(5, 2, first_element="shunt", type="Butterworth")
とすると
array([5.00000000e+01, 9.83631643e-13, 6.43795269e-09, 3.18309886e-12,
6.43795269e-09, 9.83631643e-13, 5.00000000e+01])
と本に載っているのと同じ結果が得られた。
では次はこれから回路合成(続く)。
続き:

Pythonの高周波ライブラリscikit-rfを使ってマイクロ波LCフィルタ合成をする(2) Circuit機能を使ってL,CをつなげていってLPF(ローパスフィルタ)を合成してSパラメータを得る。チェビシェフとバタワースを比較したり素子の繋がりを図示したり。

高周波・RFニュース 2024年7月23日 Samsung Galaxy Z Flip6分解ビデオでミリ波AiP確認、SEMCOの車載MLCC (1210 inch X7R 22㎌ 35V)、Nordic semiconductorがスマート農業のIoT4gに参加、マッキンゼーが6Gの収益化に疑問、OPアンプのモデリング、Apple R1チップ解説

①Samsung Galaxy Z Flip6分解ビデオでミリ波AiP確認

 あれ?モールド+スパッタシールドじゃなくてシールドケースに見えるな。

Samsung Galaxy Z Flip6 Teardown Disassembly Phone Repair Video Review

202407231

②SEMCOの車載MLCC (1210 inch X7R 22㎌ 35V)

このところ車載MLCCを立て続けに発表している。

Samsung Electro-Mechanics has announced the release of a new automotive MLCC (1210 inch X7R 22㎌ 35V)

202407232

③Nordic semiconductorがスマート農業のIoT4gに参加

Nordic Semiconductor joins IoT4Ag to support development of smart agriculture

④6G Worldの記事 マッキンゼーが6Gの収益化に疑問

McKinsey Sees 6G as Tech Trend, but Monetisation Still a Question Mark

⑦QSPICEの作者さんによるOPアンプモデリング解説

An Op-Ed On Op-Amp Modeling

202407233

⑧Apple R1チップ解説

Apple R1 Opens New Avenues in Spatial Computing

202407234

2024年7月22日 (月)

Keras 3.0になってマルチバックエンド(TensorFlow,JAX, PyTorch)が使えるようになったので速度を比較してみる(3) MNIST(手書き数字認識)でPythonでRNN(再帰型ニューラルネットワーク)のBidirectional LSTMを試す。やっぱりTensorFlowが一番速く、JAX、PyTorchの順。

Kerasが3.0になってまた独立してマルチバックエンドTensorFlow, jax, PyTorch)が使えるようになっていたということで

https://keras.io/keras_3/

前々回はDNN、前回はCNN(畳み込みニューラルネットワーク)をやってみた。

Keras 3.0になってマルチバックエンド(TensorFlow,jax, PyTorch)が使えるようになったので速度を比較してみる(1) MNIST(手書き数字認識)でPythonコード書いてDNNでやってみる。TensorFlowが一番速く、jax, PyTorchの順(CPUのみ使用の場合)。ちょっと意外。

Keras 3.0になってマルチバックエンド(TensorFlow,jax, PyTorch)が使えるようになったので速度を比較してみる(2) MNIST(手書き数字認識)でPythonでCNN(畳み込みニューラルネットワーク)でやってみる。TensorFlowが一番速く、PyTorch, JAXの順(CPUのみ使用の場合)。

 

今回はRNN(再帰型ニューラルネットワーク)のうち、Bidirectional LSTMを試してみる。

準備はこのような感じで、


import os
# os.environ["KERAS_BACKEND"] = "tensorflow"
# os.environ["KERAS_BACKEND"] = "jax"
os.environ["KERAS_BACKEND"] = "torch"
import keras
# データはMNIST
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255

# Functional APIでDense層+ドロップアウト層を3層にしたDNNを設定
hidden_dim = 500
inputs = keras.Input(shape=(28, 28))
x = keras.layers.Bidirectional(keras.layers.LSTM(50, return_sequences=True))(inputs)
x = keras.layers.Bidirectional(keras.layers.LSTM(50))(x)
outputs = keras.layers.Dense(10, activation="softmax")(x)

# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.SparseCategoricalCrossentropy(),    
            metrics=[keras.metrics.SparseCategoricalAccuracy(name="acc"),])

時間を測る学習部分のコード


batch_size = 128
epochs = 10

keras.utils.set_random_seed(1)
model.fit(
    x_train,
    y_train,
    batch_size=batch_size,
    epochs=epochs,
    validation_split=0.15,
)
score = model.evaluate(x_test, y_test, verbose=0)
print(score)

結果は

TensorFlow

Kerastensorflowrnn

JAX

Kerasjaxrnn

PyTorch

Kerasjaxrnn

やっぱりTensorFlowが一番速い。

Kerasrnn

ということでCPUのみ使う場合、Keras3.0のバックエンドはTensorFlowにすればよさそう。

GPU使う場合は別途試す。

高周波・RFニュース 2024年7月22日 Mini-Circuitsの36GHzまでのトリプラー、CMTのVNAでミキサ測定ホワイトペーパー、Intelのオリンピック用AtheleteGPT、Samsung Galaxy Watch 7分解(Exynos W1000)、I-PEXの細線同軸コネクタがカメラモジュールに採用、NVIDIAの学習コースなど

①Mini-Circuitsの36GHzまでのトリプラー

Mini-Circuits Introduces Active Frequency Tripler with Output Frequency from 18 to 36 GHz

202407223

②CMTのVNAでミキサを測定するホワイトペーパー

Mixer Measurement with a Vector Network Analyzer

③Intelのオリンピック用AtheleteGPT

From Athletes to GenAI Developers: Intel Tackles Real-World Challenges with AI Systems

④Samsung Galaxy Watch 7分解(Exynos W1000)

Samsung Galaxy Watch 7

202407221

⑤I-PEXの細線同軸コネクタがカメラモジュールに採用

Leopard Imaging社がカメラモジュールにI-PEX細線同軸コネクタを選んだ理由

202407222

⑥Silicon Labsの開発者会議

Silicon Labs' Works With 2024 Goes Global: Registration Opens for Annual IoT Developer Conference with New In-Person Events

⑦NXPのデジタルキーがCCC認証

NXP Accelerates Digital Car Keys with Certification from Car Connectivity Consortium

⑧NVIDIAのAI学習コース

Byte-Sized Courses: NVIDIA Offers Self-Paced Career Development in AI and Data Science

2024年7月21日 (日)

丸亀製麵で鬼おろし鶏からぶっかけ(大)をいただく。なすびがいいアクセントで美味しい。

このお店では肉ぶっかけではなくて鶏からぶっかけでした。

ネギもたっぷり入れて。

暑くてもこのおろしがさっぱりさせてくれる。なすもいいアクセントになってる。

20240716-141119 20240716-141120

2024年7月20日 (土)

特別展:日本の巨大ロボット群像−鉄人28号、ガンダム、ロボットアニメの浪漫−@京都文化博物館を観てきた。鉄人28号、マジンガーZ、コンバトラーVなど懐かしいロボットがたくさん。だが一番おおっ!と思ったのはゼロテスターとロボットは2本のレバーで操縦できるか?

子供のころからロボットアニメ好きの私は行くしかあるまい、と行ってきた。

20240716-132035

鉄人28号の変遷。変わりすぎる…

20240716-132937 20240716-133033 20240716-133112 20240716-133148 20240716-133235 20240716-133251

マジンガーZ。

20240716-133316 20240716-133347

コンバトラーV。

20240716-133535

こういう巨大な絵画も。宮武一貴さん作。

20240716-133707

20240716-133841 20240716-135123

さらば愛しきルパンに出てきたロボット、ラムダ。

20240716-134012

実物大ガンダム。

20240716-134735

で、実は一番テンション上がったのはこれ。ゼロテスター。ロボットじゃないけど…

これ好きだった。

20240716-133751 20240716-133853

実は出口にあったこれも面白いなと。日立建機のロボットは2本のレバーで操縦できるか?

20240716-135750

2024年7月19日 (金)

京都国立博物館で豊臣秀次公430回忌 特集展示 豊臣秀次と瑞泉寺を観てきた。平常展示の1Fの一角でした。しかし側室の辞世和歌が大量にあってこんなに殺されたのか…と唖然とする。修理が完成した縹糸威胴丸も展示されていた。

最初3Fに上がったら平常展示で、あれ?豊臣秀次と瑞泉寺はどこ?と思ったら1Fの奥の方に特集展示がありました。

20240718-125940 20240718-130002 20240718-130031

自害に追い込まれた豊臣秀次と、その側室(多いうえに全部殺害された)の辞世和歌が大量にあってビビる…豊臣秀吉むちゃくちゃだな。まあ当時としては仕方ない。

縹糸威胴丸の修理記念公開と、刀剣も飾られていて興味深かった。

20240718-164105

3F,2Fの平常展示も国宝も展示されていて見ごたえあり。

 

高周波・RFニュース 2024年7月19日 Nanusensの6G RF-FEM向けDTC、LNA市場は2030年で40億ドル規模に、HMD Skylineの分解しやすさ、アメリカがパッケージングに16億ドルを投資、ルネサスの宇宙向けリファレンスデザイン、Wi-Fi 8のMAPC、Walmartのonn分解

①Nanusensの6G RF-FEM向けDTC

MEMSでDTC、というのはもう大昔にやっていたが頓挫した。これは大丈夫なのだろうか。

Nanusens Solves Challenges of 6G RF Front End Design with its RF DTCs

202407191

②LNA市場は2030年で40億ドル規模に

大昔の携帯電話はLNAなしのバランス線路だったのがシングルエンド+LNAになったので大きくなったのを思い出す。

Research Report: RF Low Noise Amplifier Market Expected to Grow to $4 Billion by 2030

202407192

③HMD Skylineの分解しやすさ

カムシャフト!

202407193

HMD Skyline: A New Twist on Repairable Smartphone Design

④アメリカがパッケージングに16億ドルを投資

US to Invest $ 1.6 Billion in Advanced Packaging Research

⑤Wi-Fi 8のMAPC

What is Multi-Access Point Coordination (MAPC) in Wi-Fi 8?

 

⑥ルネサスの宇宙向けリファレンスデザイン

ルネサス、AMDの宇宙用Versal AIエッジ アダプティブSoC向けに、電圧監視付きパワーマネジメントリファレンスデザインを提供開始

⑦Walmartのonn分解

Walmart’s onn. UHD streaming device: Android TV at a compelling price

 

2024年7月18日 (木)

Keras 3.0になってマルチバックエンド(TensorFlow,jax, PyTorch)が使えるようになったので速度を比較してみる(2) MNIST(手書き数字認識)でPythonでCNN(畳み込みニューラルネットワーク)でやってみる。TensorFlowが一番速く、PyTorch, JAXの順(CPUのみ使用の場合)。

Kerasが3.0になってまた独立してマルチバックエンドTensorFlow, JAX, PyTorch)が使えるようになっていたということで

https://keras.io/keras_3/

前回はDNN(Deep Neural Networks)で比較してみた。

Keras 3.0になってマルチバックエンド(TensorFlow,jax, PyTorch)が使えるようになったので速度を比較してみる(1) MNIST(手書き数字認識)でPythonコード書いてDNNでやってみる。TensorFlowが一番速く、jax, PyTorchの順(CPUのみ使用の場合)。ちょっと意外。

今回はCNN(畳み込みニューラルネットワーク)でやってみよう。

初期設定は共通で、Kerasのサイトの例題をFunctional APIに書き直して使っている。


import os
# os.environ["KERAS_BACKEND"] = "tensorflow"
# os.environ["KERAS_BACKEND"] = "jax"
os.environ["KERAS_BACKEND"] = "torch"
import keras
import numpy as np
# データはMNIST
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255
x_train = np.expand_dims(x_train, -1)
x_test = np.expand_dims(x_test, -1)

# Functional APIでCNN設定
inputs = keras.Input(shape=(28, 28, 1))
x = keras.layers.Conv2D(64, kernel_size=(3, 3), activation="relu")(inputs)
x = keras.layers.Conv2D(64, kernel_size=(3, 3), activation="relu")(x)
x = keras.layers.MaxPooling2D(pool_size=(2, 2))(x)
x = keras.layers.Conv2D(128, kernel_size=(3, 3), activation="relu")(x)
x = keras.layers.Conv2D(128, kernel_size=(3, 3), activation="relu")(x)
x = keras.layers.GlobalAveragePooling2D()(x)
x = keras.layers.Dropout(0.5)(x)
outputs = keras.layers.Dense(10, activation="softmax")(x)

# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.SparseCategoricalCrossentropy(),    
            metrics=[keras.metrics.SparseCategoricalAccuracy(name="acc"),])

時間を計測する学習部分はこのコード。


batch_size = 128
epochs = 5

keras.utils.set_random_seed(1)
model.fit(
    x_train,
    y_train,
    batch_size=batch_size,
    epochs=epochs,
    validation_split=0.15,
)
score = model.evaluate(x_test, y_test, verbose=0)
print(score)

結果はこちら。

TensorFlow

Kerascnntensorflow

JAX

Kerascnnjax

PyTorch

Kerascnnpytorch

TensorFlowがやっぱり速いのは前と同じだが、今度はJAXが非常に遅くなった。

Kerascnn

謎だ…GPU使えば結果は変わるのかな。次はRNNをやってみよう。

高周波・RFニュース 2024年7月18日 QorvoのSmart Living eBook,BroadcomのCPOの解説,iFixitの任天堂スイッチ修理用ツールキット,SEMCOの2000V対応車載MLCC,SamsungがナレッジグラフのOxford Semantec Technologiesを買収,TIのパワーモジュールパッケージ(インダクタ内蔵)記事

①QorvoのSmart Living eBook

 UWB、Matter、Wi-Fi7などいろんなソリューションを持っているQorvo。こういうのがちゃんと書けるのがえらい。

Next-Gen Conectivity for Smart Living eBook

202407181

②BroadcomのCPO(Co-Packaged Opticss)の解説ブログ

 あるところで次のNVIDIAと書かれていた。

Optical Interconnects: enabling large-scale AI clusters

202407182

③iFixitの任天堂スイッチ修理用ツールキット

 これ専用のがあるのか。

Everything You Need to Know Before You Fix Your Nintendo Switch

④SEMCOの2000V対応車載MLCC

Samsung Electro-Mechanics Develops 2,000V High-Voltage MLCCs for Electric Vehicles

 

202407183

⑤SamsungがナレッジグラフのOxford Semantec Technologiesを買収。

Samsung Electronics Announces Acquisition of Oxford Semantic Technologies, UK-Based Knowledge Graph Startup

 

⑥TIのパワーモジュールパッケージ(インダクタ内蔵)記事

Breaking the mold: How a new magnetic packaging technology will reshape the future of power modules

202407184

2024年7月17日 (水)

数学セミナー2024年8月号 生成AIとこれからの数学 を買ってきた。シュレーディンガー方程式をニューラルネットワークで計算するのがもう標準的になっているって知らなかった。証明支援系LeanとGPTが融合したり、Transformerの数理があったりと勉強になる。CPT定理も。

久しぶりに数学セミナー買ってきた。生成AIとこれからの数学、というタイトルにひかれて。

https://amzn.to/3zOCjpa

20240717-113333

内容は以下の通り

*[対談] 数学者・物理学者の見た生成 AI……坂上貴之+橋本幸士 6

 橋本さんがシュレディンガー方程式や固有値問題はもうニューラルネットワークを使って解くのが標準的という話をしていて驚く。

 そういう方法があるのは知っていたけどもうそこまで普及しているのか。

*生成AIは数学の夢を見るか?……宮﨑弘安 16

 証明支援系Leanがすごいという話はよく聞いていたが、それとGPTを融合させる話があるのか。それは面白そう。

*脳と生成AIを巡って……合原一幸 22

 脳とAIは基本構成要素の複雑さが断然違うのを近づける話は面白かった。ホジキン=ハクスレイ方程式は私も計算したことある。 

*数学教育と生成AI……竹内英人 28

 AIに教えてもらうのではなくて、AIが生徒になって教える、というのは面白い。

*生成AIの数理……鈴木大慈 34

 Transformerの数理の一端がわかって興味深かった。Attensionの代替手段も多く提案されているのは知らなかった。

 

あと、

場の量子論の数学をめぐって/場の量子論の二つの基本定理……立川裕二 44 

のCPT定理は学生時代に最初に学んだときに驚いたので懐かしかった。

今回、物理へのニューラルネットワークの応用が進んでいるのを知ったのでもっと調べてみよう。

 

高周波・RFニュース 2024年7月17日 Microwave Journal 7月号でアンテナチューニングデバイスのRF-MEMSスイッチによるテスト,IEEE Journal of Microwavesでミリ波の人体への影響レビュー,韓国がITUの6G標準化主導、5G americasのホワイトペーパーSpectrum Sharingなど

①Microwave Journal 7月号でアンテナチューニングデバイスのRF-MEMSスイッチによるテスト

今月の特集はこれでした。

Software, Simulation & Test

以下の記事、RF-MEMS自身をアンテナチューニングデバイスに使う、というのは大昔やっていたけどスイッチング速度が遅すぎることとやっぱり寿命があるので頓挫した…テストの方に使うのはいい考え。

Using MEMS Switches to Characterize High Performance Antenna Tuning Devices

202407171

②IEEE Journal of Microwavesでミリ波の人体への影響レビュー

この雑誌はオープンジャーナルです。いつもなかなか面白い論文が乗ってる。

https://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=9171629

今回はこれかな。

Physical Interactions Between Millimeter Waves and Human Body: From Macro- to Micro-Scale

202407172

③韓国がITUの6G標準化主導

South Korea, Samsung to Lead 6G Standardisation Group at ITU

⑤5G Americasの新ホワイトペーパー

5G Americas Examines Spectrum Challenges and Opportunities in New Briefing Paper


202407173

2024年7月16日 (火)

ウラムの螺旋(Ulam Spiral)をPythonとSympyで500万まで描いてみる。

ウラムの螺旋というのがある。

https://ja.wikipedia.org/wiki/%E3%82%A6%E3%83%A9%E3%83%A0%E3%81%AE%E8%9E%BA%E6%97%8B

数字をらせん状に置いていき、素数のみ塗っていくと構造(水平線、垂直線、対角線)が見えるというもの。

昔から知っているがそういや自分で描いたことなかった。理由は螺旋に置くいい感じのアルゴリズムが思いつかなかったから…

いい感じじゃなくて愚直にやるなら簡単か、と思ってやってみた。しかもPythonならSympyがあるので素数の判定も簡単。

コードはこんな感じ。


import numpy as np
import matplotlib.pyplot as plt
from sympy import isprime

n = 2302
a =np.zeros((n, n - 1),dtype=np.int64)
#中央
i = n//2 -1
j = n//2 -1
# 1, 2だけあらかじめ入力
a[i, j] = 0
i += 1
a[i, j] = 1
# 螺旋を描く
num = 3
s = 1
for t in range(n//2-1):
    for k in range(s):
        j -= 1
        a[i, j] = isprime(num)
        num += 1
    s += 1
    for k in range(s):
        i -= 1
        a[i, j] = isprime(num)
        num += 1
    for k in range(s):
        j += 1
        a[i, j] = isprime(num)
        num += 1
    s += 1
    for k in range(s):
        i += 1
        a[i, j] = isprime(num)
        num += 1
# 最後の部分
s -= 1
for k in range(s):
    j -= 1
    a[i, j] = isprime(num)
    num += 1

plt.figure(figsize=(50,50))
plt.imshow(a.T, cmap="Greys")
print(num - 1)

では100万まで描いたとき。

Ulam100

500万まで描いたとき

Ulam500

対角線がよく見える。実は1億でも普通にできるが、ファイルサイズが大きくなりすぎるので今回はここまで。

高周波・RFニュース 2024年7月16日 O-RAN Allianceのミリ波アンテナホワイトペーパー、中国は世界初の6Gフィールドテストネットワークを作ったと主張、KYOCERA AVXが車載MLCC発表、SamsungのLPDDR5XがMediaTekに採用、EricssonとOPPOがクロスライセンス、など

①O-RAN Allianceのミリ波アンテナホワイトペーパー

Sumitomo Electric Industries (SEI)、 Dell Technologies、 NTT、 KDDIということで日本企業中心。

O-RAN White Paper: State of the Art, State of the Industry

202407163

②中国は世界初の6Gフィールドテストネットワークを作ったと主張

China claims world’s first ‘6G’ field test network

②KYOCERA AVXが車載MLCC発表

KYOCERA AVX Launches 20 New KAM Series Automotive MLCCs

KAM シリーズ自動車用 MLCC の最新拡張には、20 種類の新しいコンポーネントが含まれています。新しいリリースは、厚さ 0.33mm ~ 1.45mm の 4 つのケース サイズ (0201、0402、0603、0805)、ニッケル/スズ端子、2 つの誘電体 (X7R と X7T)、4 つの電圧定格 (4、6.3、10、16V)、0.1 ~ 22µF (±10%) の静電容量値、および紙またはエンボス加工プラスチック テープが巻かれた 7 インチ リールで提供されます。

202407161

③SamsungのLPDDR5XがMediaTekに採用

Samsung Completes Validation of Industry’s Fastest LPDDR5X for Use With MediaTek’s Flagship Mobile Platform

Samsung の 10.7Gbps LPDDR5X は、前世代と比較して消費電力とパフォーマンスが 25% 以上向上しています。これにより、モバイル デバイスのバッテリー寿命が長くなり、デバイス上の AI パフォーマンスが向上し、サーバーやクラウドへのアクセスを必要とせずに音声テキスト生成などの AI 機能の速度が向上します。

202407162

④Intelの製造技術者研修制度

Intel Launches Its First US Apprenticeship for Manufacturing Facility Technicians

⑤NVIDIAとMetaのCEOがSIGGRAPH2024で対談

Jensen Huang, Mark Zuckerberg to Discuss Future of Graphics and Virtual Worlds at SIGGRAPH 2024

⑥NordicのnRF52840が業務用冷蔵庫等の温度管理に採用

Nordic-powered commercial fridge and freezer monitoring device oversees stock availability and temperature levels

⑦EricssonとOPPOのクロスライセンス

Ericsson and OPPO sign global patent cross license agreemen

⑧スマホ市場はYoYで6%上昇

Smartphone market up more than 6% YoY IDC

2024年7月15日 (月)

高周波・RFニュース 2024年7月15日 GSAウェビナー:2G/3Gの終焉と5Gブロードキャストへの影響、Atomeraの5G Advanced/6G向けRF-SOI、Wireless Broadband AllianceのWi-Fi Hollow トライアル、Arthur D Littleの次世代通信への投資に関する解説、Motorola Edge2024分解動画など

①GSAウェビナー:2G/3Gの終焉と5Gブロードキャストへの影響

まだ2G(GSM)を使っている国はあって、iPhoneもGalaxyも対応している。たださすがにもう終焉してきていて、空いた周波数で5Gブロードキャスト(テレビが5Gになる)に使うという話があって、そのウェビナー。

2G/3G sunset and implications for 5G Broadcast

202407151

②Atomeraの5G Advanced/6G向けRF-SOI

Soitecと協業しているそうだ。

Atomera Enables Breakthrough RF Substrates for 5G Advanced and 6G Products

こういう技術らしい。

https://atomera.com/technology-mst/

202407152

③Wireless Broadband AllianceのWi-Fi Hollow トライアル

Wireless Broadband Alliance Announces Triumphant Wi-Fi HaLow Phase Two Real-World IoT Field Trials

④Arthur D Littleの次世代通信への投資に関する解説

RESHAPING TELECOM INVESTMENT IN A NEXT-GENERATION WORLD

⑤EricssonのAIソリューション

Ericsson and Umniah deploy AI-powered energy-saving solution in Jordan

⑥Fibocomの受賞

Fibocom 5G Sub-6GHz and mmWave Module FG190W-NA Awarded as IoT Evolution Product of the Year 2024

⑦Motorola Edge2024分解動画

https://www.youtube.com/watch?v=dxfkaFMUU0g

202407153

2024年7月14日 (日)

からやまでタルタルガパオ盛り定食をいただく。タルタルソースがかかったから揚げとガパオ、目玉焼き、キャベツ、えびせんという謎メニュー。それぞれの味はいいのだが小さなスプーンで食べにくいのとどうしても混ざってしまう…

これは今まで見たからやまのメニューで一番の謎。確かにいろんなものが乗っているけどいくら何でも乗せすぎじゃないかとか。

牛丼屋さんでよくある小さなスプーンでガパオは食べにくい…タルタルとガパオがどうしても混ざる(まあ混ざっても美味しいですが)

20240713-135931

たっぷりのタルタルはいいのだが、この組み合わせならタルタルなくてもいい気がする。

20240713-135933

2024年7月13日 (土)

キングダム 大将軍の帰還を観てきた。よかった!前半で泣き、中盤でアクションで興奮し終盤また泣く…特にタイトル回収シーン。大沢たかおさんの王騎はやはりすごかった。吉川晃司さんとの戦いは息をのむし21年前は若返っていた。山﨑賢人さんの信の成長も泣く。全員見せ場あった。

昨日、金曜ロードショーで前作観て早速観に行った。

20240713-10294320240713-102902

もう最初から吉川晃司さん演じる龐煖が絶望的な強さで、清野菜名さん演じる羌瘣のすごい技(ここかっこよかった)も信も通じない。仲間が大勢やられていく…と思ったらさらに絶望的なピンチが襲う。信を助けるためにまた飛信隊の皆が…ここから泣けるシーンが続く…

しかし敵は待ってはくれない。ここから怒涛の戦争シーンで大興奮。

そして王騎と龐煖の因縁になった新木優子さんもよかった。長澤まさみさんは相変わらず美しかった(出番少ないけど)。そういう意味では橋本環奈さんも(重要なシーンにはいたけど)出番はだいぶ少なかったな。

大沢たかおさんと吉川晃司さんのタイマンバトルの迫力は特にすごかったし、やっぱり今回は大沢たかおさんが主役だな…21年前は若返っていたし。でも最後のタイトル回収シーンで山﨑賢人さんと吉沢亮さんにバトンが渡された感がある。が、今回で一応一区切りか…

原作また読み返そう。

2024年7月12日 (金)

ピッチドロップ実験(The Pitch Drop Experiment),10滴目は今どうなっているか?(2024年7月更新)去年より少しだけ根元が膨らんだように見える。やっぱり2027年くらいに落ちそう。しかしライブ映像に今日は5人くらい(説明者と見学者ぽい)映り込んでいて驚く。見学OKだそうだ。

1年ぶりの更新です。

ではライブ映像を見に行ってみよう。

https://livestream.com/uq/events/5369913

Pitchdrop2024

去年と比較すると少しだけ根元が膨らんでいるようにも見える。でもまだまだっぽい。

以前に予測したように2027年くらいかな。

Pitchdrop20242

しかしライブ映像に今日は5人くらい(説明者と女性2人とおそらく中国の男声2人)が写り込んでいた。

でカメラを見つけて顔を向けたり。さすがにその映像はプライバシーの関係で出せないと思っていなくなるまでまってスクショした。

クイーンズランド大学によると見学OKのようだ。

https://smp.uq.edu.au/pitch-drop-experiment

See for yourself

To see the experiment for yourself, view the physical set-up in its display case in the foyer of the Parnell Building (Building 7).

高周波・RFニュース 2024年7月12日 IEEE Microwave Magazine8月号で相変化材料RFスイッチレビュー、5GスマホのプロセッサシェアでMediaTekがQualcommを抜く、5G&RedCapが車載通信の主流に、ソフトバンクがAIプロセッサのGraphcoreを買収, Fossibot F105分解

①IEEE Microwave Magazine 8月号

 https://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6668

 今月はどの記事もなかなか面白いがこれをあげる。いつまでたっても使えそうなRFスイッチでないな、とか思ってたけれどだいぶ進んでいるな。

A Tale of Two Phases: An Overview of Phase-Change Material RF Switch Technology: Sub-20-fs RON*COFF RF Switch Technology for the Mm-Wave and 5G/6G Revolutions

202407120

②5GスマートフォンのプロセッサのシェアでMediaTekがQualcommを抜く

 安い5Gスマホがいま続々と出ているのでこれはそうだろうな、と思うがKirin(Huawei/Hisilicon)が一度は消えたがまた復活しているのすごい。

Omdia: MediaTek outgrowing Qualcomm Snapdragon in the 5G smartphone market

202407121

③車載通信は2030年までに5G, 5G RedCapが主流に

202407122

5G, 5G RedCap to Dominate Automotive Connectivity by 2030

④ソフトバンクがGraphcoreを買収

  AMDといい、またAI関連の買収が増えていくのだろう。

202407123

AI Chip Startup Graphcore Acquired by SoftBank

⑤Fossibot F105 Rugged Smartphone分解動画

 こういうのは昔は日本でも作ってたのだが、もう今は中華圏メーカーがいくつも出してる。

Fossibot F105 Rugged Smartphone Teardown Disassembly Phone Repair Video Review

2024年7月11日 (木)

Keras 3.0になってマルチバックエンド(TensorFlow,jax, PyTorch)が使えるようになったので速度を比較してみる(1) MNIST(手書き数字認識)でPythonコード書いてDNNでやってみる。TensorFlowが一番速く、jax, PyTorchの順(CPUのみ使用の場合)。ちょっと意外。

Kerasが3.0になってまた独立してマルチバックエンドTensorFlow, jax, PyTorch)が使えるようになっていた。

https://keras.io/keras_3/

同じPythonコードで自由に選べるということで速度比較をしてみよう。jaxに期待している。

まずは設定のコード(Functional API利用)はほぼ共通で、KERAS_BACKENDで選べるようになっている。

import os
os.environ["KERAS_BACKEND"] = "tensorflow"
# os.environ["KERAS_BACKEND"] = "jax"
# os.environ["KERAS_BACKEND"] = "torch"
import keras
# データはMNIST
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255

# Functional APIでDense層+ドロップアウト層を3層にしたDNNを設定
hidden_dim = 500
inputs = keras.Input(shape=(28, 28))
x = keras.layers.Flatten()(inputs)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.Dropout(0.5)(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.Dropout(0.5)(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.Dropout(0.5)(x)
outputs = keras.layers.Dense(10, activation="softmax")(x)

# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.SparseCategoricalCrossentropy(),    
            metrics=[keras.metrics.SparseCategoricalAccuracy(name="acc"),])
で速度を比較したのはfitの部分。
batch_size = 128
epochs = 20

keras.utils.set_random_seed(1)
model.fit(
    x_train,
    y_train,
    batch_size=batch_size,
    epochs=epochs,
    validation_split=0.15,
)
score = model.evaluate(x_test, y_test, verbose=0)
print(score)
ではやってみよう。
TensorFlow
Kerastensorflowdnn
jax
Kerasjaxdnn
PyTorch
Keraspytorchdnn
まとめるとこうなった。TensorFlowが一番速かった。ちょっと意外。モデルが単純すぎるのかな?あるいはCPUだけならこうなるとか。
Kerasdnn
もうちょっと違う例でやってみよう。

高周波・RFニュース 2024年7月11日 SamsungがGalaxy Z fold 6/Z flip 6を発表、QualcommがSnapdragon 8 Gen 3を発表,ローデシュワルツのAIと5G,6G、CMTのVNAでTDRをするときには逆Chirp-Z変換を使うというホワイトペーパー,IEEE Microwave Magazineで最適化手法レビュー

①SamsungがGalaxy Unpackで発表

Samsung Galaxy Z Fold6 and Z Flip6 Elevate Galaxy AI to New Heights

202407111

②Qualcommがそれに使われるプロセッサを発表

The Most Advanced Snapdragon Mobile Platform, Snapdragon 8 Gen 3 for Galaxy, Powers the New Samsung Galaxy Z Series Globally

202407112

③AMDがSilo AIを買収

AMD to Acquire Silo AI to Expand Enterprise AI Solutions Globally

④ローデ&シュワルツの5G/6GとAIについての解説

Network AI Evolution, 5G to 6G

⑤CopperMountainTechnologyのTDR解説(逆Chirp-Z変換)

 TDRはどういう原理なのか?といろんな人に聞かれることがある。もう面倒なのでSパラメータデータの逆FFTをやってる(そもそもフーリエ変換を知らない人も多い…)とずっと説明してました。しかし実はどのメーカーのVNAのTDRもそれ使ってなくて逆Chirp-Z変換というのをやっている。フーリエ変換でも混乱しているのにこんなことをいったら大混乱するだろうので。

最大の理由は時間のスケールを変えられるので。

The Inverse Chirp-Z Transform for VNA Time Domain Processing

202407113

⑥IEEE Microwave Magazineで高周波回路の最適化手法のレビュー

 こんなに網羅されてるのは初めて見た!

A Review of Electromagnetics-Based Microwave Circuit Design Optimization

2024年7月10日 (水)

高周波・RFニュース 2024年7月10日 AkoustisのWi-Fi7用フィルタ採用、TDKの車載コモンモードフィルタ、QualcommのAIワークショップ、SamsungがPreferred NetworksとAIアクセラレータで協業、など。

①Qorvoに訴えられていたAkoustisのプレスリリース

これで損益が改善されるかな?

Akoustis Secures $8 Million in Volume XBAW® Orders with Tier-1 Customer

202407101

②TDKのプレスリリース

EMC対策製品: 車載Ethernet 10BASE-T1S用コモンモードフィルタのラインアップ拡大と量産

202407102

③テクノフロンティア2024は7/24から。

https://www.jma.or.jp/tf/

④QualcommのAIワークショップ

Exploring the present and future of AI: Insights from Qualcomm's AI Analyst & Media Workshop

⑤Samsungのプレスリリース

Samsung Electronics To Provide Turnkey Semiconductor Solutions With 2nm GAA Process and 2.5D Package to Preferred Networks

202407103

⑥GSAのウェブサイトのデザインが変わってる!

https://gsacom.com/

2024年7月 9日 (火)

ららぽーと門真のつじ田で濃厚豚崩しつけ麺(特盛)をいただく。ものすごい麺の量で、スープ割にするほどつけ汁が残らず。でも美味しい。

ららぽーと門真に来るたびにこれを食べている。昼前のだいぶ早い時間に行ったけど行列ができていた。隣2つのラーメン屋さんも気になるが…20231223-114434

とにかく特盛にすると麺が多い。持ち上げるのに苦労するくらい。そしてつけ汁がいつもほとんど残らずにスープ割ができないという。

すだちと黒七味がいいアクセントになって、最後まで美味しくいただける。

20231223-114436

2024年7月 8日 (月)

なか卯でレバニラ親子丼をいただく。これはうまいな!ピリ辛で、鶏レバー大好きなうえにレバー以外にちゃんと鶏肉も入っている。

全然食欲はなかったがなか卯でレバニラ親子丼を食べた。

食欲なくてもするする入るほど美味しかった!ピリ辛の味付けがとても良い!

20240626-183020

2024年7月 7日 (日)

映画「フェラーリ」を観てきた。最初はアダム・ドライバー、体形から変えてきててすごいなとかエンツォの私生活ってなかなかやばいなとか、レースや設計をもっと見たい、とか思っていたが、最後のレース、ミッレミリアで衝撃を受ける…これ史実だよな…こんなことがあったのか…

こんなに人間が飛んでいく映画は初めてみた。

20240706-134609

もっとレースや車の設計についてやるのかと思っていたらエンツォ・フェラーリの私生活が中心で、アダム・ドライバーはもう面影ないほどエンツォに寄せてきていてすごいなと思った。

ペネロペ・クルスも面影ないくらいくたびれた奥さんを演じていてこれもすごいなと(ただ銃のシーンはびっくりした)。

当時の車はそこまで安全じゃないということだろうが、とにかくレーサーがよく死ぬ。しかも飛んで。

それでもまだレーサーだけならわかるんだが、最後のミッレミリア。迫力がすごくて、普通のフィクションなら優勝して万歳ということになりそうだが史実は恐ろしいことになっていた。こんなことがあったのか…

どよーんとした気持ちで帰ってきた。

でも映画としてはよくできていると思う。フェラーリが好きでない人にもおすすめだが、史実を知らないで見ると衝撃を受けます。

2024年7月 6日 (土)

すき家でトリプルニンニク牛丼(ニンニクの芽牛丼とフライドにんにくと唐辛子ガーリックフレーク)、松屋でカルビホルモン丼をいただく。ビジュアル的にはすき家の方がにんにく度高そうだが、味的には松屋のにんにく度がめちゃくちゃ高い。

毎日暑いんでここはトリプルニンニク牛丼でスタミナを、ということですき家でいただく。

食べても食べてもニンニク。また唐辛子フレークで辛みも強い。なかなか元気がでる。

20240703-111458

そしてホルモン好きな私は松屋でカルビホルモン丼もいただく。

え!これニンニクダレが半端なくかかっていてご飯にもたっぷりでものすごいニンニク感。

さすが最近の松屋はニンニクの使い方がとんでもない。ただメニューとだいぶビジュアルが違うのだけは…

20240629-122801

 

2024年7月 5日 (金)

開創1150年記念 醍醐寺 国宝展@大阪中之島美術館に行ってきた。国宝、重要文化財がずらりと並び圧巻だったが、途中で突然、初音ミクのような桜ミクが着物姿で桜の木の前で舞い踊るARが挟まっていたので度肝を抜かれた。

久々に大阪中之島美術館へ。開創1150年記念 醍醐寺 国宝展を観に来た。

20240704-131414

写真NGだったが、入り口に「展示場は写真NG、展示場ロビーはOK」と書いてあって、どういうこと?と思いながら入る。

数々の仏像(不動明王坐像 快慶作がよかった)や醍醐寺の由来、豊臣秀吉が醍醐寺に来た時の記録など、国宝や重要文化財がごろごろあって圧巻でした。

で会場1と会場2の間に…桜ミク 醍醐の桜ARが!これのことか!

20240704-133836

せっかくなんでやってみた。結構いい動きをしていた。

20240704-134037 20240704-134027 20240704-134016

桜ミクは度肝を抜かれましたが、それ以外の展示もすごいのでお勧めです。

2024年7月 4日 (木)

高周波・RFニュース 2024/7/4 ロームと京大のテラヘルツ発振の発表、Sivers semiconductorの列車向け57-71GHzミリ波モジュール採用、Vishayの電子爆発システム向けタンタルコンデンサ、FCCのAIと6Gを見据えた安全保障会議、など。

①ロームと京大のテラヘルツ発振器の計測の発表

 最近ロームはテラヘルツ関係の発表を立て続けにしている。ということは内部で結構プレッシャーがあったりするのかな。

半導体テラヘルツ発振器の超高速振動ダイナミクスの計測と制御に成功―次世代無線通信やセンシングの高機能化へ―

論文はこちら。Van der Polモデル使ってるな。

Phase-resolved measurement and control of ultrafast dynamics in terahertz electronic oscillators

202407041

②Vishayの電子爆発システム向けのタンタルコンデンサ

 こんなものがあるとは知らなかった…

Vishay Intertechnology Solid Tantalum Molded Chip Capacitors Deliver Enhanced Performance for Electronic Detonation Systems

202407042

③Infinionの電気自動車向け電流センサ

202407043

Infineon and Swoboda cooperate to develop high-performance current sensors for electromobility

④GSAのFWAについての発表

Fixed Wireless Access - GSA FWA Forum Contribution to EU Digital Infrastructure Consultation

⑤FCCのAIと6Gを見据えた安全保障会議

FCC Kicks Off Security Council with AI at Centre and 6G in Mind

⑥Sivers Semiconductorの57-71GHzを使う列車内ミリ波通信

 やっとこの周波数帯を使うアプリが出てきたかな(広まらないと思うけれど)。

202407044

Sivers Semiconductors Announces 5G Contract with Blu Wireless for High-Speed Broadband Communication for Track-to-Train applications

⑦VerisonのCEOのコメント

  • 公共の安全のために4.9GHz帯をどのように管理すべきかをめぐって論争がある
  • 一部の公共安全機関はファーストネットに4.9GHz帯の制御を要求しているが、他の機関は地方での制御を主張している。
  • ベライゾンは、周波数帯の価値が140億ドルを超えるこの帯域にAT&Tがアクセスすることを望んでいない。

Verizon CEO disses AT&T-backed plan for 4.9 GHz

⑧P板のインピーダンスのTDR測定

How to measure PCB trace or power/return plane impedance

ガス警報器を新しくしたらWi-Fi接続でしゃべったり人感センサーもついてメール送ったりする!先日のエアコンのWi-Fi接続といい、いきなり我が家がIoTハウスになっていく気が…

先日、

 エアコンを新しくしたら(日立の白くまくん)、飛行機のフラップのように風が出るところが動くし、凍結洗浄するし、加熱で防カビするし、フィルタ掃除ユニットが自動で掃除してくれるし、さらにWi-Fiがつながる。もう私の知ってるエアコンじゃない…温度制御ロボだ。

という話を書いた。今日はガス警報器を取り付けてもらったらWi-Fルーターが必要と言われ、なんで?と思ったら

これだった。

https://home.osakagas.co.jp/search_buy/piko_kemu/lp/2021/index.html

Sumapico

これも私が知っているガス警報器と違う…

天気をしゃべったり、家族が帰ったのを人感センサで拾ってメールで送ったり…

こういうの本当にいるのかな…欲しかったら別の機器でやると思うけれど。

何にせよ我が家のIoT化が全然望んでないのに進んでいく(冷蔵庫はWi-Fiないのを選んだ)。

 

2024年7月 3日 (水)

高周波・RFニュース 2024/7/3 Next G Allianceの6G周波数帯ホワイトペーパー、NGMNのエネルギー効率の高いネットワークのロードマップ、5G Americasによると5G接続数は20億に、GSAのレポート 5G体験、Xiaomi Poco F6 Pro 分解など。

①AtisのNext G Alliance(NGA)の新しいホワイトペーパー6Gの周波数帯域ニーズ

 6Gもテラヘルツだ!と言っていたけれど7-15GHzくらいに落ち着きそう。

Spectrum Needs for 6G

202407031

②NGMNの新しいロードマップ

 高速なネットワークも大事だけれどこっちの方が大事かもしれない。

GREEN FUTURE NETWORKS: A ROADMAP TO ENERGY EFFICIENT MOBILE NETWORKS

202407032

③5G Americasの発表 5G接続は数は20億に

  まだ2Gの国もあるので実感ないなあ…

Global 5G Connections Reach Nearly Two Billion



  • 5G のグローバル接続は2024 年第 1 四半期に 1 億 8,500 万の新規接続により 20 億近くに達し、
    2028 年までに 77 億に達すると予測されています。
  • 北米の 5G 導入は全ワイヤレス セルラー接続の 32% を占め、世界平均の 2 倍。11% の成長と 2,200 万の新規接続
④GSAのレポート
このレポートは、Opensignal のデータを利用して、ネットワークの可用性、平均ダウンロード速度とアップロード速度、ビデオストリーミング、ゲーム体験など、5G の現状を示します。

Pythonの高周波用ライブラリscikit-rfがv1.1.0になってImpedance Corrected 2xThru(ZC-2xThru, IEEEP370)のバグが直った。早速試す。公式サイトの例が線路なのでバンドパスフィルタで。まずまずの結果が得られた。

scikit-rf、いつの間にかv1.1.0になっていて

https://github.com/scikit-rf/scikit-rf/releases/tag/v1.1.0

fix wrong fix-2 flip in ieeep370 with z correction by @mhuser in #1072

という項目が。前々からmatlabのコードとどうも合わんな、と思っていたがやっぱりバグだったか。

ではチェックしてみよう。

公式サイトの例が全部マイクロストリップラインを使って作っているのでいまいち面白くない…

https://scikit-rf.readthedocs.io/en/latest/examples/networktheory/IEEEP370%20Deembedding.html

そこで試すのはTDKさんのバンドパスフィルタにした。まず表示してみる。

import skrf as rf
import numpy as np
import matplotlib.pyplot as plt
from skrf.calibration import (IEEEP370_SE_NZC_2xThru, IEEEP370_MM_NZC_2xThru,
                              IEEEP370_SE_ZC_2xThru, IEEEP370_MM_ZC_2xThru)
from skrf.media import MLine
rf.stylely()

# TDKのWi-Fi BPF
dut = rf.Network("dea165550bt-2322a1-h.s2p")
dut.name = 'DUT'
dut.plot_s_db()

表示すると、

Zc2xthru1

のようになる。

ではフィクスチャとThruを模してみよう。

まずSMAコネクタ(50Ω)があって、基板との接続部(今回は細いラインでインダクタ的)があり、そこから基板の線路があるとする。

フィクスチャは50ΩラインだがThruは1.5倍の線幅でインピーダンスが低い側にずれているとする。

コードはこんな感じ。

freq = dut.frequency
W   = 3.20e-3 #3.00e-3 for 50 ohm
H   = 1.55e-3
T   = 50e-6
ep_r = 4.459
tanD = 0.0183
f_epr_tand = 1e9

# 50オームライン(基板のラインとSMAコネクタ部想定)
MSL1 = MLine(frequency=freq, z0_port=50, w=W, h=H, t=T,
        ep_r=ep_r, mu_r=1, rho=1.712e-8, tand=tanD, rough=0.15e-6,
        f_low=1e3, f_high=1e12, f_epr_tand=f_epr_tand,
        diel='djordjevicsvensson', disp='kirschningjansen')

# 線幅1.5倍のライン(Thruのインピーダンスずれ想定)
MSL2 = MLine(frequency=freq, z0_port=50, w=1.5*W, h=H, t=T,
        ep_r=ep_r, mu_r=1, rho=1.712e-8, tand=tanD, rough=0.15e-6,
        f_low=1e3, f_high=1e12, f_epr_tand=f_epr_tand,
        diel='djordjevicsvensson', disp='kirschningjansen')

# 50%線幅が細いライン=コネクター基板接続部を想定
MSL3 = MLine(frequency=freq, z0_port=50, w=0.5*W, h=H, t=T,
        ep_r=ep_r, mu_r=1, rho=1.712e-8, tand=tanD, rough=0.15e-6,
        f_low=1e3, f_high=1e12, f_epr_tand=f_epr_tand,
        diel='djordjevicsvensson', disp='kirschningjansen')

SMA = MSL1.line(10e-3, 'm')
contact = MSL3.line(5e-3, 'm')
fixtureline = MSL1.line(20e-3, 'm')
thruline = MSL2.line(20e-3, 'm')

fdf = SMA ** contact ** fixtureline ** dut ** fixtureline ** contact ** SMA
fdf.name = 'FIX-DUT-FIX'
s2xthru =  SMA ** contact ** thruline ** thruline ** contact ** SMA
s2xthru.name = '2x-Thru'
fdf.plot_s_db()

表示すると

Zc2xthru2
のようになって波打った波形(リップル)になっている。コネクタ部の影響。

Thruの方はもっとひどくて

Zc2xthru3

のようになっている。さて、ZC-2xThruを実行してみる。

dm_zc  = IEEEP370_SE_ZC_2xThru(dummy_2xthru = s2xthru, dummy_fix_dut_fix = fdf,
                         bandwidth_limit = 10e9, pullback1 = 0, pullback2 = 0,
                         leadin = 0, NRP_enable = False,
                         name = 'zc2xthru')
zc_d_dut = dm_zc.deembed(fdf)
zc_d_dut.name = 'zc_DUT'
zc_d_dut.plot_s_db()
Zc2xthru4

リターンロスがいまいちだがまずまずではなかろうか。

 

ちなみにNZC-2xThruだとだいぶひどいのでZC-2xThruの効果は出ている。

Zc2xthru5

IEEE P370のZC-2xThruなどについてはこちらを。matlabのコードもある。

Open-Source De-embedding

https://gitlab.com/IEEE-SA/ElecChar/P370

 

2024年7月 2日 (火)

高周波・RFニュース2024/7/2 ロームのテラヘルツ共鳴トンネルダイオード、TechInsightsのVivo X Fold3 Pro分解、Motorola Moto Edge 50 Ultra X50 Ultra分解、Nordic 搭載のマルチセンサー プラットフォーム、Z-Waveの新しいリファレンスアプリケーションデザイン

①ロームのテラヘルツ共鳴トンネルダイオードの記事

 とはいえTHzが6Gに使われるようになるのはおそらく2040年とかになるんじゃないかと思っている。とにかく飛ばないのとパワーアンプの効率を何とかしないと…5Gミリ波も全くと言っていいほど普及してないし…

人類に残された唯一の未開拓周波数 テラヘルツ波

202407021

②日本メクトロンがメクテックに

 英語名がこうだったから違和感ないですね。

商号変更のお知らせ

③TechInsightsのVivo X Fold3 Pro分解

 これフォルダブルの中ではかなりデザインいいな。

Teardown of the Vivo X Fold3 Pro Foldable Smartphone

202407022

④Motorola Moto Edge 50 Ultra X50 Ultra分解
 一般的な中華圏のスマホの構造であまり面白くは…

Motorola Moto Edge 50 Ultra X50 Ultra Teardown Disassembly Phone Repair Video Review

202407023

⑤Nordic 搭載のマルチセンサー プラットフォーム
  これちょっとほしいな。

Nordic-powered multi-sensor platform monitors device movement, environmental conditions, and air quality

202407024

 

⑥Z-Waveの新しいリファレンスアプリケーションデザイン
Matterがでてからこういうのの扱いがよくわからなくなった…

Z-Wave Alliance Announces Release Of 2024A Spec And A New Z-Wave Reference Application Design (ZRAD)

2024年7月 1日 (月)

高周波・RFニュース2024/7/1 エリクソンモビリティレポート2024年6月版発行,QorvoのUWBでサッカー選手の位置検知、Qualcommの6Gユースケース解説、Intelの完全統合型光I/Oチップレット、AkoustisのWi-Fi 7フィルタの採用発表など。

①Ericsson Mobility Report June 2024が発行された。

Ericsson Mobility Report June 2024

202407011

今回は

  • 5Gにより、ますます多くのFWAサービスプロバイダーが速度ベースの料金プランを提供できるようになる
  • 5G加入者数は2029年末までに56億人近くに達すると予測
  • モバイルデータトラフィックは2029年末までに年間20%増加すると予想

というレポートになっている。

②QorvoのUWBがサッカー選手の位置検知に使われているという。

Revolutionizing European Football with UWB Micro-Location

こういうやつらしい。リアルタイムで選手の動きがわかるのが面白い。

Improved positioning for football analytics

202407012

③Qualcommの6Gユースケース解説

Path to 6G: Envisioning next-gen use cases for 2030 and beyond

Qualcommが3GPPで話し合われた内容を解説しているが、本当にこういうのが必要なのかなとはいつも疑問に思う。

202407013

④SEMCOが車載MLCCで1206インチ(3.2×1.6mm)、X7S(-55~125℃)、定格電圧100Vで4.7μFの静電容量品を発表

最近車載品を立て続けに出してる。

Samsung Electro-Mechanics Announces the Launch of Automotive MLCC (1206 inch X7S 100V 4.7μF)

⑤インテル、初の完全統合型光I/Oチップレットを発表
NVIDIAやAMDに押されているが、こういう方向ではIntelが進んでいるなと思う。

Intel Demonstrates First Fully Integrated Optical I/O Chiplet

202407014

⑥Akoustis が Tier 1 キャリアから Wi-Fi 7 プログラムの 200 万ドルの大量注文を獲得

Akoustis Receives $2 Million in Volume Orders for Wi-Fi 7 Program from Tier-1 Carrier


Qorvoに訴えられてたけど大丈夫かな…

  • ティア 1 顧客がトライバンド 4x4 MIMO ルーターでAkoustis の次世代 5.5 GHz および 6.5 GHz Wi-Fi XBAW ®フィルターを使用
  • セキュア Wi-Fi 7 フィルターの注文は 2024 年 7 月から 2025 年 3 月までの生産をサポート  

⑦マーベル、業界初のアクティブ電気ケーブル向け 1.6T PAM4 DSP で接続リーダーシップを拡大

Marvell Extends Connectivity Leadership With Industry's First 1.6T PAM4 DSP for Active Electrical Cables

  • 銅配線用の新しい Alaska® A 1.6T PAM4 DSP は、業界をリードする Marvell の 5nm PAM4 テクノロジーに基づいて構築されています。

  • AI アクセラレータと GPU 帯域幅の需要に対応するために、200G/レーン I/O の高まるニーズに対応します。 

  • 高速コンピューティング ラック内で 1.6T 短距離銅線接続を可能にします。

⑧GSAのレポート発行

Spectrum - Spectrum Allocations June 2024

エアコンを新しくしたら(日立の白くまくん)、飛行機のフラップのように風が出るところが動くし、凍結洗浄するし、加熱で防カビするし、フィルタ掃除ユニットが自動で掃除してくれるし、さらにWi-Fiがつながる。もう私の知ってるエアコンじゃない…温度制御ロボだ。

長い間古いエアコンを使っていて、今回買い替えたら…

20240630-185413

なんだ?送風するところが飛行機のフラップのようになってる!

マニュアル見てもものすごい量の機能がある。

https://kadenfan.hitachi.co.jp/support/raj/item/RAS-JT71R2E4/index.html

・パワフルPremiumプラズマ空清

・凍結脱臭クリーナー

・屋外機凍結洗浄

・カビバスター

などなど。しかもフィルタの掃除も自動でやってくれる。

スマホにアプリを入れると、

https://kadenfan.hitachi.co.jp/ra/app2/

Wi-Fiで制御できるようにもなってる。

もうなんでもありだな。エアコンというより温度制御ロボ、という感じ。

« 2024年6月 | トップページ | 2024年8月 »

最近の記事

最近のコメント

2024年11月
          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
フォト
無料ブログはココログ