Forum: Digitale Signalverarbeitung / DSP / Machine Learning I2S Audio-Pegelreduzierung


von Ludwig G. (l_g) Benutzerseite


Lesenswert?

Hallo,


Ich muss den Audio-Pegel zum DSP von einer 3-Draht Verbindung (I2S) um 
ca. 6-10 dBfs absenken. Daher suche ich einen Baustein oder eine 
einfache Schaltung, die den seriellen digitalen Audio-Datenstrom 
abschwächen kann.

Viele DAC haben den Attenuator bereits mit auf dem Chip integriet. Nur 
den ganzen DAC brauche ich nicht, da das Digitalsignal (I2S) direkt in 
den DSP zur Weiterverarbeitung geht.

Wer kann mir bitte weiterhelfen.

Vielen Dank für Ihre Rückmeldungen

L_G

: Verschoben durch Admin
von Nicht"Gast" (Gast)


Lesenswert?

Ich bin mal so frei zu verallgemeinern...

Hä? I2s ist ein digitalbus. Was willst du denn da den Pegel verringern?

Wenn du den vom Audio Signal meinst, die Daten liegen in digitaler Form 
vor. da kannst du die Werte einfaxh dividieren.


Grüsse

von J. S. (engineer) Benutzerseite


Lesenswert?

Ich nehme mal an, er meint die Amplitude des Audiosignals und nicht die 
den digitalen Pegel. Das Signal muss selbstredend dekodiert werden, die 
"analoge" Amplitude entsprechend reduziert und dann wieder verpackt 
werden.

von multi (Gast)


Lesenswert?

Warum kann der DSP das nicht einfach mit tun? Wäre in der software doch 
einfach machbar.

von Ludwig G. (l_g) Benutzerseite


Lesenswert?

Nicht"Gast" schrieb:
> Ich bin mal so frei zu verallgemeinern...
>
> Hä? I2s ist ein digitalbus. Was willst du denn da den Pegel verringern?
>
> Wenn du den vom Audio Signal meinst, die Daten liegen in digitaler Form
> vor. da kannst du die Werte einfaxh dividieren.
>
>
> Grüsse


Genau, wie kann ich ein serielles 24-bit Audiosignal mit einfachen 
Mitteln dividieren.

Viele Grüße

L_G

von holger (Gast)


Lesenswert?

>Genau, wie kann ich ein serielles 24-bit Audiosignal mit einfachen
>Mitteln dividieren.

a = b / 2;

3dB weniger für a.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

6 dB.

Wenn es unbedingt in Hardware passieren soll, dann kannst du 2 
D-Flipflops nehmen und das Datensignal um 1 Bittakt verzögern, das 
ergibt eine Division durch 2.

von J. S. (engineer) Benutzerseite


Lesenswert?

6,03 dB :-)

Das alles muss aber an der richtigen Stelle im Datenstrom passieren. 
Also doch decodieren. Eine Verringerung des Pegels kann man mit einem 
simplen Adder machen, einfach Neu = Alt - Alt / 4,8,16 etc.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Bei den üblichen I2S-Modi (weniger als 32 Bit, Rest mit Nullen 
aufgefüllt, MSB- oder LSB-aligned ist egal) reicht es, das Datensignal 
einfach zu verzögern, es muss nichts decodiert werden.

von Ludwig G. (l_g) Benutzerseite


Lesenswert?

Andreas Schwarz schrieb:
> Bei den üblichen I2S-Modi (weniger als 32 Bit, Rest mit Nullen
> aufgefüllt, MSB- oder LSB-aligned ist egal) reicht es, das Datensignal
> einfach zu verzögern, es muss nichts decodiert werden.

Vielen herzlichen Dank für Ihre Rückmeldungen.

Müsste dann auch so funktionieren:

Die seriellen Audio-Daten (SDATA)
werden im "Sender" als I2S Mode geliefert

und im "Empfänger" als LEFT-JUSTIFIED-MODE (LJ-Mode) eingelesen.

So entsteht genau eine SDATA Bit-Verschiebung um einen Takt zum SCLK.

Im LJ-Mode liegt dann das MSB im 1. L-H Takt und
im I2S Mode wird das MSB vom "Sender" erst im 2. L-H Takt angeliefert.

Das LRCK-Signal muss dann auch nur noch invertiert werden.

Oder habe ich da was übersehen?

Viele Grüße

L_G

von Kurt H. (Firma: KHTronik) (kurtharders)


Lesenswert?

Hallo Ludwig,

welchen Grund gibt es, den Algorithmus so zu verwursteln? Wer soll das 
in fünf Jahren noch verstehen oder gar pflegen? Lies den I2S-Wert ein 
und führe dann die Korrektur durch. Wenn Dein ADC einen Abschwächer hat, 
dann kannst Du den verwenden. Aber gewollte Fehlinterpretationen eines 
üblichen Protokolls sind ein Graus.

Grüße, Kurt

von J. S. (engineer) Benutzerseite


Lesenswert?

Auch wenn der thread schon älter ist, eine kleine Info dazu:

Es gibt Hinweise, dass einige Hersteller von professionellen Zuspielern 
im I2S Datenstrom in Richtung von S/PDIF-Transceivern in der Tat 
probieren, mit einer Bitverschiebung auf slow level Ebene, eine 
Lautstärkeanpassung zu vollziehen, was dann dazu führt, dass bestimmte 
Endgeräte es nicht verarbeiten können, weil die Wandlerchips es nicht 
verstehen.

Einige digitale Lautsprecher laborieren an den Problem.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.