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
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
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.
Warum kann der DSP das nicht einfach mit tun? Wäre in der software doch einfach machbar.
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
>Genau, wie kann ich ein serielles 24-bit Audiosignal mit einfachen >Mitteln dividieren. a = b / 2; 3dB weniger für a.
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.
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.
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.