CN114189312A - 用于蓝牙低功耗的位错误校正 - Google Patents

用于蓝牙低功耗的位错误校正 Download PDF

Info

Publication number
CN114189312A
CN114189312A CN202111062660.9A CN202111062660A CN114189312A CN 114189312 A CN114189312 A CN 114189312A CN 202111062660 A CN202111062660 A CN 202111062660A CN 114189312 A CN114189312 A CN 114189312A
Authority
CN
China
Prior art keywords
payload
packet
bit
received packet
length field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111062660.9A
Other languages
English (en)
Inventor
罗伯特·措普夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of CN114189312A publication Critical patent/CN114189312A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • H04L1/0008Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining

Abstract

本发明涉及用于蓝牙低功耗的位错误校正。公开了用于减少接收无错误分组所需的分组的重传的次数从而提高信道吞吐量的蓝牙低功耗(BLE)接收器的方法和系统。用于减少重传的次数的技术包括处理接收到的分组的报头以增加可用于重构原始有效载荷的损坏分组的数目和损坏分组的有效载荷的位错误校正(BEC)的组合。报头处理可以包括使其接收到的访问地址与接收器的分配地址相差不多于1位的分组可用于有效载荷重构,前提是重构中使用的损坏分组中的至少一个包含无错误访问地址。报头处理还可以包括使用分组的先前无错误解码长度来帮助确定当前分组的长度字段。

Description

用于蓝牙低功耗的位错误校正
技术领域
本主题技术总体上涉及无线通信系统,并且更具体地,涉及用于校正诸如
Figure BDA0003256934910000011
网络的无线通信系统中的位错误的系统和方法。
背景技术
位错误是无线通信链路的品质证明。位错误可以广泛地归类为随机错误或突发错误。随机位错误在时间上均匀分布在传输分组中,并且可能由持续的信道损伤引起,例如,由由于物理障碍或长距离链路导致的弱信号引起。突发性位错误在时间上是局部的,并且可能由瞬态条件例如干扰传输或间歇性信道拥塞引起。许多无线通信系统或协议例如蓝牙低功耗(Bluetooth Low Energy,BLE)使用重传来实现发送器与接收器之间的可靠通信链路。这样的系统通常丢弃损坏的传输并依赖于后续重传的无错误接收。假定重传可以对抗低水平的随机位错误(即,在一定合理次数的重传之后接收到无错误分组)。
然而,接收到无错误分组的可能性随着不断增加的分组大小和位错误率(biterror rate,BER)而迅速下降,导致重传的次数的显著增加。可能需要若干次重传才能克服即使低的随机BER。例如,对于253字节的分组(BLE中允许的最大值),超过0.01%BER,需要大量重传,而超过0.10%BER,系统出现故障。重传的次数可能对延迟要求和功率要求具有负面影响。此外,实时或双向音频或视频无线链路对延迟敏感并且可能限制重传的次数。在对延迟不太敏感的应用例如流式传输中,可以使用大于差的瞬态信道条件的预期持续时间的长度的缓冲区来克服突发错误和大量重传。这样大的缓冲区还导致复杂性、大小和功率损失。
发明内容
根据本发明的一方面,提供了一种方法,该方法包括:处理接收到的分组的报头字段以校正报头字段中的假定位错误,接收到的分组包括原始分组或一次或更多次重传的原始分组;基于经处理的报头字段来接收所接收到的分组的有效载荷;确定接收到的分组的有效载荷是否被损坏;以及响应于确定接收到的分组的有效载荷被损坏,基于原始分组的有效载荷和一次或更多次重传的有效载荷的组合来重构原始分组的未损坏的有效载荷。
根据本发明的另一方面,提供了一种接收器,该接收器包括:无线接口,其被配置成接收一个或更多个分组;处理设备,其被配置成:处理接收到的分组的报头字段以校正报头字段中的假定位错误,接收到的分组包括原始分组或一次或更多次重传的原始分组;基于经处理的报头字段来接收所接收到的分组的有效载荷;确定接收到的分组的有效载荷是否被损坏;以及响应于接收到的分组的有效载荷被损坏,基于原始分组的有效载荷和一次或更多次重传的有效载荷的组合来重构原始分组的未损坏的有效载荷。
根据本发明的又一方面,提供了一种通信设备,该通信设备包括:一个或更多个天线;以及连接至一个或更多个天线的处理设备,该处理设备被配置成:处理接收到的分组的报头字段以校正报头字段中的假定位错误,接收到的分组包括原始分组或一次或更多次重传的原始分组;基于经处理的报头字段来接收所接收到的分组的有效载荷;确定接收到的分组的有效载荷是否被损坏;以及响应于接收到的分组的有效载荷被损坏,基于原始分组的有效载荷和一次或更多次重传的有效载荷的组合来重构原始分组的未损坏的有效载荷。
附图说明
通过参照以下结合附图的描述,可以最好地理解所描述的实施方式及其优点。这些附图绝不限制本领域技术人员在不脱离所描述的实施方式的精神和范围的情况下可以对所描述的实施方式进行的形式和细节上的任何改变。
图1示出了根据本公开内容的一些实施方式的示例无线网络架构。
图2示出了用于重传和缓冲以对抗位错误的标准方案的示例。
图3示出了根据本公开内容的一些实施方式的用于评估报头解码和位错误校正技术的性能以减少重传的次数的示例模型。
图4示出了根据本公开内容的一些实施方式的用于降低报头错误率的报头处理和包括使用重传-BEC(RE-BEC)技术和CRC错误校正(CRC-EC)技术来校正损坏数据分组的有效载荷中的位错误的位错误校正(BEC)处理的方法的流程图。
图5示出了根据本公开内容的一些实施方式的包括协议数据单元(PDU)的访问地址和报头的长度字段的蓝牙低功耗(BLE)未编码数据分组的格式。
图6示出了根据本公开内容的一些实施方式的用于使用RE-BEC技术和CRC-EC技术来处理损坏BLE分组的访问地址以增加可用于位错误校正的损坏分组的数目的方法的流程图。
图7示出了根据本公开内容的一些实施方式的用于使用RE-BEC技术和CRC-EC技术来校正损坏BLE分组的长度字段以增加可用于位错误校正的损坏分组的数目的方法的流程图。
图8示出了根据本公开内容的一些实施方式的使用对损坏分组进行操作的RE-BEC技术的累积的软位分组的示例生成和多数决策分组的创建。
图9示出了根据本公开内容的一些实施方式的示例CRC-EC技术,该示例CRC-EC技术对来自RE-BEC技术的累积的软位分组进行操作以排列完可能位错误位置以校正位错误。
图10示出了根据本公开内容的一些实施方式的对损坏分组使用用于降低报头错误率的报头处理以及RE-BEC技术和CRC-EC技术来校正位错误的1Mbps BLE链路的吞吐量提高。
图11示出了根据本公开内容的一些实施方式的用于处理损坏BLE分组的访问地址和长度字段以增加可用于分组重构的损坏分组的数目以及用于使用RE-BEC技术和CRC-EC技术重构分组的方法的流程图。
图12是根据本公开内容的一些实施方式的示出硬件驱动器和软件驱动器的蓝牙设备的框图,所述硬件驱动器和软件驱动器被部署成在由报头解码和位错误校正技术辅助的蓝牙链路中进行操作。
具体实施方式
本文中描述了并在附图中示出了本主题技术的各个方面和变型的示例。以下描述并非旨在将本发明限制于这些实施方式,而是为了使本领域技术人员能够进行和使用本发明。
与大多数无线通信系统/协议一样,蓝牙低功耗(BLE)使用重传来实现可靠的通信链路。当接收到损坏分组时,例如当分组未通过循环冗余校验(CRC)或者当损坏的报头与接收器的目标地址不匹配时,接收器可以请求分组的源重新发送分组。随着分组大小或位错误率(BER)增加,接收无错误数据分组所需的重传的次数可能显著增加。本文公开的主题技术的方面减少了重构无错误分组所需的重传的次数,从而提高了信道吞吐量、增加了通信范围,并且减少了时延和功耗。虽然在BLE的背景下描述了本主题技术的方面,但是应当理解,本主题技术适用于其他无线网络,包括但不限于蜂窝网络(例如,长期演进(LTE)网络)、无线局域网络(WLAN)、无线传感器网络和卫星通信网络。
在一个实施方式中,用于减少重传的次数的技术可以包括处理接收到的分组的报头以增加可用于重构原始有效载荷的损坏分组的数目和损坏分组的有效载荷的位错误校正(BEC)的组合。在一个实施方式中,报头处理可以包括使其接收到的访问地址与接收器的分配地址相差不多于1位的分组可用于有效载荷重构。因此,访问地址中仅具有一个损坏位的分组仍可以用来促进对有效载荷的无错误重构。当重构的有效载荷通过CRC并且重构中使用的损坏分组中的至少一个包含无错误访问地址时,可以认为分组被校正。
在一个实施方式中,报头处理可以包括使用分组的先前无错误解码长度来帮助确定当前分组的长度字段。如果当前解码长度与先前正确解码长度相差一位,则该技术可以将接收到的分组的报头的当前解码长度字段校正为等于先前正确解码长度。该技术可以使用经校正的长度字段来接收分组的其余部分,从而增加了正确长度解码的可能性并增加了正确接收到的分组的数目。例如,如果包含经校正的长度字段的所接收到的有效载荷通过了CRC,则解码长度字段中存在位错误并且该位错误已经被校正。在一个实施方式中,即使使用经校正的长度字段接收到的有效载荷最初没有通过CRC,损坏分组仍然可以用来使用BEC技术重构原始有效载荷。
在一个实施方式中,使用BEC技术重构有效载荷可以包括在位级对损坏分组进行组合以创建累积的软位分组以随着重传的次数的增加而增加正确解决位错误的可能性。被称为重传-BEC(RE-BEC)的技术可以基于累积的软位分组来生成多数决策分组,以生成对有效载荷的最佳猜测。该技术可以对多数决策分组计算CRC以验证是否已解决了所有错误。
在一个实施方式中,在持续未通过CRC的情况下,可以在RE-BEC之后使用被称为CRC错误校正(CRC-EC)的BEC技术。CRC-EC技术可以评估来自RE-BEC的累积的软位分组以识别可能的位错误位置。CRC-EC技术可以排列完位错误位置的可能组合以翻转错误位并检查CRC结果以识别无错误组合。例如,该技术可以对RE-BEC创建的多数决策分组生成CRC校验和作为参考错误校正子(reference error syndrome)。该技术可以生成与位错误位置的排列相关联的组合错误校正子,以与参考错误校正子进行比较。如果与位错误位置的组合相关联的组合错误校正子与参考错误校正子匹配,则与位错误位置相关联的翻转位提供位错误校正。
图1示出了根据本公开内容的一些实施方式的示例网络架构100。如图1所示,网络架构100可以包括发送器101和接收器102。发送器101可以向接收器102发送携带数据分组(或数据消息、帧等)的无线射频信号,如由箭头103所指示的。接收器102可以接收发送的信号以提取数据分组。如果接收器102检测到发送的数据分组被正确接收而没有位错误,则接收器102可以向发送器101发送诸如确认(ACK)的通知。发送器101将不重新发送正确接收到的数据分组。另一方面,如果接收器102检测到接收到的数据分组是包括一个或更多个位错误的损坏数据分组,则接收器102可以向发送器101发送诸如否定确认(NACK)的通知。发送器101将向接收器102重新发送数据分组。图1中所示出的圆圈110可以表示由发送器101发送的射频信号的范围。位于圆圈110内的接收器例如接收器102可以能够接收由发送器101发送的射频信号。
在一个实施方式中,网络架构100可以是
Figure BDA0003256934910000051
网络。
Figure BDA0003256934910000052
网络可以是包括使用已经由
Figure BDA0003256934910000054
特别兴趣小组(
Figure BDA0003256934910000053
SIG)定义的射频、协议、标准、数据格式等进行通信的网络设备的无线网络。在本实施方式中,发送器101可以是
Figure BDA0003256934910000055
发送器,并且接收器102可以是
Figure BDA0003256934910000056
接收器。从发送器101发送至接收器102的数据分组可以是
Figure BDA0003256934910000057
分组。在一些实施方式中,
Figure BDA0003256934910000059
网络(例如,
Figure BDA0003256934910000058
网络内的设备)可以使用
Figure BDA00032569349100000510
低功耗(BLE)标准。网络架构100还可以包括图1中未示出的其他节点、部件和/或设备。
为了使用少数次(例如,2至3次)的重传来接收无错误分组并提供显著的功率和延迟节省以及低复杂性,接收器102可以不丢弃损坏的接收分组,因为相同的发送分组的多个损坏的接收分组可以提供有用的信息以确定损坏的接收分组中位错误的位置。接收器102可以对损坏的接收分组进行组合以使用包括RE-BEC和CRC-EC的BEC技术重构原始分组。接收器可以处理包括访问地址和长度字段的接收分组的报头以增加可用于使用BEC技术重构原始分组的损坏分组的数目。
图2示出了用于重传和缓冲以对抗位错误的标准方案的示例。发送器上的CRC生成器201可以计算要发送的每个分组的有效载荷的CRC校验和。计算出的CRC校验和可以被附加到有效载荷以形成符合无线网络的数据格式的分组,并且发送器可以通过无线网络的信道将该分组发送至接收器。分组可能被由于持续的信道损伤引起的随机位错误或者由瞬时干扰源或间歇性信道拥塞引起的突发性位错误损坏。
接收器上的CRC生成器203可以接收分组并且可以提取有效载荷以计算CRC校验和。如果计算出的CRC校验和与接收到的分组的CRC校验和匹配,则接收到的分组被接收而没有任何错误,并且接收器可以向发送器发送ACK信号。否则,如果计算出的CRC校验和与接收到的CRC校验和不匹配,则该分组被损坏,并且接收器可以向发送器发送NACK信号以请求该分组的重传。在一方面,接收器上的CRC生成器203可以对包括接收到的CRC校验和的分组计算CRC校验和(也称为错误校正子)。如果计算出的CRC校验和为零,则包括接收到的CRC校验和的接收到的分组没有错误。否则,如果计算出的CRC校验和不为零,则分组具有错误。假定重传可以对抗低水平的随机位错误(在一定合理次数的重传之后接收到无错误分组)。引入缓冲以通过建立足够的延迟来处理差的瞬态信道条件的预期持续时间的长度来对抗突发性位错误。大量重传和大缓冲区对网络吞吐量、功率、时延、成本等产生不利影响。提出了用于减少重构无错误分组所需的重传的次数的技术,从而提高了信道吞吐量,增加了通信范围,并且减少了时延和功耗。
图3示出了根据本公开内容的一些实施方式的用于评估报头解码和位错误校正技术的性能以减少重传的次数的示例模型。源301例如图1的
Figure BDA0003256934910000061
发送器101通过信道303提供包括重传损坏分组的BLE分组。信道303可以被建模为具有对应于各种衰减情形的BER的加性白高斯噪声(additive white Gaussian noise,AWGN)信道。
接收器(sink)305例如
Figure BDA0003256934910000062
接收器102处理损坏分组及其重传以重构原始无错误分组。接收器305的接收器处理包括增加可用于重构原始分组的损坏分组的数目的增强报头处理模块307和使用BEC技术来重构原始分组的有效载荷的RE-BEC和CRC-EC模块309的组合。
在一方面,报头处理模块307可以使其接收到的访问地址与接收器305的分配访问地址相差不多于1位的损坏分组可用于有效载荷重构。当重构中使用的损坏分组中的至少一个包含无错误访问地址时,RE-BEC和CRC-EC模块309可以尝试重构有效载荷。在一方面,如果当前解码长度与先前正确解码长度相差一位,则报头处理模块307可以将当前接收到的分组的报头的解码长度字段校正为等于先前正确解码长度。接收器305可以使用经校正的长度字段来接收分组的其余部分,从而增加了正确长度解码的可能性并因此增加了正确接收到的分组的数目,或者增加了可用于通过RE-BEC和CRC-EC模块309的有效载荷重构的损坏分组的数目。
在一方面,RE-BEC和CRC-EC模块309的RE-BEC技术在位级对损坏分组(例如,损坏有效载荷)进行组合以创建累积的软位分组,以随着重传的次数增加而增加正确解决位错误的可能性。对从累积的软位分组得到的硬决策分组计算CRC以验证是否已经正确解决了所有错误。在一方面,在持续的CRC未通过的情况下,在RE-BEC之后使用CRC-EC技术。CRC-EC是使用潜在位错误位置的知识和CRC计算的属性来快速排列完位错误组合以提供位错误校正的位翻转技术。RE-BEC技术和CRC-EC技术具有极低的复杂性,并且可以在固件中实现或者合并到调制解调器硬件中。吞吐量分析模块311可以分析重构无错误分组(无错误分组可以被解释为无错误有效载荷)所需的重传的次数,以确定由增强报头处理和BEC技术实现的吞吐量改进。
图4示出了根据本公开内容的一些实施方式的用于降低报头错误率的报头处理和包括使用RE-BEC技术和CRC-EC技术来校正损坏分组的有效载荷中的位错误的BEC处理的方法400的流程图。方法400可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(CPU)、多核处理器、片上系统(SoC)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微码)或者它们的组合。在一些实施方式中,方法400可以由接收器102或者包括在接收器102中的处理设备(例如,图12中示出的处理设备1211)来执行。
在框401处,方法400对从发送器接收到的分组进行解调。当接收到的分组是BLE分组时,它可以包含指示该分组要被发送至的接收器的地址的访问地址字段以及封装有该分组的报头和有效载荷的协议数据单元(PDU)。报头可以包含指示PDU的长度的长度字段。
图5示出了根据本公开内容的一些实施方式的包括前导、访问地址、PDU和CRC校验和的BLE未编码数据分组的格式。访问地址是4字节长度。发送器的链路层可以为其发送的每个初始PDU生成新的访问地址。旨在使两个设备之间的每个连接具有不同的访问地址。用于设备的访问地址必须与正在使用的任何其他访问地址相差多于一位。接收到的访问地址还必须与分配给设备以由设备使用PDU的访问地址相匹配。
PDU可以在2字节长度与258字节长度之间,并且包括2字节或3字节的报头和有效载荷。报头包括指示PDU的长度的一字节长度字段。接收器设备可以使用该长度字段来接收正确长度的PDU。可以对包括长度字段的接收到的PDU计算3字节的CRC校验和以用于与接收到的CRC进行比较,从而验证PDU是否已经被正确接收。
返回参照图4,在框403处,方法400对分组中接收到的访问地址和长度字段执行增强报头处理。与有效载荷一样,访问地址和长度字段可能被位错误损坏。此外,访问地址不被保护(例如,未由发送器编码)。例如,在BER=0.005的情况下,4字节访问地址中存在15%概率的至少一个位错误。这些是在其他方面可能是正确的或者已经能够促进解决无错误PDU的分组。长度字段中的错误也可能显著阻碍校正分组的能力。例如,PDU中仅在长度字段中出现的错误将导致接收到不正确的数据量以及随后的不正确的CRC校验的计算。增强报头处理可以降低访问地址或长度字段的位错误率,以增加可用于随后处理的损坏分组的数目。
在一方面,增强报头处理可以使其接收的访问地址与接收器的分配访问地址相差不多于1位的损坏分组可用于有效载荷重构。为了使错误校正潜力最大化同时仍符合BLE规范,当CRC通过并且重构中使用的损坏分组中的至少一个包含无错误访问地址时,可以认为分组通过一系列重传被校正。
在一方面,在链路建立期间,可以设置最大长度PDU(高达所允许最大值限定)并且在发送器与接收器之间交换该最大长度PDU。当PDU中包含的数据也被最大化时,吞吐量通常被最大化。因此,这将建议在差的信道条件下使用先前的无错误解码长度字段来帮助确定当前长度字段。由于长度字段仅为8位,因此即使在非常差的信道条件下,长度字段包含多于一个错误位的概率也是低的。同时,如果当前解码长度字段与先前正确解码长度字段相比相差一位,则很可能存在位错误。因此,如果当前解码长度字段与先前正确解码长度字段相差一位,则框403的增强报头处理可以将接收到的分组的当前解码长度字段校正为等于先前正确解码长度字段。该方法可以使用经校正的长度字段来接收分组的其余部分,从而增加了通过CRC校验的可能性,或者以其他方式增加了可用于有效载荷重构的损坏分组的数目。将关于图6和图7讨论增强报头处理的更多细节。
在框407中,方法400计算当前接收到的分组的PDU的CRC校验和。在框409中,方法400检查以查看CRC校验和是否为零。如果CRC校验和为零,指示已经无错误地接收到PDU,则方法400在框419处发送ACK信号。否则,如果CRC未通过,则该方法在框411处对当前和先前缓冲的损坏的原始分组和重传的分组(如果有的话)执行RE-BEC,以重构有效载荷。
RE-BEC技术在位级对损坏分组的有效载荷进行组合以创建累积的软位分组,以随着重传的次数增加而增加正确解决位错误的可能性。根据累积的软位分组,可以创建多数决策分组(MDP)。可以通过多数表决方案来设置每个位。可以通过任意位设置来解决接收到的0和1的数目的关系。假定BER与位位置无关,位错误落在同一位置的概率极其小,并且随着每次重传而降低。因此,解决错误的能力随着重传的次数的增加而增加。RE-BEC技术对MDP计算CRC以验证是否已经正确解决所有错误。在框413处,如果CRC校验和为零,指示重构的有效载荷是无错误的,则方法400在框419处发送ACK信号。将关于图8讨论RE-BEC技术的另外的细节。
在框415处,如果在RE-BEC之后CRC未通过,则方法400执行CRC-EC技术。CRC-EC技术可以生成可能位错误位置的排列以识别无错误组合。在一方面,获得框413中的来自RE-BEC创建的MDP的24位非零CRC校验和作为参考错误校正子。从框411中根据通过RE-BEC创建的累积的软位分组识别出高风险或最可能的位错误位置。可以对与可能位错误位置的排列相关联的位进行翻转。CRC-EC技术可以生成与可能位错误位置的排列相关联的组合错误校正子以与参考错误校正子进行比较。
在框417处,将与可能位错误位置的排列相关联的组合错误校正子与参考错误校正子进行比较。如果与可能位错误位置的组合相关联的组合错误校正子与参考错误校正子匹配,则与可能位错误位置的组合相关联的翻转位成功地重构了无错误有效载荷,并且方法400在框419处发送ACK信号。否则,如果与所有可能位错误位置的排列相关联的组合错误校正子与参考错误校正子不匹配,则CRC-EC技术无法校正位错误并且方法400在框421处发送NACK信号。另外,将关于图9讨论CRC-EC技术的另外的细节。
图6示出了根据本公开内容的一些实施方式的用于使用RE-BEC技术和CRC-EC技术来处理损坏BLE分组的访问地址以增加可用于位错误校正的损坏分组的数目的方法600的流程图。方法600可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(CPU)、多核处理器、片上系统(SoC)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微码)或者它们的组合。在一些实施方式中,方法400可以由接收器102或者包括在接收器102中的处理设备(例如,图12中示出的处理设备1211)来执行。
在框601处,方法600接收对分组的接收者进行识别的访问地址。该标准要求接收到的访问地址与分配给设备以由设备使用该分组的访问地址匹配。该要求限制了错误校正技术的分组恢复潜力,因为访问地址不受保护且在长度上为4个字节。例如,在BER=0.005的情况下,4字节访问地址中存在15%概率的至少一个位错误。这些是在其他方面可能是正确的或者已经能够促进解决无错误PDU的分组。
在框603处,方法600确定接收到的访问地址与分配的访问地址是否相差不多于一位。分配给设备的访问地址必须与正在使用的任何其他访问地址相差多于一位。因此,如果接收到的访问地址与分配的访问地址相差多于一位,则该分组很可能要被发送至另一设备并且该分组可以被丢弃。方法600可以在框617处请求重传。
如果接收到的访问地址与分配的访问地址相差一位或者与分配的访问地址完全匹配,则方法600接收分组的PDU并使PDU可用于使用BEC技术的有效载荷重构。在框605处,方法600基于接收到的PDU连同与其接收到的访问地址与分配的访问地址相差不多于一位的分组相关联的任何其他先前缓冲的PDU来执行RE-BEC以重构有效载荷。
在框607处,方法600确定通过RE-BEC技术重构的PDU的CRC是否通过CRC校验。如果CRC为零,指示重构的PDU是无错误的,则方法600在框613处确定用于通过RE-BEC技术的有效载荷重构的分组中的至少一个是否具有无错误访问地址。验证存在至少一个具有无错误访问地址的分组允许方法600通过任何与访问地址相关的一致性测试,同时使错误校正潜力最大化。如果该验证成功,则方法600在框615处发送ACK信号。如果该验证不成功,则该方法在框617处请求重传。
如果在框607处,通过RE-BEC技术重构的PDU的CRC不为零,则方法600在框609处调用CRC-EC技术以执行进一步的位校正。在611处,方法600确定通过CRC-EC技术重构的PDU的CRC是否通过CRC。如果CRC不为零,则使用RE-BEC技术和CRC-EC技术重构的有效载荷仍然不是无错误的,并且方法600在框617处请求重传。如果CRC为零,则方法600在框613处确定用于通过RE-BEC技术和CRC-EC技术的有效载荷重构的分组中的至少一个是否具有无错误访问地址。如果该验证成功,则方法600在框615处发送ACK信号。如果该验证不成功,则方法600在框617处请求重传。
图7示出了根据本公开内容的一些实施方式的用于使用RE-BEC技术和CRC-EC技术来校正损坏BLE分组的长度字段以增加可用于位错误校正的损坏分组的数目的方法700的流程图。方法700可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(CPU)、多核处理器、片上系统(SoC)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微码)或者它们的组合。在一些实施方式中,方法400可以由接收器102或者包括在接收器102中的处理设备(例如,图12中示出的处理设备1211)来执行。
在框701处,方法700接收分组的报头中的指示PDU的长度的一字节长度字段。因为分组的CRC校验和是对包括长度字段的PDU计算的,因此在数据接收之后计算出CRC之前,长度字段的可靠性是未知的。因此,PDU中仅在长度字段中出现的错误可能导致接收到PDU的不正确的数据量以及随后的不正确的CRC校验和的计算。
在框703处,方法700确定信道是否是可靠的。在一方面,方法700可以基于损坏分组的统计数据或接收或重构无错误分组所需的重传的次数来确定信道是否是可靠的。如果信道被认为是可靠的,则方法700在框705处将PDU的长度指定为接收到的长度字段和最大允许长度的最小值。PDU的最大允许长度通常通过在链路建立期间接收器与发送器之间的交换来限定。当PDU中包含的数据也被最大化时,吞吐量通常被最大化。方法700继续基于指定长度来接收包括PDU的分组。
另一方面,如果信道被认为是不可靠的,则将建议使用先前的无错误解码长度字段来帮助确定当前长度字段。由于长度字段仅为8位,因此即使在非常差的信道条件下,长度字段包含多于一个错误位的概率也是低的。同时,如果当前解码长度字段与先前正确解码长度字段相比相差一位,则很可能存在位错误。在框707处,方法700确定当前解码长度字段与最后有效长度字段是否相差多于一位。如果该条件为真,则将当前解码长度字段原样传递至框705以用作用于接收分组的指定长度。
在框709处,如果当前解码长度字段与最后有效长度字段相差不多于一位,则方法700基于最后有效长度字段仍被发送作为当前分组的长度字段但是其已被位错误损坏的高可能性来将当前长度指定为最后有效长度字段。因此,方法700将当前解码长度字段校正为等于最后有效长度字段。在框711处,方法基于经校正的长度来接收包括PDU的分组。
在框713处,方法700确定使用指定长度接收到的PDU的CRC是否通过CRC校验。如果CRC为零,指示PDU是无错误的,则方法700在框715处将最后有效长度字段设置为当前指定长度。当前指定长度可能已经通过框709校正或者可以是通过框705接收到的未改变的长度。方法700然后在框717处发送ACK信号。
如果CRC不为零,则方法700在框719处基于接收到的PDU连同任何其他先前缓冲的PDU来执行RE-BEC以重构有效载荷。在一方面,如果CRC不为零并且当前指定长度通过框709校正,则方法700可以在框727处请求重传以绕过使用BEC技术的有效载荷的重构。
在721处,方法700确定通过RE-BEC技术重构的PDU的CRC是否通过CRC校验。如果CRC为零,指示重构的PDU是无错误的,则该方法在框717处发送ACK信号。如果通过RE-BEC技术重构的PDU的CRC不为零,则方法700在框723处调用CRC-EC技术以执行进一步的位校正。在725处,方法723确定通过CRC-EC技术重构的PDU的CRC是否通过CRC。如果CRC不为零,则使用RE-BEC技术和CRC-EC技术重构的有效载荷仍然不是无错误的,并且方法700在框727处请求重传。否则,该方法在框717处发送ACK信号。
图8示出了根据本公开内容的一些实施方式的使用对损坏分组进行操作的RE-BEC技术的累积的软位分组的示例生成和多数决策分组的创建。发送器例如图1的发送器101可以向接收器例如接收器102发送携带原始BLE分组801的射频信号。接收器102可以接收分组811并执行CRC来确定分组811是否是原始分组801的正确接收到的分组而没有位错误。在一个实施方式中,分组811可以是包括一个或更多个位错误例如位错误8111的损坏分组。因此,接收器102处的CRC将未通过。接收器102可以基于分组811来生成累积分组812和多数决策分组(MDP)813。当接收器102仅接收分组811时,累积分组812和MDP 813可以与接收到的分组811相同。
因为分组811是原始分组801的损坏分组,所以接收器102可以请求发送器101重新发送原始分组801。接收器102可以接收原始分组801的重传分组821。接收器102可以执行CRC来确定接收到的重传分组821是否是正确的。接收到的重传分组821可以是包括一个或更多个位错误例如位错误8211的损坏分组。接收器102可以基于分组811和重传分组821来生成包括软位的累积分组822。
在一方面,接收器102可以通过对损坏分组811和接收到的重传分组821执行按位十进制加法以生成累积分组822中的软位来生成累积分组822。例如,如图8所示,分组811可以包括位流“0 1 1 0 1 0 0 0 1 0 1 1 0 1 1”,并且在相应的位位置处,重传分组821可以包括位流“0 1 1 0 0 0 0 0 1 0 1 1 0 0 1”。接收器102可以将分组811中的位与重传分组821中的相应位相加,以生成包括软位流“0 2 2 0 1 0 0 0 2 0 2 2 0 1 2”的累积分组822,如图8所示。在本示例中,分组811中的位8112为1,并且重传分组821中对应位位置处的位8212也为1,因此,累积分组822中对应位位置处的软位8221具有为2(即1+1)的值。在一方面,接收器102可以对损坏分组811和接收到的重传分组821进行比较,以识别具有不同位值的位位置。识别出的位位置可以指示可能的位错误。
在一方面,接收器102可以基于累积分组822来生成MDP 823。MDP 823可以用作原始分组801的猜测。累积分组822中的软位中的每一个可以指示MDP 823中的相应位的置信水平。例如,在第一次传输中,位8112为1,并且在第二次传输(第一次重传)中,该位位置处的位8212也为1。因此,该位位置处的正确位为1而不是0具有更高的概率,因为在两次传输(一次原始传输和一次重传)中,该位位置处的位值相同。因此,具有为2的值的软位8221可以指示该位位置处的正确位为1具有更高的置信水平。因此,接收器102可以确定:在MDP823中,在该位位置处的位8231(正确位的猜测)为1。
另一方面,在第一次传输中,位8113为1,并且在第二次传输(第一次重传)中,该位位置处的位8211为0。因此,在该位位置处,不确定在该位置处的正确位是1还是0,因为在两次传输中,该位位置处的位值不同。因此,具有为1的值的软位8222可以指示接收器102可能不确定该位置处的正确位是1还是0。因此,接收器102可以确定:在MDP 823中,在该位位置处的位8232(正确位的猜测)可能是1或0,如由“?”所指示的。接收器102可以将MDP 823中的位8232设置为1或0作为该位的猜测。
在一方面,接收器102可以请求原始分组801的多于一次的重传以收集更有用的信息,以确定接收到的损坏分组中的位错误的位置。例如,接收器102可以请求原始分组801的第二次重传并且接收可能包括一个或更多个位错误的重传分组831。接收器102可以基于分组811、接收到的重传分组821和831来生成累积分组832。与如上面所描述的那样类似,接收器102可以通过对分组811和接收到的重传分组821和831执行按位十进制加法来生成累积分组832。例如,分组831中的位8311为1,因此累积分组832中对应位位置处的软位8321具有为2(即1+0+1)的值。
此外,与如上面所描述的类似,接收器102可以基于累积分组832来生成MDP 833。MDP 833可以用作原始分组801的猜测。例如,具有为2的值的软位8321可以指示在该位位置处的正确位为1具有更高的置信水平。这是因为在三次传输(一次原始传输和两次重传)中,该位位置处的三个位值中的两个(即,位8113和位8311)为1。因此,接收器102可以确定:在MDP 833中,该位位置处的位8331(正确位的猜测)为1。
类似地,接收器102可以请求第三次重传并且接收可能包括一个或更多个位错误的重传分组841。接收器102可以基于四个接收到的损坏分组(811、821、831和841)来生成累积分组842。此外,接收器102可以基于累积分组842来生成MDP 843。MDP 843可以用作原始分组801的最佳猜测。
在一方面,对于总共N次传输(1次原始传输+(N-1)次重传),当N为偶数时,如果累积分组中的软位的值高于
Figure BDA0003256934910000141
则生成的MDP中的对应位为1;如果软位的值等于
Figure BDA0003256934910000142
则生成的MDP中的对应位可以为1或0;如果软位的值小于
Figure BDA0003256934910000143
则生成的MDP中的对应位为0。例如,如图8所示,当存在原始分组801的总共4次传输时,如果累积分组842中的软位具有为3或4的值,则生成的MDP 843中的对应位为1;如果累积分组842中的软位具有为2的值,则生成的MDP843中的对应位可以为1或0,如由“?”所指示的;如果累积分组842中的软位具有为0或1的值,则生成的MDP 843中的对应位为0。在另一示例中,当N为奇数时,如果累积分组中的软位的值等于或高于
Figure BDA0003256934910000151
则生成的MDP中的对应位为1;否则,生成的MDP中的对应位为0。
在生成MDP之后,计算CRC以确定是否还存在任何错误。假定BER与位位置无关,位错误落在同一位置的概率非常小并且随着每次重传而降低。因此,解决错误的能力随着增加重传的次数而增加。
图9示出了根据本公开内容的一些实施方式的示例CRC-EC技术,该示例CRC-EC技术对来自RE-BEC技术的累积的软位分组进行操作以排列完可能位错误位置以校正位错误。在RE-BEC之后CRC校验未通过的情况下,调用CRC-EC技术,如图4的框415所示。CRC-EC是排列完可能位错误位置并检查CRC结果以识别无错误组合的低复杂性算法。
如图9所示,在框907处,获得来自RE-BEC创建的MDP 901的24位非零CRC校验和909作为参考。从来自RE-BEC的累积的软位分组(ASBP)903中识别出高风险或最可能的位错误位置905。如果ASBP(i)是ASBP的第i位,并且T是累积到ASBP中的总传输次数,则
ASBP(i)=可能的错误,在
Figure BDA0003256934910000152
的情况下其中,S是灵敏度参数并且可以根据T和针对CRC-EC配置的最大错误位置容量来设置。在一方面,S=0,并且CRC-EC中考虑的错误位置的最大数目为10。
一旦识别出可能位错误位置905,就提取相应的预先计算的单个位错误校正子。然后排列完所有组合,并且将排列校正子927与从MDP 901生成的非零CRC余数909进行比较。为了进一步降低复杂性,可以使用格雷(Gray)表来对排列进行排序,因此仅需要单个异或运算以获得下一个排列校正子927以进行比较。格雷码表的大小可以是2^(最大位置)-1,其中,当前将最大位置设置为10,总大小为1023字节。针对最大位置为10的设置是复杂性与性能之间的平衡折衷。
对于BLE,由包括CRC本身的CRC所涵盖的最大总字节为260字节或2080位。为了执行CRC-EC,需要每个单独位的CRC校正子923,对于3字节CRC,这需要6240字节的表。小于最大长度的分组所需的表是最大表的子集。因此,这个最大表是支持所有可能的分组大小所需的全部内容。可以预先计算所有2080位的校正子表921。CRC-EC技术可以使用可能位错误位置的每个排列的单个位错误位置905来对校正子921进行寻址以提取对应的单个位错误校正子923。可以基于要进行异或的可能位错误位置的特定排列来通过框925选择单个位错误校正子923,以生成排列校正子927。
在框911处,如果排列校正子与根据MDP 901生成的非零CRC余数909匹配,则在框913处可以存储可能位错误位置的对应排序以重构无错误有效载荷。否则,如果不存在匹配,则CRC-EC可以计算用于可能位错误位置的下一个排列的排列校正子。在框915处,在计算出用于所有排列的排列校正子之后,CRC-EC技术可以验证是否仅针对单个排列找到匹配。如果该条件为真,则在框919处,对MDP 901中与可能位错误位置的这种排列对应的位进行翻转以重构无错误有效载荷。否则,如果不存在单一的排列解决方案,则CRC-EC技术无法校正位错误并且在框917处声明CRC未通过。
图10示出了根据本公开内容的一些实施方式的对损坏分组使用用于降低报头错误率的报头处理以及RE-BEC技术和CRC-EC技术来校正位错误的1Mbps BLE链路的吞吐量提高。
如所示出的,LE数据链路下降为97dB衰减或BER=0.00226(0.226%)。使用所描述的技术,链路下降点扩展到103dB或BER=0.0343(3.43%),提高了至少6dB。RE-BEC吞吐量迅速下降到1/3,并且然后趋于平稳,因为在其有效之前需要总共3次传输。CRC-EC的添加节省了高达97dB衰减的1次传输,从而在该过渡区域中提供了显著的吞吐量提高。然而,除了这一点之外,没有看到额外的改进,因为不可靠的位位置的总数目开始超过模型的能力。
图11示出了根据本公开内容的一些实施方式的用于处理损坏BLE分组的访问地址和长度字段以增加可用于分组重构的损坏分组的数目以及用于使用RE-BEC技术和CRC-EC技术重构分组的方法1100的流程图。方法1100可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(CPU)、多核处理器、片上系统(SoC)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微码)或者它们的组合。在一些实施方式中,方法400可以由接收器102或者包括在接收器102中的处理设备(例如,图12中示出的处理设备1211)来执行。
在框1101处,方法1100处理接收到的分组的报头字段以校正报头字段中的假定位错误。接收到的分组可以包括原始分组或一次或更多次重传的原始分组。
在框1103处,方法1100基于接收到的分组的经处理的报头字段来接收所接收到的分组的有效载荷。
在框1105处,方法1100确定接收到的分组的有效载荷是否被损坏。
在框1107处,如果接收到的分组的有效载荷被损坏,则方法1100基于原始分组的有效载荷和一次或更多次重传的有效载荷的组合来重构原始分组的未损坏的有效载荷。
图12是根据本公开内容的一些实施方式的示出硬件驱动器和软件驱动器的蓝牙设备1211的框图,所述硬件驱动器和软件驱动器被部署成在由报头解码和位错误校正技术辅助的蓝牙链路中进行操作。蓝牙设备1211可以是接收器102并且可以实践方法4、6、7和11的操作。
蓝牙设备1211可以包括一个或更多个天线1221、蓝牙硬件1213和蓝牙驱动器1215。蓝牙驱动器1215可以包括蓝牙Tx/RX控制器1217、报头处理逻辑1221和BEC逻辑1219。蓝牙硬件1213可以被配置成通过天线1221在操作信道上发送或接收BLE分组。
蓝牙Tx/Rx控制器1217可以被配置成对接收到的BLE分组进行解调和解码以及对BLE分组进行编码和调制以进行传输。报头处理逻辑1221可以被配置成处理报头例如BLE分组的访问地址和长度字段以降低报头错误率并增加可用于通过BEC逻辑1219的有效载荷重构的损坏BLE分组的数目。BEC逻辑1219可以被配置成实现RE-BEC技术和CRC-EC技术以校正损坏BLE分组的有效载荷中的位错误。
在一个实施方式中,蓝牙设备1211可以包括存储器和处理设备。存储器可以是同步动态随机存取存储器(DRAM)、只读存储器(ROM)或者可以被配置成存储用于执行蓝牙驱动器1215的功能的代码的其他类型的存储器。处理设备可以由一个或更多个通用处理设备诸如微处理器、中央处理单元等来提供。在说明性示例中,处理设备可以包括复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或者实现其他指令集的处理器或实现指令集的组合的处理器。处理设备还可以包括一个或更多个专用处理设备诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备可以被配置成执行本文描述的根据本公开内容的一个或更多个方面的操作以执行本文讨论的操作和步骤。
除非另有明确说明,否则诸如“接收”、“生成”、“验证”、“执行”、“校正”、“识别”等的术语是指通过计算设备执行或实现的动作和处理,这些计算设备对被表示为计算设备的寄存器和存储器内的物理(电子)量的数据进行操纵并且将其转换为类似地被表示为计算设备的存储器或寄存器或者其他这样的信息存储装置、传输设备或显示设备内的物理量的其他数据。
本文描述的示例还涉及用于执行本文描述的操作的装置。该装置可以是为了所需的目的而是特别地构造的,或者该装置可以包括由存储在计算设备中的计算机程序选择性地编程的通用计算设备。这样的计算机程序可以被存储在计算机可读的非暂态存储介质中。
某些实施方式可以实现为计算机程序产品,其可以包括存储在机器可读介质上的指令。这些指令可以用于对通用处理器或专用处理器进行编程,以执行所描述的操作。机器可读介质包括用于以机器(例如,计算机)可读的形式(例如,软件、处理应用)存储或传输信息的任何机制。机器可读介质可以包括但不限于磁存储介质(例如,软盘);光学存储介质(例如,CD-ROM);磁光存储介质;只读存储器(ROM);随机存取存储器(RAM);可擦除可编程存储器(例如,EPROM和EEPROM);闪存;或者适用于存储电子指令的另一类型的介质。机器可读介质可以被称为非暂态机器可读介质。
本文所描述的方法和说明性示例不与任何特定计算机或其他装置固有地相关。根据本文描述的教导,可以使用各种通用系统,或者可以证明便于构建更多专用装置以执行所需的方法步骤。各种这些系统所需的结构将如上面描述中所阐述的那样出现。
上面的描述旨在是说明性的而非限制性的。尽管已经参照特定的说明性示例描述了本公开内容,但是将认识到,本公开内容不限于所描述的示例。应当参照所附权利要求以及权利要求所赋予的等同内容的全部范围来确定本公开内容的范围。
如本文所使用的,除非上下文清楚地另外指示,否则单数形式“一个(a)”、“一种(an)”和“该”旨在还包括复数形式。还将理解,术语“包括(comprise)”、“包括(comprising)”、“包含(include)”和/或“包含(including)”在本文使用时,指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是不排除存在或添加一个或更多个其他特征、整数、步骤、操作、元件、部件和/或其群组。另外,如本文所使用的,术语“第一”、“第二”、“第三”、“第四”等意在作为标记以在不同元件之中进行区分并且可以不必具有根据其数字指定的序数含义。因此,本文所使用的术语仅出于描述特定实施方式的目的,并不旨在是限制性的。
还应当注意,在一些替选实施方式中,功能/动作可以不按附图中所示的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两幅图实际上可以大体上同时执行或者有时可能会以相反的顺序执行。
尽管以特定顺序描述了方法操作,但是应当理解,可以在所描述的操作之间执行其他操作,可以调整所描述的操作使得它们在略微不同的时间出现,或者所描述的操作可以分布在允许处理操作以与处理相关联的各种间隔发生的系统中。
各种单元、电路或其他部件可以被描述或要求保护为“被配置成”或“可配置成”执行一个或更多个任务。在这样的上下文中,短语“被配置成”或“可配置成”用于通过指示单元/电路/部件包括在操作期间执行一个或更多个任务的结构(例如,电路)来表示结构。这样,即使在指定的单元/电路/部件当前不可操作(例如,未接通)的情况下,也可以说该单元/电路/部件被配置成执行任务、或者可被配置成执行任务。与“被配置成”或“可配置成”语言一起使用的单元/电路/部件包括硬件——例如,电路、存储可执行以实现操作的程序指令的存储器等。叙述单元/电路/部件“被配置成”执行一个或更多个任务或者“可配置成”执行一个或更多个任务,明确表示不旨在针对该单元/电路/部件援引35U.S.C.112第六段。另外地,“被配置成”或“可配置成”可以包括通用结构(例如,通用电路),其由软件和/或固件(例如,FPGA或执行软件的通用处理器)操纵以便以能够执行所讨论的任务的方式进行操作。“被配置成”还可以包括使制造过程(例如,半导体制造设施)适应于制造适于实现或执行一个或更多个任务的设备(例如,集成电路)。明确表示“可配置成”不旨在应用于空白介质、未编程的处理器或未编程的通用计算机、或未编程的可编程逻辑设备、可编程门阵列或其他未编程的设备,除非伴随有赋予未编程的设备被配置成执行所公开的功能的已编程介质。
出于说明的目的,已经参照具体实施方式描述了前述描述。然而,上面的说明性讨论不旨在是穷举性的或者将本发明限制于所公开的精确形式。鉴于上面的教导,许多修改和变型是可能的。选择并描述实施方式以便最佳地说明这些实施方式的原理及其实践应用,从而使得本领域技术人员能够最佳地利用这些可能适于所设想的特定用途的实施方式和各种修改。因此,本实施方式被认为是说明性的而不是限制性的,并且本发明不限于本文中给出的细节,但是可以在所附权利要求的范围及其等同内容内进行修改。

Claims (20)

1.一种方法,包括:
处理接收到的分组的报头字段以校正所述报头字段中的假定位错误,所述接收到的分组包括原始分组或一次或更多次重传的所述原始分组;
基于经处理的报头字段来接收所述接收到的分组的有效载荷;
确定所述接收到的分组的有效载荷是否被损坏;以及
响应于确定所述接收到的分组的有效载荷被损坏,基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的组合来重构所述原始分组的未损坏的有效载荷。
2.根据权利要求1所述的方法,其中,所述报头字段包括指示所述接收到的分组的预期接收者的访问地址,并且其中,处理所述接收到的分组的所述报头字段以校正所述报头字段中的所述假定位错误包括:
确定所述访问地址与分配的地址相差一位;以及
通过假定位错误使所述访问地址与所述分配的地址相差一位来接收所述接收到的分组的有效载荷。
3.根据权利要求2所述的方法,其中,重构所述原始分组的所述未损坏的有效载荷包括:
确定所述原始分组和所述一次或更多次重传中的至少一个分组的所述访问地址与所述分配的地址匹配。
4.根据权利要求1所述的方法,其中,所述报头字段包括指示所述接收到的分组的有效载荷的长度的长度字段,并且其中,处理所述接收到的分组的所述报头字段以校正所述报头字段中的所述假定位错误包括:
确定通过其接收所述接收到的分组的信道的低信道可靠性;
确定所述长度字段是否与最后有效长度字段相差一位或更少;
响应于确定所述长度字段与所述最后有效长度字段相差一位或更少,将所述长度字段更新为所述最后有效长度字段;以及
接收由更新后的长度字段指示的所述接收到的分组的有效载荷。
5.根据权利要求4所述的方法,其中,确定所述接收到的分组的有效载荷是否被损坏包括:
确定所述接收到的分组的有效载荷是否通过循环冗余校验CRC;
响应于确定所述接收到的分组的有效载荷通过所述CRC,发送确认信号以指示所述接收到的分组是无错误的;
响应于确定所述接收到的分组的有效载荷未通过所述CRC,丢弃所述接收到的分组;以及
请求所述原始分组的重传。
6.根据权利要求4所述的方法,还包括:
响应于确定所述长度字段与所述最后有效长度字段相差多于一位,保持所述长度字段;
接收由所述长度字段指示的所述接收到的分组的有效载荷;
确定所述接收到的分组的有效载荷是否通过循环冗余校验CRC;以及
响应于确定所述接收到的分组的有效载荷通过所述CRC,将所述最后有效长度字段设置为所述长度字段。
7.根据权利要求1所述的方法,其中,基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的组合来重构所述原始分组的所述未损坏的有效载荷包括:
基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷来生成累积的有效载荷,所述累积的有效载荷累积所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的相同的位;
基于所述累积的有效载荷来生成针对所述未损坏的有效载荷的决策分组;以及
验证所述决策分组是无错误的。
8.根据权利要求7所述的方法,还包括:
确定所述决策分组具有至少一个错误位;
基于所述累积的有效载荷来识别假定位错误位置;
生成所识别出的假定位错误位置的多个排列;
生成与所识别出的假定位错误位置的所述多个排列对应的多个错误校正子;以及
通过将所述多个错误校正子与和所述决策分组相关联的错误校正子进行比较来重构所述未损坏的有效载荷。
9.根据权利要求1所述的方法,其中,所述接收到的分组包括蓝牙低功耗BLE分组。
10.一种接收器,包括:
无线接口,其被配置成接收一个或更多个分组;
处理设备,其被配置成:
处理接收到的分组的报头字段以校正所述报头字段中的假定位错误,所述接收到的分组包括原始分组或一次或更多次重传的所述原始分组;
基于经处理的报头字段来接收所述接收到的分组的有效载荷;
确定所述接收到的分组的有效载荷是否被损坏;以及
响应于所述接收到的分组的有效载荷被损坏,基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的组合来重构所述原始分组的未损坏的有效载荷。
11.根据权利要求10所述的接收器,其中,所述报头字段包括指示所述接收到的分组的预期接收者的访问地址,并且其中,所述处理设备被配置成处理所述接收到的分组的所述报头字段以校正所述报头字段中的所述假定位错误包括所述处理设备被配置成:
确定所述访问地址与分配的地址相差一位;以及
基于位错误使所述访问地址与所述分配的地址相差一位的假定来接收所述接收到的分组的有效载荷。
12.根据权利要求11所述的接收器,其中,所述处理设备被配置成重构所述原始分组的所述未损坏的有效载荷包括所述处理设备被配置成:
确定所述原始分组和所述一次或更多次重传中的至少一个分组的所述访问地址与所述分配的地址匹配。
13.根据权利要求10所述的接收器,其中,所述报头字段包括指示所述接收到的分组的有效载荷的长度的长度字段,并且其中,所述处理设备被配置成处理所述接收到的分组的所述报头字段以校正所述报头字段中的所述假定位错误包括所述处理设备被配置成:
确定由所述无线接口通过其接收所述接收到的分组的信道的低信道可靠性;
确定所述长度字段是否与最后有效长度字段相差一位或更少;
响应于所述长度字段与所述最后有效长度字段相差一位或更少,将所述长度字段更新为所述最后有效长度字段;以及
接收由更新后的长度字段指示的所述接收到的分组的有效载荷。
14.根据权利要求13所述的接收器,其中,所述处理设备被配置成确定所述接收到的分组的有效载荷是否被损坏包括所述处理设备被配置成:
确定所述接收到的分组的有效载荷是否通过循环冗余校验CRC;
响应于所述接收到的分组的有效载荷通过所述CRC,发送确认信号以指示所述接收到的分组是无错误的;
响应于所述接收到的分组的有效载荷未通过所述CRC,丢弃所述接收到的分组;以及
请求所述原始分组的重传。
15.根据权利要求13所述的接收器,其中,所述处理设备还被配置成:
响应于所述长度字段与所述最后有效长度字段相差多于一位,保持所述长度字段;
接收由所述长度字段指示的所述接收到的分组的有效载荷;
确定所述接收到的分组的有效载荷是否通过循环冗余校验CRC;以及
响应于所述接收到的分组的有效载荷通过所述CRC,将所述最后有效长度字段设置为所述长度字段。
16.根据权利要求10所述的接收器,其中,所述处理设备被配置成基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的组合来重构所述原始分组的所述未损坏的有效载荷包括所述处理设备还被配置成:
基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷来生成累积的有效载荷,所述累积的有效载荷累积所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的相同的位;
基于所述累积的有效载荷来生成针对所述未损坏的有效载荷的决策分组;以及
验证所述决策分组是无错误的。
17.根据权利要求16所述的接收器,其中,所述处理设备还被配置成:
确定所述决策分组具有至少一个错误位;
基于所述累积的有效载荷来识别假定位错误位置;
生成所识别出的假定位错误位置的多个排列;
生成与所识别出的假定位错误位置的所述多个排列对应的多个错误校正子;以及
将所述多个错误校正子与和所述决策分组相关联的错误校正子进行比较以重构所述未损坏的有效载荷。
18.根据权利要求10所述的接收器,其中,所述无线接口包括蓝牙低功耗BLE接口,并且所述接收到的分组包括BLE分组。
19.一种通信设备,包括:
一个或更多个天线;以及
连接至所述一个或更多个天线的处理设备,所述处理设备被配置成:
处理接收到的分组的报头字段以校正所述报头字段中的假定位错误,所述接收到的分组包括原始分组或一次或更多次重传的所述原始分组;
基于经处理的报头字段来接收所述接收到的分组的有效载荷;
确定所述接收到的分组的有效载荷是否被损坏;以及
响应于所述接收到的分组的有效载荷被损坏,基于所述原始分组的有效载荷和所述一次或更多次重传的有效载荷的组合来重构所述原始分组的未损坏的有效载荷。
20.根据权利要求19所述的通信设备,其中,所述报头字段包括指示所述接收到的分组的预期接收者的访问地址,并且其中,所述处理设备被配置成处理所述接收到的分组的所述报头字段以校正所述报头字段中的所述假定位错误包括所述处理设备被配置成:
确定所述访问地址与分配的地址相差一位;以及
基于位错误使所述访问地址与所述分配的地址相差一位的假定来接收所述接收到的分组的有效载荷,
并且其中,所述处理设备被配置成重构所述原始分组的所述未损坏的有效载荷包括所述处理设备被配置成:
确定所述原始分组和所述一次或更多次重传中的至少一个分组的所述访问地址与所述分配的地址匹配。
CN202111062660.9A 2020-09-14 2021-09-10 用于蓝牙低功耗的位错误校正 Pending CN114189312A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/019,724 2020-09-14
US17/019,724 US11451331B2 (en) 2020-09-14 2020-09-14 Bit error correction for Bluetooth low energy

Publications (1)

Publication Number Publication Date
CN114189312A true CN114189312A (zh) 2022-03-15

Family

ID=80351641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111062660.9A Pending CN114189312A (zh) 2020-09-14 2021-09-10 用于蓝牙低功耗的位错误校正

Country Status (3)

Country Link
US (2) US11451331B2 (zh)
CN (1) CN114189312A (zh)
DE (1) DE102021123723A1 (zh)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447980B2 (en) 2005-10-17 2008-11-04 Newport Media, Inc. Error detection and correction in data transmission packets
US7577899B2 (en) 2006-02-13 2009-08-18 Harris Corporation Cyclic redundancy check (CRC) based error correction method and device
US20080192774A1 (en) * 2007-02-13 2008-08-14 Samsung Electronics Co., Ltd. Method and system for aggregating multiple small packets in wireless communication
US8255754B2 (en) 2007-05-15 2012-08-28 Texas Instruments Incorporated Range extension and noise mitigation for wireless communication links utilizing a CRC based single and multiple bit error correction mechanism
US9331717B2 (en) 2009-02-27 2016-05-03 Blackberry Limited Forward error correction decoding avoidance based on predicted code block reliability
US8392810B2 (en) * 2010-01-25 2013-03-05 Qualcomm Incorporated Majority vote error correction
US8522121B2 (en) 2010-02-19 2013-08-27 Broadcom Corporation Low complexity error correction using cyclic redundancy check (CRC)
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US9543981B2 (en) 2014-03-25 2017-01-10 Texas Instruments Incorporated CRC-based forward error correction circuitry and method
US9647689B2 (en) 2015-01-15 2017-05-09 Texas Instruments Incorporated Robust connection for low-energy wireless networks
US10367609B2 (en) 2017-09-20 2019-07-30 Qualcomm Incorporated Error correction for data packets transmitted using an asynchronous connection-less communication link
US11848785B2 (en) * 2017-12-28 2023-12-19 Dopple Ip B.V. Wireless stereo headset with diversity
US10574393B1 (en) 2018-03-23 2020-02-25 Nxp Usa, Inc. Phase-based cyclic redundancy check verification for wireless communication
US10887048B2 (en) 2018-09-27 2021-01-05 Apple Inc. Bluetooth transmission using low density parity check
US20200145392A1 (en) 2018-11-07 2020-05-07 Qualcomm Incorporated Apparatus and methods for real time soft combining of decrypted data
CN111740908B (zh) * 2019-03-25 2023-01-13 华为技术有限公司 通信方法及相关设备
US11121820B2 (en) * 2019-11-12 2021-09-14 Qualcomm Incorporated Media access controller with a codec error model

Also Published As

Publication number Publication date
US20220085913A1 (en) 2022-03-17
US20230063442A1 (en) 2023-03-02
DE102021123723A1 (de) 2022-03-17
US11451331B2 (en) 2022-09-20

Similar Documents

Publication Publication Date Title
US8356224B2 (en) Communication method and system using two or more coding schemes
CN111837342B (zh) 用于无线重传通信系统的位纠错
US6977888B1 (en) Hybrid ARQ for packet data transmission
AU715820B2 (en) Method and apparatus for data recovery in arq systems
EP2517361B1 (en) Broadcast system with incremental redundancy transmitted over a unicast system
US9094163B2 (en) Assessment and correction of transmitted data
US6421803B1 (en) System and method for implementing hybrid automatic repeat request using parity check combining
US8024633B2 (en) Method and apparatus for combined packet retransmission and soft decoding of combined packets in a wireless communication network
CN111030785B (zh) 在无线网络中进行数据重传的方法、系统以及无线接收器
JP5461414B2 (ja) 部分的に崩壊したデータパケットからの値の抽出方法
JP2001501789A (ja) Arqシステムの誤り検出方式
WO2022042543A1 (zh) 一种以太网错误帧的重传方法及相关装置
EP3912289B1 (en) Method of transmission of a data packet, computer program, and transceiver device
JP3476788B2 (ja) 通信方式ならびに送信装置、受信装置およびこれらを備えた通信システム
US11451331B2 (en) Bit error correction for Bluetooth low energy
US10205562B1 (en) Method and apparatus for error correction
Akpu et al. Comparative review of automatic repeat request and forward error correction method of error control coding in digital communication
CN116260553A (zh) 数据重传的方法、装置及系统
WO2018126458A1 (en) Retransmission of polar code with reordered information bits
Bajić et al. A hybride procedure with selective retransmission for aggregated packets of unequal length
Kumar PERFORMANCE EVALUATION OF DATA LINK CONTROL PROTOCOLS FOR EFFICIENT DATA TRANSFER IN COMMUNICATION NETWORKS
Soltani et al. Performance evaluation of error control protocols over finite-state Markovian channels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination