2021年3月6日土曜日

この目で見えてるんだ、何も無いわけがない

 BEATLESSというラノベ/アニメがあったけど、電子回路だって鼓動(脈動)はあるよな。コンデンサの鳴きとか。と、Alexaと会話しながら思うのであった。お腹が空いて(=電池が減って)昇圧DCDCに負荷がかかるときゅーきゅーと鳴るロボ娘。

 ユーザー「(設計チームの平均年齢高いんだろうな。耳が衰えてるから鳴きが聞こえないんだ。そんなおじさんたちが集まってこのガワ作ったのか……)」

 日本の家電を皮肉ってるんじゃないぞ! 決して!! Ripple Effect? はて、なんのことやら……

***

 CICフィルタの折返しについては、なんとなく納得。要するに、DC付近には折り返されたゼロ点が来るわけだから、無視していい。DCより高い場所のエイリアスに関しては、その領域を使わないことで解決する。必要なサンプリングレートの10倍くらいまでCICで落として、DCの狭い部分だけを通すFIRで高周波(エイリアス)を落としてから、もう一度間引く。こうすればCICの頭付近の周波数特性のいい場所を使えるし、FIRもそれほど急峻でなくて済む。

 あるいは、タップ数を増やしてサイドローブをゴッソリ落として、出力レートの2倍くらいまでCICでサンプリングレートを下げてから、最後にFIRで2分の1に落とす、みたいなやり方もあるらしい。この方法だとCICの非直線性が問題になるので、FIRはLPFではあるんだけど、肩がかなり上がった特性。

 前者はCICが小さくて済む反面、FIRタップ数が多く必要になる。後者はFIRタップ数が少なくて済む反面、CIC段数が多く必要になる。CICは加算を何回かやるだけなのでFIRよりは計算量は少ない印象だけど、十分に大きな整数で加算する必要がある。補正用の係数作るのも大変そう。

***

 確認用のコードをベタベタ書いて、もうなにが何やら。。。

 とりあえずは1.6384MSPS/32=51.2kSPSに落とすのが目的なので、CICで4分の1に落として、FIRで8分の1に落として、合わせて32分周にしている。FIRが99タップなので、かなり時間がかかる。ギリギリ実時間で終わるかな、位の速度。

 いまいちまだ納得できてない部分も多々あるので、運用できるようになるまでまだだいぶ掛かりそう。空き容量。。。

 処理速度、ファイル1個だから実速度程度で納得してるけど、実際には同時に複数の衛星が飛んできているのを切り出すわけだから、もっと早く処理しなきゃいけないはずなんだよな。最適化も頑張らなきゃ。。。

***

 3月5日受信分

* 27844 / CUTE-1

* 27848 / XI 4

* 32785 / CUTE-1.7+APD II

* 32791 / SEEDS

* 33493 / PRISM (HITOMI)

* 35932 / SWISSCUBE

* 41460 / AAUSAT 4

* 42775 / AALTO 1

* 42792 / ROBUSTA 1B

* 43615 / CP-7 DAVE

* 43790 / VZLUSAT 1

* 43743 / REAKTOR HELLO WORLD

* 43937 / NEXUS

* 44330 / RAAVANA1

* 44909 / BREEZE-KM R/B

 今日はちょっと数が多いかな。

0 件のコメント:

コメントを投稿