手習ひデジタル信号処理(22) 残響生成器その2、全域通過フィルタ、Scilabで見る

AllPassBlockDiagram
Joseph Halfmoon

残響生成器の2回目は、2個目の要素部品、全域通過フィルタ(all pass filter)であります。前回同様、要素部品は、Scilab使って「味わってみる」と(実機で個別に動かすのがメンドイだけだろ~。)前回から比べるとXCOSでのブロックダイアグラムが少しこなれてきた?分からんけど。

“手習ひデジタル信号処理(22) 残響生成器その2、全域通過フィルタ、Scilabで見る” の続きを読む

データのお砂場(15) R言語、JohnsonJohnson、四半期毎一株あたり利益

RawDataGraph
Joseph Halfmoon

今回のデータは60年くらい前から40年くらい前のJ&J社の一株利益のデータです。60年前これ知っていたら大儲け(できる筈ないですが。)まさに儲かっていますなJ&J。が、しかし、このデータセットサンプル処理の意義は、その儲かっているトレンドから、結構大きな4半期毎の変動を分離せよ、ということみたいです。

“データのお砂場(15) R言語、JohnsonJohnson、四半期毎一株あたり利益” の続きを読む

ソフトな忘却力(16) VSCodeで ctest+gtestその2、Classのテスト

CTEST_Results
Joseph Halfmoon

前回 CMakeのテストランナーである ctest の元で GoogleTest(gtest)フレームワークのTEST走らせました。調子に乗って今回はC++のClass のテストに手を広げてみました。前回の関数単体とはちょっと書き方が違ってました。今回は分量多いので「前回との差分」部分にフォーカスして記述いたします。

“ソフトな忘却力(16) VSCodeで ctest+gtestその2、Classのテスト” の続きを読む

トホホな疑問(45) I2CでAQM1602通信失敗、Pull-up抵抗強すぎた。

AQMwaveformBAD
Joseph Halfmoon

今回はM5ATOM Liteに使い慣れたI2C接続のLCDディスプレイAQM1602XAを接続しようとして足をすくわれました。まさか。結論から言えばI2Cバスに接続してあった他のデバイスのプルアップ抵抗が強力すぎ。無駄な努力でMicroPythonでACK無視するI2Cもどきを作成、表示OK。端子変えれば済む話だ。

“トホホな疑問(45) I2CでAQM1602通信失敗、Pull-up抵抗強すぎた。” の続きを読む

鳥なき里のマイコン屋(151) PlatformIOのunittest、使ってみた

Uno_Nucleo_EC
Joseph Halfmoon

ホスト機上のテストフレームワーク、テストランナーは定番がありますが、組み込みマイコン上では独自路線が多いのではないかと想像します。そんな中、以前から気になっていたPlatformIOの単体テストランナーを試用してみました。とりあえずサンプルプロジェクトを持ってきて「ちょっと」修正しただけで別ボード対応可。いいんでないかい。

“鳥なき里のマイコン屋(151) PlatformIOのunittest、使ってみた” の続きを読む

モダンOSのお砂場(35) Mbed OS6、Threadを使ってみる、STM32

ProjectWizard
Joseph Halfmoon

前回はEventQueueを使った2つの仕事の並行処理例でした。今回はThreadを使ってほぼ同じ仕事を書き直してみます。プライオリティがないEventQueueと比べると、Threadはプラオリティ制御もできて、クリティカルな制御が可能なのだと思います。RTOSのカーネルのお陰。RTOS的にはこちらの方が「本流」でしょうか。

“モダンOSのお砂場(35) Mbed OS6、Threadを使ってみる、STM32” の続きを読む

トホホな疑問(44) WindowsPCからWindowsPCにSSH接続

blockDiagEC
Joseph Halfmoon

今回WindowsPCから、別のWindowsPCにSSHすることにいたしました。どちらもWindows版のOpenSSH利用です。手元のPCからちょっと離れたところにあるPCのコマンドプロンプトを開いて操作できるとよろしかろう、と。ついでにその中からWSL2起動すれば x86版のLinuxも使える、と。つい魔が刺しました。

“トホホな疑問(44) WindowsPCからWindowsPCにSSH接続” の続きを読む

ぐだぐだ低レベルプログラミング(49) RISC-V、アリガチな浮動小数加減算の落とし穴

VScodeEC
Joseph Halfmoon

前回までに浮動小数点の例外とか丸めとかのメンドイ部分を調べました。今回からは実際に計算していきたいと思います。まずは浮動小数の加算と減算からですな。ただ足し算が出来たと喜ぶのでは芸が無いので、皆さんご存じな「駄目」ケースの計算をあえてやって、バイナリで結果を見て行きたいと思います。

“ぐだぐだ低レベルプログラミング(49) RISC-V、アリガチな浮動小数加減算の落とし穴” の続きを読む

データのお砂場(14) R言語、InsectSprays、殺虫剤の効きの分散分析とな?

InsectSpraysBoxPlot
Joseph Halfmoon

毎回テキトーにグラフを描いてお茶を濁してきたので、今回は多少なりとも統計的な意味に近づきたいです。そこに「飛んで火にいる夏の虫」であったのが今回のシンプルな一元配置の分散分析、one-way ANOVAです。データセットはInsectSprays、「殺虫剤の効果はありや、無しや」と。

“データのお砂場(14) R言語、InsectSprays、殺虫剤の効きの分散分析とな?” の続きを読む

Pico三昧(8) Pico C/C++SDKでinterp その2、DeadBeef例題

DeadBeef
Joseph Halfmoon

前回からラズパイPicoの特長の一つである interpolator を使いはじめました。今回は、interpolator の内部にある、シフタ、マスク、符号拡張器を制御してみます。RP2040データシートを読むとちょうどいい塩梅に処理例が載っていました。DeadBeefとな。ここでは16進数でちょうど32ビットだからってことみたいですが。

“Pico三昧(8) Pico C/C++SDKでinterp その2、DeadBeef例題” の続きを読む

忘却の微分方程式(33) 常微分方程式を解く その2、MathematicaとMaxima

MAX_ODE_D000_EC
Joseph Halfmoon

前回に引き続き今回も微分方程式です。今回は数値解の求め方について、Mathematicaの例題をMaximaでも解いてみた、という感じです。例によって、良いように勝手にやってくれるお楽なMathematicaと、ちゃんと自分でやれよ、という感じのMaximaという感じ。結構辛いよ素人には。

“忘却の微分方程式(33) 常微分方程式を解く その2、MathematicaとMaxima” の続きを読む

手習ひデジタル信号処理(21) 残響生成器その1、櫛型フィルタ、Scilabで見る

CombFilterImpluseRes
Joseph Halfmoon

今回から残響生成器に入ります。その1回目は要素部品、櫛型フィルタ(comb filter)です。勝手ながら要素部品は Scilab 使って個別に「動かして」みるというスタイルであります。今回は、まずブロック図を描いてインパルス応答の波形を観察。次に例の如くにボード線図も描いてと。大分慣れてきた?

“手習ひデジタル信号処理(21) 残響生成器その1、櫛型フィルタ、Scilabで見る” の続きを読む

MicroPython的午睡(60) ESP32、WatchDogタイマの利用

DevKitC_WDTtest
Joseph Halfmoon

WatchDogタイマ(番犬タイマ)は、万が一ソフトウエアがxxな事態に陥ったときにRESETなどかけて制御を取り戻してくれる「転ばぬ先の杖」であります。40年ほど前のマイコンでは、ちょっとヘビイ・デューティっぽい機種にのみ搭載されていましたが、この頃はほぼほぼ漏れなく搭載されている標準機能かと思います。

“MicroPython的午睡(60) ESP32、WatchDogタイマの利用” の続きを読む

ソフトな忘却力(15) VSCodeでctest+gtest、CMakeLists.txt

vscodeGtestCtest
Joseph Halfmoon

前回 CMakeLists.txtを書くだけで、GoogleTestがインストールされていなくても速攻でgtestできるのに感激しました。CMake本当に便利。しかし前回はVSCodeからリモート接続じゃなかったです。それに全部のファイルを同じディレクトリに入れてました。やっぱりライブラリやテストは分けたいです。またテキトーにCMakeLists.txt書いてみたら通ってしまった。これで良いの?

“ソフトな忘却力(15) VSCodeでctest+gtest、CMakeLists.txt” の続きを読む