Forum: Digitale Signalverarbeitung / DSP / Machine Learning Erzeugung eines Sinus-Signals (f=15kHZ, Amplitude=4V)


von Björn P. (bjoern354)


Lesenswert?

Hallo liebe Forenmitglieder,

ich habe derzeit folgendes Problem:
Ich würde sehr gerne ein Sinussignal mit einer Frequenz von ca. 15kHZ 
und einer Amplitude von ca. 4V erzeugen. Wichtig dabei ist, dass die 
Amplitude und die Frequenz zeitlich möglichst konstant sind. Ich habe 
z.B. bereits einen Wien-Robinson-Oszillator 
(https://de.wikipedia.org/wiki/Wien-Robinson-Br%C3%BCcke#Oszillator) 
ausprobiert. Da bei diesem die Amplitude jedoch relativ großen 
Schwankungen (+-10%) unterliegt, musste ich diese Idee verwerfen.

Nun bin ich auf eine weitere Methode zur Signalerzeugung gestoßen: DSS 
(Direct Digital Synthesis). Ich habe bereits in diesem Forum einige 
Beiträge zu diesem Thema gelesen und habe dadurch erfahren, dass sich 
der AD9833 gut eignen würde. Wie ich dem Datenblatt 
(http://www.analog.com/media/en/technical-documentation/data-sheets/AD9833.pdf) 
entnommen habe, benötigt der AD9833 eine gewisse externe Beschaltung:

Serial Clock Input
Digital Clock Input
Serial Data Input
.....


Da ich mich auf diesem Gebiet leider nicht all zu gut auskenne, suche 
ich nach einer fertigen Schaltung, die den AD9833 (oder einen derartigen 
IC) sowie die gesamte externe Beschaltung beinhaltet.

Bei meiner Suche bin ich dann auf folgende Schaltung gestoßen: 
https://www.mikrocontroller.net/articles/DDS-Signalgenerator_per_USB

Dies ist so ziemlich genau das, wonach ich gesucht habe. Das einzige 
Problem ist nur, dass der XMC2Go immer per USB mit einem Computer 
vebunden sein muss.  Aus diesem Grund wollte ich fragen, ob es eine 
ähnliche Lösung gibt, bei der man keine ständige Verbindung mit einem 
Computer benötigt.

Ich würde mich sehr freuen, falls ihr mir weiterhelfen könntet.

Viele Grüße

Björn

: Bearbeitet durch User
von Lutz H. (luhe)


Lesenswert?

Einen Sinuston auf eine  SD-Karte aufnehmen und über einen MP3 Player 
abspielen.

von Harald W. (wilhelms)


Lesenswert?

Björn P. schrieb:

> ichtig dabei ist, dass die
> Amplitude und die Frequenz zeitlich möglichst konstant sind.

Wie konstant?

> Ich habe z.B. bereits einen Wien-Robinson-Oszillator
> (https://de.wikipedia.org/wiki/Wien-Robinson-Br%C3%BCcke#Oszillator)
> ausprobiert. Da bei diesem die Amplitude jedoch relativ großen
> Schwankungen (+-10%) unterliegt, musste ich diese Idee verwerfen.

Dann hast Du die Schaltung wohl irgendwie falsch aufgebaut.

von J. S. (engineer) Benutzerseite


Lesenswert?

Also die genaueste Sinüsse bekommt man derzeit mit manuellen 
32Bit-R2R-Netzwerken und Vorkompensation hin. Dafür gibt es im DIY-Audio 
Bereich Anbieter von käuflichen Lösungen. Dahinter rangieren WaveIO und 
Konsorten.

Danach die klassischen Sigma-Delta-Wandler für Audio.

Wenn Du mit USB arbeiten willst, nimmst Du einen USB2I2S-Konverter mit 
customized PLD. Dann kannst Du die Frequenz per USB einstellen und 
halten. Musst nur den DAC konfigurieren.

Wenn die 15kHz statisch sein sollen würde ich einen PLD nehmen, selber 
DDS machen und einen I2S-DAC anschließen oder im einfacheren Fall einen 
normalen parallelen DAC ohne aufwändige Konfiguration - oder gleich 
gegen R2R mit Latch tauschen. Den PLD musst Du nur mit einem echten 
Vielfachen von 15kHz aus einem Quarz ansteuern, damit keine Artefakte 
entstehen und dahinter ein steiles Filter setzen. Dann halt noch einen 
A/B-Leistungsverstärker, der die 4V niederohmig treibt.

von Paul B. (Gast)


Lesenswert?

Lutz H. schrieb:
> Einen Sinuston auf eine  SD-Karte aufnehmen und über einen MP3 Player
> abspielen.

Da kommt KEIN Sinuston raus!

von J. S. (engineer) Benutzerseite


Lesenswert?

Audio lässt sich mit den modernen Abtastraten eigentlich gut genug 
filtern. Wenn es super genau sein muss, braucht man eben eine 
zweistufige DDS: Eine, die die Frequenz macht und eine, die die 
Amplitude macht. Die erste wird analog gefiltert, gfs über eine PLL und 
in ein Rechteck gewandelt, das den Takt darstellt. Dann reicht eine 
kleine Tabelle als sekundäre DDS, die immer voll durchlaufen wird.

von chris_ (Gast)


Lesenswert?

Du könntest auch einen Sigma-Delta-Wandler programmieren:
http://www.hobby-roboter.de/forum/viewtopic.php?f=5&t=141
Für einen richtig sauberen Sinus würde ich den LPC810 empfehlen.

von Alexander V. (avogra)


Lesenswert?

Es gibt doch fertige oder Bausatz- Frequenzgeneratoren mit DDS chip für 
wenige 10€ auf ebay. ich mag die ja nicht besonders aber für die 
einfache Anforderung sind die meiner Meinung die einfachste schnellste 
günstigste lösung

von J. S. (engineer) Benutzerseite


Lesenswert?

Eine einfache DDS könnte aber zu ungenau sein, wenn ich das hier lese:

Björn P. schrieb:
> Wichtig dabei ist, dass die
> Amplitude und die Frequenz zeitlich möglichst konstant sind.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.