IP Library Granted Patent US 12,712,661
Granted Patent B2
US 12,712,661 · App. 18/252,648 · Granted Aug 18, 2026

Forward error correction code rate selection for a fountain code system

Inventors: Jian Li (Shanghai, CN); Changlong Xu (Beijing, CN); Kangqi Liu (San Diego, CA); Liangming Wu (Beijing, CN); Hao Xu (Beijing, CN)
Assignee: QUALCOMM Incorporated
H04L1/0002H04L1/0026H04L1/0041
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,712,661
App. No.
18/252,648
Granted
Aug 18, 2026
Kind
B2
Abstract

Aspects of the present disclosure relate to selection of a coding rate for forward error correction coding associated with Fountain code encoding. According to some aspects, a wireless device may determine a plurality of block error rates associated with a channel between the wireless device and a second device, the plurality of block error rates being associated with a plurality of coding rates. The wireless device may select a coding rate from the plurality of coding rates for forward error correction coding based on the plurality of block error rates and the plurality of coding rates. The wireless device may encode a source data packet using a Fountain code to produce a codeword, and perform the forward error correction coding on the codeword based on the selected coding rate to produce a transmit signal. The wireless device may transmit the transmit signal to the second device.

Claims (87)

1 . A method of wireless communication by a wireless device, comprising:

determining a plurality of block error rates associated with a channel between the wireless device and a second wireless device, the plurality of block error rates being associated with a plurality of coding rates;

determining a plurality of optimal coding rates respectively for a plurality of channel quality values based on the plurality of block error rates and the plurality of coding rates, each optimal coding rate of the plurality of optimal coding rates being an optimal coding rate among the plurality of coding rates for a respective channel quality value of the plurality of channel quality values;

determining a channel quality value associated with the channel, from the plurality of channel quality values;

selecting a coding rate from the plurality of coding rates for forward error correction coding based on the plurality of block error rates and the plurality of coding rates, wherein each of the plurality of coding rates corresponds to respective one or more of the plurality of block error rates, wherein the selected coding rate is one of the plurality of optimal coding rates that corresponds with the determined channel quality value;

encoding a source data packet using a Fountain code of a plurality of Fountain codes to produce a codeword;

performing the forward error correction coding on the codeword based on the selected coding rate to produce a transmit signal; and

transmitting the transmit signal to the second wireless device.

2 . The method of claim 1 , wherein the determining the plurality of block error rates comprises:

receiving, from the second wireless device, the plurality of block error rates determined based on the plurality of coding rates.

3 . The method of claim 1 , wherein the determining the plurality of block error rates comprises determining the plurality of channel quality values associated with the channel for each coding rate of the plurality of coding rates, and

wherein the selecting the coding rate from the plurality of coding rates is further based on the plurality of channel quality values.

4 . The method of claim 3 , wherein the determining the plurality of block error rates comprises:

determining the plurality of block error rates that include a plurality of sets of block error rates, the plurality of sets respectively corresponding to the plurality of coding rates, wherein block error rates of each set of the plurality of sets are associated with a respective coding rate of the plurality of coding rates, are respectively associated with the plurality of channel quality values, and are determined based on the respective coding rate of the plurality of coding rates and the plurality of channel quality values.

5 . The method of claim 1 , wherein the plurality of channel quality values include at least one of a plurality of channel state information (CSI) feedback values or a plurality of signal-to-interference-plus-noise ratio (SINR) values.

6 . The method of claim 1 , further comprising:

transmitting, to the second wireless device, a plurality of signals using each coding rate of the plurality of coding rates;

receiving a plurality of feedback signals from the second wireless device respectively in response to the plurality of transmitted signals for each coding rate of the plurality of coding rates,

wherein the determining the plurality of block error rates comprises determining each block error rate for a corresponding coding rate of the plurality of coding rates based on the plurality of feedback signals for the corresponding coding rate of the plurality of coding rates.

7 . The method of claim 6 , wherein each of the plurality of feedback signals indicates either an acknowledgement (ACK) or a negative acknowledgement (NACK).

8 . The method of claim 1 , wherein the selecting the coding rate from the plurality of coding rates for the forward error correction coding comprises selecting the coding rate that maximizes a value of a metric based on a coding rate and a block error rate associated with the coding rate.

9 . The method of claim 8 , wherein the metric is based on (1−P i )R i ,

wherein R i is an i-th coding rate of the plurality of coding rates and P i is an i-th block error rate of the plurality of block error rates that corresponds to the i-th coding rate R i , and

wherein i is an integer that ranges from 0 to M, M being a number of the plurality of coding rates.

10 . The method of claim 1 , wherein the plurality of coding rates are based on a plurality of modulation coding scheme (MCS) index values.

11 . The method of claim 1 , wherein the Fountain code is a Raptor code.

12 . A wireless device for wireless communication, comprising:

at least one processor;

a transceiver communicatively coupled to the at least one processor; and

a memory communicatively coupled to the at least one processor,

wherein the at least one processor is configured to:

determine a plurality of block error rates associated with a channel between the wireless device and a second wireless device, the plurality of block error rates being associated with a plurality of coding rates;

determine a plurality of optimal coding rates respectively for a plurality of channel quality values based on the plurality of block error rates and the plurality of coding rates, each optimal coding rate of the plurality of optimal coding rates being an optimal coding rate among the plurality of coding rates for a respective channel quality value of the plurality of channel quality values;

determine a channel quality value associated with the channel, from the plurality of channel quality values;

select a coding rate from the plurality of coding rates for forward error correction coding based on the plurality of block error rates and the plurality of coding rates, wherein each of the plurality of coding rates corresponds to respective one or more of the plurality of block error rates, wherein the selected coding rate is one of the plurality of optimal coding rates that corresponds with the determined channel quality value;

encode a source data packet using a Fountain code of a plurality of Fountain codes to produce a codeword;

perform the forward error correction coding on the codeword based on the selected coding rate to produce a transmit signal; and

transmit the transmit signal to the second wireless device.

13 . The wireless device of claim 12 , wherein the at least one processor configured to determine the plurality of block error rates is configured to:

receive, from the second wireless device, the plurality of block error rates determined based on the plurality of coding rates.

14 . The wireless device of claim 12 , wherein the at least one processor configured to determine the plurality of block error rates is configured to determine the plurality of channel quality values associated with the channel for each coding rate of the plurality of coding rates, and

wherein the coding rate from the plurality of coding rates is selected further based on the plurality of channel quality values.

15 . The wireless device of claim 14 , wherein the at least one processor configured to determine the plurality of block error rates is configured to:

determine the plurality of block error rates that include a plurality of sets of block error rates, the plurality of sets respectively corresponding to the plurality of coding rates, wherein block error rates of each set of the plurality of sets are associated with a respective coding rate of the plurality of coding rates, are respectively associated with a plurality of channel quality values, and are determined based on the respective coding rate of the plurality of coding rates and the plurality of channel quality values.

16 . The wireless device of claim 12 , wherein the plurality of channel quality values include at least one of a plurality of channel state information (CSI) feedback values or a plurality of signal-to-interference-plus-noise ratio (SINR) values.

17 . The wireless device of claim 12 , wherein the at least one processor is further configured to:

transmit, to the second wireless device, a plurality of signals using each coding rate of the plurality of coding rates;

receive a plurality of feedback signals from the second wireless device respectively in response to the plurality of transmitted signals for each coding rate of the plurality of coding rates,

wherein the at least one processor configured to determine the plurality of block error rates is configured to determine each block error rate for a corresponding coding rate of the plurality of coding rates based on the plurality of feedback signals for the corresponding coding rate of the plurality of coding rates.

18 . The wireless device of claim 12 , wherein the at least one processor configured to select the coding rate from the plurality of coding rates for the forward error correction coding is configured to select the coding rate that maximizes a value of a metric based on a coding rate and a block error rate associated with the coding rate.

19 . The wireless device of claim 18 , wherein the metric is based on (1−P i ) R i ,

wherein R i is an i-th coding rate of the plurality of coding rates and P i is an i-th block error rate of the plurality of block error rates that corresponds to the i-th coding rate R i , and

wherein i is an integer that ranges from 0 to M, M being a number of the plurality of coding rates.

20 . A wireless device for wireless communication, comprising:

at least one processor;

a transceiver communicatively coupled to the at least one processor; and

a memory communicatively coupled to the at least one processor,

wherein the at least one processor is configured to:

transmit, to a second wireless device, a plurality of signals using each coding rate of a plurality of coding rates;

receive a plurality of feedback signals, respectively corresponding to the plurality of transmitted signals, from the second wireless device in response to the plurality of transmitted signals for each coding rate of the plurality of coding rates;

determine a plurality of block error rates associated with a channel between the wireless device and the second wireless device, the plurality of block error rates being associated with the plurality of coding rates, wherein the at least one processor configured to determine the plurality of block error rates is configured to determine each block error rate of the plurality of block error rates for a corresponding coding rate of the plurality of coding rates based on the plurality of feedback signals for the corresponding coding rate of the plurality of coding rates;

select a coding rate from the plurality of coding rates for forward error correction coding based on the plurality of block error rates and the plurality of coding rates, wherein each of the plurality of coding rates corresponds to respective one or more of the plurality of block error rates;

encode a source data packet using a Fountain code of a plurality of Fountain codes to produce a codeword;

perform the forward error correction coding on the codeword based on the selected coding rate to produce a transmit signal; and

transmit the transmit signal to the second wireless device.

21 . The wireless device of claim 20 , wherein the at least one processor configured to determine the plurality of block error rates is configured to:

receive, from the second wireless device, the plurality of block error rates determined based on the plurality of coding rates.

22 . The wireless device of claim 20 , wherein the at least one processor configured to determine the plurality of block error rates is configured to determine a plurality of channel quality values associated with the channel for each coding rate of the plurality of coding rates, and

wherein the at least one processor configured to select the coding rate is configured to select the coding rate from the plurality of coding rates further based on the plurality of channel quality values.

23 . The wireless device of claim 22 , wherein the at least one processor configured to determine the plurality of block error rates is configured to:

determine the plurality of block error rates that include a plurality of sets of block error rates, the plurality of sets respectively corresponding to the plurality of coding rates, wherein block error rates of each set of the plurality of sets are associated with a respective coding rate of the plurality of coding rates, are respectively associated with the plurality of channel quality values, and are determined based on the respective coding rate of the plurality of coding rates and the plurality of channel quality values.

24 . The wireless device of claim 22 , wherein the at least one processor is further configured to:

determine a plurality of optimal coding rates respectively for the plurality of channel quality values; and

determine a channel quality value associated with the channel,

wherein the at least one processor configured to select the coding rate is configured to select one of the plurality of optimal coding rates that corresponds with the determined channel quality value.

25 . The wireless device of claim 20 , wherein the at least one processor configured to select the coding rate from the plurality of coding rates for the forward error correction coding is configured to select the coding rate that maximizes a value of a metric based on a coding rate and a block error rate associated with the coding rate.

26 . The wireless device of claim 25 , wherein the metric is based on (1−P i ) R i ,

wherein R i is an i-th coding rate of the plurality of coding rates and P i is an i-th block error rate of the plurality of block error rates that corresponds to the i-th coding rate R i , and

wherein i is an integer that ranges from 0 to M, M being a number of the plurality of coding rates.

27 . A method of wireless communication by a wireless device, comprising:

transmitting, to a second wireless device, a plurality of signals using each coding rate of a plurality of coding rates;

receiving a plurality of feedback signals, respectively corresponding to the plurality of transmitted signals, from the second wireless device in response to the plurality of transmitted signals for each coding rate of the plurality of coding rates;

determining a plurality of block error rates associated with a channel between the wireless device and the second wireless device, the plurality of block error rates being associated with the plurality of coding rates, wherein the determining the plurality of block error rates comprises determining each block error rate of the plurality of block error rates for a corresponding coding rate of the plurality of coding rates based on the plurality of feedback signals for the corresponding coding rate of the plurality of coding rates;

selecting a coding rate from the plurality of coding rates for forward error correction coding based on the plurality of block error rates and the plurality of coding rates, wherein each of the plurality of coding rates corresponds to respective one or more of the plurality of block error rates;

encoding a source data packet using a Fountain code of a plurality of Fountain codes to produce a codeword;

performing the forward error correction coding on the codeword based on the selected coding rate to produce a transmit signal; and

transmitting the transmit signal to the second wireless device.