DDS - Ausgangssignal glätten

Gast #5843826
Lesenswert?

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?
Gast #5843839
Lesenswert?

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.
#5843860
Lesenswert?

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.
Gast #5843875
Lesenswert?

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
Gast #5843904
Lesenswert?

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.
Gast #5843921
Lesenswert?

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)?
#5843948
Lesenswert?

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.
#5844095
Lesenswert?

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.
Gast #5844112
Lesenswert?

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.
Gast #5844188
Lesenswert?

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
Angehängte Dateien:
#5844525
Lesenswert?

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.
Gast #5844709
Lesenswert?

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.
#5844819
Lesenswert?

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.
Gast #5844837
Lesenswert?

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)
#5844849
Lesenswert?

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)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren