「お砂場」シリーズ第3弾「MLのお砂場」始めることにいたしました。ML=Machine Learningです。MLなのでPythonメインでやる、ということは決めたのですが、Python系の「環境」いろいろありすぎてどうしたものかと考え中です。ポピュラーでお手軽に使えるものから「お砂場」ついでにいろいろ使ってみるかと。
Pico三昧(13) Pico C/C++SDKで4.096MHzクロック生成その2PIO
前回PWMで生成したクロックで十分かな~と思ってしまったので、もう一度似たようなことをやるのはカッタるいです。でも自分でPIO(プログラマブルIO)でもクロック作ってみると書いてしまったのでやらないと。大分ラズパイPicoのPIOにも慣れたんですが、PIOアセンブラでたった2行。けれどヘッダ部分書くのがメンドイのよね。
忘却の微分方程式(38) 反復練習2、平面と直線の交点の座標を求める、Maxima
前回の練習、と言って実際に計算しているのはMaxima様ですが、は「ベクトルに垂直な単位ベクトルを求める」でした。今回は「平面と直線の交点の座標を求める」です。霧のかかった朦朧とした頭でもMaxima様にお願いすれば解いてくれる、と。Maxima様は計算間違えなくても入力間違えるなよ、自分。
ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定
Node-REDはIoTデバイスなどから集めて来たデータをWeb表示したりするときにとても便利なシステムです。昨日別投稿にてsmoothノードというものを勉強。入って来たデータの平均、最大といった統計量を求める他に、ローパス、ハイパスフィルタも含んでました。しかしHELPみてもフィルタ特性については書いてなかったです。
ブロックを積みながら(59) Node-RED、統計?信号処理? smoothノード
前回は「何もしない」けれど「書けることが多い」commentノードでした。今回は、設定できることは少ない割に奥が深そうな(あまり沼にハマりたくない)smoothノードです。苦手の統計やらデジタル信号処理(もどきですが)も登場。まあ、使ってみている内に慣れる?慣れない?
SPICEの小瓶(2) ゼロゲイン・アンプの宿題、DC解析とパラメータスイープでやっつけ
昨日「お手軽ツールで今更学ぶアナログ(81)」で解答編が無いので困っていた件、LTspiceで「やっつけ」てしまうことにいたしました。まあ、SPICEかければお答えは「出る」のですが、理解には程遠いです。ともあれDC解析とパラメータスイープがあればなんとかなる、と。ホントか?
うさちゃんと一緒(2) Cooperative Multitaskingで吉例Lチカ
懐かしいZ80的命令を持つ、うさちゃん印のRabbit4000を使用中です。前回「売り」のEthernetから始めてしまい、新マイコン入手時の吉例を飛ばしてしまいました。今回は、Rabbit用の言語処理系 Dynamic Cの特長の一つ、Cooperative Multitaskingを使って「Lチカ」してみます。
データのお砂場(19) R言語、Nile、ナイル川の水量百年とな?
第16回でヒューロン湖の水位変動データを扱ってみましたが、今回はナイル川の水量データです。1871年から1970年までの100年間のものです。その最大水量1370×108立方m/yearとな。エジプト南端のアスワンでの値のようです。そういえば1970年、アスワン・ハイ・ダムの完成の年らしいです。
ぐだぐだ低レベルプログラミング(53) RISC-V、単精度浮動小数点数の比較
前回は浮動小数点数の最大最小を求める命令でした。今回は、浮動小数点数の比較命令です。比較した結果として条件分岐することが多いと思います。RISC-Vには分岐フラグが存在せず、条件分岐は整数レジスタの中の値を分岐命令で判定します。このため浮動小数の比較命令の結果は整数レジスタに書き込みとなります。
忘却の微分方程式(37) 反復練習1、ベクトルに垂直な単位ベクトルを求める、Maxima
通り一遍舐めていってもMaximaもMathematicaも上手くならないので、ちょっと方針を変更しました。反復練習あるのみ、と。しかし、忘却力のこの年寄りが反復練習してもザル、結局、ファイルに残したものだけが「記憶(ストレージ)」に残ると(計算機におまかせ。)反復練習には大学初年級くらいのところから始めたいです。最初は線形代数とな。
手習ひデジタル信号処理(25)ヒルベルト変換器による位相シフタ利用の周波数シフタ その1
今回から周波数シフタです。周波数をシフトするのに加法定理を使う。それにはcosとsinの両方が要る。cosをπ/2だけ位相シフトすればsinになる、ということで、位相をシフトするために使うのがヒルベルト変換器であります。分かったような分からぬような。今回は先に実機上で動作確認してから個々の部品を調べていきたいと思います。
Pico三昧(12) Pico C/C++SDKで4.096MHzクロック生成その1PWM
あるデバイスを動かそうとしたら4.096MHzのクロックが必要と書いてありました。手元には4MHzピタリの水晶振動子の在庫はあったと思ったですが、4.096MHzありません。ラズパイPicoで制御するつもりなのだし、ラズパイPicoでクロックから作ってしまえ、という目論見。「普通のマイコン」ならタイマをいじるところですが、ラズパイPicoでは違う、と。
SPICEの小瓶(1) MOSFET、MOSMODELパラメータとSUBCKTの切り替え
LTspiceのお世話になっている割には使い方が良く分からないままです。最近もアナデバ様の部品キットADALP2000所蔵のMOSFETをLTspiceしてみよ、と。しかしLTspiceには該当部品のMOSモデルパラメータはありませんでした。Webを漁ってSUBCKT定義を見つけたのですが、どう設定するの?
モダンOSのお砂場(38) Mbed OS6、Timerでインターバル測定。STM32
前回がPWM出力だったので、今回は逆に入力インターバルをタイマAPIで測定してみました。入力は割り込み受け、人間がボタンを押す想定なので精度的にはいい加減な方法です。まあ、とりあえずボタンを押す時間間隔は測れたと。また、前回と異なり今回はオブジェクトコードの作成にWebベースのMbed Compilerを使ってみます。