やっつけな日常(33) Rustに入ればRustに従え、self、Self、&self

selfSelf
Joseph Halfmoon

ちんたら勉強しているRust言語です。Exampleのソースコードを拝見していて気になるのが、selfだったり、Selfだったりする self です。Pythonのselfのような「慣用語」的お約束ではなく keyword みたいです。大文字になったり、小文字だったり、&がついたり、::がついたり一体全体これは何?

“やっつけな日常(33) Rustに入ればRustに従え、self、Self、&self” の続きを読む

忘却の微分方程式(58) 反復練習21、ジョルダン標準形への変換その2

Jordan Normal Form 3
Joseph Halfmoon

前回つい手がすべってタイトルに「その1」と書いてしまったので今回は「その2」です。蛇足な感じがしないでもないです。参照させていただいております線形代数の教科書(馬場先生)では3次の正方行列のジョルダン標準形をいくつかに分類し、それぞれに解法を懇切に示されているのです。しかし、当方手順は前回と同じ。いいのかそんなことで。

“忘却の微分方程式(58) 反復練習21、ジョルダン標準形への変換その2” の続きを読む

手習ひデジタル信号処理(50) SDR、アンダーサンプリング、ナイキスト周波数より高い信号

UnderSamplingEC
Joseph Halfmoon

前回、三上先生のサンプルプログラムで、甲子園中継が受信できたと喜びました。しかし1点疑問あり。サンプリング周波数は900kHz(ナイキスト周波数は450kHz)なのに、受信したNHK第1放送(東京)は594kHzです。なぜ受信できるの?ここで登場するのがアンダーサンプリングとBPF(バンド・パスフィルタ)です。 “手習ひデジタル信号処理(50) SDR、アンダーサンプリング、ナイキスト周波数より高い信号” の続きを読む

データのお砂場(44) R言語、attitude、%で測れる「態度」ってなんなのよ?

lm2Plot
Joseph Halfmoon

今回のデータは米国の(半世紀くらい前の)金融機関らしい組織の事務職員のアンケート調査みたいなものの集計らしいです。R言語の処理としては線形回帰の練習データです。淡々と処理はできるんじゃないかと思いますが、人事情報的な「意見」の集約なので「その意味」がとても気になります。データとしてはすべて%で表される数値なのですが。
“データのお砂場(44) R言語、attitude、%で測れる「態度」ってなんなのよ?” の続きを読む

ブロックを積みながら(80) Node-RED、jsonノードで文字列とオブジェクト相互変換

jsonNode
Joseph Halfmoon

今回はjsonノードです。文字列とNode-REDの主要データ構造であるJSONオブジェクトを相互変換できるもの。実用的には変換時にSchemaによるバリデーションを行えることが重要かと。でもね、面倒臭いのよSchema。今日のところは自分で自分にデータを投げつけているだけなので省略。いいのか、そういうことで。

“ブロックを積みながら(80) Node-RED、jsonノードで文字列とオブジェクト相互変換” の続きを読む

うさちゃんと一緒(18) Rabbit4000のCPUレジスタを一覧にしてみた

RegistersEC
Joseph Halfmoon

うさちゃんRabbit4000のDynamic Cのライブラリを読んでいるとインライン・アセンブラ・コードに迷いこみます。RabbitシリーズはZ80愛に溢れているCPU、Z80上位互換です。Z80のつもりで大体読めますが、時々「知らない」レジスタなどに遭遇します。今回はCPUレジスタを図にまとめてみました。

“うさちゃんと一緒(18) Rabbit4000のCPUレジスタを一覧にしてみた” の続きを読む

ぐだぐだ低レベルプログラミング(77)ARM64(AArch64)、EXTR、RORでもある

EXTR
Joseph Halfmoon

前回までのビットフィールド転送命令群と比べて今回のレジスタ抽出命令EXTRの動作は分かり易いです。エイリアスもシンプル、たった1個。ROR(右ローテイト)命令だけです。ただ、左にシフトして取り出すような操作のEXTRに対して、詰まっているデータから見ると右ローテイトに見えると。左右が時々混乱するのは私だけ? “ぐだぐだ低レベルプログラミング(77)ARM64(AArch64)、EXTR、RORでもある” の続きを読む

やっつけな日常(32) Rustに入ればRustに従え、文字列操作、おっかなびっくり その1

train_string
Joseph Halfmoon

テキトーに書いても走る(走ったように見える)言語もあれば、走る前に阻止される言語もあります。どうもRustは後者であるようです。Rustでの文字列のとり扱いを始めましたが、Cの文字列に慣れた頭でいると、いろいろ転換せねばなりませぬ。文字列を配列とみて添え字でアクセスするような方法は禁止じゃと。 “やっつけな日常(32) Rustに入ればRustに従え、文字列操作、おっかなびっくり その1” の続きを読む

忘却の微分方程式(57) 反復練習20、ジョルダン標準形への変換その1

Jordan Normal Form
Joseph Halfmoon

前回まで、「対角化」などを「それなりに手順」を踏んで行ってきました。今回のジョルダン標準形への変換はどうしようか迷いました。そのものズバリのJordan行列を扱うパッケージ diag をloadすれば、ほぼ1撃で変換できてしまう。まあ、出来ることをわざわざ刻むことも無し、お楽が一番。手順のみ確認させていただきます。 “忘却の微分方程式(57) 反復練習20、ジョルダン標準形への変換その1” の続きを読む

手習ひデジタル信号処理(49) SDRで高校野球、甲子園中継(NHK第1)受信OKよ

SDR_DUT
Joseph Halfmoon

前回までに、Arm Cortex-M4コアのSTM32F446マイコンでの「ダイレクト・サンプリングSDR実験」用フロントエンド回路が出来上がりました。これからSDRのお勉強に入りますが、初回は早速AMラジオを受信してみます。なんたって三上先生のサンプルプログラムのバイナリがあるので、書き込めば動く筈。

“手習ひデジタル信号処理(49) SDRで高校野球、甲子園中継(NHK第1)受信OKよ” の続きを読む

データのお砂場(43) R言語、attenu、カリフォルニアの23個の地震のピーク加速度とな

Joseph Halfmoon

前回は演習用の人工データでしたが、今回は自然現象の観測データです。米国カリフォルニア州内で発生した23個の地震のピーク加速度データです。古いデータのようですが比較的デカイ地震ばかり。震源までの距離とピーク加速度の間に関係性を見出すための練習データに見えます。しかし多くの日本人は知っています。地震は一筋縄ではいかねーと。

“データのお砂場(43) R言語、attenu、カリフォルニアの23個の地震のピーク加速度とな” の続きを読む

ソフトな忘却力(23) time_t型、64bit OS上なら64bitになっていたのね

trainTime
Joseph Halfmoon

別件でdateコマンドを使って思い出したのが UNIX時間であります。Linuxでも使用の「伝統」です。そういえば昔は32ビットであったので2038年問題ってのが有った筈。手元のLinux機、ラズパイ4はようやく64ビットOSに切り替えましたが、ラズパイ3は32ビットOSのままです。time_t型の件、調べてみました。
“ソフトな忘却力(23) time_t型、64bit OS上なら64bitになっていたのね” の続きを読む

ブロックを積みながら(79) Node-RED、watchノードでファイルを監視

watchEC
Joseph Halfmoon

今回は watch ノードです。watchといっても腕時計ではありませんよ。指定したファイルを監視してくれるノードです。Node-REDの「外側で」起こった変更を捕捉するのには便利な機能じゃないかと思います。捕捉できたところで次にどうするのかはまた別の話ですが。

“ブロックを積みながら(79) Node-RED、watchノードでファイルを監視” の続きを読む

部品屋根性(78) LM61、アナログ出力温度センサをラズパイPythonで読み取る

LM61
Joseph Halfmoon

前回はI2C接続の温湿度センサAHT21Bをラズパイ上のPythonで読み取ってみました。今回は、アナログ信号出力の温度センサLM61をやはりラズパイPythonで読み取ってみます。アナログ入力を持たないラズパイのために外付けADCのMCP3421を取り付けてあるので「端子を接続するだけ」で読める筈なのですが。

“部品屋根性(78) LM61、アナログ出力温度センサをラズパイPythonで読み取る” の続きを読む