Jak slozite je slozit DDS obvod?

Jaroslav Lukesh lukesh na seznam.cz
Pátek Březen 9 11:02:54 CET 2012


Pokud to má být pro měřící aplikace, tak se zkuste podívat, jak se upravují 
data z wave tabulky hudebních syntezátorů. Nemyslím ty dnešní SW, tam je to 
všeljak ušulené, ale jak se to dělávalo v hw před 20 lety, aby byla 
zachována co největší čistota signálu - nečistota totiž zvyšuje tzv. 
modulační šum, tj. šum při přítomnosti signálu a to není u studiových 
zařázení žádoucí. Je to něco jako resize u obrázků, máte bilineár, bikubik, 
lanczos, každý jinak náročný a každý s jinou přesností výstupu. Na 
resampling v oboru audio dělal AD švába, mají tam detailně i teorii, v SW je 
na resampling nepřekonaným přeborníkem ssrc od shibata, ale nečekejte, že 
bude nějak závratně rychlý - ikdyž pro tu jedinou sinusovku by to snad mohlo 
jít optimalizovat.

Pokud máte mít 16 bitů v nějaké obstojné linearitě, tak taky potřebujete 
hodně dlouhý vzorek, což ze 75MHz hodin ten 1MHz nedostanete ani náhodou. A 
pokud ano, pak je tam nežádoucí úroveň rušení - to jak se ho zbavit, viz 
shibata. Tam se ta nelinearita totiž rozprostře do šumu, takže tam sice je, 
ale jako šum podstatně níž. počítejte ale s tím, že se vám okometricky ten 
výstup ze ssrc nebude líbit, ale zkuste si ho pak změřit. Je to v podstatě 
sigma-delta přidaná do PCM + nějaká šaškárna okolo modulace šumu.

Možná i to je ten důvod, proč v tom dokumentu čarují s hodinami (nečetl jsem 
ho), aby se dostali na co nejnižší úroveň nežádoucích signálů.


----- Původní zpráva ----- 
Od: "Jiří Kučera" <fonolit na seznam.cz>


Dekuji za reakce,
DDS uvazuji do merici aplikace, bohuzel je to ten pripad v kterem rozdil 
mezi 10bit a treba 14bit poznate.
Nemam zadne extra pozadavky na rychlost generovaneho signalu v podstate 
staci do 1MHz, ani na krok ladeni, staci 10Hz,
naopak jsou zde znacne pozdavky na cistotu a presnost generovane krivky.
Idelanim obvodem by byl AD9834, male , levne , ale bohuzel 10bitove. Pri 
hodinach 75HMz a generovanem 1MHz vychazi na 74MHz a 76MHz nejaky bordel 
s -37dBc a
i generovana krivka ma diky 10bit prevodu jistou obtizne kvantifikovanou 
chybu.
Pouzitelnou variantou se zda byti az AD9951 s 14bit DAC a 400MHz hodinami, 
generovany signal je radove  presnejsi a havne nejaky ten bordel je az na 
399 a 401MHz a to -52dBc.

Ale asi mate prevdu, snaha postavit to sam by vec jen komplikovalo, v noci 
jsem se nechal zlakat 150MHz u uvazovaneho MCU, pres DMA dokaze v 14bitech 
tlacit maximalne 54M a to maximalne na 14bitech, pro vice bitu jiz neni 
podpora DMA. Predstava byla v RAM predpocitat potrebnou tabulku pro 
nastavenou vystuponi frekvenci a tu pak pres DMA na dane rychlosti primo 
ladovat do DAC.

Kupodivu AD9951 jde na ebay koupit pod 20$ a to vcetne postovneho, tak asi 
sahnu po tomto obvodu.

Pokud jde o hodiny pro tento obvod chtel jsem vzit treba 25MHz oscilator, v 
AD9951 interni nasobickou vynasobit a hotovo.
Pak jsem nasel
http://www.feec.vutbr.cz/EEICT/2009/sbornik/02-Magisterske%20projekty/01-Elektronika%20a%20komunikace/11-xpoval01.pdf
kde s hodinami az neskutecne caruji.
Proc to, respektive je to nutne, uclne?

Vystupni transformator?
Na vystup DACu se zpravidla osazuje transformator, jde pres takove trafo 
generovat treba 100Hz?




Další informace o konferenci Hw-list