Re: DDS, pro?ba o wyja?nienie

Mar 18, 2010 Last reply: 16 years ago 1 Replies


W dniu 2010-03-18 20:31, Robbo pisze:> 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 . Przy 256Hz wypluwa ju tylko jedn pr bk
> > na okres.
> > Nie rozumiem, jak mo e doj do 65kHz i mie
> > na wyj ciu sinusoid .
> > B d wdzi czny za wyja nienie. Z g ry dzi ki.
>
> Wszystko źle :)
> Dla 1Hz układ wypluwa po kolei 256 próbek, w odstępach 1/256sekundy.
> Dla 2Hz układ wypluwa po kolei 256 próbek, w odstępach 1/512sekundy.
> Dla 256Hz układ wypluwa po kolei 256 próbek, w odstępach 1/(256*f[HZ]) itd.
> Dla 65kHz (65000Hz) układ wypluwa po kolei 256 próbek, w odstępach
> 1/16640000 sekundy czyli z prędkością 16,64 MHz (coś wysoko, Atmega by
> musiała być taktowana z 32MHz, by "co takt" mogła zmieniać wartość na > porcie)
>
> --
> | Bartlomiej Kuzniewski
> | snipped-for-privacy@drut.org  GG:23319  tel +48 696455098  
formatting link

> |
formatting link

Obawiam się, że to jednak Ty nie rozumiuesz zasady działania DDS.


Robbo dobrze napisał, DDS ma stałą częstotliwość próbkowania, a zmienny jest krok (inkrement) fazy, z tym że podany przykład dotyczył akurat próbkowania z czestotliwością 256 Hz, żeby uzyskać wyższą częstotliwość trzeba oczywiście z wyższą częstotliwością próbkować.

W dniu 2010-03-19 00:51, shg pisze:

Co innego DDS "prawdziwy do 100MHz" a co innego jego implementacja na AVR. Zasada jest prosta - odtwarzamy cyklicznie próbki sygnału z pamięci (np próbki sinusa) i zamieniamy go w przebieg analogowy w przetworniku C/A. Istnieją takie i takie implementacje, w avr akurat widziałem taką jak opisałem. W DDSach "scalonych" różnie bywa, niektóre mają przełączany tryb pracy - dla wyższych częstotliwości "po twojemu", dla niższych "po mojemu" - aby uzyskać ładniejszy przebieg dla niższych częstotliwości, i by dało się generować wyższe. Można sobie jeszcze wyobrazić inne implementacje (np z obliczaniem interpolacji między próbkami, dla niższych częstotliwości, by jeszcze wygładzić sygnał, lub pomijanie niektórych próbek dla wyższych, by przyspieszyć odtwarzanie i umożliwić generowanie wyższych częstotliwości), ale to tylko komplikuje tłumaczenie, a idea jest prosta - odtwarzamy próbkę zapętloną z pamięci, i tyle.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required