So-net無料ブログ作成

Arduino DDS_VFO(3) DDS周波数ずれ対策 [Aruduino]

 arduinoによるDDS-VFOは、一応完成したが周波数ずれの対応が出来ていない。特に中華DDSの基準発振器は怪しい。今回製作したもので数百hzのずれがあった。
以前作ったBASCOM版DDS-VFOでは、その調整が出来るようプログラミング出来たが、今回採用している<EF-AD9850.h>ライブラリーでは、スケッチ側から基準周波数を指定せず、ライブラリーの内部で設定されている。<AD9850.h>というライブラリーでは、スケッチ側から基準周波数を指定しているので、これならばスケッチ側で変更可能である。こちらのほうが便利かもしれない。

 取敢えず今回<EF-AD9850.h>ライブラリーを変更して修正を行った。
修正箇所はライブラリーディレクトリー内部のEF-AD9850.cppというファイル名のファイルをテキストエディタなどで開く。
76行目

 x=4294967295/125;//Suitable for 125M Crystal 

 この行の125を変更することにより出力周波数が変わる。勿論DDSを十分エージングしてから行うこと。
また、125Mhz基準発振器を別の周波数に変更したときも、ここで変更すればOK
今回は以下のように変更した。少々根気がいる作業である。

 x=4294967295/124.99705;//Suitable for 125M Crystal 

  これで気持ちよく使えるようになった。
こんどは<AD9850.h>を使ってスケッチ側で変更できるようにしてみるつもりである。


nice!(2)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 2

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。