
今回から周波数シフタです。周波数をシフトするのに加法定理を使う。それにはcosとsinの両方が要る。cosをπ/2だけ位相シフトすればsinになる、ということで、位相をシフトするために使うのがヒルベルト変換器であります。分かったような分からぬような。今回は先に実機上で動作確認してから個々の部品を調べていきたいと思います。
デバイス作る人>>デバイス使う人>>デバイスおたく
LTspiceのお世話になっている割には使い方が良く分からないままです。最近もアナデバ様の部品キットADALP2000所蔵のMOSFETをLTspiceしてみよ、と。しかしLTspiceには該当部品のMOSモデルパラメータはありませんでした。Webを漁ってSUBCKT定義を見つけたのですが、どう設定するの?
前回がPWM出力だったので、今回は逆に入力インターバルをタイマAPIで測定してみました。入力は割り込み受け、人間がボタンを押す想定なので精度的にはいい加減な方法です。まあ、とりあえずボタンを押す時間間隔は測れたと。また、前回と異なり今回はオブジェクトコードの作成にWebベースのMbed Compilerを使ってみます。
うさちゃん印のRabbit4000、Z80に似た8ビットの命令セットを持つちょっと古いけれども強力なマイコン、を手に入れてインストールをし動作確認をいたしました。今回から、少しづつ「うさちゃん印」を動かしていきたいとおもいます。まずは「売り」の機能Ethernet I/Fの動作確認から。外からPingしてお返事を確認してみます。
RISC-Vは、RISCの中でもシンプルで「絞り込んだ」命令セットでありますが、浮動小数点数を扱う命令結構多いんじゃないかい。まあ面倒くさいものを扱うので、いたしかたないか。RISC-Vのせいではないですな。前回は積和演算命令でしたが今回は最大、最小求める命令です。
今回は前々回のBlendモード再びです。その上、Datasheetのサンプルプログラムほぼほぼそのままです。何といっても中の人の書いたサンプルプログラム流石すぎます。Blendモードで補間をするついでにデータ配列を舐めるためのポインタアドレスまで作ってました。私のような凡人には考えつかないテクであります。
前回アナログ・マイクロフォンを追加、ようやく残響生成器を実際に動かしてみることができるようになりました。スピーカは100円ショップのものを第20回でもつかったスピーカアンプで駆動してみました。確かに残響しています。マイクを叩くと長い地下道でコツコツ歩いているような効果音?つくれました(末尾に音声添付。)
前回はエラーをキャッチして別タブに「投げ」てみましたが、今回はノード・ステータスの変更を見つけてやはり別タブに通知してみます。ノード・ステータスは今どんな状態かエディタ画面で確認できて便利ですが、そのままでフローに影響を与えるものではありません。Statusノードを使えば何かのキッカケに使えそう?