ノコギリ波~三角波は16bit整数で上昇下降の傾きを出して計算し、8bitに丸めてPSoC4に内蔵のIDACに出力している。。周期を1/256して割り込みをかけているので、周波数が高くなると演算が追いつかなくなる。
また、単純に計算するとOverflow/Underflowしてしまうので、範囲チェックしている。Overflow/Underflowすると値が激しく飛ぶのでひどいノイズが発生します。
数学的な検証は全然していないし、演算量的にちょっと心配だったが、ベースで使う周波数あたりでは出力出来ているようだ。←ちゃんとテストしていないです。
Github:
https://github.com/ryood/PSoC4_DCO/tree/master/PSoC/PSoC4_PrototypingKit_DCO_for_NucleoF401RE.cydsn
0 件のコメント:
コメントを投稿