Arduino で Softeare DDS を動かす (その3) [Arduino]
Arduino で Softeare DDS を動かす、その3です。
インダクタとコンデンサを買ってきてブレッドボードにフィルターを作って波形を見てみました。
〔オリジナルのフィルター〕
オリジナルはチェビシェフ・フィルターですが、使っているインダクタの 4.7mH が手に入らず 4.0mH に変更しています。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.5% に収まっています。
〔カットオフ周波数を下げたフィルター〕
今度はカットオフ周波数を約 2kHz にしたバターワース・フィルターの場合です。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.16% に収まっています。
でも、前回の 0.13% より若干悪くなっています。LC 1段から2段になっているのにと、ちょっとがっかりでした。
ついでに入力の PWM 波形とフィルター出力の波形です。
フィルターでの信号遅延が結構あるのが分かります。
全高調波歪(THD)をもっと下げるにはサイン・テーブルの解像度を 8bit から 10~12bit に上げる必要があると思います。
それか出力に入れるフィルターのカットオフ周波数を下げるのと、段数を増やして減衰域の減衰量を増やすしかないですね。
インダクタとコンデンサを買ってきてブレッドボードにフィルターを作って波形を見てみました。
〔オリジナルのフィルター〕
オリジナルはチェビシェフ・フィルターですが、使っているインダクタの 4.7mH が手に入らず 4.0mH に変更しています。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.5% に収まっています。
〔カットオフ周波数を下げたフィルター〕
今度はカットオフ周波数を約 2kHz にしたバターワース・フィルターの場合です。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.16% に収まっています。
でも、前回の 0.13% より若干悪くなっています。LC 1段から2段になっているのにと、ちょっとがっかりでした。
ついでに入力の PWM 波形とフィルター出力の波形です。
フィルターでの信号遅延が結構あるのが分かります。
全高調波歪(THD)をもっと下げるにはサイン・テーブルの解像度を 8bit から 10~12bit に上げる必要があると思います。
それか出力に入れるフィルターのカットオフ周波数を下げるのと、段数を増やして減衰域の減衰量を増やすしかないですね。