« 2025年1月 | トップページ | 2025年3月 »

2025年2月

2025年2月28日 (金)

エッホエッホと走るフクロウの赤ちゃんがいらすとやのイラストとして公開されたので、それを使ってUnityで動かしてみた動画。もうちょっと動きに工夫がいるな。

このポスト見て、

 

さっそくいらすとやさんがイラストにしていたので、

 

さっそくUnityを使って動画にしてみた。

 

動きがいまいちか…

Visual C#(C_sharp)用のグラフプロットライブラリScottPlotを使う(2) 2ポートTouchstoneフォーマットのSパラメータを読み込んで高周波設計で用いられるスミスチャートとdB表示プロットを描く。拡大縮小移動も簡単。

今回はSパラメータの表示。dB表示は簡単だが、スミスチャートはどうする?と思ったらもうScottPlotに用意されていた。

https://scottplot.net/cookbook/5.0/SmithChart/

これなら簡単だ。ソースコードはこんな感じで(Touchstone読むところは面倒なので手抜き…)。

namespace PlotSmith
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            radioButton1.Checked = true;
            var axis = formsPlot1.Plot.Axes;
            axis.Bottom.Label.Text = "Frequency[MHz]";
            axis.Bottom.Label.FontSize = 21;
            axis.Bottom.TickLabelStyle.FontSize = 21;
            axis.Left.Label.Text = "S parameter[dB]";
            axis.Left.Label.FontSize = 21;
            axis.Left.TickLabelStyle.FontSize = 21;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            List<double> freq = new List<double>();
            List<List<double>> spara = new List<List<double>>();

            StreamReader sr = new StreamReader("dea165550bt-2322a1-h.s2p");
            while (!sr.EndOfStream)
            {
                string? line = sr.ReadLine();
                if (line != null && line[0] != '!' && line[0] != '#')
                {
                    string[] data = line.Split(' ');

                   
                    freq.Add(double.Parse(data[0]));
                    List<double> list = new List<double>();
                    list.Add(double.Parse(data[1]));
                    list.Add(double.Parse(data[2]));
                    list.Add(double.Parse(data[3]));
                    list.Add(double.Parse(data[4]));
                    spara.Add(list);
                   
                }
            }
            int n = spara.Count;
            if (radioButton1.Checked)
            {
                formsPlot1.Plot.Clear();
                var fr = new double[n];
                var s11 = new double[n];
                var s21 = new double[n];
                for (int i = 0; i < n; i++)
                {
                    fr[i] = freq[i];
                    s11[i] = spara[i][0];
                    s21[i] = spara[i][2];
                }
                var s11plot = formsPlot1.Plot.Add.ScatterLine(fr, s11);
                s11plot.LegendText = "S11";
                s11plot.LineWidth = 5;
                var s21plot = formsPlot1.Plot.Add.ScatterLine(fr, s21);
                s21plot.LegendText = "S21";
                s21plot.LineWidth = 5;
                formsPlot1.Plot.Legend.FontSize = 21;
                formsPlot1.Plot.ShowLegend();
                formsPlot1.Plot.Axes.AutoScale();
                formsPlot1.Refresh();
            }
            if (radioButton2.Checked)
            {
                formsPlot1.Plot.Clear();
                var smith = formsPlot1.Plot.Add.SmithChartAxis();
                var s11re = new double[n];
                var s11im = new double[n];  
                for (int i = 0;i < n; i++)
                {
                    var db = spara[i][0];
                    var phase = spara[i][1];
                    var mag = Math.Pow(10.0, db / 20.0);
                    s11re[i] = mag * Math.Cos(phase * Math.PI / 180.0);
                    s11im[i] = mag * Math.Sin(phase * Math.PI / 180.0);
                }
                var sline = formsPlot1.Plot.Add.ScatterLine(s11re, s11im);
                sline.LineWidth = 5;
                formsPlot1.Plot.Axes.AutoScale();
                formsPlot1.Refresh();
            }


        }
    }
}

実行結果の動画。dBとスミスチャートを切り替えられるようにした。

 

 

 

2025年2月27日 (木)

高周波・RFニュース 2025年2月27日 Rogersがミリ波レーダ用基板の新製品発表、QorvoがXバンドレーダ解説、Silicon Labsがスマートホーム用新SoC発表、STMがGNNS受信機を発表、DesignCon2025でのBroadcomの発表内容、Qualcommが産業用にDragonwing発表

・Rogersがミリ波レーダ用基板の新製品発表

比誘電率3ほどでtanδは0.0015とかなりいい。

Rogers Corporation Launches New Thermoset Laminates for Automotive Radar Sensor Applications

202502271

・QorvoがXバンドレーダ解説

X-Band Radar: Driving Defense Applications with Beamforming, GaN and GaAs Technology

202502272

・Silicon Labsがスマートホーム用新SoC発表

Silicon Labs Redefines Smart Home Connectivity with New Concurrent Multiprotocol SoC

202502274

 

・STMがGNNS受信機を発表 

STMicroelectronics releases innovative satellite navigation receiver to democratize precise positioning for automotive and industrial applications

202502273

・DesignCon2025でのBroadcomの発表内容

DesignCon 2025: How Broadcom engineers are helping design for the future of tech

・Qualcommが産業用にDragonwing発表

Unveiling the Qualcomm Dragonwing brand portfolio: Solutions for a new era of industrial innovation

(その他)

MaxLinear and RFHIC Deliver High-Efficiency Power Amplifier Solution for 5G Macro Cell Radio Units

Nordic-powered smart lenses automatically adjust focus to enhance near and far vision

UnityでVisual C#用の常微分方程式ソルバーOpen Solving Library for ODEs(OSLO)を使ってピタゴラスの三体問題を適応型ルンゲクッタ法、Dormand&PrinceのRK547Mで計算して玉を動かして軌跡を付ける。カメラも回転させる。ついでに背景もつけた。

UnityでMath.NET Numericsという数値計算ライブラリを使うシリーズをやっているが、ルンゲクッタ法が4段4次のものしかないのでピタゴラスの三体問題のような精度が問題になるようなものはできず、Pythonで計算したものをCSVファイルにして読み込むということしかできなかった。

しかし、MicrosoftがOpen Solving Library for ODEs(OSLO)を出していることを知ったのでこれならできるな、とやってみた。

AssetsフォルダにMicrosoft.Research.Oslo.dllを置くと自動的に参照してくれた。

ソースコードは以下の通り。


using UnityEngine;
using System;
using System.Collections.Generic;
using Microsoft.Research.Oslo;
using System.Linq;

public class CsvReader : MonoBehaviour
{
    List<float> x1 = new List<float>();
    List<float> x2 = new List<float>();
    List<float> x3 = new List<float>();
    List<float> y1 = new List<float>();
    List<float> y2 = new List<float>();
    List<float> y3 = new List<float>();
    int n;
    int count;
    GameObject Ball1;
    GameObject Ball2;
    GameObject Ball3;

    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {


        Ball1 = GameObject.Find("Ball1");
        Ball2 = GameObject.Find("Ball2");
        Ball3 = GameObject.Find("Ball3");

        var sol = Ode.RK547M(
                                0,
                                new Vector(1, 0, 3, 0, -2, 0, -1, 0, 1, 0, -1, 0),
                                (t, x) => threebody(t, x),
                                new Options
                                {
                                    AbsoluteTolerance = 1e-12,
                                    RelativeTolerance = 1e-12
                                });
        var points = sol.SolveFromToStep(0, 100, 0.01).ToArray();


        n = points.Length;
        count = 0;
        foreach (var s in points)
        {
            x1.Add(Convert.ToSingle(s.X[0]));
            y1.Add(Convert.ToSingle(s.X[2]));
            x2.Add(Convert.ToSingle(s.X[4]));
            y2.Add(Convert.ToSingle(s.X[6]));
            x3.Add(Convert.ToSingle(s.X[8]));
            y3.Add(Convert.ToSingle(s.X[10]));

        }



    }
    Vector threebody(double t, Vector x)
    {
        var f = new double[12];
        var m1 = 3.0;
        var m2 = 4.0;
        var m3 = 5.0;

        var qx1 = x[0];
        var vx1 = x[1];
        var qy1 = x[2];
        var vy1 = x[3];

        var qx2 = x[4];
        var vx2 = x[5];
        var qy2 = x[6];
        var vy2 = x[7];

        var qx3 = x[8];
        var vx3 = x[9];
        var qy3 = x[10];
        var vy3 = x[11];

        var Ra = Math.Pow(Math.Sqrt(Math.Pow((qx2 - qx1), 2.0) + Math.Pow((qy2 - qy1), 2)), 3);
        var Rb = Math.Pow(Math.Sqrt(Math.Pow((qx3 - qx1), 2.0) + Math.Pow((qy3 - qy1), 2)), 3);
        f[0] = vx1;
        f[1] = m2 * (qx2 - qx1) / Ra + m3 * (qx3 - qx1) / Rb;
        f[2] = vy1;
        f[3] = m2 * (qy2 - qy1) / Ra + m3 * (qy3 - qy1) / Rb;

        Ra = Math.Pow(Math.Sqrt(Math.Pow((qx1 - qx2), 2.0) + Math.Pow((qy1 - qy2), 2)), 3);
        Rb = Math.Pow(Math.Sqrt(Math.Pow((qx3 - qx2), 2.0) + Math.Pow((qy3 - qy2), 2)), 3);
        f[4] = vx2;
        f[5] = m1 * (qx1 - qx2) / Ra + m3 * (qx3 - qx2) / Rb;
        f[6] = vy2;
        f[7] = m1 * (qy1 - qy2) / Ra + m3 * (qy3 - qy2) / Rb;

        Ra = Math.Pow(Math.Sqrt(Math.Pow((qx1 - qx3), 2.0) + Math.Pow((qy1 - qy3), 2)), 3);
        Rb = Math.Pow(Math.Sqrt(Math.Pow((qx2 - qx3), 2.0) + Math.Pow((qy2 - qy3), 2)), 3); ;
        f[8] = vx3;
        f[9] = m1 * (qx1 - qx3) / Ra + m2 * (qx2 - qx3) / Rb;
        f[10] = vy3;
        f[11] = m1 * (qy1 - qy3) / Ra + m2 * (qy2 - qy3) / Rb;

        return f;
    }

    // Update is called once per frame
    void Update()
    {
        if (count > n)
        {
            count = 0;
        }
        Ball1.transform.position = new Vector3(x1[count], y1[count], 0f);
        Ball2.transform.position = new Vector3(x2[count], y2[count], 0f);
        Ball3.transform.position = new Vector3(x3[count], y3[count], 0f);
        count++;
    }
}

結果をカメラを回しながら動画にしたもの。せっかくなんで背景に空もつけた。

 

ちゃんと計算してそうで一安心。

 

 

2025年2月26日 (水)

Visual C#用のMicrosoftの常微分方程式ソルバー、Open Solving Library for ODEs(OSLO)を使ってみる(1) 適応型のルンゲクッタ、Dormand&PrinceのRK547MとGear の後退差分式(BDF)が使える。ピタゴラスの三体問題を計算してみた。

Visual C#で数値計算する時はMath.NET Numericsを使うのが便利だが、常微分方程式が4段4次のルンゲクッタ法しかないので硬い問題などがほぼ無理。そこでもうちょっといろいろあるのはないかなと思って探すとこれがあった。

Open Solving Library for ODEs

適応型のルンゲクッタ、Dormand&PrinceのRK547MとGear の後退差分式(BDF)が使える。まずはダウンロードして、、、

あれ?dllがない?自分でビルドしろということか。早速やってみると(古いバージョンなので)いろいろ怒られながらとりあえずできた。

使い方はとても簡単なので、早速やってみる。4段4次のルンゲクッタで計算するのがとても難しいピタゴラスの三体問題にしよう。

 Python+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)を使う(その5) ピタゴラスの三体問題を計算する。rtolとatolを設定しないと無茶苦茶になる。

Visual C#のコードはこんな感じで。RK547Mを使った。


using Microsoft.Research.Oslo;

namespace PlotRungeKutta02
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            var axis = formsPlot1.Plot.Axes;
            axis.Bottom.Label.Text = "x";
            axis.Bottom.TickLabelStyle.FontSize = 21;
            axis.Left.Label.Text = "y";
            axis.Left.TickLabelStyle.FontSize = 21;
            axis.Title.Label.Text = "3 body probrem";
            axis.Title.Label.FontSize = 32;
            axis.SetLimits(-6, 6, -6, 6);
            formsPlot1.Refresh();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var sol = Ode.RK547M(
                        0,
                        new Vector(1, 0, 3, 0, -2, 0, -1, 0, 1, 0, -1, 0),
                        (t, x) => threebody(t, x),
                        new Options
                        {
                            AbsoluteTolerance = 1e-12,
                            RelativeTolerance = 1e-12
                        });
            var points = sol.SolveFromToStep(0, 100, 0.01).ToArray();

            var x1 = new double[points.Length];
            var y1 = new double[points.Length];
            var x2 = new double[points.Length];
            var y2 = new double[points.Length];
            var x3 = new double[points.Length];
            var y3 = new double[points.Length];

            int i = 0;
            foreach (var s in points)
            {
                x1[i] = s.X[0];
                y1[i] = s.X[2];
                x2[i] = s.X[4];
                y2[i] = s.X[6];
                x3[i] = s.X[8];
                y3[i] = s.X[10];
                i++;
            }

            var p1 = formsPlot1.Plot.Add.ScatterLine(x1, y1);
            p1.LineWidth = 5;
            var p2 = formsPlot1.Plot.Add.ScatterLine(x2, y2);
            p2.LineWidth = 5;
            var p3 = formsPlot1.Plot.Add.ScatterLine(x3, y3);
            p3.LineWidth = 5;
            formsPlot1.Refresh();
        }

        Vector threebody(double t, Vector x)
        {
            var f = new double[12];
            var m1 = 3.0;
            var m2 = 4.0;
            var m3 = 5.0;

            var qx1 = x[0];
            var vx1 = x[1];
            var qy1 = x[2];
            var vy1 = x[3];

            var qx2 = x[4];
            var vx2 = x[5];
            var qy2 = x[6];
            var vy2 = x[7];

            var qx3 = x[8];
            var vx3 = x[9];
            var qy3 = x[10];
            var vy3 = x[11];

            var Ra = Math.Pow(Math.Sqrt(Math.Pow((qx2 - qx1), 2.0) + Math.Pow((qy2 - qy1), 2)), 3);
            var Rb = Math.Pow(Math.Sqrt(Math.Pow((qx3 - qx1), 2.0) + Math.Pow((qy3 - qy1), 2)), 3);
            f[0] = vx1;
            f[1] = m2 * (qx2 - qx1) / Ra + m3 * (qx3 - qx1) / Rb;
            f[2] = vy1;
            f[3] = m2 * (qy2 - qy1) / Ra + m3 * (qy3 - qy1) / Rb;

            Ra = Math.Pow(Math.Sqrt(Math.Pow((qx1 - qx2), 2.0) + Math.Pow((qy1 - qy2), 2)), 3);
            Rb = Math.Pow(Math.Sqrt(Math.Pow((qx3 - qx2), 2.0) + Math.Pow((qy3 - qy2), 2)), 3);
            f[4] = vx2;
            f[5] = m1 * (qx1 - qx2) / Ra + m3 * (qx3 - qx2) / Rb;
            f[6] = vy2;
            f[7] = m1 * (qy1 - qy2) / Ra + m3 * (qy3 - qy2) / Rb;

            Ra = Math.Pow(Math.Sqrt(Math.Pow((qx1 - qx3), 2.0) + Math.Pow((qy1 - qy3), 2)), 3);
            Rb = Math.Pow(Math.Sqrt(Math.Pow((qx2 - qx3), 2.0) + Math.Pow((qy2 - qy3), 2)), 3); ;
            f[8] = vx3;
            f[9] = m1 * (qx1 - qx3) / Ra + m2 * (qx2 - qx3) / Rb;
            f[10] = vy3;
            f[11] = m1 * (qy1 - qy3) / Ra + m2 * (qy2 - qy3) / Rb;

            return f;
        }
    }
}

結果はこちら。

Olsothreebody01

ちゃんと計算できてるっぽい。Ode.RK547Mの代わりにOde.GearBDFにしても同様に計算できた。これは使えそう。

 

2025年2月25日 (火)

姫路城の周りをぐるっと歩く。

姫路に用事があってやってきたが、姫路城の中に入るほどの時間がなかったので周りを歩いてきただけ。

遠くから。

20241207-132840 20241207-133132 20241207-133147 20241207-133230 20241207-133232 20241207-133439

真下で撮った。

20241207-133825

2025年2月24日 (月)

いつの間にかMicrosoft 365 Copilotが使えるようになった(7) パワーポイントに高周波エンジニアのためのAI・機械学習入門の項目を与えてプレゼン資料作ってもらう。Wordと違って直接スライドを作ってくれて結構いい感じ。

さて今回はパワーポイント。

前から高周波エンジニアのためのAI・機械学習入門というのをやっている。

https://sci.tea-nifty.com/blog/2024/09/post-88d00e.html#more

これをプレゼン資料にタイトルだけ与えてしてもらおう。

1~21までやると長すぎると怒られたので、1~6までだけ。

すると…

Copilotpowerpoint01

おお、結構いい感じのデザインで作ってくれてる。実はこれが一番使えたりして。

Copilotpowerpoint02

 

 

2025年2月23日 (日)

松屋で煮込みキャベツのトマトハンバーグ定食をいただく。トマトの酸味とキャベツの食感がよく、もちろんニンニクもたっぷりで美味しい。

ご飯は特盛で注文。やわらかいハンバーグにトマトソースがよく合う。キャベツも食感が感じられる。

20250215-115343

特盛でもすぐご飯が枯渇するくらい美味しかった。

20250215-115350

2025年2月22日 (土)

服部天神宮でお参り。足の神様。

父親の足が悪いのでここでお参り。

20241230-141346

20241230-141351

大きな下駄がある。

20241230-141402

白色のお守りを買ってきた。

20241230-141415

 

2025年2月21日 (金)

阪神・淡路大震災30年 企画展 1995 ⇄ 2025 30年目のわたしたち@兵庫県立美術館を観てきた。Windows95をモチーフにした展示で30年か…と思う。当時の写真を見てそうだった…と思い出す。アニメや映像作品など多様な作品で興味深い。水中エンジンが面白かった。

久しぶりに兵庫県立美術館へ。

20250218-111145 20250218-111355

阪神・淡路大震災30年 企画展 1995 ⇄ 2025 30年目のわたしたち、を観に来た。

20250218-111411 20250218-111647 20250218-111649

一番最初にあったのがWindows95をモチーフにした展示で、ああ、もう30年ってそういうことかと思う。

当時の写真もあり、ぼろぼろだったりがれきの山だったり、そうだったな…と思い返す。実は当時の上司が震災で連絡が取れなくなり、3日後くらいに捜索に行ったのだった(家は半壊ですがご家族とも無事でよかった)。

神戸の学校、神戸の家、というアニメーション作品も興味深く観たし、黄泉平坂という映像作品も見入った。

実際に動かないのが残念(動画のリンクはあり)だが水中エンジンも面白かった。

 

 

2025年2月20日 (木)

高周波・RFニュース 2025年2月20日 NGMMが6Gに向けたフレームワークを公開、TDKのμPOL解説、QualcommのFastConnect 7700 Wi-Fi7解説、

・NGMMが6Gに向けたフレームワークを公開

NGMN outlines principles for the continuous evolution towards 6G and beyond 

202502201

 

・TDKのμPOL解説

小型で高性能なFPGA、SoC、ASIC向けの垂直電源供給

202502202

・QualcommのFastConnect 7700 Wi-Fi7解説

How Qualcomm FastConnect 7700 is accelerating the Wi-Fi 7 ecosystem

 

いつの間にかMicrosoft 365 Copilotが使えるようになった(6)ダミーデータを作ってもらう。名前、性別、年齢、住所はすぐできた。相関係数がある値になるようなデータを作って、というと高度な分析というのでPythonを使ってこれもできた。

今回はダミーデータ作成。

まずは名前、性別、年齢、住所を作ってもらうとすぐできた。なぜか全部住所が東京だが…

Copilotexceldummy01

次は数値のダミーデータ。

セルにxの値が入っています。yに相関係数が0.8になるようなランダムの値を入れてください。

というと

そのために高度な分析を使用できます。分析開始後に行うこと:

  • 結果の新しいシートを作成します
  • Python の数式が自動的に記述されて挿入されます
  • 複数のメッセージでプロンプトに応答します

開始しますか?

と出てやってもらうと、

Copilotexceldummy02

Python in Excelを使ってやってくれた。

これはなんか使えそう。

 

2025年2月19日 (水)

Visual C#(C_sharp)用のグラフプロットライブラリScottPlotを使う(1) 数値計算ライブラリMath.NET Numericsと組み合わせてルンゲクッタ法でローレンツ方程式を計算、図示して拡大縮小移動してみる。

Visual C#でグラフを描くには.NET framework 4.xならExcelのグラフのようなものが描けるMS Chartが使える。

https://atmarkit.itmedia.co.jp/ait/articles/1007/22/news111.html

しかしもうframeworkを使ってる場合じゃない。今は.NET 9が出ている時代。

サーバー アプリ用 .NET と .NET Framework

しかし残念ながら.NETではChartが使えない。そこで使えそうなライブラリを探すと

ScottPlot

https://scottplot.net/

OxyPlot

https://oxyplot.github.io/

などがあった。とりあえずScottPlotの方が情報量多そうなのでこっちを使ってみる。今回はVisual C#の.NET 8でやってみる。

まず、インストールはNuGetで簡単にできる。ScottPlot.WinFormsを選択。

Scottplotrk00

するとツールボックスにFormsPlotが現れるので、これをChartと同じようにフォームに貼り付けるだけ。

Scottplotrk01

何のグラフを描こうか、と思ったがここはMath.NET Numericsを使ってルンゲクッタ法でローレンツ方程式を描いてみよう。

ソースコードはこんな感じで。


using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.OdeSolvers;

namespace PlotRungeKutta01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            var axis = formsPlot1.Plot.Axes;
            axis.Bottom.Label.Text = "X";
            axis.Bottom.TickLabelStyle.FontSize = 21;
            axis.Left.Label.Text = "Y, Z";
            axis.Left.TickLabelStyle.FontSize = 21;
            axis.Title.Label.Text = "Lorenz Equation";
            axis.Title.Label.FontSize = 32;
            axis.SetLimits(-20, 20, -30, 50);

        }

        private void button1_Click(object sender, EventArgs e)
        {
            double dt = 0.01;
            double tmax = 200.0;
            int n = Convert.ToInt32(tmax / dt);
            var xs = new double[n];
            var ys = new double[n];
            var zs = new double[n];

            var t = MathNet.Numerics.Generate.LinearSpaced(n, 0.0, tmax);
            var x0 = Vector<double>.Build.DenseOfArray(new double[] { 1.0, 1.0, 1.0 });
            var x = RungeKutta.FourthOrder(x0, 0, tmax, n, Func);
            for (int i = 0; i < n; i++)
            {
                xs[i] = x[i][0];
                ys[i] = x[i][1];
                zs[i] = x[i][2];
            }

            var xy = formsPlot1.Plot.Add.ScatterLine(xs, ys);
            xy.LegendText = "Y";
            var xz = formsPlot1.Plot.Add.ScatterLine(xs, zs);
            xz.LegendText = "Z";
            formsPlot1.Plot.Legend.FontSize = 21;
            formsPlot1.Plot.ShowLegend();
            formsPlot1.Plot.Axes.AutoScale();
            formsPlot1.Refresh();
           
        }
        Vector<double> Func(double t, Vector<double> x)
        {
            double s = 10.0, r = 28.0, b = 8.0 / 3.0;

            double x_dot = s * (x[1] - x[0]);
            double y_dot = r * x[0] - x[1] - x[0] * x[2];
            double z_dot = x[0] * x[1] - b * x[2];

            return Vector<double>.Build.DenseOfArray(new double[] { x_dot, y_dot, z_dot });
        }
    }
}

結果を動画にしたもの。拡大縮小移動が簡単にできる。

このScottPlotでいろいろやってみよう。

 

高周波・RFニュース 2025年2月19日 3GPPが6Gに向けAI/ML関連作業、Xiaomi 15 ProにQualcommのチップ搭載、CMTの44GHzまでの2ポートUSBネットアナ、MOKOのアセット・社員トラッカーにNordicのチップ採用

・3GPPが6Gに向けAI/ML関連作業

Overview of AI/ML related Work in 3GPP

202502191

・Xiaomi 15 ProにQualcommのチップ搭載

Mobile powerhouse: How Xiaomi and Qualcomm Technologies teamed up to offer superior connectivity

202502192

・CMTの44GHzまでの2ポートUSBネットアナ

Copper Mountain Technologies Offers a Range of Compact 2-Port USB VNAs from 100 kHz to 44 GHz

202502193

・MOKOのアセット・社員トラッカーにNordicのチップ採用

Asset tracking and personal safety solutions employ Nordic Bluetooth LE technology to pinpoint location of employees and valuables

202502194

その他:

Infineon introduces CoolGaN™ G3 Transistor in new Silicon-footprint packages to drive industry-wide standardization

$1 Trillion by 2030: The Semiconductor Devices Industry is on Track

電源実装部の省スペース化をTDKラムダのオンボード製品でサポート

2025年2月18日 (火)

いつの間にかMicrosoft 365 Copilotが使えるようになった(5) Excelで測定データを分析してもらう。Pythonを使った高度な分析をしてくれというとPython in Excelで可視化、統計量、異常値の抽出、異常値の除去で統計量再計算などしてもらえた。案外便利。

今回は測定データの分析。コンデンサのキャパシタンス値を分析してもらう。

Excel単体では分布を図示するくらいだが、

Copilotanalysis00

高度な分析をしますか?と聞かれやってもらうとPython in Excelを使って分析を開始。

Copilotanalysis01

統計量と分布の図示。

Copilotanalysis02

異常値を見つけて、というとそれを抜き出し、

Copilotanalysis03

Copilotanalysis04

それを除去して再計算してくれる。

Copilotanalysis05

案外これ手でやるの面倒なので、このくらいやってくれると助かる人は多いんじゃないだろうか。

2025年2月17日 (月)

いつの間にかAdobe Acrobat ReaderにもAIアシスタントがついていた。適当な日本語pdfとしてフィルタ設計の話を要約してもらうとそれっぽいまとめができた。

メールでこの話が来ていた。

アドビ、「Acrobat AIアシスタント」(日本語版)の一般提供を開始

これ有料だが、お試しで無料で使えるっぽい(フル機能は有料みたい)。早速やってみた。

日本語がいいだろうと、題材をフィルタ設計の話にしてみた。

マイクロ波フィルタ設計入門:基礎および設計例

要約をお願いしているところ。

Adobeai

結果。

Adobeai2

まあまあいい感じでまとめてくれているのではないだろうか。

高周波・RFニュース 2025年2月17日 ATISのNext G Allianceの6Gに向けたSustainable AIホワイトペーパー、MIPI Allianceがドイツで12のプレゼンテーション、QorvoがWi-Fiデザインウェビナー開催、QualcommがWindows向けSnapdragon Xのバッテリー駆動性能をアピール

・ATISのNext G Allianceの6Gに向けたSustainable AIホワイトペーパー

Sustainable AI in Telecom: Promises and Challenges in 6G

202502171

・MIPI Allianceがドイツで12のプレゼンテーション

MIPI Specifications for Embedded Vision, Sensing, Display, Audio and Flash Memory Featured at embedded world Conference

202502172

・QorvoのWi-Fiデザインウェビナー

Key Aspects of Modern Wi-Fi Design

202502173

 

・QualcommがWindows向けSnapdragon Xのバッテリー駆動性能をアピール

Windows on Snapdragon X Series unplugged: Why performance with no compromises matters

202502174

・IEEE Spectrumの記事、6Gにそんなに帯域幅が必要か?というもの。

It’s Time To Rethink 6G

2025年2月16日 (日)

松のやで明太チーズチキンかつ定食をいただく。明太子とチーズは合うのか?と思ったが意外に合っていてなかなか美味しかった。

トマトとチーズが合うのはいいとして、明太子とチーズ?どんなものかと注文。

20250209-112109

20250209-112113

かねふくの明太子がちゃんと主張していて、かつチーズとも合っていてなかなか美味しかった。

 

 

 

 

 

2025年2月15日 (土)

映画「キャプテン・アメリカ ブレイブ・ニュー・ワールド」をIMAXで観てきた。異星人もマルチバースもなく、生身の人間と戦う(しかも結構苦戦する)のが新鮮。超人でない男がキャップを引き継ぐ苦悩も描く。日本が重要な役目をしていたのも平岳大さんが出たのも驚き。

新しいキャプテン・アメリカ、IMAXで観てきた。

20250214-120505

20250214-120537

カードもらった。

20250214-170934

レッドハルクが誰なのかは隠していると思っていたらもうCMでやっていた(ハリソン・フォード演じる大統領)。

予告でやっていたのはだいぶミスリーディングするようにさせたた気がする。I am.のシーンもないし。

一番隠していたのは敵の親玉の正体と日本と日本の首相(平さん)がかなり重要な役どころだったこと。結構驚く。

今度のキャップは超人ではない、スーツと盾と鍛えた肉体で戦うので一般人?と戦ってもかなり苦戦するところが多く新鮮だった。

ただ超人ではないことに苦悩する場面も。とはいえ後半はド派手な戦闘シーンが続きます。あの開戦になるか?の空中戦とホワイトハウスでの戦闘はすごい。であの巨大なのなんだっけ?と思ったらエターナルズのティアマットだった。

旧作のメンバーも短い時間ですが重要な役どころで出ます。

個人的にはマルチバースとかもう食傷気味なので、今回のようなのが面白かった。

そして最後はもちろん「キャプテン・アメリカは帰ってくる。」

2025年2月14日 (金)

高周波・RFニュース 2025年2月14日 Microwave Journal今月号で透明アンテナ、6Gタワー、月面用アンテナなど、Keysightが6GでEUと提携、TDKが日本酒の味わいを視覚化&車載PoC用巻き線インダクタ、QualcommがSnapdragon 6 Gen 4 Mobile発表

・Microwave Journal今月号で透明アンテナ、6Gタワー、月面用アンテナなど

https://www.microwavejournal.com/publications/1

202502141

・Keysightが6GでEUと提携

Keysight Joins Forces with the EU to Drive Innovation in 6G 

 

・TDKが日本酒の味わいを視覚化

日本酒の味わいを視覚化する事業の開始について

202502142

・TDKの車載PoC用巻き線インダクタ

インダクタ: 車載PoC用大電流対応巻線インダクタの開発と量産

202502143

・QualcommがSnapdragon 6 Gen 4 Mobile発表

Remarkable Performance and Enhanced Gaming Experiences: Qualcomm Introduces the Snapdragon 6 Gen 4 Mobile Platform

202502144

・5G Americasのポスト量子コンピューティングセキュリティホワイトペーパー

南清水須佐男神社でお参り。猪名目がハート型♡だそうだ。南清水古墳もあった。

猪名寺駅からすぐです。

20241225-132509 20241225-132521 20241225-132530

猪名目はハート形。

20241225-132532 20241225-132537

2025年2月13日 (木)

生誕140年 YUMEJI展 大正浪漫と新しい世界@あべのハルカス美術館を観てきた。竹久夢二には詳しくなかったが今見ると新鮮でかわいらしい絵やデザインが多くてとても気に入った。外国人を描くと彫りが深くなったりするのが面白い。お気に入りは「ねたかねなんだか」。

竹久夢二には全く詳しくないがあべのハルカス美術館で観てきた。想像以上に面白かった。

20250205-132447

20250205-124418

何点か写真が撮れます。なんか今の令和の時代に観ると逆にとても新鮮でかわいらしい絵柄で驚く。

デザイナーでもあったということでそのデザインも古くない。ちょっと家に飾っときたくなった。

「ねたかねなんだか」という作品みてちょっと笑った。

20250205-124556

20250205-124611

こういうデザイン。

20250205-124910

20250205-125311

行方不明だったのが見つかったというアマリリス。

20250205-125413

20250205-130002

海外での作品。これも行方不明なのが見つかったそう。

20250205-131248

これが集大成の立田姫。

20250205-131545

ちなみにやっぱり女性率90%くらいでした。最近行く美術展はこういうのが多いな…

高周波・RFニュース 2025年2月13日 iFixitがSamsung Galaxy S25 ultraを分解、ぐりぐり回せる3D CTモデルに、Spirentの5G Outlook レポート、QualcommのオンデバイスAIホワイトペーパー、InfineonがCoolSiC™ MOSFETs 650 Vの Q-DPAKとTOLLパッケージで発表

・iFixitがSamsung Galaxy S25 ultraを分解、ぐりぐり回せる3D CTモデルに

Galaxy S25 Ultra Teardown: Quick Battery Fix, Slow Progress on Repairability

202502131

よく見ると5Gミリ波AiPのアンテナ部分、ミリ波が通るように筐体に穴(実際は違う材質で見た目は分からない)が開いてるな。

202502134

・Spirentの5G Outlook レポート

It's Halftime for 5G

202502132 

・QualcommのオンデバイスAIホワイトペーパー

AI disruption is driving innovation in on-device inference

202502133

・InfineonがCoolSiC™ MOSFETs 650 Vを発表

New industrial CoolSiC™ MOSFETs 650 V G2 in Q-DPAK and TOLL packages offer improved power density

2025年2月12日 (水)

UnityでVisual C#用の数値計算ライブラリMath.NET Numericsを使う(番外編) ピタゴラスの三体問題をPythonのルンゲクッタ8次の適応刻み幅を持つDOP853でデータを作ってCSVファイルにし、Unityでボールの軌跡を描きながら3Dで動かす。カメラも回転させる。

今回はピタゴラスの三体問題。これは刻み幅を自動で変えて精度を出すようなルンゲクッタ法じゃないと無茶苦茶になる。残念ながらMath.NET Numericsは普通の4段4次のルンゲクッタ法しかないのでダメ…

じゃあPythonで計算してCSVファイルを読み込むか、ということでやってみる。Pythonについてはこちら。

 Python+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)を使う(その5) ピタゴラスの三体問題を計算する。rtolとatolを設定しないと無茶苦茶になる。

UnityでCSVファイルを読み込むのはこちらを参考にしました。

https://note.com/macgyverthink/n/n83943f3bad60

コードはこんな感じ。ただCSV読んで、ボール3つの座標に割り当てているだけ。


using UnityEngine;
using System;
using System.Collections.Generic;
using System.IO;
using UnityEngine.Rendering;

public class CsvReader : MonoBehaviour
{
    List<float> x1 = new List<float>();
    List<float> x2 = new List<float>();
    List<float> x3 = new List<float>();
    List<float> y1 = new List<float>();
    List<float> y2 = new List<float>();
    List<float> y3 = new List<float>();
    int n;
    int count;
    GameObject Ball1;
    GameObject Ball2;
    GameObject Ball3;

    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        TextAsset csvFile;
        List<string[]> csvDatas = new List<string[]>(); csvFile = Resources.Load("3body") as TextAsset; // Resouces下のCSV読み込み
        StringReader reader = new StringReader(csvFile.text);

        Ball1 = GameObject.Find("Ball1");
        Ball2 = GameObject.Find("Ball2");
        Ball3 = GameObject.Find("Ball3");

        while (reader.Peek() != -1)
        {
            string line = reader.ReadLine();
            csvDatas.Add(line.Split(','));
        }

        n = csvDatas.Count;
        count = 0;
        for (int i = 0; i < n; i++)
        {
            x1.Add(Convert.ToSingle(csvDatas[i][0]));
            y1.Add(Convert.ToSingle(csvDatas[i][2]));
            x2.Add(Convert.ToSingle(csvDatas[i][4]));
            y2.Add(Convert.ToSingle(csvDatas[i][6]));
            x3.Add(Convert.ToSingle(csvDatas[i][8]));
            y3.Add(Convert.ToSingle(csvDatas[i][10]));

        }

    }

   
    // Update is called once per frame
    void Update()
    {
        if (count > n)
        {
            count = 0;
        }
        Ball1.transform.position = new Vector3(x1[count], y1[count], 0f);
        Ball2.transform.position = new Vector3(x2[count], y2[count], 0f);
        Ball3.transform.position = new Vector3(x3[count], y3[count], 0f);
        count++;
    }
}

結果の動画はこちら。

カメラを回してみた。

 

なかなかかっこいい動きをしている。次回からはまたMath.NET Numericsに戻る予定。

高周波・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個

・GSAが5G standaloneウェビナー開催

GSA Snapshot: 5G Standalone (5G SA)

・CTIAと5G americasがケーブルに対抗してSpectrum for Broadband Competitionで連携

New Coalition to Promote Policies that Foster Increased Home Broadband Competition

・NXPがエッジAIのKinaraを買収

NXP Agrees to Acquire Edge AI Pioneer Kinara to Redefine the Intelligent Edge

202502121

・PBKreviewsがSamsung Galaxy 25/plus/ultra全部分解していて5Gミリ波AiPは全部1個

202502122

https://www.youtube.com/watch?v=ijEEYwPUEIE&t=386s

https://www.youtube.com/watch?v=0LC9mEP2q-I&t=407s

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

2025年2月11日 (火)

いつの間にかMicrosoft 365 Copilotが使えるようになった(4) Excelで機械学習定番のIris(アヤメ)の分類をやってもらう。最初はこの問題はRかPythonでやった方がいいとでたが、Python in Excelでやってというとロジスティック回帰のコードがでた。ヘルプでエラー内容も答えてくれる。

さて今回は機械学習入門定番のIrisの分類問題。

聞くと、回帰分析はできるとでるがこの問題はExcelには向いてない、RかPythonを使ってとでた。

Copilotiris01

じゃあPython in Excelならどうなる?と聞くとコードを答えてくれた。

何回かエラーを出し続けたが、そのエラーのヘルプを出すとCopilotが直接答えてくれる。

でやっとロジスティック回帰で動くものができた。

Copilotiris02

 

2025年2月10日 (月)

高周波・RFニュース 2025年2月10日 IEEE Microwave Magazineは女性マイクロ波研究者特集(インターコネクトやダークマター探査等)、Samusungの6GとAIホワイトペーパー、QualcommとQorixがソフトウェア定義車両で提携、ATISがOpen RAN Minimum Viable Profile発表など

・IEEE Microwave Magazineは女性マイクロ波研究者特集(インターコネクトやダークマター探査等)

 Microwave Magazineは定期的にこの特集をやっている。マイクロ波センサへの機械学習応用などもあり。

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

202502104

202502101

・Samusungの6GとAIホワイトペーパー

Samsung Electronics Unveils 6G White Paper and Outlines Direction for AI-Native and Sustainable Communication

202502103

・QualcommとQorixがソフトウェア定義車両で提携

Qorix and Qualcomm Cooperate to Drive the Future of Software-Defined Vehicles

202502102

・ATISがOpen RAN Minimum Viable Profile発表

Minimum Viable Profile

202502106

・Nokia Bell Labsが100周年

Nokia Bell Labs celebrates 100 years
of innovation and looks ahead to
another century of discovery

202502105

・ローデ&シュワルツの5G Advancedレポート

https://content.rcrwireless.com/whats-up-with-5g-advanced-editorial-report

202502107

・ベライゾンがスーパーボウル向けに5Gミリ波(MatSingアンテナ)やCバンドを準備

5G, mmWave, C-band, MatSing antennas and more — Verizon preps for Super Bowl LIX

202502108

2025年2月 9日 (日)

すき家でおんたま黒ビビンバ牛丼 とん汁おしんこセットをいただく。ハイキュー!!のカードが2枚もらえた。

おんたま黒ビビンバ牛丼 とん汁おしんこセットを注文。

20250207-131609

これ自体も野菜が多くてなかなか美味しいのだが、

20250207-131730

この組み合わせだとハイキュー!!のカードが2枚もらえる。ただハイキュー見たことない…だがたぶん主人公だろう。

(じゃあなんでこのメニューにしたかというと単に美味しそうだったから)

20250207-151441

20250207-151500

 

2025年2月 8日 (土)

映画「ショウタイムセブン」を観てきた。最初から最後まで緊迫した展開で面白かった。元人気キャスターが火力発電所を爆破した犯人と生放送のスタジオで対話を続けるが、スタジオでも爆発が起き…犯人役にびっくり。あとPerfumeの曲のエンドクレジットの入り方にもびっくり。

ずっと声だけでていた犯人が出てきたときは、ああ、この人だったのか、と驚いた。がもう解禁しているそうだ。

阿部寛主演『ショウタイムセブン』犯人役の錦戸亮が初登場「秘めた思いをやっと言える」

20250208-115011

人気テレビ番組ショウタイムセブンのキャスターをおわれ、ラジオ番組を持っている阿部寛さんのもとに爆破の犯行予告をする男が電話をかけてくる。いたずらだと思って馬鹿にして切ると、本当に火力発電所が爆破される。

また犯人はかけてくる、そこを生放送することでまたキャスターに返り咲こうとする阿部さん。しかし犯人の要求はエスカレート。

一体犯人の狙いは何?

というもの。ずっと緊迫したシーンが続くのでかなり疲れるが面白かった。意外な結末も。

以外と言えばPerfumeのHuman Factory -電造人間-がエンドクレジットに流れるがその入りが斬新だった。

「野生の島のロズ」をIMAXで観てきた。よかった。命令を待つだけのロボットが、小さくそのままでは生きられなかったはずの雁の子を育てるうちに感情が芽生え…というもので声もだんだん成長していくのうまいと思ったら綾瀬はるかさんだった。動物たちも生き生きと描かれてる。

IMAXで観てきた。

20250207-095749

事故で無人島(ただし野生動物はたくさんいる)に不時着し、1体のみ生き残ったロボットがたまたま起動することから始まるお話。

人間に奉仕するために作られているので動物たちに何か命令をしてくれと頼むが怖がられるだけ…学習モードに入り動物の言葉を覚えていくロズ。そしてまたアクシデントで雁の巣を壊してしまい、生き残ったのは1個の卵だけ。その卵からかえった雁、キラリを育てていくうちに感情が…

カメラの目ですら感情があるように見えるのがよかった。声もいいな、と思ったら綾瀬はるかさんだった(だいたい映画を観るときは事前情報全くない状態でいくので…)。

動物たちも最初はロズを怖がっていたが、だんだん変わっていくのもよかった。何と言ってもキラリの成長が一番よかった。

ただこれはあまりバイオレンスのない話だと勝手に思っていたので最後の方の展開に驚く…あれを使う方が被害だしてる気がする。

これは誰にでも勧められる良いお話でした。

2025年2月 7日 (金)

UnityでVisual C#用の数値計算ライブラリMath.NET Numericsを使う(6) ルンゲクッタ法でAizawa Atractorを計算して、その軌道通りに球を3D画面で動かし、そこに軌跡が残るようにする。さらにカメラも回転させる。

さて前回はルンゲクッタ法でローレンツ方程式を描いて動かしてみた。

 UnityでVisual C#用の数値計算ライブラリMath.NET Numericsを使う(5) ルンゲクッタ法でローレンツ方程式を計算して、その軌道通りに球を3D画面で動かし、そこに軌跡が残るようにする。さらにカメラも回転させる。

今回はAizawa Atractorを産む方程式でやってみよう。

dx/dt = (z-b)*x - d*y
dy/dt = d*x+(z-b)*y
dz/dt = c+a*z-(z^3)/3 - (x^2 +y^2)*(1+e*z)+f*z*x^3

https://analog-ontology.blogspot.com/2015/06/the-aizawa-attractor-iv.html

前回と違うのは関数だけ。

Vector<double>Aizawa(double t, Vector<double> x) {
    double a = 0.95, b = 0.7, c = 0.6, d = 3.5, e = 0.25, f = 0.1;
    double x_dot = (x[2] - b) * x[0] - d * x[1];
    double y_dot = d * x[0] + (x[2] - b) * x[1];
    double z_dot = c + a * x[2] - (x[2] * x[2] * x[2]) / 3
                  - (x[0] * x[0] + x[1] * x[1]) * (1 + e * x[2]) + f * x[2] * x[0] * x[0] * x[0];
    return Vector<double>.Build.DenseOfArray(new double[] { x_dot, y_dot, z_dot });
}

やってみた結果の動画。カメラも回っている。

計算できてそうだ。ちょっと微分方程式を計算するシリーズやってみようかな。

高周波・RFニュース 2025年2月7日 フジクラがMWCバルセロナでミリ波(28GHz,60GHz)モジュールデモ、Qorvo、NXP、AMDらのヘルスケアウェビナー、Samsung Galaxy S25もやはり5Gミリ波AiPは1個、u-bloxがBluetooth LEモジュール4種発表

・フジクラがMWCバルセロナでミリ波(28GHz,60GHz)モジュールデモ

MWCバルセロナ2025にミリ波製品を出展
~機能統合した28GHzミリ波アンテナボードの初展示と60GHzミリ波無線通信モジュールによる超低遅延遠隔操作ライブデモ~

202502072

・Qorvo、NXP、AMDらのヘルスケアウェビナー
https://event.on24.com/eventRegistration/EventLobbyServlet?target=reg20.jsp&eventid=4804213&sessionid=1&key=ABE687134603B5F59EB90B647AECFD0B&groupId=5870941&partnerref=pdf&sourcepage=register

Overview

Title: Innovative Solutions for Modern Healthcare by NXP Semiconductors

Date: Tuesday, February 11, 2025

Time: 10:00 AM Central European Time

Duration: 1 hour

202502073

・Samsung Galaxy S25もやはり5Gミリ波AiPは1個
https://www.youtube.com/watch?v=yDjfEGePQ5c

202502071

・uu-bloxがBluetooth LEモジュール4種発表

u-blox expands its NORA-B2 Bluetooth® LE modules series using the nRF54L chipsets to address all mass market segments

202502074

2025年2月 6日 (木)

「愚かな薔薇」(恩田陸さん)上下巻、面白くて一気に読んだ。磐座という地で行われるキャンプに少年少女たちが集められる冒頭から想像もできない展開に。帯の通り、ホラー、ファンタジー、SF、青春小説の要素がうまく一体化している。あの物理の概念をこう使うのは初めて見た!

書店で大量に平積みされていて恩田陸さん人気がよくわかる。私も買って一気に読んだ。面白かった。

20250129-154208

アマゾンリンク:https://amzn.to/3PUB10A https://amzn.to/4aDtgph

あらすじは

母方の故郷・磐座を訪れた少女・奈智は、
あるキャンプに参加。その目的は――?
吐血、変質して、どうなる?

というもの。これ以上は事前に情報仕入れない方がいいと思います。

前半は近未来青春小説?と思ったら七夕の国のようなホラー、いやドラキュラのようなホラーファンタジー?と思っていたらいきなりSF(グレッグ・イーガンなのか?幼年期の終わりなのか?)になる。しかもある物理の概念が重要な役割をはたしていたりする。

とにかく面白いのでお勧めです。

 

高周波・RFニュース 2025年2月6日 3GPPがRel-20(5G Advancedと6G)の計画を公開、SEMCOが産業用MLCC(0805 inch, X6S, 22uF, 25V)と車載MLCC(1005,2.2uF,10V)を発表、KYOCERA AVXのスーパーキャパシタシミュレーションソフト、I向けフォトニックチップ解説

・3GPPがRel-20(5G Advancedと6G)の計画を公開

Rel-20 Planning and Progress in TSG SA

202502061

・SEMCOが産業用MLCC(0805 inch, X6S, 22uF, 25V)と車載MLCC(1005,2.2uF,10V)を発表

Samsung Electro-Mechanics Introduces the World's First Industrial MLCC with 25V Rating (0805 inch, X6S, 22uF, 25V)

Samsung Electro-Mechanics Unveils World’s First MLCC for LiDAR Applications

202502062

・KYOCERA AVXのスーパーキャパシタシミュレーションソフト

KYOCERA AVX Releases new Supercapacitor Simulation Software

202502063

・AI向けフォトニックチップ解説

Accelerating high-performance AI workloads with photonic chips

202502064

 

2025年2月 5日 (水)

いつの間にかMicrosoft 365 Copilotが使えるようになった(3) Excelで変な並びのデータ(5ポートSパラメータTouchstoneフォーマット)を一行に直すのにExcel VBAとOfficeスクリプトを書いてもらう。何度かやり直すとどちらもできた。

さて今回はExcel VBAとOfficeスクリプトを書いてもらえるか検証。

TouchstoneフォーマットはSパラメータデータのためのフォーマットだが3ポート以上変な並び方になる。

5ポートの場合、

一行目 周波数、8個のデータ

二行目     4個のデータ

三行目     8個のデータ

・・・

10行目     4個のデータ

のような形をしている。これを

一行目 周波数、50個のデータのように並び替えたいが

Excelで表計算だけでやるのはとても面倒。一応、Copilotにも聞いてみたが無理と言われた。

そこでまずExcel VBAでできるか聞いてみた。

Copilotvba01

何度かエラー出したが最終的にできた。

Copilotvba02

コードはこんな感じ。ただ遅い…

Copilotvba03

もうExcel VBAは廃止に向かっていくと思うのでOfficeスクリプト(TypeScript)でも聞いてみた。

こっちの方がずっと速く同様にできた。

Copilotscript01

まずまず使えるイメージ。

 

高周波・RFニュース 2025年2月5日 Mavenirの5G NTNホワイトペーパー、ミニサーキットの1.5mm角QFNパッケージMMIC、Keysigntがスペインに6G研究ラボ設立、アイルランドとスコットランドの大学がRIS(reconfigurable intelligent surfaces)で協力

・Mavenirの5G NTNホワイトペーパー

5G Non-Terrestrial Networks: Get Ready for Launch

202502051

・ミニサーキットの1.5mm角QFNパッケージMMIC

MMIC Packaging as Small as 1.5 x 1.5 mm!

202502052

・Keysigntがスペインに6G研究ラボ設立

Keysight said the new facility is dedicated to pushing the boundaries of 6G technology

・アイルランドとスコットランドの大学がRIS(reconfigurable intelligent surfaces)で協力

Irish and Scottish Universities Team Up on Reconfigurable Intelligent Surfaces

202502053

2025年2月 4日 (火)

特別展「大原美術館所蔵 20世紀美術の巨匠たち♡ ウォーホル、ロスコ、リキテンスタイン」@中之島香雪美術館を観てきた。なかなか面白かった。20世紀に観たときはピンとこなかった気がするが、21世紀に観ると違って見える。青いヴィーナスは撮影可だった。

久しぶりに中之島香雪美術館まで来た。ここは日本のものの展示のイメージがあったがこういうのもやるんだな。
20250128-112443

20世紀の美術って20世紀に観たときは???という感じだったが今見ると面白い。

ウォーホルももちろんだが、リキテンスタインがいい。

最後の茶室にイヴ・クライン《青いヴィーナス》があってそこのみ撮影可能です。

20250128-113803

 

高周波・RFニュース 2025年2月4日 Samsung Galaxy S25plus、S25ultra分解、やっぱり5Gミリ波AiPは1個だけ、スマートワイヤレス聴診器にNordicのICが採用、TDKのTMR角度センサ解説

・Samsung Galaxy S25plus、S25ultra分解、やっぱり5Gミリ波AiP(Antenna in Package)は1個だけ

ミリ波、盛り上がるどころかどんどんトーンダウンしている…まずはS25+
https://www.youtube.com/watch?v=0LC9mEP2q-I
202502041

S25ultraははっきりしないがたぶんこの部分に1個。

https://www.youtube.com/watch?v=xgJmQKya4GY&t=750s

202502044

・スマートワイヤレス聴診器にNordicのICが採用

Smart wireless stethoscope achieves unmatched battery performance with Nordic’s nPM1300

202502042

・TDKのTMR角度センサ解説

レゾルバよりも高コストパフォーマンス!電動モーターに適した角度検知ソリューション TMR角度センサ

202502043

2025年2月 3日 (月)

いつの間にかMicrosoft 365 Copilotが使えるようになった(2) Excelで時系列予測してもらう。空港の利用者データを使うとFORECAST.ETS関数を使うように言われてやってみると確かに予測している。指数三重平滑化(ETS)アルゴリズムを使う関数。

さて前回は複素数データをdBと位相に直してもらった。今回はもう少し複雑な時系列予測。

データはよく時系列予測に使われる空港の利用者データ。まずはグラフにしてもらった。

Copilottimeseries01

そして時系列予測をしたいというとFORECAST.ETS関数を使うといいと出た。

これは指数三重平滑化(ETS)アルゴリズムを使う関数。
https://support.microsoft.com/ja-jp/office/forecast-ets-%E9%96%A2%E6%95%B0-15389b8b-677e-4fbd-bd95-21d464333f41

Copilottimeseries02

実際やってみるとなかなかいい感じで予測している。

Copilottimeseries03

さてさらに複雑な例をやってみよう(続く)。

2025年2月 2日 (日)

松屋でシュクメルリ鍋定食をいただく。固形燃料コンロでずっと熱々で、鶏肉も大量、そしてサツマイモが今年は美味しくなった気がする。もちろんにんにくは大量に入っている。

出るたびに食べに来ているシュクメルリ鍋定食。

20250201-113905

鶏肉がゴロゴロ入っていて、サツマイモも大きい。去年より美味しくなった気がする。

ニンニクも大量に入ってる。

20250201-113910

2025年2月 1日 (土)

映画「アンダーニンジャ」を観てきた。前半のゆるいギャグシーン満載(佐藤二朗さんとムロツヨシさんがとにかく笑わせに来る)なのと後半のシリアスですごいアクションシーンが対比されて面白かった。ただ原作知らなかったのでラストで○○○○のオマージュか!と驚いた。

山﨑賢人さんのアクションはやはりすごかったが、前半で本気でつられて笑ってるシーンがめちゃくちゃ面白かった。

20250130-123322

とにかく佐藤二朗さんとムロツヨシさんがとにかく笑わせに来る。最初から。
白石麻衣さんのアクションもよかったが前半アクション少な目で、あれ?と思っていたら後半めちゃくちゃシリアス(大惨劇)になってすごいアクションの連発。これ面白かった。

でも原作知らなかったので、あの超有名忍者もの○○○○で実際にやった出来事をこっちでもやるとは、と驚いた。

オマージュだったな。

« 2025年1月 | トップページ | 2025年3月 »

最近の記事

2025年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

最近のコメント

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