-         

Ergebnis 1 bis 3 von 3

Thema: DDS erzeugt unschöne Störfrequenzen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2017
    Ort
    Berlin
    Beiträge
    8

    DDS erzeugt unschöne Störfrequenzen

    Anzeige

    Hallo,

    ich hoffe für DDS Synthese ist in diesem Forum auch Platz.

    Ich baue mir zur Zeit ein digitales Theremin. Der Sound wird über eine Lookup Table und DDS erzeugt. Das Ganze funktioniert soweit ganz gut, nur kriege ich ziemliche Störfrequenzen auf mein Signal - abhängig von der gewünschten Grundfrequenz. Diese werden umso stärker, je ungenauer die Schrittweite für die Lookup table ist. Habe ich eine Frequenz, die eine Schrittweite mit dem Fehler 0 (bzw. keiner Kommastelle) für die Lookup Tabelle erzeugt, habe ich ein sauberes Signal.

    Ich habe mal eine Aufnahme gemacht, auf der ich über zwei verschiedene Lookup Tables den Ton von tief bis hoch langsam durchlaufe. Es geht mir nicht um das Hintergrund Fiepen, welches immer da ist, sondern um die Störfrequenz, die je nach DDS Ausgabefrequenz auftaucht (deutlich hörbar).

    https://soundcloud.com/jens-jensen-8/ton

    Ich habe versucht das Problem zu lösen indem ich jedem zweiten Ausgabewert der DDS eine 1 addiert habe (sozusagen ein deterministisches Rauschen) und eine Interpolation aus dem letzten und aktuellen Wert zu bilden (Y(i) + Y(i-1))2.
    Das hatte leider gar keine Effekte.

    PS: Auf meinen Verstärker und Kopfhörer höre ich dieses Fiepen nicht. Ich habe die Aufnahme mit einer MBox2, dessen Line-In und dem Ausgang meines Theremins gemacht (niederohmig).

    Als Prozessor nutze ich einen ATxmega128A4U und benutze als Ausgabe direkt den integrierten DAC.

    Über Hilfe wäre ich wirklich dankbar!
    Geändert von TheCurby (23.05.2017 um 10:42 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.905
    Wie viele Stützstellen hat denn deine Sinustabelle.
    Wenn die Störfrequenzen nur bei ungeraden Tabelleneinsprüngen entstehen kann es sich nur um Artefakte aus der DDS Generierung handeln, oder Alias Frequenzen, weil der Filter hinter dem D/A Wandler nicht passt.

    Mit dem ATMEGA 8 hab ich auch schon mal ne DDS R2R D/A Wandler geproggt, das Ausgangssignal sah "abscheulich" aus.

    Ich würde gleich einen Schritt weiter gehen und einen integrierten DDS Chip z.B. von Analog Devices nehmen.
    Für dich würde es Prinzip ein relativ preisgünstiger tun, weil es ja nur um Audio geht.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2017
    Ort
    Berlin
    Beiträge
    8
    Nun, ich hatte einige Wochen an dem Problem zu kämpfen, jetzt habe ich es tatsächlich genau gestern hinbekommen. Ich mache jetzt eine lineare Interpolation und jetzt ists sauber - benutze dafür das MSB von der Kommastelle des Akkumulators. Ich benutze ein 512WORD Sample, bei 100kSps und einem im µC integrierten 12bit ADC. Man muss das halt in (Inline-)Assembler machen, da dieser Codeabschnitt zeitkritisch ist. Mein Ausgangssignal sieht astrein aus, auch schon ohne Interpolation.

Ähnliche Themen

  1. Frage USB-Serialstick erzeugt BlueScreen...???
    Von oderlachs im Forum Offtopic und Community Tratsch
    Antworten: 10
    Letzter Beitrag: 29.11.2014, 16:27
  2. Aufwärtswandler erzeugt Sägezahn
    Von ikarus_177 im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 04.09.2012, 18:31
  3. GCC erzeugt unlogischen Code
    Von s.frings im Forum C - Programmierung (GCC u.a.)
    Antworten: 14
    Letzter Beitrag: 24.04.2010, 21:35
  4. ADC erzeugt Bus Fault
    Von superjany im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 1
    Letzter Beitrag: 23.04.2010, 21:02
  5. 74HC240 (inverter) erzeugt Fehlsignale
    Von Obi_1 im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 07.02.2006, 17:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •