-
Data: 2010-03-18 21:09:49
Temat: Re: DDS, pro?ba o wyja?nienie
Od: J.F. <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thu, 18 Mar 2010 20:31:11 +0100, Robbo wrote:
>Nie wiem, czy się rozumiemy, a mi zależy,
>żeby dobrze zrozumieć DDS i wymieniony projekt
>generatora.
> Załóżmy, że dla 1Hz układ "wypluwa"
>na wyjście po kolei 256 próbek.
>Dla częstotliwości 2Hz korzysta już tylko
>z połowy próbek -- "wypluwa" co drugą
>próbkę.
Nie chce mi sie przez ten kod przebijac - ale DDS dziala inaczej.
"wypluwa" probki bardzo czesto - w tym przypadku tak czesto jak sie
procesor wyrobi, powiedzmy 1MHz, czy jak kto woli co 1us.
Za kazdym razem oblicza jaka ma byc wartosc probki.
Jesli syntezuje 1Hz - to bardzo czesto nowa probka bedzie taka sama
jak stara. Trudno zreszta zeby bylo inaczej jesli mamy do dyspozycji
tylko 8-bitowy DAC.
Jesli syntezuje 65kHz, to co 1us przeskakuje o wiecej bitow i probek.
A jak oblicza? Dosc prosto.
Mamy np 32 bitowy rejestr, zwany dalej "faza". Traktujemy go tak ze on
odpowiada pelnemu "obrotowi" czy jak kto woli okresowi, czyli jedna
jednostka odpowiada 360/2^32 stopnia.
Co chwila dodajemy do tego rejestru "skok". Jesli chcemy wygenerowac
1Hz przy cyklu 1MHz/1us, to w ciagu miliona cykli rejestr fazy
powinien sie "przekrecic". Skok powinien wiec wynosic
2^32/1000000 = 4294.967296
Ulamkowej liczby dodawac nie damy rady, bedziemy wiec dodawac np 4295,
uzyskujac czestotliwosc 1.0000076.. Hz.
Ta odchylka sie nie przejmujemy, albo dobieramy lepiej parametry.
Teraz skupmy sie na najstarszym bajcie rejestru fazy - on tez podaje
faze, tylko z rozdzielczoscia 360/256 stopnia.. Moze wprost wybierac
wartosc probki z tablicy sinusa. Albo trojkata.
Poniewaz ten bajt zmienia sie po dodaniu ok 16.7 mln do rejestru fazy,
w naszym przykladzie bedzie sie zmienial co ok 3906.2 cykli zegara.
Jesli chcemy generowac 2Hz, dodajemy co cykl 8590, i probka zmienia
sie co ~1853 cykle.
A przy 65000Hz, co cykl dodajemy 279 172 874, czyli za kazdym razem
przestakujemy ok co 1us przeskakujemy co ok 17 probek w tablicy.
>Nie rozumiem, jak może dojść do 65kHz i mieć
>na wyjściu sinusoidę.
Jak sie dokladnie przyjrzec na cyfrowym oscyloskopie, to szemrana ta
sinusoida :-)
Ale w AD twierdza ze wystarczaja im nawet 3 probki na okres :-)
Duzo zalezy czy mozemy sobie pozwolic na filtr dolnoprzepustowy.
J.
Następne wpisy z tego wątku
- 18.03.10 21:24 Robbo
- 18.03.10 23:51 shg
- 19.03.10 09:22 Piotr Gałka
- 19.03.10 09:41 BartekK
- 19.03.10 10:13 J.F.
- 19.03.10 12:35 Piotr Gałka
- 19.03.10 12:51 J.F.
- 19.03.10 14:08 Piotr Gałka
Najnowsze wątki z tej grupy
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem