2012-04-03 76 views
2

我設計了一個電路,可以記錄數據並同時使用藍牙a2dp配置文件發送數據。我的電路是源,電腦就是水槽。我的主要目標是在matlab中接收數據和過程。我已經研究了A2DP數據包,並且對如何使用SBC編解碼器解碼數據包有一個簡單的瞭解。我的主要問題是我無法使用tera term來接收這些數據包。我有一種感覺,tera不會接收到一個2dp數據包。如果是這樣,我可以使用什麼軟件?有沒有可能使用matlab?如何在Windows x64上接收藍牙A2DP數據包?

或者,當我嘗試使用藍色soleil IVT時,我可以在電腦上播放音頻文件。但不幸的是,它不讓我轉移到matlab。

我可以實現它的任何其他方式?

感謝

編輯: 好吧,我看到有由IVT BlueSoleil的提供的SDK,但只有兩個相關的A2DP功能。我認爲這並沒有太大的幫助。任何線索我如何解碼他們? Ref:Section 6.3.7.2 - Bluesoleil SDK

回答

1

因爲我還沒有收到任何答案,所以我會在對A2DP進行簡要研究之後提及我所知道的。首先,a2dp數據包結構使用AVDTP指定的數據包格式,它可以在藍牙規範結構中找到。這個數據包結構包括一個嵌入其中的編解碼器的數據包。該編解碼器可以是SBC(子帶編碼)或MPEG v1/2。

默認情況下,A2DP使用SBC。要了解有關SBC的更多詳細信息,請參閱bluetooth.org上關於A2DP的藍牙規格表。我將附上下面的鏈接。在A2DP規格表中有一節詳細解釋瞭如何編碼和解碼音頻信號。在解碼時,您可以獲得我確信的PCM信號,您知道如何處理它:)。我不得不堅持使用SBC,因爲我的硬件模塊(bluegiga wt-32)不支持MPEG :(。

談到我的情況,我必須創建C代碼來接收AVDTP數據包,因爲缺少a2dp功能matlab。用C語言和音頻信息(pcm數組)進行解碼的數據包通過使用一些愚蠢的鏈接技術進一步提供給我的matlab工作區,因此,最後我的matlab能夠使用wavplay/audioplay函數進行流式處理。有助於

[1]藍牙核心規範2.1版 - https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=241363
[2]支持A2DP藍牙1.2規格 - https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=66605
[3] - AVDTP - www.bluetooth.org /docman/handlers/DownloadDoc.ashx?doc_id=66607