www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Audio-Kurve nach D/A glätten?


Autor: papa_of_t (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Liebe Mit-Bastler,

ich gebe aufgenommene Audio-Signale mit einem D/A-Wandler aus. Es
klingt auch schon recht passabel, allerdings habe ich gerade bei hohen
Tönen ein erhöhtes Rauschen und geringe Klangveränderung. Ich denke, es
liegt daran, daß mein Ausgangssignal (siehe Anlage) noch aus einzelnen
Spannungswerten besteht. Funktioniert ein Tiefpaß (R/C-Kombination) um
im anliegenden Bild die "Punkte zu verbinden" oder was kann man noch
mit wenig Aufwand tun? (außer jetzt die Sampling-Rate zu erhöhen, das
hab ich noch vor..)

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die Samplingrate erhöhen bewirkt, das die HF-Anteile (die durch den
diskreten Aufbau eines D/A-Wandlers entstehen) noch hochfrequenter
werden, und somit dein nachgeschaltetes Tiefpassfilter einfacher
"gestrickt" sein kann, da höhere Frequenzen stärker gedämpft werden.
Ich denke also, dass da ein Tiefpass 2. Ordnung reichen müsste.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst einen Filter. Die eintscheidende Frage ist nur, was für
einer.

Ein Filter erster Ordnung macht 6 dB pro Oktave bzw. knapp 20 dB pro
Dekade.

Eine Okatve ist eine Verdoppelung der Frequenz, und eine Dekade ist das
Zehnache.

20 dB Spannungsdämpfung ist der Faktor 1/10. D.h., wenn Du einen Filter
erster Ordnung hast, den Du auf eine Eckefrequenz von z.B. 10 kHz
dimensionierst, und nun auf diesen Filter ein Sinussignal mit 100 kHz
und 10 Volt Amplitude gibst, hast Du am Ausgang immer noch eine
Amplitude von 1 Volt.

Ergo: Ein Filter erster Ordnung ist ziemlich schwächlich.

Ein Filter 2. Ordnung ist auch nicht viel besser:

Grenzfrequenz z.B. 10 kHz. Pro Oktave macht ein Filter zweiter Ordnung
12 dB, das ist ziemlich genau ein Spannungsfaktor von 0,25. D.h. wenn
Du nun auf einen solchen Filter 20 kHz mit 10 Volt Amplitude anlegst,
hast Du am Ausgang immer noch 2,5 Volt.

Ergo: Auch ein Filter 2. Ordnung ist nicht sehr doll. Du brauchst
mehr.

Wieviel mehr, kannst Du Dich an der D/A-Auflösung orientieren.

8-Bit D/A entspricht etwa 48 dB. D.h. der Filter sollte die
Sampling-Frequenz mit rund 48 dB Filtern.

Wenn Du nun nach Nyquist gehst, und Deine höchste Signalfrequenz knapp
unter der Hälfte der Samplingfrequenz liegt, hast Du praktisch eine
Oktave zu Verfügung.

D.h. 48 dB / 6 dB pro Oktave = 8. Ordnung.

Also brauchst Du einen Filter mit 8. Ordnung oder besser.

Bei dieser Dimensioniereung entspricht die Amplitude der
Samplingfrequenz nur noch dem Rauschen des LSB. Für viele Anwendungen
ist das mehr als genug, und man kann in der Praxis oft einen etwas
schlechteren Filter wählen.

Schneller zu Erfolg kommt man aber, wenn Oversampling betreibt. Dann
hat man ein wesentlich breiteres Frequenzband als eine Okave für die
Filterdimensionierung zur Verfügung.

Ein anderer Trick ist es, die Grenzfrequenz des Filters etwas mehr in
den Signalfrequenz-Nutzbereich zu verschieben, und vor der D/A-Wandlung
die höheren Frequenzen entsprechend zu verstärken. Dann geht einem in
den hohen Frequenzen Dynamik verloren, dafür wird der Ausgangsfilter
einfacher. In der Praxis stört der Dynamikverlust in den hohen
Frequenzen oft nicht.

Autor: papa_of_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten! Wenn ich das mit dem Oversampling richtig
verstanden habe, dann sollte ich z.B. die Ausgabefrequenz verdoppeln,
und zwischen 2 "echten" Ausgabewerten den Mittelwert dieser beiden
ausgeben? (Das würde mir plausibel erscheinen) Na mal sehen, ob das
mein uC noch schafft, sonst nehme ich halt einen zweiten nur dafür..
:-)

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@papa:

Das kannst Du so machen, obwohl das mit dem Mittelwert keine sehr
saubere Lösung ist.

Normalerweise wird nach dem Oversampling erst korrekt digital gefiltert
um die "Nicht-Oversampling-Frequenz" zu entfernen. Digital kann man
sehr gut filtern, wenn der Prozessor entsprechend Rechenkraft hat.

Die Mittelwertbildung ist auch ein Filter, aber eben nur wieder ein
relativ schlechter. Aber zum experimentieren sicher mal geeignet.

Wie groß die Störungen durch die Mittelwertbildung sind, kann ich Dir
im Moment nicht sagen. Das müsste ich erstmal nachlesen (wenn es
irgendwo in meinen Büchern steht) oder ausrechnen.

Aber diese Störungen werden ja wieder durch den Filter gedämpft. Zwar
nicht so stark wie die PWM-Frequenz selbst, aber je nach Größe der
erzeugten Störung ausreichend.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.