# US 11,451,331 B2 · Bit error correction for Bluetooth low energy

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,451,331 B2
- Document ID: US11451331B2
- Status: Granted
- Kind: B2
- Application number: 17/019,724
- Filed: 2020-09-14
- Published: 2022-03-17
- Granted: 2022-09-20
- Earliest claimed: 2020-09-14
- Assignees: Cypress Semiconductor Corporation
- Applicants: Cypress Semiconductor Corporation
- Inventors: Robert Zopf
- Web page: https://patentgrep.com/patent/US11451331B2

## CPC

- H04L 1/0045: {Arrangements at the receiver end}
- H04L 1/0061: {Error detection codes}
- H04L 1/08: by repeating transmission, e.g. Verdan system {(H04L1/1858 and H04L1/189 take precedence)}
- H04L 1/1825: Adaptation of specific ARQ protocol parameters according to transmission conditions
- H04L 1/1845: {Combining techniques, e.g. code combining}
- H04L 45/74: Address processing for routing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are methods and systems for a Bluetooth Low Energy (BLE) receiver to reduce the number of retransmission of packets needed to receive an error free packet so as to improve channel throughput. Techniques to reduce the number of retransmissions include a combination of processing of the header of the received packets to increase the number of corrupted packets available for reconstructing the original payload and bit error correction (BEC) of the payload of the corrupted packets. Header processing may include making available for payload reconstruction a packet whose received access address differs by no more than 1-bit from an assigned address of the receiver provided at least one of the corrupted packets used in the reconstruction contains an error-free access address. Header processing may also include using a prior error-free decoded length of the packet to aid in the determination of the length field of a current packet.

## Claims

### Claim 1

A method, comprising:
processing a corrupted header field of a received packet to correct a hypothesized bit error in the corrupted header field by hypothesizing a corrected header field so that a payload of the received packet is available for payload reconstruction, the received packet including an original packet or one or more retransmissions of the original packet;
receiving the payload of the received packet based on the corrected header field as hypothesized;
determining if the payload of the received packet is corrupted; and
reconstructing an uncorrupted payload of the original packet based on a combination of the payload of the original packet and the payload of the one or more retransmissions in response to determining that the payload of the received packet is corrupted.

### Claim 2 (depends on 1)

The method of claim 1, wherein the corrupted header field comprises an access address indicating an intended recipient of the received packet, and wherein processing the corrupted header field of the received packet to correct the hypothesized bit error in the corrupted header field comprises:
determining that the access address differs by one bit from an assigned address; and
receiving the payload of the received packet by assuming a bit error causes the access address to differ by the one bit from the assigned address.

### Claim 3 (depends on 2)

The method of claim 2, wherein reconstructing the uncorrupted payload of the original packet comprises:
determining that the access address of at least one packet among the original packet and the one or more retransmissions matches with the assigned address.

### Claim 4 (depends on 1)

The method of claim 1, wherein the corrupted header field comprises a length field indicating a length of the payload of the received packet, and wherein processing the corrupted header field of the received packet to correct the hypothesized bit error in the corrupted header field comprises:
determining a low channel reliability of a channel over which the received packet is received;
determining if the length field differs by one bit or less from a last valid length field;
updating the length field to the last valid length field in response to determining that the length field differs by one bit or less from the last valid length field; and
receiving the payload of the received packet as indicted by the length field as updated.

### Claim 5 (depends on 4)

The method of claim 4, wherein determining if the payload of the received packet is corrupted comprises:
determining if the payload of the received packet passes a cyclic redundancy check (CRC);
transmitting an acknowledge signal to indicate the received packet is error free in response to determining that the payload of the received packet passes the CRC;
discarding the received packet in response to determining that the payload of the received packet fails the CRC; and
requesting a retransmission of the original packet.

### Claim 6 (depends on 4)

The method of claim 4, further comprising:
keeping the length field in response to determining that the length field differs by more than one bit from the last valid length field;
receiving the payload of the received packet as indicated by the length field;
determining if the payload of the received packet passes a cyclic redundancy check (CRC); and
setting the last valid length field to the length field in response to determining that the payload of the received packet passes the CRC.

### Claim 7 (depends on 1)

The method of claim 1, wherein reconstructing the uncorrupted payload of the original packet based on the combination of the payload of the original packet and the payload of the one or more retransmissions comprises:
generating an accumulated payload based on the payload of the original packet and the payload of the one or more retransmissions, the accumulated payload accumulating identical bits of the payload of the original packet and the payload of the one or more retransmissions;
generating a decision packet for the uncorrupted payload based on the accumulated payload; and
verifying that the decision packet is error free.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
determining that the decision packet has at least one error bit;
identifying hypothesized bit error positions based on the accumulated payload;
generating a plurality of permutations of the identified hypothesized bit error positions;
generating a plurality of error syndromes corresponding to the plurality of permutations of the identified hypothesized bit error positions; and
reconstructing the uncorrupted payload by comparing the plurality of error syndromes with an error syndrome associated with the decision packet.

### Claim 9 (depends on 1)

The method of claim 1, wherein the received packet comprises a Bluetooth Low Energy (BLE) packet.

### Claim 10

A receiver, comprising:
a wireless interface configured to receive one or more packets;
a processing device configured to:
process a corrupted header field of a received packet to correct a hypothesized bit error in the corrupted header field by hypothesizing a corrected header field so that a payload of the received packet is available for payload reconstruction, the received packet including an original packet or one or more retransmissions of the original packet;
receive the payload of the received packet based on the corrected header field as hypothesized;
determine if the payload of the received packet is corrupted; and
reconstruct an uncorrupted payload of the original packet based on a combination of the payload of the original packet and the payload of the one or more retransmissions in response to the payload of the received packet being corrupted.

### Claim 11 (depends on 10)

The receiver of claim 10, wherein the corrupted header field comprises an access address indicating an intended recipient of the received packet, and wherein the processing device configured to process the corrupted header field of the received packet to correct the hypothesized bit error in the corrupted header field comprises the processing device configured to:
determine that the access address differs by one bit from an assigned address; and
receive the payload of the received packet based on an assumption that a bit error causes the access address to differ by the one bit from the assigned address.

### Claim 12 (depends on 11)

The receiver of claim 11, wherein the processing device configured to reconstruct the uncorrupted payload of the original packet comprises the processing device configured to:
determine that the access address of at least one packet among the original packet and the one or more retransmissions matches with the assigned address.

### Claim 13 (depends on 10)

The receiver of claim 10, wherein the corrupted header field comprises a length field indicating a length of the payload of the received packet, and wherein the processing device configured to process the corrupted header field of the received packet to correct the hypothesized bit error in the corrupted header field comprises the processing device configured to:
determine a low channel reliability of a channel over which the received packet is received by the wireless interface;
determine if the length field differs by one bit or less from a last valid length field;
update the length field to the last valid length field in response to the length field differs by one bit or less from the last valid length field; and
receive the payload of the received packet as indicted by the length field as updated.

### Claim 14 (depends on 13)

The receiver of claim 13, wherein the processing device configured to determine if the payload of the received packet is corrupted comprises the processing device configured to:
determine if the payload of the received packet passes a cyclic redundancy check (CRC);
transmit an acknowledge signal to indicate the received packet is error free in response to the payload of the received packet passing the CRC;
discard the received packet in response to the payload of the received packet failing the CRC; and
requesting a retransmission of the original packet.

### Claim 15 (depends on 13)

The receiver of claim 13, wherein the processing device is further configured to:
keep the length field in response to the length field differs by more than one bit from the last valid length field;
receive the payload of the received packet as indicated by the length field;
determine if the payload of the received packet passes a cyclic redundancy check (CRC); and
set the last valid length field to the length field in response to the payload of the received packet passing the CRC.

### Claim 16 (depends on 10)

The receiver of claim 10, wherein the processing device configured to reconstruct the uncorrupted payload of the original packet based on the combination of the payload of the original packet and the payload of the one or more retransmissions comprises the processing device further configured to:
generate an accumulated payload based on the payload of the original packet and the payload of the one or more retransmissions, the accumulated payload accumulating identical bits of the payload of the original packet and the payload of the one or more retransmissions;
generate a decision packet for the uncorrupted payload based on the accumulated payload; and
verify that the decision packet is error free.

### Claim 17 (depends on 16)

The receiver of claim 16, wherein the processing device is further configured to:
determine that the decision packet has at least one error bit;
identify hypothesized bit error positions based on the accumulated payload;
generate a plurality of permutations of the identified hypothesized bit error positions;
generate a plurality of error syndromes corresponding to the plurality of permutations of the identified hypothesized bit error positions; and
compare the plurality of error syndromes with an error syndrome associated with the decision packet to reconstruct the uncorrupted payload.

### Claim 18 (depends on 10)

The receiver of claim 10, wherein the wireless interface comprises a Bluetooth Low Energy (BLE) interface and the received packet comprises a BLE packet.

### Claim 19

A communication device, comprising:
one or more antennas; and
a processing device connected to the one or more antennas, the processing device configured to:
process a corrupted header field of a received packet to correct a hypothesized bit error in the corrupted header field by hypothesizing a corrected header field so that a payload of the received packet is available for payload reconstruction, the received packet including an original packet or one or more retransmissions of the original packet;
receive a payload of the received packet based on the corrected header field as hypothesized;
determine if the payload of the received packet is corrupted; and
reconstruct an uncorrupted payload of the original packet based on a combination of the payload of the original packet and the payload of the one or more retransmissions in response to the payload of the received packet being corrupted.

### Claim 20 (depends on 19)

The communication device of claim 19, wherein the corrupted header field comprises an access address indicating an intended recipient of the received packet, and wherein the processing device configured to process the corrupted header field of the received packet to correct the hypothesized bit error in the corrupted header field comprises the processing device configured to:
determine that the access address differs by one bit from an assigned address; and
receive the payload of the received packet based on an assumption that a bit error causes the access address to differ by the one bit from the assigned address, and wherein the processing device configured to reconstruct the uncorrupted payload of the original packet comprises the processing device configured to:
determine that the access address of at least one packet among the original packet and the one or more retransmissions matches with the assigned address.
