2014年6月3日火曜日

DDSのLookup Tableのbit長

前回はPhase Accumulatorのbit長の検証をした。

考えてみるとLookup Tableのbit長やサイズは8bit,16bit,32bitといった
キリの良い値に制限しなくてもよさそうだ。

値段が手頃なDACはだいたい12bit程度なのでLookup Tableは16bitのうち
12bitを使用することにする。

Arduino UnoのFlash Memoryのサイズは32KBなので



DDSのLookup Tableのサイズ 16bit長で取れる個数
512 31.25
1024 15.625
2048 7.8125

波形は、サイン波、ノコギリ波(上昇)、ノコギリ波(下降)、矩形波、三角波の
最低5種類として1024個ぐらいでよさそう

2Byte * 5 * 1024 = 10KB

PSocやARMでもまあまあこれぐらいが現実的かな?

で、Visual Cで波形を生成して比較してみた。

Accumulator: 16bit, Lookup Table: 8bit * 256

Accumulator: 32bit, Lookup Table: 8bit * 256

Accumulator: 16bit, Lookup Table: 12bit * 1024

Accumulator: 32bit, Lookup Table: 12bit * 1024

THDの値を比較するとAccumulatorを32bitにするよりもLookup Tableを
12bit * 1024に拡張したほうが良さそうだ。


Githubでソース管理

テストとは言え、あとで必要になりそうなのでソース管理をすることにした。
今までMicrosoftのやつとCVSぐらいしか使ったことがなかったが、
最近はGitだろうということで調べた。

backlogというサービスで「サルでも分かる」入門(http://www.backlog.jp/git-guide/)を
公開してくださってたのでチュートリアル通りに進めた。

で、Visual Studioとどう連携させるのかと思ったら
Visual Studio 2013では最初からgitに対応していた(笑)

なので、githubでアカウントを取ってリモートにも公開リポジトリを置いてみた。

https://github.com/ryood

これでパソコンがぶっ壊れてもなんとか復旧できそうだ。

0 件のコメント:

コメントを投稿