お手軽ツールで今更学ぶアナログ(151) WaveForms、なんとなくVf測定、精度は?

measureVFresult_1N4148
Joseph Halfmoon

前回Digilent Analog Discovery2のWaveFormsソフトウエアをJavaScript制御、実験自動化ぽいことを実施。今回は前回のプログラムに手を入れて、ダイオードのVf測定モドキ(精度は?だけれども)を行ってみたいと思います。まあその辺の「お求めやすい」DMMでも一撃で測れる値だけれども。

“お手軽ツールで今更学ぶアナログ(151) WaveForms、なんとなくVf測定、精度は?” の続きを読む

RustにいればRustに従え(12) まずはspawnとchannelでマルチスレッド。

spawnParallel
Joseph Halfmoon

前回は素朴な2次元ループ、勿論シングルスレッドで行列積を求めました。今回はこれに手をいれてマルチスレッド化してみたいと思います。調べたところ「データ並列を活用」するrayonクレートというものが魅力的だったのですが、今回はRustのフツー?のthreadを使ってRust風の並列化を学んでいきたいと思います。 “RustにいればRustに従え(12) まずはspawnとchannelでマルチスレッド。” の続きを読む

ブロックを積みながら(114) Node-RED、『はじめてのノード開発』やってみた

Lower-case_help
Joseph Halfmoon

手元のNode-REDのパレットのノード、舐めてみた感があり。ようやく。今回からは「新たな地平」です。自前でノード作ってみるだけなんだけれども。「Node-RED User Group Japan」様のお陰でドキュメント充実。今回は『はじめてのノード開発』なるページをそのままやってみただけ。ノード追加できましたぞ。

“ブロックを積みながら(114) Node-RED、『はじめてのノード開発』やってみた” の続きを読む

GoにいればGoに従え(15) TinyGo、クラスは無いけど。micro:bit v2

MovingAVGstruct
Joseph Halfmoon

一時期、あの言語もこの言語もオブジェクト指向、いえ「クラス原理主義」にハマっていたと思う私メでございます。Go言語にはアカラサマなクラスというものは有りませんが、クラス的な型structと型に引っ付いたmethodがあり。このくらいが私メには丁度いい感じがします。折角なので練習してみました。題材は移動平均とな。
“GoにいればGoに従え(15) TinyGo、クラスは無いけど。micro:bit v2” の続きを読む

手習ひデジタル信号処理(81) Scilab、ライブラリの.binファイルのミスマッチ?

plot_b1_b2
Joseph Halfmoon

前回Scilab comm_tbxの復調(demodulation)系の関数使ってみたけれど動かない、ダメじゃん、とブー垂れました。その後、ライブラリの内部に立ち入ってちょいと調べたところ一部原因が分かってきました。なんだ、直るじゃん。今回はエラーを回避して動くようになった関数使って、askの変調、復調をやってみます。 “手習ひデジタル信号処理(81) Scilab、ライブラリの.binファイルのミスマッチ?” の続きを読む

MicroPython的午睡(101) ESP32版、PWMのサンプルプログラムそのまま

ESP32_PWM_DUT
Joseph Halfmoon

前回ESP32版のMicroPythonが復活したので触っていきたいと思います。よい塩梅に比較対象になるボードを別シリーズで使い始めたのでそちらの進捗とも合わせて、実験してまいりたいと思います。今回はPWM出力であります。キホンのキなのでドキュメントとサンプルも充実。今回はサンプルそのまま動かしてみただけ。
“MicroPython的午睡(101) ESP32版、PWMのサンプルプログラムそのまま” の続きを読む

ぐだぐだ低レベルプログラミング(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要素を抽出” の続きを読む