ぐだぐだ低レベルプログラミング(112)ARM64(AArach64)積和は”fused”

fused_result
Joseph Halfmoon

今回から浮動小数の積和演算に入ります。「掛けた結果を足しこむ」積和演算は、積分というかコンボリューションというか、信号処理かAIか、近代的な各種アルゴリズムで多用される演算です。何万回どころか何億回も。そのような計算を高速化してくれる積和演算命令ですが、普通に掛けてから足すのとは結果が微妙に違うことがあると。ホントか?
“ぐだぐだ低レベルプログラミング(112)ARM64(AArach64)積和は”fused”” の続きを読む

SPICEの小瓶(25) 電圧制御電流源のPOLYでアナログ電圧除算回路ビヘイビアモデル作る

AVD2_TIM
Joseph Halfmoon

前回前々回と電圧制御電圧源のPOLY記法を使ってアナログ電圧の加減算、乗算のビヘイビアモデルを作ってLTspice上で動作確認。今回はアナログ電圧除算回路のビヘイビアモデルです。この除算の算法は自分ではとても思いつかなかったので、ほぼ30年前の例の御本を取り出してきてのぞき見。やっぱ数学できるヒトは違うよ。

“SPICEの小瓶(25) 電圧制御電流源のPOLYでアナログ電圧除算回路ビヘイビアモデル作る” の続きを読む

Rubyと一緒(3) GR-CITRUSでパッシブ・ブザーを鳴らしてみる

GR_CITRUS_Passive_Buzzer
Joseph Halfmoon

特価品(見切り品?)のGR-CITRUSボードで組み込みRuby(mruby)してます。前回はPWM出力しました。PWMはデューティ比可変ですが周期は固定。周期は変えられないの?というとtoneメソッドで周期可変(でもデューティはお任せ)の信号を出力できるようです。パッシブ・ブザーに出力すればメロディーを奏でられる?
“Rubyと一緒(3) GR-CITRUSでパッシブ・ブザーを鳴らしてみる” の続きを読む

データのお砂場(78) R言語、stackloss、オストワルト法の「逆効率」データとな

stacklossLMsummary
Joseph Halfmoon

今回のデータセット、stackloss名と別に、stack.xとかstack.lossという名でも呼び出せるみたいです。独立変数3個がstack.xで、従属変数1個がstack.loss。stacklossには「もれなく」両方入っているのでこれをロードすりゃええ、というこってす。今回のデータはなんだ、無機化学?
“データのお砂場(78) R言語、stackloss、オストワルト法の「逆効率」データとな” の続きを読む

忘却の微分方程式(92) 反復練習55、合成関数の偏導関数、無理やり当てはめる?Maxima

fomula1
Joseph Halfmoon

前回は偏微分だろうが全微分だろうがdiff()関数におまかせの回だったです。今回は合成関数だろうが何だろうがやっぱりdiff()関数におまかせの回です。教科書的には定理を使って解いてね、という思し召しの回なのですが、定理使わんでも、無理やり定理に当てあはめてもMaxima様にお願いすれば結果は同じだと。

“忘却の微分方程式(92) 反復練習55、合成関数の偏導関数、無理やり当てはめる?Maxima” の続きを読む

お手軽ツールで今更学ぶアナログ(150) WaveForms、実験自動化最初の一歩?

1N4148_IVgraph
Joseph Halfmoon

『StudentZone』2月号の日本語記事がアップされるまでの「つなぎ」として、Digilent AD2、WaveFormsのScript制御の練習を続けてまいりたいと思います。いよいよ今回は実験自動化っぽいことをやってみます。印加するDC電圧をプログラムで制御しながら、そのときの電流、電圧を測定するだけのもの。 “お手軽ツールで今更学ぶアナログ(150) WaveForms、実験自動化最初の一歩?” の続きを読む

RustにいればRustに従え(11) 行列積を求めたいです。普通な感じで。mut有for有

verifyR
Joseph Halfmoon

前回は素朴な方法で2次元配列に乱数を詰め込みました。今回は詰め込んだ配列2つをもってきて行列積を求めてみたいと思います。これまた一目瞭然な素朴な方法。後々いろいろ実験するための準備とな。しかしそれにしても行列積の検算どうしましょう。とりあえず行列がお得意らしいR言語にお願い。検算してよかったデス。。。
“RustにいればRustに従え(11) 行列積を求めたいです。普通な感じで。mut有for有” の続きを読む

ブロックを積みながら(113) Node-RED、CSSセレクタでHTML要素を抽出

example
Joseph Halfmoon

前回はWebからとってきたhtml文書の中の<table>要素を抽出してNodeRedダッシュボードに表示してみました。今回はCSSセレクタを使ってより細かいレベルで要素抽出を行ってみたいと思います。フロントエンドがお得意の人には簡単なんだろうが、低レベルプログラミングな年寄には慣れない高水準だなあ。

“ブロックを積みながら(113) Node-RED、CSSセレクタでHTML要素を抽出” の続きを読む

IoT何をいまさら(120) 続Arduino用ソースをWSL2上でGoogle-test

Progress
Joseph Halfmoon

前回に引き続き、Arduino環境用に書いた関数をWSL2(Ubuntu)上でGoogle-testしています。多少進捗があったのは「文字列で書いた16進数の計算式」を「評価」して結果を数値で返せるところまでテストが進んだことです。160行ばかりの短いコードだけれども一応インタプリタもどき。今のところ即値の計算のみ。
“IoT何をいまさら(120) 続Arduino用ソースをWSL2上でGoogle-test” の続きを読む

手習ひデジタル信号処理(80) Scilab、変調/復調系関数、どこまでOKなの?

demod_error
Joseph Halfmoon

ScilabのScilab Communication Toolbox(comm_tbxと略称)をありがたく使わせていただいております。前回までのプロット系の関数などは便利に使えるのですが、どうも変調/復調系の関数、特に復調(demodulation)系が怪しく思えてなりませぬ。復調は自分でやってみろと?

“手習ひデジタル信号処理(80) Scilab、変調/復調系関数、どこまでOKなの?” の続きを読む

GoにいればGoに従え(14) TinyGo、micro:bit v2、CDSセンサ読み取り

MB20CDS_DUT_SCHEMATIC
Joseph Halfmoon

前回までで、micro:bit v2上でv1.5上でできていたことが出来るように復旧できました。今回からアナログ入力に戻ります。まずはDC的な動きのないアナログ電圧で処理できるものということでCDSセンサを取り付けてみました。ありがち?ちょっとした明るさの変化にも敏感に反応してくれるCDSセンサは実験しやすいです。 “GoにいればGoに従え(14) TinyGo、micro:bit v2、CDSセンサ読み取り” の続きを読む

ぐだぐだ低レベルプログラミング(111)ARM64(AArach64)FRINTx

frintResults
Joseph Halfmoon

前回前々回と浮動小数点レジスタと整数レジスタの間での整数/固定小数点数変換をエクササイズしてきました。しかし今回は浮動小数点レジスタ間での「整数変換」です。フォーマット上は浮動小数、でも中身は整数ピッタンコの値というやつ。またまたメンドイ「丸め」が登場して命令ニーモニック数が激増。A64ホントに命令多いな。 “ぐだぐだ低レベルプログラミング(111)ARM64(AArach64)FRINTx” の続きを読む

MicroPython的午睡(100) ESP32版、ブートモードに入らなくて焦りました

Joseph Halfmoon

前回までSTM32版でMicroPythonしてきました。回重ねたので今回からESP32版に「戻りたい」と思います。以前にもESP32機でMicroPythonしてましたが「手足の少ない」M5ATOMLite機でWiFi経由の操作が主でした。今回からは端子が出ているESP32DevKitC機を使っていきたいと思います。
“MicroPython的午睡(100) ESP32版、ブートモードに入らなくて焦りました” の続きを読む

データのお砂場(77) R言語、sleep、スチューデントの睡眠データとな

sleep1StripChart
Joseph Halfmoon

今回のサンプルデータセットには “Student’s Sleep Data” というタイトルがついてます。以前であれば「学生さんのデータなの?」とボケをかますところです。今では知っています。また出たなStudent先生、t検定をやれってことですかい?データ自体は「眠くなるお薬」を飲んだ時の睡眠時間のデータらしいっす。

“データのお砂場(77) R言語、sleep、スチューデントの睡眠データとな” の続きを読む