The present application is a U.S. National Stage of International Application No. PCT/CN2018/104629, filed on Sep. 7, 2018, which claims the priorities from Chinese Patent Application No. 201710924773.2 filed with the Chinese Patent Office on Oct. 1, 2017 and entitled “Polar Coding Method and Apparatus, Electronic Device, and Storage Medium” and Chinese Patent Application No. 201711149116.1 filed with the Chinese Patent Office on Nov. 17, 2017 and entitled “Polar Coding Method and Apparatus, Electronic Device, and Storage Medium”, which are hereby incorporated by reference in their entirety.

FIELD

The invention relates to the field of communication technologies, and in particular, to a polar coding method and apparatus, an electronic device, and a storage medium.

BACKGROUND

Polar codes in the control channel coding scheme of the Enhanced Mobile Broadband (eMBB) scene of 5th-Generation (5G) mobile communication technology is a coding technology that may achieve the binary symmetrical channel capacity and have the excellent decoding performance. However, when the mother code length is larger, the polar code requires a larger storage capacity and latency, so in the 5G technology, the mother code length of the polar code is at most 512 bits in the downlink and at most 1024 bits in the uplink. However, due to the Massive Multiple-Input Multiple-Output (Massive MIMO) technology, the length of the information sequence of the Uplink Control Information (UCI) increases dramatically, and thus the length of the corresponding sequence to be encoded also increases dramatically during the polar coding of the UCI, where the sequence to be encoded is the Uplink Control Information payload (UCI payload) obtained by adding a Cyclic Redundancy Check (CRC) sequence behind the information sequence of the UCI.

In order to ensure the coverage rate during communication, the low-bit-rate transmission is sometimes required. However, during the low-bit-rate transmission, when the length of the corresponding sequence to be encoded is larger, the direct polar coding of the sequence to be encoded may significantly reduce the performance of the uplink control channel. In order to solve the problem that the larger sequence to be encoded affects the performance of the uplink control channel at a low bit rate, the larger sequence to be encoded is segmented in the prior art, i.e., divide the sequence to be encoded into two segments for the polar coding, to ensure the performance of the uplink control channel.

However, in the prior art, only one fixed segmentation strategy is adopted when performing the polar coding, that is, all the sequences to be encoded are segmented, or none of the sequences to be encoded is segmented, which may reduce the performance of the uplink control channel. Therefore, there is an urgent need for a polar coding scheme which can determine the segmentation strategy corresponding to the sequence to be encoded flexibly to ensure the performance of the uplink control channel.

SUMMARY

Embodiments of the invention provide a polar coding method and apparatus, an electronic device, and a storage medium, so as to provide a polar coding scheme for determining the segmentation strategy corresponding to the sequence to be encoded flexibly to ensure the performance of the uplink control channel.

An embodiment of the invention discloses a polar coding method, which includes:

determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate;

processing the sequence to be encoded according to the segmentation strategy, and performing polar coding on the processed sequence to be encoded.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

judging whether the transmission code rate is greater than or greater than/equal to a preset first code rate threshold;

if it is determined that the transmission code rate is greater than or greater than/equal to the preset first code rate threshold, determining not to segment the sequence to be encoded.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

if the transmission code rate is not greater than or less than a preset first code rate threshold and not less than or greater than a preset second code rate threshold, judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset first length threshold, wherein the first code rate threshold is greater than the second code rate threshold;

if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset first length threshold, determining to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset first length threshold, determining not to segment the sequence to be encoded.

Further, the preset first code rate threshold is 0.4.

Further, before judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset first length threshold, the method further includes:

determining the first length threshold according to the transmission code rate and a preset first function.

Further, the preset first function is Kth1=int (c*R+b) or Kth1=c*R+b, wherein kth1 is the first length threshold, int is the rounding function, c is a preset first parameter, b is a preset second parameter, and R is the transmission code rate.

Further, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.

Further, c is 1000 and b is 140.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

if the transmission code rate is less than or less than/equal to a preset second code rate threshold, judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset second length threshold;

if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset second length threshold, determining to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to a preset second length threshold, determining not to segment the sequence to be encoded.

Further, the preset second length threshold is not less than 290 and not greater than 390.

Further, the preset second length threshold is 340.

Further, the preset second code rate threshold is 0.2.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

if the transmission code rate is less than or less than/equal to a preset third code rate threshold, judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset third length threshold;

if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset third length threshold, determining to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to the preset third length threshold, determining not to segment the sequence to be encoded.

Further, the third code rate threshold is 6/25.

Further, the preset third length threshold is not less than 348 and not greater than 472.

Further, the preset third length threshold is 410.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

if the transmission code rate is not less than or greater than a preset third code rate threshold and not greater than or less than a preset fourth code rate threshold, judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset fourth length threshold, wherein the fourth code rate threshold is greater than the third code rate threshold;

if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset fourth length threshold, determining to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to the preset fourth length threshold, determining not to segment the sequence to be encoded.

Further, before judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset fourth length threshold, the method further includes:

determining the fourth length threshold according to the transmission code rate and a preset second function.

Further, the preset second function is Kth2=int(a*R+e) or Kth2=a*R+e, wherein kth2 is the fourth length threshold, int is the rounding function, a is a preset third parameter, e is a preset fourth parameter, and R is the transmission code rate.

Further, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.

Further, a is 1000 and e is 170.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset fifth length threshold;

if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset fifth length threshold, determining to segment the sequence to be encoded.

Further, before determining to segment the sequence to be encoded, the method further includes:

judging whether the transmission code rate is less than or less than/equal to a preset fifth code rate threshold;

if it is determined that the transmission code rate is less than or less than/equal to the preset fifth code rate threshold, proceeding to the next step.

Further, the preset fifth code rate threshold is not less than 0.2 and not greater than 0.9.

Further, the preset fifth code rate threshold is 0.75, or 2/3, or 1/2, or 2/5, or 0.38, or 0.36, or 1/3, or 0.3, or 0.28, or 0.26, or 0.24, or 1/4, or 1/5.

Further, the preset fifth length threshold is not less than 300 and not greater than 450.

Further, the preset fifth length threshold is 340, or 350, or 360, or 370, or 380, or 390, or 400, or 410, or 420, or 430, or 440, or 450.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

judging whether the transmission code rate is greater than a preset sixth code rate threshold;

if it is determined that the transmission code rate is greater than the preset sixth code rate threshold, determining to segment the sequence to be encoded according to a preset linear function K_th1=f*R+g or K_th1=int (f*R+g), wherein K_th1 is a first length value, f is a preset fifth parameter value, g is a preset sixth parameter value, R is the transmission code rate, and int is the rounding function.

Further, f is a numerical value in the range of 500-1200 and g is a numerical value in the range of 60-300.

Further, f is 832 and g is 200.

Further, the determining to segment the sequence to be encoded according to a preset linear function K_th1=f*R+g or K_th1=int (f*R+g), includes:

determining to determine a target code rate interval corresponding to the transmission code rate according to at least two preset code rate intervals and a preset linear function K_th1=fn*R+gn or K_th1=int (fn*R+gn) corresponding to each code rate interval, and segment the sequence to be encoded according to a target linear function corresponding to the target code rate interval, wherein the minimum code rate value in the code rate interval is not less than the preset sixth code rate threshold.

Further, the preset sixth code rate threshold is 0.2.

Further, the determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate, includes:

determining to segment the sequence to be encoded according to a preset linear function K_th2=h*R+i or K_th2=int (h*R+i), wherein K_th2 is a second length value, h is a preset seventh parameter value, i is a preset eighth parameter value, R is the transmission code rate, and int is the rounding function.

Further, h is a numerical value in the range of 500-1200 and i is a numerical value in the range of 60-300.

Further, before determining to segment the sequence to be encoded, the method further includes:

judging whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold;

if it is determined that the length of the sequence to be encoded is less than or equal to a preset fifth length threshold, proceeding to the next step.

Further, the fifth code rate threshold is between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, wherein x is a numerical value greater than 0 and less than N.

Further, x is a numerical value greater than or equal to 0.3 and less than 2, and N is 2.

Further, when the segmentation strategy is to segment the sequence to be encoded, the processing the sequence to be encoded according to the segmentation strategy includes:

segmenting an information sequence in the sequence to be encoded; or segmenting the sequence to be encoded containing an information sequence and a CRC sequence.

An embodiment of the invention discloses a polar coding apparatus, which includes:

a determining module configured to determine a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate;

an encoding module configured to process the sequence to be encoded according to the segmentation strategy, and perform polar coding on the processed sequence to be encoded.

An embodiment of the invention discloses an electronic device including: a memory and a processor;

the processor is configured to read programs in the memory and perform the process of: determining a segmentation strategy corresponding to a sequence to be encoded according to a length of the sequence to be encoded and a transmission code rate; and processing the sequence to be encoded according to the segmentation strategy, and performing polar coding on the processed sequence to be encoded.

Further, the processor is specifically configured to: judge whether the transmission code rate is greater than or greater than/equal to a preset first code rate threshold; if it is determined that the transmission code rate is greater than or greater than/equal to the preset first code rate threshold, determine not to segment the sequence to be encoded.

Further, the processor is specifically configured to: if the transmission code rate is not greater than or less than a preset first code rate threshold and not less than or greater than a preset second code rate threshold, judge whether the length of the sequence to be encoded is greater than or greater than/equal to a preset first length threshold, wherein the first code rate threshold is greater than the second code rate threshold; if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to a preset first length threshold, determine to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to a preset first length threshold, determine not to segment the sequence to be encoded.

Further, the preset first code rate threshold is 0.4.

Further, the processor is further configured to: determine the first length threshold according to the transmission code rate and a preset first function.

Further, the preset first function is Kth1=int (c*R+b) or Kth1=c*R+b, wherein kth1 is the first length threshold, int is the rounding function, c is a preset first parameter, b is a preset second parameter, and R is the transmission code rate.

Further, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.

Further, c is 1000 and b is 140.

Further, the processor is specifically configured to: if the transmission code rate is less than or less than/equal to a preset second code rate threshold, judge whether the length of the sequence to be encoded is greater than or greater than/equal to a preset second length threshold; if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset second length threshold, determine to segment the sequence to be encoded; if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to the preset second length threshold, determine not to segment the sequence to be encoded.

Further, the preset second length threshold is not less than 290 and not greater than 390.

Further, the preset second length threshold is 340.

Further, the preset second code rate threshold is 0.2.

Further, the processor is specifically configured to: if the transmission code rate is less than or less than/equal to a preset third code rate threshold, judge whether the length of the sequence to be encoded is greater than or greater than/equal to a preset third length threshold; if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset third length threshold, determine to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to the preset third length threshold, determine not to segment the sequence to be encoded.

Further, the third code rate threshold is 6/25.

Further, the preset third length threshold is not less than 348 and not greater than 472.

Further, the preset third length threshold is 410.

Further, the processor is specifically configured to: if the transmission code rate is not less than or greater than a preset third code rate threshold and not greater than or less than a preset fourth code rate threshold, judge whether the length of the sequence to be encoded is greater than or greater than/equal to a preset fourth length threshold, wherein the fourth code rate threshold is greater than the third code rate threshold; if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to the preset fourth length threshold, determine to segment the sequence to be encoded; and if it is determined that the length of the sequence to be encoded is not greater than or greater than/equal to the preset fourth length threshold, determine not to segment the sequence to be encoded.

Further, the processor is further configured to: determine the fourth length threshold according to the transmission code rate and a preset second function before judging whether the length of the sequence to be encoded is greater than or greater than/equal to a preset fourth length threshold.

Further, the preset second function is Kth2=int(a*R+e) or Kth2=a*R+e, wherein kth2 is the fourth length threshold, int is the rounding function, a is a preset third parameter, e is a preset fourth parameter, and R is the transmission code rate.

Further, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.

Further, a is 1000 and e is 170.

Further, the processor is specifically configured to: judge whether the transmission code rate is greater than or greater than/equal to a preset fourth code rate threshold; if it is determined that the transmission code rate is greater than or greater than/equal to a preset fourth code rate threshold, determine not to segment the sequence to be encoded.

Further, the preset fourth code rate threshold is 9/25.

Further, the processor is specifically configured to: judge whether the length of the sequence to be encoded is greater than or greater than/equal to a preset fifth length threshold; if it is determined that the length of the sequence to be encoded is greater than or greater than/equal to a preset fifth length threshold, determine to segment the sequence to be encoded.

Further, the processor is specifically configured to: judge whether the transmission code rate is less than or less than/equal to a preset fifth code rate threshold; if it is determined that the transmission code rate is less than or less than/equal to a preset fifth code rate threshold, determine to segment the sequence to be encoded.

Further, the preset fifth code rate threshold is not less than 0.2 and not greater than 0.9.

Further, the preset fifth code rate threshold is 0.75, or 2/3, or 1/2, or 2/5, or 0.38, or 0.36, or 1/3, or 0.3, or 0.28, or 0.26, or 0.24, or 1/4, or 1/5.

Further, the preset fifth length threshold is not less than 300 and not greater than 450.

Further, the preset fifth length threshold is 340, or 350, or 360, or 370, or 380, or 390, or 400, or 410, or 420, or 430, or 440, or 450.

Further, the processor is specifically configured to: judge whether the transmission code rate is greater than a preset sixth code rate threshold; if it is determined that the transmission code rate is greater than the preset sixth code rate threshold, determine to segment the sequence to be encoded according to a preset linear function K_th1=f*R+g or K_th1=int (f*R+g), wherein K_th1 is a first length value, f is a preset fifth parameter value, g is a preset sixth parameter value, R is the transmission code rate, and int is the rounding function.

Further, f is a numerical value in the range of 500-1200 and g is a numerical value in the range of 60-300.

Further, f is 832 and g is 200.

Further, the processor is specifically configured to: determine to determine a target code rate interval corresponding to the transmission code rate according to at least two preset code rate intervals and a preset linear function K_th1=fn*R+gn or K_th1=int (fn*R+gn) corresponding to each code rate interval, and segment the sequence to be encoded according to a target linear function corresponding to the target code rate interval, wherein the minimum code rate value in the code rate interval is not less than the preset sixth code rate threshold.

Further, the preset sixth code rate threshold is 0.2.

Further, the processor is specifically configured to: determine to segment the sequence to be encoded according to a preset linear function K_th2=h*R+i or K_th2=int (h*R+i), wherein K_th2 is a second length value, h is a preset seventh parameter value, i is a preset eighth parameter value, R is the transmission code rate, and int is the rounding function.

Further, h is a numerical value in the range of 500-1200 and i is a numerical value in the range of 60-300.

Further, the processor is further configured to: judge whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold; if it is determined that the length of the sequence to be encoded is less than or equal to the preset fifth length threshold, proceed to the step of determining to segment the sequence to be encoded.

Further, the fifth code rate threshold is between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, wherein x is a numerical value greater than 0 and less than N.

Further, x is a numerical value greater than or equal to 0.3 and less than 2, and N is 2.

Further, the processor is specifically configured to: segment an information sequence in the sequence to be encoded or segment the sequence to be encoded containing an information sequence and a CRC sequence when the segmentation strategy is to segment the sequence to be encoded.

An embodiment of the invention discloses a computer readable storage medium storing computer programs executable by an electronic device, where the programs cause the electronic device to perform steps of any method described above when running on the electronic device.

The embodiments of the invention disclose a polar coding method and apparatus, an electronic device, and a storage medium. The solution includes: determining the segmentation strategy corresponding to the sequence to be encoded according to the length of the sequence to be encoded and the transmission code rate; and processing the sequence to be encoded according to the segmentation strategy, and performing the polar coding on the processed sequence to be encoded. In the embodiments of the invention, the segmentation strategy corresponding to the sequence to be encoded may be determined according to the length of the sequence to be encoded and the transmission code rate, so the corresponding segmentation strategies are determined for the sequences to be encoded of different lengths and different transmission code rates, ensuring the performance of the uplink control channel.

