Regulacja amplitudy sinusoidy

Loading thread data ...

dziadek Ben pisze:

Tak ale tym to jest zwykły dds i tym układem nie możesz regulować amplitudy na wyjściu otrzymujesz sygnał o stałej amplitudzie to tego żeby regulowac amplitudę potrzebujesz jakieś PGA np ad8321 zależy jeszcze co kolega chce z tym robić bo może wystarczy potencjometr sterowany cyfrowo wzmacniacz operacyjny

Reply to
Wodi

Kiedyś popełniłem takie cudo na PWMie od atmelka, chodziło do 3 kHz.

JanuszR

Reply to
JanuszR

W dniu 2010-03-09 23:12, Robbo pisze:

Wrzucasz na referencję przetwornika D/A. Poszukaj sobie "four quadrant multiplying dac"

Reply to
Mario

Ale tak da sie regulować amplitudę tylko w zakresie L-H TTL ! Chyba że dołożyłeś do "czystego" PWM jakiś dodatkowy układ ? wkwj

Reply to
wkwj

Amplitudę da się regulować w zakresie 8 lub 16 bit. Czyli amplitudę można regulować bardzo precyzyjnie. Na tablicę sinusoidy nakładasz mnożnik zmieniający szerokość każdej próbki. Masz tablicę z próbkami o szerokościach na full a do pracy wykorzystujesz tablicę, której każdy element został podzielony przez wzmocnienie. Czyli zmiana amplitudy trwa tyle co przeliczenie np. 256 próbek stanowiących ćwiartkę sinusoidy. Na wyjściu oczywiście kondensator eliminujący składową stałą. Ja wykorzystałem tablicę o próbkach 16 bitowych co przy 1024 próbkach dało wierną sinusoidę ale przy 3kHz musiałem już przeliczać czas realizacji instrukcji na przerwaniach. Implementacja oczywiście w assemblerze.

JanuszR

Reply to
JanuszR

JanuszR pisze:

Amplitudę da się regulować w zakresie 8 lub 16 bit. Czyli amplitudę można regulować bardzo precyzyjnie. Na tablicę sinusoidy nakładasz mnożnik zmieniający szerokość każdej próbki. Masz tablicę z próbkami o szerokościach na full a do pracy wykorzystujesz tablicę, której każdy element został podzielony przez wzmocnienie. Czyli zmiana amplitudy trwa tyle co przeliczenie np. 256 próbek stanowiących ćwiartkę sinusoidy. Na wyjściu oczywiście kondensator eliminujący składową stałą plus filtr, wystarczy pierwszego rzędu. Ja wykorzystałem tablicę o próbkach 16 bitowych co przy 1024 próbkach dało wierną sinusoidę ale przy 3kHz musiałem już przeliczać czas realizacji instrukcji na przerwaniach. Implementacja oczywiście w assemblerze.

JanuszR

Reply to
JanuszR

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.