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
>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.
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??
> 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.
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.
> 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
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.
>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!
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.