Communication method and apparatus, storage medium, and program product

By optimizing the boost value of the coding matrix and the DM code rate, the performance instability problem of low-density parity-check codes when the code length increases was solved, and stable channel coding and decoding was achieved in the scenario of combining channel coding and shaping, thereby improving decoding performance and anti-interference capability.

WO2026145205A1PCT designated stage Publication Date: 2026-07-09HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-12-24
Publication Date
2026-07-09

Smart Images

  • Figure CN2025145205_09072026_PF_FP_ABST
    Figure CN2025145205_09072026_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and apparatus, a storage medium, and a program product. The method comprises: a sending device and a receiving device acquire a first DM code rate and a first lifting value set; on the basis of the first DM code rate and the first lifting value set, determine a second lifting value set; on the basis of the second lifting value set and the first DM code rate, determine a second lifting value and a second DM code rate; the sending device performs precoding on the basis of the second DM code rate, and performs encoding on the basis of the second lifting value set and a precoding result; and the receiving device performs decoding on the basis of the second lifting value set, and performs de-precoding on a decoding result on the basis of the second DM code rate. By jointly optimizing lifting values of an encoding matrix and the DM code rates, more mother code lengths can be supported, so that a shortened number of bits is uniformly distributed, fine-grained performance is stable, and a more stable channel encoding and decoding solution can be provided in a scenario in which channel encoding and shaping are combined.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods, devices, storage media and software products

[0001] This application claims priority to Chinese Patent Application No. 202411999592.2, filed with the China National Intellectual Property Administration on December 31, 2024, entitled "Communication Method, Apparatus, Storage Medium and Program Product", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a communication method, apparatus, storage medium and program product. Background Technology

[0003] Low-density parity-check (LDPC) codes are a channel coding scheme very close to Shannon lines, characterized by high performance and low complexity, making them suitable for data channel coding. The rate matching process for LDPC codes involves first determining the number of information columns (kb) in the basic graph (BG) based on the payload information length K. Then, based on the number of information columns, a lifting size (Zc) is determined, and the excess kb × Zc - K information bits are shortened, resulting in a code that is not the original code. As the code length increases, the current lifting size and rate matching methods lead to instability in the number of shortened bits, resulting in impaired degree distribution and disruption of the basic graph's integrity, thus degrading performance. Future scenarios may involve even longer code lengths, further increasing the number of shortened bits and making performance even more unstable.

[0004] Probabilistic shaping is a common "shaping" technique. It involves cascading a precoder (also called a distribution matcher (DM) or some form of transform) before the encoder to map ("shape") the information bits into a sequence following a specific distribution. Then, during the encoding process, systematic coding is used, ensuring that the aforementioned sequence satisfying the specific distribution directly appears in the encoded sequence, thus shaping the final modulation symbol. The length of the bit sequence to be encoded output by the DM module is related to the DM code rate. Different bit sequence lengths result in different numbers of shortened bits, leading to a smaller actual number of information columns used than the full number of information columns. This results in more puncturing, poorer decoding thresholds, and slower convergence speeds, causing significant performance loss in high-throughput scenarios.

[0005] Therefore, how to reduce performance loss and achieve a more stable channel coding scheme is an urgent problem to be solved. Summary of the Invention

[0006] This application provides a communication method, apparatus, storage medium, and program product to jointly optimize the boost value of the coding matrix and the DM code rate, thereby achieving more stable channel coding performance.

[0007] Firstly, a communication method is provided, which can be applied to a first communication device, which is a transmitting device. The first communication device can be a terminal device or a communication module within a terminal device, or a circuit or chip applied to a terminal device (such as a modem chip (also known as a baseband chip), or a system-on-chip (SoC) chip or system-in-package (SIP) chip containing a modem core). Alternatively, the first communication device can be a network device or a communication module within a network device, or a circuit or chip applied to a network device (such as a modem chip (also known as a baseband chip), or an SoC chip or SIP chip containing a modem core). Taking the application of this method to a first communication device as an example...

[0008] The method includes: obtaining a first DM code rate and a first boost value set of the encoding matrix; determining a second boost value set of the encoding matrix based on the first DM code rate and the first boost value set; determining a second boost value and a second DM code rate based on the second boost value set and the first DM code rate, wherein the second boost value belongs to the second boost value set; performing precoding based on the second DM code rate; and performing encoding based on the second boost value and the result of precoding.

[0009] By using this method, the boost value of the coding matrix and the DM code rate are jointly optimized, which can support more mother code lengths, make the shortened bit number distribution uniform, and achieve stable fine-grained performance. This method can provide a more stable channel coding and decoding scheme in scenarios that combine channel coding and shaping.

[0010] Secondly, a communication method is provided, which can be applied to a second communication device, which is a receiving device. The second communication device can be a network device or a communication module within a network device, or a circuit or chip applied to a network device (such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core). The second communication device can also be a terminal device or a communication module within a terminal device, or a circuit or chip applied to a terminal device (such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core). Taking the application of this method to a second communication device as an example...

[0011] The method includes: obtaining a first DM code rate and a first boost value set of the coding matrix; determining a second boost value set of the coding matrix based on the first DM code rate and the first boost value set; determining a second boost value and a second DM code rate based on the second boost value set and the first DM code rate, wherein the second boost value belongs to the second boost value set; performing decoding based on the second boost value; and performing deprecoding on the decoding result based on the second DM code rate.

[0012] By using this method, the boost value of the coding matrix and the DM code rate are jointly optimized, which can support more mother code lengths, make the shortened bit number distribution uniform, and achieve stable fine-grained performance. This method can provide a more stable channel coding and decoding scheme in scenarios that combine channel coding and shaping.

[0013] In conjunction with the first or second aspect, in one possible design, determining the second boost value set of the coding matrix based on the first DM code rate and the first boost value set includes: determining a first boost value, which belongs to the first boost value set, based on the first DM code rate and the first boost value set; and determining the second boost value set based on the first DM code rate and the first boost value.

[0014] In combination with the first or second aspect, in yet another possible design, the first boost value Z C1 To satisfy kb×Z C1 ≥K FEC1 The minimum of at least one boost value, where kb is the number of columns in the base graph of the encoding matrix, K FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 =K+(1-R) DM1 )×S, K is the length of the payload information in bits, R DM1 S is the first DM code rate, and S is the length of the transmitted symbol.

[0015] By adopting this design, the first boost value is determined based on the first DM bit rate, and the joint design of DM bit rate and boost value can be realized.

[0016] In another possible design, combining the first or second aspect, determining the set of second boost values ​​for the coding matrix based on the first DM code rate and the first boost value includes: based on a first range and the Z... C1 Determine the second set of lift values, wherein the first range is associated with at least two of the first set of lift values, the net load information length K, and the first lift value.

[0017] In another possible design, combining the first or second aspect, determining the second set of boost values ​​for the coding matrix based on the first DM code rate and the first set of boost values ​​includes: based on The first range determines the second set of boost values, where kb is the number of columns in the base graph of the encoding matrix, and K... FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 =K+(1-R) DM1 )×S, K is the net payload information length, R DM1 S is the first DM code rate, S is the transmitted symbol length, and the first range is associated with the first boost value set and the payload information length K.

[0018] In combination with the first or second aspect, in yet another possible design, the first scope is: W0 is an integer greater than or equal to 1, Z max It is the maximum value in the first set of boost values.

[0019] In combination with the first or second aspect, in yet another possible design, the boost value in the first range is: The kmax is the base-2 logarithm of the maximum lift value in the lift set with a0 as the base, divided by a0, where a1 is a base other than a0. a1 For the set of boost values ​​based on a1 that are less than or equal to The maximum lift value divided by a1 and then logarithm to base 2, where a2 is a base other than a0 and a1, k a2 For the set of enhancement values ​​based on a2 that are less than or equal to The logarithm to base 2 of the maximum lift value divided by a2, where a3 is the base of the lift value group other than a0, a1, a2, and k a3 For the group of boost values ​​based on a3 that are less than or equal to The maximum increase value divided by a3 and then the logarithm to the base 2, the For the set of boost values ​​less than The maximum increase value, the For the set of boost values ​​greater than The minimum lift value, the 2 k0 For the set of boost values ​​that are in the interval The greatest common divisor of all the lift values ​​within the range, the The

[0020] The Z C1 or The values ​​in [A1, A2] are, where,

[0021] This design further subdivides the first range to prepare for determining the second set of boost values, ensuring that the distance between the second boost value and the first boost value is not too large. While maintaining the decoding performance, it reduces the number of shortened bits, resulting in more stable performance.

[0022] In combination with the first or second aspect, in yet another possible design, the second set of lift values ​​is (yA1+(2 t -y)A2) / 2 t One or more items, y = 1, ..., 2 t -1, t≥1, y and t are both integers.

[0023] In another possible design, in conjunction with the first or second aspect, determining the second boost value and the second DM code rate based on the second boost value set and the first DM code rate includes: adjusting the second DM code rate such that... or Among them, K FEC2 K is the length of the second bit sequence to be encoded output by the precoding module. FEC2 =K+(1-R) DM2 )×S, K is the net payload information length, R DM2 The second DM code rate is S, the transmitted symbol length is S, and the second boost value is equal to A. i Or A i+1 Among them, A i <K FEC1 / kb≤A i+1 A i It is a set of second promotion values ​​that is greater than or equal to K. FEC1 The minimum value of / kb, A i+1 It is less than K in the second set of lift values. FEC1 Maximum value per kb.

[0024] Using this design, selection is performed based on the above conditions. or This eliminates the need for shortened rate matching in LDPC codes, avoiding memory stuffing operations in the decoder; at the same time, not shortening ensures the integrity of the LDPC basemap in actual use, achieving optimal basemap performance.

[0025] Combining the first or second aspect, in another possible design, while satisfying A... i If the value is greater than K / kb, or if the second DM bit rate is less than or equal to the first threshold, then The first threshold is associated with the modulation order Q m or the coding rate; alternatively, when K FEC2 < N, then where N is the length of the transmitted bits.

[0026] With this design, the selected can ensure that the adjusted coding rate is not too high, guaranteeing stable decoding performance; at the same time, it can be optimized for the modulation order, and the adjustment rules for the DM coding rate corresponding to each modulation order are maintained to be relatively optimal and the performance is stable. The higher the coding rate, the worse the anti-interference and fading capabilities. It is preferred to ensure that the channel coding rate does not increase further, providing a more stable channel coding scheme with a faster convergence rate of the channel coding.

[0027] The selected selection of the second set of increment values can ensure that the DM coding rate is preferentially expanded, obtaining a better shaping effect and achieving performance gain.

[0028] Combined with the first aspect or the second aspect, in another possible design, K FEC2 / N is less than or equal to the first coding rate threshold.

[0029] Combined with the first aspect or the second aspect, in another possible design, the first coding rate threshold is any one of the following: 11 / 12, 22 / 23, 44 / 47, or 948 / 1024.

[0030] Combined with the first aspect or the second aspect, in another possible design, Q m = 2, and the first threshold is 0.6; or, Q m > 2, and the first threshold is 0.7 or 0.75.

[0031] Combined with the first aspect or the second aspect, in another possible design, the coding rate is greater than or equal to the first coding rate threshold, and the second DM coding rate is 0.95.

[0032] Combined with the first aspect or the second aspect, in another possible design, the first range includes a first sub-range and a second sub-range. The difference between the coefficients of two adjacent increment values in the first sub-range corresponds to a first tolerance, and the difference between the coefficients of two adjacent increment values in the second sub-range corresponds to a second tolerance. The second threshold corresponding to the segment where A i 、A i+1 is located is associated with the K FEC1 / kb being in the first sub-range or the second sub-range, and the second threshold is used to determine whether to continue segmenting the segment where A i 、A i+1 is located.

[0033] Using this design, the segmentation can be accurately determined by accurately identifying the second threshold based on the segment in which the first lift value is located. The smaller the tolerance, the smaller the aforementioned second threshold.

[0034] In combination with the first or second aspect, in another possible design, the ratio of the second threshold corresponding to the first sub-range to the second threshold corresponding to the second sub-range is any one of the following: 1 / 2, 2 / 3, 3 / 4.

[0035] Thirdly, a communication device is provided. The communication device can perform the methods described in the first to second aspects or any one of the designs described in the first to second aspects. The communication device can be a transmitting device or a receiving device, or it can be a module (e.g., a chip) applied in a transmitting device or a module (e.g., a chip) applied in a receiving device.

[0036] In one possible design, the communication device includes a transceiver unit and a processing unit. The transceiver unit performs the receiving and / or transmitting operations in the methods of the first to second aspects or any one of the designs of the first to second aspects; the processing unit performs the processing operations in the methods of the first to second aspects or any one of the designs of the first to second aspects.

[0037] When the communication device is used to execute the method in the first aspect or any of the designs in the first aspect, the processing unit is configured to obtain a first DM code rate and a first set of boost values ​​for the encoding matrix; the processing unit is further configured to determine a second set of boost values ​​for the encoding matrix based on the first DM code rate and the first set of boost values; the processing unit is further configured to determine a second boost value and a second DM code rate based on the second set of boost values ​​and the first DM code rate, wherein the second boost value belongs to the second set of boost values; and the processing unit is further configured to perform precoding based on the second DM code rate, and to perform encoding based on the second boost value and the result of precoding.

[0038] When the communication device is used to execute the method in the second aspect or any of the designs in the second aspect, the processing unit is configured to obtain the first distribution matcher DM code rate and a first boost value set of the encoding matrix; the processing unit is further configured to determine a second boost value set of the encoding matrix based on the first DM code rate and the first boost value set; the processing unit is further configured to determine a second boost value and a second DM code rate based on the second boost value set and the first DM code rate, wherein the second boost value belongs to the second boost value set; and the processing unit is further configured to perform decoding based on the second boost value and to perform deprecoding on the decoding result based on the second DM code rate.

[0039] In another possible design, the communication device includes a processor coupled to a memory; the processor is configured to support the device in performing the corresponding functions in the communication method described above. The memory, coupled to the processor, stores the computer program (or computer-executable instructions) and / or data necessary for the device. Optionally, the communication device may further include a communication interface for supporting communication between the device and other network elements, such as the transmission or reception of data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface. Optionally, the memory may be located internally within the communication device and integrated with the processor; alternatively, it may be located externally to the communication device.

[0040] In another possible design, the communication device includes a processor and a transceiver, the processor being coupled to the transceiver. The processor executes computer programs or instructions to control the transceiver to receive and send information. When the processor executes the computer programs or instructions, it is also used to design the above-mentioned method through logic circuits or execution code instructions. The transceiver can be a transceiver circuit, a transceiver module, or an input / output interface, used to receive signals from other communication devices besides the communication device and transmit them to the processor, or to send signals from the processor to other communication devices besides the communication device. When the communication device is a chip, the transceiver is a transceiver circuit or an input / output interface.

[0041] When the communication device is a chip, the transmitting unit can be an output unit, such as an output circuit or a communication interface; the receiving unit can be an input unit, such as an input circuit or a communication interface. When the communication device is a terminal device or a network device, the transmitting unit can be a transmitter or a receiver; the receiving unit can be a receiver or a receiver.

[0042] Optionally, the processing unit is further configured to determine a first boost value based on the first DM bit rate and the first boost value set, wherein the first boost value belongs to the first boost value set; and to determine a second boost value set based on the first DM bit rate and the first boost value.

[0043] Optionally, the first boost value Z C1 To satisfy kb×Z C1 ≥K FEC1 The minimum of at least one boost value, where kb is the number of columns in the base graph of the encoding matrix, K FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 =K+(1-R) DM1 )×S, K is the net payload information length, R DM1S is the first DM code rate, and S is the length of the transmitted symbol.

[0044] Optionally, the processing unit is further configured to, based on the first range and the Z... C1 Determine the second set of lift values, wherein the first range is associated with at least two of the first set of lift values, the net load information length K, and the first lift value.

[0045] Optionally, the processing unit is further configured to, based on The first range determines the second set of boost values, where kb is the number of columns in the base graph of the encoding matrix, and K... FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 =K+(1-R) DM1 )×S, K is the net payload information length, R DM1 S is the first DM code rate, S is the transmitted symbol length, and the first range is associated with the first boost value set and the payload information length K.

[0046] Optionally, the first range is W0 is an integer greater than or equal to 1, Z max It is the maximum value in the first set of boost values.

[0047] Optionally, the boost value in the first range is:

[0048] The kmax is the base-2 logarithm of the maximum lift value in the lift set with a0 as the base, divided by a0, where a1 is a base other than a0. a1 For the set of boost values ​​based on a1 that are less than or equal to The maximum lift value divided by a1 and then logarithm to base 2, where a2 is a base other than a0 and a1, k a2 For the set of enhancement values ​​based on a2 that are less than or equal to The logarithm to base 2 of the maximum lift value divided by a2, where a3 is the base of the lift value group other than a0, a1, a2, and k a3 For the group of boost values ​​based on a3 that are less than or equal to The maximum increase value divided by a3 and then the logarithm to the base 2, the For the set of boost values ​​less than The maximum increase value, the For the set of boost values ​​greater than The minimum lift value, the 2 k0 For the set of boost values ​​that are in the interval The greatest common divisor of all the lift values ​​within the range, the The said Z C1 or is a value in [A1, A2], where

[0049] Optionally, the second set of boosting values is (yA1 + (2 t -y)A2) / 2 t for one or more, y = 1, …, 2 t -1, t ≥ 1, and both y and t are integers. '

[0050] Optionally, the processing unit is further configured to adjust the second DM code rate such that or where K FEC2 is the length of the second bit sequence to be encoded output by the precoding module, K FEC2 = K + (1 - R DM2 )×S, K is the length of the payload information, R DM2 is the second DM code rate, S is the length of the transmission symbol, and the second boosting value is equal to A i or A i+1 ; where A i <K FEC1 / kb ≤ A i+1 , A i is the minimum value in the second set of boosting values that is greater than or equal to K FEC1 / kb, and A i+1 is the maximum value in the second set of boosting values that is less than K FEC1 / kb.

[0051] Optionally, when A i > K / kb, or the second DM code rate is less than or equal to the first threshold, then [[ID={57]] the first threshold is associated with the modulation order Q m or the coding rate; or, when K FEC2 < N, then where N is the length of the transmitted bits.

[0052] Optionally, K FFC2 / N is less than or equal to the first code rate threshold.

[0053] Optionally, the first code rate threshold is any one of the following: 11 / 12, 22 / 23, 44 / 47, or 948 / 1024.

[0054] Optionally, Q m = 2, and the first threshold is 0.6; or, Qm >2, where the first threshold is 0.7 or 0.75.

[0055] Optionally, the encoding code rate is greater than or equal to a first code rate threshold, and the second DM code rate is 0.95.

[0056] Optionally, the first range includes a first sub-range and a second sub-range, the difference between the coefficients of two adjacent lift values ​​in the first sub-range corresponds to a first tolerance, and the difference between the coefficients of two adjacent lift values ​​in the second sub-range corresponds to a second tolerance. i A i+1 The second threshold corresponding to the segment and the K FEC1 / kb is associated with either the first subrange or the second subrange, and the second threshold is used to determine whether to apply A. i A i+1 The current segment will continue to be segmented.

[0057] Optionally, the ratio of the second threshold corresponding to the first sub-range to the second threshold corresponding to the second sub-range is any one of the following: 1 / 2, 2 / 3, 3 / 4.

[0058] Fourthly, a computer-readable storage medium is provided that stores a computer program or instructions thereon, which, when executed by a communication device, implement the method as described in the first aspect or any design of the first aspect, or implement the method as described in the second aspect or any design of the second aspect.

[0059] Fifthly, a computer program product is provided that, when executed on a communication device, implements the method as described in the first aspect or any design of the first aspect, or implements the method as described in the second aspect or any design of the second aspect. Attached Figure Description

[0060] Figure 1 is a schematic diagram of the architecture of the communication system 1000 used in the embodiments of this application;

[0061] Figure 2 is a flowchart of a communication system provided in an embodiment of this application;

[0062] Figure 3 is a schematic diagram of the cyclic shift of the identity matrix of LDPC;

[0063] Figure 4 is a schematic diagram of the base graph of the LDPC code in an example of an embodiment of this application;

[0064] Figure 5 is a schematic diagram of matrix regions based on different bitrates, as exemplified in an embodiment of this application.

[0065] Figure 6 is a flowchart illustrating a communication method provided in an embodiment of this application;

[0066] Figures 7 and 8 are schematic diagrams of the communication device provided in the embodiments of this application. Detailed Implementation

[0067] The scheme of this application will be further described below with reference to the accompanying drawings.

[0068] Figure 1 is a schematic diagram of the architecture of a communication system 1000 provided in an embodiment of this application. As shown in Figure 1, the communication system 1000 includes a radio access network (RAN) 100, wherein the RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110), and may also include at least one terminal (120a-120j in Figure 1, collectively referred to as 120). The RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). The terminal 120 is wirelessly connected to the RAN node 110. Terminals and RAN nodes can be interconnected via wired or wireless means. The communication system 1000 may also include a core network 200. The RAN node 110 is connected to the core network 200 via wireless or wired means. The core network equipment in core network 200 and the RAN node 110 in RAN 100 can be independent and different physical devices, or they can be the same physical device that integrates the logical functions of the core network equipment and the logical functions of the RAN node. Communication system 1000 may also include Internet 300.

[0069] RAN100 can be an evolved universal terrestrial radio access (E-UTRA) system, a new radio (NR) system, or a future radio access system as defined in the 3rd generation partnership project (3GPP), or it can be a WiFi system. RAN100 can also include two or more of the above-mentioned different radio access systems. RAN100 can also be an open RAN (O-RAN).

[0070] RAN nodes, also known as radio access network devices, RAN entities, or access nodes, are used to help terminals access communication systems wirelessly. In one application scenario, an RAN node can be a base station, an evolved NodeB (eNodeB), a TRP, a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system. RAN nodes can be macro base stations (as shown in Figure 1, 110a), micro base stations or indoor stations (as shown in Figure 1, 110b), relay nodes, or donor nodes.

[0071] In another application scenario, multiple RAN nodes can collaborate to help terminals achieve wireless access, with different RAN nodes implementing different functions of the base station. For example, a RAN node can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). Here, the CU performs the functions of the base station's Radio Resource Control (RRC) and Packet Data Convergence Protocol (PDCP), and can also perform the functions of the Service Data Adaptation Protocol (SDAP). The DU performs the functions of the base station's Radio Link Control (RANC) and Medium Access Control (MAC) layers, and can also perform some or all of the physical layer functions. For specific descriptions of these protocol layers, refer to the relevant 3GPP technical specifications. The RU can be used to implement radio frequency signal transmission and reception. The CU and DU can be two independent RAN nodes or integrated into the same RAN node, such as within a baseband unit (BBU). The RU can be included in radio frequency equipment, such as in a remote radio unit (RRU) or an active antenna unit (AAU). The CU can be further divided into two types of RAN nodes: CU-control plane and CU-user plane.

[0072] In different systems, RAN nodes may have different names. For example, in an O-RAN system, a CU can be called an open CU (O-CU), a DU can be called an open DU (O-DU), and an RU can be called an open RU (O-RU). The RAN nodes in the embodiments of this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. For example, a RAN node can be a server loaded with the corresponding software modules. The embodiments of this application do not limit the specific technology or device form used in the RAN nodes. For ease of description, a base station is used as an example of a RAN node in the following description.

[0073] A terminal is a device with wireless transceiver capabilities, capable of sending signals to or receiving signals from a base station. Terminals are also known as terminal equipment, user equipment (UE), mobile stations, mobile terminals, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. The terminal can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, wearable device, vehicle, aircraft, ship, robot, robotic arm, smart home device, satellite terminal, virtual reality (VR) device, augmented reality (AR) device, smart point of sale (POS) machine, customer-premises equipment (CPE), light user equipment (light UE), reduced capability user equipment (REDCAP UE), vehicle device (e.g., vehicle assembly, vehicle module, vehicle chip, on-board unit (OBU), or telematics box (T-BOX)), etc. The embodiments of this application do not limit the specific technology or device form used in the terminal.

[0074] Base stations and terminals can be fixed or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can be deployed on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the base stations and terminals.

[0075] The roles of base stations and terminals can be relative. For example, the helicopter or drone 120i in Figure 1 can be configured as a mobile base station. For terminals 120j that access the wireless access network 100 through 120i, terminal 120i is a base station; however, for base station 110a, 120i is a terminal, meaning that 110a and 120i communicate via a wireless air interface protocol. Of course, 110a and 120i can also communicate via a base station-to-base station interface protocol. In this case, relative to 110a, 120i is also a base station. Therefore, both base stations and terminals can be collectively referred to as communication devices. 110a and 110b in Figure 1 can be called communication devices with base station functions, and 120a-120j in Figure 1 can be called communication devices with terminal functions.

[0076] Communication between base stations and terminals, between base stations, and between terminals can be conducted using licensed spectrum, unlicensed spectrum, or both simultaneously. Communication can be conducted using spectrum below 6 GHz, spectrum above 6 GHz, or both simultaneously. The embodiments of this application do not limit the spectrum resources used for wireless communication.

[0077] In the embodiments of this application, the functions of the base station can be executed by modules (such as chips) within the base station, or by a control subsystem that includes base station functions. This control subsystem, including base station functions, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities. Similarly, the functions of the terminal can be executed by modules (such as chips or modems) within the terminal, or by a device that includes terminal functions.

[0078] Figure 2 shows a flowchart of a communication system provided in an embodiment of this application. The signal generated by the source is transmitted after source coding, channel coding, and modulation. The receiver demodulates, decodes, and recovers the source signal from the received signal.

[0079] Channel coding is one of the core technologies in wireless communication. The channel coding process includes adding cyclic redundancy check (CRC) codes, code block segmentation, error correction coding, rate adaptation, code block concatenation, data interleaving, and data scrambling. Error correction coding (also known as signal coding) is the key component. The purpose of error correction coding is to ensure that the receiver can automatically correct errors that occur during data transmission with minimal redundancy overhead. At the same bit error rate, the lower the overhead required, the higher the coding efficiency. Traditional channel coding and decoding generally include linear block codes (such as Hamming codes, Gray codes, error correction codes (Bose–Chaudhuri–Hocquenghem code, BCH code, Reed-Solomon code, RS code), convolutional codes, and concatenated codes. These codes have their own characteristics and performance, and are suitable for different scenarios.

[0080] In the third generation (3 rd generation (3G) and fourth generation (4G) th In 4G mobile communication systems, Turbo codes, as a coding and decoding technology defined by the 3GPP standard, belong to convolutional codes and have excellent performance, approaching the limits of Shannon's theory very closely. In the 5G mobile communication system era, data transmission rates are orders of magnitude higher than in 4G. For Turbo codes, their serial-processing-based decoders struggle to effectively support such high-speed data transmission. Simultaneously, the 5G era has brought about richer service application scenarios and new requirements for channel coding. For example, massive machine-type communication (mMTC) scenarios require smaller file packets, while ultra-reliable low-latency communications (URLLC) scenarios have high requirements for encoding and decoding latency and low bit error rate. Therefore, based on the key channel coding requirements of the three major 5G application scenarios, the 5G standard ultimately adopted low-density parity-check (LDPC) codes and polar codes. Compared to traditional linear block codes and convolutional codes, these two types of codes have superior performance and can approach or reach the limits of Shannon's theory. However, they also have their own characteristics in terms of applicable scenarios and the complexity of the codec.

[0081] LDPC codes are a class of linear block codes with sparse parity-check matrices, characterized by flexible structure and low decoding complexity. Due to their partially parallel iterative decoding algorithm, they achieve higher throughput than traditional Turbo codes. LDPC codes can be used as error-correcting codes in communication systems, thereby improving the reliability and power utilization of channel transmission. LDPC codes also have wide applications in space communication, fiber optic communication, personal communication systems, asymmetric digital subscriber lines (ADSL), and magnetic recording equipment.

[0082] In practical applications, LDPC matrices with special structured characteristics can be used. This LDPC matrix H, with its special structured characteristics, can be obtained by extending a quasi-cyclic (QC) LDPC basis matrix, thus avoiding bad structures such as short cycles and improving code distance. QC-LDPC is suitable for hardware with high parallelism, providing higher throughput. LDPC matrices can be designed to be applied to channel coding.

[0083] LDPC codes are typically represented by a parity check matrix H. In one implementation, the parity check matrix of an LDPC code can be simplified using a base graph (BG), where each element represents a Zc×Zc extension matrix. Zc is a positive integer and is also called the lifting factor, sometimes referred to as the lifting value, extension coefficient, lifting size, or lifting factor. The BG can also be written in matrix form as H. BG Based on the basis matrix H BG And Zc, which can transform the basis matrix H BG The parity check matrix (BG) is expanded to a complete parity check matrix for encoding or decoding. Specifically, the positions of zero and non-zero elements can be indicated using a base map. Non-zero elements in the base map correspond to offset values. The parity check matrix H of the LDPC code can be obtained from the base map and the shift values. The base map typically includes m*n matrix elements, represented as an m x n matrix. The values ​​of the matrix elements are either 0 or 1, where elements with a value of 0 are sometimes called zero elements, and elements with a value of 1 are sometimes called non-zero elements. The parity check matrix is ​​obtained by replacing the 0s in the base map with a 0 matrix and the 1s with a cyclic shift matrix. This cyclic shift matrix is ​​a rightward cyclic shift of an identity matrix by P. i,j The matrix, where P i,j SV represents the shifting value (SV) corresponding to the i-th row and j-th column. In other words, each matrix element represents either an all-zero matrix or a cyclic permutation matrix.

[0084] Taking a 4x4 identity matrix as an example, the results of cyclic shifting it 1, 2, 3, and 0 times are shown in Figure 3. The first figure in Figure 3 represents shifting the identity matrix to the right 1 time; the second figure represents shifting it to the right 2 times; the third figure represents shifting it to the right 3 times; and the fourth figure represents shifting it to the right 0 times.

[0085] The LDPC code used in wireless communication systems is the QC-LDPC code, whose parity bit part has a double diagonal structure or a diagonal matrix (raptor-like) structure, which can simplify the coding and support incremental redundancy hybrid retransmission.

[0086] Figure 4 shows a schematic diagram of the base graph of the LDPC code in an embodiment of this application. The base graph of the QC-LDPC code has a matrix size of m rows and n columns, and can include five sub-matrices A, B, C, D, and E. The weights of the matrices are determined by the number of non-zero elements. The row weight (row weight) refers to the number of non-zero elements in a row, and the column weight (column weight) refers to the number of non-zero elements in a column. Wherein:

[0087] Submatrix A is m A line n A A matrix of columns, the size of which can be m A *n A Each column corresponds to a systematic bit in the LDPC code, which is sometimes also called an information bit.

[0088] Submatrix B is m A line m A A square matrix of columns, the size of which can be m A *m A Each column corresponds to a check bit in the LDPC code.

[0089] The matrix generated based on submatrices A and B is usually called the core matrix, which can be used to support high bitrate encoding.

[0090] Submatrix C is a matrix of all zeros and its size is m. A ×m D .

[0091] The size of the submatrix D is m D ×(n A +m A ), which can typically be used to generate low-bitrate check bits.

[0092] Submatrix E is the identity matrix with size m. D ×m D .

[0093] It is understandable that the above description of the base graph / base matrix structure is from a principle perspective. It is also understandable that the division of submatrices A, B, C, D, and E is merely for the purpose of understanding the principle. The division of submatrices A, B, C, D, and E is not limited to the above method. In one implementation, since C is an all-zero matrix and E is the identity matrix with a known structure, the LDPC matrix can be simplified without using the complete A, B, C, D, and E. For example, the LDPC matrix can be simplified using submatrices A, B, and D, or using submatrices A, B, C, and D, or using submatrices A, B, D, and E. In another implementation, since submatrice B includes one or more single-column-repeated columns, and the structure of these columns is relatively fixed, they do not need to be used to represent the LDPC matrix. For example, when representing an LDPC matrix, one can use submatrix A, some columns from submatrix B, and corresponding columns from submatrix D.

[0094] Figure 5 shows a schematic diagram of different code rate truncation matrix regions in an embodiment of this application. When different code rates need to be supported, the upper left part of the matrix is ​​used (dashed lines represent different code rate truncation matrix regions). The AB region constitutes the highest code rate matrix. In the peak throughput scenario of 5G (long code length, different number of information in different scenarios, such as 1k~2k, or greater than 8k), it is completely implemented by BG1. The A part of BG1 has 22 columns, the B part has 4 columns, and the punched column has 2 columns. The supported code rate is 22 / (22+4-2)=11 / 12≈0.917, or a code rate slightly higher than this can be supported by additional punched parity bits.

[0095] Currently, the main decoding algorithms for LDPC codes are min-sum (MS) and belief propagation (BP) decoding algorithms. In terms of decoding performance, BP decoding is better, but it requires more information storage, m c→v The computational complexity makes it difficult to implement in hardware. Therefore, offset MS and normalized MS decoding algorithms are currently used in practical communication systems.

[0096] The possible values ​​of the LDPC lift value Zc are shown in Table 1:

[0097] Table 1

[0098] The shift values ​​corresponding one-to-one with the rows in the lift value list are shown in Table 2:

[0099] Table 2

[0100] The j-th row of the boost value list Where a j ∈{2,3,5,7,9,11,13,15}, max(k j )∈{7,7,6,5,5,5,4,4}. The promotion value of the first row (index 0) in Table 1 can be represented as: {2×2 0 ,2×2 1 ,2×2 2 ,2×2 3 ,2×2 4 ,2×2 5 ,2×2 6 ,2×2 7}, where a j =2; The promotion value of row 2 (index 1) in Table 1 can be expressed as: {3×2 0 3×2 1 3×2 2 3×2 3 3×2 4 3×2 5 3×2 6 3×2 7}, where a j =3; The promotion value of row 3 (index 2) in Table 1 can be expressed as: {5×2 0 5×2 1 5×2 2 5×2 3 5×2 4 5×2 5 5×2 6 5×2 7}, where a j =5; the promotion value of row 4 (index 3) in Table 1 can be expressed as: {7×2 0 7×2 1 7×2 2 7×2 3 7×2 4 7×2 5}, where a j =7; The promotion value of row 5 (index 4) in Table 1 can be expressed as: {9×2 0 9×2 1 9×2 2 9×2 3 9×2 4 9×2 5}, where a j=9; The promotion value of row 6 (index 5) in Table 1 can be expressed as: {11×2 0 11×2 1 11×2 2 11×2 3 11×2 4 11×2 5}, where a j =11; The promotion value of row 7 (index 6) in Table 1 can be expressed as: {13×2 0 13×2 1 13×2 2 13×2 3 13×2 4 13×2 5}, where a j=13 The promotion value of row 8 (index 7) in Table 1 can be expressed as: {15×2 0 15×2 1 15×2 2 15×2 3 15×2 4 15×2 5}, where a j =15.

[0101] The index used to indicate the lifting value group corresponds one-to-one with the list of shift values. That is, the lifting size in each row of the lifting value list corresponds to a set of shift values. During the code construction process, the lifting value is determined first, and then the corresponding shift value is selected to construct the parity check matrix.

[0102] The process of LDPC code rate matching in 5G mobile communication systems is as follows: First, the number of information columns kb in the base map is determined based on the payload information bit length K. Then, the boost value Zc is determined based on the number of information columns and the number of information bits. The extra kb×Zc-K information bits are shortened, resulting in the code actually used not being the parent code.

[0103] As code length changes, the current boost values ​​and the number of shortened bits resulting from rate matching are unstable, leading to impaired degree distribution and disruption of the base graph's integrity, thus degrading performance. In future scenarios, code lengths may be even longer, further increasing the number of shortened bits and making performance even more unstable.

[0104] Higher-order modulation refers to mapping multiple bits to the same channel symbol, thereby further improving spectral efficiency. Common higher-order modulation schemes include quadrature amplitude modulation (QAM), with modulation methods such as 16QAM, 64QAM, and 256QAM.

[0105] Probabilistic shaping is a common "shaping" technique that maps ("shaping") information bits to a sequence that follows a specific distribution by cascading a precoder (also known as a distribution matcher (DM) or some kind of transformation) before the encoder. Then, during the encoding process, systematic coding is used so that the sequence that meets the specific distribution ultimately appears directly in the encoded sequence, thereby shaping the final modulation symbol.

[0106] A standard and user-friendly implementation is to add a column for DM code rate R to the modulation and coding scheme (MCS) table. DM And redesign the column corresponding to the coding code rate. In actual use, DM is performed according to the code rate of the distributed matcher. Let the payload information bit length (number of payload information bits) be K, the payload code rate be R, and the modulation order be Q. m (When only the real part of the transmitted symbol is considered, QAM16 corresponds to Qm=2, QAM64 corresponds to Qm=3, and QAM 256 corresponds to Qm=4; or, when both the real and imaginary parts of the transmitted symbol are considered, QAM16 corresponds to Qm=4, QAM64 corresponds to Qm=6, and QAM 256 corresponds to Qm=8), then the transmitted bit length is N=K / R (rounded up or down, or adjusted to an integer multiple of the modulation order), and the transmitted symbol length is S=N / Q m Let the length K of the bit sequence to be encoded output by the DM module (or precoding module) be... FEC Then we have K FEC =K+(1-R) DM The actual channel coding rate is R × S. FEC =K FEC / N.

[0107] Since different symbols in higher-order modulation may have different energies, average energy can be saved by transmitting more low-energy symbols and fewer high-energy symbols. Theoretical analysis shows that for a Gaussian white noise channel, the greatest energy saving occurs when the transmitted symbol distribution follows a Gaussian distribution. Compared to a uniform distribution, up to 1.53 dB of transmission power can be saved.

[0108] When the channel coding scheme is LDPC code, when R FEC When the bit rate is higher than the core array bit rate of 22 / 24 with punched holes, additional punched holes are used for parity bits.

[0109] And different K FECDifferent numbers of shortened bits will result in the actual number of information columns used being less than the number of complete information columns. This will lead to more puncturing, poor decoding threshold, and slow convergence speed, resulting in significant performance loss in high-throughput scenarios.

[0110] Therefore, the DM code rate needs to be adjusted according to the information bit length.

[0111] To address this, this application provides a communication scheme in which a first communication device acquires a first DM code rate and a first set of boost values ​​for the coding matrix; determines a second set of boost values ​​for the coding matrix based on the first DM code rate and the first set of boost values; determines a second boost value and a second DM code rate based on the second set of boost values ​​and the first DM code rate, wherein the second boost value belongs to the second set of boost values; performs precoding based on the second DM code rate; and performs encoding based on the second set of boost values ​​and the result of precoding. A second communication device performs decoding based on the second boost value and performs deprecoding based on the decoding result based on the second DM code rate. By jointly optimizing the boost values ​​of the coding matrix and the DM code rate, more mother code lengths can be supported, resulting in a more uniform distribution of the shortened bit count and stable fine-grained performance. This provides a more stable channel coding and decoding scheme in scenarios combining channel coding and shaping. Here, the mother code length refers to the code length with a small or zero shortened bit count.

[0112] The technical solutions provided in this application can be applied to channel coding / decoding between communication devices. Channel coding / decoding between communication devices can include: channel coding / decoding between network devices and terminal devices, channel coding / decoding between network devices, and channel coding / decoding between terminal devices. In this application, the term "channel coding / decoding" can also be simply referred to as "coding," and the term "coding" can also be described as "channel encoding / decoding," "network coding," "external code," or "source-channel joint encoding / decoding." The term "coding structure" can also be simply referred to as "coding," "code type," or "code design," and the term "coding structure" can also be described as "concatenated code," "layered code," "coupled code," "external code," "sliding window code," "product code," or "ladder code."

[0113] Based on the above communication system, the communication method provided by the embodiments of this application will be described below:

[0114] Figure 6 shows a flowchart of a communication method provided in an embodiment of this application. Exemplarily, the method may include the following steps:

[0115] S601a and S601b. The first communication device and the second communication device respectively acquire the first DM code rate and the first boost value set of the encoding matrix.

[0116] This method can be applied to a first communication device and a second communication device. The first communication device / second communication device can be a terminal device or a communication module in a terminal device, or a circuit or chip applied to a terminal device (such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core); the first communication device / second communication device can be a network device or a communication module in a network device, or a circuit or chip applied to a network device (such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core).

[0117] In one communication scenario, the first communication device can be a network device, and the second communication device can be a terminal device; in another communication scenario, the first communication device can be a terminal device, and the second communication device can be a network device; in yet another communication scenario, both the first and second communication devices can be terminal devices.

[0118] In one possible implementation, the acquisition of the first DM code rate by the first communication device and the second communication device may include: obtaining the first DM code rate R by reading the MCS table. DM1 Additionally, the MCS table is also used to indicate modulation order, payload code rate R, etc.; in one possible implementation, obtaining the first DM code rate may include: using the payload code rate R and / or the actual channel coding code rate R. FEC To obtain the first DM bit rate. For example, the transmitted bit length N satisfies: N = K / R, and the length K of the bit sequence to be encoded output by the DM module (or precoding module) is... FEC Compared with the actual channel coding rate R FEC N-related (K) FEC =R FEC ×N), the first DM bit rate and K FEC K, with a transmitted symbol length of S associated Where S = N / Q m This application does not impose any limitations on this. The first DM bitrate is used to filter the second DM bitrate R. DM2 .

[0119] The first communication device and the second communication device further acquire a first set of boost values ​​for the encoding matrix. For example, the encoding matrix can be any of the following matrices: a parity check matrix, a generator matrix, or an LDPC matrix.

[0120] The determination of the first set of promotion values ​​can include the following two implementations:

[0121] In one implementation, the first set of promotion values ​​is a promotion value of type Table 1. The specific numerical aspects of the a*(power of 2) form can be consistent with Table 1; or it can be a form where the maximum value of Table 1 is doubled, for example, adding the value 512 to the first row of Table 1, the value 768 to the second row, the value 640 to the third row, the value 448 to the fourth row, the value 576 to the fifth row, the value 704 to the sixth row, the value 416 to the seventh row, and the value 480 to the eighth row.

[0122] In another implementation, the first set of boost values ​​can also be an integer multiple of a predetermined prime number, such as 11*k, 13*k, 17*k…, where k can be a consecutive integer.

[0123] S602a and S602b. The first communication device and the second communication device determine the second boost value set of the coding matrix based on the first DM code rate and the first boost value set, respectively.

[0124] After the first communication device and the second communication device obtain the first DM code rate and the first boost value set, they can determine the second boost value set of the coding matrix based on the first DM code rate and the first boost value set.

[0125] The first communication device and the second communication device determine the second boosting value set of the encoding matrix based on the first DM code rate and the first boosting value set, which can be implemented in the following two ways:

[0126] One implementation involves the first communication device and the second communication device determining a first boost value Z based on a first DM code rate and a first boost value set. C1 Among them, the first boost value Z C1 It belongs to the aforementioned first boost value set. Then, the first communication device and the second communication device are based on the first DM code rate and the first boost value Z. C1 Determine the second set of boost values.

[0127] For example, the first boost value Z C1 To satisfy kb×Z C1 ≥K FEC1 The minimum of at least one lift value, where kb is the number of columns in the base graph of the encoding matrix, K FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 Associated with the first DM bit rate, exemplarily, K FEC1 =K+(1-R) DM1 )×S, where K is the length of the payload information in bits, R DM1Let S be the first DM code rate and S be the transmitted symbol length. S can be pre-configured by higher-layer signaling, MAC layer, or downlink physical layer signals, or it can be directly obtained and calculated by the transceiver. More specifically, S can be determined by the frame structure, number of layers, and modulation scheme of the encoded and transmitted information bits. kb corresponds to a base map, with each base map corresponding to at least one kb. For example, kb = 22 in 5G BG1, and kb = 6, 8, 9, 10 in 5G BG2. The determination method can be based on the code length or the information length.

[0128] The first communication device and the second communication device are based on the first DM code rate and the first boost value Z. C1 Determine the second set of boost values, including: a first communication device, a second communication device based on a first range and Z. C1 A second set of lift values ​​is determined, the first range being associated with at least two of the first set of lift values, the payload information bit length K, and the first lift value.

[0129] Among them, for the first boost value Z C1 There exists a unique W0 such that Then the first range mentioned above is W0 is an integer greater than or equal to 1, Z max It is the maximum value in the first set of boost values ​​mentioned above.

[0130] Zmax can be expressed as Z max =a0*2 kmax The first range is then expressed as Let the greatest common divisor of all lift values ​​in the first lift value set that fall within the first range be 2. k0 Then the two endpoints of the first range are: The boost value in the first range is: kmax is the base-2 logarithm of the largest lift value in the lift set with a0 as the base, divided by a0, where a1 is the base value other than a0, and k... a1 For the boost value set based on a1, less than or equal to The maximum lift is the base-2 logarithm of the result of dividing by a1, where a2 is a base other than a0 and a1, and k a2 For the boost value set based on a2, less than or equal to The logarithm to base 2 of the maximum lift value divided by a2, where a3 is the base of the lift value group other than a0, a1, a2, and k a3 For the boost value set based on a3, less than or equal to The maximum lift value divided by a3 and then the logarithm to base 2. For the set of boost values ​​less than The maximum boost value, For the set of boost values ​​greater than The minimum lift value.

[0131] Z C1 or Specific range within the first range It can be denoted as [A1, A2], where,

[0132] Let W0 = 1, then Z C1 Meet the conditions Z max =a0*2 kmax ,but Let Z be the group (each row in Table 1 above is a group). max / 2~Z max The greatest common divisor of all lift values ​​within the range is 2. k0 Then the first range (Z) max / 2~Z max All promotion values ​​in ) can be written as: a0 is the basis of the first lifted subset (i.e., the first group), a1 is the basis of the second lifted subset (i.e., the second group, which is not the group containing a0), a2 is the basis of the third lifted subset (i.e., the third group, which is not the group containing a0), and k a1 k is the maximum power of the second boosted subset. a2 k is the maximum power of the third boosted subset. max For Z max The power of, k0 is the power of each group Z max / 2~Z max The power of the greatest common divisor of all lift values ​​within the range.

[0133] Furthermore, let's assume Located in Z max / 2~Z max The specific scope is Then all lift values ​​Zc2 in the second lift value set fall within this range, i.e.

[0134] More specifically, the second set of boost values ​​can be designed as follows:

[0135] The above segments Let it be [A1, A2]. (First, select A3 = (A1 + A2) / 2, and then determine...) If the segment is located within segment [A1, A3] or segment [A3, A2], then if it is located within segment [A1, A3], then select A4 = (A1 + A3) / 2; if it is located within segment [A3, A2], then select A4 = (A2 + A3) / 2. This operation continues until the distance between the endpoints of the remaining segments is less than or equal to a second threshold, which is used to determine whether the remaining segments should continue to be segmented. The second lift value set is contained in the union of the endpoints of at least one segment, or the second lift value set is equal to the union of the endpoints of at least one segment.

[0136] In one possible implementation, the second lift value set is chosen as (yA1+(2 t -y)A2) / 2 t One or more items, where y = 1, ..., 2 t -1, t≥1, y and t are integers. Note that as t increases, the range of this set will become larger and larger (the range of the second lift value set will become larger and larger for different values ​​of t, and the second lift value set corresponding to different t is strictly true containment). In one possible implementation, t≤3, that is, the second lift value set has one or more of the following: (A1+A2) / 2, (3A1+A2) / 4, (A1+3A2) / 4, (A1+7A2) / 8, (3A1+5A2) / 8, (5A1+3A2) / 8, (7A1+A2) / 8, ... (related to the second threshold corresponding to the remaining segment). More specifically, the second lift value set contains one element, which is (A1+A2) / 2.

[0137] The aforementioned first range includes a first sub-range and a second sub-range, corresponding to multiple lift values ​​in the first lift value set sorted from smallest to largest. The difference between the coefficients of two adjacent lift values ​​in the first sub-range corresponds to the first common difference, and the difference between the coefficients of two adjacent lift values ​​in the second sub-range corresponds to the second common difference. A i A i+1 The second threshold corresponding to the segment and K FEC1 / kb is associated with either the first or second subrange. Here, adjacent lift values ​​refer to the smallest lift value greater than this lift value within the first subrange, or the largest lift value that is either greater than or less than this lift value within the first subrange. Where A... i <K FEC1 / kb≤A i+1 A i It is a value in the second set of lift values ​​that is greater than or equal to K. FEC1 The minimum value of / kb, A i+1 It is less than K in the second set of lift values. FEC1 Maximum value per kb.

[0138] For example, suppose the first range is Z max / 2~Z max One possible implementation: Z max / 2~Z max All boost values ​​divided by 2 k0 The coefficients after this form a piecewise arithmetic sequence. More specifically, the common differences between the two arithmetic sequences are x and 2x. For example, the first sub-sequence is... (For example, in the examples 12*2^4, 13*2^4, 14*2^4, 15*2^4, 16*2^4, 18*2^4, 20*2^4, 22*2^4, 24*2^4, dividing by 2^4 yields: 12, 13, 14, 15, 16, whose common difference is 1); the second subrange is... (For example, in the examples 12*2^4, 13*2^4, 14*2^4, 15*2^4, 16*2^4, 18*2^4, 20*2^4, 22*2^4, 24*2^4, dividing by 2^4 yields: 18, 20, 22, 24, with a common difference of 2). The smaller the common difference, the smaller the second threshold corresponding to the above segment. By accurately determining the second threshold corresponding to the segment based on the segment where the first boost value is located, the segmentation can be accurately determined.

[0139] For example, suppose Z C1 =12.5*2^4=200, so the first range is 192~384. The promotion values ​​within the first range can be written as 12*2^4(192), 13*2^4(208), 14*2^4(224), 15*2^4(240), 16*2^4(256), 18*2^4(288), 20*2^4(320), 22*2^4(352), 24*2^4(384). Among these, 2 k0 = 2^4. All the lift values ​​Zc2 in the corresponding second lift value set are between 192 and 208, denoted as [192, 208]. Selecting (192 + 208) / 2 = 200, we get the segments [192, 200] and [200, 208].

[0140] Wherein, the second threshold corresponding to the aforementioned endpoint is determined by K FEC1 The number of segments in the above segments determines the value of / kb.

[0141] More specifically, the second threshold corresponding to the first sub-range and the second threshold corresponding to the second sub-range are proportional; the second threshold corresponding to the first sub-range is less than the second threshold corresponding to the second sub-range. The possible ratios are 2, 3 / 2, 3 / 4, which can ensure that the shortening ratio of information bits is balanced and the performance of each code length is stable.

[0142] Based on the above possible implementations, the second boost value set is selected as (yA1+(2t -y)A2) / 2 t One or more of the values. In one possible implementation, the selection of the second lift value set can be based on K. FEC1 Further confirmation (based on K) FEC1 Further filtering within the second set of boosted values ​​reveals two possibilities:

[0143] 1. Select In the case of K being greater than or equal to K FEC1 set This serves as the second set of boost values. The advantage of this implementation is that the selection of the second set of boost values ​​ensures that the DM bit rate is increased first, resulting in better shaping and performance gains.

[0144] 2. Select less than or equal to K FEC1 set This serves as the second set of boost values. The advantage of this implementation is that it prevents the adjusted coding rate from becoming too high, ensuring stable decoding performance. Simultaneously, it allows for optimization based on the modulation order, maintaining optimal adjustment rules for the DM code rate for each modulation order, resulting in stable performance. Higher code rates lead to poorer resistance to interference and fading; therefore, prioritizing preventing further increases in the channel coding code rate provides a more stable channel coding scheme and faster convergence speed.

[0145] Another implementation is that the first communication device and the second communication device are based on The first range determines the second set of boost values, where kb is the number of columns in the base graph of the encoding matrix, and K... FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 The meaning can be found in the description above. The first range is related to the first lift value set and the payload information bit length K. The first range is based on the first lift value Z. C1 It is certain, and the first boost value Z C1 To satisfy kb×Z C1 ≥K FeC1 The minimum of at least one of the lifting values, and K FEC1 Associated with the first DM bit rate (K) FEC1 =K+(1-R) DM1 If )×S), then it can also be based on The first range determines the second set of boost values. For details on how to determine this set, please refer to the description in the first implementation.

[0146] S603a and S603b. The first communication device and the second communication device determine the second boost value and the second DM code rate based on the second boost value set and the first DM code rate, respectively.

[0147] After the first communication device and the second communication device determine the second set of boosting values, they further jointly determine the second boosting value and the second DM code rate based on the second set of boosting values and the first DM code rate.

[0148] Exemplarily, determine the segmentation: A i ≤K FEC1 / kb ≤ A i+1 , then adjust the second DM code rate such that Or A i+1 , and the second boosting value is correspondingly equal to A i Or A i+1 . Among them, the second boosting value belongs to the second set of boosting values. This second boosting value is the boosting value used for encoding. Among them, K FEC2 is the length of the second bit sequence to be encoded output by the precoding module, K FEC2 is associated with the second DM code rate. Exemplarily, K FEC2 = K + (1 - R DM2 ) × S, K is the length of the payload information bits, R DM2 is the second DM code rate, S is the length of the transmitted symbols, and the second boosting value is equal to A i Or A i+1 . Among them, A <able align="left"> i <K FEC1 / kb ≤ A i+1 , A i is the minimum value in the second set of boosting values that is greater than or equal to K FEC1 / kb, and A i+1 is the maximum value in the second set of boosting values that is less than K FEC1 / kb.

[0149] Among them, when A i > K / kb, or the second DM code rate is less than or equal to the first threshold, then Among them, the first threshold is associated with the modulation order Q m or the coding rate. Exemplarily, the setting of the first threshold can be predetermined according to the modulation order. For example, when Q m = 2, the first threshold is 0.6; when Q m > 2, the first threshold is 0.7 or 0.75, that is, for the same modulation order, the first threshold is the same; it can also be determined according to the coding rate of the channel coding. In the case of the same coding rate, the first threshold is the same. When the coding rate is higher than a certain threshold (for example, the first coding rate threshold), the first threshold is 0.95.

[0150] Among them, when K FEC2 <N, then Among them, N is the length of the transmitted bits. Further, KFEC2 / N is less than or equal to the first bitrate threshold (this first bitrate threshold can be selected as 11 / 12, 22 / 23, 44 / 47, or 948 / 1024).

[0151] In selection greater than or equal to K FEC1 When the set of values ​​is used as the second lift value set, the lift value that is closest to the first lift value is selected from the second lift value set as the second lift value. This method ensures that the DM bitrate is increased first, resulting in better shaping and performance gains. When selecting... less than or equal to K FEC1 When the set of values ​​is used as the second lift value set, the lift value that is closest to the first lift value is selected from the second lift value set as the second lift value. This ensures that the adjusted coding rate is not too high, guaranteeing stable decoding performance; at the same time, it can optimize for the modulation order, and the adjustment rules for the DM code rate corresponding to each modulation order remain optimal, resulting in stable performance.

[0152] Filtering based on the above conditions or This eliminates the need for shortened rate matching in LDPC codes, avoiding memory stuffing operations in the decoder; at the same time, not shortening ensures the integrity of the LDPC basemap in actual use, achieving optimal basemap performance.

[0153] S604. The first communication device pre-encodes the bits to be transmitted based on the second DM code rate, and encodes them based on the second boost value and the result of the pre-encoding, to obtain the encoded bits.

[0154] After determining the second DM code rate, the first communication device pre-encodes the bits to be transmitted based on the second DM code rate. After determining the second boost value, the first communication device encodes the pre-encoding result based on the second boost value to obtain the encoded bits.

[0155] S605. The first communication device sends the encoded bits to the second communication device.

[0156] Correspondingly, the second communication device receives the encoded bits.

[0157] For example, after the first communication device obtains the encoded bits, it can also modulate the encoded bits, and then send the modulated signal to the second communication device.

[0158] S606. The second communication device performs decoding based on the second boost value, and performs de-precoding on the decoding result based on the second DM code rate.

[0159] The receiving process is the reverse of the sending process described above. After receiving the encoded bits, the second communication device decodes them based on the second boost value and pre-encodes the decoded result based on the second DM code rate.

[0160] For example, the second communication device may also demodulate the received modulated signal before receiving the encoded bits.

[0161] It is understood that the execution order of the above steps S601a~S603a, S604 and S601b~S603b is not restricted. The first communication device and the second communication device can execute the above steps simultaneously, or the second communication device can execute the above steps S601b~S603b after receiving the encoded bits.

[0162] According to an embodiment of this application, a communication method can support more mother code lengths by jointly optimizing the boost value of the coding matrix and the DM code rate. This results in a uniform distribution of the shortened bit count and stable fine-grained performance, providing a more stable channel coding and decoding scheme in scenarios combining channel coding and shaping.

[0163] In this application, the phrase "sending information to... (e.g., a second communication device)" or the related illustrations in the accompanying drawings can be understood as the destination of the information being the second communication device. This can include sending information directly or indirectly to the second communication device. Similarly, the phrase "receiving information from... (e.g., a second communication device)" or "receiving information from... (e.g., a second communication device)" or the related illustrations in the accompanying drawings can be understood as the source of the information being the second communication device. This can include receiving information directly or indirectly from the second communication device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be interpreted similarly, and will not be elaborated further here.

[0164] It is understood that this application uses the first and second communication devices as examples to illustrate the execution of the interaction, but this application does not limit the execution of the interaction. For example, the first communication device in the method provided by this application can also be a chip, chip system, or processor applied to the first communication device, or it can be a logic node, logic module, or software that can implement all or part of the functions of the first communication device; similarly, the second communication device in the method provided by this application can also be a chip, chip system, or processor applied to the second communication device, or it can be a logic node, logic module, or software that can implement all or part of the functions of the second communication device.

[0165] It is understood that, in order to achieve the functions in the above embodiments, the first communication device and the second communication device include hardware structures and / or software modules corresponding to each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0166] Figures 7 and 8 are schematic diagrams of possible communication devices provided in embodiments of this application. These communication devices can be used to implement the functions of the first or second communication device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In the embodiments of this application, the communication device can be one of the terminal devices 120a-120j shown in Figure 1, or it can be a network device 110a or 110b shown in Figure 1, or it can be a module (such as a chip) applied to a terminal device or a network device.

[0167] As shown in Figure 7, the communication device 700 includes a processing unit 710 and a transceiver unit 720. The communication device 700 is used to implement the functions of the second communication device or the first communication device in the method embodiment shown in Figure 6 above.

[0168] When the communication device 700 is used to implement the function of the first communication device: the processing unit 710 is used to implement at least one of steps S601a, S602a, S603a, and S604 in the embodiment shown in FIG6, and the transceiver unit 720 is used to implement the operation implemented by the first communication device in step S605 in the embodiment shown in FIG6.

[0169] When the communication device 700 is used to implement the function of the second communication device: the processing unit 710 is used to implement at least one of steps S601b, S602b, S603b, and S606 in the embodiment shown in FIG6, and the transceiver unit 720 is used to implement the operation implemented by the second communication device in step S605 in the embodiment shown in FIG6.

[0170] A more detailed description of the processing unit 710 and the transceiver unit 720 can be obtained directly from the relevant description in the method embodiment shown in Figure 6, and will not be repeated here.

[0171] When the aforementioned communication device is a chip applied to a second communication device, the second communication device chip implements the functions of the second communication device in the above method embodiments. The second communication device chip receives information from other modules (such as radio frequency modules or antennas) in the second communication device, the information being sent from the first communication device to the second communication device; or, the second communication device chip sends information to other modules (such as radio frequency modules or antennas) in the second communication device, the information being sent from the second communication device to the first communication device.

[0172] When the aforementioned communication device is a chip applied to the first communication device, the first communication device chip implements the functions of the first communication device in the above method embodiments. The first communication device chip receives information from other modules (such as radio frequency modules or antennas) in the first communication device, which is sent to the first communication device by the second communication device; or, the first communication device chip sends information to other modules (such as radio frequency modules or antennas) in the first communication device, which is sent to the second communication device by the first communication device.

[0173] Furthermore, it should be noted that the aforementioned transceiver unit and / or processing unit can be implemented through virtual modules. For example, the processing unit can be implemented through software functional units or virtual devices, and the transceiver unit can be implemented through software functions or virtual devices. Alternatively, the processing unit or transceiver unit can also be implemented through physical devices. For example, if the device is implemented using a chip / chip circuit, the transceiver unit can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing unit is an integrated processor, microprocessor, or integrated circuit.

[0174] As shown in Figure 8, the communication device 800 includes a processor 810 and may also include an interface circuit 820. The processor 810 and the interface circuit 820 are coupled to each other. It is understood that the interface circuit 820 can be a transceiver or an input / output interface. Optionally, the communication device 800 may also include a memory 830 (shown as a dashed line in Figure 8) for storing instructions executed by the processor 810, or storing input data required by the processor 810 to execute instructions, or storing data generated after the processor 810 executes instructions.

[0175] When the communication device 700 is used to implement the function of the first communication device: the processor 810 is used to implement at least one of steps S601a, S602a, S603a, and S604 in the embodiment shown in FIG6, and the interface circuit 820 is used to implement the operation implemented by the first communication device in step S605 in the embodiment shown in FIG6.

[0176] When the communication device 700 is used to implement the function of the second communication device: the processor 810 is used to implement at least one of steps S601b, S602b, S603b, and S606 in the embodiment shown in FIG6, and the interface circuit 820 is used to implement the operation implemented by the second communication device in step S605 in the embodiment shown in FIG6.

[0177] A more detailed description of the processor 810 and interface circuit 820 can be obtained directly from the relevant description in the method embodiment shown in Figure 6, and will not be repeated here.

[0178] When the aforementioned communication device is a chip applied to a second communication device, the chip of the second communication device implements the functions of the second communication device in the above method embodiments. The chip of the second communication device receives information from the first communication device, which can be understood as the information being first received by other modules (such as an RF module or antenna) in the second communication device, and then sent to the chip of the second communication device by these modules. The chip of the second communication device sends information to the first communication device, which can be understood as the information being first sent to other modules (such as an RF module or antenna) in the second communication device, and then sent to the first communication device by these modules.

[0179] When the aforementioned communication device is a chip applied to the first communication device, the chip of the first communication device implements the functions of the first communication device in the above method embodiments. The chip of the first communication device receiving information from the second communication device can be understood as the information being first received by other modules (such as an RF module or antenna) in the first communication device, and then sent to the chip of the first communication device by these modules. The chip of the first communication device sending information to the second communication device can be understood as the information being sent down to other modules (such as an RF module or antenna) in the first communication device, and then sent to the second communication device by these modules.

[0180] In this application, entity A sends information to entity B, either directly or indirectly through other entities. Similarly, entity B receives information from entity A, either directly or indirectly through other entities. Entities A and B can be RAN nodes or terminal devices, or modules within RAN nodes or terminal devices. Information transmission and reception can be between RAN nodes and terminal devices, such as between a base station and a terminal device; between two RAN nodes, such as between a CU and a DU; or between different modules within a single device, such as between a terminal device chip and other modules of the terminal device, or between a base station chip and other modules of the base station.

[0181] It is understood that in this application, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information to indicate A, it can be understood that the instruction information carries A, directly indicates A, or indirectly indicates A. In this application, the information indicated by the instruction information is called the information to be instructed. In specific implementation, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index, or indirectly indicating the information to be instructed by indicating other information, wherein there is an association between the other information and the information to be instructed. It is also possible to indicate only a part of the information to be instructed, while the other parts of the information to be instructed are known or agreed upon in advance. For example, the instruction of specific information can also be achieved by using the arrangement order of various information in advance (e.g., as specified by a protocol), thereby reducing the instruction overhead to a certain extent. The information to be instructed can be sent as a whole or divided into multiple sub-information to be sent separately, and the sending period and / or sending time of these sub-information can be the same or different. This application does not limit the specific sending method. The sending period and / or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the transmitting device by sending configuration information to the receiving device.

[0182] It is understood that the processor in the embodiments of this application can be a central processing unit, or other general-purpose processors, digital signal processors, application-specific integrated circuits, field-programmable gate arrays, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.

[0183] The method steps in the embodiments of this application can be implemented in hardware or in software instructions executable by a processor. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, read-only optical discs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. The storage medium can also be a component of the processor. The processor and the storage medium can reside in an application-specific integrated circuit (ASIC). Alternatively, the ASIC can reside in a base station or terminal device. The processor and the storage medium can also exist as discrete components in the base station or terminal device.

[0184] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both types of storage media.

[0185] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0186] Depending on whether the specification uses "optional": In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates an "or" relationship between the preceding and following related objects; in the formulas of this application, the character " / " indicates a "division" relationship between the preceding and following related objects. "Including at least one of A, B, and C" can mean: including A; including B; including C; including A and B; including A and C; including B and C; including A, B, and C.

[0187] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.

Claims

A communication method, characterized in that, The method includes: Obtain the first set of boost values ​​for the first distribution matcher DM code rate and the coding matrix; Based on the first DM code rate and the first boost value set, determine the second boost value set of the coding matrix; Based on the second boost value set and the first DM code rate, a second boost value and a second DM code rate are determined, wherein the second boost value belongs to the second boost value set; Precoding is performed based on the second DM bit rate, and encoding is performed based on the second boost value and the result of precoding. A communication method, characterized in that, The method includes: Obtain the first set of boost values ​​for the first distribution matcher DM code rate and the coding matrix; Based on the first DM code rate and the first boost value set, determine the second boost value set of the coding matrix; Based on the second boost value set and the first DM code rate, a second boost value and a second DM code rate are determined, wherein the second boost value belongs to the second boost value set; Decoding is performed based on the second boost value, and the decoding result is pre-coded based on the second DM code rate. The method as described in claim 1 or 2, characterized in that, The step of determining the second boost value set of the coding matrix based on the first DM code rate and the first boost value set includes: Based on the first DM bit rate and the first boost value set, a first boost value is determined, wherein the first boost value belongs to the first boost value set; Based on the first DM bit rate and the first boost value, determine the second boost value set. The method as described in claim 3, characterized in that, The first increase value Z C1 To satisfy kb×Z C1 ≥K FEC1 The minimum of at least one boost value, where kb is the number of columns in the base graph of the encoding matrix, K FEC1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 =K+(1-R) DM1 )×S, K is the net payload information length, R DM1 S is the first DM code rate, and S is the length of the transmitted symbol. The method as described in claim 4, characterized in that, The step of determining the second boost value set of the coding matrix based on the first DM code rate and the first boost value includes: Based on the first range and the Z C1 Determine the second set of lift values, wherein the first range is associated with at least two of the first set of lift values, the net load information length K, and the first lift value. The method as described in claim 1 or 2, characterized in that, The step of determining the second boost value set of the coding matrix based on the first DM code rate and the first boost value set includes: based on The first range determines the second set of boost values, where kb is the number of columns in the base graph of the encoding matrix, and K... FEc1 K is the length of the first bit sequence to be encoded output by the precoding module. FEC1 =K+(1-R) DM1 )×S, K is the net payload information length, R EM1 S is the first DM code rate, S is the transmitted symbol length, and the first range is associated with the first boost value set and the payload information length K. The method as described in claim 5 or 6, characterized in that, The first range is W0 is an integer greater than or equal to 1, Z max It is the maximum value in the first set of boost values. The method as described in claim 7, characterized in that, The boost value in the first range is: The kmax is the base-2 logarithm of the maximum lift value in the lift set with a0 as the base, divided by a0, where a1 is a base other than a0. a1 For the set of boost values ​​based on a1 that are less than or equal to The maximum lift value divided by a1 and then logarithm to base 2, where a2 is a base other than a0 and a1, k a2 For the set of enhancement values ​​based on a2 that are less than or equal to The logarithm to base 2 of the maximum lift value divided by a2, where a3 is the base of the lift value group other than a0, a1, a2, and k a3 For the group of boost values ​​based on a3 that are less than or equal to The maximum increase value divided by a3 and then the logarithm to the base 2, the For the set of boost values ​​less than The maximum increase value, the For the set of boost values ​​greater than The minimum lift value, the 2 k0 For the set of boost values ​​that are in the interval The greatest common divisor of all the lift values ​​within the range, the The The Z C1 or The values ​​in [A1, A2] are, where, The method as described in claim 8, characterized in that, The second set of boost values ​​is (yA1+(2 t -y)A2) / 2 t One or more items, y = 1, ..., 2 t -1, t≥1, y and t are both integers. The method as described in claim 9, characterized in that, The step of determining the second boost value and the second DM code rate based on the second boost value set and the first DM code rate includes: Adjust the second DM bit rate so that or Among them, K FEC2 K is the length of the second bit sequence to be encoded output by the precoding module. FEC2 =K+(1-R) DM2 )×S, K is the net payload information length, R DM2 The second DM code rate is S, the transmitted symbol length is S, and the second boost value is equal to A. i Or A i+1 ; Among them, A i <K FEC1 / kb≤A i+1 A i It is a set of second promotion values ​​that is greater than or equal to K. FEC1 The minimum value of / kb, A i+1 It is less than K in the second set of lift values. FEC1 Maximum value per kb. The method as described in claim 10, characterized in that: In satisfying A i If the value is greater than K / kb, or if the second DM bit rate is less than or equal to the first threshold, then The first threshold and the modulation order Q m Or related to the encoding rate; or, When satisfying K FEC2 <under the condition of N, then Where N is the length of the transmitted bits. The method as described in claim 11, characterized in that, K FEC2 / N is less than or equal to the first bit rate threshold. The method as described in claim 12, characterized in that, The first bit rate threshold is any one of the following: 11 / 12, 22 / 23, 44 / 47, or 948 / 1024. The method as described in any one of claims 11-13, characterized in that, Q m =2, the first threshold is 0.6; or, Q m >2, where the first threshold is 0.7 or 0.

75. The method as described in any one of claims 11-13, characterized in that, The encoding code rate is greater than or equal to the first code rate threshold, and the second DM code rate is 0.

95. The method as described in any one of claims 10-15, characterized in that, The first range includes a first sub-range and a second sub-range. The difference between the coefficients of two adjacent lift values ​​in the first sub-range corresponds to a first tolerance, and the difference between the coefficients of two adjacent lift values ​​in the second sub-range corresponds to a second tolerance. i A i+1 The second threshold corresponding to the segment and the K FEC1 / kb is associated with either the first subrange or the second subrange, and the second threshold is used to determine whether to apply A. i A i+1 The current segment will continue to be segmented. The method as described in claim 16, characterized in that, The ratio of the second threshold corresponding to the first sub-range to the second threshold corresponding to the second sub-range is any one of the following: 1 / 2, 2 / 3, 3 / 4. A communication device, characterized in that, Includes modules for implementing the method as described in any one of claims 1-17. A communication device, characterized in that, Includes a processor configured to enable the communication device to perform the method as described in any one of claims 1-17 by executing a computer program and / or by logic circuitry. The communication device according to claim 19 is characterized in that, It also includes a memory for storing the computer program. The communication device according to claim 20 is characterized in that, It also includes a communication interface for communicating with other communication devices. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by an encoding device, implement the method as described in any one of claims 1-17. A computer program product containing instructions, characterized in that, When the instructions are executed on the encoding device, the encoding device performs the method as described in any one of claims 1-17. A communication system, characterized in that, It includes a communication device for performing the method as described in any one of claims 1, 3-17 and a communication device for performing the method as described in any one of claims 2-17.