DDS: Lautstärke über Poti erzeugt Rauschen/Kratzen

Gast #5364882
Lesenswert?
• ▲
▼
Hallo,

ich habe mal ein theoretischs Problem. Ich erzeuge über eine DDS einen 
Ton , gibt den auf einen Verstärker aus und höre ihn mir an. 
Funktioniert soweit prima (über SAI, 24bit DAC CS4344 und STM32F4).

Die Lautstärke dieses Signals bestimme ich durch ein Poti am STM32. Nun 
habe ich zwei Beobachtungen/Problematiken:

a) trotz AVCC Filter zappelt das Poti um ca. 3-4 digits. Das reicht aus, 
um in dem ausgegeben Ton ein Rauschen zu erzeugen (bei stehender 
Position). Mein Ansatz war bisher, dass ich den aktuellen Lautstärkewert 
nur bei einem Null-Durchgang der DDS übernehme. Bringt scheinbar nicht 
so viel.

b) Beim Drehen des Potis erzeugen die Lautstärkesprünge - trotz 
Übernahme der Lautstärke nur bei einem Null-Durchgang - ein 
hochfrequentes Störsignal. Ist irgendwie Logisch, da ich mir da Stufen 
in der Ausgabe erzeuge, was ich eigentlich durch den Null-Durchgang 
dachte vermieden zu haben. Desto schneler ich drehe, desto größer sind 
diese Sprünge, desto markanter ist dieses Störsignal.

Wie löse ich diese Problematik am besten? Ein weiterer Ansatz, den neuen 
Lautstärke Ist-Wert zu berechnen, indem ich die Differenz nehme und den 
Ist-Wert langsam an den Soll heranführe brachte ebenfalls nichts:
1
Ist = (Soll+Ist) / 2;
Gast #5365174
Lesenswert?
• ▲
▼
Verstehe ich das richtig:

Du hast gibst DDS-Werte aus dem STM32-RAM über einen DAC aus.
Du möchtest die Lautstärke 'digital' ändern.
Dazu hast du ein Poti, liest die analoge Spannung per ADC ein und 
modulierst damit die Werte der DDS ?

Meine Gedanken dazu:
- Wo ist der 'Pluspol' des Potis angeschlossen VCC oder VCCA ?
- Ist die Masse des Potis auch gefiltert oder hängt die am digtalen GND 
?
- Wie 'sauber' ist die Spannung am Mittelabgriff des Potis 
(ADC-Eingang). Ist die ordenlich gefiltert ?
- Wird der 'richtige' Kanal gesampled, 3-4 Digits sind schon heftig 
(oder meinst du Bits, dann wäre das OK --> 3.6V/4096 = 0,88mV).
- Was passiert wenn du vom ADC Wert nur die oberen Bits nimmst um das 
Rauschen des ADCs 'digital' wegzufiltern?
 Alternativ kannst du auch erst einen Mittelwert über 3-5 ADC Samples 
berechnen um die Sprünge zu glätten.
- Stimmt die Skalierung bei der Berechnung der Ausgangswerte (max. 24 
Bit des DACs) oder gibt es da vielleicht Überläufe?
Gast #5365254
Lesenswert?
• ▲
▼
Hier gabs neulich schon was mit Poti:
Einstellen eines DC-Werts auf 1/288.
Ist natürlich Traumtänzerei...

Pegeleinstellung mit Poti über ADC "kratzt"???

Das kann nur schlechte Poti-Erfassung sein!
Die Dinger ruckeln nun mal gern beim Einstellen so
etwa im %-Bereich. Eine Einstellgenauigkeit von besser
2% (linear) solltest man sowieso nicht erwarten.

Daher ist es großer Blödsinn, den ADC-Wert eines Potis
im µs-, oder ms-Takt 1:1 an einen Gain-Multiplikator
weiterzugeben.
Erfasse das Poti vielleicht im ms-Takt, und gib den gleitenden
Mittelwert der letzten 8...64 letzten Messungen als Einstell-
wert weiter.

Die Reaktion muss zeitnah zur Betätigung sein, sollte aber
"Kratzer" nicht "durchreichen".

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.