考えてみると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 件のコメント:
コメントを投稿