Forum: Mikrocontroller und Digitale Elektronik Sinus DAC wie viele Werte pro Periode


von mülli (Gast)


Lesenswert?

hallo!!
Arbeite zurzeit mit dem Renesas M3084. Mit dem eingebauten DAC möchte 
ich einen Sinus ausgeben. Tiefpass ist am Ausgang vorhanden. ;)

Möchte eine Frequenz von 30 - 3500 kHz erzeugen können. Wie viele Werte 
genügen für eine Periode??

Nur zur groben Programmstruktur: Sinuswerte werden berechnet und in ein 
Array gespeichert. Interrupt durch Timer. Beim Interrupt schreibt der 
DMAC einen Sinuswert in DA-Register. fertig.

Kann mir jemand noch den Tiefpassfilter einfach erklären, bitte. oder 
link bitte. Habe schon lange onkel google und tante wiki gefragt, aber 
nichts brauchbares gefudnen... :(

danke, mfg mülli

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 30 - 3500 kHz
3,5 MHz?
Ist der DAC überhaupt so schnell?

von mülli (Gast)


Lesenswert?

sorry, meine natürlich 3,5 kHz...

von oha (Gast)


Lesenswert?

Was spricht denn gegen Ausprobieren ?

von HildeK (Gast)


Lesenswert?

>Wie viele Werte genügen für eine Periode??
Theoretisch reichen 2.x Werte pro Periode, also > 7kHz.  Stichwort: 
Abtasttheorem.

Praktisch wählt man mehr, denn das Tiefpassfilter soll ja bei der 
höchsten Frequenz idealerweise noch nicht dämpfen, aber bei der halben 
Abtastfrequenz schon eine hohe Dämpfung haben. Je mehr 'Luft' zwischen 
der höchsten Signalfrequenz und der halben Abtastfrequenz liegt, desto 
leichter lässt sich so ein TP realisieren.

Am Besten, du überlegst, wieviel Ressourcen du im µC hast und berechnest 
soviel wie möglich Abtastwerte.

von mülli (Gast)


Lesenswert?

Ressourcen gehen leider bald den Ende zu. Der µC hat noch viele andere 
Funtionen, darum verwende ich auch DMA um, den Prozessor zu entlasten.
Werde jetzt 16 Werte pro Periode nehmen, doch ich versteh den 
Tiefpassfilter leider nicht ganz. Wie kann der TP dann den Sinus 
glätten, wie geht der vor??

von Gast (Gast)


Lesenswert?

Hier steht doch schonmal einiges zum Tiefpass.
http://de.wikipedia.org/wiki/Tiefpass

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Werde jetzt 16 Werte pro Periode nehmen
Du solltest nicht bei 30Hz mit 480 Hz ausgeben und bei 3500Hz mit 56kHz, 
sondern am einfachsten immer mit den 56kHz. Und dann bei niedrigen 
Frequenzen den Ausgabewert feiner abstufen.
Sieh dir mal eine DDFS an. Dort wird eine Tabelle durchlaufen und bei 
niedrigen Frequenzen mehr Stützpunkte des Sinuswertes ausgegeben als bei 
hohen.

> Wie kann der TP dann den Sinus glätten, wie geht der vor??
Der dämpft höhere Frequenzen (in deinem Fall die Ausgabefrequenz) 
stärker ab. Im Idealfall soweit, bis nur noch die Grundschwingung übrig 
ist.

Wenn du aber 30Hz mit nur 16 Werten ausgibst, dann wird trotzdem eine 
Treppe herauskommen, weil der Filter so ausgelegt werden muß, dass er 
die 3,5kHz auch durchlässt.

von Ollz (Gast)


Lesenswert?

In der Theorie, mit einem idealen Filter am Ausgang, reichen ganze zwei 
Werte pro Periode (Nyquist-Shannon).  Das Dumme daran ist, es gibt keine 
idealen Filter (und die Signalform der analogen Abtastwerte die aus dem 
DAC rauskommen ist auch nicht ideal).

Man kann jetzt furchtbare Systemtheorie betreiben um auszurechnen wie 
hoch man mit der Abtastfrequenz gehen muss, damit das Ergebnis gut genug 
ist. Oder man nimmt eine Fasutformel: 3 bis 10 mal höher als die 
Signalfrequenz, was auch vom verwendeten Filter abhängt. Bei einer 
Signalfrequenz von nur 3,5 kHz würde ich ernsthaft den Faktor 10 
erwägen: 350 kHz. Ich habe jetzt nicht nachgesehen ob der DAC in dem 
Mikrocontroller das kann.

von Gast (Gast)


Lesenswert?

> In der Theorie, mit einem idealen Filter am Ausgang, reichen ganze zwei
> Werte pro Periode (Nyquist-Shannon).
Etwas mehr als "ganze zwei" müssen es aber sein. Zwei wäre zuwenig.

http://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem

von Ollz (Gast)


Lesenswert?

Ok, zwei und ein unendlich kleines Bisschen mehr. Einen Hauch von Wert. 
Mit ingenieurmäßiger Genauigkeit lassen wir das mal als zwei durchgehen.

Praktisch ist es egal, da es auch mit zwei plus einem unendlich kleinen 
Bisschen nicht geht.

von HildeK (Gast)


Lesenswert?

>Ok, zwei und ein unendlich kleines Bisschen mehr. Einen Hauch von Wert.
>Mit ingenieurmäßiger Genauigkeit lassen wir das mal als zwei durchgehen.
Nein - lassen wir nicht durchgehen.
Bei exakt zwei fehlt die Information über die Amplitude!

von Ollz (Gast)


Lesenswert?

Ja, ja, mathematisch und in der Systemtheorie ist grösser statt gleich 
richtig. Ansonsten ist es für die praktische Anwendung (über die ich 
rede) egal. Zwei geht nicht, zwei und ein Krümel gehen auch nicht.

Bau mir einen Generator (mit Kosten kleiner Unendlich, in einer Zeit 
kleiner Unendlich), der für eine vorgegebene Frequenz ein Frequenz 
liefert, die konstant ein unendlich kleines Bisschen grösser ist, und 
wir sind im halb im Geschäft. Dann besorg mir noch ein ideales Filter, 
und wir sind im Geschäft. Ich wollte schon immer mal ein Bauteil haben, 
das in die Zukunft sehen kann.

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.