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