8-Bit Audio mu-law expander

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Hi Folks!

Ich moechte mit ein paar hier rumliegenden Flash-Eproms ein
Wiedergabesystem für 8-Bit-Audiodaten aufbauen. ISD-Chips sind mir zu
teuer und die eeproms hab ich hier in der Schublade.
Wenn ich mir die "µ-Law-Kompression" so ansehe, muesste es doch
moeglich sein, mit einem R2R-Netzwerk und vielleicht etwas
zusätzlicher Digital-Logik den Dynamikumfang zu vergroessern.
Die "Dekompression" funktioniert nach meinem Verständnis mit mu-Law
(=µ-Law) offenbar so:

Bei 8bit Daten ist das hoechstwertige Bit (Bit 7) ein Vorzeichenbit.
Die 4 niedrigsten Bits (0...3) bilden ganz normale Digitalwerte. Wird
bit 4 gesetzt, dann verdoppeln sich die Wertigkeiten der Bits 0..3.
Ist Bit 5 (und Bit 4 nicht) gesetzt, dann verdoppeln sich die
Wertigkeiten nochmal. Sind Bit 4 und 5 gesetzt, dann gibt es eine
weitere Verdoppelung der Wertigkeiten der Bits 0...3.

Irgendwie habe ich es aber noch nicht hingekriegt. Vielleicht muß ich
doch erst alles digital auf 14bit-Werte strecken und dann einen
mindestens 14bit DAC nehmen. Das waere dann doch etwas zu viel
Aufwand, da ich so etwas nicht in meiner Bastelkiste rumfliegen hab.

Wenn es denn ohne 14 bit DAC geht, dann ist auch die Frage, ob ich
effektiv (und nicht nur theoretisch) etwas von dem hoeheren
Dynamikumfang habe.

Irgendwelche Tips?

Danke niels.
[mailpostfachwirdnichtgeleertundquilltgradevonspammailsüber]

Re: 8-Bit Audio mu-law expander

Hi!

Quoted text here. Click to load it

Du möchtest 8 Bit speichern, ja?

Quoted text here. Click to load it

Aber Du möchtest mehr als 8 Bit Dynamik.

Quoted text here. Click to load it

Mehr als 8 Bit würde ich von einem R2R-Wandler nicht erwarten. Der
Wert eines LSB ist bei 8 Bit immerhin schon 1/256, also 0,4% des
Bereichs. Bin zu faul nachzuschauen, wie die Genauigkeit der
Widerstände im R2R-Netzwerk eingeht, aber das kannst Du sicher
herausfinden. Ich rate mal: 0,2% oder 0,4% oder 0,8% für 8Bit. Damit
werden 14Bit schon sehr, sehr teuer.

Quoted text here. Click to load it

Das klingt so wie die "13-Segment-Kennlinie" beim Telefon. Naja nicht
ganz, denn: die "linearen" Bits (die unteren vier) werden von den
"Verstärkungs-"Bits (die drei darüber) nicht einfach verdoppelt. Stell
Dir vor, die unteren wären Null, und Du verdoppelst das - wieder Null.
Damit schmeißt Du effektiv Bandbreite weg, da Du "Null" auf
verschiedenste Weise beschreiben kannst.

Bei der "13-Segment-Kennlinie" verdoppeln sich nicht mit den höheren
Bits die Ausgangswerte, sondern die _Steigung_ verdoppelt sich.


Quoted text here. Click to load it

Ein linearer Wandler braucht dazu auf jeden Fall 14 Bit. Wolltest Du
die Kennlinie direkt in den Wandler bringen? Keine Ahnung ob das geht,
aber ich glaube kaum, daß eine R2R-ähnliche Struktur (mit anderen
Werten als R und 2R) sowas wie diese Kennlinie erzeugen kann.
Vielleicht gibts ja spezielle Wandler für Telefon.

Quoted text here. Click to load it

Wie gesagt, ich kenne keinen 8Bit-13Segment-Wandler (das hat aber
nichts zu sagen). Sicher bin ich hingegen, daß Du Telefonqualität
bestimmt nicht gegen 8Bit linear eintauschen möchtest :-)

Ob ich jetzt helfen konnte? Ach, gute Nacht.

Gruß,
Michael.

Re: 8-Bit Audio mu-law expander
Quoted text here. Click to load it
So wie du es beschreibst musst du multiplizieren.
Es gibt 'multiplying DACs', allerdings meist mit 8 bit, wie AD7824.
Der erste DAC produziert (aus 4 bit) eine Spannung, die im zweiten
DAC mit den restlichen Bits multipliziert wird.
Du brauchst jeweils nur 4 bit, aber ich kenne keinen DAC mit nur 4 bit.
Baut man also wohl aus Widerstaenden und Analogschaltern zusammen.

Allerdings ist uLAW etwas komplexer:

http://www.mathworks.com/access/helpdesk/help/toolbox/commblks/ref/mulawexpander.shtml

Es gibt passende Chips Winbond W681511 oder Atelic und wohl auch von TI.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff /
We've slightly trimmed the long signature. Click to see the full one.
Re: 8-Bit Audio mu-law expander
Quoted text here. Click to load it
Sowohl A-law als auch u-law machen auf ca. 12 Bit.

Rein per Widerstandsnetzwerk wäre mir keine Realisierung
bekannt.
Widerstands/Diodennetzwerk war Anfang 70er
Jahre üblich ( in Thermostat bei konstanter Temperatur
wegen der Dioden ) ehe es geeignete ICs gab.
Es gab historisch auch Variante Deltamodulator ( also
simpler 1 Bit A/D-Wandler ) auf A-law umzukodieren
( Ferranti ).
Die simpelste Lösung für Sprache wäre natürlich PCM-Codec
zu verwenden, das hat aber serielle Schnittstelle.
Und 300 - 3400 Hz Filter, sodaß es wirklich nur Sprache
macht.
Die simpelste Lösung für HiFi wäre 2 Speicher, also 16 Bit
mit 12 - 16 Bit Wandlern.

MfG JRD

Re: 8-Bit Audio mu-law expander
Rafael Deliano schrieb:
Quoted text here. Click to load it
Man könnte auch mittels einer Tabelle (ROM) umcodieren.

Martin

Site Timeline