Hallo
Ich habe mir eine Platine gebastelt und mit einem R2R DA-Wandler und
einem Tiny84 eine DDS nachgebaut. Ich erzeuge einen Diskreten
Sinusverlauf der sich periodisch mit 15 Hz Widerholt. Die
Amplitudeninformationen in meiner Look Up Table ändern sich mit einer
Frequenz von 3906,25Hz. Nun weiß ich das ich meinen Tiefpass nach der
grenzfrequenz dimensioniere. Ich frage ich mich gerade, was ist meine
Frenzfrequenz? Ist das das Ausgangssignal an sich oder aber
Änderungsrate mit der der DA Wandler seinen Diskreten Ausgang ändert?
DDS schrieb:> Ich frage ich mich gerade, was ist meine Frenzfrequenz?
Überlege dir, welche Frequenzen durch den Tiefpass durchkommen sollen
und welche nicht. Deine Abtastfrequenz willst du im Ausgangssignal
möglichst gut unterdrücken, aber bei der Frequenz deines Nutzsignals
(15Hz) soll die Amplitude nicht unnötig beeinflusst werden. Der Tiefpass
schwächt bei seiner Grenzfrequenz ein Signal um 3db ab, d.h. die
Amplitude sinkt auf 70%.
Guck die den Amplitudenfrequenzgang im Bode Diagramm eines TP an und
überlege, wie du die o.g. Bedingungen möglichst gut unter einen Hut
bekommst.
DDS schrieb:> Hallo>> Ich habe mir eine Platine gebastelt und mit einem R2R DA-Wandler und> einem Tiny84 eine DDS nachgebaut. Ich erzeuge einen Diskreten> Sinusverlauf der sich periodisch mit 15 Hz Widerholt. Die> Amplitudeninformationen in meiner Look Up Table ändern sich mit einer> Frequenz von 3906,25Hz.> Nun weiß ich das ich meinen Tiefpass nach der> grenzfrequenz dimensioniere. Ich frage ich mich gerade, was ist meine> Frenzfrequenz? Ist das das Ausgangssignal an sich
Nein.
> oder aber> Änderungsrate mit der der DA Wandler seinen Diskreten Ausgang ändert?
Ja. Und weil der Herr Nyquist immer dabei ist, die Häfte. Wenn man nah
an fs/2 ran will, braucht man einen sehr aufwändigen, steilflankigen
Filter mit vielen Stufen. Kann man sich eine geringere Grenzfrequen
leisten, sagen wie 0,1 * fs, wird die Sache deutlich entspannter.
DDS schrieb:> Ich erzeuge einen Diskreten> Sinusverlauf der sich periodisch mit 15 Hz Widerholt. Die> Amplitudeninformationen in meiner Look Up Table ändern sich mit einer> Frequenz von 3906,25Hz.
Ich würde mir das erzeugte Spektrum einmal ansehen.
Drei Möglichkeiten:
- Oszilloskop mit Spektralanalyse
- PC-Soundkarte mit Spektralanalyse-Software
- Smartphone mit Spektralanalyse-APP
Es wird sich zeigen, dass erstens 15Hz mit Oberwellen auftreten und
zweitens Signale mit 3906,25Hz und deren Oberwellen auftreten.
Ersteres tritt auf, wenn das Sinussignal nicht gut codiert ist und
zweiteres durch die diskrete Zusammensetzung des Nutzsignals durch
3906,25Hz Samples.
Das Filter muss zumindest ab der 1/2 Samplefrequenz einsetzten.
https://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem
Dann kann das Nutzsignal bis zu dieser Frequenz rekonstruiert werden
(z.B. auch Sägezahn, Rechtecksignal ...)
Wird aber nur ein sinusförmiges Nutzsignal von 15Hz benötigt, dann kann,
wie schon vorher empfohlen wurde, das Filter oberhalb von 15Hz
einsetzten.
Ist die Grenzfrequenz tiefer als die 15Hz, dann ist das auch kein
Problem, es ist halt dann die Amplitude des Nutzsignales kleiner, aber
der Abstand zu den Oberwellen noch viel kleiner (der Klirrfaktor wird
besser),
https://de.wikipedia.org/wiki/Klirrfaktor
Wolfgang schrieb:> Der Tiefpass> schwächt bei seiner Grenzfrequenz ein Signal um 3db ab, d.h. die> Amplitude sinkt auf 70%.
Kommt aber auf den Filter an. Wenn die GF entsprechend gewählt wird,
wird da gar nichts abgeschwächt.
Die Art des Filters ist schon wesentlich. In der Regel wird als
Grenzfrequenz aber der -3dB Punkt angegeben.
Je nach Steilheit des Filters und des benötigen Signal sollte die
Grenzfrequenz zwischen etwa fs/3 (drüber muss das Filter sehr steil
sein) und etwa 2 x der Frequenz des Nutzsignals liegen. Es ist ein
Abwägung zischen dem Aufwand für das Filter und dem Fehler durch
Spiegelfrequenzen bzw. der Änderung in der Signalamplitude.
DDS schrieb:> Ich erzeuge einen Diskreten> Sinusverlauf der sich periodisch mit 15 Hz Widerholt. Die> Amplitudeninformationen in meiner Look Up Table ändern sich mit einer> Frequenz von 3906,25Hz
Wie geht sich die zyklische Abfrage der Look Up Table mit 0,256ms für
15Hz aus? Wie viele Werte stehen in der Look Up Table (260,4166666)?
Die Lookup-Table wählt man typischerweise 2 Adressbits größer als die
DAC-Bits.
Beispiel:
8bit DAC -> 10bit Lookup-Table.
Wenn man die volle Periode in der Lookup-Table hat, dann kann man direkt
mit dem Akkumulatorwert auf die Tabelle zu greifen.
Wenn man Speicherplatz sparen will, dann speichert man nur die Hälfte
oder gar nur ein Viertel einer Sinusperiode. Dann muss man aber die 4
Quadranten unterscheiden und damit aus dem Akkumulatorinhalt die Adresse
für die Lookup-Table berechnen.
GEKU schrieb:> 1kB Speicher
=1024 Einträge dann wurde die Samplefrequenz für 15Hz bei 1024*15 =
15360Hz liegen, oder?
Sonst würde es einen Phasensprung geben.
GEKU schrieb:> GEKU schrieb:>> 1kB Speicher>> =1024 Einträge dann wurde die Samplefrequenz für 15Hz bei 1024*15 => 15360Hz liegen, oder?>> Sonst würde es einen Phasensprung geben.
Nein.
Du machst doch DDS und da muss deine deine Taktfrequenz >2mal die
maximal gewünschte Ausgangsfrequenz sein.
Je höher das Verhältnis Taktfrequenz/Ausgangsfrequenz ist, um so
einfacher wird das Tiefpassfilter.
Du könntest z. B. mit 200Hz takten.
Da müsstest du jetzt ein Filter berechnen das z. B. bei 15Hz weniger als
10% Dämpfung hat aber bei 185Hz um Faktor 100 dämpft. Das erfordert ein
Butterworth-Tiefpassfilter 3. Grades.
Analogmann schrieb:> Wolfgang schrieb:>> Der Tiefpass>> schwächt bei seiner Grenzfrequenz ein Signal um 3db ab, d.h. die>> Amplitude sinkt auf 70%.>> Kommt aber auf den Filter an. Wenn die GF entsprechend gewählt wird,> wird da gar nichts abgeschwächt.
Die Grenzfrequenz eines Filters ist definiert als die Frequenz, bei der
ein Signal um 3db abgeschwächt wird, egal was das für ein Filter ist.
GEKU schrieb:> Sorry, ich war bei R2R Netzwerk
Ich habe das R2R Netzwerk für 15HZ Sinus und 1024 Sample mit Sample-rate
von 15360Hz simuliert.
Ein RC-Tiefpass mit 10k und 1000nF liefert am Ausgange Vfilt (blau),
grün dargestellt ist die Spannung am Eingang Vq des RC-Filters.
Das RC-Filter hat eine Grenzfrequenz von ca. 16Hz
GEKU schrieb:>> Ich habe das R2R Netzwerk für 15HZ Sinus und 1024 Sample mit Sample-rate> von 15360Hz simuliert.>> Ein RC-Tiefpass mit 10k und 1000nF liefert am Ausgange Vfilt (blau),> grün dargestellt ist die Spannung am Eingang Vq des RC-Filters.
Na, da siehst du doch alles. Die Amplitude des gefilterten Signals ist
schon um ~30% abgefallen. Für einen amplitudenstabilen Signalgenerator
ist diese Abstimmung also eher ungünstig.
Die erste Harmonische bei 45Hz istq ungefiltert bei ca. -58dB. Gefiltert
dann bei -60dB (kann man so genau nicht sehen; blau auf schwarz ist eine
beschissene Farbkombination). Der Filter bringt nicht viel für die erste
Harmonische. Bei höheren Frequenzen sieht es dann besser aus.
An der Simulation mit den Steileren Flanken sieht man recht schön wieso
man das Filter braucht: es geht um die hochfrequenten Störungen so ab
etwa 1 KHz in diesem Fall. Das Filter am DDC Ausgang ist i.A. nicht
dafür da die Oberwellen des Signals zu entfernen. Da sorgt man eher
durch einen entsprechend guten DAC (R2R an den IO pins ist i.A. nicht
sehr gut) für eine kleine Amplitude. Ggf. könnte es sich lohnen das
oberste Bit von der R2R Kette abzugleichen.
Für nur 15 Hz am Ausgang könnte man im Prinzip auch PWM statt dem R2R
DAC nutzen. Knapp 4 kHz PWM Frequenz sind noch nicht so unmöglich hoch.
Lurchi schrieb:> Für nur 15 Hz am Ausgang könnte man im Prinzip auch PWM statt dem R2R> DAC nutzen.
Eben. Vor allem ist PWM deutlich linearer als ein einfacher R2R DAC aus
1% Widerständen.
> Knapp 4 kHz PWM Frequenz sind noch nicht so unmöglich hoch.
Sie sind eher unnötig niedrig. Ein AVR mit 16 MHz und 10 Bit PWM schafft
16 kHz ohne ins Schwitzen zu kommen. Das erleichtert die
Ausgangsfilterung zusätzlich.
Falk B. schrieb:> Vor allem ist PWM deutlich linearer als ein einfacher R2R DAC aus> 1% Widerständen.
Dafür ist vermutlich bei der PWM das Störspektrum größer.
(Interessant wäre eine Simulation zum Vergleich des Störspektrums und
der Filtermaßnahmen)
Bei R2R sind die kleinen Sprünge von Sample zu Sample maßgebend.
Beim Beispiel fft15Hz-3906_25Hz.jpg kleiner -40dB. (= Faktor 100)
GEKU schrieb:> Falk B. schrieb:>> Vor allem ist PWM deutlich linearer als ein einfacher R2R DAC aus>> 1% Widerständen.>> Dafür ist vermutlich bei der PWM das Störspektrum größer.
Ach herje. Die Oberwellen der PWM liegen bei Vielfachen der
Abtastfrequenz, dort muss der Filter schon LANGE ausreichend dämpfen!
> (Interessant wäre eine Simulation zum Vergleich des Störspektrums und> der Filtermaßnahmen)