2018年5月6日日曜日

Arduino LFO サンプリングレートを上げてみる。

Arduino LFOのスケッチを書き換えて、サンプリングレートを25kHzにしてみました。以前は15.625kHzでした。

これ以上サンプリングレートを上げるとAVRの中の処理が追い付かなくなるかもしれません。

50Hzのサイン波を出力し、WaveSpectraでFFTしてみました。

Output BoardのOPAMPはNJU7032です。

サンプリングレート:15.625kHz

サンプリングレート:25kHz

15kHz付近にあったピークを25kHz付近にまで追い出せましたが、4.5kHz付近にエイリアスと思われるピークが出てきてしまいました。

はっきりとどちらがいいかとは言いづらいので、運用しながら考えたいと思います。

また、Arduinoのスケッチで出力できる最高周波数を決めやすいように変更しました。
#define MAX_RATE    (20.0f)
#define RATE_RATIO  (1024.0f / MAX_RATE)
MAX_RATEが最高周波数です。

Github:
https://github.com/ryood/ArduinoLFO