前々回、前回と低価格なソフトウエア無線受信用USBドングルRTL-SDRのデータをPythonで読み取ったものをScilabへ「輸出」するためのPythonスクリプトを作ってました。今回はそのスクリプトにFM放送波形を復調して断片的ですが音響再生する機能を追加してみました。毒を食らわば皿まで?違うか。
GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合
TinyGoを使ってBBC micro:bit v2を制御してます。「使ってなかった」のに「使った気でいた」ペリフェラル回路があり。SPIです。TinyGoでSAMD21マイコンで実験済、またmicro:bitのmakeCode環境でも実験済。でもTinyGoとmicro:bit v2 ではやってない。組み合わせ爆発?
“GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合” の続きを読む
MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?
フルPython処理系でデータベース的なものを使いたいとき「お手軽な」SQLite使うことが多いデス。一方スタンドアロンなMicroPython単独でSQL系DB使うのは現実的ではないかと。しかしMicroPythonには固有の実装としてbtreeモジュールあり、標準辞書型に近い形の連想配列を「永続化」可能であります。
ぐだぐだ低レベルプログラミング(120)ARM64(AArach64)Floatのストア#1
Rubyと一緒(11) Chrome版Rubic、ついに起動できなくなりました。滅亡?
『つひに行く道とはかねて聞きしかど昨日今日とは思はざりしを』在原業平。特価品(見切り品?)のGR-CITRUSボード(ルネサスRX631搭載)で組み込みRuby(mruby)してまいりました。その処理系Chrome版Rubic、起動の度にサポート無の警告あり。無視して使ってまいりましたが、ここまでか。ついに起動不能。
“Rubyと一緒(11) Chrome版Rubic、ついに起動できなくなりました。滅亡?” の続きを読む
忘却の微分方程式(100) 反復練習63、楕円面の接平面を描く、Maxima
前回は包絡線(envelop)でした。今回は接平面です。「似たようなもん?」、偏微分して公式に当てはめればこの年寄にも式は求まります。でもね~実際に図を描いてみないと実感がわかないのよ。そして図を描くためには何か具体的な数値を与えないと描けません。具体的な数値にすれば納得いくけれどもメンドイ。しかたない? “忘却の微分方程式(100) 反復練習63、楕円面の接平面を描く、Maxima” の続きを読む
オプション沼(20) gcc、-Warray-bounds、最適化のときは世話焼きになる
警告オプションの重箱の隅をつつくようなことをしていると、「これ駄目でしょ」的なコードを書くことになります。しかし何の警告も出ずにコンパイル出来、ましてや実行もできてしまうと。どう見たってエラーなんだけれども。今回のWarray-boundsオプションは、最適化するとビシビシ指摘してくれるのに、最適化しないとザル?
データのお砂場(86) R言語、uspop、米国の人口(国勢調査)、1790-1970
R言語所蔵のサンプルデータセットをABC順(大文字先)で見ています。今回はuspop とな。popといったってポップミュージックではありませぬ、人口のpopulation の方です。例によって古いデータセットです。1790年から1970年までの約200年間、第1回の国勢調査から10年毎の調査データらしいです。
お手軽ツールで今更学ぶアナログ(158) AD2、遅延計測スクリプト機能追加と小ネタ
アナデバ社(ADI社)の日本語版記事の最新号をキャッチアップできたので、再びAnalog Discovery2のスクリプトの練習に戻ります。第155回では2つのチャネル間の信号の立ち上がりの時間差を「遅延」とみなして測定。今回は立ち上がり、立下りの区別なく、「エッジ間」ということで測定できるようにしてみました。
“お手軽ツールで今更学ぶアナログ(158) AD2、遅延計測スクリプト機能追加と小ネタ” の続きを読む
ブロックを積みながら(121) Node-RED、自前ノードにユニットテスト追加
本当は「テスト駆動設計」的に先にテスト書いてからノードの作成にかかりたいものです。しかしノードの書き方自体がよく分からん、ということで先にそっちに突っ込んでました。しかしノードの機能も増えつつあります。この辺でユニットテストをキチンとしておきたいです。またしかし、ユニットテストの書き方自体が怪しいデス。堂々巡りやな。 “ブロックを積みながら(121) Node-RED、自前ノードにユニットテスト追加” の続きを読む
手習ひデジタル信号処理(90) PythonでRTL-SDRデータをデシメーション
前回、ソフトウエア無線受信用USBドングルRTL-SDRのデータをPythonで読み取ったものをScilabへ「輸出」。これでScilabでもRTL-SDRのデータを処理できる(リアルタイムじゃないけど)とほくそ笑みました。今回は「輸出」に使ったPythonスクリプトに手を入れデシメーション機能など追加。益々繁盛?
SPICEの小瓶(31) BVエレメント使って、積分のビヘイビア・モデル
一度禁断の荒業「BVエレメント」に手を出してしまうと、後は野となれ山となれ、ほぼ算術的に記述可能な動作であれば何でも「ビヘイビア」モデル化可能であります。今回は積分回路です。前回の遅延回路の「チョイ変」で「ビヘイビア」モデル化してみます。一撃。電源電圧の制限などなくどこまでも積分可能。ビヘイビアだね~。
ぐだぐだ低レベルプログラミング(119)ARM64(AArach64)Floatのロード#2
前回より浮動小数点レジスタおよびSIMDレジスタのスカラーに関するメモリからのロード命令の練習を始めました。何度も書いているようにA64の命令も多すぎなら、アドレシング・モードも多すぎ(個人の感想です。)下手をするとオペランドのビット幅のバリエーションが多い分、整数ロード命令より組み合わせ多いんでないの。
手習ひデジタル信号処理(89) PythonからScilabへRTL-SDRデータをお裾分け
前回、遅ればせながら入手のソフトウエア無線受信機RTL-SDRをPythonで読み取りできました。順当な線ではPythonで後段処理、ということになりますが、このところやっていたScilab様をお見限り、というのは寂しい限り。どうせリアルタイム処理は狙わないのでRTL-SDRのデータをScilabへもお裾分けっと。
“手習ひデジタル信号処理(89) PythonからScilabへRTL-SDRデータをお裾分け” の続きを読む