Hallo,
ich habe ein Design für einen FPGA (Spartan 3) erstellt, welcher per USB mit einem PC verbunden wird und von ihm einen unkomprimierten Audiodatenstrom (16 Bit Stereo, 44100 Hz) aus einer Wave Datei erhält. Diese wurde zuvor per Winamp mit Diskwriter Plugin aus einer mp3 Datei erstellt. Der Datenstrom wird im FPGA nun auf zwei 16 Bit Delta Sigma DA Wandler geleitet, welche mit einer Frequenz von 44.1 KHz jeweils ein neues 16 Bit Sample erhalten. Die Taktfrequenz der Wandler liegt bei 48 MHz. Die beiden Ausgangspins der Wandler am FPGA gehen auf einen Tiefpass und dann noch durch einen 10µF Kondensator zur DC Entkopplung und dann auf einen Satz Brüllwürfel. Im Prinzip funktioniert das ganze schon richtig gut (hat mich wirklich überrascht). Aber bei leisen Stellen der Musik (also vor allem am Anfang und am Ende) hört man ganz deutlich ein krutscheln (keine Ahnung wie ich das beschreiben soll, so ein digital klingendes rauschen *g*). Solange ein leises Audiosignal vorhanden ist (z.B. das ausklingen des letzten Tons) ist dieses Rauschen schon wesentlich gedämpfter. Scheinbar tritt das Problem vor allem dann auf, wenn die auszugebende Amplitude nur äusserst gering ist. Die Delta Sigma Wandler funktionieren eigentlich einwandfrei (d.h. bei konstant angelegtem Wert ist absolut Ruhe) und auch der Datenstrom zu den Wandlern scheint konstant und ohne Unterbrechungen zu kommen. (Jedenfalls denke ich, dass man sowas durchaus dann auch bei lauten Passagen bemerken müsste) Mich würde jetzt mal interessieren, woher dieses Problem kommt und wie man das behebt. Ich vermute, dass ich da noch irgendeine wichtige Regel der DA Wandlung von Signalen grösser als 100 Hz verletze. :) Insgesamt dient diese Audiogeschichte allerdings nur dazu die USB Implementierung und ein On Chip Network zu testen, d.h. hier steht mehr das Interesse im Vordergrund, nicht eine Marktreife Entwicklung. :)
Vielen Dank, Michael