direkte digitale Synthese (DDS, NCO)

Gast #131167
Lesenswert?
• ▲
▼
Was hast Du denn vor?

"NCO" ist erstmal alles: eine Frequenz, die Du über die Timerfunktion
eines µC generieren läßt, ein programmierbarer Zählerbaustein oder eine
Softwarefunktion.


Ich habe mal (allerdings auf Chip-Ebene, in einem ASIC) einen PLL mit
NCO gebraucht. Lief darauf hinaus, daß meine Phasenregelung mir einen
16-Bit-Wert lieferte, der dann in einem Akkumulator aufsummiert wurde.
Das höchste Bit lieferte den Ausgang.

(Also z.B. Einstellwert 7000 -> nach 5 Takten kippt das Ausgangsbit)

Die Methode hat den Vorteil, daß die effektive Auflösung höher ist als
die interne Frequenz: wenn die Periodenlänge auf 10,1 Takte eingestellt
ist, bekommst Du 9 Perioden mit 10 Takten und eine mit 11 Takten; Du
bleibst also auf Dauer in Phase.

Aber natürlich hängt es total davon ab, was Du überhaupt willst. Wenn
Du es in Software machst, wird es immer ein Kompromiß zwischen
Auflösung und maximaler Frequenz.
Gast #131168
Lesenswert?
• ▲
▼
Das Projekt hab ich mir auch schon angesehen! Das ist eigentl. das, was
ich auch versuchen will - einen Sinusgenerator zu bauen. Allerdings hab
ich wenig (bis gar keine) Ahnung von Assembler-Programmierung, d.h. mir
sagt der Quellcode zu dem Projekt nicht viel!
Ich programmiere eigentlich nur in C!!!

@Philipp Sªsse

Das was du da geschrieben hast, sagt mir nicht wirklich viel! Bin ein
blutiger Anfänger!
Gast #131169
Lesenswert?
• ▲
▼
dann solltest du dir dieses pdf von der obigen wiki seite mal genauer
anschaun. da sind die grundlagen doch erklärt. vollkommen unabhängig
jeglicher implementierung

"Ausführliche Beschreibung inkl. Schaltpläne als PDF"
Gast #131170
Lesenswert?
• ▲
▼
meinst Du sowas:
Precision Sine-Wave Tone Synthesis Using 8-Bit MCUs
Zweiton: AN1771 von Mototola, jetzt freescale
Einton:  AN1222

hab ich schonmal auf einem 68hc908 implementiert:

http://www.mikrocontroller.net/forum/read-1-113541.html mit Code
http://www.mikrocontroller.net/forum/read-1-110222.html (Zweiton)

Evtl. musst Du die AN bei freescale suchen, da sie ihr Web ziemlich
umgestellt haben.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.