昨日、作り替えた サイン波作成プログラム
ハードウェア主体にしたけれども 最後に残った「割り算」が一つ
これが有るのと 無いのとでは大きな違いで 「掛け算」は「足し算」の2~5倍 「割り算」は「掛け算」の5~10倍くらいの時間が掛かるし 「割り算」は「足し算」の何十倍掛かる事もある
そんな事で 実のところ 計算式が無い「禁断の手法」では 出力している周波数をモニターしてLCDに表示するプログラムが組めたのですが この「割り算」が一つ入ったプログラムで このモニタープログラムを追加すると パンク状態になって表示できなかった
これでは 面白くないので もう一工夫
よく考えれば 「割り算」で出せる答なら 工夫すれば「掛け算」に換えられるはずだ!!
そんな事で 最後の悪あがき!!・・・・いつも悪あがきですが
と 思ったけど
でも やったらできるんですね!!
最後に残った「割り算」一つを「掛け算」に書き換えました
昨日まではセットしていなかったフィルターをセットして波形を確認すると
どちらのプログラムも それはそれは綺麗な まったく傷のない
ツルツル、ピカピカのサイン波が出てきた!!
ソフトウェアでON、OFFせずに ハードウェアに任せるだけで これだけピカピカになるとは 驚きと共に
早く、こうすれば良かった、と後悔しました
これで どれだけのキャリア周波数まで追従できるのかテストしてみると
ぱっと見は 結構上まで追従できてるように見えてたのですが
よくよく見ると 追従できていないようで徐々に割り込みが遅れるようになってくる(周波数が合わなくなってくる)
しっかりと追従できるのは 12KHzまで
最後に残った「掛け算」一つがブレーキになったようだ
もう一つの「禁断の手法」では プログラム内に計算式が一つもない分 余裕があるのか?
43KHzまで乱れもなく綺麗な波形のままで追従できた
これも これ以上キャリアを上げると 割り込みが遅れてくるようになる
どちらにしても 今回、そんなに高いキャリアを求めてる訳ではなく
単に正弦波フェチが 綺麗な正弦波を求めてただけなので
充分に満足できる仕上がりになった
これで 今度こそ仕上げに向かっていきます