A polar encoding method and device, electronic equipment and storage medium
By dynamically determining the segmentation strategy based on the length of the sequence to be encoded and the transmission code rate, the performance degradation of the uplink control channel caused by the fixed segmentation strategy in the existing technology is solved, and performance improvement is achieved under different conditions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DATANG MOBILE COMM EQUIP CO LTD
- Filing Date
- 2017-11-17
- Publication Date
- 2026-06-09
Smart Images

Figure CN118353576B_ABST
Abstract
Description
[0001] This application is a divisional application. The original application has the application number 201711149116.1 and the original application date is November 17, 2017. The original application is entitled "A polarization coding method, apparatus, electronic device and storage medium". The entire contents of the original application are incorporated herein by reference. Technical Field
[0002] This invention relates to the field of communication technology, and in particular to a polar coding method, apparatus, electronic device, and storage medium. Background Technology
[0003] The polar code in the control channel coding scheme of 5G (5th Generation Mobile Broadband) scenarios is a coding system that can achieve binary symmetric channel capacity and has excellent decoding performance. However, when the polar code has a large mother code length, it has a large storage capacity and latency. Therefore, 5G specifies that the maximum length of the polar code mother code is 512 bits for downlink and 1024 bits for uplink. However, due to the influence of Massive Multiple-Input Multiple-Output (MIMO) technology, the length of the uplink control information (UCI) sequence has increased dramatically. Consequently, when polar coding the UCI, the length of the corresponding sequence to be encoded has also increased dramatically. The sequence to be encoded is the uplink control information payload (UCI payload) obtained by appending a Cyclic Redundancy Check (CRC) sequence to the UCI information sequence.
[0004] To ensure coverage during communication, low bit rate transmission is sometimes required. However, when the length of the sequence to be encoded is large at low bit rates, directly performing polar coding on the sequence will significantly degrade the performance of the uplink control channel. To address the issue of large sequences affecting uplink control channel performance at low bit rates, existing technology involves segmenting the large sequence into two parts before performing polar coding, thus ensuring the performance of the uplink control channel.
[0005] However, existing technologies only use a fixed segmentation strategy when performing polar coding, that is, segmenting the sequence to be coded into segments or not segmenting the sequence to be coded into segments. However, polar coding with only one segmentation strategy will reduce the performance of the uplink control channel. Therefore, there is an urgent need for a polar coding scheme that can flexibly determine the segmentation strategy corresponding to the sequence to be coded in order to ensure the performance of the uplink control channel. Summary of the Invention
[0006] This invention provides a polar coding method, apparatus, electronic device, and storage medium to provide a polar coding scheme for flexibly determining the segmentation strategy corresponding to the sequence to be encoded, so as to ensure the performance of the uplink control channel.
[0007] This invention discloses a polarization coding method, the method comprising:
[0008] Based on the length of the sequence to be encoded and the transmission code rate, determine the segmentation strategy corresponding to the sequence to be encoded;
[0009] According to the segmentation strategy, the sequence to be encoded is processed accordingly, and the processed sequence to be encoded is then polarized encoded.
[0010] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0011] Determine whether the transmission bit rate is greater than or equal to a preset first bit rate threshold;
[0012] If so, determine that the sequence to be encoded will not be segmented.
[0013] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0014] If the transmission bitrate is not greater than or less than a preset first bitrate threshold and is not less than or greater than a preset second bitrate threshold, determine whether the length of the sequence to be encoded is greater than or greater than or equal to a preset first length threshold, wherein the first bitrate threshold is greater than the second bitrate threshold.
[0015] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0016] Furthermore, the preset first bit rate threshold is 0.4.
[0017] Furthermore, before determining whether the length of the sequence to be encoded is greater than or equal to a preset first length threshold, the method further includes:
[0018] A first length threshold is determined based on the transmission bit rate and a preset function.
[0019] Furthermore, the preset first function is Kth1 = int(c*R+b) or Kth1 = c*R+b, where kth1 is the first length threshold, int is the rounding function, c is the preset first parameter, b is the preset second parameter, and R is the transmission code rate.
[0020] Furthermore, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.
[0021] Furthermore, c is 1000 and b is 140.
[0022] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0023] If the transmission bit rate is less than or equal to a preset second bit rate threshold, determine whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold;
[0024] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0025] Furthermore, the preset second length threshold is not less than 290 and not greater than 390.
[0026] Furthermore, the preset second length threshold is 340.
[0027] Furthermore, the preset second bit rate threshold is 0.2.
[0028] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0029] If the transmission bit rate is less than or equal to a preset third bit rate threshold, determine whether the length of the sequence to be encoded is greater than or equal to a preset third length threshold.
[0030] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0031] Furthermore, the third bit rate threshold is 6 / 25.
[0032] Furthermore, the preset third length threshold is not less than 348 and not greater than 472.
[0033] Furthermore, the preset third length threshold is 410.
[0034] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0035] If the transmission bit rate is not less than or greater than a preset third bit rate threshold and not greater than or less than a preset fourth bit rate threshold, determine whether the length of the sequence to be encoded is greater than or greater than or equal to a preset fourth length threshold, wherein the fourth bit rate threshold is greater than the third bit rate threshold.
[0036] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0037] Furthermore, before determining whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold, the method further includes:
[0038] A fourth length threshold is determined based on the transmission bit rate and a preset second function.
[0039] Furthermore, the preset second function is Kth2 = int(a*R+e) or Kth2 = a*R+e, where kth2 is the fourth length threshold, int is the rounding function, a is the preset third parameter, e is the preset fourth parameter, and R is the transmission code rate.
[0040] Furthermore, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.
[0041] Furthermore, a is 1000 and e is 170.
[0042] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0043] Determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold;
[0044] If so, determine to segment the sequence to be encoded.
[0045] Furthermore, before determining the segmentation of the sequence to be encoded, the method further includes:
[0046] Determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold;
[0047] If so, proceed with the next steps.
[0048] Furthermore, the preset fifth bit rate threshold is not less than 0.2 and not greater than 0.9.
[0049] Furthermore, the preset fifth bit 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.
[0050] Furthermore, the preset fifth length threshold is not less than 300 and not greater than 450.
[0051] Furthermore, 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.
[0052] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0053] Determine whether the transmission bit rate is greater than a preset sixth bit rate threshold;
[0054] If so, determine that the sequence to be encoded is segmented according to the preset linear function K_th1=f*R+g or K_th1=int(f*R+g), where K_th1 is the first length value, f is the preset fifth parameter value, g is the preset sixth parameter value, R is the transmission code rate, and int is the rounding function.
[0055] Furthermore, f is a value in the range of 500-1200, and g is a value in the range of 60-300.
[0056] Furthermore, f is 832 and g is 200.
[0057] Further, determining the segmentation of the sequence to be encoded according to a preset linear function K_th1 = f*R + g or K_th1 = int(f*R + g) includes:
[0058] The target bitrate interval corresponding to the transmission bitrate is determined based on at least two pre-set bitrate intervals and a preset linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) for each bitrate interval. The sequence to be encoded is segmented according to the target linear function corresponding to the target bitrate interval, wherein the minimum bitrate value in the bitrate interval is not less than the preset sixth bitrate threshold.
[0059] Furthermore, the preset sixth code rate threshold is 0.2.
[0060] Furthermore, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0061] The sequence to be encoded is segmented according to a preset linear function K_th2 = h*R+i or K_th2 = int(h*R+i), where K_th2 is the second length value, h is the preset seventh parameter value, i is the preset eighth parameter value, R is the transmission code rate, and int is the rounding function.
[0062] Furthermore, h is a value in the range of 500-1200, and i is a value in the range of 60-300.
[0063] Furthermore, before determining how to segment the sequence to be encoded, the method further includes:
[0064] Determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold;
[0065] If so, proceed with the next steps.
[0066] Furthermore, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
[0067] Furthermore, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0068] Furthermore, when the segmentation strategy involves segmenting the sequence to be encoded, the step of processing the sequence to be encoded according to the segmentation strategy includes:
[0069] The information sequence in the sequence to be encoded is segmented; or
[0070] The sequence to be encoded, which includes an information sequence and a CRC sequence, is segmented.
[0071] This invention discloses a polarization coding device, the device comprising:
[0072] The determining module is used to determine the segmentation strategy corresponding to the sequence to be encoded based on the length of the sequence to be encoded and the transmission code rate.
[0073] The encoding module is used to process the sequence to be encoded according to the segmentation strategy, and to perform polar coding on the processed sequence to be encoded.
[0074] This invention discloses an electronic device, comprising: a memory and a processor;
[0075] The processor is configured to read a program from the memory and execute the following processes: determine the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate of the sequence to be encoded; process the sequence to be encoded according to the segmentation strategy; and perform polar coding on the processed sequence to be encoded.
[0076] Furthermore, the processor is specifically configured to determine whether the transmission bit rate is greater than or equal to a preset first bit rate threshold; if so, it determines not to segment the sequence to be encoded.
[0077] Further, the processor is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset first length threshold if the transmission bit rate is not greater than or less than a preset first bit rate threshold and not less than or greater than a preset second bit rate threshold, wherein the first bit rate threshold is greater than the second bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0078] Furthermore, the preset first bit rate threshold is 0.4.
[0079] Furthermore, the processor is also configured to determine a first length threshold based on the transmission code rate and a preset first function.
[0080] Furthermore, the preset first function is Kth1 = int(c*R+b) or Kth1 = c*R+b, where kth1 is the first length threshold, int is the rounding function, c is the preset first parameter, b is the preset second parameter, and R is the transmission code rate.
[0081] Furthermore, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.
[0082] Furthermore, c is 1000 and b is 140.
[0083] Furthermore, the processor is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold if the transmission bit rate is less than or equal to a preset second bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0084] Furthermore, the preset second length threshold is not less than 290 and not greater than 390.
[0085] Furthermore, the preset second length threshold is 340.
[0086] Furthermore, the preset second bit rate threshold is 0.2.
[0087] Furthermore, the processor is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset third length threshold if the transmission bit rate is less than or equal to a preset third bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0088] Furthermore, the third bit rate threshold is 6 / 25.
[0089] Furthermore, the preset third length threshold is not less than 348 and not greater than 472.
[0090] Furthermore, the preset third length threshold is 410.
[0091] Further, the processor is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold if the transmission bit rate is not less than or greater than a preset third bit rate threshold and not greater than or less than a preset fourth bit rate threshold, wherein the fourth bit rate threshold is greater than the third bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0092] Furthermore, the processor is also configured to determine the fourth length threshold based on the transmission code rate and the preset second function before determining whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold.
[0093] Furthermore, the preset second function is Kth2 = int(a*R+e) or Kth2 = a*R+e, where kth2 is the fourth length threshold, int is the rounding function, a is the preset third parameter, e is the preset fourth parameter, and R is the transmission code rate.
[0094] Furthermore, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.
[0095] Furthermore, a is 1000 and e is 170.
[0096] Furthermore, the processor is specifically configured to determine whether the transmission bit rate is greater than or equal to a preset fourth bit rate threshold; if so, it determines not to segment the sequence to be encoded.
[0097] Furthermore, the preset fourth bit rate threshold is 9 / 25.
[0098] Furthermore, the processor is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold; if so, to determine to segment the sequence to be encoded.
[0099] Furthermore, the processor is specifically configured to determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold; if so, to determine to segment the sequence to be encoded.
[0100] Furthermore, the preset fifth bit rate threshold is not less than 0.2 and not greater than 0.9.
[0101] Furthermore, the preset fifth bit 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.
[0102] Furthermore, the preset fifth length threshold is not less than 300 and not greater than 450.
[0103] Furthermore, 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.
[0104] Further, the processor is specifically used to determine whether the transmission bit rate is greater than a preset sixth bit rate threshold; if so, it determines 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), where 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 bit rate, and int is a rounding function.
[0105] Furthermore, f is a value in the range of 500-1200, and g is a value in the range of 60-300.
[0106] Furthermore, f is 832 and g is 200.
[0107] Further, the processor is specifically configured to determine, based on at least two pre-set bitrate intervals and a pre-set linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) corresponding to each bitrate interval, a target bitrate interval corresponding to the transmission bitrate, and segment the sequence to be encoded according to the target linear function corresponding to the target bitrate interval, wherein the minimum bitrate value in the bitrate interval is not less than the pre-set sixth bitrate threshold.
[0108] Furthermore, the preset sixth code rate threshold is 0.2.
[0109] Furthermore, the processor is specifically configured to determine the segmentation of the sequence to be encoded according to a preset linear function K_th2 = h*R+i or K_th2 = int(h*R+i), where 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 a rounding function.
[0110] Furthermore, h is a value in the range of 500-1200, and i is a value in the range of 60-300.
[0111] Furthermore, the processor is also configured to determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold; if so, to perform a step of determining to segment the sequence to be encoded.
[0112] Furthermore, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
[0113] Furthermore, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0114] Furthermore, the processor is specifically configured to segment the information sequence in the sequence to be encoded when the segmentation strategy is to segment the sequence to be encoded; or to segment the sequence to be encoded that includes the information sequence and the CRC sequence.
[0115] The present invention discloses a computer-readable storage medium storing a computer program executable by an electronic device, which, when run on the electronic device, causes the electronic device to perform the steps of any of the methods described above.
[0116] This invention discloses a polar coding method, apparatus, electronic device, and storage medium. The method includes: determining a segmentation strategy corresponding to the sequence to be encoded based on its length and transmission code rate; processing the sequence to be encoded according to the segmentation strategy; and performing polar coding on the processed sequence. In this embodiment, the segmentation strategy corresponding to the sequence to be encoded can be determined based on its length and transmission code rate, ensuring the performance of the uplink control channel by determining corresponding segmentation strategies for sequences of different lengths and different transmission code rates. Attached Figure Description
[0117] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0118] Figure 1 This is a schematic diagram of a polarization coding process provided in Embodiment 1 of the present invention;
[0119] Figure 2 This is a schematic diagram of a polarization coding process provided in Embodiment 1 of the present invention;
[0120] Figure 3 This is a schematic diagram comparing the performance of the uplink control channel according to Embodiment 3 of the present invention;
[0121] Figure 4 This is a schematic diagram illustrating the performance comparison of the uplink control channel provided in Embodiment 4 of the present invention;
[0122] Figure 5 This is a simulation result diagram provided in Embodiment 5 of the present invention;
[0123] Figure 6 This is a simulation result diagram provided in Embodiment 7 of the present invention;
[0124] Figure 7 This is a simulation result diagram provided in Embodiment 7 of the present invention;
[0125] Figure 8 This is a simulation result diagram provided in Embodiment 8 of the present invention;
[0126] Figure 9 This is a schematic diagram of a polarization coding device provided in Embodiment 13 of the present invention;
[0127] Figure 10 This is a schematic diagram of an electronic device structure provided in Embodiment 14 of the present invention. Detailed Implementation
[0128] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0129] Example 1:
[0130] Figure 1This invention provides a schematic diagram of a polarization coding process, which includes:
[0131] S101: Determine the segmentation strategy corresponding to the sequence to be encoded based on the length of the sequence to be encoded and the transmission code rate.
[0132] The polar coding method provided in this embodiment of the invention is applied to the transmitting end, which can be a base station or UE (User Equipment).
[0133] In Long Term Evolution (LTE) systems, the Uplink Control Channel (PUCCH) is used to transmit the Universal Channel Information (UCI) after synchronization. The UCI transmitted on the PUCCH includes Uplink Scheduling Request (SR), Downlink Hybrid Automatic Repeat Request Acknowledgment (HARQ-ACK) information, and the UE's Periodic Channel Quality Indicator (CQI) information. To ensure the receiver can accurately verify the received UCI, the transmitter appends a CRC sequence for verification after the UCI information sequence before encoding it. In this embodiment, the sequence to be encoded includes the UCI information sequence and the CRC sequence for verification; that is, the sequence to be encoded is the obtained UCI payload. The transmission rate (R) is the ratio of the length (K) of the sequence to be encoded to the length (M) of the sequence obtained after polar coding and rate matching, i.e., R = K / M.
[0134] Furthermore, in this embodiment of the invention, at least one length threshold and / or at least one code rate threshold are set for the length and transmission code rate of the sequence to be encoded, respectively. A corresponding segmentation strategy is set for each of these at least one length threshold and / or at least one code rate threshold, wherein the segmentation strategy may be to segment the sequence to be encoded or not to segment the sequence to be encoded. Based on the length and transmission code rate of the sequence to be encoded, and the at least one length threshold and / or at least one code rate threshold, the segmentation strategy corresponding to the sequence to be encoded can be determined.
[0135] S102: According to the segmentation strategy, the sequence to be encoded is processed accordingly, and the processed sequence to be encoded is polarized encoded.
[0136] Specifically, if it is determined that the sequence to be encoded needs to be segmented, it is segmented, for example, into two segments, and the segmented sequence to be encoded is then polar-coded; if it is determined that the sequence to be encoded does not need to be segmented, it is directly polar-coded. In this embodiment of the invention, if it is determined that the sequence to be encoded needs to be segmented, the information sequence in the sequence to be encoded can be segmented, and CRC is added to each segmented information sequence, or CRC is added to only part of the segmented information sequence.
[0137] Figure 2 This is a schematic diagram of a polar coding process provided by an embodiment of the present invention. Specifically, the UCI information sequence is first CRC encoded, and a CRC attachment is appended to the UCI information sequence to obtain the sequence to be encoded, i.e., the UCI payload. Codeblock segmentation is then performed on the sequence to be encoded, dividing it into segments. Preferably, the sequence to be encoded is divided into two equal segments. Each of the two segments is then polar-coded, and the two encoded segments are rate-matched. Finally, the two rate-matched encoded segments are concatenated and output. Alternatively, in the above polar coding process, the UCI information sequence can be first segmented into codeblocks, and a bit sequence of a set length can be added to each of the segmented UCI information sequences before subsequent polar coding. Compared to directly adding a CRC sequence to the UCI information sequence, this method increases the length of the CRC sequence, which will significantly reduce system performance. However, since each segment of the UCI contains a CRC sequence, it is simpler and easier to operate during decoding.
[0138] In this embodiment of the invention, the segmentation strategy corresponding to the sequence to be encoded can be determined according to the length of the sequence to be encoded and the transmission code rate. For sequences to be encoded of different lengths and different transmission code rates, the corresponding segmentation strategy can be determined, thus ensuring the performance of the uplink control channel.
[0139] Example 2:
[0140] When the transmission code rate is high, not segmenting the sequence to be encoded will affect the signal-to-noise ratio (SNR). To ensure the performance of the uplink control channel, based on the above embodiments, in this embodiment of the invention, determining the segmentation strategy corresponding to the sequence to be encoded according to its length and transmission code rate includes:
[0141] Determine whether the transmission bit rate is greater than or equal to a preset first bit rate threshold;
[0142] If so, determine that the sequence to be encoded will not be segmented.
[0143] Specifically, the sending end can determine whether the transmission bit rate is greater than a preset first bit rate threshold. If so, it determines not to segment the sequence to be encoded. Alternatively, it can determine whether the transmission bit rate is greater than or equal to the preset first bit rate threshold. If so, it determines not to segment the sequence to be encoded.
[0144] Preferably, in this embodiment of the invention, the preset first bit rate threshold is 0.4.
[0145] Of course, it is also possible to use a transmission rate greater than 0.4 as the first rate threshold, and not use segmented polar coding when the rate is higher than this first rate threshold.
[0146] Alternatively, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0147] Determine whether the transmission bit rate is greater than or equal to a preset fourth bit rate threshold;
[0148] If so, determine that the sequence to be encoded will not be segmented.
[0149] Preferably, in this embodiment of the invention, the preset fourth code rate threshold is 9 / 25. Of course, it is also possible to use a transmission code rate larger than 9 / 25 as the fourth code rate threshold; if the rate is higher than this fourth code rate threshold, segmented polar coding is not used.
[0150] Example 3:
[0151] When the transmission code rate is at a medium code rate, the length of the sequence to be encoded varies. Whether or not the sequence to be encoded is segmented will affect the SNR. In order to ensure the performance of the uplink control channel, based on the above embodiments, in this embodiment of the invention, 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 includes:
[0152] If the transmission bitrate is not greater than or less than a preset first bitrate threshold and is not less than or greater than a preset second bitrate threshold, determine whether the length of the sequence to be encoded is greater than or greater than or equal to a preset first length threshold, wherein the first bitrate threshold is greater than the second bitrate threshold.
[0153] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0154] Specifically, if the transmission bit rate is not greater than or less than a preset first bit rate threshold and not less than or greater than a preset second bit rate threshold, wherein the first bit rate threshold is greater than the second bit rate threshold, the sending end determines whether the length of the sequence to be encoded is greater than or equal to a preset first length threshold. If so, it determines to segment the sequence to be encoded; otherwise, it determines not to segment the sequence to be encoded.
[0155] Preferably, in this embodiment of the invention, the preset first bitrate threshold is 0.4 and the preset second bitrate threshold is 0.2.
[0156] Alternatively, in this embodiment of the invention, determining the segmentation strategy corresponding to the sequence to be encoded based on the length of the sequence to be encoded and the transmission code rate includes:
[0157] If the transmission bit rate is not less than or greater than a preset third bit rate threshold and not greater than or less than a preset fourth bit rate threshold, determine whether the length of the sequence to be encoded is greater than or greater than or equal to a preset fourth length threshold, wherein the fourth bit rate threshold is greater than the third bit rate threshold.
[0158] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0159] Preferably, in this embodiment of the invention, the preset third bitrate threshold is 6 / 25 and the preset fourth bitrate threshold is 9 / 25.
[0160] The CRC sequence added after the UCI information sequence is 11 bits, meaning the sequence to be encoded contains an 11-bit CRC sequence. In the case of polar coding with a list size L = 8 and SCL decoding, corresponding to nFAR = 8, the SNR value curves at a block error rate (BLER) of 0.01 are shown below for different transmission bit rates and different sequence lengths, using segmented and non-segmented polar coding of the sequence to be encoded. Figure 3 As shown. Among them, when using an 11-bit CRC sequence, if the list size L = 8 is used for decoding, nFAR = 11 - log2(8) = 8, and the corresponding false alarm probability (FAR) = 1 / (2^nFAR); that is, when using an N-bit CRC sequence, if the list size L = t is used for decoding, nFAR = N - log2(t), and the corresponding FAR = 1 / (2^nFAR).
[0161] exist Figure 3In the graph, Non-seg indicates no segmentation, seg indicates segmentation, R represents the transmission rate, the horizontal axis represents the length of the sequence to be encoded (K), and the vertical axis represents the SNR value (S). When the length of the sequence to be encoded is 550, the curves in the graph from bottom to top correspond to Seg, R = 0.2; Seg, R = 0.22; Non-seg, R = 0.2; Seg, R = 0.24; Non-seg, R = 0.22; Seg, R = 0.26; Non-seg, R = 0.24; Seg, R = 0.28; Non-seg, R = 0.26; Seg, R = 0.3; Non-seg, R = 0.28; Non-seg, R = 0.26; Seg, R = 0.3; Non-seg, R = 0.28; Non-seg, R = 0.28; Seg, R = 0.26; Non-seg, R = 0.3; Non-seg, R = 0.28 ... -seg, R=0.28; Seg, R=0.32; Non-seg, R=0.3; Seg, R=0.34; Non-seg, R=0.32; Seg, R=0.36; Non -seg, R=0.34; Non-seg, R=0.36; Seg, R=0.38; Non-seg, R=0.38; Seg, R=0.4; Non-seg, R=0.4. Also in Figure 3 When segmenting the sequence to be encoded, the information sequence within the sequence is divided into segments, and a CRC is added to each segment. Figure 3 It can be observed that when the transmission bit rate is between 0.2 and 0.4, the performance of segmented polar coding is significantly worse than that of non-segmented polar coding when the transmission bit rate is greater than or equal to 0.4. Therefore, it is better not to use segmented polar coding when the transmission bit rate is greater than or equal to 0.4. When the size K of the sequence to be encoded is greater than a certain length threshold, the performance of segmented polar coding is significantly better than that of non-segmented polar coding. However, this length threshold changes with the transmission bit rate. If a suitable dividing point cannot be found, segmented polar coding technology has no practical value in practice.
[0162] The above analysis compares the performance of segmented and non-segmented sequences at transmission rates between 0.2 and 0.4. When the transmission rate is between 6 / 25 and 9 / 25, and CRC is added to each segment of the sequence to be encoded, the performance comparison between segmented and non-segmented sequences is as follows: Figure 3 Similarly, I will not go into details here.
[0163] We observed that as the transmission bit rate increases, this length threshold closely resembles a sloping line on a planar graph with K as the x-axis and SNR as the y-axis. This inspires us to use a linear approximation to estimate this threshold. A specific example is as follows: assuming the transmission bit rate ranges from [0.2, 0.4], and the threshold... Figure 3 The linear equation in question is y = tx + b, where t and b are constant values. The problem is... Figure 3The ordinate in the equation is not the transmission bit rate. To find the length threshold corresponding to any transmission bit rate, linear interpolation is required. A better example: when R = [0.2, 0.4], the corresponding K = [350, 550], due to the linear relationship, the corresponding ordinates are: [y1 = 350t + b, y2 = 550t + b]. For any transmission bit rate R ∈ [0.2, 0.4], the corresponding ordinate yR = y1 + (y2 - y1) * (R - 0.2) / (0.4 - 0.2) = (1000R + 150) * t + b. Therefore, within the transmission bit rate range [0.2, 0.4], the length threshold satisfies Kth1 = int(1000R + 150), R ∈ [0.2, 0.4]. Here, int represents rounding, which may include rounding to the nearest integer, rounding up, or rounding down.
[0164] Another better example: When R = [0.2, 0.4], corresponding to K = [340, 540], due to the linear relationship, the corresponding ordinates are: [y1 = 340t + b, y2 = 540t + b]. For any transmission rate R ∈ [0.2, 0.4], the corresponding ordinate yR = y1 + (y2 - y1) * (R - 0.2) / (0.4 - 0.2) = (1000R + 140) * t + b. Therefore, within the code rate range [0.2, 0.4], this length threshold satisfies Kth1 = int(1000R + 140), R ∈ [0.2, 0.4]. This threshold is only related to the transmission rate, and the relationship between it and the transmission rate is linear.
[0165] Therefore, in this embodiment of the invention, before determining whether the length of the sequence to be encoded is greater than a preset first length threshold, the method further includes:
[0166] A first length threshold is determined based on the transmission rate and a preset first function.
[0167] The preset first function is Kth1 = int(c*R+b) or Kth1 = c*R+b, where kth1 is the first length threshold, int is the rounding function, c is the preset first parameter, b is the preset second parameter, and R is the transmission bit rate. The rounding function can be, for example, an int function or a floor function, and the rounding mode of the int function can be set to round up, round down, or round to the nearest integer, etc.
[0168] In the first function mentioned above, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119. Preferably, c is 1000 and b is 140.
[0169] Alternatively, in this embodiment of the invention, before determining whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold, the method further includes:
[0170] A fourth length threshold is determined based on the transmission bit rate and a preset second function.
[0171] The preset second function is Kth2 = int(a*R + e) or Kth2 = a*R + e, where kth2 is the fourth length threshold, int is the rounding function, a is the preset third parameter, e is the preset fourth parameter, and R is the transmission code rate. In the above second function, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144. Preferably, a is 1000 and e is 170.
[0172] Table 1 shows examples of uplink control channel gain values corresponding to different transmission code rates (R) when the length of the sequence to be encoded is a first length threshold, according to an embodiment of the present invention. The gain value is the difference between the SNR when segmented and the SNR when not segmented. The determination function corresponding to the first length threshold is Kth = int(1000*R) + 150.
[0173] R First length threshold Gain value 0.2 350 0.128112 0.22 370 0.127483 0.24 390 0.10674 0.26 410 0.149014 0.28 430 0.115676 0.3 450 0.0837032 0.32 470 0.0356907 0.34 490 0.08450445 0.36 510 0.180271 0.38 530 0.2199536 0.4 550 0.1574885
[0174] Table 1
[0175] As shown in Table 1, the first length threshold corresponding to a transmission code rate of 0.2 is 350, and the corresponding gain is 0.128112; the first length threshold corresponding to a transmission code rate of 0.22 is 370, and the corresponding gain is 0.127483; the first length threshold corresponding to a transmission code rate of 0.24 is 390, and the corresponding gain is 0.10674; the first length threshold corresponding to a transmission code rate of 0.26 is 410, and the corresponding gain is 0.149014; the first length threshold corresponding to a transmission code rate of 0.28 is 430, and the corresponding gain is 0.115676; the first length threshold corresponding to a transmission code rate of 0.3 is 45... The first length threshold for a transmission rate of 0.32 is 470, with a gain of 0.0356907; for a transmission rate of 0.34, it is 490, with a gain of 0.08450445; for a transmission rate of 0.36, it is 510, with a gain of 0.180271; for a transmission rate of 0.38, it is 530, with a gain of 0.2199536; and for a transmission rate of 0.4, it is 550, with a gain of 0.1574885. Therefore, when the transmission rate is between 0.2 and 0.4, the first length threshold determined by the first function determines whether to segment the sequence to be encoded for polar code encoding. As shown in Table 1, the gain values are not very large, making this first length threshold a suitable threshold for judgment.
[0176] In this embodiment of the invention, the sequence to be encoded includes an information sequence and a CRC sequence. A corresponding segmentation strategy can be determined based on the length of the sequence to be encoded. Alternatively, if the segmentation strategy is determined based on the length of the information sequence, since there is a correspondence between the lengths of the sequence to be encoded and the information sequence, a suitable length threshold can be determined based on this correspondence. The same principle applies to the following schemes, and will not be elaborated further here.
[0177] Example 4:
[0178] When the transmission code rate is low, the length of the sequence to be encoded varies. Whether or not the sequence to be encoded is segmented will affect the SNR. In order to ensure the performance of the uplink control channel, based on the above embodiments, in this embodiment of the invention, 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 includes:
[0179] If the transmission bit rate is less than or equal to a preset second bit rate threshold, determine whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold;
[0180] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0181] Specifically, if the transmission bit rate is less than or equal to a preset second bit rate threshold, the sending end determines whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold; if so, it determines to segment the sequence to be encoded; otherwise, it determines not to segment the sequence to be encoded.
[0182] Preferably, in this embodiment of the invention, the preset second bit rate threshold is 0.2.
[0183] The CRC sequence added after the UCI information sequence is 11 bits, meaning the sequence to be encoded contains an 11-bit CRC sequence. In the case of SCL decoding with a list size L = 8 during polar coding, corresponding to nFAR = 8, the SNR value curves at BLER = 0.01 are shown for different transmission bit rates and different lengths of the sequence to be encoded, using segmented and unsegmented polar coding of the sequence to be encoded. Figure 4 As shown. Among them, when using an 11-bit CRC sequence, if the list size L = 8 is used for decoding, nFAR = 11 - log2(8) = 8, and the corresponding FAR = 1 / (2^nFAR); that is, when using an N-bit CRC sequence, if the list size L = t is used for decoding, nFAR = N - log2(t), and the corresponding FAR = 1 / (2^nFAR).
[0184] exist Figure 4 In the graph, Non-seg indicates no segmentation, seg indicates segmentation, R represents the transmission rate, the horizontal axis represents the length of the sequence to be encoded (K), and the vertical axis represents the SNR value (S). When the length of the sequence to be encoded is different, the order of the curves from bottom to top in the graph varies. Specifically, when the length of the sequence to be encoded is 400, the curves from bottom to top correspond to Seg, R = 0.12; Non-seg, R = 0.12; Seg, R = 0.14; Non-seg, R = 0.14; Seg, R = 0.16; Non-seg, R = 0.16; Seg, R = 0.18; Non-seg, R = 0.18. Additionally... Figure 4 When segmenting the sequence to be encoded, the information sequence within the sequence is divided into segments, and a CRC is added to each segment. Figure 4It can be seen that when the transmission rate is no greater than 0.2 and the length of the sequence to be encoded is greater than or equal to 290, it is obvious that segmenting the sequence to be encoded into polar coding has a performance gain. Ideally, when R < 0.2, a fixed length threshold Kth can be selected. When K > Kth, segmented polar coding is used. Kth can be selected as K = 340 or K = 310, 320, 330, 350, etc. This fixed length threshold Kth is fixed for each transmission rate when R < 0.2. Different values between 290 and 390 can also be used for each transmission rate.
[0185] Therefore, in this embodiment of the invention, the preset second length threshold is not less than 290 and not greater than 390. Specifically, when the bit rate is less than 0.2, the preset second length threshold can be determined within this range. Preferably, the preset second length threshold is 340, that is, when making a judgment, the preset second length threshold is set to 340, and the judgment is made using this fixed value.
[0186] The above analysis compares the performance of segmented and non-segmented sequences at transmission rates between 0.2 and 0.4. When the transmission rate is between 6 / 25 and 9 / 25, and CRC is added to each segment of the sequence to be encoded, the performance comparison between segmented and non-segmented sequences is as follows: Figure 4 Similarly, I will not go into details here.
[0187] Alternatively, in an embodiment of the present invention, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate of the sequence to be encoded includes:
[0188] If the transmission bit rate is less than or equal to a preset third bit rate threshold, determine whether the length of the sequence to be encoded is greater than or equal to a preset third length threshold.
[0189] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0190] Preferably, in this embodiment of the invention, the preset third bitrate threshold is 6 / 25.
[0191] The preset third length threshold is not less than 348 and not greater than 472.
[0192] Preferably, the preset third length threshold is 410.
[0193] Table 2 provides examples of uplink control channel gain values corresponding to different transmission code rates (R) when the length of the sequence to be encoded is a second length threshold, according to an embodiment of the present invention. The gain value is the difference between the SNR when segmented and the SNR when not segmented.
[0194] R Second length threshold Gain value 0.12 340 0.032309 0.14 340 0.069684 0.16 340 0.10115 0.18 340 0.071813
[0195] Table 2
[0196] As shown in Table 2, the second length threshold corresponding to a transmission code rate of 0.12 is 340, with a corresponding gain of 0.032309; the second length threshold corresponding to a transmission code rate of 0.14 is 340, with a corresponding gain of 0.069684; the second length threshold corresponding to a transmission code rate of 0.16 is 340, with a corresponding gain of 0.10115; and the second length threshold corresponding to a transmission code rate of 0.18 is 340, with a corresponding gain of 0.071813. Therefore, it can be seen that when the transmission code rate is not higher than 0.2, the second length threshold is used to determine whether to segment the sequence to be encoded for polar code encoding. As shown in Table 2, the gain values are not very large, making this corresponding second length threshold a very appropriate threshold for judgment.
[0197] Example 5:
[0198] The different lengths of the sequences to be encoded affect the SNR (Short-to-Narrowing Ratio). To ensure the performance of the uplink control channel, based on the above embodiments, in this embodiment of the invention, determining the segmentation strategy corresponding to the sequence to be encoded according to its length and transmission code rate includes:
[0199] Determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold;
[0200] If so, determine to segment the sequence to be encoded.
[0201] Specifically, the sending end can determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold. If so, it determines to segment the sequence to be encoded.
[0202] The fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N, and N is a value greater than 0. Preferably, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0203] For example, the maximum mother code length of 5G polar codes is specified as 1024. This means the length of the sequence to be encoded must be less than 1024. If the length of the sequence to be encoded is 1060, which is greater than or equal to 1024 but less than 2048, then regardless of the transmission code rate, the sequence to be encoded will be directly segmented for polar encoding, for example, divided into two segments for polar encoding. Simulation results are as follows... Figure 5As shown, when the length of the sequence to be encoded is less than the maximum bit length to be encoded, which is 1024, or greater than a certain preset value, regardless of the transmission code rate, direct segmentation can achieve better performance than non-segmentation, and the processing is simple. The optimal preset value is between 500 and 1200.
[0204] Of course, from an implementation perspective, when x>=0.3, that is, when the length of the corresponding sequence to be encoded is greater than or equal to 0.3*1024=307, regardless of the transmission code rate, the sequence is directly segmented. Although this method has a performance loss when the length of the sequence to be encoded is short, the segmentation method is simple and feasible.
[0205] When segmenting the sequence to be encoded, it is better to use equal or approximately equal segmentation, preferably only two segments, and then perform polar encoding on each segment.
[0206] Example 6:
[0207] In Embodiment 5 above, only the length of the sequence to be encoded needs to be considered to determine whether segmentation is necessary. Furthermore, different transmission bit rates can also affect the performance of the uplink control channel. To further ensure the performance of the uplink control channel, based on Embodiment 5 above, if the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold, before determining whether to segment the sequence to be encoded, the method further includes:
[0208] Determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold;
[0209] If so, proceed with the next steps.
[0210] Specifically, if the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold, the sending end determines whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold. If so, it determines to segment the sequence to be encoded.
[0211] Preferably, the preset fifth bitrate threshold is not less than 0.2 and not greater than 0.9. More preferably, the preset fifth bitrate 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.
[0212] Preferably, the preset fifth length threshold is not less than 300 and not greater than 450. More preferably, the preset fifth length threshold is 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, or 450.
[0213] The preferred combinations of the preset fifth bit rate threshold (Rth5) and the preset fifth length threshold (Kth5) {Rth5, Kth5} include: {0.4, 350}, {0.4, 370}, {0.4, 380}, {0.4, 390}, {0.4, 400}, {0.4, 410}, {0.4, 420}, {0.28, 370}, {0.28, 380}, {0.28, 390}, {0.28, 400}, {0.28, 410}, {0.28, 420}, {0.26, 370}, {0.26, 380}, {0.26, 390}, {0.26, 400}, {0.26, 410}, {0.26, 420}.
[0214] When segmenting the sequence to be encoded, it is better to use equal or approximately equal segmentation, preferably only two segments, and then perform polar encoding on each segment.
[0215] Example 7:
[0216] Due to factors such as massive MIMO, the maximum feedback amount of 5G uplink control information (UCI) is significantly increased. In the case of a single carrier, the maximum UCI feedback amount reaches 543 bits, excluding the 11-bit CRC. 5G supports UCI feedback per single carrier, but it also supports UCI feedback across multiple carriers. This results in the length of the sequence to be encoded being greater than 543 + 11 = 554 bits. As the UCI length increases, the segmentation condition can be satisfied at higher transmission rates.
[0217] To ensure the performance of the uplink control channel, based on the above embodiments, in this embodiment of the invention, determining the segmentation strategy corresponding to the sequence to be encoded according to the length and transmission code rate of the sequence to be encoded includes:
[0218] Determine whether the transmission bit rate is greater than a preset sixth bit rate threshold;
[0219] If so, determine that the sequence to be encoded is segmented according to the preset linear function K_th1=f*R+g or K_th1=int(f*R+g), where K_th1 is the first length value, f is the preset fifth parameter value, g is the preset sixth parameter value, R is the transmission code rate, and int is the rounding function.
[0220] Preferably, f is a value in the range of 500-1200 and g is a value in the range of 60-300.
[0221] In this embodiment of the invention, when the transmission rate is greater than the preset sixth rate threshold, the sequence to be encoded is segmented directly according to the preset linear function.
[0222] Preferably, the preset sixth bit rate threshold is 0.2.
[0223] Figure 6 This is a schematic diagram of the corresponding simulation results, based on Figure 6 As shown: the corresponding segmentation method can adopt the following rules:
[0224] if R<=1 / 5
[0225] K_th = 370;
[0226] Else if R>1 / 5
[0227] K_th = 1024 * R + 150;
[0228] End
[0229] When the bit rate is greater than 0.2, a linear function K_th1 = 1024*R + 150 can be used for segmentation.
[0230] Figure 7 This is a schematic diagram of another simulation result, based on Figure 7 As shown, the corresponding segmentation method can adopt the following rules:
[0231] if K(i) / M(i)<=1 / 5
[0232] K_th = 350;
[0233] elseif K(i) / M(i)>1 / 5
[0234] K_th = 832 * R + 200;
[0235] End
[0236] When the bit rate is greater than 0.2, the linear function K_th1 = 832*R + 200 can also be used for segmentation. Using this linear function for segmentation can also achieve relatively good performance.
[0237] When segmenting the sequence to be encoded, it is better to use equal or approximately equal segmentation, preferably only two segments, and then perform polar encoding on each segment.
[0238] Example 8:
[0239] According to the above Figure 6 and Figure 7As shown, when the number of bits to be encoded is greater than 600 bits, the linear function boundary point is closer to the intersection of the two performance curves than the previous piecewise method. From a piecewise perspective, this method is more accurate. However, since piecewise division increases the complexity of polar decoding, a compromise needs to be made regarding which method is better. Therefore, based on Example 7, other methods can also be considered in the implementation of this invention.
[0240] The step of determining the segmentation of the sequence to be encoded according to a preset linear function K_th1 = f*R + g or K_th1 = int(f*R + g) includes:
[0241] Based on at least two pre-set bitrate intervals and a pre-set linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) corresponding to each bitrate interval, the target bitrate interval corresponding to the transmission bitrate is determined, and the sequence to be encoded is segmented according to the target linear function corresponding to the target bitrate interval, wherein the minimum bitrate value in the bitrate interval is not less than the pre-set sixth bitrate threshold.
[0242] Specifically, the transmitting end pre-sets at least two bitrate intervals and stores a preset linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) for each bitrate interval, where the minimum bitrate value in the bitrate interval is not less than a preset sixth bitrate threshold. For example, the preset sixth bitrate threshold is 0.2, and there are two preset bitrate intervals: greater than 0.2 and less than 0.4, and greater than or equal to 0.4. When the transmitting end segments the sequence to be encoded according to the preset linear function K_th1 = f*R + g or K_th1 = int(f*R + g), it determines the target bitrate interval corresponding to the transmission bitrate based on the transmission bitrate, and segments the sequence to be encoded according to the target linear function corresponding to the target bitrate interval.
[0243] For example, the linear function corresponding to a bit rate range greater than 0.2 and less than 0.4 is K_th1 = 1024*R + 140, and the linear function corresponding to a bit rate range greater than or equal to 0.4 is K_th1 = 832*R + 200.
[0244] Of course, it can also be pre-divided into three or more bitrate intervals, with each bitrate interval corresponding to a different linear function.
[0245] Preferably, the preset sixth bit rate threshold is 0.2.
[0246] Figure 8 This is a schematic diagram of simulation results provided in an embodiment of the present invention. Figure 8 As shown, the corresponding segmentation method adopts the following rules:
[0247] if R<=1 / 5
[0248] K_th = 340;
[0249] elseif R>1 / 5&&R<2 / 5
[0250] K_th = 1024 * R + 140;
[0251] Else if R>=2 / 5
[0252] K_th = 832 * R + 200;
[0253] End
[0254] That is, when the bitrate is greater than 0.2 and less than 0.4, a linear function K_th = 1024*R + 140 can be used for segmentation; when the bitrate is greater than or equal to 0.4, a linear function K_th = 832*R + 200 is used for segmentation. In other words, when R is greater than or equal to 0.4, a linear segmentation function is added to the original segmentation method, thus ensuring the accuracy of segmentation for each region.
[0255] Example 9:
[0256] In embodiments 7 and 8 above, only the transmission code rate can be considered to determine whether to segment the sequence to be encoded. Furthermore, different lengths of the sequence to be encoded will also affect the performance of the uplink control channel. To further ensure the performance of the uplink control channel, based on embodiments 7 and 8 above, before segmenting the sequence to be encoded, the method further includes:
[0257] Determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold;
[0258] If so, proceed with the next steps.
[0259] Preferably, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N, and N is a value greater than 0. Preferably, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0260] Because as the bitrate increases, when the length of the UCI exceeds the maximum length of the sequence to be encoded, segmentation can be performed directly regardless of the bitrate. The maximum length of the sequence to be encoded is just one specific example; other lengths are also possible.
[0261] Example 10:
[0262] Of course, to simplify the process, regardless of the transmission bitrate, a linear function can be used for segmentation. The segmentation strategy for the sequence to be encoded, determined based on its length and transmission bitrate, includes:
[0263] The sequence to be encoded is segmented according to a preset linear function K_th2 = h * R + i or K_th2 = int(h * R + i), where K_th2 is the second length value, h is the preset seventh parameter value, i is the preset eighth parameter value, R is the transmission code rate, and int is the rounding function.
[0264] Specifically, in this embodiment, regardless of the transmission code rate, the transmitting end segments the sequence to be encoded according to a preset linear function K_th2 = h*R+i or K_th2 = int(h*R+i). The preset linear function can be one or more; if it includes more than two linear functions, the appropriate function can be flexibly selected based on the actual situation during segmentation.
[0265] Ideally, h should be 500-1200 and i should be 60-300.
[0266] Example 11:
[0267] In the above embodiment 10, the transmission code rate can be disregarded, and a linear function can be used for segmentation. Furthermore, since the lengths of the sequences to be encoded vary, the performance of the uplink control channel will also be affected. To further ensure the performance of the uplink control channel, based on the above embodiment, before segmenting the sequence to be encoded, the method further includes:
[0268] Determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold;
[0269] If so, proceed with the next steps.
[0270] Preferably, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N, and N is a value greater than 0. Preferably, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0271] The above implementation can also be understood as follows: when the bitrate is lower than a certain preset value, such as 0.9, the same linear function is used for segmentation, for example, K_th = 832*R + 200; when the bitrate is higher than the preset value of 0.9, other methods are used, such as direct segmentation, because segmenting according to the linear method may have performance gains when the bitrate is too high, but direct segmentation may be simpler.
[0272] In this embodiment of the invention, the segmentation threshold (Kth) is described according to the length of the sequence to be encoded. In fact, the segmentation threshold can also be described according to the length of the encoded data (M) when the code rate is known. The relationship is M = K / R. Taking Kth = aR + b as an example, dividing both sides by R gives Mth = a + b / R. Where R is the transmission code rate and K is the length of the sequence to be encoded.
[0273] In this embodiment of the invention, the segmentation threshold Kth is described based on the length of the information bits to be encoded. In fact, the segmentation threshold can also be described based on the length M of the encoded data when the code rate is known. The relationship is M = K / R. Taking Kth = aR + b as an example, dividing both sides by R gives Mth = a + b / R. Therefore, the method of segmenting based on the length of the encoded data can be derived from the above-described embodiments of the present invention. Those skilled in the art can make corresponding modifications based on the above description.
[0274] Example 12:
[0275] Furthermore, in the above embodiments, in this embodiment of the invention, when the segmentation strategy is to segment the sequence to be encoded, the step of processing the sequence to be encoded according to the segmentation strategy includes:
[0276] The information sequence in the sequence to be encoded is segmented; or
[0277] The sequence to be encoded, which includes an information sequence and a CRC sequence, is segmented.
[0278] In this embodiment of the invention, the sequence to be encoded includes an information sequence and a CRC sequence. When segmenting the sequence to be encoded, only the sequence to be encoded can be segmented. This is because during polar code encoding, a CRC sequence is added after the information sequence to obtain the sequence to be encoded. Then, the sequence to be encoded is segmented. A preferred method is to divide it into two equal segments, and each segment is encoded using polar codes. Therefore, only one segment of the resulting segmented sequence to be encoded may have a CRC sequence.
[0279] Alternatively, the information sequence in the sequence to be encoded can be segmented. This involves dividing the information sequence into two segments, adding an L-bit CRC sequence to each segment, for example, 11 bits. The length of the added CRC sequence can vary depending on the length of the information sequence or the nFAR value; the specific length can be flexibly set according to requirements.
[0280] Example 13:
[0281] Figure 9 This is a schematic diagram of a polarization coding device provided in an embodiment of the present invention. The device includes:
[0282] The determining module 51 is used to determine the segmentation strategy corresponding to the sequence to be encoded based on the length of the sequence to be encoded and the transmission code rate.
[0283] The encoding module 52 is used to process the sequence to be encoded according to the segmentation strategy, and to perform polar coding on the processed sequence to be encoded.
[0284] The determining module 51 is specifically used to determine whether the transmission code rate is greater than or equal to a preset first code rate threshold; if so, it determines not to segment the sequence to be encoded.
[0285] The determining module 51 is specifically used to determine whether the length of the sequence to be encoded is greater than or equal to a preset first length threshold if the transmission bit rate is not greater than or less than a preset first bit rate threshold and not less than or greater than a preset second bit rate threshold, wherein the first bit rate threshold is greater than the second bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0286] Preferably, the preset first bit rate threshold is 0.4.
[0287] The determining module 51 is further configured to determine a first length threshold based on the transmission code rate and a preset first function.
[0288] Preferably, the preset first function is Kth1 = int(c*R+b) or Kth1 = c*R+b, where kth1 is the first length threshold, int is the rounding function, c is the preset first parameter, b is the preset second parameter, and R is the transmission code rate.
[0289] Preferably, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.
[0290] Preferably, c is 1000 and b is 140.
[0291] The determining module 51 is specifically used to determine whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold if the transmission code rate is less than or equal to a preset second code rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0292] Preferably, the preset second length threshold is not less than 290 and not greater than 390.
[0293] Preferably, the preset second length threshold bit is 340.
[0294] Preferably, the preset second bit rate threshold is 0.2.
[0295] Preferably, the determining module 51 is specifically used to determine whether the length of the sequence to be encoded is greater than or equal to a preset third length threshold if the transmission bit rate is less than or equal to a preset third bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0296] Preferably, the third bit rate threshold is 6 / 25.
[0297] Preferably, the preset third length threshold is not less than 348 and not greater than 472.
[0298] Preferably, the preset third length threshold is 410.
[0299] Preferably, the determining module 51 is specifically used to determine whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold if the transmission bit rate is not less than or greater than a preset third bit rate threshold and not greater than or less than a preset fourth bit rate threshold, wherein the fourth bit rate threshold is greater than the third bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0300] Preferably, the determining module 51 is specifically used to determine the fourth length threshold based on the transmission code rate and the preset second function before determining whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold.
[0301] Preferably, the preset second function is Kth2 = int(a*R+e) or Kth2 = a*R+e, where kth2 is the fourth length threshold, int is the rounding function, a is the preset third parameter, e is the preset fourth parameter, and R is the transmission code rate.
[0302] Preferably, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.
[0303] Preferably, a is 1000 and e is 170.
[0304] Preferably, the determining module 51 is specifically used to determine whether the transmission code rate is greater than or equal to a preset fourth code rate threshold; if so, it determines not to segment the sequence to be encoded.
[0305] Preferably, the preset fourth bit rate threshold is 9 / 25.
[0306] Preferably, the determining module 51 is specifically used to determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold; if so, determine to segment the sequence to be encoded.
[0307] Preferably, the determining module 51 is specifically used to determine whether the transmission code rate is less than or equal to a preset fifth code rate threshold; if so, it determines to segment the sequence to be encoded.
[0308] Preferably, the preset fifth bit rate threshold is not less than 0.2 and not greater than 0.9.
[0309] Preferably, the preset fifth bit 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.
[0310] Preferably, the preset fifth length threshold is not less than 300 and not greater than 450.
[0311] Preferably, the preset fifth length threshold is 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, or 450.
[0312] Preferably, the determining module 51 is specifically used to determine whether the transmission code rate is greater than a preset sixth code rate threshold; if so, it determines 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), where 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 a rounding function.
[0313] Preferably, f is a value in the range of 500-1200 and g is a value in the range of 60-300.
[0314] Preferably, f is 832 and g is 200.
[0315] Preferably, the determining module 51 is specifically used to determine the target bit rate interval corresponding to the transmission bit rate based on at least two preset bit rate intervals and a preset linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) corresponding to each bit rate interval, and to segment the sequence to be encoded according to the target linear function corresponding to the target bit rate interval, wherein the minimum bit rate value in the bit rate interval is not less than the preset sixth bit rate threshold.
[0316] Preferably, the preset sixth bit rate threshold is 0.2.
[0317] Preferably, the determining module 51 is specifically used to determine the segmentation of the sequence to be encoded according to a preset linear function K_th2 = h*R+i or K_th2 = int(h*R+i), where 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 a rounding function.
[0318] Preferably, h is a value in the range of 500-1200 and i is a value in the range of 60-300.
[0319] Preferably, the determining module 51 is further configured to determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold; if so, to perform a step of determining to segment the sequence to be encoded.
[0320] Preferably, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
[0321] Preferably, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0322] Preferably, the encoding module 52 is specifically used to segment the information sequence in the sequence to be encoded when the segmentation strategy is to segment the sequence to be encoded; or to segment the sequence to be encoded that includes the information sequence and the CRC sequence.
[0323] Example 14:
[0324] Based on the same inventive concept, this embodiment of the invention also provides an electronic device. Since the principle of the above electronic device is similar to that of the polarization coding method, the implementation of the above electronic device can refer to the implementation of the method, and the repeated parts will not be described again.
[0325] like Figure 10 The diagram shown is a schematic representation of the electronic device structure provided in an embodiment of the present invention, wherein... Figure 10 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 61) and memory (memory 62). The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. A bus interface provides the interface. Processor 61 is responsible for managing the bus architecture and general processing, and memory 62 can store data used by processor 61 during operation.
[0326] In the electronic device provided in the embodiments of the present invention:
[0327] The processor 61 is configured to read the program in the memory 62 and execute the following process: determine the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate of the sequence to be encoded; process the sequence to be encoded according to the segmentation strategy, and perform polar coding on the processed sequence to be encoded.
[0328] Preferably, the processor 61 is specifically used to determine whether the transmission bit rate is greater than or equal to a preset first bit rate threshold; if so, it determines not to segment the sequence to be encoded.
[0329] Preferably, the processor 61 is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset first length threshold if the transmission bit rate is not greater than or less than a preset first bit rate threshold and not less than or greater than a preset second bit rate threshold, wherein the first bit rate threshold is greater than the second bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0330] Preferably, the preset first bit rate threshold is 0.4.
[0331] Preferably, the processor 61 is further configured to determine a first length threshold based on the transmission bit rate and a preset function.
[0332] Preferably, the preset function is Kth = int(c*R+b) or Kth = c*R+b, where kth is a first length threshold, int is a rounding function, c is a preset first parameter, b is a preset second parameter, and R is the transmission code rate.
[0333] Preferably, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.
[0334] Preferably, c is 1000 and b is 140.
[0335] Preferably, the processor 61 is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold if the transmission bit rate is less than or equal to a preset second bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0336] Preferably, the preset second length threshold is not less than 290 and not greater than 390.
[0337] Preferably, the preset second length threshold bit is 340.
[0338] Preferably, the preset second bit rate threshold is 0.2.
[0339] Preferably, the processor 64 is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset third length threshold if the transmission bit rate is less than or equal to a preset third bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0340] Preferably, the third bit rate threshold is 6 / 25.
[0341] Preferably, the preset third length threshold is not less than 348 and not greater than 472.
[0342] Preferably, the preset third length threshold is 410.
[0343] Preferably, the processor 64 is specifically configured to determine whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold if the transmission bit rate is not less than or greater than a preset third bit rate threshold and not greater than or less than a preset fourth bit rate threshold, wherein the fourth bit rate threshold is greater than the third bit rate threshold; if so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0344] Preferably, the processor 64 is further configured to determine the fourth length threshold based on the transmission code rate and the preset second function before determining whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold.
[0345] Preferably, the preset second function is Kth2 = int(a*R+e) or Kth2 = a*R+e, where kth2 is the fourth length threshold, int is the rounding function, a is the preset third parameter, e is the preset fourth parameter, and R is the transmission code rate.
[0346] Preferably, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.
[0347] Preferably, a is 1000 and e is 170.
[0348] Preferably, the processor 64 is specifically used to determine whether the transmission bit rate is greater than or equal to a preset fourth bit rate threshold; if so, it determines that the sequence to be encoded will not be segmented.
[0349] Preferably, the preset fourth bit rate threshold is 9 / 25.
[0350] Preferably, the processor 64 is specifically used to determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold; if so, to determine to segment the sequence to be encoded.
[0351] Preferably, the processor 64 is specifically used to determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold; if so, to determine to segment the sequence to be encoded.
[0352] Preferably, the preset fifth bit rate threshold is not less than 0.2 and not greater than 0.9.
[0353] Preferably, the preset fifth bit 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.
[0354] Preferably, the preset fifth length threshold is not less than 300 and not greater than 450.
[0355] Preferably, the preset fifth length threshold is 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, or 450.
[0356] Preferably, the processor 64 is specifically used to determine whether the transmission bit rate is greater than a preset sixth bit rate threshold; if so, it determines 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), where 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 bit rate, and int is a rounding function.
[0357] Preferably, f is a value in the range of 500-1200 and g is a value in the range of 60-300.
[0358] Preferably, f is 832 and g is 200.
[0359] Preferably, the processor 64 is specifically configured to determine a target bitrate interval corresponding to the transmission bitrate based on at least two preset bitrate intervals and a preset linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) corresponding to each bitrate interval, and to segment the sequence to be encoded according to the target linear function corresponding to the target bitrate interval, wherein the minimum bitrate value in the bitrate interval is not less than the preset sixth bitrate threshold.
[0360] Preferably, the preset sixth code rate threshold is 0.2.
[0361] Preferably, the processor 64 is specifically used to determine the segmentation of the sequence to be encoded according to a preset linear function K_th2 = h*R+i or K_th2 = int(h*R+i), where 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 a rounding function.
[0362] Preferably, h is a value in the range of 500-1200 and i is a value in the range of 60-300.
[0363] Preferably, the processor 64 is further configured to determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold; if so, to perform a step of determining to segment the sequence to be encoded.
[0364] Preferably, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
[0365] Preferably, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0366] Preferably, the processor 64 is specifically used to segment the information sequence in the sequence to be encoded when the segmentation strategy is to segment the sequence to be encoded; or to segment the sequence to be encoded that includes the information sequence and the CRC sequence.
[0367] Example 15:
[0368] Based on the above embodiments, this invention also provides a computer-readable storage medium storing a computer program executable by an electronic device. When the program is run on the electronic device, the electronic device performs the following steps:
[0369] Based on the length of the sequence to be encoded and the transmission code rate, determine the segmentation strategy corresponding to the sequence to be encoded;
[0370] According to the segmentation strategy, the sequence to be encoded is processed accordingly, and the processed sequence to be encoded is then polarized encoded.
[0371] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0372] Determine whether the transmission bit rate is greater than or equal to a preset first bit rate threshold;
[0373] If so, determine that the sequence to be encoded will not be segmented.
[0374] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0375] If the transmission bitrate is not greater than or less than a preset first bitrate threshold and is not less than or greater than a preset second bitrate threshold, determine whether the length of the sequence to be encoded is greater than or greater than or equal to a preset first length threshold, wherein the first bitrate threshold is greater than the second bitrate threshold.
[0376] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0377] Preferably, the preset first bit rate threshold is 0.4.
[0378] Preferably, before determining whether the length of the sequence to be encoded is greater than a preset first length threshold, the method further includes:
[0379] A first length threshold is determined based on the transmission rate and a preset first function.
[0380] Preferably, the preset first function is Kth1 = int(c*R+b) or Kth1 = c*R+b, where kth1 is the first length threshold, int is the rounding function, c is the preset first parameter, b is the preset second parameter, and R is the transmission code rate.
[0381] Preferably, c is not greater than 1200 and not less than 800, and b is not greater than 161 and not less than 119.
[0382] Preferably, c is 1000 and b is 140.
[0383] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0384] If the transmission bit rate is less than or equal to a preset second bit rate threshold, determine whether the length of the sequence to be encoded is greater than or equal to a preset second length threshold;
[0385] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0386] Preferably, the preset second length threshold is not less than 290 and not greater than 390.
[0387] Preferably, the preset second length threshold is 340.
[0388] Preferably, the preset second bit rate threshold is 0.2.
[0389] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0390] If the transmission bit rate is less than or equal to a preset third bit rate threshold, determine whether the length of the sequence to be encoded is greater than or equal to a preset third length threshold.
[0391] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0392] Preferably, the third bit rate threshold is 6 / 25.
[0393] Preferably, the preset third length threshold is not less than 348 and not greater than 472.
[0394] Preferably, the preset third length threshold is 410.
[0395] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0396] If the transmission bit rate is not less than or greater than a preset third bit rate threshold and not greater than or less than a preset fourth bit rate threshold, determine whether the length of the sequence to be encoded is greater than or greater than or equal to a preset fourth length threshold, wherein the fourth bit rate threshold is greater than the third bit rate threshold.
[0397] If so, determine to segment the sequence to be encoded; otherwise, determine not to segment the sequence to be encoded.
[0398] Preferably, before determining whether the length of the sequence to be encoded is greater than or equal to a preset fourth length threshold, the method further includes:
[0399] A fourth length threshold is determined based on the transmission bit rate and a preset second function.
[0400] Preferably, the preset second function is Kth2 = int(a*R+e) or Kth2 = a*R+e, where kth2 is the fourth length threshold, int is the rounding function, a is the preset third parameter, e is the preset fourth parameter, and R is the transmission code rate.
[0401] Preferably, a is not greater than 1200 and not less than 800, and e is not greater than 196 and not less than 144.
[0402] Preferably, a is 1000 and e is 170.
[0403] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0404] Determine whether the transmission bit rate is greater than or equal to a preset fourth bit rate threshold;
[0405] If so, determine that the sequence to be encoded will not be segmented.
[0406] Preferably, the preset fourth bit rate threshold is 9 / 25.
[0407] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0408] Determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold;
[0409] If so, determine to segment the sequence to be encoded.
[0410] Preferably, before determining the segmentation of the sequence to be encoded, the method further includes:
[0411] Determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold;
[0412] If so, proceed with the next steps.
[0413] Preferably, the preset fifth bit rate threshold is not less than 0.2 and not greater than 0.9.
[0414] Preferably, the preset fifth bit 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.
[0415] Preferably, the preset fifth length threshold is not less than 300 and not greater than 450.
[0416] Preferably, the preset fifth length threshold is 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, or 450.
[0417] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0418] Determine whether the transmission bit rate is greater than a preset sixth bit rate threshold;
[0419] If so, determine that the sequence to be encoded is segmented according to the preset linear function K_th1=f*R+g or K_th1=int(f*R+g), where K_th1 is the first length value, f is the preset fifth parameter value, g is the preset sixth parameter value, R is the transmission code rate, and int is the rounding function.
[0420] Preferably, f is a value in the range of 500-1200 and g is a value in the range of 60-300.
[0421] Preferably, f is 832 and g is 200.
[0422] Preferably, determining the segmentation of the sequence to be encoded according to a preset linear function K_th1 = f*R + g or K_th1 = int(f*R + g) includes:
[0423] The target bitrate interval corresponding to the transmission bitrate is determined based on at least two pre-set bitrate intervals and a preset linear function K_th1 = fn*R + gn or K_th1 = int(fn*R + gn) for each bitrate interval. The sequence to be encoded is segmented according to the target linear function corresponding to the target bitrate interval, wherein the minimum bitrate value in the bitrate interval is not less than the preset sixth bitrate threshold.
[0424] Preferably, the preset sixth code rate threshold is 0.2.
[0425] Preferably, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes:
[0426] The sequence to be encoded is segmented according to a preset linear function K_th2 = h*R+i or K_th2 = int(h*R+i), where K_th2 is the second length value, h is the preset seventh parameter value, i is the preset eighth parameter value, R is the transmission code rate, and int is the rounding function.
[0427] Preferably, h is a value in the range of 500-1200 and i is a value in the range of 60-300.
[0428] Preferably, before determining to segment the sequence to be encoded, the method further includes:
[0429] Determine whether the length of the sequence to be encoded is less than or equal to a preset fifth length threshold;
[0430] If so, proceed with the next steps.
[0431] Preferably, the fifth code rate threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
[0432] Preferably, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
[0433] Preferably, when the segmentation strategy is to segment the sequence to be encoded, the step of processing the sequence to be encoded according to the segmentation strategy includes:
[0434] The information sequence in the sequence to be encoded is segmented; or
[0435] The sequence to be encoded, which includes an information sequence and a CRC sequence, is segmented.
[0436] For system / device embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to in the description of the method embodiments.
[0437] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0438] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0439] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1The function specified in one or more boxes.
[0440] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0441] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0442] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.
Claims
1. A polar coding method, characterized in that, The method includes: Based on the length of the sequence to be encoded and the transmission code rate, determine the segmentation strategy corresponding to the sequence to be encoded; According to the segmentation strategy, the sequence to be encoded is processed accordingly, and the processed sequence to be encoded is then polarized encoded. The step of determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate includes: Determine whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold; If so, determine to segment the sequence to be encoded; The fifth length threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
2. The method as described in claim 1, characterized in that, Before determining the segmentation of the sequence to be encoded, the method further includes: Determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold; If so, proceed with the subsequent step of segmenting the sequence to be encoded.
3. The method as described in claim 2, characterized in that, The preset fifth bit rate threshold is not less than 0.2 and not greater than 0.
9.
4. The method as described in claim 3, characterized in that, The preset fifth bit 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.
5. The method as described in claim 3, characterized in that, The preset fifth length threshold is not less than 300 and not greater than 450.
6. The method as described in claim 5, characterized in that, The preset fifth length threshold is 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, or 450.
7. The method as described in claim 1, characterized in that, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
8. The method as described in claim 1, characterized in that, When the segmentation strategy involves segmenting the sequence to be encoded, the step of processing the sequence to be encoded according to the segmentation strategy includes: The information sequence in the sequence to be encoded is segmented; or The sequence to be encoded, which includes an information sequence and a CRC sequence, is segmented.
9. A polarization encoding device, characterized in that, The device includes: A determining module is used to determine a segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate of the sequence to be encoded; wherein, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission code rate of the sequence to be encoded includes: determining whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold; if so, determining to segment the sequence to be encoded; wherein, the fifth length threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N; The encoding module is used to process the sequence to be encoded according to the segmentation strategy, and to perform polar coding on the processed sequence to be encoded.
10. An electronic device, characterized in that, include: Memory and processor; The processor is configured to read a program from the memory and execute the following processes: determining a segmentation strategy corresponding to the sequence to be encoded based on the length and transmission rate of the sequence to be encoded; processing the sequence to be encoded according to the segmentation strategy, and performing polar coding on the processed sequence to be encoded; wherein, determining the segmentation strategy corresponding to the sequence to be encoded based on the length and transmission rate of the sequence to be encoded includes: determining whether the length of the sequence to be encoded is greater than or equal to a preset fifth length threshold; if so, determining to segment the sequence to be encoded; wherein, the fifth length threshold is located between x times the maximum bit length to be encoded and N times the maximum bit length to be encoded, where x is a value greater than 0 and less than N.
11. The electronic device as claimed in claim 10, characterized in that, The processor is specifically used to determine whether the transmission bit rate is less than or equal to a preset fifth bit rate threshold; if so, it determines to segment the sequence to be encoded.
12. The electronic device as claimed in claim 11, characterized in that, The preset fifth bit rate threshold is not less than 0.2 and not greater than 0.
9.
13. The electronic device as claimed in claim 12, characterized in that, The preset fifth bit 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.
14. The electronic device as claimed in claim 12, characterized in that, The preset fifth length threshold is not less than 300 and not greater than 450.
15. The electronic device as claimed in claim 14, characterized in that, The preset fifth length threshold is 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, or 450.
16. The electronic device as claimed in claim 10, characterized in that, x is a value greater than or equal to 0.3 and less than 2, and N is 2.
17. The electronic device as claimed in claim 10, characterized in that, The processor is specifically configured to segment the information sequence in the sequence to be encoded when the segmentation strategy is to segment the sequence to be encoded; or to segment the sequence to be encoded that includes the information sequence and the CRC sequence.
18. A computer-readable storage medium, characterized in that, It stores a computer program executable by an electronic device, which, when run on the electronic device, causes the electronic device to perform the steps of any of the methods described in claims 1 to 8.