TWI745841B - 針對短程無線通訊系統中的資料封包的糾錯 - Google Patents
針對短程無線通訊系統中的資料封包的糾錯 Download PDFInfo
- Publication number
- TWI745841B TWI745841B TW109102716A TW109102716A TWI745841B TW I745841 B TWI745841 B TW I745841B TW 109102716 A TW109102716 A TW 109102716A TW 109102716 A TW109102716 A TW 109102716A TW I745841 B TWI745841 B TW I745841B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- value
- estimated
- error correction
- group
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
第一設備可以與第二設備建立與短程通訊相關聯的邏輯鏈路。第一設備可以接收被攜帶在邏輯鏈路上的第一封包。當第一PDU資料未能通過解碼校驗時,第一設備可以基於邏輯鏈路,從用於糾錯的複數種操作模式中決定第一操作模式,第一設備可以在邏輯鏈路上接收一組重傳封包,該組重傳封包之每一者重傳封包包括作為第一PDU資料的重傳的相應PDU資料,以及第一設備可以基於被包括在第一封包中的第一PDU資料和被包括在該組重傳封包之每一者重傳封包中的相應PDU資料,來應用用於糾錯的第一操作模式。
Description
大體而言,本案內容係關於通訊系統,並且更具體地,本案內容係關於對經由邏輯鏈路接收的資料封包的糾錯。
無線個人區域網路(WPAN)是用於將以距使用者的特定距離為中心的設備互連的個人短程無線網路。由於WPAN所提供的連接的靈活性和便利性,WPAN已經得以普及。WPAN(諸如基於短程無線通訊協定的彼等WPAN)經由提供允許在特定距離(例如,5米、10米、20米、100米等)內的連接的無線鏈路,來提供到設備的無線連接性。
短程無線通訊協定可以包括藍芽®
(BT)協定、藍芽®
低能(BLE)協定、Zigbee®
協定等。BT是一種無線技術標準,其利用在全球公認的工業、科學和醫療(ISM)頻帶(例如,從2.400千兆赫(GHz)到2.485 GHz)中的特高頻(UHF)無線電波來實現射頻通訊。類似地,BLE定義了一種實現在2.4 GHz ISM頻帶內進行操作的射頻通訊的標準。
短程無線通訊協定可以用於經由WPAN將設備進行連接。可以在WPAN上進行通訊的設備的實例可以包括膝上型電腦、平板電腦、智慧型電話、個人資料助理、音訊系統(例如,耳機、頭戴式耳機、揚聲器等)、可穿戴設備(例如,智慧手錶、健身追蹤器)、在各種醫療、工業、消費者和健身應用程式中的電池供電的感測器和致動器等等。
在一些場景中,與其他網路類型(諸如無線區域網路(WLAN))相比,WPAN可以提供優點和便利性。然而,在WPAN中的短程無線通訊可能容易受到與在其他無線網路中的通訊相同或類似的問題的影響。例如,短程無線通訊可能由於有雜訊及/或壅塞的傳輸媒體而經歷錯誤。短程無線通訊所經歷的此類問題可能使設備的效能降級,可能使使用者體驗降級等等。因此,需要一種用於在短程無線通訊中進行糾錯的方法。
下文提供了一或多個態樣的簡化概述,以便提供對此種態樣的基本理解。該概述不是對所有預期態樣的詳盡綜述,而且既不意欲辨識所有態樣的關鍵或重要元素,亦不意欲圖示任何或所有態樣的範疇。其唯一目的是以簡化的形式提供一或多個態樣的一些概念,作為稍後提供的更加詳細的描述的前序。
用於與無線個人區域網路(WPAN)一起使用的各種標準和協定(諸如藍芽®
(BT)及/或藍芽®
低能(BLE))可以提供對訊息的重傳,諸如當該訊息是在具有一或多個錯誤的情況下接收的及/或未被成功解碼時。可以利用循環冗餘校驗(CRC)值來保護該訊息(例如,訊息的有效負荷),其中CRC值必須與由接收設備計算出的值匹配,以便該訊息被成功解碼。若訊息是加密的,則可以利用訊息完整性碼(MIC)來保護訊息(例如,有效負荷)。與CRC驗證類似,MIC值必須與由接收設備計算出的值匹配,以便該訊息被成功解碼。若CRC驗證及/或MIC驗證(若存在的話)在接收設備處失敗,則接收設備可以丟棄該訊息,傳輸設備可以重傳該訊息,等等。
各種狀況(例如,空中、通道狀況)可能在接收訊息時造成錯誤(例如,位元錯誤),此舉可能阻止訊息被接收設備正確地解碼。因此,例如當接收設備沒有回應於該訊息(例如,在預定時間段內)發送認可(ACK)訊息時,傳輸設備可以發送訊息的一或多個重傳。在接收設備能夠在沒有任何錯誤的情況下成功解碼訊息之前,傳輸設備可以將該訊息重傳多次(例如十二次)。傳輸設備對訊息的每個重傳(以及由接收設備傳輸的每個非ACK(NACK)(若存在的話))可能消耗該等設備的額外功率,並且進一步地,可能佔用可以與其他設備(例如,Wi-Fi設備)共享的頻帶。
鑒於前述內容,在WPAN上進行通訊的設備可以受益於用於糾錯的機制。利用此種用於糾錯的機制,可以減少重傳數量。因為單獨解碼每個傳輸/重傳的訊息並且回應於每個單獨訊息而發送ACK/NACK訊息可能帶來可觀的管理負擔(例如,功耗及/或頻寬使用),所以減少可以從其中獲得無錯誤訊息的重傳的數量可以減少管理負擔。例如,使用來自訊息的每個傳輸/重傳的位元可以允許訊息被成功解碼,同時減少重傳數量。
在本案內容的一個態樣中,提供了一種方法、電腦可讀取媒體和裝置。該裝置可以是第一設備。該第一設備可以與第二設備建立與短程通訊相關聯的邏輯鏈路。該第一設備可以接收被攜帶在該邏輯鏈路上的第一封包。當被包括在該第一封包中的第一封包資料單元(PDU)資料通過解碼校驗時,該第一設備可以向該第一設備的較高層發送該第一PDU資料的至少一部分。當該第一PDU資料未能通過該解碼校驗時,該第一設備可以基於該邏輯鏈路,從用於糾錯的複數種操作模式中決定第一操作模式,該第一設備可以在該邏輯鏈路上接收一組重傳封包,該一組重傳封包之每一者重傳封包包括作為該第一PDU資料的重傳的相應PDU資料,以及該第一設備可以基於被包括在該第一封包中的該第一PDU資料和被包括在該一組重傳封包之每一者重傳封包中的該相應PDU資料,來應用用於糾錯的該第一操作模式。
在一些態樣中,該第一設備可以決定該邏輯鏈路的類型,其中用於糾錯的該第一操作模式是基於該邏輯鏈路的該類型來決定的。在一個態樣中,該邏輯鏈路的該類型是基於存取位址或由在該邏輯鏈路上接收的至少一個封包的至少一個標頭指示的邏輯傳輸位址(LT_ADDR)中的至少一項來決定的。
在一個態樣中,該邏輯鏈路包括非同步無連接(ACL)鏈路或高級音訊分發簡介(A2DP)鏈路中的一者,並且基於該ACL鏈路或該A2DP鏈路,該第一操作模式包括軟合併模式。在一個態樣中,當該第一封包與和用於對該等重傳封包之每一者重傳封包進行解密的相應亂數匹配的、用於解密的第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於該第一封包的包括第一有效負荷資料和第一訊息完整性碼(MIC)值的第一PDU資料、並且進一步基於該一組重傳封包之每一者重傳封包的包括相應有效負荷資料和相應MIC值的該相應PDU資料來應用的。在一個此種態樣中,當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。在另一態樣中,當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料保持加密。
在一個態樣中,當該第一封包與不同於與對該一組重傳封包中的至少一個重傳封包的解密相關聯的相應亂數的、用於解密的第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於被包括在該第一封包的該第一PDU資料中的第一有效負荷資料、並且進一步基於被包括在該一組重傳封包之每一者重傳封包的該相應PDU資料中的相應有效負荷資料來應用的。在一個此種態樣中,當該第一封包的該第一PDU資料包括第一MIC值時,並且當該一組重傳封包之每一者重傳封包的該相應PDU資料包括相應MIC值時,用於糾錯的該第一操作模式是在不利用該第一MIC值的情況下並且在不利用該等相應MIC值之每一者MIC值的情況下應用的。在一個態樣中,當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
在一個態樣中,當用於糾錯的該第一操作模式包括該軟合併模式時,該第一設備將經由以下操作來應用用於糾錯的該第一操作模式:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的相應位元的三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。在一個此種態樣中,該一組緩衝器之每一者緩衝器受到最小閾值和最大閾值約束,並且被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值不超過該最小閾值並且不超過該最大閾值。
在另一態樣中,該邏輯鏈路包括擴展同步連接導向(eSCO)鏈路,並且基於該eSCO鏈路,該第一操作模式包括品質位元遮罩(QBm)模式。當用於糾錯的該第一操作模式包括該QBm模式時,該第一設備將經由以下操作來應用用於糾錯的該第一操作模式:基於該第一封包的該第一PDU資料的第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值;及基於該一組估計位元值來決定一組位元錯誤品質度量。
在另一態樣中,該邏輯鏈路包括等時(ISO)鏈路,並且基於該ISO鏈路,用於糾錯的該第一操作模式包括品質位元遮罩混合(QBm-H)模式。在一個此種態樣中,當用於糾錯的該第一操作模式包括該QBm-H模式時,該第一設備將經由以下操作來應用用於糾錯的該第一操作模式:基於該第一封包的該第一PDU資料的第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值;基於該一組估計位元值來決定一組位元錯誤品質度量;及當在該一組重傳封包中的該一個重傳封包和該另一重傳封包之後接收的一或多個額外重傳封包包括該第一封包的該第一PDU資料的重傳時,丟棄該一或多個額外重傳封包。在一個此種態樣中,當用於糾錯的該第一操作模式包括該QBm-H模式時,並且當該一組重傳封包包括三個或更多個重傳封包時,該第一設備將經由以下操作來應用用於糾錯的該第一操作模式:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的相應位元的三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
在一個態樣中,該第一設備可以基於一組估計位元值來產生估計的循環冗餘校驗(CRC)值,該一組估計位元值是基於該應用用於糾錯的該第一操作模式來獲得的,該一組估計位元值被估計以被包括在該第一PDU資料中,以及該第一設備可以將該估計的CRC值與被包括在該一組重傳封包中的最近接收到的重傳封包中的第一CRC值進行比較,並且基於該將該估計的CRC值與該第一CRC值進行比較,該一組估計位元值通過該解碼校驗,並且其中當所產生的CRC值不同於該第一CRC值時,該一組估計位元值未能通過該解碼校驗。
在一個態樣中,該第一設備可以基於該一組估計位元值來產生估計的MIC值,以及該第一設備可以將該估計的MIC值與被包括在該一組重傳封包中的最近接收到的重傳封包中的第一MIC值進行比較,並且當該估計的CRC值與該第一CRC值匹配並且該估計的MIC值與該第一MIC值匹配時,該一組估計位元值通過該解碼校驗,並且其中當該估計的CRC值不同於該第一CRC值時或者當該估計的MIC值不同於該第一MIC值時,該一組估計位元值未能通過該解碼校驗。
在一個態樣中,該第一設備可以向該第一設備的該較高層發送一組估計位元值,該一組估計位元值是基於該應用用於糾錯的該第一操作模式而獲得的,該一組估計位元值被估計為該第一PDU資料的至少該一部分。在一個態樣中,該第一設備可以基於該應用用於糾錯的該第一操作模式,來決定與該一組估計位元值相關聯的一組位元錯誤,以及該第一設備可以向該第一設備的該較高層發送至少一個位元錯誤品質度量,該至少一個位元錯誤品質度量指示以下各項中的至少一項:該一組位元錯誤的一組位置,或該一組位元錯誤的數量。
為了實現前述和相關目的,一或多個態樣包括下文中充分描述並且在請求項中具體指出的特徵。以下描述和附圖詳細地闡述了一或多個態樣的某些說明性特徵。然而,該等特徵指示可以利用各個態樣的原理的各種方式中的僅一些方式,並且該描述意欲包括所有此種態樣以及其均等物。
下文結合附圖闡述的詳細描述意欲作為各種配置的描述,而並非意欲表示可以在其中實施本文所描述的概念的僅有配置。為了提供對各個概念的透徹理解,詳細描述包括特定細節。然而,對於熟習此項技術者將顯而易見的是,可以在沒有該等特定細節的情況下實施該等概念。在一些例子中,以方塊圖形式圖示公知的結構和元件,以便避免模糊此種概念。
現在將參照各種裝置和方法來提供電信系統的若干態樣。將經由各個方塊、元件、電路、過程、演算法等(被統稱為「元素」),在以下的詳細描述中描述並且在附圖中圖示該等裝置和方法。該等元素可以使用電子硬體、電腦軟體或其任意組合來實現。至於該等元素是實現為硬體還是軟體,取決於特定的應用和對整體系統所施加的設計約束。
舉例而言,可以將元素,或元素的任何部分,或元素的任意組合實現為「處理系統」,其包括一或多個處理器。處理器的實例包括:微處理器、微控制器、圖形處理單元(GPU)、中央處理單元(CPU)、應用處理器、數位信號處理器(DSP)、精簡指令集運算(RISC)處理器、晶片上系統(SoC)、基頻處理器、現場可程式設計閘陣列(FPGA)、可程式設計邏輯設備(PLD)、狀態機、閘控邏輯、個別硬體電路,以及被配置為執行貫穿本案內容描述的各種功能的其他合適的硬體。處理系統中的一或多個處理器可以執行軟體。無論被稱為軟體、韌體、中間軟體、微代碼、硬體描述語言還是其他術語,軟體皆應當被廣義地解釋為意指指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體元件、應用程式、軟體應用程式、套裝軟體、常式、子常式、物件、可執行檔案、執行的執行緒、程序、函數等。
相應地,在一或多個示例性實施例中,可以用硬體、軟體或其任意組合來實現所描述的功能。若用軟體來實現,該等功能可以儲存在電腦可讀取媒體上或編碼為電腦可讀取媒體上的一或多個指令或代碼。電腦可讀取媒體包括電腦儲存媒體。儲存媒體可以是能夠由電腦存取的任何可用媒體。經由舉例而非限制的方式,此種電腦可讀取媒體可以包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式設計ROM(EEPROM)、光碟儲存、磁碟儲存、其他磁儲存設備、上述類型的電腦可讀取媒體的組合,或者能夠用於儲存能夠由電腦存取的具有指令或資料結構形式的電腦可執行代碼的任何其他媒體。
圖1圖示根據本案內容的某些態樣的示例性WPAN 100。在WPAN 100內,中央無線設備102可以使用邏輯鏈路116,以使用短程無線通訊協定與一或多個周邊設備104、106、108、110、112、114進行通訊。短程無線通訊協定可以包括藍芽®
(BT)協定或BT低能(BLE)協定。
無線設備102的實例包括蜂巢式電話、智慧型電話、通信期啟動協定(SIP)電話、行動站(STA)、膝上型電腦、個人電腦(PC)、桌上型電腦、個人數位助理(PDA)、衛星無線電單元、全球定位系統、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、相機、遊戲控制台、平板設備、智慧設備、可穿戴設備、車輛、電錶、氣泵、烤箱、恒溫器、助聽器、無線耳機、血糖在體單元、物聯網路(IoT)設備或任何其他功能相似的設備。
一或多個周邊設備104、106、108、110、112、114的實例包括蜂巢式電話、智慧型電話、SIP電話、STA、膝上型電腦、PC、桌上型電腦、PDA、衛星無線電單元、全球定位系統、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、相機、遊戲控制台、平板設備、智慧設備、可穿戴設備、車輛、電錶、氣泵、烤箱、恒溫器、助聽器、無線耳機、血糖在體單元、IoT設備或任何其他功能相似的設備。儘管中央無線設備102被示為與WPAN 100中的六個周邊設備104、106、108、110、112、114進行通訊,但是在不脫離本案內容的範疇的情況下,無線設備102可以與WPAN 100內的多於或少於六個的周邊設備進行通訊。
實現BT協定的設備(例如,無線設備102)可以根據諸如基本速率(BR)/增強資料速率(EDR)之類的一種無線電模式進行操作,而實現BLE協定的設備可以根據BLE無線電模式進行操作。在一些態樣中,設備(例如,無線設備102)可以被配置有雙無線電模式,並且因此能夠根據BR/EDR模式或者BLE模式進行操作(例如,基於該設備可能參與的短程無線通訊的類型)。
例如,設備可以根據BR/EDR模式進行操作,以用於對資料(例如,音訊資料)的連續串流、廣播網路、網狀網路及/或其中相對較高的資料速率可能是更合適的一些其他應用。然而,設備可以根據BLE模式進行操作,以用於短短脈衝資料傳輸及/或其中功率節省可能是期望的(例如,以及相對較低的資料速率可以是可接受的)一些其他應用。在其他態樣中,設備可以根據一或多個其他無線電模式進行操作,包括專有無線電模式(例如,高速無線電模式、低能無線電模式、等時無線電模式等)。
短程無線通訊協定(例如,BT及/或BLE)可以包括及/或可以使用一或多個其他通訊協定,例如以建立和維護通訊鏈路。如圖所示,無線設備102可以根據用於短程無線通訊的至少一種通訊協定來與至少一個其他設備(諸如耳機112)建立邏輯鏈路116。
邏輯鏈路116可以包括遵循與BT或BLE包括在一起的及/或用於與其一起使用的協定的通訊鏈路。在一個態樣中,邏輯鏈路116可以包括非同步無連接(ACL)鏈路。利用ACL,無線設備102可以與第二設備(例如,耳機112)進行連接(或者在BT規範的術語中,「進行配對」)。該連接是非同步的,因為兩個設備可以不需要在時間態樣在彼此之間同步資料通訊來允許經由邏輯鏈路116傳送資料封包。
在一個態樣中,邏輯鏈路116可以包括高級音訊分發簡介(A2DP)鏈路。A2DP鏈路提供在源設備(例如,無線設備102)和槽設備(例如,耳機112)之間的點對點鏈路。利用A2DP鏈路,可以在ACL資料通道上傳輸包括音訊的資料封包,並且可以在單獨的控制通道上傳輸其他資訊(例如,用於控制音訊串流)。資料封包(例如,包括音訊)可以非週期性地發生。
在另一態樣中,邏輯鏈路116可以支援在「主設備」和「從設備」之間的同步邏輯傳輸機制。例如,邏輯鏈路116可以包括同步連接導向(SCO)鏈路。SCO鏈路可以使用被預留用於BT通訊的時槽,來在主設備(例如,無線設備102)和從設備(例如,耳機112)之間提供對稱的點對點鏈路。然而,SCO鏈路可能不支援對資料封包的重傳,此舉在音訊串流及/或語音用例中可能是不滿意的(在該等用例中,丟棄的音訊或語音封包可能降低使用者體驗的品質)。
則,在另外的態樣中,邏輯鏈路116可以包括擴展SCO(eSCO)鏈路。eSCO鏈路可以使用被預留用於BT通訊的時槽,來在主設備(例如,無線設備102)和從設備(例如,耳機112)之間提供對稱或不對稱的點對點鏈路,並且亦可以在被預留的時槽之後提供重傳訊窗。因為使用重傳訊窗可以促進重傳,所以eSCO鏈路可以適於音訊串流及/或語音用例,是因為可以重傳丟棄的音訊或語音封包,並且因此可以增加成功接收資料封包的概率。
在一個態樣中,邏輯鏈路116可以包括等時(ISO)鏈路。利用ISO鏈路,邏輯鏈路116可以結合同步鏈路和非同步鏈路兩者的一些特徵。例如,ISO鏈路上的串流可以以起始封包開始,並且隨後可以非同步地傳輸資料封包。在ISO鏈路上,可能限制傳輸設備(例如,無線設備102)所進行的重傳嘗試次數。因此,若接收設備(例如,耳機112)在有限的重傳嘗試次數內無法解碼資料封包,則可以丟棄該資料封包,並且接收設備可以在沒有來自所丟棄的資料封包的資料的情況下繼續接收該串流。
由於各種因素(例如,所使用的無線設備的數量不斷增加),無線設備可能造成用於無線通道(諸如在其上攜帶邏輯鏈路116的無線通道)的頻率上的壅塞。因此,無線通訊通道(例如,在其上攜帶邏輯鏈路116的無線通訊通道)可能是「有雜訊的」,因為靜電、壅塞及/或其他干擾可能在與被預留用於在所建立的邏輯鏈路116上進行通訊的頻帶相同的頻帶上引入隨機信號。此種靜電、壅塞、干擾及/或其他隨機信號可能對在邏輯鏈路116上傳輸的初始封包造成錯誤。經由在邏輯鏈路116上提供對初始封包的重傳,可以增加接收無錯誤的封包的概率。
在諸如BLE之類的一些標準和協定中,無線設備102可以經由使用循環冗餘校驗(CRC)驗證以及可選地經由使用訊息完整性碼(MIC)驗證(例如,當資料封包被加密時可以使用MIC驗證),來偵測資料封包的協定資料單元(PDU)中的錯誤。因此,對資料封包的重傳提供了如下的方法:經由向接收設備重複提供相同的PDU資料,使得接收設備可以利用可以通過CRC驗證(以及MIC驗證(若存在的話))的重傳封包的PDU資料替換錯誤的PDU資料,從而對PDU資料進行糾錯。
例如,無線設備102可以在邏輯鏈路116上向耳機112傳輸初始資料封包120。耳機112可以在邏輯鏈路116上接收初始資料封包120,並且耳機112可以嘗試使用CRC驗證並且(若適用的話)使用MIC驗證來驗證初始資料封包120的PDU資料。若CRC驗證和MIC驗證之一失敗,則耳機112可以決定初始資料封包120的PDU資料包括錯誤。在一些態樣中,因為初始資料封包120的PDU資料包括至少一個錯誤,所以耳機112可以經由傳輸認可(ACK)/非ACK(NACK)訊息來對初始資料封包120進行回應,該ACK/NACK訊息指示NACK。
無線設備102可以在邏輯鏈路116上向耳機112傳輸一組重傳資料封包122中的至少第一重傳資料封包。例如,無線設備102可以基於從耳機112接收到NACK訊息,來傳輸該組重傳資料封包122中的第一重傳資料封包。類似於初始資料封包120,耳機112可以嘗試使用CRC驗證並且(若適用的話)使用MIC驗證來驗證該組重傳資料封包122中的第一重傳資料封包之一的PDU資料。儘管該組重傳資料封包122可以增加初始資料封包120的PDU資料將在沒有任何錯誤的情況下被接收的概率,但是該組重傳資料封包122中的第一重傳資料封包可能遭受在其上攜帶邏輯鏈路116的無線通道上的次優狀況。
因此,由於靜電、壅塞、干擾及/或其他隨機信號,該組重傳資料封包122中的第一重傳資料封包仍然可能經歷降級。類似於初始資料封包120,由於無線通道狀況導致的降級可能對該組重傳資料封包122中的第一重傳資料封包引入錯誤(在被耳機112接收時)。因此,當該組重傳資料封包122中的第一重傳資料封包未能通過CRC驗證或者未能通過MIC驗證(若MIC驗證是適用的話)時,耳機112可以向無線設備102發送另一NACK訊息。隨後,無線設備102可以例如回應於由耳機112傳輸的另一NACK訊息,在邏輯鏈路116上傳輸該組重傳資料封包122中的第二重傳資料封包。
根據一些標準及/或協定,該組重傳資料封包122可以達到相對大的數量(例如,十二個重傳資料封包),是因為無線設備102可以被配置為重複傳輸該組重傳資料封包122中的重傳資料封包,直到耳機112能夠驗證該組重傳資料封包122中的一個重傳資料封包的PDU資料為止。例如,無線設備102可以重複傳輸該組重傳資料封包122中的重傳資料封包,直到從耳機112接收到用於指示耳機112能夠驗證該組重傳資料封包122中的一個重傳資料封包的PDU資料的ACK訊息為止。
儘管對該組重傳資料封包122的傳輸可以允許耳機112接收並且驗證最初打算在初始資料封包120中的PDU資料(並且獲得其中包括的有效負荷資料),但是對該組重傳資料封包122中的每一者的每次傳輸和對相應NACK訊息的每次傳輸可能在無線設備102和耳機兩者處帶來管理負擔。具體地,無線設備102和耳機112分別對該組重傳資料封包122中的一者的傳輸/接收以及對相應NACK訊息的接收/傳輸的每次發生可能造成無線設備102和耳機112消耗原本可能已經被分配以繼續資料串流的一些額外功率量以及另外消耗一些時間量。此外,無線設備102對該組重傳資料封包122中的一者的傳輸以及耳機112對相應NACK訊息的傳輸的每次發生可能在額外的持續時間內佔用在其上攜帶邏輯鏈路116的無線通道。在無線通道佔用的額外持續時間期間,共享無線通道的其他系統和設備(例如,Wi-Fi系統和設備)可能經歷延遲或干擾。
鑒於由於使用該組重傳資料封包進行糾錯而引起的管理負擔,短程無線通訊可能受益於用於減少用於成功通過CRC驗證所需要的該組重傳資料封包122的數量的機制。例如,可以將來自初始資料封包120的PDU資料與來自該組重傳封包122中的每一者的PDU資料進行組合。在跨多個不同的資料封包120、122對PDU資料進行組合時,可以對最初意欲初始資料封包120中傳輸的PDU資料進行估計或恢復。
另外或替代地,跨多個不同的資料封包120、122對PDU資料進行組合可以促進產生與最終被發送給耳機112的較高層(諸如編碼器-解碼器(CODEC))的PDU資料相關聯的一或多個位元度量。一或多個品質位元度量可以包括關於被發送給較高層的彼等PDU位元中的一或多個錯誤位元的資訊,諸如位元錯誤的數量、位元錯誤的位置以及其他位元錯誤資訊。例如,耳機112的CODEC能夠基於一或多個位元度量,恢復串流的錯誤位元,嘗試對包括相對少量的位元錯誤的資料的無瑕疵資料串流,隱藏串流中的位元錯誤等等。
為了減少重傳資料封包的數量,無線設備可以被配置有用於糾錯的複數種不同的操作模式。被配置有用於錯誤減少的複數種不同的操作模式的無線設備可以是可以在邏輯鏈路116上接收封包的任何無線設備,其包括無線設備102、耳機112及/或另一圖示的設備104、106、108、110、114。經由舉例的方式,耳機112可以在邏輯鏈路116上接收資料封包(例如,初始封包120)。耳機112可以從複數種不同的操作模式中選擇用於錯誤減少的第一操作模式。因為根據所實現的邏輯鏈路116的類型,邏輯鏈路116可以具有不同的特性,所以耳機112可以基於邏輯鏈路116來從複數種操作模式中選擇用於錯誤減少的第一操作模式。例如,耳機112可以基於邏輯鏈路116包括ACL鏈路、A2DP鏈路、eSCO鏈路還是ISO鏈路來從複數種操作模式中選擇第一操作模式,因為與其他操作模式相比,所選擇的第一操作模式可以更適於特定類型的邏輯鏈路116的特性。
根據本案內容的技術的一個態樣,諸如耳機112之類的第一設備可以與第二設備(例如,無線設備102)建立與短程通訊相關聯的邏輯鏈路。第一設備可以接收被攜帶在邏輯鏈路上的第一封包。當被包括在第一封包中的第一PDU資料通過解碼校驗時,第一設備可以向第一設備的較高層發送第一PDU資料的至少一部分。當第一PDU資料未能通過解碼校驗時,第一設備可以基於邏輯鏈路來從複數種操作模式中決定用於糾錯的第一操作模式,第一設備可以在邏輯鏈路上接收一組重傳封包,該組重傳封包之每一者重傳封包包括作為第一PDU資料的重傳的相應PDU資料,並且第一設備可以基於被包括在第一封包中的第一PDU資料和被包括在該組重傳封包之每一者重傳封包中的相應PDU資料,來應用用於糾錯的第一操作模式。
在一些態樣中,第一設備可以決定邏輯鏈路的類型,其中用於糾錯的第一操作模式是基於邏輯鏈路的類型來決定的。在一個態樣中,邏輯鏈路的類型是基於存取位址或由在邏輯鏈路上接收的至少一個封包的至少一個標頭指示的邏輯傳輸位址(LT_ADDR)中的至少一項來決定的。
在一個態樣中,邏輯鏈路包括ACL鏈路或A2DP鏈路中的一者,並且基於ACL鏈路或A2DP鏈路,第一操作模式包括軟合併模式。在一個態樣中,當第一封包與和用於對重傳封包之每一者重傳封包進行解密的相應亂數匹配的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併模式時,基於第一封包的包括第一有效負荷資料和第一MIC值的第一PDU資料,並且進一步基於該組重傳封包之每一者重傳封包的包括相應有效負荷資料和相應MIC值的相應PDU資料,來應用用於糾錯的第一操作模式。在一個此種態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料被解密。在另一態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料仍然是加密的。
在一個態樣中,當第一封包與不同於與對該組重傳封包中的至少一個重傳封包的解密相關聯的相應亂數、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併模式時,基於被包括在第一封包的第一PDU資料中的第一有效負荷資料,並且進一步基於被包括在該組重傳封包之每一者重傳封包的相應PDU資料中的相應有效負荷資料,來應用用於糾錯的第一操作模式。在一個此種態樣中,當第一封包的第一PDU資料包括第一MIC值時,並且當該組重傳封包之每一者重傳封包的相應PDU資料包括相應MIC值時,在不利用第一MIC值的情況下並且在不利用相應MIC值之每一者MIC值的情況下應用用於糾錯的第一操作模式。在一個態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料被解密。
在一個態樣中,當用於糾錯的第一操作模式包括軟合併模式時,第一設備將經由以下操作來應用用於糾錯的第一操作模式:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該組軟值之每一者軟值是基於第一封包的第一PDU資料的相應位元的三位元帶符號軟值;針對該組重傳封包之每一者重傳封包,將該組軟值之每一者軟值和帶符號值累加在該組緩衝器之每一者緩衝器中,帶符號值之每一者帶符號值是基於該組重傳封包之每一者重傳封包的相應PDU資料的對應位元的;將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該組估計位元值是否通過解碼校驗。在一個此種態樣中,該組緩衝器之每一者緩衝器受到最小閾值和最大閾值約束,並且被累加在該組緩衝器之每一者緩衝器中的該組軟值之每一者累加的軟值不超過最小閾值並且不超過最大閾值。
在另一態樣中,邏輯鏈路包括eSCO鏈路,並且基於eSCO鏈路,第一操作模式包括品質位元遮罩(QBm)模式。當用於糾錯的第一操作模式包括QBm模式時,第一設備將經由以下操作來應用用於糾錯的第一操作模式:基於第一封包的第一PDU資料的第一組位元、該組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數;基於執行逐位元多數函數來決定一組估計位元值;及基於該組估計位元值來決定一組位元錯誤品質度量。
在另一態樣中,邏輯鏈路包括ISO鏈路,並且基於ISO鏈路,用於糾錯的第一操作模式包括品質位元遮罩混合(QBm-H)模式。在一個此種態樣中,當用於糾錯的第一操作模式包括QBm-H模式時,第一設備將經由以下操作來應用用於糾錯的第一操作模式:基於第一封包的第一PDU資料的第一組位元、該組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數;基於執行逐位元多數函數來決定一組估計位元值;基於該組估計位元值來決定一組位元錯誤品質度量;及當在該組重傳封包中的該一個重傳封包和該另一重傳封包之後接收的一或多個額外重傳封包包括第一封包的第一PDU資料的重傳時,丟棄該一或多個額外重傳封包。在一個此種態樣中,當用於糾錯的第一操作模式包括QBm-H模式,並且當該組重傳封包包括三個或更多個重傳封包時,第一設備將經由以下操作來應用用於糾錯的第一操作模式:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該組軟值之每一者軟值是基於第一封包的第一PDU資料的相應位元的三位元帶符號軟值;針對該組重傳封包之每一者重傳封包,將該組軟值之每一者軟值和帶符號值累加在該組緩衝器之每一者緩衝器中,帶符號值之每一者帶符號值是基於該組重傳封包之每一者重傳封包的相應PDU資料的對應位元的;將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該組估計位元值是否通過解碼校驗。
在一些態樣中,第一設備可以基於一組估計位元值來產生估計CRC值,該組估計位元值是基於應用用於糾錯的第一操作模式來獲得的,該組估計位元值被估計為包括在第一PDU資料中,並且第一設備可以將估計CRC值與被包括在該組重傳封包中的最近接收到的重傳封包中的第一CRC值進行比較,並且基於將估計CRC值與第一CRC值進行比較,該組估計位元值通過解碼校驗,並且其中當所產生的CRC值不同於第一CRC值時,該組估計位元值未能通過解碼校驗。
在一些態樣中,第一設備可以基於該組估計位元值來產生估計MIC值,並且第一設備可以將估計MIC值與被包括在該組重傳封包中的最近接收到的重傳封包中的第一MIC值進行比較,並且當估計CRC值與第一CRC值匹配並且估計MIC值與第一MIC值匹配時,該組估計位元值通過解碼校驗,並且其中當估計CRC值不同於第一CRC值時,或者當估計MIC值不同於第一MIC值時,該組估計位元值未能通過解碼校驗。
在一個態樣中,第一設備可以向第一設備的較高層發送一組估計位元值,該組估計位元值是基於應用用於糾錯的第一操作模式來獲得的,該組估計位元值被估計為第一PDU資料的至少一部分。在一個態樣中,第一設備可以基於應用用於糾錯的第一操作模式來決定與該組估計位元值相關聯的一組位元錯誤,並且第一設備可以向第一設備的較高層發送指示以下各項中的至少一項的至少一個位元錯誤品質度量:該組位元錯誤的一組位置,或該組位元錯誤的數量。
當與另一設備(例如,中央無線設備102或者一或多個周邊設備104、106、108、110、112、114)進行通訊時,所圖示的無線設備中的一者或多者(例如,中央無線設備102、耳機112)可以包括可以用於如本文所描述的糾錯技術的適當的邏輯單元、電路系統、介面、處理器及/或代碼。無線設備102可以進行操作以與周邊設備104、106、108、110、112、114中的至少一者建立短程無線通訊連接,並且無線設備102可以與周邊設備104、106、108、110、112、114中的至少一者建立邏輯鏈路116。例如,關於BT,無線設備102可以經由鏈路管理器(LM)與預期的周邊設備104、106、108、110、112、114建立邏輯鏈路116。例如,關於BLE,無線設備102可以經由鏈路層(LL)與預期的周邊設備104、106、108、110、112、114建立邏輯鏈路116。
再次參照圖1,在某些態樣中,中央無線設備102及/或周邊設備(例如,耳機112)可以被配置為建立邏輯鏈路116,並且基於邏輯鏈路來從用於糾錯的複數種操作模式中選擇操作模式,如本文所描述的。
圖2是根據本案內容的某些態樣的無線設備200的方塊圖。無線設備200可以對應於例如圖1中的周邊設備104、106、108、110、112、114之一及/或無線設備102。在某些配置中,無線設備200可以是例如BT及/或BLE設備,其被配置為應用用於糾錯的第一操作模式,第一操作模式是基於與另一無線設備建立的邏輯鏈路來從用於糾錯的複數種操作模式中選擇的。
如圖2中所示,無線設備200可以包括諸如處理器202之類的處理元件,其可以執行用於無線設備200的程式指令。無線設備200亦可以包括顯示器電路系統204,其可以執行圖形處理並且向顯示器242提供顯示信號。處理器202亦可以耦合到記憶體管理單元(MMU)240,其可以被配置為從處理器202接收位址並且將彼等位址轉換為記憶體(例如,記憶體206、ROM 208、快閃記憶體210)及/或其他電路或設備(諸如顯示器電路系統204、無線電單元230、連接器介面220及/或顯示器242)中的位置。MMU 240可以被配置為執行記憶體保護和頁表轉換或建立。在一些實施例中,MMU 240可以作為處理器202的一部分被包括。
如圖所示,處理器202可以耦合到無線設備200的各種其他電路。例如,無線設備200可以包括各種類型的記憶體、連接器介面220(例如,用於耦合到電腦系統)、顯示器242及/或無線通訊電路系統(例如,用於Wi-Fi、BT、BLE等)。無線設備200可以包括用於執行與其他短程無線通訊設備(例如,BT設備、BLE設備等)的無線通訊的複數個天線235a、235b、235c、235d。
在某些態樣中,無線設備200可以包括被配置為進行以下操作的硬體和軟體元件(處理元件):例如使用本文描述的技術,針對錯誤來單獨地校驗資料封包的標頭以及執行對資料封包的多數表決。無線設備200亦可以包括用於控制短程無線通訊操作(例如,BT操作、BLE操作等)的韌體或其他硬體/軟體。另外,無線設備200可以儲存並且執行用於控制WLAN操作的WLAN軟體驅動器。
無線設備200可以被配置為例如經由執行儲存在記憶體媒體(例如,非暫時性電腦可讀取記憶體媒體)上的程式指令及/或經由硬體或韌體操作,來實現本文描述的糾錯技術的部分或全部。在其他實施例中,本文描述的糾錯技術可以至少部分地由可程式設計硬體元件(諸如現場可程式設計閘陣列(FPGA))來實現及/或作為特殊應用積體電路(ASIC)來實現。
在某些態樣中,無線電單元230可以包括被配置為控制用於各種相應的無線電存取技術(RAT)協定的通訊的單獨的控制器。例如,如圖2中所示,無線電單元230可以包括被配置為控制無線區域網路(WLAN)通訊的WLAN控制器250,以及被配置為控制短程通訊(例如,BT通訊、BLE通訊等)的短程通訊控制器252。共存介面254(例如,有線介面)可以用於在WLAN控制器250和短程通訊控制器252之間發送資訊。
在一些態樣中,WLAN控制器250及/或短程通訊控制器252中的一者或多者可以被實現為硬體、軟體、韌體或其某種組合。
在某些態樣中,WLAN控制器250可以被配置為使用所有天線235a、235b、235c、235d,利用WLAN鏈路來與第二設備進行通訊。在某些配置中,短程通訊控制器252可以被配置為實現短程無線通訊協定堆疊(諸如BT堆疊(例如,參見下文的圖3A)及/或BLE堆疊(例如,參見下文的圖3B)),以及使用天線235a、235b、235c、235d中的一或多個天線來與至少一個第二無線設備進行通訊。短程通訊控制器252可以被配置為應用用於糾錯的第一操作模式,第一操作模式是基於與另一無線設備建立的邏輯鏈路來從用於糾錯的複數種操作模式中選擇的。
圖3A圖示根據本案內容的某些態樣的可以在無線設備中實現的BT協定堆疊300。例如,BT協定堆疊300可以由例如在圖2中所示的處理器202、記憶體206、快閃記憶體210、ROM 208、無線電單元230及/或短程通訊控制器252中的一者或多者來實現。
參照圖3A,BT協定堆疊300可以被組織為下層、中間層和上層。BT協定堆疊300的下層可以包括控制器堆疊306,其尤其可以用於硬體介面管理、鏈路建立和鏈路管理。BT協定堆疊300的中間層可以包括主機堆疊304,其尤其可以用於應用(層)介面管理以允許應用(層)存取短程無線通訊。BT協定堆疊300的較高層可以包括應用層302,其可以包括一或多個應用程式以及允許一或多個應用程式使用BT通訊的一或多個簡介。
控制器堆疊306可以包括實體(PHY)層322。PHY層322可以包括例如無線電單元及/或基頻處理器。在一些態樣中,PHY層322可以定義用於在連接BT設備的實體鏈路或通道上傳輸位元串流的機制。位元串流可以被分類為編碼字元或符號,並且被轉換為在無線傳輸媒體上傳輸的資料封包。PHY層322可以向無線傳輸媒體提供電、機械及/或程序介面。PHY層322可以負責將資料調制和解調為射頻(RF)信號以經由空中傳輸。PHY層322可以描述無線設備的接收器/傳輸器的實體特性。實體特性可以包括調制特性、射頻容限、靈敏度級別等。
控制器堆疊306亦可以包括鏈路控制器320。鏈路控制器320可以負責適當地將用於提供給PHY層322以及從PHY層322獲得的資料進行格式化。此外,鏈路控制器320可以執行鏈路(例如,邏輯鏈路,其包括ACL鏈路、A2DP鏈路、SCO鏈路、eSCO鏈路、ISO鏈路等)的同步。鏈路控制器320可以負責執行由鏈路管理器318發出的命令和指令,其包括建立和維護由鏈路管理器318指示的鏈路。
鏈路管理器318可以將主機控制器介面(HCI)316命令轉換為控制器級別的操作(例如,基頻級別的操作)。除了其他任務之外,鏈路管理器318亦可以負責建立和配置鏈路以及管理功率改變請求。每種類型的邏輯鏈路(例如,ACL鏈路、A2DP鏈路、SCO鏈路、eSCO鏈路、ISO鏈路等)可以與特定的封包類型相關聯。例如,SCO鏈路可以提供針對在主設備和從設備之間的通訊所預留的通道頻寬,並且支援在不進行重傳的情況下對資料封包的定期、週期性交換。eSCO鏈路可以提供針對在主設備和從設備之間的通訊所預留的通道頻寬,並且支援在重傳的情況下對資料封包的定期、週期性交換。從建立在主設備和從設備之間的連接開始,在主設備和從設備之間就可以存在ACL鏈路,並且用於ACL鏈路的資料封包除了有效負荷之外,亦可以包括編碼資訊。
鏈路管理器318可以經由主機控制器介面(HCI)316與主機堆疊304進行通訊,例如,鏈路管理器318可以將HCI 316命令轉換為控制器級別的操作(例如,基頻級別的操作)。HCI 316可以充當在BT協定堆疊300的下層(例如,控制器堆疊306)和BT協定堆疊的其他層(例如,主機堆疊304和應用層302)之間的邊界。BT規範可以定義標準HCI以支援跨兩個單獨的處理器而實現的BT系統。例如,在電腦上的BT系統可以使用BT系統本身的處理器來實現堆疊的下層(例如,PHY層322、鏈路控制器320及/或鏈路管理器318)。BT系統可以使用BT元件的處理器來實現其他層(例如,主機堆疊304和應用層302)。然而,在一些態樣中,BT系統可以是在同一處理器上實現的,並且此種BT系統可以被稱為「無主機」。
主機堆疊304可以至少包括邏輯鏈路控制和調適協定(L2CAP)層314、服務探索協定(SDP)層312、射頻通訊(RFCOMM)層310和物件交換(OBEX)層316。L2CAP層314是在HCI 316之上實現的,並且可以經由HCI 316進行通訊。L2CAP層314主要可以負責建立跨一些現有鏈路(例如,包括ACL鏈路的邏輯鏈路)的連接及/或請求一些鏈路(例如,包括ACL鏈路的邏輯鏈路)(若彼等鏈路尚不存在的話)。此外,L2CAP層314可以在不同的較高層協定(諸如SDP協定和RFCOMM協定)之間實現多工,此舉可以允許不同的應用程式使用單個鏈路(例如,包括ACL鏈路的邏輯鏈路)。另外,L2CAP層314可以將從較高層接收的資料封包重新封裝為較低層所期望的格式。L2CAP層314可以採用通道的概念來追蹤資料封包來自何處以及資料封包應當去往何處。通道可以是在傳輸設備(例如,主設備)處的L2CAP層314與在接收設備(例如,從設備)處的另一L2CAP層314之間的資料流程或串流的邏輯表示。
SDP層312可以定義針對BT服務的伺服器和客戶端兩者的動作。BT規範將服務定義為可以是可由另一(遠端)BT設備使用的任何特徵。SDP客戶端可以使用L2CAP鏈路上的預留通道來與SDP伺服器進行通訊,以探索何者服務是可用的。當SDP客戶端找到所期望的服務時,SDP客戶端可以請求單獨的連接以使用該服務。預留通道可以專用於SDP通訊,以使得設備知道如何連接到任何其他設備上的SDP服務。SDP伺服器可以維護SDP資料庫,SDP資料庫可以包括描述SDP伺服器所提供的服務的一組服務記錄。服務記錄可以包含服務的通用唯一辨識碼(UUID)以及描述SDP客戶端可以如何連接到服務的資訊。
RFCOMM層310可以模擬串列電纜線設置和RS-232序列埠的狀態。RFCOMM層310可以經由L2CAP層314連接到BT協定堆疊300的下層。經由提供序列埠模擬,RFCOMM層310可以支援傳統的序列埠應用程式。RFCOMM層310亦可以支援物件交換(OBEX)層308。
OBEX層308可以定義可以由設備用來交換資料物件的通訊協定,並且資料物件亦可以是由OBEX層308來定義的。希望與另一設備建立OBEX通訊通信期的BT設備可以被視為客戶端設備。客戶端初始可以發送一或多個SDP請求,以確保另一設備可以充當OBEX服務的伺服器。若伺服器設備可以提供OBEX服務,則伺服器設備可以利用伺服器設備的OBEX服務記錄進行回應。OBEX服務記錄可以包含客戶端設備可以用來建立RFCOMM通道的RFCOMM通道號。在兩個設備之間的進一步通訊可以是以封包來傳送的,封包可以包含請求、回應及/或資料。封包的格式可以是由OBEX通信期協定來定義的。
應用層302可以包括至少一個應用程式326,其中使用者可以與應用程式326進行互動並且應用程式326可以存取BT通訊以用於各種功能。應用程式326可以經由可以描述各種不同類型的任務的一或多個簡介328來存取BT通訊。經由遵循一或多個簡介328的程序,應用程式326可以根據BT規範來使用BT通訊。
圖3B圖示可以在BLE設備中實現的BLE協定堆疊350。例如,BLE協定堆疊350可以由例如在圖2中所示的處理器202、記憶體206、快閃記憶體210、ROM 208、無線電單元230及/或短程通訊控制器252中的一者或多者來實現。
BLE協定堆疊350可以被組織為三層,其可以包括應用層352、主機堆疊354和控制器堆疊356。控制器堆疊356在BLE協定堆疊350中可以位於主機堆疊354和應用層352之下。控制器堆疊356可以包括PHY層372和LL 370。
PHY層372可以定義用於在連接BLE設備的實體鏈路上傳輸位元串流的機制。位元串流可以被分類為編碼字元或符號,並且被轉換為在傳輸媒體上傳輸的資料封包。PHY層372可以提供到傳輸媒體的電、機械和程序介面。電連接器的形狀和特性、用於傳輸的頻帶、調制方案以及類似的低級參數可以是由PHY層372來指定的。
LL 370負責在PHY層372上的低級通訊。LL 370管理用於傳輸和接收資料封包的序列和時序,以及使用LL協定來與其他設備關於連接參數和資料流程控制進行通訊。LL 370亦提供了守門功能,以限制暴露以及與其他設備的資料交換。若配置了過濾,則LL 370維護允許設備列表,並且將忽略來自不在列表上的設備的針對資料交換的所有請求。LL 370亦可以降低功耗。在一些態樣中,LL 370可以包括公司的專有LL,其可以用於探索同級設備(例如,與該公司相關聯的其他設備),以及與其建立安全的通訊通道。在某些態樣中,LL 370可以負責在WPAN中的設備之間傳輸資料封包。每個資料封包可以包括存取位址,存取位址指定用於攜帶資料封包的邏輯傳輸的類型。在主設備和從設備之間可以存在邏輯傳輸。此外,一些邏輯傳輸可以攜帶多個邏輯鏈路。
BLE協定堆疊350可以包括HCI 374,其可以充當在BLE協定堆疊350的下層(例如,控制器堆疊356)和BLE協定堆疊的其他層(例如,主機堆疊354和應用層352)之間的邊界。另外,主機堆疊354可以使用HCI 374來與無線設備中的BLE控制器(例如,圖2中的短程通訊控制器252)進行通訊。LL 370可以使用HCI 374來與BLE協定堆疊350的主機堆疊354進行通訊。儘管一些BLE系統可能是「無主機」的,因為主機堆疊354和控制器堆疊356可以是在同一處理器上實現的,但是HCI 374亦可以允許主機堆疊354與不同的控制器堆疊356進行通訊,諸如當控制器堆疊356是在第二處理器上實現的時。
主機堆疊354可以包括通用存取簡介(GAP)360、通用屬性協定(GATT)362、安全管理器(SM)364、屬性協定(ATT)366和L2CAP層368。L2CAP層368可以將來自上層的多個協定封裝成資料封包格式(反之亦然)。L2CAP層368亦可以將來自上層的具有大資料有效負荷的封包分割成多個封包,其中該資料有效負荷被分段成較小尺寸的資料有效負荷,較小尺寸的資料有效負荷適配傳輸側的最大有效負荷尺寸(例如,二十七位元組)。類似地,L2CAP層368可以接收攜帶已經被分段的資料有效負荷的多個資料封包,並且L2CAP層368可以將經分段的資料有效負荷組合成單個資料封包,其攜帶將被發送給上層的資料有效負荷(例如,應用層352)。
ATT 366包括基於與BLE設備相關聯的出於特定目的(例如,監測心率、溫度、廣播通告等)而配置的屬性的客戶端/伺服器協定。可以由同級設備探索、讀取和寫入屬性。在ATT 366上執行的一組操作可以包括但不限於錯誤處理、伺服器配置、檢視資訊、讀操作、寫操作、佇列寫等。ATT 366可以形成在BLE設備之間的資料交換的基礎。
SM 364可以負責設備配對和金鑰分發。由SM 364實現的安全性管理器協定可以定義如何執行與對方BLE設備的SM的通訊。SM 364提供了可以由BLE協定堆疊350的其他元件使用的額外加密功能。在BLE中使用的SM 364的架構被設計為經由將工作轉移到假定更加強大的中央設備來使對周邊設備的依賴要求最小化。BLE使用配對機制來進行金鑰分發。SM 364提供了不僅用於對資料進行加密而且用於提供資料認證的機制。
在BLE協定堆疊350中的主機堆疊354之上,應用層352可以包括應用程式358,諸如與BLE協定堆疊350的主機堆疊354對接以經由BLE通訊實現各種功能的使用者應用程式。
返回參照主機堆疊354,GATT 362可以使用用於探索服務以及用於在同級設備上讀取和寫入特徵值的屬性協定來提供服務框架。GATT 362可以例如經由簡介來與應用程式358進行對接,簡介可以定義一些屬性和對於要在BLE通訊中使用該等屬性而言所需要的任何許可。GAP 360可以提供用於應用程式358啟動、建立和管理與其他BLE設備的連接的介面。
在一些態樣中,無線設備(例如,無線設備102、無線設備200等)可以被配置為根據不同的標準及/或協定進行通訊。例如,無線設備可以被配置有用於短程無線通訊的BT和BLE兩者。因此,無線設備可以被配置有BT協定堆疊300和BLE協定堆疊350兩者。在一些態樣中,一或多個層可以被配置用於在BT協定堆疊300和BLE協定堆疊350兩者中使用,例如,協定堆疊300、350的L2CAP層314、368可以被配置用於使用BT或BLE的雙模式短程無線通訊。
圖4A是圖示根據本案內容的某些態樣的資料封包400的圖。資料封包可以與各種短程無線通訊技術(諸如BT)一起使用。資料封包400可以包括前序信號402、同步字404、尾部406、PDU 412和CRC 414。在某些配置中,資料封包400可以不包括CRC 414。
在某些配置中,PDU 412可以包括標頭422、有效負荷424和MIC 426。MIC包括可以用於對資料封包進行認證的資訊,例如當資料封包被加密時。換言之,接收設備可以使用MIC,來確認訊息來自所述傳輸設備(例如,資料封包真實性)以及確認有效負荷424尚未被改變(例如,資料封包完整性)。MIC經由使得同樣擁有秘密金鑰的接收設備能夠偵測到對有效負荷424的任何改變,從而保護資料封包400的有效負荷完整性和真實性兩態樣。
在一些態樣中,PDU 412的標頭422可以包括複數個欄位,其至少包括LT_ADDR 428。LT_ADDR可以指示邏輯傳輸位址。LT_ADDR 428可以與邏輯鏈路相關聯。例如,被包括在LT_ADDR 428中的邏輯傳輸位址可以指示邏輯鏈路的類型(例如,ACL、A2DP、eSCO、ISO等)。
圖4B是圖示根據本案內容的某些態樣的資料封包450的圖。資料封包可以與各種短程無線通訊技術(諸如BLE)一起使用。資料封包450可以包括前序信號452、存取位址454、PDU 456和CRC 458。在某些配置中,資料封包450可以不包括CRC 458。
在一些態樣中,存取位址454可以設置鏈路層(例如,鏈路層370)連接的位址。例如,存取位址454可以包括指示邏輯鏈路的類型(例如,ACL、A2DP、eSCO、ISO等)的位址。
在某些配置中,PDU 456可以包括標頭462、有效負荷464和MIC 468。MIC包括可以用於對資料封包進行認證的資訊,例如當資料封包被加密時。在一些態樣中,PDU 456的標頭462可以包括複數個欄位,其至少包括邏輯鏈路辨識符(LLID)。
圖5圖示根據本案內容的各個態樣的無線通訊系統500。無線通訊系統500可以包括兩個設備502、550。在一些態樣中,一個設備550可以是源設備。例如,設備550可以是圖1中的設備102。另一設備502可以是槽設備。例如,設備502可以是圖1中的耳機112。本文中,設備502可以被稱為槽設備502,而設備550可以被稱為源設備;然而,該等元件符號並非意欲限制本案內容的範疇。
槽設備502可以被配置為利用用於安全性及/或完整性的一或多個機制來傳輸封包。因此,槽設備502可以包括加密元件504、CRC產生元件506和白化元件508。加密元件504可以根據多種不同的加密演算法或協定(諸如高級加密標準(AES)或帶有密碼區塊鏈訊息認證碼(CBC-MAC)的AES計數器(CCM)(AES-CCM))中的任一種來對封包進行加密。在一個態樣中,加密元件504可以基於要傳輸的資料來產生MIC值,並且加密元件504可以將MIC值附加在要被包括在封包的有效負荷中的資料上。
CRC產生元件506可以被配置為基於可以包括所附加的MIC值的資料來產生CRC值。在一些態樣中,CRC產生元件506可以基於PDU(例如,包括標頭、有效負荷和MIC值的PDU)來產生CRC值。CRC值可以在PDU之後被附加到封包。白化元件508可以被配置為諸如經由對資料應用白化變換來對資料進行白化。隨後,可以將封包提供給RF介面,RF介面可以將資料提供給RF前端電路系統,以經由槽設備502的傳輸鏈進行傳輸。
根據不同的態樣,槽設備502可以包括更多或更少的元件。例如,槽設備502可以包括用於前向糾錯(FEC)編碼的元件,其可以利用FEC對封包進行編碼(例如,使用糾錯碼,以利用冗餘對封包進行編碼)。用於FEC編碼的元件可以在邏輯上出現在白化元件508之後,例如使得在資料白化之後利用FEC對封包進行編碼。在另一實例中,槽設備502可以包括用於模式映射的元件。對於模式映射,可以將封包的位元碼映射到輸入位元,從而導致與FEC編碼有關的資料擴展,以促進接收器對資料的恢復。因此,用於模式映射的元件可以在邏輯上出現在用於FEC編碼的元件之後。
在又一實例中,槽設備502可以包括用於編碼的元件,其可以在傳輸之前對封包的至少一部分進行編碼。用於編碼的元件可以在邏輯上出現在白化元件508之後,例如使得在資料白化之後對封包進行編碼。
當槽設備502接收封包時,RF前端電路系統可以經由槽設備502的接收鏈來接收該封包,並且RF介面510可以將該封包提供給去白化元件512。去白化元件512可以對被包括在所接收的封包的PDU中的資料進行去白化,此舉可以包括應用用於對資料進行白化的白化變換的逆變換。
在一些態樣中,槽設備502可以包括用於FEC解碼的元件,其可以利用FEC對封包進行解碼(例如,使用糾錯碼來解碼封包中的冗餘)。用於FEC解碼的元件可以在邏輯上出現在去白化元件512之前,例如使得在資料去白化之前利用FEC對封包進行解碼。在另一實例中,槽設備502可以包括用於模式解映射的元件。對於模式映射,可以將封包的位元碼解映射到資料位元,例如以促進槽設備502對資料的恢復。因此,用於模式解映射的元件可以在邏輯上出現在用於FEC解碼的元件之前。
在又一態樣中,槽設備502可以包括用於解碼的元件,其可以在接收之後對封包的至少一部分進行解碼。用於解碼的元件可以在邏輯上出現在去白化元件512之前,例如使得在資料去白化之前對封包進行解碼。
可以將接收到的封包(包括初始資料封包和初始資料封包的一或多個重傳)提供給糾錯元件520。糾錯元件520可以被配置為偵測重傳封包中的錯誤,如在本案內容中所描述的。糾錯元件520可以嘗試糾正在重傳封包中偵測到的任何錯誤,並且若糾錯元件520無法產生無錯誤的封包來糾正錯誤,則糾錯元件520可以產生一組位元錯誤品質度量。
糾錯元件520可以將(例如,基於初始封包和重傳封包來估計的)封包以及(若適用的話)該組位元錯誤品質度量提供給CRC校驗元件514。CRC校驗元件514可以基於來自糾錯元件520的封包來產生CRC值,並且將所產生的CRC值與在該封包中指示的CRC值進行比較。若CRC校驗元件514決定所產生的CRC值與在該封包中指示的CRC值匹配,則該封包可以通過解碼校驗的至少一部分,並且CRC校驗元件514可以將該封包提供給解密元件516。
若CRC校驗元件514決定所產生的CRC值與在該封包中指示的CRC值不匹配,則該封包可能未能通過解碼校驗。在此種情況下,仍然可以將該封包與該組位元錯誤品質度量一起提供給較高層(例如,CODEC),以嘗試重建資料(甚至在具有錯誤的情況下),或者槽設備502可以向源設備550傳輸NACK訊息以指示該封包未被成功解碼。
當解密元件516獲得封包時,解密元件516可以應用任何數量的解密演算法或協定中的至少一種(諸如AES-CCM、E0等)以便對封包進行解密。隨後,可以將該封包提供給較高層(例如,CODEC),以便由槽設備502輸出,例如以用於對音訊或視訊進行串流。
槽設備502的解密元件516和源設備550可以商定要用於對資料封包進行解密的至少一個亂數。在一個態樣中,可以在解密元件516和源設備550之間針對至少一組封包(諸如初始資料封包562和一組重傳資料封包564)商定一個亂數。在另一態樣中,解密元件516和源設備550可以商定用於對一組資料封包(例如,初始資料封包562)進行解密的第一亂數和用於對另一組資料封包(例如,一組重傳資料封包564)進行解密的至少一個其他亂數。
對於對封包的傳送,源設備550可以與槽設備502建立短程無線通訊鏈路。短程無線通訊鏈路可以是例如BT鏈路或BLE鏈路。與此相關地,源設備550和槽設備502可以建立邏輯鏈路552。在各個態樣中,邏輯鏈路552可以是ACL鏈路、A2DP鏈路、eSCO鏈路或ISO鏈路之一。源設備550可以在邏輯鏈路552上向槽設備502傳輸資料封包。在一些配置中,槽設備502可以利用回饋(諸如當資料封包被槽設備502成功解碼時利用ACK訊息,或者當資料封包未被成功解碼時利用NACK訊息)來對接收到的資料封包進行回應。
源設備550可以傳輸可以由槽設備502接收的第一封包560。第一封包560可以與邏輯鏈路552的建立相關聯。第一封包560可以包括標頭部分。在一個態樣中,標頭部分可以被包括在第一封包560的PDU中(例如,封包400的PDU 412的標頭422)。在另一態樣中,第一封包560可以包括與PDU(例如,PDU 456)分開的存取位址(例如,存取位址454)。
封包可以包括指示邏輯鏈路552的類型的位址。例如,第一封包560可以包括包含LT_ADDR(例如,用於BT通訊)的標頭部分,或者第一封包560可以包括存取位址(例如,用於BLE通訊)。槽設備502可以基於存取位址或在第一封包560的標頭部分中指示的LT_ADDR來決定邏輯鏈路552的類型。例如,槽設備502可以決定邏輯鏈路552是ACL鏈路、A2DP鏈路、eSCO鏈路還是ISO鏈路。
當邏輯鏈路552被建立時,槽設備502可以被配置為在所建立的邏輯鏈路552上接收資料封包。例如,源設備550可以在邏輯鏈路552上傳輸初始資料封包562。初始資料封包562可以包括例如要由槽設備502輸出的資料。例如,初始資料封包562可以包括音訊資料、視訊資料等。
槽設備502可以在RF介面510處接收初始資料封包562。去白化元件512可以獲得由RF介面510提供的初始資料封包562,並且去白化元件512可以對初始資料封包562的資料(例如,PDU)進行去白化。
隨後,槽設備502可以對初始資料封包562應用解碼校驗。當接收到初始資料封包562時,糾錯元件520可以獲得初始資料封包562,但是可以避免應用糾錯,直到應用解碼校驗例如以決定初始資料封包562是否包括一或多個錯誤為止。解碼校驗可以包括CRC驗證和(若適用的話)MIC驗證(例如,當初始資料封包被加密時)。
CRC校驗元件514可以獲得初始資料封包562。CRC校驗元件514可以基於初始資料封包562(例如,基於有效負荷以及(若適用的話)被包括在初始資料封包562的PDU中的MIC值)來產生CRC值。CRC校驗元件514可以將所產生的CRC值與在初始資料封包562中指示的CRC值(例如,在初始資料封包562的PDU之後)進行比較。若所產生的CRC值與在初始資料封包562中指示的CRC值匹配,則初始資料封包562可以是針對CRC而言而被驗證的並且可以至少部分地通過解碼校驗。可以將經CRC驗證的初始資料封包562提供給解密元件516。若所產生的CRC值與在初始資料封包562中指示的CRC值不匹配,則CRC校驗元件514可以決定初始資料封包562沒有被CRC驗證且未能通過解碼校驗。
若初始資料封包被加密,則解密元件516可以對初始資料封包562進行解密並且獲得經解密的有效負荷和經解密的MIC值。解密元件516可以基於經解密的有效負荷來產生MIC值,並且將所產生的MIC值與經解密的MIC值進行比較。若所產生的MIC值與經解密的MIC值匹配(並且CRC校驗元件514已經驗證了初始資料封包562),則初始資料封包562可以通過解碼校驗。
當初始資料封包通過解碼校驗時,可以將初始資料封包562的PDU的有效負荷傳遞給較高層(例如,接收器緩衝器、CODEC等)。在一些態樣中,槽設備502可以向源設備550傳輸指示ACK的回饋訊息,以指示初始資料封包562已經被成功接收和解碼。
若所產生的MIC值與經解密的MIC值不匹配,則初始資料封包562可能未能通過解碼校驗(即使初始資料封包562可以被CRC驗證)。當初始資料封包562未能通過解碼校驗時,則糾錯元件520可以獲得一組重傳封包,以用於對初始資料封包562進行糾錯。在一些態樣中,槽設備502可以向源設備傳輸指示NACK的回饋訊息582,以指示初始資料封包562未被成功解碼。
源設備550可以傳輸一組重傳資料封包564。例如,源設備可以回應於指示從槽設備502接收的指示NACK的回饋訊息582,來傳輸該組重傳資料封包564中的第一重傳資料封包。槽設備502可以接收該組重傳資料封包564中的第一重傳資料封包,並且糾錯元件520可以從去白化元件512獲得該組重傳資料封包564中的第一重傳資料封包。
糾錯元件520可以被配置有用於對資料封包進行糾錯的複數種操作模式。用於糾錯的複數種操作模式可以至少包括軟合併模式、品質位元遮罩(QBm)模式和品質位元遮罩混合(QBm-H)模式。本文可以描述操作模式的說明性態樣。
糾錯元件520可以選擇並且應用用於糾錯的複數種操作模式之一。為了選擇該種操作模式,糾錯元件520可以首先決定邏輯鏈路552的類型。糾錯元件520可以基於可以被包括在第一封包560及/或初始資料封包562中的存取位址或LT_ADDR中的至少一項來決定邏輯鏈路552的類型。存取位址或LT_ADDR可以向糾錯元件520指示邏輯鏈路552的類型。
複數種操作模式中的每種操作模式可以與各類型的邏輯鏈路中的至少一種相關聯。例如,當邏輯鏈路552包括ACL鏈路或A2DP鏈路時,糾錯元件520可以選擇軟合併模式。當邏輯鏈路552包括eSCO鏈路時,糾錯元件520可以選擇QBm模式。當邏輯鏈路552包括ISO鏈路時,糾錯元件520可以選擇QBm-H模式。當初始資料封包562未能通過解碼校驗時(例如,未能通過CRC驗證及/或未能通過MIC驗證),糾錯元件520可以應用所選擇的操作模式526。
在操作模式526的各個態樣中,若初始資料封包562和該組重傳資料封包564被加密,則可以將所選擇的操作模式526應用於資料封包562、564的經加密的PDU或者資料封包562、564的經解密的PDU。此外,可以將所選擇的軟合併操作模式526應用於資料封包562、564的PDU的有效負荷(而沒有MIC),或者應用於資料封包562、564的PDU的有效負荷和MIC兩者。
當被商定用於對初始資料封包562進行解密的第一亂數與被商定用於對該組重傳資料封包564之每一者重傳資料封包進行解密的一或多個相應亂數匹配時,則可以將所選擇的軟合併操作模式526應用於初始資料封包562以及該組重傳資料封包564的有效負荷和MIC值兩者。當被商定用於對初始資料封包562進行解密的第一亂數與被商定用於對該組重傳資料封包564中的至少一個重傳資料封包進行解密的至少一個亂數不同時,則可以將所選擇的軟合併操作模式526僅應用於初始資料封包562和該組重傳資料封包564的PDU資料的有效負荷。換言之,可以從對所選擇的軟合併操作模式562的應用中排除被包括在初始資料封包562和該組重傳資料封包564的PDU資料中的MIC值。
在對所選擇的軟合併操作模式526的應用中,糾錯元件520可以將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中。例如,可以將初始資料封包562的每個位元映射到三位元帶符號軟值。亦即,可以將初始資料封包562的PDU資料(例如,有效負荷和(若適用的話)MIC值)所包括的位元陣列之每一者位元作為三位元帶符號軟值儲存在緩衝器陣列之每一者緩衝器中。換言之,可以將初始資料封包562的PDU資料的位元i
作為三位元帶符號軟值儲存在緩衝器索引i
中。可以將初始資料封包562的PDU資料的1位元儲存為-1軟值(例如,-'3sd1),並且可以將初始資料封包562的PDU資料的0位元儲存為0軟值(例如,+'3sd0,並且0軟值可以被視為正符號軟值)。
關於對所選擇的軟合併操作模式526的應用,針對該組重傳資料封包564之每一者重傳資料封包,可以將被儲存在緩衝器中的每一者中的、該組軟值之每一者軟值以基於該組重傳資料封包564之每一者重傳資料封包的PDU資料的對應位元的另一三位元帶符號軟值進行累加。例如,可以將該組重傳資料封包564中的第一重傳資料封包的PDU資料的位元i
以三位元帶符號軟值累加在緩衝器索引i
中。可以將該組重傳資料封包564中的第一重傳資料封包的PDU資料的1位元累加為-1軟值(例如,-'3sd1),並且可以將該組重傳資料封包564中的第一重傳資料封包的PDU資料的0位元累加為+1軟值(+3'sd1)。
在一些態樣中,該組緩衝器可以在最小值和最大值處達到飽和,此舉可以防止緩衝器欠位或溢出。例如,每個緩衝器可以飽和達到+3(+3'sd3)的最大值,並且飽和達到為-4(-3'sd4)的最小值。因此,緩衝器索引i
可以不超過最小值或最大值,並且來自該組重傳資料封包564中的額外重傳資料封包的額外PDU資料的額外位元i
可以使得緩衝器索引i
中的軟值保持在達到飽和的最小值或最大值處。
在將該組重傳資料封包564中的重傳資料封包的PDU資料的位元累加在該組緩衝器中之後,可以將該組緩衝器中的三位元帶符號軟值「硬切片(hard sliced)」為或映射到一組估計位元值中的一個一位元值。當緩衝器索引i
大於或等於0(3'sd0)時,則可以將0映射到該組估計值中的一個一位元值。當緩衝器索引i
小於0(3'sd0)時,則可以將1映射到該組估計值中的一個一位元值。此種估計的一組位元值可以表示對初始資料封包562的PDU資料(例如,有效負荷以及(若適用的話)MIC值)的估計。
隨後,可以將該組估計位元值作為資料封包提供給CRC校驗元件514和解密元件516,CRC校驗元件514和解密元件516可以決定該組估計位元值是否通過解碼校驗(例如,CRC驗證以及(若適用的話)MIC驗證)。例如,CRC校驗元件514可以基於該組估計位元值來產生CRC值,並且可以將所產生的CRC值與被包括在該組重傳資料封包564中的最近接收到的資料封包中的CRC值進行比較。類似地,解密元件516可以基於該組估計位元值來產生MIC值,並且可以將所產生的MIC值與被包括在該組重傳資料封包564中的最近接收到的資料封包中的MIC值進行比較。
若該組估計位元值使得資料封包通過解碼校驗,則可以將該組估計位元值提供給較高層(例如,接收器緩衝器、CODEC等)。在一個態樣中,若該組估計位元值使得資料封包未能通過解碼校驗,則槽設備502可以傳輸回饋訊息582,回饋訊息582指示針對該組重傳資料封包中的最近接收到的重傳資料封包的NACK。在另一態樣中,若該組估計位元值使得資料封包未能通過解碼校驗,則槽設備502仍然可以將該組估計位元值提供給較高層(例如,接收器緩衝器、CODEC等),而較高層潛在地可以恢復出位元錯誤或者可以隱藏位元錯誤。例如,當該組重傳資料封包564的數量受到最大閾值約束,接收到在最大閾值之前的最後重傳資料封包,並且該組估計位元值仍然未能通過解碼校驗時,仍然可以將該組估計位元值提供給較高層。
在一些態樣中,糾錯元件520可以基於該組估計位元值來產生一組位元錯誤品質度量,並且該組位元錯誤品質度量可以指示一或多個潛在位元錯誤的位置及/或數量,例如,以該組估計位元值的索引來指示,其中按照硬切片三位元帶符號軟值在該等索引處為0。糾錯元件520可以將該組位元錯誤品質度量提供給較高層,例如以促進對位元錯誤的恢復。
當邏輯鏈路552包括eSCO鏈路時,所選擇的操作模式526可以包括QBm模式。對於QBm模式,糾錯元件520可以基於初始資料封包562的PDU資料的位元、該組重傳資料封包564中的第一重傳資料封包的PDU資料的位元,以及該組重傳資料封包564中的第二重傳資料封包的PDU資料的位元,來執行逐位元多數函數。
根據逐位元多數函數的一個態樣,糾錯元件520可以將初始資料封包562擷取在第一緩衝器中,並且CRC校驗元件514和解密元件516(若適用的話)可以決定初始資料封包562是否通過解碼校驗。當初始資料封包562未能通過解碼校驗並且接收到該組重傳資料封包564中的第一重傳資料封包時,CRC校驗元件514和解密元件516(若適用的話)可以決定第一重傳資料封包是否通過解碼校驗。若是的話,則可以將第一重傳資料封包傳遞給較高層,並且糾錯元件520可以避免對初始資料封包562的任何進一步糾錯。
當第一重傳資料封包未能通過解碼校驗時,可以將初始資料封包562的PDU資料(例如,有效負荷和(若適用的話)MIC值)的每個位元與該組重傳資料封包564中的第一重傳資料封包的PDU資料的對應位元進行XOR(異或)運算。可以將每次XOR運算的結果擷取到第二緩衝器中。另外,可以基於初始資料封包562和第一重傳資料封包來計算一組位元錯誤品質度量。例如,該組位元錯誤品質度量可以指示位元錯誤的數量及/或位置,在該位置上,初始資料封包562的PDU資料中的位元i
與第一重傳資料封包的PDU資料中的對應位元i
不匹配。在一些態樣中,XOR運算的結果指示位元錯誤的位置。
此外,當第一重傳資料封包未能通過解碼校驗時,可以接收該組重傳資料封包564中的第二重傳資料封包。可以將該組重傳資料封包564中的第二重傳資料封包擷取到第三緩衝器中。CRC校驗元件514和解密元件516(若適用的話)可以決定第二重傳資料封包是否通過解碼校驗。若是的話,則可以將第二重傳資料封包傳遞給較高層,並且糾錯元件520可以避免對初始資料封包562的任何進一步糾錯。
當第二重傳資料封包未能通過解碼校驗時,可以將初始資料封包562的PDU資料(例如,有效負荷和(若適用的話)MIC值)的每個位元與該組重傳資料封包564中的第二重傳資料封包的PDU資料的對應位元進行XOR(異或)運算。可以將每次XOR運算的結果擷取到第四緩衝器中。對於第一傳輸資料封包和第二重傳資料封包,可以將第一重傳資料封包的PDU資料(例如,有效負荷和(若適用的話)MIC值)的每個位元與該組重傳資料封包564中的第二重傳資料封包的PDU資料的對應位元進行XOR(異或)運算。可以將每次XOR運算的結果擷取到第五緩衝器中。
基於初始資料封包562、第一重傳資料封包和第二重傳資料封包的PDU資料的位元,糾錯元件520可以產生一組位元錯誤品質度量。該組位元錯誤品質度量可以指示跨初始資料封包562、第一重傳資料封包和第二重傳資料封包的PDU資料的位元錯誤的數量及/或位置。例如,當兩個資料封包中的位元i
是相同的但是與另一資料封包中的位元i
不同時,則該組位元錯誤品質度量可以指示位元i
在該組估計位元值中可能是錯誤的。
基於第二、第四和第五緩衝器中的XOR運算的結果,糾錯元件520可以執行逐位元多數表決。糾錯元件520可以基於經由以下操作的逐位元多數表決來產生一組估計位元值:決定該組估計位元值中的位元i
等於該等資料封包中的至少兩個資料封包中的位元i
處的位元值。例如,若初始資料封包562和第二重傳資料封包各自在位元i
處包括0位元值,但是第一重傳資料封包在位元i
處包括1位元值,則糾錯元件520可以在該組估計位元值的位元i
處插入0。
可以將該組估計位元值在資料封包中傳遞給CRC校驗元件514和解密元件516以用於解碼校驗。若該組估計位元值通過解碼校驗,則可以將該組估計位元值傳遞給較高層。若該組估計位元值未能通過解碼校驗,則可以丟棄該封包,或者可以將該組估計位元值與該組位元錯誤品質度量一起傳遞給較高層(例如,使得較高層可以恢復位元錯誤或隱藏錯誤資料)。
當邏輯鏈路552包括ISO鏈路時,所選擇的操作模式526可以包括QBm-H模式。QBm-H模式可以取決於該組重傳資料封包564的數量。例如,對於前三個資料封包,糾錯元件520可以基於初始資料封包562的PDU資料的位元、該組重傳資料封包564中的第一重傳資料封包的PDU資料的位元和該組重傳資料封包564中的第二重傳資料封包的PDU資料的位元,來執行逐位元多數函數。若糾錯元件520能夠根據逐位元多數函數來產生通過解碼校驗的一組估計位元值,則可以將該組估計位元值傳遞給較高層。在一些態樣中,糾錯元件520可以決定達到閾值時間量或閾值重傳資料封包數量,並且因此,糾錯元件520仍然可以將該組估計位元值(以及潛在地,該組位元錯誤品質度量)傳遞給較高層。在此種態樣中,可以丟棄額外的重傳資料封包(除了第一和第二重傳資料封包之外)。
在另一態樣中,當糾錯元件520無法產生通過解碼校驗的一組估計位元值時,則可以接收該組重傳資料封包564中的多於兩個的重傳資料封包。在此種態樣中,糾錯元件520可以切換到軟合併操作模式,以針對初始資料封包562和該組重傳資料封包564之每一者資料封包,將一組三位元帶符號軟值累加在一組緩衝器中。如本文所描述的,糾錯元件520可以經由將該組緩衝器中的三位元帶符號軟值中的每一者硬切片為或映射到一組估計位元值中的位元值,從而產生該組估計位元值。糾錯元件520可以將該組估計位元值(以及潛在地,該組位元錯誤品質度量)傳遞給較高層。
圖6圖示根據本案內容的各個態樣的可以由圖5中的槽設備502執行的操作的流程圖600。在操作602處,去白化元件512可以對初始資料封包562進行去白化。在操作604處,糾錯元件520可以決定是否啟用了用於糾錯的一組操作模式中的至少一種操作模式。例如,糾錯元件520可以基於封包(例如,第一封包560、初始資料封包562等)的標頭來決定邏輯鏈路552的類型。若邏輯鏈路552的類型包括ACL鏈路或AD2P鏈路,則糾錯元件520可以啟用軟合併操作模式526。若邏輯鏈路552的類型包括eSCO鏈路,則糾錯元件520可以啟用QBm操作模式526。若邏輯鏈路552的類型包括ISO鏈路,則糾錯元件520可以啟用QBm-H操作模式526。
若糾錯元件520沒有啟用操作模式526(例如,因為邏輯鏈路552的類型不是ACL、A2DP、eSCO或ISO之一),則可以利用解碼校驗來對初始資料封包562進行驗證。在操作640處,CRC校驗元件514可以處理與初始資料封包562的有效負荷相對應的CRC。若CRC校驗元件514驗證了初始資料封包562的CRC值,則解密元件516可以對初始資料封包562的MIC值進行驗證(若包括MIC值的話)。若解密元件516驗證了初始資料封包562的MIC值,則解密元件516可以對初始資料封包562的有效負荷進行解密。在操作622處,可以儲存初始資料封包562的經解密的有效負荷,並且可以將其提供給較高層(例如,接收器緩衝器、CODEC等)。在一些態樣中,槽設備502可以傳輸指示ACK的回饋訊息582。
若糾錯元件520確實啟用了操作模式526,則根據操作606,糾錯元件520可以決定用於初始資料封包562的第一亂數或者決定是否針對初始資料封包562禁用加密。在操作608處,當初始資料封包562被加密時,糾錯元件520可以可選地對初始資料封包562的有效負荷進行解密522。在操作610處,糾錯元件520可以決定初始資料封包562是否是初始資料封包或者初始資料封包562是否是一組重傳資料封包564中的重傳資料封包。
當初始資料封包562不是另一資料封包的重傳時,糾錯元件520可以(例如,在緩衝器中)儲存初始資料封包562的初始有效負荷,如在操作612處所示。在操作614處,糾錯元件520可以可選地對初始資料封包562的初始有效負荷進行加密524(例如,若初始資料封包562的有效負荷根據操作608被解密的話)。
可以利用解碼校驗來對初始資料封包562進行驗證。在操作616處,CRC校驗元件514可以處理與初始資料封包562的有效負荷相對應的CRC。若CRC校驗元件514驗證了初始資料封包562的CRC值,則解密元件516可以對初始資料封包562的MIC值進行驗證(若包括MIC值的話)。若解密元件516驗證了初始資料封包562的MIC值,則
在操作620處,當初始資料封包562通過解碼校驗時,解密元件516可以對初始資料封包562的有效負荷進行解密。在操作622處,可以儲存初始資料封包562的經解密的有效負荷,並且可以將其提供給較高層(例如,接收器緩衝器、CODEC等)。
若初始資料封包562未能通過解碼校驗(例如,CRC驗證或MIC驗證),則可以接收該組重傳資料封包564中的第一重傳資料封包(例如,槽設備可以傳輸指示NACK的回饋訊息582,以請求該組重傳資料封包564中的至少一個重傳資料封包)。返回到操作602,去白化元件512可以對第一重傳資料封包進行去白化。若沒有啟用操作模式526,則可以利用解碼校驗來對第一重傳資料封包進行驗證。
在操作640處,CRC校驗元件514可以處理第一重傳資料封包的有效負荷以產生CRC值,並且決定第一重傳資料封包的所包括的CRC值是否與所產生的CRC值匹配。在操作642處,解密元件516可以處理第一重傳資料封包的MIC以產生MIC值,並且決定第一重傳資料封包的所包括的MIC值是否與所產生的MIC值匹配。
若所產生的CRC值和所產生的MIC值分別與被包括在第一重傳資料封包中的CRC值和MIC值匹配,則第一重傳資料封包可以通過解碼校驗。槽設備502可以傳輸指示ACK的回饋訊息582。在操作620處,解密元件516可以對第一重傳資料封包(若被加密的話)進行解密。在操作622處,可以儲存第一重傳資料封包的有效負荷(例如,以將其提供給較高層)。
若所產生的CRC值或所產生的MIC值分別與被包括在第一重傳資料封包中的CRC值或MIC值不匹配,則第一重傳資料封包可能未能通過解碼校驗。槽設備502可以傳輸指示NACK的回饋訊息582。槽設備502可以接收該組重傳資料封包564中的第二重傳資料封包。
對於第一重傳資料封包,返回到操作604,當操作模式526被啟用時,糾錯元件520可以決定針對第一重傳資料封包所商定的相應亂數是否與針對初始資料封包562所商定的第一亂數匹配,或者可以決定第一重傳資料封包是否被加密。當第一亂數與相應亂數不匹配時,則根據操作608,糾錯元件520可以可選地對第一重傳資料封包的有效負荷進行解密522。當第一亂數與相應亂數匹配或者加密被禁用時,糾錯元件520可以決定何者傳輸/重傳在順序上與第一重傳資料封包相對應,如在操作610處所示。
因為第一重傳資料封包是該組重傳資料封包564中的第一個,所以糾錯元件可以應用所選擇的操作模式526,其可以是軟合併模式、QBm模式或QBm-H模式中的一種。因此,在操作624處,糾錯元件520可以產生並且儲存經糾正的有效負荷(例如,一組估計位元值)和(若適用的話)MIC值。關於操作624,糾錯元件520可以基於對所選擇的操作模式526的應用來產生並且儲存一組位元錯誤品質度量。
若根據操作608解密了第一重傳資料封包的有效負荷,則在操作626處,糾錯元件520可以對第一重傳資料封包的有效負荷進行加密524。在操作628處,CRC校驗元件514可以處理第一重傳資料封包的有效負荷以產生CRC值,並且決定第一重傳資料封包的所包括的CRC值是否與所產生的CRC值匹配。在操作630處,若啟用了加密,則解密元件516可以處理第一重傳資料封包的MIC以產生MIC值,並且決定第一重傳資料封包的所包括的MIC值是否與所產生的MIC值匹配。
若所產生的CRC值和所產生的MIC值兩者分別與被包括在第一重傳資料封包中的CRC值和MIC值匹配,則第一重傳資料封包可以通過解碼校驗。槽設備502可以傳輸指示ACK的回饋訊息582。在操作620處,解密元件516可以對第一傳輸資料封包(若被加密的話)進行解密。在操作622處,可以儲存第一重傳資料封包的有效負荷(例如,以將其提供給較高層)。
若所產生的CRC值或所產生的MIC值分別與被包括在第一重傳資料封包中的CRC值或MIC值不匹配,則第一重傳資料封包可能未能通過解碼校驗。槽設備502可以傳輸指示NACK的回饋訊息582。槽設備502可以接收該組重傳資料封包564中的第二重傳資料封包。
槽設備502可以接收第二重傳資料封包,並且如在操作602處所示,去白化元件512可以對第二重傳資料封包進行去白化。在操作604處,若操作模式526被禁用,則可以處理第二重傳資料封包以用於解碼校驗,如本文關於操作640和操作642所描述的。
對於第二重傳資料封包,返回到操作604,當操作模式526被啟用時,糾錯元件520可以決定針對第二重傳資料封包所商定的相應亂數是否與針對初始資料封包562所商定的第一亂數匹配,或者可以決定第二重傳資料封包是否被加密。當第一亂數與相應亂數不匹配時,則根據操作608,糾錯元件520可以可選地對第二重傳資料封包的有效負荷進行解密522。當第一亂數與相應亂數匹配或者加密被禁用時,糾錯元件520可以決定何者傳輸/重傳在順序上與第二重傳資料封包相對應,如在操作610處所示。
因為第二重傳資料封包是該組重傳資料封包564中的第二個,所以糾錯元件可以應用所選擇的操作模式526,其可以是軟合併模式、QBm模式或QBm-H模式中的一種。因此,在操作632處,糾錯元件520可以產生並且儲存經糾正的有效負荷和(若適用的話)MIC值以及第二重傳資料封包。例如,糾錯元件520可以基於初始資料封包562和該組重傳資料封包564來產生一組估計位元值,如本文所描述的。
該組估計位元值可以包括被估計為對於初始資料封包562的PDU資料而言是正確的位元,並且因此,該組估計位元值可以包括被估計為對於有效負荷而言是正確的每個位元,以及(若適用的話)被估計為對於該組重傳資料封包564中的最近接收到的重傳資料封包的MIC值而言是正確的每個位元(因為可以根據該組重傳資料封包564中的最近接收到的重傳資料封包來對MIC值進行驗證)。關於操作632,糾錯元件520可以基於在第二重傳資料封包的情況下對所選擇的操作模式526的應用,來產生並且儲存一組位元錯誤品質度量。
若根據操作608解密了第二重傳資料封包的有效負荷,則在操作634處,糾錯元件520可以對由糾錯元件520產生的經糾正的有效負荷(例如,該組估計位元值)進行加密524。在操作636處,CRC校驗元件514可以處理經糾正的有效負荷(例如,該組估計位元值)。糾錯元件520可以將包括該組估計位元值的資料封包提供給CRC校驗元件514,並且CRC校驗元件514可以產生CRC值,並且決定該組重傳資料封包564中的最近接收到的重傳資料封包(例如,第二重傳資料封包)的所包括的CRC值是否與所產生的CRC值匹配。在操作638處,若加密被啟用,則解密元件516可以處理第二重傳資料封包的MIC以產生MIC值,並且決定該組重傳資料封包564中的最近接收到的重傳資料封包(例如,第二重傳資料封包)的所包括的MIC值是否與所產生的MIC值匹配。
若所產生的CRC值和所產生的MIC值兩者分別與被包括在該組重傳資料封包564中的最近接收到的重傳資料封包(例如,第二重傳資料封包)的CRC值和MIC值匹配,則該組估計位元值可以通過解碼校驗。槽設備502可以傳輸指示ACK的回饋訊息582。在操作620處,解密元件516可以對該組估計位元值(若被加密的話)進行解密。在操作622處,可以儲存該組估計位元值(例如,以將其提供給較高層)。
如在方法600中所示,當該組重傳資料564包括多於兩個的重傳資料封包時,可以執行該等操作的子集,其包括操作602、604、606、608、610、620、622、632、634、636、638中的一項或多項。因此,槽設備502可以將方法600反覆運算,直到經由應用所選擇的操作模式526直到經糾正的有效負荷通過解碼校驗(例如,CRC驗證以及(若適用的話)MIC驗證),從而決定經糾正的有效負荷為止,或者直到達到閾值重傳資料封包數量並且將經糾正的有效負荷與一組位元錯誤品質度量一起傳遞給較高層為止。
圖7圖示根據本案內容的各個態樣的軟合併操作模式700的一個態樣。例如,在圖5的背景下,當邏輯鏈路552包括ACL鏈路或A2DP鏈路時,槽設備502可以執行軟合併操作模式。在圖6的背景下,槽設備502可以應用軟合併操作模式以產生經糾正的有效負荷(例如,一組估計位元值),如關於操作632、634、636和638所描述的。
當源設備和槽設備建立包括ACL鏈路或A2DP鏈路的邏輯鏈路並且槽設備相應地選擇軟合併操作模式時,源設備可以傳輸具有TX訊息A 706a(亦即預期的一組位元)的初始資料封包。TX訊息A 706a可以包括PDU資料,並且因此,TX訊息A 706a可以包括有效負荷資料,並且在一些態樣中,可以包括MIC值。
在TX訊息A 706a的傳輸期間,例如由於干擾或其他通道狀況,在TX訊息A 706a中可能發生一或多個位元錯誤708a。因此,槽設備可以將TX訊息A 706a接收為RX訊息A 712a,其可以包括具有一或多個位元錯誤708a的一組位元。
槽設備可以將RX訊息A 712a緩衝716a在一組緩衝器中(例如,在經索引的緩衝器陣列中)。例如,當RX訊息A 712a被加密時,槽設備可以在沒有首先解密RX訊息A 712a的情況下將RX訊息A 712a進行緩衝716a。然而,在另一實例中,槽設備可以首先對RX訊息A 712a進行解密。
因為槽設備可能正在應用軟合併操作模式,所以槽設備可以將RX訊息A 712a的每個位元作為軟值緩衝716a在一組緩衝器中。例如,RX訊息A 712a可以具有n
個位元,並且對於等於0至n
-1的索引i
(其中PDU資料的第一位元是以0來索引的),可以將RX訊息A 712a的PDU資料的位元i
作為三位元帶符號軟值緩衝716a在緩衝器索引i
中。可以將RX訊息A 712a的PDU資料的1位元儲存為-1軟值(例如,-'3sd1),並且可以將RX訊息A 712a的PDU資料的0位元儲存為0軟值(例如,+'3sd0,並且0軟值可以被視為正符號軟值)。前述實例是作為說明來提供的,並且在不脫離本案內容的範疇的情況下,可以與包括RX訊息A 712a的一組位元相關聯地緩衝不同的值(例如,可以將位元值緩衝為無符號值,軟值可以大於或小於三位元,可以將0和1位元值儲存為除了-1和0以外的軟值等等)。
槽設備可以對RX訊息A 712a進行解碼718a,並且在一些態樣中,槽設備可以即時地對RX訊息A 712a進行解碼718a,同時亦對RX訊息A 712a進行緩衝。當RX訊息A 712a被解碼時,槽設備可以執行解碼校驗,解碼校驗可以至少包括CRC驗證,並且若RX訊息A 712a被加密,則解碼校驗可以包括MIC驗證。因此,槽設備可以對RX訊息A 712a執行CRC驗證。由於一或多個位元錯誤708a,槽設備可以決定基於RX訊息A 712a所產生的CRC值與用於(被包括在初始資料封包中的)TX訊息A 706a的CRC值不匹配。因此,槽設備可以決定RX訊息A 712a未能通過CRC驗證720a。
另外,當RX訊息A 712a被加密時,槽設備可以對RX訊息A 712a執行MIC驗證。由於一或多個位元錯誤708a,槽設備可以決定基於RX訊息A 712a所產生的MIC值與用於(被包括在初始資料封包的PDU資料中的)TX訊息A 706a的MIC值不匹配。因此,槽設備可以決定RX訊息A 712a未能通過MIC驗證722a。
當RX訊息A 712a未能通過解碼校驗(例如,未能通過CRC驗證720a,並且未能通過MIC驗證722a(若被加密的話))時,則槽設備可以向源設備傳輸NACK訊息724a。回應於NACK訊息724a,源設備可以傳輸TX訊息B 706b。
TX訊息B 706b可以是TX訊息A 706a的重傳,並且因此可以包括TX訊息A 706a的PDU資料的至少有效負荷資料的副本。在傳輸TX訊息B 706b期間,在TX訊息B 706b中可能發生一或多個位元錯誤708b。因此,槽設備可以將TX訊息B 706b接收為RX訊息B 712b,其可以包括具有一或多個位元錯誤708b的一組位元。
因為槽設備可能正在應用軟合併,所以槽設備可以對與RX訊息A 712a和RX訊息B 712b相對應的軟值進行緩衝716b。在各態樣中,可以將與RX訊息A 712a相關聯地緩衝716a的一組軟值之每一者軟值以基於RX訊息B 712b的PDU資料的對應位元的值(例如,帶符號值)進行累加。例如,可以將在緩衝器索引i
中可以針對RX訊息A 712a而緩衝716a的三位元帶符號軟值以基於RX訊息B 712b的PDU資料的位元i
的帶符號值進行累加(例如,添加到該帶符號值)。經由說明的方式,可以將RX訊息B 712b的PDU資料的在索引i
處的1位元值與在索引i
處被緩衝716a的三位元帶符號軟值累加為-1帶符號值(例如,-'3sd1)。可以將RX訊息B 712b的PDU資料的在索引i
處的0位元值與在索引i
處被緩衝716a的三位元帶符號軟值累加為+1軟值(+3'sd1)。
相應地,槽設備將RX訊息A 712a、B 712b的經軟合併的PDU資料緩衝716b為與基於RX訊息A 712a的PDU資料而緩衝716a的對應軟值累加的、基於RX訊息B 712b的PDU資料的位元的值。槽設備可以基於被累加在該組緩衝器中的該等軟值來估計TX訊息B 706b的PDU資料,其可以包括與TX訊息A 706a相同的有效負荷。為此,槽設備可以將索引i
處的每個軟值「硬切片」為(例如,映射到)被估計為TX訊息B 706b在索引i
處的位元值的一個一位元值。
例如,槽設備可以將在索引i
處的大於或等於0(3'sd0)的三位元帶符號軟值映射到在索引i
處的為0的位元值。當在索引i
處的三位元帶符號軟值小於0(3'sd0)時,則槽設備可以在索引i
處映射為1的位元值。前述實例是作為說明來提供的,並且因此,在不脫離本案內容的範疇的情況下,可以將不同的映射用於硬切片。例如,在基於RX訊息而累加的軟值與TX訊息的估計位元值之間的映射可以取決於分別被指派給初始RX訊息(例如,RX訊息A 712a)的1位元值和0位元值的軟值。在另一實例中,在基於RX訊息而累加的軟值與TX訊息的估計位元值之間的映射可以取決於如何基於重傳訊息(例如,RX訊息B 712b)的位元值來累加軟值。
槽設備可以從硬切片獲得對TX訊息B 706b的PDU資料(例如,有效負荷和(若適用的話)MIC值)的估計。亦即,因為可以將從硬切片推導出的在索引i
處的每個位元值估計為TX訊息B 706b在索引i
處的位元值,所以槽設備可以獲得表示TX訊息B 706b的PDU資料的一組估計位元值。因此,槽設備可以對表示TX訊息B 706b的PDU資料的該組估計位元值進行解碼718b,此舉可以包括對針對RX訊息A 712a、B 712b所緩衝716b的經累加的軟值的硬切片。
在該組估計位元值被解碼以表示TX訊息B 706b的PDU資料的情況下,槽設備可以對該組估計位元值執行解碼校驗。首先,槽設備可以對表示TX訊息B 706b的PDU資料的該組估計位元值執行CRC驗證720b。例如,槽設備可以基於表示TX訊息B 706b的PDU資料的該組估計位元值來產生CRC值。由於CRC值可能在每個傳輸的訊息之間改變,因此所產生的CRC值應當與和最近接收到的RX訊息(此處為RX訊息B 712b)相關聯的CRC值匹配。因此,槽設備可以將所產生的CRC值與和RX訊息B 712b相關聯的CRC值進行比較。
若所產生的CRC值與和RX訊息B 712b相關聯的CRC值匹配,則表示TX訊息B 706b的PDU資料的該組估計位元值可以成功通過解碼校驗的CRC驗證720b。然而,由於對軟合併操作模式的應用仍然可能產生一或多個位元錯誤,所以對表示TX訊息B 706b的PDU資料的該組估計位元值的CRC驗證720b可能是不成功的。
另外,槽設備可以對表示TX訊息B 706b的PDU資料的該組估計位元值執行MIC驗證722b以進行解碼校驗。例如,槽設備可以基於表示TX訊息B 706b的PDU資料的該組估計位元值來產生MIC值。由於MIC值可能會在每個傳輸的訊息之間變化,因此所產生的MIC值應當與和最近接收到的RX訊息(此處為RX訊息B 712b)相關聯的MIC值匹配。因此,槽設備可以將所產生的MIC值與和RX訊息B 712b相關聯的MIC值進行比較。
若所產生的MIC值與和RX訊息B 712b相關聯的MIC值匹配,則表示TX訊息B 706b的PDU資料的該組估計位元值可以成功地通過解碼校驗的MIC驗證722b。然而,由於對軟合併操作模式的應用仍然可能產生一或多個位元錯誤,所以對表示TX訊息B 706b的PDU資料的該組估計位元值的MIC驗證722b可能是不成功的。
因為表示TX訊息B 706b的PDU資料的該組估計位元值可能未能通過解碼校驗,所以槽設備可以向源設備傳輸NACK訊息724b。因此,源設備可以傳輸TX訊息C 706c。
TX訊息C 706c可以是TX訊息A 706a的重傳,並且因此可以包括TX訊息A 706a的PDU資料的至少有效負荷資料的副本。在傳輸TX訊息C 706c期間,在TX訊息C 706c中可能發生一或多個位元錯誤708c。因此,槽設備可以將TX訊息C 706c接收為RX訊息C 712c,其可以包括具有一或多個位元錯誤708c的一組位元。
因為槽設備可能正在應用軟合併,所以槽設備可以對與RX訊息A 712a、B 712b、C 712c對應的軟值進行緩衝716c。在各態樣中,可以將與RX訊息A 712a、B 712b相關聯地緩衝716b的一組軟值之每一者軟值以基於RX訊息C 712c的PDU資料的對應位元的值(例如,帶符號值)進行累加。例如,可以將在緩衝器索引i
中可以基於RX訊息A 712a在索引i
處的位元和RX訊息B 712b在索引i
處的位元而緩衝716b的三位元帶符號軟值以基於RX訊息C 712c的PDU資料的位元i
的帶符號值進行累加。經由說明的方式,可以將RX訊息C 712c的PDU資料的在索引i
處的1位元值與在索引i
處緩衝716b的三位元帶符號軟值累加為-1帶符號值(例如,-'3sd1)。可以將RX訊息C 712c的PDU資料的在索引i
處的0位元值與在索引i
處緩衝716b的三位元帶符號軟值累加為+1軟值(+3'sd1)。
在一些態樣中,槽設備可以被配置為使得該組緩衝器之每一者緩衝器可以在最小值和最大值處達到飽和,此舉可以防止緩衝器欠位或溢出。例如,每個緩衝器在索引i
處可以飽和達到為+3(+3'sd3)的最大值,並且飽和達到為-4(-3'sd4)的最小值。相應地,緩衝器索引i
可以不超過最小值或最大值,並且來自RX值C 712c的額外PDU資料的額外位元i
可以使得緩衝器索引i
中的軟值保持在達到飽和的最小值處(當要累加的值為-1軟值時)或者保持在達到飽和的最大值處(當要累加的值為+1軟值時)。
隨後,槽設備即時地將RX訊息A 712a、B 712b、C 712c的經軟合併的PDU資料緩衝716c為與基於RX訊息A 712a、B 712b的PDU資料而緩衝716b的對應軟值累加的、分別基於RX訊息C 712c的PDU資料的位元的軟值。槽設備可以基於被累加在該組緩衝器中的該等軟值來估計TX訊息C 706c的PDU資料。
因此,槽設備可以再次將在索引i
處的每個軟值「硬切片」為(例如,映射到)被估計為TX訊息C 706c在索引i
處的位元值的一個一位元值。例如,槽設備可以將在索引i
處大於或等於0的三位元帶符號軟值(3'sd0)映射到在索引i
處的為0的位元值。當在索引i
處的三位元帶符號軟值(3'sd0)小於0時,槽設備可以在索引i
處映射為1的位元值。
槽設備可以從此種硬切片獲得TX訊息C 706c的PDU資料(例如,有效負荷和(若適用的話)MIC值)的第二估計。亦即,因為可以將從硬切片推導出的在索引i
處的每個位元值估計為TX訊息C 706c在索引i
處的位元值,所以槽設備可以獲得表示TX訊息C 706c的PDU資料的第二組估計位元值。因此,槽設備可以對表示TX訊息C 706c的PDU資料的第二組估計位元值進行解碼718c,此舉可以包括對針對RX訊息A 712a、B 712b、C 712c所緩衝716c的經累加的軟值的硬切片。
在第二組估計位元值被解碼以表示TX訊息C 706c的PDU資料的情況下,槽設備可以對第二組估計位元值執行解碼校驗。首先,槽設備可以對表示TX訊息C 706c的PDU資料的第二組估計位元值執行CRC驗證720c。例如,槽設備可以基於表示TX訊息C 706c的PDU資料的第二組估計位元值來產生CRC值。槽設備可以將所產生的CRC值與和RX訊息C 712c相關聯的CRC值進行比較。
若所產生的CRC值與和RX訊息C 712c相關聯的CRC值匹配,則表示TX訊息C 706c的PDU資料的該組估計位元值可以成功地通過解碼校驗的CRC驗證720c。然而,由於對軟合併操作模式的應用仍然可能產生一或多個位元錯誤,因此對表示TX訊息C 706c的PDU資料的第二組估計位元值的CRC驗證720c可能是不成功的。
此外,槽設備可以對表示TX訊息C 706c的PDU資料的第二組估計位元值執行MIC驗證722c以用於解碼校驗。例如,槽設備可以基於表示TX訊息C 706c的PDU資料的第二組估計位元值來產生MIC值。槽設備可以將所產生的MIC值與和RX訊息C 712c相關聯的MIC值進行比較。
若所產生的MIC值與和RX訊息C 712c相關聯的MIC值匹配,則表示TX訊息C 706c的PDU資料的第二組估計位元值可以成功通過解碼校驗的MIC驗證722c。然而,由於對軟合併操作模式的應用仍然可能產生一或多個位元錯誤,因此對表示TX訊息C 706c的PDU資料的第二組估計位元值的MIC驗證722c可能是不成功的。
因為表示TX訊息C 706c的PDU資料的第二組估計位元值可能再次未能通過解碼校驗,所以槽設備可以向源設備傳輸NACK訊息724c。相應地,源設備可以傳輸TX訊息D 706d。TX訊息D 706d可以是TX訊息A 706a的重傳,並且因此可以包括TX訊息A 706a的PDU資料的至少有效負荷資料的副本。
在傳輸TX訊息D 706d期間,在TX訊息D 706d中可能發生一或多個位元錯誤708d。因此,槽設備可以將TX訊息D 706d接收為RX訊息D 712d,其可以包括具有一或多個位元錯誤708d的一組位元。
類似於先前的RX訊息A 712a、B 712b、C 712c,槽設備可以對與RX訊息A 712a、B 712b、C 712c、D 712d相對應的軟值進行緩衝716d。在各態樣中,可以將與RX訊息A 712a、B 712b、C 712c相關聯地緩衝716c的一組軟值之每一者軟值以基於RX訊息D 712d的PDU資料的對應位元的值(例如,帶符號值)進行累加。例如,可以將在緩衝器索引i
中可以基於RX訊息A 712a、B 712b、C 712C在相應索引i
處的相應位元而緩衝716c的三位元帶符號軟值以基於RX訊息D 712d的PDU資料的在索引i
處的位元值的帶符號值進行累加。
經由說明的方式,可以將RX訊息D 712d的PDU資料的在索引i
處的1位元值與在索引i
處緩衝716c的三位元帶符號軟值累加為-1帶符號值(例如,-3'sd1)。可以將RX訊息D 712d的PDU資料的在索引i
處的0位元值與在索引i
處緩衝716c的三位元帶符號軟值累加為+1軟值(+3'sd1)。
在一些態樣中,槽設備可以被配置使得緩衝器在索引i
處可以在最小值和最大值處達到飽和(例如,飽和達到為+3(+3'sd3)的最大值,並且飽和達到為-4(-3'sd4)的最小值)。相應地,根據要基於RX訊息D 712d的PDU資料來累加的軟值,來自RX訊息D 712d的額外PDU資料的額外位元i
可以使得緩衝器索引i
中的軟值保持在達到飽和的最小值或達到飽和的最大值處。
因此,槽設備將RX訊息A 712a、B 712b、C 712c、D 712d的經軟合併的PDU資料緩衝716d為與基於RX訊息A 712a、B 712b、C 712c的PDU資料而緩衝716c的對應軟值累加的、分別基於RX訊息D 712d的PDU資料的位元的軟值。槽設備可以基於被累加在該組緩衝器中的該等軟值來估計TX訊息D 706d的PDU資料。
槽設備可以即時地將在索引i
處的每個軟值硬切片為被估計為TX訊息D 706d在索引i
處的位元值的一個一位元值。例如,槽設備可以將在索引i
處大於或等於0的三位元帶符號軟值(3'sd0)映射到在索引i
處的為0的位元值。當在索引i
處的三位元帶符號軟值小於0(3'sd0)時,則槽設備可以在索引i
處映射為1的位元值。
槽設備可以從此種第三硬切片獲得TX訊息D 706d的PDU資料(例如,有效負荷和(若適用的話)MIC值)的第三估計。因此,由於可以將從硬切片推導出的在索引i
處的每個位元值估計為TX訊息D 706d在索引i
處的位元值,因此槽設備可以獲得表示TX訊息D 706d的PDU資料的第三組估計位元值。槽設備可以對表示TX訊息D 706d的PDU資料的第三組估計位元值進行解碼718d,此舉可以包括對基於RX訊息A 712a、B 712b、C 712c、D 712d而緩衝716d的經累加的軟值的硬切片。
在第三組估計位元值被解碼以表示TX訊息D 706d的PDU資料的情況下,槽設備可以經由首先對表示TX訊息D 706d的PDU資料的第三組估計位元值執行CRC驗證720d,從而執行解碼校驗。例如,槽設備可以基於表示TX訊息D 706d的PDU資料的第三組估計位元值來產生CRC值。槽設備可以將所產生的CRC值與和RX訊息D 712d相關聯的CRC值進行比較。
若所產生的CRC值與和RX訊息D 712d相關聯的CRC值匹配,則表示TX訊息D 706d的PDU資料的第三組估計位元值可以成功通過解碼校驗的CRC驗證720d。此處,對表示TX訊息D 706d的PDU資料的第三組估計位元值的CRC驗證720d可以是成功的。例如,位元錯誤708a、708b、708c、708d可能不會發生在相同的位元位置處,並且因此,在一或多個重傳(例如,在所示的態樣中為三個重傳,但是更多或更少的重傳可以產生成功通過解碼校驗的一組估計位元值,此情形取決於位元錯誤的數量和位置)之後,軟合併操作模式可以產生與TX訊息D 706d匹配的第三組估計位元值。
關於解碼校驗,槽設備可以對表示TX訊息D 706d的PDU資料的第三組估計位元值執行MIC驗證722d。例如,槽設備可以基於表示TX訊息D 706d的PDU資料的第三組估計位元值來產生MIC值。槽設備可以將所產生的MIC值與和RX訊息D 712d相關聯的MIC值進行比較。
若所產生的MIC值與和RX訊息D 712d相關聯的MIC值匹配,則表示TX訊息D 706d的PDU資料的第三組估計位元值可以成功通過MIC驗證722d。此處,對表示TX訊息D 706d的PDU資料的第三組估計位元值的MIC驗證722d可以是成功的。例如,根據硬切片,軟合併操作模式可以產生與TX訊息D 706d匹配的第三組估計位元值。
當CRC驗證720d和MIC驗證722d是成功的時,槽設備可以向源設備傳輸ACK訊息724d。隨後,源設備可以停止對TX訊息D 706d的重傳,並且可以繼續進行對另外的封包的傳輸。
回應於ACK訊息724d,源設備可以傳輸下一訊息TX訊息2A 746a。在所示的態樣中,TX訊息2A 746a可能沒有經歷足夠的干擾或其他不良通道狀況而造成位元錯誤,並且因此,槽設備可以接收到RX訊息2A 752a,其不具有足以使該訊息降級的位元錯誤748a。
由於槽設備可能不知道尚沒有位元錯誤748a使RX訊息2A 752a大幅降級,所以槽設備可能基於RX訊息2A 752a對一組值進行緩衝756a。例如,槽設備可以根據軟合併操作模式,基於RX訊息2A 752a的PDU資料來對一組軟值進行緩衝756a。此外,槽設備可以對RX訊息2A 752a進行解碼758a以執行解碼校驗。
因為在RX訊息2A 752a中可能沒有發生足以使RX訊息2A 752a明顯降級的位元錯誤748a,所以RX訊息2A 752a可以與TX訊息2A 746a基本相似,從而使得解碼校驗可以是成功的。具體地,槽設備可以例如經由基於RX訊息2A 752a的PDU資料產生CRC值(其與和RX訊息2A 752a相關聯的CRC值匹配),從而對RX訊息2A 752a執行CRC驗證760a。若適用的話(例如,若RX訊息2A 752a被加密),則槽設備可以例如經由基於RX訊息2A 752a的PDU資料(例如,基於有效負荷)來產生MIC值(其與和RX訊息2A 752a相關聯的MIC值(例如,其是在PDU資料中在RX訊息2A 752a的有效負荷之後指示的)匹配),從而對RX訊息2A 752a執行MIC驗證762a。
本文所描述的糾錯技術可以提供用於在通訊系統中進行糾錯的改良的方法,其中不同的糾錯技術(例如,QBm、QBm-H及/或即時軟合併)可以以不同的方式適於不同類型的邏輯鏈路。作為該等技術的結果,可以改良在有雜訊的通訊媒體上的資料通訊,是因為該等技術可以從位元錯誤中基本上恢復。對於涉及語音或其他串流音訊資料的資料通訊,相比於沒有採用在本案內容中描述的技術的系統,該等技術提升增強的音訊品質。
圖8A和圖8B是無線通訊的方法800的流程圖。方法800可以由第一設備(例如,無線設備102、周邊設備104、106、108、110、112、114、無線設備200、槽設備502、裝置1302/1302')來執行,第一設備與第二設備(例如,中央無線設備102、周邊設備104、106、108、110、112、114、無線設備200、源設備550、第二設備1350)相通訊。在不同的態樣中,可以省略、調換及/或同時執行一或多個所圖示的操作。
參照圖8A,在操作802處,第一設備可以與第二設備建立與短程通訊相關聯的邏輯鏈路。例如,第一設備和第二設備可以探索彼此,並且第一設備和第二設備可以決定要在第一設備和第二設備之間發生的通訊的類型。第一設備和第二設備可以建立邏輯鏈路。邏輯鏈路可以是ACL鏈路、AD2P鏈路、eSCO鏈路或ISO鏈路之一。在一些態樣中,第一設備或第二設備中的一者可以向第一設備或第二設備中的另一者發送第一封包,以便建立邏輯鏈路。第一封包可以包括存取位址或標頭部分,標頭部分包括基於邏輯鏈路的類型的LT_ADDR。
例如,參照圖5,槽設備502可以與同源設備550的邏輯鏈路552的建立相關聯地接收第一封包560(例如,在RF介面510處)。第一封包560可以包括與邏輯鏈路552的類型相關聯的(亦即與ACL鏈路、A2DP鏈路、eSCO鏈路或ISO鏈路之一相關聯的)存取位址或LT_ADDR中的至少一項。
在操作804處,第一設備可以決定邏輯鏈路的類型。例如,第一設備可以從第二設備接收第一封包,並且第一設備可以偵測該封包的位址部分。第一設備可以從該位址部分辨識出存取位址或LT_ADDR中的一項。例如,第一設備可以在BLE封包的前序信號之後並且在PDU之前偵測到存取位址,或者第一設備可以在BT封包的標頭部分中偵測到LT_ADDR。基於所辨識的存取位址或LT_ADDR,第一設備可以決定邏輯鏈路的類型。
例如,參照圖5,槽設備502可以與同源設備550的邏輯鏈路552相關聯地接收第一封包560(例如,在RF介面510處)。第一封包560可以包括與邏輯鏈路552的類型相關聯的(亦即與ACL鏈路、A2DP鏈路、eSCO鏈路或ISO鏈路之一相關聯的)存取位址或LT_ADDR中的至少一項。基於所辨識的存取位址或被包括在第一封包560的標頭部分中的LT_ADDR,槽設備502(例如,糾錯元件520)可以決定邏輯鏈路552的類型。
在操作806處,第一設備可以基於邏輯鏈路來從用於糾錯的複數種操作模式中選擇第一操作模式。例如,第一設備可以辨識在每種操作模式與每種類型的邏輯鏈路之間的關聯,並且第一設備可以從複數種操作模式中選擇被辨識為與所決定的邏輯鏈路的類型相關聯的第一操作模式。在一個態樣中,第一設備可以基於包括ACL鏈路或A2DP鏈路的邏輯鏈路來選擇軟合併操作模式。在另一態樣中,第一設備可以基於包括eSCO鏈路的邏輯鏈路來選擇QBm操作模式。在另一態樣中,第一設備可以基於包括ISO鏈路的邏輯鏈路來選擇QBm-H操作模式。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以基於邏輯鏈路552來從複數種操作模式中選擇操作模式526。
在操作808處,第一設備可以接收被攜帶在邏輯鏈路上的第一封包。例如,第一設備可以從第二設備接收第一封包,並且第一封包可以在有效負荷中包括資料(例如,音訊資料、視訊資料等)。例如,參照圖5,槽設備502可以(例如,在RF介面510處)在邏輯鏈路552上從源設備550接收初始資料封包562。
在操作810處,第一設備可以執行解碼校驗以決定被包括在第一封包中的第一PDU資料是通過解碼校驗(例如,解碼校驗是成功的)還是未能通過解碼校驗(例如,解碼校驗是不成功的)。例如,第一設備可以對被包括在第一封包中的第一PDU資料執行CRC驗證。若第一封包被加密,則第一設備可以對被包括在第一封包中的第一PDU資料執行MIC驗證。隨後,當CRC驗證是成功的並且(若適用的話)MIC驗證是成功的時,第一設備可以決定第一封包通過解碼校驗。隨後,當CRC驗證是不成功的或者(若適用的話)MIC驗證是不成功的時,第一設備可以決定第一封包未能通過解碼校驗。關於圖9圖示解碼校驗的一個態樣。
例如,參照圖5,槽設備502(例如,CRC校驗元件514和(若適用的話)解密元件516)可以對被包括在初始資料封包562中的第一PDU資料執行解碼校驗。若CRC校驗元件514驗證了與被包括在初始資料封包562中的第一PDU資料相關聯的CRC值,並且若適用的話,解密元件516驗證了與被包括在初始資料封包562中的第一PDU資料相關聯的MIC值,則初始資料封包562可以成功通過解碼校驗。若CRC校驗元件514沒有驗證與被包括在初始資料封包562中的第一PDU資料相關聯的CRC值,或者若適用的話,解密元件516沒有驗證與被包括在初始資料封包562中的第一PDU資料相關聯的MIC值,則初始資料封包562可能未能通過解碼校驗,並且對初始資料封包562的解碼校驗可以是失敗的。
若解碼校驗是成功的,則第一設備可以向較高層發送被包括在第一封包中的第一PDU資料的至少一部分,如在操作812處所示。例如,第一設備可以從第一封包中提取有效負荷,並且可以將有效負荷提供給CODEC。CODEC可以使得第一設備將有效負荷例如作為音訊、作為視訊等輸出。
例如,參照圖5,若CRC校驗元件514驗證了與被包括在初始資料封包562中的第一PDU資料相關聯的CRC值,並且若適用的話,解密元件516驗證了與被包括在初始資料封包562中的第一PDU資料相關聯的MIC值,則可以將初始資料封包562的有效負荷提供給槽設備502的較高層(例如,CODEC)。隨後,槽設備502可以將有效負荷例如作為音訊、作為視訊等輸出。
參照圖8B,若解碼校驗是不成功的,則第一設備可以在邏輯鏈路上接收一組重傳封包。具體地,第一設備可以基於對第一封包的不成功的解碼校驗來向第二設備傳輸NACK訊息。基於NACK訊息,第一設備可以在邏輯鏈路上從第二設備接收該組重傳封包中的第一重傳封包。
例如,參照圖5,槽設備502可以(例如,在RF介面510處)接收一組重傳資料封包564中的第一重傳資料封包。在一些態樣中,當初始資料封包562未能通過CRC校驗元件514所進行的CRC驗證時,或者當初始資料封包562未能通過解密元件516所進行的MIC驗證時,槽設備502可以傳輸指示NACK的回饋訊息582。
在操作816處,第一設備可以基於第一封包的第一PDU資料和被包括在該組重傳封包之每一者重傳封包中的相應PDU資料,來應用用於糾錯的第一操作模式。例如,第一設備可以基於第一封包的第一PDU資料來對第一組位元進行緩衝。此外,第一設備可以基於被包括在該組重傳封包之每一者重傳封包中的相應PDU資料(例如,僅當該組重傳封包中的第一重傳封包已經被接收時,才基於被包括在第一重傳封包中的第一重傳PDU資料)來對至少一個其他組位元進行緩衝。
在各態樣中,當被包括在第一封包中的第一PDU資料未能通過解碼校驗時,第一設備可以基於邏輯鏈路來從複數種操作模式中決定第一操作模式,例如,當邏輯鏈路的類型被決定時,可以選擇第一操作模式(例如,如關於操作804和操作806所描述的)。在一個態樣中,當邏輯鏈路的類型包括ACL鏈路或A2DP鏈路中的一者時,第一設備可以決定第一操作模式是軟合併操作模式。在另一態樣中,當邏輯鏈路的類型包括eSCO鏈路時,第一設備可以決定第一操作模式是QBm操作模式。在另一態樣中,當邏輯鏈路的類型包括ISO鏈路時,第一設備可以決定第一操作模式是QBm-H操作模式。第一設備可以基於至少一組位元來應用軟合併操作模式、QBm操作模式或QBm-H操作模式中的一種操作模式,該至少一組位元是基於被包括在第一封包中的第一PDU資料和被包括在該組重傳封包之每一者重傳封包中的相應PDU資料來緩衝的。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以基於邏輯鏈路552來決定用於糾錯的操作模式526。槽設備502(例如,糾錯元件520)可以基於被包括在初始資料封包562中的第一PDU資料並且基於被包括在該組重傳資料封包564之每一者重傳資料封包中的相應PDU資料,來應用用於糾錯的操作模式526。
根據一些態樣,當第一封包與和用於對該組重傳封包之每一者重傳封包進行解密的相應亂數匹配的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併操作時模式,則可以基於第一封包的包括第一有效負荷資料和第一MIC值的第一PDU資料,並且進一步基於該組重傳封包之每一者重傳封包的包括相應有效負荷資料和相應MIC值的相應PDU資料,來應用用於糾錯的第一操作模式(包括軟合併操作模式)。在一個此種態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料可以被解密。
根據一些其他態樣,當第一封包與不同於用於對該組重傳封包中的至少一個重傳封包進行解密的相應亂數的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併操作模式時,則可以基於被包括在第一封包的第一PDU資料中的第一有效負荷資料,並且進一步基於被包括在該組重傳封包之每一者重傳封包的相應PDU資料中的相應有效負荷資料,來應用用於糾錯的第一操作模式(包括軟合併操作模式)。在一個此種態樣中,當第一封包的第一PDU資料可以包括第一MIC值時,並且當該組重傳封包之每一者重傳封包的相應PDU資料包括相應MIC值時,則用於糾錯的第一操作模式可以是在不利用第一MIC值的情況下並且在不利用相應MIC值之每一者MIC值的情況下應用的(例如,與MIC值相對應的位元可以從對用於糾錯的第一操作模式的應用中省略)。在另一此種態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料可以被解密。
在各個態樣中,第一設備可以針對該組重傳封包之每一者重傳封包執行解碼校驗(例如,類似於關於操作810描述的解碼校驗)。當該組重傳封包中的重傳封包成功通過解碼校驗時,則第一設備可以將該重傳封包的相應PDU資料(例如,有效負荷)提供給第一設備的較高層(例如,如關於操作812所描述的),並且第一設備可以向第二設備傳輸ACK訊息。此外,當該組重傳封包中的該重傳封包成功通過解碼校驗時,則第一設備可以避免應用或繼續應用所選擇的用於糾錯的操作模式,例如此情形是因為當重傳封包成功通過解碼校驗時糾錯可以是不必要的。
在操作818處,第一設備可以向較高層發送一組估計位元值,該組估計位元值是基於應用用於糾錯的第一操作模式來獲得的。例如,第一設備可以基於應用用於糾錯的第一操作模式來計算一組估計位元值。在各個態樣中,可以將該組估計位元值估計為包括最近接收到的重傳封包的PDU資料(其有效負荷可以與第一封包的有效負荷相同)。隨後,第一設備可以將該組估計位元值提供給第一設備的至少一個較高層,諸如CODEC。隨後,第一設備可以基於該組估計位元值來使得輸出資料,例如,第一設備可以基於該組估計位元值來輸出音訊及/或視訊。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以基於對操作模式526的應用來計算一組估計位元值。可以將該組估計位元值估計為包括該組重傳資料封包564中的最近接收到的重傳資料封包的相應PDU資料(例如,相應PDU資料可以包括與初始資料封包562的有效負荷匹配的有效負荷)。
在各個態樣中,第一設備可以針對該組估計位元值執行解碼校驗(例如,類似於關於操作810描述的解碼校驗)。例如,該組估計位元值可以被提供為PDU資料(例如,有效負荷以及(若適用的話)MIC值)以用於CRC驗證以及(若適用的話)MIC驗證。當該組估計位元值成功通過解碼校驗時(例如,如關於操作812所描述的),則第一設備可以將該組估計位元值作為意欲被包括在第一封包和該組重傳封包之每一者重傳封包中的PDU資料(例如,有效負荷)提供給第一設備的較高層。此外,第一設備可以與該組重傳封包中的最近接收到的重傳封包相關聯地向第二設備傳輸ACK訊息。當該組估計位元值未能通過解碼校驗時(例如,如關於操作812所描述的),則第一設備可以與該組重傳封包中的最近接收到的重傳封包相關聯地向第二設備傳輸NACK訊息。在一些態樣中,第一設備隨後可以基於NACK訊息來接收該組重傳封包中的另一重傳封包,並且第一設備可以繼續對被添加到該組重傳封包中的另一重傳封包應用用於糾錯的第一操作模式。
在操作820處,第一設備可以基於應用用於糾錯的第一操作模式來決定與該組估計位元值相關聯的一組位元錯誤。例如,第一設備可以辨識跨第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料對應的一或多個位元,該一或多個位元在以下各項中的至少兩項之間是不同的:第一封包的第一PDU資料,以及該組重傳封包之每一者重傳封包的相應PDU資料之每一者PDU資料。換言之,第一設備可以決定在索引i
處的位元值,該位元值在第一封包的PDU資料與該組重傳封包中的至少一個重傳封包的相應PDU資料之間是不同的,或者在該組重傳封包中的至少兩個重傳封包的相應PDU資料之間是不同的。隨後,第一設備可以計算一或多個位元的數量及/或可以偵測一或多個位元的位置(例如,一或多個位元之每一者位元的相應索引)。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以基於對用於糾錯的操作模式526的應用,來決定與該組估計位元值相關聯的一組位元錯誤。該組位元錯誤可以包括一或多個位元的數量及/或位置,該一或多個位元在以下各項中的至少兩項之間是不同的:初始資料封包562的第一PDU資料,以及該組重傳資料封包564之每一者重傳資料封包的相應PDU資料之每一者PDU資料。
在操作822處,第一設備可以向較高層發送指示以下各項中的至少一項的至少一個位元錯誤品質度量:該組位元錯誤的一組位置,或該組位元錯誤的數量。例如,第一設備可以產生指示至少一個位元錯誤品質度量的訊息,並且第一設備可以將所產生的訊息提供給第一設備的較高層(例如,CODEC)。隨後,第一設備可以基於至少一個位元錯誤品質度量來使得輸出資料。例如,第一設備可以嘗試基於至少一個位元錯誤品質度量來糾正一或多個位元錯誤。例如,若糾正是成功的,則第一設備可以輸出音訊及/或視訊。若糾正是不成功的或者若第一設備沒有糾正位元錯誤,則第一設備可以輸出隱藏或丟棄原本要輸出的資料的資料(例如,音訊及/或視訊)(例如,被估計為包含在第一封包的有效負荷中的資料)。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以向槽設備的較高層(例如,CODEC)發送至少一個位元錯誤品質度量。至少一個位元錯誤品質度量可以指示由糾錯元件520辨識的一或多個位元錯誤的數量及/或位置。
參照圖9,流程圖圖示關於方法800的操作810描述的解碼校驗的方法900。從操作902開始,第一設備可以基於該組位元值來產生估計的CRC值。例如,第一設備可以基於第一封包的第一PDU資料(例如,有效負荷以及(若適用的話)MIC值)來產生估計的CRC值。第一設備可以辨識與第一封包的第一PDU資料相對應的一組位元值,並且第一設備可以基於所辨識的一組位元來計算估計的CRC值。在另一實例中,第一設備可以辨識基於應用第一操作模式而獲得的一組估計位元值,並且第一設備可以基於該組估計位元值來計算估計的CRC值。
例如,參照圖5,槽設備502(例如,CRC校驗元件514)可以基於該組位元值來計算估計的CRC值。在一個態樣中,該組位元值可以對應於初始資料封包562的PDU資料或該組重傳資料封包564中的至少一個重傳資料封包的PDU資料。在另一態樣中,該組位元值可以對應於由槽設備502(例如,糾錯元件520)產生的一組估計位元值,其是基於對操作模式526的應用而獲得的。
在操作904處,第一設備可以將所產生的CRC值與由封包所指示的CRC值進行比較。例如,第一設備可以將所產生的CRC值與由最近接收到的封包所指示的CRC值進行比較,並且第一設備可以基於該比較來決定所產生的CRC值是否與由最近接收到的資料封包所指示的CRC值匹配。
例如,參照圖5,槽設備502(例如,CRC校驗元件514)可以將估計的CRC值與由以下資料封包中的最近接收到的資料封包所指示的CRC值進行比較:初始資料封包562,或該組重傳資料封包564中的重傳資料封包。
在操作906處,若第一封包被加密,則第一設備可以基於該組位元值來產生估計的MIC值。例如,第一設備可以基於第一封包的第一有效負荷來產生估計的MIC值。第一設備可以辨識與第一封包的第一有效負荷相對應的一組位元值,並且第一設備可以基於所辨識的一組位元來計算估計的MIC值。在另一實例中,第一設備可以辨識基於應用第一操作模式而獲得的一組估計位元值,並且第一設備可以基於該組估計位元值來計算估計的MIC值。
例如,參照圖5,槽設備502(例如,解密元件516)可以基於一組位元值來計算估計的MIC值。在一個態樣中,該組位元值可以對應於初始資料封包562的有效負荷或該組重傳資料封包564中的至少一個重傳資料封包的有效負荷。在另一態樣中,該組位元值可以對應於由槽設備502(例如,糾錯元件520)產生的一組估計位元值,其是基於對操作模式526的應用而獲得的。
在操作908處,第一設備可以將所產生的MIC值與由封包所指示的MIC值進行比較。例如,第一設備可以將所產生的MIC值與由最近接收到的封包所指示的MIC值進行比較,並且第一設備可以基於該比較來決定所產生的MIC值是否與由最近接收到的資料封包所指示的MIC值匹配。
例如,參照圖5,槽設備502(例如,解密元件516)可以將估計的MIC值與由以下資料封包中的最近接收到的資料封包所指示的MIC值進行比較:初始資料封包562,或該組重傳資料封包564中的重傳資料封包。
參照圖10,流程圖圖示關於方法800的操作816所描述的對用於糾錯的第一操作模式的應用的方法1000。當邏輯鏈路包括ACL鏈路或A2DP鏈路之一時,可以實現方法1000。可以將第一操作模式選擇為軟合併操作模式。
在操作1002處,第一設備可以將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中。在一個態樣中,該組軟值之每一者軟值可以是基於第一封包的第一PDU資料的相應位元的三位元帶符號軟值。例如,對於為n
的封包大小,每個位元具有索引i
(其中0≤i
≤n
-1),當第一PDU資料的位元i
等於0時,第一設備可以辨識第一軟值,並且第一設備可以將第一軟值儲存在緩衝器索引i
中。此外,當第一PDU資料的位元i
等於1時,第一設備可以辨識第二軟值,並且第一設備可以將第一軟值儲存在緩衝器索引i
中。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中。在一個態樣中,該組軟值之每一者軟值可以是基於初始資料封包562的第一PDU資料的相應位元的三位元帶符號軟值。
在操作1004處,第一設備可以針對該組重傳封包之每一者重傳封包,將該組軟值之每一者軟值和帶符號值累加在該組緩衝器之每一者緩衝器中。在各態樣中,帶符號值中的每一者可以是基於該組重傳封包之每一者重傳封包的相應PDU資料的對應位元的。例如,當相應PDU資料的位元i
等於0時,第一設備可以辨識第一帶符號值,並且第一設備可以將第一帶符號值添加到緩衝器索引i
中的軟值。此外,當相應PDU資料的位元i
等於1時,第一設備可以辨識第二帶符號值,並且第一設備可以將第一帶符號值添加到緩衝器索引i
中的軟值。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以針對該組重傳資料封包564之每一者重傳資料封包,將該組軟值之每一者軟值和帶符號值累加在該組緩衝器之每一者緩衝器中。在各態樣中,帶符號值中的每一者可以是基於該組重傳資料封包564之每一者重傳資料封包的相應PDU資料的相應位元的。
在一些態樣中,該組緩衝器之每一者緩衝器可以受到最小閾值和最大閾值約束。因此,被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值可以不超過最小閾值並且可以不超過最大閾值。
在操作1006處,第一設備可以將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值。亦即,第一設備可以對所累加的軟值之每一者軟值進行硬切片以獲得一組估計位元值。例如,對於為n
的封包大小,當軟值處於第一範圍內時,可以將在緩衝器索引i
(其中0≤i
≤n
-1)處的軟值映射為0位元值,而當軟值處於不同於第一範圍的第二範圍內時,可以將其映射為1位元值。可以將經映射的位元值之每一者位元值儲存在一組估計位元值中,該組估計位元值可以被估計為最近接收到的資料封包的PDU資料。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值。槽設備502(例如,糾錯元件520)可以提供該組估計位元值以用於CRC驗證(例如,在CRC校驗元件514處)以及(若適用的話)MIC驗證(例如,在解密元件516處)。
在操作1008處,第一設備可以決定該組估計位元值是否通過解碼校驗(例如,如關於方法800的操作810所描述的)。例如,第一設備可以基於該組估計位元值來執行CRC驗證以及(若適用的話)MIC驗證。若CRC驗證或MIC驗證(若適用的話)失敗,則第一設備可以向第二設備傳輸NACK訊息。若CRC驗證和MIC驗證(若適用的話)是成功的,則第一設備可以向第二設備傳輸ACK訊息,並且可以將該組估計位元值提供給第一設備的較高層。
參照圖11,流程圖圖示關於方法800的操作816所描述的對用於糾錯的第一操作模式的應用的方法1100。當邏輯鏈路包括eSCO鏈路時,可以實現方法1100。第一操作模式可以被選擇為QBm操作模式。
在操作1102處,第一設備可以基於第一封包的第一PDU資料的第一組位元、該組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數。例如,對於為n
的封包大小,每個位元具有索引i
(其中0≤i
≤n
-1),第一設備可以基於第一組位元、第二組位元和第三組位元來執行複數個XOR運算。隨後,第一設備可以基於複數個XOR運算來決定在索引i
處的位元值。相應地,第一設備可以針對索引i
來決定在第一封包、該一個重傳封包和該另一重傳封包中的至少兩者上出現何者位元值(在0和1之間)。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以基於初始資料封包562的第一PDU資料的第一組位元、該組重傳資料封包564中的一個重傳資料封包的一個相應PDU資料的第二組位元,以及該組重傳資料封包564中的另一重傳資料封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數。
在操作1104處,第一設備可以基於執行逐位元多數函數來決定一組估計位元值。例如,第一設備可以辨識位元值中的針對每個索引i
的每個位元值,並且第一設備可以將所辨識的位元值之每一者位元值儲存為與最近接收到的封包相對應的PDU資料。在一些態樣中,第一設備亦可以基於該組估計位元值來決定一組位元錯誤品質度量,並且第一設備可以基於該組位元錯誤品質度量來嘗試糾正一或多個位元。例如,參照圖5,槽設備502(例如,糾錯元件520)可以基於執行逐位元多數函數來決定一組估計位元值。
參照圖12,流程圖圖示關於方法800的操作816所描述的對用於糾錯的第一操作模式的應用的方法1200。當邏輯鏈路包括ISO鏈路之一時,可以實現方法1200。第一操作模式可以被選擇為QBm-H操作模式。
在操作1202處,第一設備可以決定在該組重傳封包中接收的重傳封包的數量。例如,第一設備可以對該組重傳封包中的重傳封包的數量進行計數,並且第一設備可以將該數量與閾值數量(諸如三)進行比較。例如,參照圖5,槽設備(例如,糾錯元件520)可以決定在該組重傳資料封包564中接收的重傳資料封包的數量。
若重傳封包的數量小於三(例如,僅為二),則第一設備可以執行QBm操作模式,如在操作1204處所示。可以關於圖11的方法1100來描述QBm操作模式的操作。若第一設備能夠獲得通過解碼校驗的一組估計位元值,則第一設備可以傳輸ACK訊息,並且第一設備可以向第一設備的較高層發送該組估計位元值。
例如,參照圖5,槽設備502(例如,糾錯元件520)可以決定該組重傳資料封包564的數量。若重傳資料封包的數量小於三(例如,僅為二),則槽設備502(例如,糾錯元件520)可以執行QBm操作模式。
在操作1206處,當在所決定的一組估計位元值之後接收的額外重傳封包是第一封包的重傳時,第一設備可以丟棄該等額外重傳封包。例如,若第一設備能夠獲得通過解碼校驗的一組估計位元值及/或將一組位元錯誤品質度量提供給較高層(換言之,若第一設備已經從嘗試處理第一封包的有效負荷繼續進行),則第一設備可以傳輸ACK訊息,並且第一設備可以丟棄在該組估計位元值通過解碼校驗及/或將該組位元錯誤品質度量提供給較高層之後接收的額外重傳封包。例如,參照圖5,槽設備502(例如,糾錯元件520)可以丟棄在所決定的一組估計位元值之後接收的額外重傳資料封包。
若重傳封包的數量大於或等於三,則第一設備可以執行軟合併操作模式,如在操作1208處所示。可以關於圖10的方法1000來描述軟合併操作模式的操作。若第一設備無法獲得通過解碼校驗的一組估計位元值,則第一設備可以繼續接收數量大於或等於三的重傳封包,並且因此第一設備可以從QBm操作模式切換到軟合併操作模式,以便嘗試獲得通過解碼校驗的一組估計位元值。例如,參照圖5,槽設備502(例如,糾錯元件520)可以決定該組重傳資料封包564的數量。若重傳資料封包的數量大於或等於三,則槽設備502(例如,糾錯元件520)可以執行軟合併操作模式。
圖13是圖示示例性裝置1302中的不同構件/元件之間的資料流程的概念性資料流程圖1300。該裝置可以是第一設備(例如,無線設備102、周邊設備104、106、108、110、112、114、無線設備200、槽設備502),第一設備與第二設備1350(例如,無線設備102、周邊設備104、106、108、110、112、114、無線設備200、源設備550)相通訊。
裝置1302可以包括接收元件1304,其可以被配置為在邏輯鏈路上從第二設備1350接收信號。此外,裝置1302可以包括傳輸元件1312,其被配置為在邏輯鏈路上向第二設備1350傳輸信號。
裝置1302可以包括邏輯鏈路元件1314。邏輯鏈路元件1314可以與第二設備1350建立與短程通訊相關聯的邏輯鏈路。邏輯鏈路元件1314可以決定邏輯鏈路的類型。例如,邏輯鏈路元件1314可以基於存取位址或由在邏輯鏈路上接收的至少一個封包的至少一個標頭指示的LT_ADDR,來決定邏輯鏈路的類型。邏輯鏈路可以包括ACL鏈路、A2DP鏈路、eSCO鏈路或A2DP鏈路。
裝置1302可以包括操作模式元件1308。操作模式元件1308可以從邏輯鏈路元件1314接收邏輯鏈路的類型。操作模式元件1308可以基於邏輯鏈路,來從用於糾錯的複數種操作模式中選擇用於糾錯的第一操作模式。例如,當邏輯鏈路包括ACL或A2DP鏈路時,操作模式元件1308可以選擇軟合併操作模式。在另一實例中,當邏輯鏈路包括eSCO鏈路時,操作模式元件1308可以選擇QBm操作模式。在另一實例中,當邏輯鏈路包括ISO鏈路時,操作模式元件1308可以選擇QBm-H模式。
裝置1302可以包括解碼校驗元件1306。接收元件1304可以在邏輯鏈路上接收第一封包,並且可以將第一封包提供給解碼校驗元件1306。解碼校驗元件1306可以被配置為對第一封包執行CRC驗證以及(若適用的話)MIC驗證。
在各態樣中,解碼校驗元件1306可以被配置為針對(例如,從第一封包或重傳封包的PDU資料中獲得的,作為估計的一組位元從操作模式元件1308獲得的)一組位元執行CRC驗證。對於CRC驗證,解碼校驗元件1306可以基於一組位元來產生CRC值。解碼校驗元件1306可以將所產生的CRC值與由最近接收到的封包(例如,第一封包、重傳封包)指示的CRC值進行比較。當所產生的CRC值與由最近接收到的封包所指示的CRC值匹配時,解碼校驗元件1306可以決定該組位元至少部分地通過解碼校驗。當所產生的CRC值與由(對應於該組位元的或者該組位元所基於的)最近接收到的封包所指示的CRC值不匹配時,解碼校驗元件1306可以決定該組位元未能通過解碼校驗。
當第一封包被加密時,解碼校驗元件1306可以被配置為針對(例如,從第一封包或重傳封包的PDU資料中獲得的,作為估計的一組位元從操作模式元件1308獲得的)一組位元執行MIC驗證。對於MIC驗證,解碼校驗元件1306可以基於一組位元來產生MIC值。解碼校驗元件1306可以將所產生的MIC值與由最近接收到的封包(例如,第一封包、重傳封包)所指示的MIC值進行比較。當所產生的MIC值與由最近接收到的封包所指示的MIC值匹配時,解碼校驗元件1306可以決定該組位元至少部分地通過解碼校驗。當所產生的MIC值與由(對應於該組位元的或者該組位元所基於的)最近接收到的封包所指示的MIC值不匹配時,解碼校驗元件1306可以決定該組位元未能通過解碼校驗。
當第一封包通過解碼校驗時,則解碼校驗元件1306可以向第二設備1350傳輸ACK訊息。此外,解碼校驗元件1306可以將第一封包的有效負荷提供給裝置1302的解碼用元件1310。解碼用元件1310可以對有效負荷進行解碼,並且可以使得該裝置基於經解碼的有效負荷來輸出音訊及/或視訊。
當第一封包未能通過解碼校驗時,則解碼校驗元件1306可以向第二設備1350傳輸NACK訊息。接收元件1304可以從第二設備1350接收一組重傳封包中的至少一個重傳封包(例如,基於NACK訊息)。每當操作模式元件1308未能獲得通過解碼校驗的一組估計位元時,解碼校驗元件1306可以傳輸另一NACK訊息,並且接收元件可以接收該組重傳封包中的另一重傳封包。
解碼校驗元件1306可以對該組重傳封包之每一者重傳封包執行解碼校驗。此外,操作模式元件1308可以基於被包括在第一封包中的第一PDU資料和被包括在該組重傳封包的每個重傳封包中的相應PDU資料,來應用用於糾錯的第一操作模式。操作模式元件1308可以決定用於糾錯的第一操作模式。
當邏輯鏈路是ACL鏈路或A2DP鏈路中的一者並且第一操作模式包括軟合併操作模式時,操作模式元件1308可以將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,並且該組軟值之每一者軟值可以是基於第一封包的第一PDU資料的相應位元的三位元帶符號軟值。此外,操作模式元件1308可以針對該組重傳封包之每一者重傳封包,將該組軟值之每一者軟值和帶符號值累加在該組緩衝器之每一者緩衝器中,並且帶符號值中的每一者可以是基於該組重傳封包之每一者重傳封包的相應PDU資料的對應位元的。操作模式元件1308可以將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值。在一個態樣中,該組緩衝器之每一者緩衝器受到最小閾值和最大閾值約束,並且該組軟值中的在該組緩衝器之每一者緩衝器之每一者累加的軟值不超過最小閾值並且不超過最大閾值。
在一個態樣中,當第一封包與和用於對重傳封包之每一者重傳封包進行解密的相應亂數匹配的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併模式時,操作模式元件1308可以基於第一封包的包括第一有效負荷資料和第一MIC值的第一PDU資料,並且進一步基於該組重傳封包之每一者重傳封包的包括相應有效負荷資料和相應MIC值的相應PDU資料,來應用用於糾錯的第一操作模式。在一個態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料被解密。在另一態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料保持加密。
在一個態樣中,當第一封包與不同於與對該組重傳封包中的至少一個重傳封包的解密相關聯的相應亂數的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併模式時,操作模式元件1308可以基於被包括在第一封包的第一PDU資料中的第一有效負荷資料並且進一步基於被包括在該組重傳封包之每一者重傳封包的相應PDU資料中的相應有效負荷資料,來應用用於糾錯的第一操作模式。在一個態樣中,當第一封包的第一PDU資料包括第一MIC值時,並且當該組重傳封包之每一者重傳封包的相應PDU資料包括相應MIC值時,用於糾錯的第一操作模式是在不利用第一MIC值的情況下並且在不利用相應MIC值之每一者MIC值的情況下應用的。在一個態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料被解密。
操作模式元件1308可以將該組估計位元值提供給解碼校驗元件1306。解碼校驗元件1306可以決定該組估計位元值是否通過解碼校驗。當該組估計位元值通過解碼校驗時,解碼校驗元件1306可以將該組估計位元值的至少一部分提供給解碼用元件1310,解碼用元件1310可以對該組估計位元值進行解碼,如同其是第一封包的有效負荷。此外,解碼校驗元件1306可以向第二設備1350傳輸ACK訊息。
當該組估計位元值未能通過解碼校驗時,解碼校驗元件1306可以向第二設備1350傳輸NACK訊息,並且接收元件1304可以接收該組重傳封包中的另一重傳封包。操作模式元件1308可以繼續基於第一封包和該組重傳封包來應用於用於糾錯的第一操作模式。
當邏輯鏈路包括eSCO鏈路並且第一操作模式包括QBm模式時,操作模式元件1308可以基於第一封包的第一PDU資料的第一組位元、該組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元以及該組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數。操作模式元件1308可以基於對逐位元多數函數的執行來決定一組估計位元值。另外,操作模式元件1308可以基於該組估計位元值來決定一組位元錯誤品質度量。
當邏輯鏈路包括ISO鏈路並且第一操作模式包括QBm-H模式時,當該組重傳封包小於三時,操作模式元件1308可以執行QBm操作模式。在應用QBm操作模式並且獲得一組估計位元值(例如,其通過解碼校驗)之後,操作模式元件1308可以丟棄作為第一封包的重傳的額外重傳封包。當該組重傳封包的數量大於或等於三時,操作模式元件1308可以基於第一封包和該組重傳封包來執行用於糾錯的軟合併操作模式。
在應用第一操作模式時,操作模式元件1308可以基於對用於糾錯的第一操作模式的應用,來決定與該組估計位元值相關聯的一組位元錯誤。操作模式元件1308可以嘗試糾正所決定的組中的位元錯誤及/或可以將至少一個位元錯誤品質度量提供給解碼用元件1310(例如,以被糾正、隱藏或丟棄),至少一個位元錯誤品質度量指示以下各項中的至少一項:該組位元錯誤的一組位置,或者該組位元錯誤的數量。
該裝置可以包括執行上述圖6、圖8A-圖8B和圖9-圖12的流程圖中的演算法的方塊之每一者方塊的額外元件。因此,可以由元件執行上述圖6、圖8A-圖8B和圖9-圖12的流程圖之每一者方塊,並且該裝置可以包括彼等元件中的一或多個元件。元件可以是被專門配置為執行所述過程/演算法的一或多個硬體元件,由被配置為執行所述過程/演算法的處理器實現,儲存在電腦可讀取媒體內以用於由處理器來實現,或其某種組合。
圖14是圖示針對採用處理系統1414的裝置1302'的硬體實現的實例的圖1400。可以利用匯流排架構(通常由匯流排1424表示)來實現處理系統1414。匯流排1424可以包括任何數量的互連匯流排和橋接器,該數量取決於處理系統1414的特定應用和整體設計約束。匯流排1424將包括一或多個處理器及/或硬體元件(由處理器1404、元件1304、1306、1308、1310、1312、1314以及電腦可讀取媒體/記憶體1406表示)的各種電路連結到一起。匯流排1424亦可以將諸如時序源、周邊設備、電壓調節器以及功率管理電路之類的各種其他電路進行連結,該等其他電路是本領域公知的,並且因此將不再進行描述。
處理系統1414可以耦合到收發機1410。收發機1410耦合到一或多個天線1420。收發機1410提供用於在傳輸媒體上與各種其他裝置進行通訊的方式。收發機1410從一或多個天線1420接收信號,從所接收的信號中提取資訊,以及向處理系統1414(具體為接收元件1304)提供所提取的資訊。另外,收發機1410從處理系統1414(具體為傳輸元件1312)接收資訊,並且基於所接收到的資訊來產生要被施加到一或多個天線1420的信號。處理系統1414包括耦合到電腦可讀取媒體/記憶體1406的處理器1404。處理器1404負責一般的處理,其包括對儲存在電腦可讀取媒體/記憶體1406上的軟體的執行。軟體在由處理器1404執行時使得處理系統1414執行上文針對任何特定裝置所描述的各種功能。電腦可讀取媒體/記憶體1406亦可以用於儲存由處理器1404在執行軟體時所操縱的資料。處理系統1414亦包括元件1304、1306、1308、1310、1312、1314中的至少一者。元件可以是在處理器1404中執行的、駐存/儲存在電腦可讀取媒體/記憶體1406中的軟體元件、耦合到處理器1404的一或多個硬體元件,或其某種組合。
在一種配置中,用於無線通訊的裝置1302/1302'可以包括:用於與第二設備建立與短程通訊相關聯的邏輯鏈路的構件。裝置1302/1302'可以包括:用於接收被攜帶在邏輯鏈路上的第一封包的構件。裝置1302/1302'可以包括:用於當被包括在第一封包中的第一PDU資料通過解碼校驗時,向第一設備的較高層發送第一PDU資料的至少一部分的構件。當第一PDU資料未能通過解碼校驗時:裝置1302/1302'可以包括:用於基於邏輯鏈路來從用於糾錯的複數種操作模式中決定第一操作模式的構件;用於在邏輯鏈路上接收一組重傳封包的構件,該組重傳封包之每一者重傳封包包括作為第一PDU資料的重傳的相應PDU資料;及用於基於被包括在第一封包中的第一PDU資料和被包括在該組重傳封包之每一者重傳封包中的相應PDU資料來應用用於糾錯的第一操作模式的構件。
裝置1302/1302'可以包括:用於決定邏輯鏈路的類型的構件,其中用於糾錯的第一操作模式是基於邏輯鏈路的類型來決定的。在一個態樣中,邏輯鏈路的類型是基於存取位址或在邏輯鏈路上接收的至少一個封包的至少一個標頭指示的LT_ADDR中的至少一項來決定的。
在一個態樣中,邏輯鏈路包括ACL鏈路或A2DP鏈路中的一者,並且基於ACL鏈路或A2DP鏈路,第一操作模式包括軟合併模式。在一個態樣中,當第一封包與和用於對重傳封包之每一者重傳封包進行解密的相應亂數匹配的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併模式時,用於糾錯的第一操作模式是基於第一封包的包括第一有效負荷資料和第一MIC值的第一PDU資料並且進一步基於該組重傳封包之每一者重傳封包的包括相應有效負荷資料和相應MIC值的相應PDU資料來應用的。在一個態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料被解密。在另一態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料保持加密。
在一個態樣中,當第一封包與不同於與對該組重傳封包中的至少一個重傳封包的解密相關聯的相應亂數的、用於解密的第一亂數相關聯時,並且當用於糾錯的第一操作模式包括軟合併模式時,用於糾錯的第一操作模式是基於被包括在第一封包的第一PDU資料中的第一有效負荷資料並且進一步基於被包括在該組重傳封包之每一者重傳封包的相應PDU資料中的相應有效負荷資料來應用的。在一個態樣中,當第一封包的第一PDU資料包括第一MIC值時,並且當該組重傳封包之每一者重傳封包的相應PDU資料包括相應MIC值時,用於糾錯的第一操作模式是在不利用第一MIC值的情況下並且在不利用相應MIC值之每一者MIC值的情況下應用的。在一個態樣中,當應用用於糾錯的第一操作模式時,第一封包的第一PDU資料和該組重傳封包之每一者重傳封包的相應PDU資料被解密。
在一個態樣中,當用於糾錯的第一操作模式包括軟合併模式時,用於應用用於糾錯的第一操作模式的構件被配置為:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該組軟值之每一者軟值是基於第一封包的第一PDU資料的相應位元的三位元帶符號軟值;針對該組重傳封包之每一者重傳封包,將該組軟值之每一者軟值和帶符號值累加在該組緩衝器之每一者緩衝器中,帶符號值之每一者帶符號值是基於該組重傳封包之每一者重傳封包的相應PDU資料的對應位元的;將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該組估計位元值是否通過解碼校驗。在一個態樣中,該組緩衝器之每一者緩衝器受到最小閾值和最大閾值約束,並且被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值不超過最小閾值並且不超過最大閾值。
在一個態樣中,邏輯鏈路包括eSCO鏈路,並且基於eSCO鏈路,第一操作模式包括QBm模式。在一個態樣中,當用於糾錯的第一操作模式包括QBm模式時,用於應用用於糾錯的第一操作模式的構件被配置為:基於第一封包的第一PDU資料的第一組位元、該組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數;基於執行逐位元多數函數來決定一組估計位元值;及基於該組估計位元值來決定一組位元錯誤品質度量。
在一個態樣中,邏輯鏈路包括ISO鏈路,並且基於ISO鏈路,用於糾錯的第一操作模式包括QBm-H模式。在一個態樣中,當用於糾錯的第一操作模式包括QBm-H模式時,用於應用用於糾錯的第一操作模式的構件被配置為:基於第一封包的第一PDU資料的第一組位元、該組重傳封包中的一個重傳封包的一個相應PDU資料的第二組位元,以及該組重傳封包中的另一重傳封包的另一相應PDU資料的第三組位元,來執行逐位元多數函數;基於執行逐位元多數函數來決定一組估計位元值;基於該組估計位元值來決定一組位元錯誤品質度量;當在該組重傳封包中的該一個重傳封包和該另一重傳封包之後接收的一或多個額外重傳封包包括第一封包的第一PDU資料的重傳時,丟棄該一或多個額外重傳封包。在一個態樣中,當用於糾錯的第一操作模式包括QBm-H模式時,並且當該組重傳封包包括三個或更多個重傳封包時,用於應用用於糾錯的第一操作模式的構件被配置為:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該組軟值之每一者軟值是基於第一封包的第一PDU資料的相應位元的三位元帶符號軟值;針對該組重傳封包之每一者重傳封包,將該組軟值之每一者軟值和帶符號值累加該組緩衝器之每一者緩衝器中,帶符號值之每一者帶符號值是基於該組重傳封包之每一者重傳封包的相應PDU資料的對應位元的;將被累加在該組緩衝器之每一者緩衝器中的、該組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該組估計位元值是否通過解碼校驗。
在一個態樣中,裝置1302/1302'包括:用於基於該組估計位元值來產生估計的CRC值的構件,該組估計位元值是基於應用用於糾錯的第一操作模式來獲得的,該組估計位元值被估計為包括在第一PDU資料中;及用於將估計的CRC值與被包括在該組重傳封包中的最近接收到的重傳封包中的第一CRC值進行比較的構件,其中該組估計位元值基於將估計的CRC值與第一CRC值進行比較而通過解碼校驗,並且其中當所產生的CRC值不同於第一CRC值時,該組估計位元值未能通過解碼校驗。
在一個態樣中,裝置1302/1302'包括:用於基於該組估計位元值來產生估計的訊息完整性碼(MIC)值的構件;及用於將估計的MIC值與被包括在該組重傳封包中的最近接收到的重傳封包中的第一MIC值進行比較的構件,其中當估計的CRC值與第一CRC值匹配並且估計的MIC值與第一MIC值匹配時,該組估計位元值通過解碼校驗,並且其中當估計的CRC值不同於第一CRC值時,或者當估計的MIC值不同於第一MIC值時,該組估計位元值未能通過解碼校驗。
在一個態樣中,裝置1302/1302'包括:用於向第一設備的較高層發送基於應用用於糾錯的第一操作模式而獲得的一組估計位元值的構件,該組估計位元值被估計為第一PDU資料的至少一部分。在一個態樣中,裝置1302/1302'包括:用於基於應用用於糾錯的第一操作模式來決定與該組估計位元值相關聯的一組位元錯誤的構件;用於向第一設備的較高層發送指示以下各項中的至少一項的至少一個位元錯誤品質度量的構件:該組位元錯誤的一組位置,或者該組位元錯誤的數量。
前述構件可以是以下各項中的一項或多項:圖2中的前述處理器202、短程通訊控制器252及/或無線電單元230、裝置1302的元件,及/或裝置1302'的處理系統1414,其被配置為執行由前述構件所記載的功能。
應當理解的是,所揭示的過程/流程圖中的方塊的特定次序或層次是對示例性方法的說明。應當理解的是,基於設計偏好,可以重新排列過程/流程圖中的方塊的特定次序或層次。此外,可以合併或省略一些方塊。所附的方法請求項以取樣次序提供了各個方塊的元素,而並不意味著限於所提供的特定次序或層次。
提供前面的描述以使得任何熟習此項技術者能夠實施本文描述的各個態樣。對該等態樣的各種修改對於熟習此項技術者而言將是顯而易見的,以及本文所定義的一般原理可以應用到其他態樣。因此,請求項並不意欲限於本文所展示的態樣,而是被賦予與文字請求項相一致的全部範疇,其中除非明確地聲明如此,否則提及單數形式的元素並不意欲意指「一個且僅僅一個」,而是「一或多個」。本文使用「示例性」一詞意味著「用作示例、實例或說明」。本文中描述為「示例性」的任何態樣未必被解釋為比其他態樣更佳或者有優勢。除非另有明確聲明,否則術語「一些」指的是一或多個。諸如「A、B或C中的至少一個」、「A、B,或C中的一或多個」、「A、B和C中的至少一個」、「A、B和C中的一或多個」,以及「A、B、C或其任意組合」之類的組合包括A、B及/或C的任意組合,並且可以包括A的倍數、B的倍數或C的倍數。具體地,諸如「A、B或C中的至少一個」、「A、B,或C中的一或多個」、「A、B和C中的至少一個」、「A、B和C中的一或多個」,以及「A、B、C或其任意組合」之類的組合可以是僅A、僅B、僅C、A和B、A和C、B和C,或A和B和C,其中任何此種組合可以包含A、B或C中的一或多個成員或數個成員。貫穿本案內容描述的各個態樣的元素的全部結構和功能均等物以引用方式明確地併入本文中,並且意欲由請求項來包含,其中全部結構和功能均等物對於一般技術者而言是已知的或者稍後將是已知的。此外,本文中沒有任何揭示內容是想要奉獻給公眾的,不管此種揭示內容是否明確記載在請求項中。詞語「模組」、「機制」、「元素」、「設備」等等可以不是詞語「構件」的替代。因此,沒有請求項元素要被解釋為構件加功能,除非該元素是明確地使用短語「用於……的構件」來記載的。
100:無線個人區域網路(WPAN)
102:中央無線設備
104:周邊設備
106:周邊設備
108:周邊設備
110:周邊設備
112:耳機
114:周邊設備
116:邏輯鏈路
120:初始資料封包
122:重傳資料封包
200:無線設備
202:處理器
204:顯示器電路系統
206:記憶體
208:ROM
210:快閃記憶體
220:連接器介面
230:無線電單元
235a:天線
235b:天線
235c:天線
235d:天線
240:記憶體管理單元(MMU)
242:顯示器
250:WLAN控制器
254:共存介面
300:BT協定堆疊
302:應用層
304:主機堆疊
306:控制器堆疊
308:物件交換(OBEX)層
310:射頻通訊(RFCOMM)層
312:服務探索協定(SDP)層
314:邏輯鏈路控制和調適協定(L2CAP)層
316:主機控制器介面(HCI)
318:鏈路管理器
320:鏈路控制器
322:PHY層
326:應用程式
328:簡介
350:BLE協定堆疊
352:應用層
354:主機堆疊
356:控制器堆疊
358:應用程式
360:通用存取簡介(GAP)
362:通用屬性協定(GATT)
364:安全管理器(SM)
366:屬性協定(ATT)
368:L2CAP層
370:鏈路層
372:PHY層
374:HCI
400:資料封包
402:前序信號
404:同步字
406:尾部
412:PDU
414:CRC
422:標頭
424:有效負荷
426:MIC
428:LT_ADDR
450:資料封包
452:前序信號
454:存取位址
456:PDU
458:CRC
462:標頭
464:有效負荷
468:MIC
500:無線通訊系統
502:槽設備
504:加密元件
506:CRC產生元件
508:白化元件
510:RF介面
512:去白化元件
514:CRC校驗元件
516:解密元件
520:糾錯元件
522:解密
524:加密
526:操作模式
550:源設備
552:邏輯鏈路
560:第一封包
562:初始資料封包
564:重傳資料封包
582:回饋訊息
600:方法
602:操作
604:操作
606:操作
608:操作
610:操作
612:操作
614:操作
616:操作
620:操作
622:操作
624:操作
626:操作
628:操作
630:操作
632:操作
634:操作
636:操作
638:操作
640:操作
642:操作
700:軟合併操作模式
706a:TX訊息A
706b:TX訊息B
706c:TX訊息C
706d:TX訊息D
708a:位元錯誤
708b:位元錯誤
708c:位元錯誤
708d:位元錯誤
712a:RX訊息A
712b:RX訊息B
712c:RX訊息C
712d:RX訊息D
716a:緩衝
716b:緩衝
716c:緩衝
716d:緩衝
718a:解碼
718b:解碼
718c:解碼
718d:解碼
720a:CRC驗證
720b:CRC驗證
720c:CRC驗證
720d:CRC驗證
722a:MIC驗證
722b:MIC驗證
722c:MIC驗證
722d:MIC驗證
724a:NACK訊息
724b:NACK訊息
724c:NACK訊息
724d:ACK訊息
746a:TX訊息2A
748a:位元錯誤
752a:RX訊息2A
756a:緩衝
758a:解碼
760a:CRC驗證
762a:MIC驗證
800:方法
802:操作
804:操作
806:操作
808:操作
810:操作
812:操作
814:操作
816:操作
818:操作
820:操作
822:操作
900:方法
902:操作
904:操作
906:操作
908:操作
1000:方法
1002:操作
1004:操作
1006:操作
1008:操作
1100:方法
1102:操作
1104:操作
1200:方法
1202:操作
1204:操作
1206:操作
1208:操作
1300:概念性資料流程圖
1302:裝置
1302':裝置
1304:接收元件
1306:解碼校驗元件
1308:操作模式元件
1310:解碼用元件
1312:傳輸元件
1314:邏輯鏈路元件
1350:第二設備
1400:圖
1404:處理器
1406:電腦可讀取媒體/記憶體
1410:收發機
1414:處理系統
1420:天線
1424:匯流排
圖1是圖示根據本案內容的某些態樣的短程無線通訊系統的實例的圖。
圖2是根據本案內容的某些態樣的短程無線通訊設備的方塊圖。
圖3A是圖示根據本案內容的某些態樣的可以由藍芽(BT)設備實現的BT協定堆疊的圖。
圖3B是圖示根據本案內容的某些態樣的可以由BT低能(BLE)設備實現的BLE協定堆疊的圖。
圖4A是圖示根據本案內容的某些態樣的BT資料封包的圖。
圖4B是圖示根據本案內容的某些態樣的BLE資料封包的圖。
圖5是圖示根據本案內容的某些態樣的短程無線通訊系統的圖。
圖6是根據本案內容的某些態樣的在短程無線通訊系統中進行糾錯的方法的流程圖。
圖7是根據本案內容的某些態樣的在短程無線通訊系統中進行糾錯的圖。
圖8A-圖8B是根據本案內容的某些態樣的在短程無線通訊系統中進行糾錯的方法的流程圖。
圖9是根據本案內容的某些態樣的在短程無線通訊系統中執行解碼校驗的方法的流程圖。
圖10是圖示根據本案內容的某些態樣的在短程無線通訊系統中應用用於糾錯的操作模式的方法的第一態樣的流程圖。
圖11是圖示根據本案內容的某些態樣的在短程無線通訊系統中應用用於糾錯的操作模式的方法的第二態樣的流程圖。
圖12是圖示根據本案內容的某些態樣的在短程無線通訊系統中應用用於糾錯的操作模式的方法的第三態樣的流程圖。
圖13是圖示在示例性裝置中的不同構件/元件之間的資料流程的概念性資料流程圖。
圖14是圖示針對採用處理系統的裝置的硬體實現方式的實例的圖。
100:無線個人區域網路(WPAN)
102:中央無線設備
104:周邊設備
106:周邊設備
108:周邊設備
110:周邊設備
112:耳機
114:周邊設備
116:邏輯鏈路
120:初始資料封包
122:重傳資料封包
Claims (61)
- 一種由一第一設備進行無線通訊的方法,該方法包括以下步驟:與一第二設備建立與短程通訊相關聯的一邏輯鏈路,該短程通訊提供到離該第一設備在一閾值距離內的設備的連接性;接收被攜帶在該邏輯鏈路上的一第一封包;當被包括在該第一封包中的第一封包資料單元(PDU)資料通過一解碼校驗時,向該第一設備的一較高層發送該第一PDU資料的至少一部分;及當該第一PDU資料未能通過該解碼校驗時:基於該邏輯鏈路的一類型,從用於糾錯的複數種操作模式中決定一第一操作模式;在該邏輯鏈路上接收一組重傳封包,該一組重傳封包之每一者重傳封包包括作為該第一PDU資料的一重傳的相應PDU資料;及基於被包括在該第一封包中的該第一PDU資料和被包括在該一組重傳封包之每一者重傳封包中的該相應PDU資料,來應用用於糾錯的該第一操作模式。
- 根據請求項1之方法,亦包括以下步驟:決定該邏輯鏈路的該類型,其中用於糾錯的該第一操作模式是基於該邏輯鏈路的該類型來決定的。
- 根據請求項2之方法,其中邏輯鏈路的該類型是基於一存取位址(AA)或由在該邏輯鏈路上接收的 至少一個封包的至少一個標頭指示的一邏輯傳輸位址(LT_ADDR)中的至少一項來決定的。
- 根據請求項1之方法,其中該邏輯鏈路包括一非同步無連接(ACL)鏈路或一高級音訊分發簡介(A2DP)鏈路中的一者,並且基於該ACL鏈路或該A2DP鏈路,該第一操作模式包括一軟合併模式。
- 根據請求項4之方法,其中當該第一封包與和用於對該等重傳封包之每一者重傳封包進行解密的一相應亂數匹配的、用於解密的一第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於該第一封包的包括第一有效負荷資料和一第一訊息完整性碼(MIC)值的該第一PDU資料、並且進一步基於該一組重傳封包之每一者重傳封包的包括相應有效負荷資料和一相應MIC值的該相應PDU資料來應用的。
- 根據請求項5之方法,其中當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
- 根據請求項4之方法,其中當該第一封包與不同於與對該一組重傳封包中的至少一個重傳封包的解密相關聯的一相應亂數的、用於解密的一第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於被包括在該 第一封包的該第一PDU資料中的第一有效負荷資料、並且進一步基於被包括在該一組重傳封包之每一者重傳封包的該相應PDU資料中的相應有效負荷資料來應用的。
- 根據請求項7之方法,其中當該第一封包的該第一PDU資料包括一第一訊息完整性碼(MIC)值時,並且當該一組重傳封包之每一者重傳封包的該相應PDU資料包括一相應MIC值時,用於糾錯的該第一操作模式是在不利用該第一MIC值的情況下並且在不利用該等相應MIC值之每一者MIC值的情況下應用的。
- 根據請求項7之方法,其中當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
- 根據請求項4之方法,其中當用於糾錯的該第一操作模式包括該軟合併模式時,該應用用於糾錯的該第一操作模式包括:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的一相應位元的一三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和一帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於 該一組重傳封包中的該每個重傳封包的該相應PDU資料的一對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
- 根據請求項10之方法,其中該一組緩衝器之每一者緩衝器受到一最小閾值和一最大閾值約束,並且被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值不超過該最小閾值並且不超過該最大閾值。
- 根據請求項1之方法,其中該邏輯鏈路包括一擴展同步連接導向(eSCO)鏈路,並且基於該eSCO鏈路,該第一操作模式包括一品質位元遮罩(QBm)模式。
- 根據請求項12之方法,其中當用於糾錯的該第一操作模式包括該QBm模式時,該應用用於糾錯的該第一操作模式之步驟包括以下步驟:基於該第一封包的該第一PDU資料的一第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的一第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的一第三組位元,來執行一逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值; 及基於該一組估計位元值來決定一組位元錯誤品質度量。
- 根據請求項1之方法,其中該邏輯鏈路包括一等時(ISO)鏈路,並且基於該ISO鏈路,用於糾錯的該第一操作模式包括一品質位元遮罩混合(QBm-H)模式。
- 根據請求項14之方法,其中當用於糾錯的該第一操作模式包括該QBm-H模式時,該應用用於糾錯的該第一操作模式之步驟包括以下步驟:基於該第一封包的該第一PDU資料的一第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的一第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的一第三組位元,來執行一逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值;基於該一組估計位元值來決定一組位元錯誤品質度量;及當在該一組重傳封包中的該一個重傳封包和該另一重傳封包之後接收的一或多個額外重傳封包包括該第一封包的該第一PDU資料的一重傳時,丟棄該一或多個額外重傳封包。
- 根據請求項14之方法,其中當用於糾錯的 該第一操作模式包括該QBm-H模式時,並且當該一組重傳封包包括三個或更多個重傳封包時,該應用用於糾錯的該第一操作模式之步驟包括以下步驟:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的一相應位元的一三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和一帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的一對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
- 根據請求項1之方法,亦包括以下步驟:基於一組估計位元值來產生一估計的循環冗餘校驗(CRC)值,該一組估計位元值是基於該應用用於糾錯的該第一操作模式來獲得的,該一組估計位元值被估計以被包括在該第一PDU資料中;及將該估計的CRC值與被包括在該一組重傳封包中的一最近接收到的重傳封包中的一第一CRC值進行比較, 其中基於該將該估計的CRC值與該第一CRC值進行比較,該一組估計位元值通過該解碼校驗,並且其中當所產生的該CRC值不同於該第一CRC值時,該一組估計位元值未能通過該解碼校驗。
- 根據請求項17之方法,亦包括以下步驟:基於該一組估計位元值來產生一估計的訊息完整性碼(MIC)值;及將該估計的MIC值與被包括在該一組重傳封包中的一最近接收到的重傳封包中的一第一MIC值進行比較,其中當該估計的CRC值與該第一CRC值匹配並且該估計的MIC值與該第一MIC值匹配時,該一組估計位元值通過該解碼校驗,並且其中當該估計的CRC值不同於該第一CRC值時或者當該估計的MIC值不同於該第一MIC值時,該一組估計位元值未能通過該解碼校驗。
- 根據請求項1之方法,亦包括以下步驟:向該第一設備的該較高層發送一組估計位元值,該一組估計位元值是基於該應用用於糾錯的該第一操作模式而獲得的,該一組估計位元值被估計為第一PDU資料的該至少一部分。
- 根據請求項19之方法,亦包括以下步驟:基於該應用用於糾錯的該第一操作模式,來決定與該一組估計位元值相關聯的一組位元錯誤; 向該第一設備的該較高層發送至少一個位元錯誤品質度量,該至少一個位元錯誤度量指示以下各項中的至少一項:該一組位元錯誤的一組位置,或該一組位元錯誤的一數量。
- 一種用於由一第一設備進行之無線通訊的裝置,該裝置包括:一記憶體;及至少一個處理器,其耦合到該記憶體並且被配置為:與一第二設備建立與短程通訊相關聯的一邏輯鏈路,該短程通訊提供到離該第一設備在一閾值距離內的設備的連接性;接收被攜帶在該邏輯鏈路上的一第一封包;當被包括在該第一封包中的第一封包資料單元(PDU)資料通過一解碼校驗時,向該第一設備的一較高層發送該第一PDU資料的至少一部分;及當該第一PDU資料未能通過該解碼校驗時:基於該邏輯鏈路的一類型,從用於糾錯的複數種操作模式中決定一第一操作模式;在該邏輯鏈路上接收一組重傳封包,該一組重傳封包之每一者重傳封包包括作為該第一PDU資料的一重傳的相應PDU資料;及基於被包括在該第一封包中的該第一PDU資料和被包括在該一組重傳封包之每一者重傳封包中的該相應PDU資料,來應用用於糾錯的該第一操作 模式。
- 根據請求項21之裝置,其中該至少一個處理器亦被配置為:決定該邏輯鏈路的該類型,其中用於糾錯的該第一操作模式是基於該邏輯鏈路的該類型來決定的。
- 根據請求項22之裝置,其中邏輯鏈路的該類型是基於一存取位址(AA)或由在該邏輯鏈路上接收的至少一個封包的至少一個標頭指示的一邏輯傳輸位址(LT_ADDR)中的至少一項來決定的。
- 根據請求項21之裝置,其中該邏輯鏈路包括一非同步無連接(ACL)鏈路或一高級音訊分發簡介(A2DP)鏈路中的一者,並且基於該ACL鏈路或該A2DP鏈路,該第一操作模式包括一軟合併模式。
- 根據請求項24之裝置,其中當該第一封包與和用於對該等重傳封包之每一者重傳封包進行解密的一相應亂數匹配的、用於解密的一第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於該第一封包的包括第一有效負荷資料和一第一訊息完整性碼(MIC)值的該第一PDU資料、並且進一步基於該一組重傳封包之每一者重傳封包的包括相應有效負荷資料和一相應MIC值的該相應PDU資料來應用的。
- 根據請求項25之裝置,其中當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU 資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
- 根據請求項24之裝置,其中當該第一封包與不同於與對該一組重傳封包中的至少一個重傳封包的解密相關聯的一相應亂數的、用於解密的一第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於被包括在該第一封包的該第一PDU資料中的第一有效負荷資料、並且進一步基於被包括在該一組重傳封包之每一者重傳封包的該相應PDU資料中的相應有效負荷資料來應用的。
- 根據請求項27之裝置,其中當該第一封包的該第一PDU資料包括一第一訊息完整性碼(MIC)值時,並且當該一組重傳封包之每一者重傳封包的該相應PDU資料包括一相應MIC值時,用於糾錯的該第一操作模式是在不利用該第一MIC值的情況下並且在不利用該相應MIC值之每一者MIC值的情況下應用的。
- 根據請求項27之裝置,其中當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
- 根據請求項24之裝置,其中當用於糾錯的該第一操作模式包括該軟合併模式時,該應用用於糾錯的該第一操作模式包括: 將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的一相應位元的一三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和一帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的一對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
- 根據請求項30之裝置,其中該一組緩衝器之每一者緩衝器受到一最小閾值和一最大閾值約束,並且被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值不超過該最小閾值並且不超過該最大閾值。
- 根據請求項21之裝置,其中該邏輯鏈路包括一擴展同步連接導向(eSCO)鏈路,並且基於該eSCO鏈路,該第一操作模式包括一品質位元遮罩(QBm)模式。
- 根據請求項32之裝置,其中當用於糾錯的該第一操作模式包括該QBm模式時,該應用用於糾錯 的該第一操作模式包括:基於該第一封包的該第一PDU資料的一第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的一第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的一第三組位元,來執行一逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值;及基於該一組估計位元值來決定一組位元錯誤品質度量。
- 根據請求項21之裝置,其中該邏輯鏈路包括一等時(ISO)鏈路,並且基於該ISO鏈路,用於糾錯的該第一操作模式包括一品質位元遮罩混合(QBm-H)模式。
- 根據請求項34之裝置,其中當用於糾錯的該第一操作模式包括該QBm-H模式時,該應用用於糾錯的該第一操作模式包括:基於該第一封包的該第一PDU資料的一第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的一第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的一第三組位元,來執行一逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值; 基於該一組估計位元值來決定一組位元錯誤品質度量;及當在該一組重傳封包中的該一個重傳封包和該另一重傳封包之後接收的一或多個額外重傳封包包括該第一封包的該第一PDU資料的一重傳時,丟棄該一或多個額外重傳封包。
- 根據請求項34之裝置,其中當用於糾錯的該第一操作模式包括該QBm-H模式時,並且當該一組重傳封包包括三個或更多個重傳封包時,該應用用於糾錯的該第一操作模式包括:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的一相應位元的一三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和一帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的一對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
- 根據請求項21之裝置,其中該至少一個處 理器亦被配置為:基於一組估計位元值來產生一估計的循環冗餘校驗(CRC)值,該一組估計位元值是基於該應用用於糾錯的該第一操作模式來獲得的,該一組估計位元值被估計以被包括在該第一PDU資料中;及將該估計的CRC值與被包括在該一組重傳封包中的一最近接收到的重傳封包中的一第一CRC值進行比較,其中基於該將該估計的CRC值與該第一CRC值進行比較,該一組估計位元值通過該解碼校驗,並且其中當所產生的該CRC值不同於該第一CRC值時,該一組估計位元值未能通過該解碼校驗。
- 根據請求項37之裝置,其中該至少一個處理器亦被配置為:基於該一組估計位元值來產生一估計的訊息完整性碼(MIC)值;及將該估計的MIC值與被包括在該一組重傳封包中的一最近接收到的重傳封包中的一第一MIC值進行比較,其中當該估計的CRC值與該第一CRC值匹配並且該估計的MIC值與該第一MIC值匹配時,該一組估計位元值通過該解碼校驗,並且其中當該估計的CRC值不同於該第一CRC值時或者當該估計的MIC值不同於該第一MIC值時,該一組估計位元值未能通過該解碼校 驗。
- 根據請求項21之裝置,其中該至少一個處理器亦被配置為:向該第一設備的該較高層發送一組估計位元值,該一組估計位元值是基於該應用用於糾錯的該第一操作模式而獲得的,該一組估計位元值被估計為第一PDU資料的該至少一部分。
- 根據請求項39之裝置,其中該至少一個處理器亦被配置為:基於該應用用於糾錯的該第一操作模式,來決定與該一組估計位元值相關聯的一組位元錯誤;向該第一設備的該較高層發送至少一個位元錯誤品質度量,該至少一個位元錯誤度量指示以下各項中的至少一項:該一組位元錯誤的一組位置,或該一組位元錯誤的一數量。
- 一種用於由一第一設備進行之無線通訊的裝置,該裝置包括:用於與一第二設備建立與短程通訊相關聯的一邏輯鏈路的構件,該短程通訊提供到離該第一設備在一閾值距離內的設備的連接性;用於接收被攜帶在該邏輯鏈路上的一第一封包的構件;用於當被包括在該第一封包中的第一封包資料單元(PDU)資料通過一解碼校驗時,向該第一設備的一較 高層發送該第一PDU資料的至少一部分的構件;及當該第一PDU資料未能通過該解碼校驗時:用於基於該邏輯鏈路的一類型,從用於糾錯的複數種操作模式中決定一第一操作模式的構件;用於在該邏輯鏈路上接收一組重傳封包的構件,該一組重傳封包之每一者重傳封包包括作為該第一PDU資料的一重傳的相應PDU資料;及用於基於被包括在該第一封包中的該第一PDU資料和被包括在該一組重傳封包之每一者重傳封包中的該相應PDU資料,來應用用於糾錯的該第一操作模式的構件。
- 根據請求項41之裝置,亦包括:用於決定該邏輯鏈路的該類型的構件,其中用於糾錯的該第一操作模式是基於該邏輯鏈路的該類型來決定的。
- 根據請求項42之裝置,其中邏輯鏈路的該類型是基於一存取位址(AA)或由在該邏輯鏈路上接收的至少一個封包的至少一個標頭指示的一邏輯傳輸位址(LT_ADDR)中的至少一項來決定的。
- 根據請求項41之裝置,其中該邏輯鏈路包括一非同步無連接(ACL)鏈路或一高級音訊分發簡介(A2DP)鏈路中的一者,並且基於該ACL鏈路或該A2DP鏈路,該第一操作模式包括一軟合併模式。
- 根據請求項44之裝置,其中當該第一封包 與和用於對該等重傳封包之每一者重傳封包進行解密的一相應亂數匹配的、用於解密的一第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於該第一封包的包括第一有效負荷資料和一第一訊息完整性碼(MIC)值的該第一PDU資料、並且進一步基於該一組重傳封包之每一者重傳封包的包括相應有效負荷資料和一相應MIC值的該相應PDU資料來應用的。
- 根據請求項45之裝置,其中當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
- 根據請求項44之裝置,其中當該第一封包與不同於與對該一組重傳封包中的至少一個重傳封包的解密相關聯的一相應亂數的、用於解密的一第一亂數相關聯時,並且當用於糾錯的該第一操作模式包括該軟合併模式時,用於糾錯的該第一操作模式是基於被包括在該第一封包的該第一PDU資料中的第一有效負荷資料、並且進一步基於被包括在該一組重傳封包之每一者重傳封包的該相應PDU資料中的相應有效負荷資料來應用的。
- 根據請求項47之裝置,其中當該第一封包的該第一PDU資料包括一第一訊息完整性碼(MIC)值時,並且當該一組重傳封包之每一者重傳封包的該相 應PDU資料包括一相應MIC值時,用於糾錯的該第一操作模式是在不利用該第一MIC值的情況下並且在不利用該等相應MIC值之每一者MIC值的情況下應用的。
- 根據請求項47之裝置,其中當用於糾錯的該第一操作模式被應用時,該第一封包的該第一PDU資料和該一組重傳封包之每一者重傳封包的該相應PDU資料被解密。
- 根據請求項44之裝置,其中當用於糾錯的該第一操作模式包括該軟合併模式時,該用於應用用於糾錯的該第一操作模式的構件被配置為:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的一相應位元的一三位元帶符號軟值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和一帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的一對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
- 根據請求項50之裝置,其中該一組緩衝器之每一者緩衝器受到一最小閾值和一最大閾值約束,並且被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值不超過該最小閾值並且不超過該最大閾值。
- 根據請求項41之裝置,其中該邏輯鏈路包括一擴展同步連接導向(eSCO)鏈路,並且基於該eSCO鏈路,該第一操作模式包括一品質位元遮罩(QBm)模式。
- 根據請求項52之裝置,其中當用於糾錯的該第一操作模式包括該QBm模式時,該用於應用用於糾錯的該第一操作模式的構件被配置為:基於該第一封包的該第一PDU資料的一第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的一第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的一第三組位元,來執行一逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值;及基於該一組估計位元值來決定一組位元錯誤品質度量。
- 根據請求項51之裝置,其中該邏輯鏈路包括一等時(ISO)鏈路,並且基於該ISO鏈路,用於糾錯的該第一操作模式包括一品質位元遮罩混合 (QBm-H)模式。
- 根據請求項54之裝置,其中當用於糾錯的該第一操作模式包括該QBm-H模式時,該用於應用用於糾錯的該第一操作模式的構件被配置為:基於該第一封包的該第一PDU資料的一第一組位元、該一組重傳封包中的一個重傳封包的一個相應PDU資料的一第二組位元,以及該一組重傳封包中的另一重傳封包的另一相應PDU資料的一第三組位元,來執行一逐位元多數函數;基於該執行該逐位元多數函數來決定一組估計位元值;基於該一組估計位元值來決定一組位元錯誤品質度量;及當在該一組重傳封包中的該一個重傳封包和該另一重傳封包之後接收的一或多個額外重傳封包包括該第一封包的該第一PDU資料的一重傳時,丟棄該一或多個額外重傳封包。
- 根據請求項54之裝置,其中當用於糾錯的該第一操作模式包括該QBm-H模式時,並且當該一組重傳封包包括三個或更多個重傳封包時,該用於應用用於糾錯的該第一操作模式的構件被配置為:將一組軟值之每一者軟值儲存在一組緩衝器之每一者緩衝器中,該一組軟值之每一者軟值是基於該第一封包的該第一PDU資料的一相應位元的一三位元帶符號軟 值;針對該一組重傳封包之每一者重傳封包,將該一組軟值之每一者軟值和一帶符號值累加在該一組緩衝器之每一者緩衝器中,該等帶符號值之每一者帶符號值是基於該一組重傳封包中的該每個重傳封包的該相應PDU資料的一對應位元的;將被累加在該一組緩衝器之每一者緩衝器中的、該一組軟值之每一者累加的軟值映射到一組估計位元值中的一個一位元值;及決定該一組估計位元值是否通過該解碼校驗。
- 根據請求項41之裝置,亦包括:用於基於一組估計位元值來產生一估計的循環冗餘校驗(CRC)值的構件,該一組估計位元值是基於該應用用於糾錯的該第一操作模式來獲得的,該一組估計位元值被估計以被包括在該第一PDU資料中;及用於將該估計的CRC值與被包括在該一組重傳封包中的一最近接收到的重傳封包中的一第一CRC值進行比較的構件,其中基於該將該估計的CRC值與該第一CRC值進行比較,該一組估計位元值通過該解碼校驗,並且其中當所產生的該CRC值不同於該第一CRC值時,該一組估計位元值未能通過該解碼校驗。
- 根據請求項57之裝置,亦包括:用於基於該一組估計位元值來產生一估計的訊息完整 性碼(MIC)值的構件;及用於將該估計的MIC值與被包括在該一組重傳封包中的一最近接收到的重傳封包中的一第一MIC值進行比較的構件,其中當該估計的CRC值與該第一CRC值匹配並且該估計的MIC值與該第一MIC值匹配時,該一組估計位元值通過該解碼校驗,並且其中當該估計的CRC值不同於該第一CRC值時或者當該估計的MIC值不同於該第一MIC值時,該一組估計位元值未能通過該解碼校驗。
- 根據請求項41之裝置,亦包括:用於向該第一設備的該較高層發送一組估計位元值的構件,該一組估計位元值是基於該應用用於糾錯的該第一操作模式而獲得的,該一組估計位元值被估計為第一PDU資料的該至少一部分。
- 根據請求項59之裝置,亦包括:用於基於該應用用於糾錯的該第一操作模式,來決定與該一組估計位元值相關聯的一組位元錯誤的構件;及用於向該第一設備的該較高層發送至少一個位元錯誤品質度量的構件,該至少一個位元錯誤度量指示以下各項中的至少一項:該一組位元錯誤的一組位置,或該一組位元錯誤的一數量。
- 一種儲存用於由一第一設備進行無線通訊的電腦可執行代碼的非暫時性電腦可讀取媒體,包括用於 進行以下操作的代碼:與一第二設備建立與短程通訊相關聯的一邏輯鏈路,該短程通訊提供到離該第一設備在一閾值距離內的設備的連接性;接收被攜帶在該邏輯鏈路上的一第一封包;當被包括在該第一封包中的第一封包資料單元(PDU)資料通過一解碼校驗時,向該第一設備的一較高層發送該第一PDU資料的至少一部分;及當該第一PDU資料未能通過該解碼校驗時:基於該邏輯鏈路的一類型,從用於糾錯的複數種操作模式中決定一第一操作模式;在該邏輯鏈路上接收一組重傳封包,該一組重傳封包之每一者重傳封包包括作為該第一PDU資料的一重傳的相應PDU資料;及基於被包括在該第一封包中的該第一PDU資料和被包括在該一組重傳封包之每一者重傳封包中的該相應PDU資料,來應用用於糾錯的該第一操作模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/268,395 | 2019-02-05 | ||
US16/268,395 US10911184B2 (en) | 2019-02-05 | 2019-02-05 | Error correction for data packets in short-range wireless communications systems |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202038569A TW202038569A (zh) | 2020-10-16 |
TWI745841B true TWI745841B (zh) | 2021-11-11 |
Family
ID=69714097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109102716A TWI745841B (zh) | 2019-02-05 | 2020-01-30 | 針對短程無線通訊系統中的資料封包的糾錯 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10911184B2 (zh) |
EP (1) | EP3922050A1 (zh) |
CN (1) | CN113366871B (zh) |
TW (1) | TWI745841B (zh) |
WO (1) | WO2020163082A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11190941B2 (en) * | 2019-05-14 | 2021-11-30 | Bastille Networks, Inc. | Traffic and threat classification for short-range wireless channels |
JP7282597B2 (ja) * | 2019-05-28 | 2023-05-29 | ルネサスエレクトロニクス株式会社 | 無線通信装置及び通信システム |
WO2021137569A1 (en) * | 2019-12-31 | 2021-07-08 | Samsung Electronics Co., Ltd. | Method for transceiving data in bluetooth network environment and electronic device thereof |
AU2021232001B2 (en) * | 2020-03-04 | 2023-06-29 | Fort Robotics, Inc. | Secure wireless communication of robotic safety state information |
US11418297B2 (en) * | 2020-03-31 | 2022-08-16 | Bose Corporation | Systems and methods including wireless data packet retransmission schemes |
US11290209B2 (en) * | 2020-07-17 | 2022-03-29 | Audiowise Technology Inc. | Wireless communication method and wireless communication device which uses the wireless communication method |
US11677494B2 (en) * | 2021-01-19 | 2023-06-13 | Avago Technologies International Sales Pte. Limited | Enhanced error protection of payload using double CRC |
US20220383881A1 (en) * | 2021-05-27 | 2022-12-01 | Qualcomm Incorporated | Audio encoding based on link data |
WO2023205208A1 (en) | 2022-04-19 | 2023-10-26 | Fort Robotics, Inc. | Method for safety responses to security policy violations |
CN114826752B (zh) * | 2022-04-29 | 2024-02-27 | 深圳市汇顶科技股份有限公司 | 一种信号的加密方法、信号的加密装置以及终端设备 |
WO2024059132A1 (en) | 2022-09-13 | 2024-03-21 | Fort Robotics, Inc. | Method for decreasing probability of undetected errors on large messages over a black channel |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060013130A1 (en) * | 2004-07-14 | 2006-01-19 | Bloebaum Leland S | Apparatus, methods and computer program products for transmission of data over an adjustable synchronous radio channel |
US20110022916A1 (en) * | 2009-07-24 | 2011-01-27 | Prasanna Desai | Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection |
WO2011090680A1 (en) * | 2010-01-25 | 2011-07-28 | Qualcomm Incorporated | Majority vote error correction technical field |
US20160210189A1 (en) * | 2015-01-15 | 2016-07-21 | Texas Instruments Incorporated | Robust Connection for Low-Energy Wireless Networks |
WO2019060107A1 (en) * | 2017-09-20 | 2019-03-28 | Qualcomm Incorporated | ERROR CORRECTION FOR DATA PACKETS TRANSMITTED WITH AN ASYNCHRONOUSLY CONNECTED COMMUNICATION LINK |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2117149B1 (en) * | 2008-05-06 | 2011-10-26 | Alcatel Lucent | Recovery of transmission errors |
WO2015139026A2 (en) | 2014-03-14 | 2015-09-17 | Go Tenna Inc. | System and method for digital communication between computing devices |
CN105898672B (zh) * | 2014-05-09 | 2019-08-09 | 苹果公司 | 扩展蓝牙通信模式 |
US10491341B2 (en) | 2015-03-17 | 2019-11-26 | Sony Corporation | Telecommunication devices and methods for performing data retransmission in a telecommunications system |
US10298363B2 (en) | 2015-03-31 | 2019-05-21 | Lg Electronics Inc. | Buffer management method for D2D communication, and wireless device |
US10397308B2 (en) | 2015-06-15 | 2019-08-27 | Telefonaktiebolaget Lm Ericsson (Publ) | File transfer by mobile user collaboration |
JP6481988B2 (ja) | 2018-03-05 | 2019-03-13 | サン パテント トラスト | 集積回路 |
-
2019
- 2019-02-05 US US16/268,395 patent/US10911184B2/en active Active
-
2020
- 2020-01-22 WO PCT/US2020/014543 patent/WO2020163082A1/en unknown
- 2020-01-22 CN CN202080011566.8A patent/CN113366871B/zh active Active
- 2020-01-22 EP EP20707540.9A patent/EP3922050A1/en active Pending
- 2020-01-30 TW TW109102716A patent/TWI745841B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060013130A1 (en) * | 2004-07-14 | 2006-01-19 | Bloebaum Leland S | Apparatus, methods and computer program products for transmission of data over an adjustable synchronous radio channel |
US20110022916A1 (en) * | 2009-07-24 | 2011-01-27 | Prasanna Desai | Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection |
WO2011090680A1 (en) * | 2010-01-25 | 2011-07-28 | Qualcomm Incorporated | Majority vote error correction technical field |
US20160210189A1 (en) * | 2015-01-15 | 2016-07-21 | Texas Instruments Incorporated | Robust Connection for Low-Energy Wireless Networks |
WO2019060107A1 (en) * | 2017-09-20 | 2019-03-28 | Qualcomm Incorporated | ERROR CORRECTION FOR DATA PACKETS TRANSMITTED WITH AN ASYNCHRONOUSLY CONNECTED COMMUNICATION LINK |
Also Published As
Publication number | Publication date |
---|---|
EP3922050A1 (en) | 2021-12-15 |
WO2020163082A1 (en) | 2020-08-13 |
US10911184B2 (en) | 2021-02-02 |
US20200252162A1 (en) | 2020-08-06 |
CN113366871A (zh) | 2021-09-07 |
TW202038569A (zh) | 2020-10-16 |
CN113366871B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI745841B (zh) | 針對短程無線通訊系統中的資料封包的糾錯 | |
US10784993B1 (en) | Soft combining packets received from different piconets | |
US11558155B2 (en) | Broadcast relay piconet for low energy audio | |
US20200329052A1 (en) | System and method for aligning a packet counter in short-range wireless communications systems | |
TWI836053B (zh) | 用於使用選擇性中繼來構造協定資料單元的系統和方法 | |
TWI818116B (zh) | 解密的封包的即時軟組合、crc驗證和mic驗證 | |
US11275648B2 (en) | Empty data packet hard align | |
TWI779383B (zh) | Br/edr 鏈路的mic 恢復 | |
TW202143761A (zh) | 針對在掃瞄狀態下的藍芽低能耗的低功率技術 | |
TWI857219B (zh) | 用於低能量音訊的廣播中繼微微網的方法、裝置和電腦可讀取媒體 | |
US12004064B2 (en) | Method and non-transitory computer-readable storage medium and apparatus for receiving Bluetooth packets and correcting error bits therein | |
EP3895355B1 (en) | Real-time soft combining, crc validation, and mic validation of decrypted packets | |
CN118743277A (zh) | 低功率自适应功率控制 | |
TW202011718A (zh) | 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 |