Monthly FB NEWS 月刊FBニュース 月刊FBニュースはアマチュア無線の電子WEBマガジン。ベテランから入門まで、楽しく役立つ情報が満載です。

楽しいエレクトロニクス工作

第77回 DDSの動作

JA3FMP 櫻井紀佳

アマチュア無線の送信機や受信機には周波数を可変する発振器が必要です。昔は自励発振器が主に使われ周波数の安定度とその読み取り精度の向上に技術屋が切磋琢磨した歴史もありました。有名なコリンズの無線機の可変発振器は、当時最先端のPTO(Permeability Tuned Oscillator)というユニットが使われ憧れの的になっていました。現在では周波数の安定度と精度などを満足させるDDS(Direct Digital Synthesizer)が多く使われるようになりました。今回はその原理と動作の解説をしてみたいと思います。

DDSはデジタル的に発振信号を直接作り出す装置です。アナログ信号(例えばSine Wave)をサンプリングしてA/D変換を行う場合、すべての点をサンプリングする必要はなく、その信号の周期の半分以下(周波数として2倍以上)の周期でサンプリングを行えばその周波数の特長が捉えられることが理論的に裏付けられています。逆にD/A変換によってアナログ信号を作りだす時には、そのD/A信号のサンプリング周波数の半分の周波数まで再生することが可能です。

次の図のようにサイン波の1周期を10点のサンプリングをした場合を考えますと、点0より点9までのそれぞれのデジタル値をサンプリング周期に合わせて出力してD/A変換すれば希望の波形が得られることになります

例えば、この例でサンプリング周波数を10MHzにするとサンプリング10回で1周期の信号が得られるため出力周波数は1MHzになります。

次に、全部の点をサンプルするのではなく、0、2、4、6、8の偶数点だけを出力するとどうなるしょうか。サンプリング理論によるサンプリング周期は十分満たしており、サンプリング5回で1周期が得られるため出力周波数は2MHzとなることが分かります。このようにして、理論的な最大値(10MHz/2)まで、つまり5MHzまでの信号を取り出すことができます。

この関係を式にして考える次のようになります

f=(N/M)・p    f=出力周波数
N=ステップ
or N=f・(M/p)    M=1周期のサンプル数
p=サンプリング周波数

次に、実例として出力周波数1.2MHzを取り出したい時には上記の計算でステップNは1.2となりますが、実際にはサンプリングの点は整数であり、小数点以下は取り扱えないので強制的に整数にまるめてサンプルしますと下のような表現となります。

1.2 2.4 3.6 4.8 6.0 7.2 8.4 9.8
1 2 4 5 6 7 8 10

このようにすると1.2MHzの出力を得ることが可能です。ところでこのように小数以下を無視するとどのような不都合があるでしょうか。これは信号のピュアリティ、つまり信号が揺れてサイドバンドノイズが出てしまいます。できるだけこれを避けなければなりません。この対策として、今、信号のサンプリング数を10にしていますが、これを100に増して、サンプリング点を12、24、36・・・とすれば少数以下の扱いがなくなり信号は完全になります。一般的に言えば、必要なステップまでサンプリング点を増せばよいことになります。

今まで説明した方法をブロック図にすると次の図のようになります。この方法はROMの中に信号をサンプルしたデータを入れて、順番に呼び出すのでテーブル・ルックアップ方式と呼ばれています。


それぞれの機能を説明しますと、D/AはROMよりのデータに従った信号を出力し、ROMの内容はサンプリング点に応じたA/D変換値のデータを持っています。また、ROMのアドレスはサンプリング点0~9にそれぞれ対応していて、この説明ではサンプリング点が10であり、4ビットあればよいことになります。Sine ROMの右側がデータで左側がアドレスです。

LatchとAdderとで次々に加算していく方法を数値積分と呼び、今、仮にLatchの出力値が0からスタートして、希望する出力周波数が2MHzであれば、Adderの入力は2なので加算された出力は2となります。次にサンプリング周波数は10MHzの周期で繰り返されており、そのつど数値がLatchされ、また、その出力と加算されるためLatchの出力はサンプリング周期毎に2、4、6、8と増加します。

ROMよりそのアドレスに応じた出力がされるため、前述の偶数サンプリング点を順次サンプリングしていることとなります。本格的なDDS回路もこの原理を利用してサンプリング数を増加する等、高性能にしただけであり、基本的にはほとんど同じと言えます。

今では通販でも簡単に手に入るDDSユニットですが、最初に作った時にはROMの1個当たりの容量も小さく多くのROMが必要なため、試作したユニットはA4の大きさの基板2枚になり、これをどうすれば無線機に入れられるのか途方に暮れたものでした。その後ROMも大容量、ICも高密度になりFPGA(Field Programmable Gate Array)も自由に使えるようになって1チップにすることができました。

当時作ったDDSの回路は次のようなものです。

IC1はSine ROMを含む数値積分などすべての機能が入っています。R1は高精密抵抗で構成されたD/A変換器で右側から入ってきた12ビットのデジタル信号をアナログに変換して出力します。X1がクロック発振器の水晶発振子でできるだけ高い周波数にしたいため67MHz台にしています。J1は出力周波数を決めるデータ入力で、パソコンで計算した値を入力します。

当時試作したユニットは次のようなものです。

ここに提示した部品はもう手に入らないと思いますが、通販でもDDSユニットは購入可能なので実験などしてみてはいかがでしょうか。

楽しいエレクトロニクス工作 バックナンバー

2019年10月号トップへ戻る

次号は 11月1日(金) に公開予定

サイトのご利用について

©2019 月刊FBニュース編集部 All Rights Reserved. 発行元: 月刊FBニュース編集部