Forum: Mikrocontroller und Digitale Elektronik Bluetooth Audio A2DP Sampling Frequenz?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Borsty B. (Firma: www.waechter-bernhard.de) (mantabernd)


Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich entwerfe aktuell ein System mit einem WT32i Bluetooth Modul und 
einem ADAU1701 DSP Chip.

Die Verbindung soll über I2S laufen, wobei der ADAU der Master ist und 
einen Wordclock von 48kHz vorgibt.

Der WT32i ist somit also Slave am Bus.

Meine Frage nun: Wie läuft das bei A2DP ab wenn jemand Musik auf dem 
Smartphone mit einer Samplingrate von 44.1kHz hat? Der WT32i selbst hat 
keinen Samplingraten Converter. Aber ist dieser überhaupt erforderlich? 
Interessiert es den Bluetooth Empfänger überhaupt in welchem Format die 
Audiodatei vorliegt?

Vielen Dank
Gruß
Bernhard

von Captain R. (captain_r)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernhard,

weiss nicht wie aktuell deine Frage noch ist aber ich gebe hier mal mein 
Bestes aus meiner Bluetooth Entwicklungs-Zeiten bei Ericsson. Ist schon 
mindestens 15 Jahre her als wir die Specs da finalisiert hatten, aber es 
müsste noch ein wenig Wissen da sein ;)

Technisch gesehen passiert folgendes:
Das A2DP Profil nutzt per default der SBC Codec. WAV Datein werden so 
hier mit in der richtigen Frequenz/Samplingrate encodiert auf der SRC 
Seite (Master/Sender) und decodiert auf der SNK Seite (Slave/Empfänger). 
Der Decoder war wenn ich mich recht entsinne frei verfügbar via BT SIG, 
der Encoder mussten wir und die anderen OEMs damals selber entwickeln.
Der SBC Codec war somit mandatory/Pflicht für ein Bluetooth-Gerät mit 
A2DP Profile. Ohne SBC wäre das Bluetooth Gerät normalerweise nicht 
pairable auf A2DP Ebene und vermutlich auch nicht Qualifizierbar ;)

Da SBC als einzig vorhandener Codec nicht kommerziell/benutzerfreundlich 
war verständlicherweise wurden die meisten A2DP Produkte schon 
zusätzlich mit zB. MP3/AAC/ATRAC Codecs ausgerüstet.
Das funktioniert dann so : Nach dem Pairen steht zB. eine MP3 Datei 
bereit zum streamen und der SRC kommuniziert mit dem SNK welche Codecs 
on Board sind. In diesem Beispiel MP3 decoder und wie immer SBC decoder. 
Wie in eine Art Handshake wird der MP3 Codec dann als Streaming Codec 
abgestimmt. Details wie Abstimming der Samplingrate folgt in einen 
weiteren Schritt, bevor tatsächlich gestreamed werden kann. Wenn die 
supported Sampleraten an der SNK Seite nicht übereinstimmen mit der 
Samplerate der MP3-Audiodatei auf der SRC Seite ist streaming dann auch 
nicht möglich.

Übrigens: Falls der SRC eine MP3 streamen möchte mit dem SNK aber der 
SNK verfügt nur über Beispielsweise ATRAC und SBC dann ist im Prinzip 
kein Streaming möglich, es sei denn der SRC ist dementsprechend 
benutzerfreundlich entwickelt das die MP3 Datei erst auf der SRC Seite 
decodiert wird nach WAV oder ATRAC und danach gestreamed. Ist Ressourcen 
aufwendig und natürlich nicht für jedes Produkt gedacht. Ausserdem 
kosten die Royalties für die Codecs an der SRC oder SNK Seite richtig 
Geld (zumindest so war es damals)

Deine Fragen müsste ich hier mit beantwortet haben. Bzgl. den Converter: 
Die supported Samplingrates sind wenn ich micht recht entsinne auf der 
SNK Seite im A2DP Service Record vom SDP  Protokoll aufgelistet und 
werden abgefragt/abgestimmt mit dem SRC.
Für weitere Details würde ich an deiner Stelle von der BT SIG Website 
die A2DP Spec runterladen wo das ganze nochmal ausführlicher dargestellt 
wird. Oder, wenn der WT32i (sorry kenne den nicht) einen Bluetooth Stack 
samt Profile beinhaltet dann deren BT API Handbuch.

Ich hoffe es war verständlich. Sorry für die grammatischen Fehler , bin 
kein gebürtiger Deutscher !

MfG
Rene

von Jobst M. (jobstens-de)


Bewertung
0 lesenswert
nicht lesenswert
Borsty B. schrieb:
> Meine Frage nun: Wie läuft das bei A2DP ab wenn jemand Musik auf dem
> Smartphone mit einer Samplingrate von 44.1kHz hat?

Die Daten kommen am I²S mit der abgeschickten Rate an. Sie müssen auch 
so abgeholt werden. Am besten benutzt man den mitgelieferten Takt. Also 
WT32i = Master (Was stört daran eigentlich?)
Selbst wenn die Daten mit 48kHz ankommen, wirst Du regelmäßig Probleme 
haben, weil die Takte eben nicht zu 100% zusammen passen.

Im Endeffekt ist es wie ein S/P-DIF-Empfänger. Du kannst die 
Samplingrate nicht beeinflussen.

> Der WT32i selbst hat
> keinen Samplingraten Converter. Aber ist dieser überhaupt erforderlich?

Wenn Du unbedingt mit 48kHz arbeiten möchtest bzw. den DSP als Master 
haben möchtest: Ja.


Gruß

Jobst

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.