Přímá číslicová syntéza DDS


Michal Belloň

xbello00@stud.feec.vutbr.cz


Obsah:

1. Úvod
2. Realizace
3. Závěr
4. Literatura


Úvod:

Tento projekt je zaměřený na generování sinusového signálu pomocí přímé číslicové syntézy DDS. DDS pracuje přibližně tak, že v ROM paměti procesoru jsou uloženy vzorky sinusového signálu. Tyto vzorky jsou postupně čteny a posílány na vstup D/A převodníku. K vybrání konkrétního vzorku slouží tzv. fázový akumulátor, který se skládá z delta registru a fázového registru. Výstupní kmitočet generátoru se nastavuje hodnotou, která je uložena v delta registru. Potom se výstupní kmitočet dá vypočítat podle tohoto vzorce: fvyst = D*fosc/2^n, kde D je hodnota uložená v delta registru a n je bitová šířka fázového akumulátoru. Hodnota fázového registru odpovídá aktuální fázi generovaného signálu. Kmitočtový krok generátoru závisí na bitové šířce fázového akumulátoru.


Obr.1 Blokové schéma DDS

Realizace:

K realizaci zařízení byla použita malá vývojová deska s procesorem ATmega16. K desce je připojen LCD displej a D/A převodník, který je umístěn na nepájivém poli. K desce jsou dále připojeny mikrospínače, které slouží k ovládání generátoru. Jako D/A převodník je využita R2R síť, za kterou následuje dolní propust z RC článku.


Obr.2 Schéma zapojení generátoru

Ve schématu není připojený LCD displej, displej je ve skutečnosti připojen k portu A procesoru. Taktovací kmitočet procesoru byl zvolen 8MHz, což je dostačující. Vzorkovací kmitočet DDS byl zvolen na 31,373kHz , který je určen čítačem při jeho přetečení. Vhodnější by bylo použití vyššího vzorkovacího kmitočtu, ale to je otázka nastavení čítače a také zda by procesor tento kmitočet stíhal. Frekvenční rozsah generátoru je teoreticky od cca 0Hz - 15kHz, ale protože není použita příliš kvalitní dolní propust (má malou strmost), je maximální výstupní kmitočet omezený softwarem na 7kHz. Kmitočtový krok generátoru je fosc/2^n, kde n je bitová šířka fázového akumulátoru.V tomto případě je kmitočtový krok deltaf = 31373/2^16 = 0,48Hz. Vzorky sinusového signálu byly vytvořeny v MATLABu.



Obr.3 Fotografie generátoru




Obr.4 Výstupní signál generátoru, f = 1kHz



Závěr:

Projekt přímá číslicová syntéza (DDS) se mi podařilo zrealizovat. Celkové parametry zařízení jsou: frekvenční rozsah výstupního kmitočtu je 20Hz - 7kHz, minimální kmitočtový krok je 0,5Hz, amplituda výstupního signálu je cca 4V. Kmitočet generátoru je poměrně přesný, liší se pouze o několik Hz. Nepřesnost výstupního kmitočtu by mohla být způsobena např. nepřesným vzorkovacím kmitočtem.



Zde je dostupný zdrojový kód generátoru: Zdrojový kód

Ukázkové video generátoru: video



Literatura

[4] MACKŮ, R. Návrh generátoru využívající přímou číslicovou syntézu (DDS) [online]. [cit. 2006]. Dostupný z WWW:

http://www.urel.feec.vutbr.cz/~fryza/downloads/dp_macku_07.pdf

[1] PANDATRON. AVR DDS generátor [online]. [cit. 12. srpna 2011]. Dostupný z WWW: http://pandatron.cz/?2800&avr_dds_generator