ぐだぐだ低レベルプログラミング(54) RISC-V、単精度平方根で2次元normを計算

norm
Joseph Halfmoon

加減乗除に最大/最小、比較とやってきましたが、まだ残っている「演算系の浮動小数点命令」がありました。平方根です、Square Root。平方根を計算するだけでは芸が無いので、2次元のnormも計算してみました。x86(というかx87)系のFPU命令であると「超越関数」までありますが、RISC-Vには超越関数不在です。加減乗除とアルゴリズムで後はよしなに、と。

“ぐだぐだ低レベルプログラミング(54) RISC-V、単精度平方根で2次元normを計算” の続きを読む

データのお砂場(20) R言語、Orange、オレンジの木の幹の太さの成長曲線とな?

SSlogisPlot
Joseph Halfmoon

桃栗三年柿八年などと申しますが、このデータを見るとオレンジの木は4~5年くらいでそこそこの太さまで生育するように見えます。しかし、「木の幹の太さを測る」、データの解析以前にいろいろあるようです。米国と日本で測る高さが違う?それどころか日本国内でも北海道と本州以南では違う?いろいろあるのね。

“データのお砂場(20) R言語、Orange、オレンジの木の幹の太さの成長曲線とな?” の続きを読む

手習ひデジタル信号処理(26) ヒルベルト変換器による周波数シフタその2 DCカットフィルタ

BlockDiag
Joseph Halfmoon

前回は周波数シフタの全貌を実機で観察。今回はその構成要素初段のDCカット・フィルタについて調べてみたいです。フィルタのコードはIIRフィルタを「手習ひ」したときに既に使っていたのですが、忘却の彼方。今回はScilab使ってその特性を調べた後、実機でDCカットフィルタを「外したら」どうなるのか観察してみたいと思います。

“手習ひデジタル信号処理(26) ヒルベルト変換器による周波数シフタその2 DCカットフィルタ” の続きを読む

MLのお砂場(1) 「とりあえず」JupyterLab環境はセットアップしたけれども

jupiterlabTop
Joseph Halfmoon

「お砂場」シリーズ第3弾「MLのお砂場」始めることにいたしました。ML=Machine Learningです。MLなのでPythonメインでやる、ということは決めたのですが、Python系の「環境」いろいろありすぎてどうしたものかと考え中です。ポピュラーでお手軽に使えるものから「お砂場」ついでにいろいろ使ってみるかと。

“MLのお砂場(1) 「とりあえず」JupyterLab環境はセットアップしたけれども” の続きを読む

Pico三昧(13) Pico C/C++SDKで4.096MHzクロック生成その2PIO

PIO_FFT
Joseph Halfmoon

前回PWMで生成したクロックで十分かな~と思ってしまったので、もう一度似たようなことをやるのはカッタるいです。でも自分でPIO(プログラマブルIO)でもクロック作ってみると書いてしまったのでやらないと。大分ラズパイPicoのPIOにも慣れたんですが、PIOアセンブラでたった2行。けれどヘッダ部分書くのがメンドイのよね。

“Pico三昧(13) Pico C/C++SDKで4.096MHzクロック生成その2PIO” の続きを読む

忘却の微分方程式(38) 反復練習2、平面と直線の交点の座標を求める、Maxima

AlphaAndPi
Joseph Halfmoon

前回の練習、と言って実際に計算しているのはMaxima様ですが、は「ベクトルに垂直な単位ベクトルを求める」でした。今回は「平面と直線の交点の座標を求める」です。霧のかかった朦朧とした頭でもMaxima様にお願いすれば解いてくれる、と。Maxima様は計算間違えなくても入力間違えるなよ、自分。

“忘却の微分方程式(38) 反復練習2、平面と直線の交点の座標を求める、Maxima” の続きを読む

ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定

LPF_est_BodePlot
Joseph Halfmoon

Node-REDはIoTデバイスなどから集めて来たデータをWeb表示したりするときにとても便利なシステムです。昨日別投稿にてsmoothノードというものを勉強。入って来たデータの平均、最大といった統計量を求める他に、ローパス、ハイパスフィルタも含んでました。しかしHELPみてもフィルタ特性については書いてなかったです。

“ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定” の続きを読む

ブロックを積みながら(59) Node-RED、統計?信号処理? smoothノード

smoothNodeEC
Joseph Halfmoon

前回は「何もしない」けれど「書けることが多い」commentノードでした。今回は、設定できることは少ない割に奥が深そうな(あまり沼にハマりたくない)smoothノードです。苦手の統計やらデジタル信号処理(もどきですが)も登場。まあ、使ってみている内に慣れる?慣れない?

“ブロックを積みながら(59) Node-RED、統計?信号処理? smoothノード” の続きを読む

SPICEの小瓶(2) ゼロゲイン・アンプの宿題、DC解析とパラメータスイープでやっつけ

ZeroGainAmp2a_dc
Joseph Halfmoon

昨日「お手軽ツールで今更学ぶアナログ(81)」で解答編が無いので困っていた件、LTspiceで「やっつけ」てしまうことにいたしました。まあ、SPICEかければお答えは「出る」のですが、理解には程遠いです。ともあれDC解析とパラメータスイープがあればなんとかなる、と。ホントか?

“SPICEの小瓶(2) ゼロゲイン・アンプの宿題、DC解析とパラメータスイープでやっつけ” の続きを読む

うさちゃんと一緒(2) Cooperative Multitaskingで吉例Lチカ

protoBoardLedsEC
Joseph Halfmoon

懐かしいZ80的命令を持つ、うさちゃん印のRabbit4000を使用中です。前回「売り」のEthernetから始めてしまい、新マイコン入手時の吉例を飛ばしてしまいました。今回は、Rabbit用の言語処理系 Dynamic Cの特長の一つ、Cooperative Multitaskingを使って「Lチカ」してみます。

“うさちゃんと一緒(2) Cooperative Multitaskingで吉例Lチカ” の続きを読む

データのお砂場(19) R言語、Nile、ナイル川の水量百年とな?

Nile_MovingAVG
Joseph Halfmoon

第16回でヒューロン湖の水位変動データを扱ってみましたが、今回はナイル川の水量データです。1871年から1970年までの100年間のものです。その最大水量1370×108立方m/yearとな。エジプト南端のアスワンでの値のようです。そういえば1970年、アスワン・ハイ・ダムの完成の年らしいです。

“データのお砂場(19) R言語、Nile、ナイル川の水量百年とな?” の続きを読む

ぐだぐだ低レベルプログラミング(53) RISC-V、単精度浮動小数点数の比較

feq_flt_fle_EC
Joseph Halfmoon

前回は浮動小数点数の最大最小を求める命令でした。今回は、浮動小数点数の比較命令です。比較した結果として条件分岐することが多いと思います。RISC-Vには分岐フラグが存在せず、条件分岐は整数レジスタの中の値を分岐命令で判定します。このため浮動小数の比較命令の結果は整数レジスタに書き込みとなります。

“ぐだぐだ低レベルプログラミング(53) RISC-V、単精度浮動小数点数の比較” の続きを読む

忘却の微分方程式(37) 反復練習1、ベクトルに垂直な単位ベクトルを求める、Maxima

Ex1
Joseph Halfmoon

通り一遍舐めていってもMaximaもMathematicaも上手くならないので、ちょっと方針を変更しました。反復練習あるのみ、と。しかし、忘却力のこの年寄りが反復練習してもザル、結局、ファイルに残したものだけが「記憶(ストレージ)」に残ると(計算機におまかせ。)反復練習には大学初年級くらいのところから始めたいです。最初は線形代数とな。

“忘却の微分方程式(37) 反復練習1、ベクトルに垂直な単位ベクトルを求める、Maxima” の続きを読む

手習ひデジタル信号処理(25)ヒルベルト変換器による位相シフタ利用の周波数シフタ その1

Result2FFT
Joseph Halfmoon

今回から周波数シフタです。周波数をシフトするのに加法定理を使う。それにはcosとsinの両方が要る。cosをπ/2だけ位相シフトすればsinになる、ということで、位相をシフトするために使うのがヒルベルト変換器であります。分かったような分からぬような。今回は先に実機上で動作確認してから個々の部品を調べていきたいと思います。

“手習ひデジタル信号処理(25)ヒルベルト変換器による位相シフタ利用の周波数シフタ その1” の続きを読む