Pages - Menu

2015年12月20日日曜日

AD9857 IQ DDS Modulator

先日、TT@北海道さんからAD9857を使ったIQ変調発振器のキットを配布していただきました。



AD9857というDDS ICは、入力された数MHzのデジタルIQ信号を内部でDACのクロック周波数(数百MHz)までオーバーサンプリングし、DACでアナログ信号に変換し出力するというものです。”DDS ICの内部で”というのが肝で、数百MHzのデータレートのIQ信号を外部で生成することは簡単なことではないため、今までは数MHzのIQ信号をDACでアナログ信号に変換し、それをアナログミキサで目的周波数まで持ち上げるという手法が取られてきましたが、このようなICを用いるとある程度の周波数の変調信号を入力すれば、目的の高い周波数の変調波を一発で出力することが可能になります。また、DACは14bitの解像度を持ちますので、C/Nの良いクロック源を用いれば高い純度の波を出力できます。以下はAD9857のブロック図です。


上位のチップにAD9957という1GHz動作が可能なものもあり、そちらはTRX-305に採用されたこともありわりと有名なようです。RFワールド誌やトラ技で解説されてます。
TTさんに配布していただいたキットは、Cortex-M4ベースのMCUを用いたマイコンボードNucleo F401で数MHzのIQ信号を生成し、それをAD9857に渡すというものです。オーディオDAC/ADCも実装されていますので、マイクを接続して変調波を出すことも可能です。詳しくはTTさんのブログを御覧ください。
http://ttrftech.tumblr.com/

早速組み立てて、まずはAM変調を試してみることにしました。AM変調の理論は至って簡単です。まず、搬送波と信号波をそれぞれ$v_c$、$v_s$とすると、それらは

$v_c=A_csin(\omega_c t + \theta_c)$

$v_s=A_ssin(\omega_s t + \theta_s)$

と表されます。AM変調は日本語で言うと振幅変調ですが、その名の通り搬送波$v_c$の振幅$A_c$に信号波$v_s$を加算し、変調波の振幅とします。すなわち、変調波を$v_{cm}$とすると

$v_{cm}=(A_c+ v_s)sin(\omega_c t + \theta_c)$

となります。これがAM変調波です。早速IQ DDSボードに上記の処理をさせて$v_{cm}$を生成しオシロスコープで観測してみましょう。


綺麗に100%変調されていますね。ちなみに搬送波は1MHz、信号波は1kHzとしています。
AMだけでなくナロー/ワイドFM、SSB、DSB、擬似雑音などが出力可能で、その他にもNucleoのコードを変更すればあらゆる変調方式に対応できます。
さらに、なんとステレオFM変調まで!下は実際に試してみた動画です。動画ではモノラルラジオで受信していますが、実際にステレオチューナーで受信したところ綺麗にステレオになってました。


さて、次は出力信号の評価ですが、あいにくスペアナを所有しておりません。SSBの逆サイドやキャリアのサプレッションを評価したいところですが...。オシロのFFTは微妙です。AF域の信号を出力してオーディオIFでパソコンに取り込みFFTソフトでスペクトラムを見るという手もありますが、DDSボードの出力にはRFトランスが入ってますので、そのような低い周波数には対応しておりません。
ということで、SL6440Cでダウンコンバートしてパソコンに取り込むことにしました。うまくいく気はしませんでしたが、SL6440CやLM6365を使ってみたいということもありましたので...。


こんな感じです。SL6440Cで周波数変換し、高速オペアンプのLM6365で少し増幅して出力するという構成です。LM6365は秋月の変換基板に乗せましたが、今回はなんとか発振せずに動いてくれました。
これとDDSボードを接続、LOはSGで生成します。1kHzの正弦波をDDSに入力しAM変調して10MHzで出力、9.9985MHzのLOと混合した信号をオーディオFFTで見たところです。



下の画像はオーディオ入力がない状態でのAM波です。



うーん、それらしい表示ではありますが、やはり微妙...。きちんとしたスペアナでないと評価するのは難しいですね。
キャリアサプレッションだけでも測定しようということで、無線機に入力してSメータを読み、SGにつなぎ替えてSメータが同じ振れになるように調整して値を読み取る方法で測定してみました。まず、単なるDDSとしてシングルトーンを出力した時は-16dBmでした。

48kHzサンプリング、FIRの係数が127タップのコードの場合キャリア漏れは-103dBmなので、サプレッションは87dB
8kHzサンプリング、FIRの係数が239タップのコードの場合キャリア漏れは-80dBmなので、サプレッションは64dB

8kHz 239タップのほうが悪いですが、DC分が残っているのでしょうか...。しかし逆サイド漏れについては、実際に音声を入力して聞いてみたところ48kHz 127タップの場合は低音域の漏れがわりとありましたが、8kHz 239タップの場合は逆サイドサプレッションは良好でした。
また、このDDSキットを試していて気づいた点ですが、AD9857の動作モードを変えると盛大にノイズが出力される不具合がありました。例えば、IQモードからシングルトーンモードに変更し、またIQモードに戻した時などです。こうなってしまうと一旦リセットしないと直りません。IQデータがうまく転送できていないのかなと思いNucleoのコードを見てみましたが、改善には至りませんでした...。


以上のように、AD9857とNucleoを用いたIQ変調実験をしてきましたが、アナログのように不確定な要素がなく、プログラムであらゆる変調方式が実現可能ということの素晴らしさを実感することができました。直交変調に関する知識はまだまだですが、このボードを使っていろいろと実験しながら勉強したいと思います。FPGAを用いることなく安価なマイコンボードで手軽にIQ変調の実験ができるという画期的で素晴らしいボードを配布していただいたTTさんに感謝です。

2015年12月15日火曜日

ブログ始めました

はじめまして、JR2WJMと申します。ブログを始めてみました。アマチュア無線や電子工作関連の記事をメインに書くつもりです。投稿頻度は低いと思いますがよろしくお願いします。