DAC
AIT研究所(aitlabo)の製作記事です
[TOP] [RSS] [すくすくBLOG]

簡単なDDS構成
信号発生方法として、DDS(=NCO)が使用されることが多くなっています。私もSPDIFの信号源として、正弦波だけでなくパルス発生にも使用しています。アナログの場合急峻に立ち上げ(立ち下げ)る様な波形は実現不可能ですが、DDSでは可能となります。
構成方法は現在のFPGAを用いれば、非常に簡単に実現できます。
カウンター(n_bit)と一周期のsin値ROM(2^n_word,Mbit)、DAC(M_bit)があれば良いだけです。(Mは諧調数)とします。
VHDL表記で
counter<=counter+Nfreq;

ROMのアドレスにカウンター(counter)を直結しますと、counterトグル周波数が ft であれば、DAC出力周波数 fo は

fo=ft*(Nfreq/2^n)

となります。
従って最小可変周波数は ft*(1/2^n) となります。

ROMは以下式をexcel等で計算すれば簡単です(ただし極性に注意)
ROMdata(i)=sin(2*π/2^n*N(i)) i=0〜2^n-1

n>=M+3とした方がTHDが悪化しません。
1/4周期にすればROMが小さくなりますが、性能が低下します。

ROM読み出しをマルチプレックスすれば1個のROMで複数の周波数を発生させ、その同期もできます)
理論上はft/2迄発生可能ですが、実用的にはft/5以下程度になります、LPFを使用しない場合はft/10以下が良いようです。
諧調Mは多いほど良いですが、スプリアスは-6*M(dB)程度になります。
SPDIForI2C等の場合は24or32bitでも発生可能ですのでDACの評価ができます。

2011/09/18 AM 05:49:49 | Comment(0) | TrackBack(0) | [製作記事]









(C)2004 copyright suk2.tok2.com. All rights reserved.