Verständnisfrage DDS

Gast #146772
Lesenswert?

Hallo zusammen,

ich baue gerade den Funktionsgenerator aus den Projekten im Wiki,
programmiere aber in Bascom.
Irgendwie erschließt sich mir die Vorgehensweise mit dem
Phasenakkumulator nicht. Die 256 Funktionswerte mit unterschiedlichem
Takt auf den Port legen leuchtet mir noch ein, aber so ist es ja
offensichtlich nicht gemeint.
Hat jemand eine andere Quelle zum Nachlesen oder kann mir mit ein paar
Worten nochmal das Prinzip erklären. Irgendwie stehe ich auf dem
Schlauch.

Danke und Gruß
Olaf
Gast #146773
Lesenswert?

Bascom und DDS sind an sich ein Widerspruch, aber egal...

DDS verwendet den sogenannten Phasenakkumulator. Zu diesem werden in
periodischen Abständen Werte hinzuaddiert.
Der addierte Wert ist direkt proportional zur Ausgangsfrequenz:
Je größere der Wert, desto schneller steigt der Wert im Akkumulator.
Jetzt benötigt man nur noch eine 256 Byte große Tabelle, um eine andere
Kurvenform als Dreieck auszugeben.
Gast #146775
Lesenswert?

Hi Olaf,

vorsichtig! Der Funktionsgenerator aus den Projekten im Wiki hat
irgendwie n'e Wanze im Assembler!
Die angegebene Frequenz im Display stimmt nicht mit der ausgegebenen
Frequenz überein. Z.B. die vorprogrammierte und angezeigte Frequenz von
1000Hz ergibt eine Ausgangsfrequenz von etwa 153Hz ! Schreib dein
Programm besser selbst!
Gruß Martin
Gast #146776
Lesenswert?

Hallo Martin,

danke für den Hinweis. Das mit dem eigenen Programm habe ich schon
gemacht, funktioniert auch prinzipiell in BASCOM, allerdings erst mal
auf absolutem Testniveau. Bin noch nicht weiter dazu gekommen.
Mein Problem lag einfach im Verständnis zur Funktionsweise des
Phasenakkus.

Gruß Olaf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren