BlueTooth 高品質藍芽音訊的設計考慮

2021-06-22 01:47:12 字數 3448 閱讀 2270

sco通道在可自定義功能方面提供的東西很少。位元率是固定的,當確定了三個編碼解碼器後,實際上只有乙個連續可變斜率增量(cvsd)被用到。其它的編碼解碼器(a-law和l-law)雖然提供更好的音質,但它卻跟cvsd一樣沒有容錯性。由於sco通道只提供有限的檢錯/糾錯功能,並且沒有資料報重發功能,所以cvsd是一種更安全的選擇。

sco提供了全雙工的音訊。藍芽連線中的主裝置傳送乙個資料報給從裝置,而從裝置在接下來的時隙中給予響應。儘管能夠對特定的包型別作出選擇,這個特定的包型別還是象徵性地被留在了藍芽晶元組內的連線管理韌體中。藍芽技術定義了傳輸sco的四個包型別(見表)。

不論是由晶元組來選擇,或者是由系統設計者來選擇,在選擇sco包型別時都需要折衷考慮。hv1資料報較其它型別的資料報具有更好的糾錯效果,但它在藍芽1.1規範中卻要占用整個頻寬。hv3資料報型別不提供檢錯功能,但卻只占用每6個時隙中的2個。於是藍芽裝置能夠在保持sco連線的同時再建立其它連線,這在sco資料採用hv1資料報時是不可能的。圖2是乙個sco的時序圖。

最理想情況下,包型別不會影響音訊質量,在所有的三種情況下所傳輸的資料完全相同。hv1和hv2資料報允許對一些誤碼進行糾正。但一般情況下誤碼不會明顯降低音訊質量。音質差極有可能是因為資料報丟失造成的。

乙個藍芽資料報由乙個訪問碼,乙個起始碼和乙個有效荷載組成。當1/3前向糾錯碼和檢錯碼對起始碼進行保護時,低訊號強度或本地干擾可能會造成到達的資料報中的起始碼無效。在種情況下,這個資料報就會被丟棄,因為沒有sco資料報的重發請求機制,資料報就這樣丟失。

如果連線使用hv1資料報,資料丟失得就會較少,因此在乙個丟失的資料報中,音訊彈跳能量就越少。如果同樣是因為帶寬窄或者是短時間的干擾造成資料報的丟失,hv1可以比hv2或者hv3資料報提供更好的音質。當然這也並非一成不變,因為hv1傳輸資料報更多,所以在嘈雜環境中資料報丟失的可能性也會更高。

藍芽規範1.2加入了在本地干擾存在情況下改進sco音質的功能。ieee-802.11b就是乙個很好的例子,它在ism(工業、科學及醫學機構用頻寬)頻寬中占用大約22mhz的頻寬,或藍芽頻譜中的22個通道。

藍芽技術使用的79個通道之間的間隔為1mhz。藍芽1.2版本加入了自適應跳頻(afh)技術,它可以讓已配對的藍芽裝置避免會產成衝突的通道。配對的兩個裝置可以實時生成乙個通道圖,或被提供給來自上層軟體的無線訊號。後一種模式使同時包含有藍芽和802.11b節點的裝置能更好地共存。裝置的軟體為藍芽模組提供了乙個新的頻率圖,以防止藍芽裝置使用被802.11b節點占用範圍內的通道。由於干擾造成的資料報丟失變少,所以音質得到改善。afh採用的跳頻演算法只需20個良好通道就能工作。減少工作通道對afh不利的是,來自附近藍芽連線的干擾的可能性會隨之增加。

擴充套件sco通道

擴充套件sco通道是藍芽1.2版本中的另一項新增功能,它可在通道引數上提供更大彈性,並允許重發損壞的資料報。這些擴充套件功能與afh結合在一起,能在

音訊傳輸方面比藍芽1.1版本的標準sco通道有更好的表現。

舉個最簡單的例子,雖然採用新型別的資料報,esco通道與sco通道的工作方式非常相似。音訊資料以單間隙包進行傳播,這些資料報包含1到30個資料位元組,但是esco做了兩項改進。第一,在資料報中加入crc碼以檢驗資料的有效性(這在hv3sco資料報中是沒有的)。第二,如果接收裝置檢測到資料報有錯,可以請求重新傳送出錯的資料報。這取決於通道是如何設定的,因為資訊幀必須被保留下來,以便於重新傳送。

不利之處是重發資料報的會增加收發裝置的功率消耗。採用afh能將這種影響降至最低。如果資料報丟失是因為固定頻寬的干擾,如802.11b等引起的,afh可讓藍芽裝置避免已知的不良通道以減少資料重發。設計者們還需要考慮到資料延遲問題,因為重新傳送的資料要比計畫到達時間至少晚1.2ms。

有意思的是,esco所擁有這些豐富選項,反而成為有效應用其功能的最大障礙。通道選項,比如資料速率和編碼解碼器,必須在應用層得到協商。負責制定採用了sco連線的協議規範的各藍芽工作小組,都在開發一種以便能將esco整合到這些協議中去的方法。

乙個推薦的解決方法就是分階段引入這些特色功能。第一階段將esco限定在乙個64kbps的cvsd通道,這跟sco通道限制硬體和軟體上的支援具有同樣效果。有了這樣的經驗,更多的功能將被引入。如果這樣顯得太過謹慎,別忘了有訊息聲稱「大約有55個不同的配置在採用esco的情況下達到了對稱的64kbps。

有關寬頻語音的規範目前正在開發中,其背後的驅動力正是3g移動通訊技術中乙個類似技術的衍生。假如大量藍芽產品以移動**耳機配件,車載擴音套件附件為目標市場,那麼**與配件間的音訊連線質量至少要達到移動**網與移動**之間連線質量。有關藍芽寬頻語音規範的細則還未出爐,但將採用esco作為其傳輸機制這點已很清楚。

高階的音訊分布式傳輸協議

顧名思義,最近採用的音訊分布式傳輸協議(a2dp)正是為了高品質音訊資料的傳輸而設計的。單向的音訊流可能用到任一種編碼解碼器。但為保證互操作性,a2dp強制指定了乙個編碼解碼器。正如資料來源和編碼解碼器所指定的,資料流中可以包含乙個單一的音訊通道或者混合立體聲編碼。

基於應用的考慮

我們知道,藍芽技術為音訊資料的傳輸提供了多個選擇。具體選擇哪一種則首先考慮應用。如果應用基於標準的藍芽協議,那麼該協議會規定什麼型別的音訊傳輸機制是可用的。

對於功能較簡單的藍芽裝置,比如單聲道手機耳機,簡單的sco音訊通道就可以。除非處於特別環境,所有的sco音訊資料報型別都可以在這樣的裝置上使用,而把準確選擇留給藍芽晶元的連線管理**。

如果藍芽耳機支援更高質量的音訊,如寬頻語音,則必須加入合適的編碼解碼器和esco。需要注意的是,協議層編碼必須對通道特性協商進行控制,這點與sco通道在協議層無須協商有所不同。

如果兩個裝置就一組esco引數不能達成一致,那麼這兩個裝置必須能夠退而採用sco通道。這個附加的協商功能增加了編碼的複雜性,更增加了在互操作難度。製造商在開發含有esco功能的藍芽產品時,在產品的互操作性測試上下了不少功夫,其中包括與完全不支援esco的基於藍芽1.1的產品之間的測試。

測試的操作環境也必須考慮到很多因素。如果存在已知干擾,如802.11b節點,結合使用自適應跳頻技術和esco的資料報重發機制,可大大減少資料報的丟失並提高音質。如果裝置同時具有802.11b和藍芽節點,設計者應該注意軟硬體中的傳輸機制以實現共存。

通過軟體設定藍芽通道遮蔽可以避免被本地802.11b占用的頻率。這就使afh軟體無須通過實際操作就能得知那些不良通道。也有其它機制試圖輪流給每個裝置指定傳輸時間,這個方案在處理對時間要求不緊迫的資料時效果較好,但在面對同步或者等時資料流的卻沒有多大價值。由於這些特性在各晶元生產商間各有不同,感興趣的設計者應從他們首選的**商那裡弄清楚哪些是可用的。

對編碼解碼器的選擇應多加注意。對於sco和esco通道,在面對可能有缺陷的資料時,cvsd將可以接受的音質與魯棒性結合起來。採用不同的編碼解碼器能在同樣的資料速率下改善音質,但必須考慮到資料穩定性和裝置的互操作性。

如果應用要求高品質的單向音訊通路,a2dp將是合理的選擇。這也再次提醒設計者在選擇編碼解碼器時須多加注意。對於專用的成對裝置則可採用任意的編碼解碼器,比如揚聲器,它只需連線到其配對節點(音源)上。如果裝置將與多種裝置配對使用,最好的選擇就是採用預設的編碼解碼器。

高品質軟體工藝

tarcio saraiva 和 adam crough 在澳大利亞墨爾本第一次大會上討論了高品質軟體工藝。infoq請他們討論了什麼是軟體質量,並請他們解釋了質量能夠帶來的商業利益,以及如何進行管理。infoq還請他們談了談測試在交付高品質軟體時的角色,持續交付對質量有怎樣的支撐,並請他們為想要交...

高品質軟體工藝

tarcio saraiva 和 adam crough 在澳大利亞墨爾本第一次大會上討論了高品質軟體工藝。infoq請他們討論了什麼是軟體質量,並請他們解釋了質量能夠帶來的商業利益,以及如何進行管理。infoq還請他們談了談測試在交付高品質軟體時的角色,持續交付對質量有怎樣的支撐,並請他們為想要交...

藍芽音響DIY

目的 自己動手做乙個藍芽音箱 材料 藍芽解碼器 功放板 兩個揚聲器 12v電源介面卡。工具 電絡鐵,焊錫絲。這個某寶上隨便都可以搜到的,價錢在10塊錢以內。車載音箱功放藍芽模組 藍芽4.1音訊接收器配件主機板 立體聲 功放板採用官方標準電路設計而成,在12v供電的情況下能輸出10w 10w的功率,晶...