電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

当ブログは…

メモ

Stephan M. Bernsee's: http://www.dspdimension.com/index.html

Chaotic LFOのためのメモ

id:Chuck:20050515#p2トラックバックを打ちつつ、

AVRのATmega88をターゲットに a = 10, b = 28, c = 8 / 3 で float で演算式を並べてみたら*1、ざっくりと Intel Hex ファイルが 3KBというサイズになった。値の正規化、DACへの出力、値の更新周期を変える機構 を入れて ATmega88 のコード領域にぎりぎり入るかな? 入らなければ、Strawberry-Linuxさんで取り扱いを始めた ATmega168を使えば良いだろう*2

追記

なにも考えずに float で書いたプログラムを動かして、AVRシミュレータで処理時間計測。8MHz で、Lorenz Attractor の 1tick に 388μsec。

値の正規化とクリッピング処理、offset binary 変換*3をしても 500μsec で1サンプル出力できそう。

float の1ワード には 4byteが割り当てられていた。IEEE の単精度浮動小数点フォーマットなのかな(ちゃんと調べろ→自分)。ビット数をケチる方向でフォーマットを変えると自分で演算ライブラリも作らなければいけないが、容量的・処理時間的に間に合うならそのままでいこうと思う。

*1:基本的には以前DSPでやったもの。

*2:といってしまうあたり 大名プログラミング(c)Chuck。あるいは 富豪プログラミング(c)増井さん。

*3:AD7528には 2's compliment のモードは無いよねぇ…