Arduino で Softeare DDS を動かす (その5) [Arduino]
Arduino で Softeare DDS を動かす、その5です。
DDS の発生周波数と LPF を通った後のスプリアスを比較してみました。
比較したのは LPF のカットオフ周波数が 2kHz で発生周波数が 1kHz と 2kHz の場合のスプリアスです。
〔発生周波数 1kHz〕
〔発生周波数 2kHz〕
比較するとカットオフ周波数と発生周波数が同じ場合の方がスプリアスのレベルは下がります。
ただし、PWM 後の波形に DC 成分が残ってしまい、結合を AC カップリングにしないといけませんでした。
それと両方のグラフで 8.7kHz くらいにピークがあります。これの原因が良く分かりません。
それでも3次のスプリアスがかなり抑えられているので、高いところの不要な信号をどう抑えるかを考えたいと思います。この辺りが 8bit PWM の限界かもしれません。
〔APB-3 での測定結果〕
参考までに APB-3 で 1kHz の信号とスプリアスを測った結果も載せておきます。
同時に表示できてよいのですが、入力のアッテネータと結合の切り替えがないのが痛いところです。
DDS の発生周波数と LPF を通った後のスプリアスを比較してみました。
比較したのは LPF のカットオフ周波数が 2kHz で発生周波数が 1kHz と 2kHz の場合のスプリアスです。
〔発生周波数 1kHz〕
〔発生周波数 2kHz〕
比較するとカットオフ周波数と発生周波数が同じ場合の方がスプリアスのレベルは下がります。
ただし、PWM 後の波形に DC 成分が残ってしまい、結合を AC カップリングにしないといけませんでした。
それと両方のグラフで 8.7kHz くらいにピークがあります。これの原因が良く分かりません。
それでも3次のスプリアスがかなり抑えられているので、高いところの不要な信号をどう抑えるかを考えたいと思います。この辺りが 8bit PWM の限界かもしれません。
〔APB-3 での測定結果〕
参考までに APB-3 で 1kHz の信号とスプリアスを測った結果も載せておきます。
同時に表示できてよいのですが、入力のアッテネータと結合の切り替えがないのが痛いところです。