手習ひデジタル信号処理(45) 適応線スペクトル強調器、実験用入力信号フィルタしたら見違えた

ResultTIMyPer
Joseph Halfmoon

前回前々回と適応線スペクトル強調器のサンプルプログラムを動かしていて「波形が不安定」とか「ステップ・サイズ・パラメータも安定せんな~」と気にかかっておったのです。その原因として心に引っかかっていたのが入力波形です。ノイズを「盛る」べく制限波に乱数を重ねているのですが、強調器のナイキスト周波数越えのノイズまで山盛り。
“手習ひデジタル信号処理(45) 適応線スペクトル強調器、実験用入力信号フィルタしたら見違えた” の続きを読む

うさちゃんと一緒(13) 動的なWebページ最初の一歩、SHTMLでSSI

SSI_TOP
Joseph Halfmoon

前回は、静的なコンテンツのみのHTMLサーバの作り方を調べました。しかし、うさちゃん(Rabbit 4000)をHTTPサーバにしたいのは、何かマイコンらしい処理をしてもらったものにWebページとしてアクセスしたいからです。動的なページ必須です。今回は動的ページでもっとも簡単そうなSSIでやってみます。 “うさちゃんと一緒(13) 動的なWebページ最初の一歩、SHTMLでSSI” の続きを読む

手習ひデジタル信号処理(44) 適応線スペクトル強調器、学習同定法+Leaky LMS版とな

LeakyLMS_FFT_YES
Joseph Halfmoon

前回、適応フィルタの応用とてALE(Adaptive Line Enhancer)、適応線スペクトル強調器なるものを動かしてみました。まあサンプルプログラムを動かしてみるだけなら簡単っと。今回はさらに「学習同定法」というものが登場し、信号の大きさに応じてパラメータを変化させるのだ、と。ううむ、どんどんムツカシクなっている気がするのだけれど。。。やるしかない。

“手習ひデジタル信号処理(44) 適応線スペクトル強調器、学習同定法+Leaky LMS版とな” の続きを読む

うさちゃんと一緒(12) 改めてHTTPサーバ、最小構成のSTATICコードを読みます

STATIC_PAGE
Joseph Halfmoon

前回前々回と気になっていたうさちゃんのメモリマップを調べて少しスッキリしたので、HTTPデーモンねたへと戻りました。今回は改めてということで最小構成、動的なページが一切ないスタティックなHTMLと画像のみをサーバするサンプルプログラムを眺めてみたいと思います。これだけなら簡単?ホントか?

“うさちゃんと一緒(12) 改めてHTTPサーバ、最小構成のSTATICコードを読みます” の続きを読む

手習ひデジタル信号処理(43) 適応線スペクトル強調器(ALE)、LMSアルゴリズム版とな

ALE_ON
Joseph Halfmoon

ALEというと、私の心の中では40年以上前から不動のAddress Latch Enableであります。しかし今回は、Adaptive Line Enhancer、適応線スペクトル強調器なんであります。適応フィルタの応用であります。信号処理素人の私にとっては適応と聞いただけで恐れいってしまうのですが。大丈夫か。

“手習ひデジタル信号処理(43) 適応線スペクトル強調器(ALE)、LMSアルゴリズム版とな” の続きを読む

うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック

CSLOGICupd2
Joseph Halfmoon

前回、Rabbit4000のメモリマップと称するものを掲げつつ、本人も釈然としておりませんでした。今回、実機に「問いかけつつ」分かってきたのが、Rabbit4000のチップセレクトロジックが果たす役割です。物理アドレスのその先にもう一段階の対応関係がアリーの。うさちゃん、思ったよりももっと複雑。 “うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック” の続きを読む

うさちゃんと一緒(10) Rabbit4000(RCM4010)のメモリマップ(仮)

RCM4010_L2P_MAP
Joseph Halfmoon

うさちゃんRabbit4000(モジュール型番としてはRCM4010)でプログラムを書いていくにあたって、知らん事が多いなと痛感いたしました。その一番はメモリの構成です。Z80的16ビット論理アドレスから24ビットの物理アドレスに拡張しているRabbit4000の仕組みをまず知ろうと。ううむ、調べてみるといろいろ複雑。

“うさちゃんと一緒(10) Rabbit4000(RCM4010)のメモリマップ(仮)” の続きを読む

うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000

Rabbit4000onPrototypingBoard
Joseph Halfmoon

Z80上位互換のCPUは数あれど、うさちゃん印のRabbitはEthernetインタフェースまで搭載した強力なものであります(コマケーことを言うと完全な上位互換ではないようです。)ともあれ8ビットのZ80の64kバイトのメモリ空間の制約をバンクスイッチ的なハードで大拡張しているところは他の拡張CPU同様かもしれません。

“うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000” の続きを読む

手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1

DS_DUT
Joseph Halfmoon

デシメーションというのは古代ローマの恐ろしい刑罰にその名を発するようです。長い歴史の中でも実例はそれほど多くないみたいです。しかしデジタル信号処理業界?ソフトウエア無線などではすこぶる頻繁にお目にかかります。サンプリング周波数を低い方に変更するダウンサンプリングとそれに伴う低域通過フィルタ処理を行うもの。

“手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1” の続きを読む

AT SAMの部屋(17) XiaoでもGo!TCCインプットキャプチャへの遠い道のり

EVSYS_Route
Joseph Halfmoon

ATSAMD21のタイマ・カウンタ機能、インプット・キャプチャとか周波数計測などに触ってみるために、今回からイベントというものを調べていきたいと思います。いつも泥縄、ソースを書きながらデータシートを眺めているので、今回は先にデータシートを読んでみた編。でも端子からタイマ・カウンタまでのイベントの経路の長さ。。。

“AT SAMの部屋(17) XiaoでもGo!TCCインプットキャプチャへの遠い道のり” の続きを読む

AT SAMの部屋(16) XiaoでもGo!RTCの歩度調整機能の補足

Joseph Halfmoon

前回、TinyGoのATSAMD21上でのRTC設定についてホンワカしたことを書いてしまったので今回は図入りで補足させていただきます。また、RTC内蔵の「デジタル歩度調整機能」の制限(なぜTinyGoの使い方とは両立しないか)についても述べさせていただきます。結局時計にしたければアナログ歩度調整してからなのよ。。。

“AT SAMの部屋(16) XiaoでもGo!RTCの歩度調整機能の補足” の続きを読む

AT SAMの部屋(15) XiaoでもGo! TinyGoのRTC設定状況と周波数補正

Result
Joseph Halfmoon

TinyGoを使ってATSAMD21マイコンの周辺回路を制御しています。前から気になっていたのがRTCです。TinyGoのデフォルトを調べていると動いているっぽいです。この際調べておこうと。その過程でこのMCUにはRTCの精度をあげられる仕組みがあることに気づきました。TinyGoは使ってないみたいですが。

“AT SAMの部屋(15) XiaoでもGo! TinyGoのRTC設定状況と周波数補正” の続きを読む

手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2

Spectrum
Joseph Halfmoon

前回、白色雑音(ホワイトノイズ)の生成に使うLFSR(Liner Feedback Shift Register)を「わざわざ」ゲートレベルの回路図でシミュレーション。LTspice使う荒業?です。今回は三上先生のプログラムを実機STM32マイコン上で動作させてみます。Cで書けばLFSRなど何ということもない?

“手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2” の続きを読む

AT SAMの部屋(14) XiaoでもGo!machine.TCC1使用、PWM出力

PWM_WAVEFORM
Joseph Halfmoon

Go言語でMCUのコードを生成できるTinyGoでATSAMD21マイコンの周辺回路を勉強しております。前回までunsafeなポインタを使って直接アクセスする不作法をしてました。今回は machine モジュールを使ってTCC1からPWM波形を出力してみます。制御は簡単なのですが、データシートを読むのがメンドイ。

“AT SAMの部屋(14) XiaoでもGo!machine.TCC1使用、PWM出力” の続きを読む