LDPC code-based communication method and communication apparatus
By derive another small-scale basis map in the communication method of LDPC code, the problem of large number of basis maps and cumbersome storage content in the prior art is solved, and the effect of simplifying storage and ensuring the optimal edge density of the base map is achieved.
Patent Information
- Application Number
- PCT/CN2023/115376
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-29
- Publication Date
- 2025-03-06
AI Technical Summary
In the prior art, the number of base maps of LDPC codes is large, resulting in cumbersome storage content of the device and complex description of standard protocols.
By introducing a method in the transmitting and receiving devices, the larger base map is used to derive another smaller base map, thereby reducing the number of stored base maps. The specific method includes: obtaining an information bit sequence, LDPC encoding is performed according to the first basis map, the first basis map consists of a first column set and a check column of the second basis map, and the first column set is grouped based on the information column of the second basis map.
This reduces the number of base maps that the device needs to store, simplifies the storage content and implementation process of the device, and ensures the optimal edge density of the base map.
Smart Images

Figure CN2023115376_06032025_PF_FP_ABST
Abstract
Description
A communication method and communication device based on LDPC code Technical Field
[0001] The present application relates to the field of coding, and more particularly, to a communication method and a communication device based on LDPC codes. Background Art
[0002] In the field of channel coding, low-density parity check (LDPC) codes are one of the most mature and widely used channel coding schemes. The current standard protocol specifies the storage of two base graphs (BGs): BG1 and BG2. BG2 is used when the message length is less than or equal to 292, or when the message length is less than or equal to 3840 and the code rate is less than or equal to 2 / 3, or when the code rate is less than or equal to 0.25. BG1 is used in all other cases. In the future, the number of base graphs will continue to increase, making device storage very cumbersome.
[0003] Summary of the Invention
[0004] The present application provides a communication method and a communication device based on LDPC codes, which help to reduce the content stored in the device.
[0005] In a first aspect, a communication method based on LDPC codes is provided. The method can be performed by a transmitting device. Unless otherwise specified, the "transmitting device" can refer to the transmitting device itself or a device that supports the transmitting device in implementing the function. For ease of description, the transmitting device is used in the following description. The transmitting device can be a terminal device or a network device.
[0006] The method includes: obtaining an information bit sequence; encoding the information bit sequence according to a first base graph to obtain an LDPC codeword sequence, wherein the first base graph is composed of a first column set and a check column of a second base graph, the first column set is obtained based on at least one of a plurality of column groupings included in an information column of the second base graph, column numbers included in any two column groups of the plurality of column groupings are non-repeating, and the second base graph is composed of a check column and an information column; and outputting the LDPC codeword sequence.
[0007] In the above method, the first base graph is composed of a first column set and a check column of a second base graph, and the first column set can be obtained based on at least one of the multiple column groups included in the information column of the second base graph. In other words, the first base graph can be obtained from the second base graph. In this way, the transmitting device does not need to store the first base graph. When the first base graph is needed for encoding, the transmitting device can derive the required first base graph based on the second base graph, thereby reducing the content that the transmitting device needs to store. In addition, the first column set is obtained based on at least one of the multiple column groups included in the information column of the second base graph, which can flexibly control the edge density of the first base graph, thereby helping to ensure the optimal edge density of the first base graph.
[0008] In combination with the first aspect, in some implementations, the first column set consists of partial information columns of the second base graph.
[0009] In the above method, the first column set is composed of partial information columns of the second base graph, resulting in a smaller first base graph than the second base graph. In other words, the above method supports deriving smaller base graphs from larger base graphs. This allows the transmitting device to store only the largest base graph and, when needed, derive the required base graphs based on the largest base graph, thereby reducing the amount of data that the transmitting device needs to store.
[0010] In combination with the first aspect or any implementation thereof, in other implementations, the multiple column groups are composed of information columns of the second base image, and the first column set is composed of columns selected based on the multiple column groupings; or, the multiple column groups are composed of non-punctured information columns of the second base image, and the first column set is composed of columns selected based on the multiple column groupings and punctured information columns of the second base image.
[0011] In combination with the first aspect or any implementation thereof, in some other implementations, the number of columns included in the multiple column groupings is 26, and the number of columns included in each of the multiple column groupings is 2; or, the number of columns included in the multiple column groupings is 33 or 30, and the number of columns included in each of the multiple column groupings is 3; or, the number of columns included in the multiple column groupings is 36 or 40, and the number of columns included in each of the multiple column groupings is 4.
[0012] In combination with the first aspect or any implementation manner thereof, in some other implementation manners, the number of puncturing information columns included in the second base image is 0, 1, or 2.
[0013] In combination with the first aspect or any implementation thereof, in some other implementations, the method further includes: determining, based on screening information, to perform LDPC encoding on the information bit sequence according to the first base graph; wherein the screening information includes at least one of the following information: an application scenario of the information bit sequence, a code length required to transmit the information bit sequence, a code rate required to transmit the information bit sequence, or the number of non-zero elements included in the first base graph.
[0014] Different base graphs have different advantage intervals. Screening the base graphs according to the above method can meet the requirements of optimal code length, code rate, and hardware utilization.
[0015] In combination with the first aspect or any implementation thereof, in some other implementations, the application scenario includes at least one of the following scenarios: a high throughput scenario, a high reliability scenario, a low latency scenario, a high reliability and low latency scenario, or a low power consumption scenario.
[0016] In combination with the first aspect or any implementation manner thereof, in some other implementation manners, the screening information includes the application scenario, and the screening information also includes at least one of the code length required for transmitting the information bit sequence, the code rate required for transmitting the information bit sequence, or the number of non-zero elements included in the first base graph. The determining, based on the screening information, to perform LDPC encoding on the information bit sequence according to the first base graph includes: when the application scenario belongs to a predefined scenario, determining to perform LDPC encoding on the information bit sequence according to the first base graph corresponding to the application scenario; and / or, when the application scenario does not belong to the predefined scenario, determining to perform LDPC encoding on the information bit sequence according to the first base graph based on at least one of the code length required for transmitting the information bit sequence, the code rate required for transmitting the information bit sequence, or the number of non-zero elements included in the first base graph.
[0017] Based on the above method, the base graph is preferentially screened according to the application scenario, which can meet the needs of each application scenario and help meet the requirements of high throughput, low latency, low power consumption, etc.
[0018] In combination with the first aspect or any implementation thereof, in some other implementations, the first column set includes the i-th column to the j-th column of each column group in the multiple column groups, where ji is an integer greater than 0 and less than k; or, the first column set includes the m-th column of each column group in the multiple column groups, where m is an integer less than k; wherein k is the number of columns included in each column group in the multiple column groups.
[0019] In the above method, the first column set can be obtained by retaining the information columns at fixed positions in each column group among the multiple column groups. This approach is simple to implement.
[0020] In combination with the first aspect or any implementation thereof, in some other implementations, the first column set includes: all columns of each column group in the first set and part of the columns of each column group in the second set, and the first set and the second set do not overlap.
[0021] Optionally, the second set includes at most one column grouping.
[0022] In the above method, the first column set can be obtained by retaining all columns of each column group in the first set and part of the columns of each column group in the second set, and not retaining columns in column groups other than the first set and the second set.
[0023] In combination with the first aspect or any implementation thereof, in some other implementations, the method further includes: determining the first base graph based on the second base graph, first information, and second information, wherein the first information is used to indicate the first set, and the second information is used to indicate a partial column of each of the first column groups in the second set.
[0024] In the above method, the first base map can be obtained through the second base map, the first information and the second information, so that the sending end device does not need to store the first base map, and the stored content is simple.
[0025] In combination with the first aspect or any implementation thereof, in some other implementations, the method further includes: determining the first base graph based on the second base graph and a first sequence, wherein the first sequence is used to indicate the columns in each column group in the multiple column groups used to constitute the first column set.
[0026] In the above method, a sequence can be used to indicate the columns in each column group in multiple column groups that are used to form the first column set. Compared with retaining the information columns at fixed positions in each column group in multiple column groups, this implementation method can obtain the first column set more flexibly.
[0027] In combination with the first aspect or any implementation thereof, in other implementations, the number of columns selected in the first column set based on the multiple column groupings is P, and the first sequence is obtained by intercepting the first P elements from the storage sequence.
[0028] In the above method, different base graphs can be obtained based on sequences of different lengths extracted from the stored sequence. For example, the first base graph can be obtained by extracting the first P elements from the stored sequence to obtain a first sequence of length P. This implementation method has the advantage of more refined screening of base graphs in different advantage intervals, deriving more applicable base graphs.
[0029] Optionally, some or all rows of the second base graph may include multiple row groups. These multiple row groups and multiple column groups may constitute multiple grouping structures or grouping units. The column weights of the columns of the grouping units included in the second base graph are all no greater than 1. Specifically, the grouping units included in the second base graph can be divided into three categories: a first category of grouping units in which each column has a column weight of 1, a second category of grouping units in which at least one column has a column weight of 1 and the remaining columns have a column weight of 0, and a third category of grouping units in which each column has a column weight of 0. Because the column weights of the columns of the first, second, and third category of grouping units are all no greater than 1, the receiving device can perform multi-QC block parallel decoding on the codeword sequence corresponding to each grouping unit without encountering decoding failures, thereby improving decoding performance. Furthermore, only the second category of grouping units wastes some hardware resources, thereby improving hardware utilization.
[0030] In the case where the second base graph includes the above-mentioned multiple grouping units, the first column set is obtained by retaining the information columns at fixed positions in each column grouping in the multiple column groupings, which can flexibly control the edge density of the first base graph, thereby ensuring that the edge density of the first base graph is optimal, and can ensure that the second base graph and the first base graph have obvious advantageous interval divisions.
[0031] In the case that the second base graph includes the above-mentioned multiple grouping units, the first column set is obtained by retaining all columns of each column grouping in some column groupings in multiple column groupings and some columns of at most one column grouping. This can retain most of the grouping units of the second base graph, which helps to improve the utilization of hardware resources.
[0032] In combination with the first aspect or any implementation manner thereof, in some other implementation manners, when there are punctured information columns in the second base image, the information columns of the second base image consist of punctured information columns and non-punctured information columns.
[0033] In combination with the first aspect or any implementation thereof, in some other implementations, the numbering of the information columns in the first base graph is the same as the numbering of the information columns in the second base graph; encoding the information bit sequence according to the first base graph to obtain an LDPC codeword sequence includes: truncation of the information columns that are not included in the first base graph and belong to the second base graph.
[0034] In combination with the first aspect or any implementation thereof, in some other implementations, the columns in the first base graph are numbered sequentially.
[0035] In a second aspect, a communication method based on LDPC codes is provided. The method can be executed by a receiving device. Unless otherwise specified, the "receiving device" can refer to the receiving device itself or a device that supports the receiving device to implement the function. For ease of description, the receiving device is used in the following description. The receiving device can be a terminal device or a network device.
[0036] The method includes: receiving an LDPC codeword sequence; decoding the LDPC codeword sequence according to a first base graph, wherein the first base graph is composed of a first column set and a check column of a second base graph, the first column set is obtained based on at least one of a plurality of column groupings included in an information column of the second base graph, column numbers included in any two column groups of the plurality of column groupings are non-repeating, and the second base graph is composed of a check column and an information column.
[0037] In the above method, the first base graph is composed of a first column set and a check column of a second base graph, and the first column set can be derived based on at least one of the multiple column groups included in the information column of the second base graph. In other words, the first base graph can be derived from the second base graph. This allows the receiving device to avoid storing the first base graph. When the first base graph is needed for encoding, the receiving device can derive the required first base graph based on the second base graph, thereby reducing the amount of data that the receiving device needs to store. Furthermore, since the first column set is derived based on at least one of the multiple column groups included in the information column of the second base graph, the edge density of the first base graph can be flexibly controlled, thereby helping to ensure that the edge density of the first base graph is optimal.
[0038] In combination with the second aspect, in some implementations, the method further includes: determining, based on screening information, to decode the LDPC codeword sequence according to the first base graph; wherein the screening information includes at least one of the following information: the application scenario of the information bit sequence, the code length required to transmit the information bit sequence, the code rate required to transmit the information bit sequence, or the number of non-zero elements included in the first base graph.
[0039] In combination with the second aspect or any implementation manner thereof, in some other implementation manners, the screening information includes the application scenario, and the screening information also includes at least one of the code length required for transmitting the information bit sequence, the code rate required for transmitting the information bit sequence, or the number of non-zero elements included in the first base graph. The determining, based on the screening information, to decode the LDPC codeword sequence according to the first base graph includes: when the application scenario belongs to a predefined scenario, determining to decode the LDPC codeword sequence according to the first base graph corresponding to the application scenario; and / or, when the application scenario does not belong to the predefined scenario, determining to decode the LDPC codeword sequence according to the first base graph according to at least one of the code length required for transmitting the information bit sequence, the code rate required for transmitting the information bit sequence, or the number of non-zero elements included in the first base graph.
[0040] In combination with the second aspect or any implementation thereof, in some other implementations, the method further includes: determining the first base graph based on the second base graph, first information, and second information, wherein the first information is used to indicate the first set, and the second information is used to indicate a partial column of each of the first column groups in the second set.
[0041] In combination with the second aspect or any implementation thereof, in some other implementations, the method further includes: determining the first base graph based on the second base graph and a first sequence, wherein the first sequence is used to indicate the columns in each column group in the multiple column groups used to constitute the first column set.
[0042] In combination with the second aspect or any implementation thereof, in some other implementations, the numbering of the information columns in the first base graph is the same as the numbering of the information columns in the second base graph; encoding the information bit sequence according to the first base graph to obtain an LDPC codeword sequence includes: filling the information columns that are not included in the first base graph and belong to the second base graph.
[0043] The terms or features in the second aspect or its implementation methods that are the same as those in the first aspect or its implementation methods can refer to the first aspect or its implementation methods, and their technical effects can refer to the technical effects in the first aspect or its implementation methods, and will not be repeated in the second aspect.
[0044] In a third aspect, a communication device is provided, configured to execute the method provided by any of the above aspects or implementations thereof. Specifically, the device may include units and / or modules, such as a processing unit and / or a transceiver unit, configured to execute the method provided by any of the above aspects or implementations thereof.
[0045] In one implementation, the apparatus is a transmitting device or a receiving device. When the apparatus is a transmitting device or a receiving device, the transceiver unit may be a transceiver, an input / output interface, or a communication interface; and the processing unit may be at least one processor. Optionally, the transceiver is a transceiver circuit. Optionally, the input / output interface is an input / output circuit.
[0046] In another implementation, the apparatus is a chip, chip system, or circuit used in a transmitting device or a receiving device. When the apparatus is a chip, chip system, or circuit used in a transmitting device or a receiving device, the transceiver unit may be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; and the processing unit may be at least one processor, processing circuit, or logic circuit.
[0047] In a fourth aspect, a communication device is provided, comprising: a memory for storing programs; and at least one processor for executing computer programs or instructions stored in the memory to perform the method provided by any one of the above aspects or its implementation.
[0048] In one implementation, the apparatus is a transmitting end device or a receiving end device.
[0049] In another implementation, the apparatus is a chip, a chip system, or a circuit used in a transmitting device or a receiving device.
[0050] In a fifth aspect, a communication device is provided, comprising: at least one processor and a communication interface, wherein the at least one processor is configured to retrieve a computer program or instruction stored in a memory through the communication interface to execute the method provided by any of the above aspects or implementations thereof. The communication interface may be implemented in hardware or software.
[0051] In one implementation, the device further includes the memory.
[0052] In a sixth aspect, a processor is provided for executing the methods provided in the above aspects.
[0053] For the operations such as sending and acquiring / receiving involved in the processor, unless otherwise specified, or if they do not conflict with their actual functions or internal logic in the relevant descriptions, they can be understood as operations such as processor output, reception, and input, or as sending and receiving operations performed by the radio frequency circuit and antenna. This application does not limit this.
[0054] In a seventh aspect, a computer-readable storage medium is provided, which stores a program code for execution by a device, wherein the program code includes a method for executing any one of the above aspects or its implementation.
[0055] In an eighth aspect, a computer program product comprising instructions is provided, which, when run on a computer, enables the computer to execute the method provided by any one of the above aspects or its implementation.
[0056] In a ninth aspect, a chip is provided, comprising a processor and a communication interface, wherein the processor reads instructions stored in a memory through the communication interface and executes the method provided by any one of the above aspects or implementations thereof. The communication interface may be implemented in hardware or software.
[0057] Optionally, as an implementation method, the chip also includes a memory, in which a computer program or instruction is stored, and the processor is used to execute the computer program or instruction stored in the memory. When the computer program or instruction is executed, the processor is used to execute the method provided by any of the above aspects or its implementation methods.
[0058] When the method provided in this application is executed by a chip, this application does not limit the number of chips that implement the method. For example, the method can be executed by one chip or by two or more chips. Furthermore, when the number of chips implementing the method of this application is two or more, the chip manufacturers are not limited and can be the same manufacturer or different manufacturers.
[0059] In a tenth aspect, a communication system is provided, comprising at least one of the transmitting device or the receiving device described above.
[0060] In an eleventh aspect, a computer program is provided, which, when executed on a computer, enables the method provided by any one of the above aspects or its implementation to be executed. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] FIG1 is a schematic diagram of a network architecture to which embodiments of the present application can be applied.
[0062] FIG2 is a schematic diagram of the LDPC check matrix H.
[0063] FIG3 is a Tanner graph of the LDPC check matrix H.
[0064] FIG4 is a schematic diagram of the structure of a check matrix.
[0065] FIG5 is a schematic diagram of the information transmission process.
[0066] FIG6 is a schematic flowchart of a communication method 600 based on LDPC codes provided in this application.
[0067] FIG. 7 is an example of two situations of a table corresponding to the first base graph.
[0068] FIG8 is a schematic diagram of an encoding chain according to an embodiment of the present application.
[0069] FIG9 is a first simulation result of the signal-noise ratio (SNR) of LDPC codes at different code rates.
[0070] FIG10 is a second simulation result of the SNR of LDPC codes at different code rates.
[0071] FIG11 is a simulation result 1 of the signal-to-noise ratio of LDPC codes with different information lengths and different code rates.
[0072] FIG12 is a second simulation result of the signal-to-noise ratio of LDPC codes with different information lengths and different code rates.
[0073] FIG13 is a simulation result of the equivalent number of decoding QC blocks for different base graphs of the LDPC code proposed in this application.
[0074] FIG14 is a schematic structural diagram of a device provided in an embodiment of the present application.
[0075] FIG15 is another schematic structural diagram of the device provided in an embodiment of the present application.
[0076] FIG16 is a schematic diagram of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0077] To facilitate understanding of the embodiments of the present application, the following explanations are made before introducing the embodiments of the present application.
[0078] "For indicating" or "indicating" can include direct indication and indirect indication, or "for indicating" or "indicating" can be explicitly and / or implicitly indicated. The various digital numbers such as first, second, etc. are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application, such as distinguishing different messages, different information, etc. "Pre-definition" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in the device. The present application does not limit its specific implementation method. The "protocol" involved may refer to a standard protocol in the field of communications, for example, it may include the long term evolution (LTE) protocol, the new radio (NR) protocol and related protocols used in future communication systems. The present application does not limit this. Words such as "exemplary", "for example", "exemplarily", "as (another) example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as an "example" in this application should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized. "At least one" means one or more, and "more than one" means two or more. "At most one" means one or zero. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b and c can mean: a, or b, or c, or a and b, or a and c, or b and c, or a, b and c. Where a, b and c can be single or multiple, respectively. Descriptions of network element A sending a message, information, or data to network element B, or network element B receiving a message, information, or data from network element A, are intended to clarify the network element to which the message, information, or data is sent, and do not limit whether the messages, information, or data are sent directly or indirectly through other network elements. Phrases such as "when," "under the circumstances," "if," and "if" all imply that the device will take appropriate action under certain objective circumstances. They do not specify a time limit, do not require the device to perform a judgment action, and do not imply any other limitations.
[0079] In addition, the network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0080] A communication system to which the embodiments of the present application can be applied is described below.
[0081] The embodiments of the present application can be applied to various communication systems, including but not limited to: fifth generation (5G) system or NR system, LTE system, long term evolution-advanced (LTE-A) system, LTE frequency division duplex (FDD) system, LTE time division duplex (TDD) system, etc. It can also be applied to future communication systems, such as the sixth generation mobile communication system. In addition, it can also be applied to device to device (D2D) communication, vehicle-to-everything (V2X) communication, machine to machine (M2M) communication, machine type communication (MTC), and Internet of Things (IoT) communication system or other communication system. In addition, it can also be extended to similar wireless communication systems, such as wireless fidelity (WiFi), global interoperability for microwave access (WIMAX), and third generation partnership project (3GPP) related communication systems, etc., without limitation.
[0082] A communication system applicable to embodiments of the present application may include one or more transmitting devices and one or more receiving devices. Optionally, one of the transmitting device and the receiving device may be a terminal device, and the other may be a network device. Optionally, both the transmitting device and the receiving device may be terminal devices. Optionally, both the transmitting device and the receiving device may be network devices.
[0083] Exemplarily, FIG1 shows a schematic diagram of a network architecture to which an embodiment of the present application may be applied.
[0084] As shown in Figure 1, the embodiments of the present application can be applied to both uplink data transmission and downlink data transmission. Figure 1 only takes uplink data transmission or downlink data transmission between a network device and two terminal devices (such as terminal device 1 and terminal device 2) as an example. In uplink data transmission, the transmitting device in this article is a terminal device, and the receiving device is a network device; conversely, in downlink data transmission, the transmitting device is a network device, and the receiving device is a terminal device. In addition, the applicability of the embodiments of the present application in other communication scenarios is not limited. For example, it can also be applied to sidelink communications.
[0085] The terminal device of the present application may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, drone, wireless communication device, user agent or user device, etc. The terminal device in the embodiments of the present application may refer to a device that provides voice and / or data connectivity to a user and can be used to connect people, objects and machines, such as a handheld device with wireless connection function, a vehicle-mounted device, etc. The terminal device in the embodiments of the present application can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, etc.
[0086] The network device of the present application may be a device with wireless transceiver functions, and the network device may be a device that provides wireless communication function services, usually located on the network side, including but not limited to the next-generation base station (gNodeB, gNB) in the 5G system, the base station in the sixth-generation mobile communication system, the base station in the future mobile communication system, or the access node in the wireless fidelity (WiFi) system, the evolved node B (eNB) in the long-term evolution (LTE) system, the radio network controller (RNC), the node B (NB), the base station controller (BSC), the home base station (for example, home evolved NodeB or home Node B, HNB), the base band unit (BBU), the transmission reception point (TRP), the transmitting point (TP), the base transceiver station (BTS), the satellite, the drone, etc. In a network structure, the network device may include a centralized unit (CU) node, or a distributed unit (DU) node, or a RAN device including a CU node and a DU node, or a RAN device including a control plane CU node and a user plane CU node, and a DU node, or the network device may also be a wireless controller, relay station, vehicle-mounted device, and wearable device in a cloud radio access network (CRAN) scenario. In addition, the base station may be a macro base station, a micro base station, a relay node, a donor node, or a combination thereof. The base station may also refer to a communication module, a modem, or a chip for being set in the aforementioned device or apparatus. The base station may also be a mobile switching center and a device that performs the base station function in D2D, V2X, and M2M communications, a network-side device in a 6G network, or a device that performs the base station function in future communication systems. The base station can support networks with the same or different access technologies without limitation.
[0087] Unless otherwise specified, the device used to implement the function of a terminal device or network device in this application may refer to the terminal device or network device itself, or may refer to a device that can support the terminal device or network device to implement the function, such as a chip system or chip, specifically, a system on a chip (SoC) or a modem. The device can be installed in the terminal device or network device. In the embodiments of the present application, the chip system can be composed of chips, or it can include chips and other discrete devices.
[0088] It should also be noted that some embodiments herein use the 5G system as an example to describe specific solution details. It is understood that when this solution is applied to other communication systems, such as the LTE system or future communication systems, the messages, channels, or information in the solution can be replaced with messages, channels, or information in other communication systems that can implement corresponding functions, and this application does not limit this.
[0089] To facilitate understanding of the embodiments of the present application, several concepts or terms involved in the embodiments of the present application are briefly explained. The concepts or terms introduced below are explained based on the concepts or terms specified in the reference protocol, but this does not mean that the embodiments of the present application can only be applied to existing systems. The concepts or terms involved in the embodiments of the present application can be applied to future systems. The specific names of the concepts or terms (for example, concepts or terms involving functional descriptions) can be adjusted as future systems develop.
[0090] 1. LDPC Code
[0091] LDPC codes are linear block codes whose parity check matrices are sparse. The number of zero elements in an LDPC parity check matrix far outnumbers the number of nonzero elements. In other words, the row and column weights of the parity check matrix are very small compared to the LDPC code length. An LDPC code with an information bit sequence length equal to k and a code length equal to n can be uniquely identified by its parity check matrix.
[0092] In 1981, Tanner represented LDPC codewords using a graph, now called a Tanner graph. There is a one-to-one correspondence between a Tanner graph and a parity check matrix. A Tanner graph consists of two types of vertices: one type represents codeword bits, called variable nodes, and the other type is called check nodes, representing check constraints. Each check node represents a check constraint. This is explained below with reference to Figures 2 and 3.
[0093] FIG2 is a schematic diagram of an LDPC check matrix H.
[0094] In Figure 2, {V i} represents the variable node (VN) set, {C i} represents the set of check nodes (CN). Each row of the check matrix H represents a check equation, each check equation corresponds to a check node, and each column represents a codeword bit, each codeword bit corresponds to a variable node. In Figure 2, there are eight variable nodes and four check nodes. If a codeword bit is included in the corresponding check equation, a line is connected between the variable node and the check node involved, resulting in a Tanner graph.
[0095] FIG3 is a Tanner graph of an LDPC check matrix H.
[0096] As shown in Figure 3, the Tanner graph represents the LDPC parity check matrix. For example, for a parity check matrix H with m rows and n columns, the Tanner graph contains two types of nodes: n variable nodes and m check nodes. The n variable nodes correspond to the n columns of the parity check matrix H, and the m check nodes correspond to the m rows of the parity check matrix H. A cycle in a Tanner graph consists of interconnected vertices. The cycle has one vertex in this group as both its starting and ending point, and passes through each node only once. The length of a cycle is defined as the number of edges it contains, while the girth of the graph, also known as its size, is defined as the minimum cycle length in the graph. In Figure 3, the girth is 4, as indicated by the black lines. The variable nodes in the Tanner graph correspond to each column of the parity check matrix H, which in turn corresponds to each codeword bit of the LDPC codeword. The check nodes in the Tanner graph correspond to each row of the parity check matrix H, which in turn corresponds to each parity bit of the LDPC codeword. The connections between the two types of nodes correspond to the values of the elements in the H matrix. If there is a connection between the i-th check node and the j-th variable node, the element (i, j) in the H matrix is 1. If there is no connection, the corresponding element is 0. The connection between a variable node and a check node can also be called an edge. A connection between a check node and a variable node can also be described as having a connection or edge between the check node and the variable node. The edge relationship between a check node and a variable node can include either the presence of an edge or the absence of an edge.
[0097] In addition, in the Tanner graph, a cycle refers to a closed loop consisting of variable nodes, check nodes, and edges connected end to end.
[0098] As mentioned above, LDPC is a linear block code. It divides the information sequence to be encoded into groups of k bits. The encoder then performs a linear operation on these k information bits to obtain m parity bits. These k information bits are then combined with the m parity bits to form a codeword of length n = k + m. The mapping from k information bits to n-bit codewords is typically represented by a corresponding parity check matrix H. Based on the parity check matrix H, a codeword sequence is generated to complete the encoding process. After the codeword sequence is transmitted over the channel, the receiving device decodes the received signal and determines the original information bits.
[0099] 2. QC-LDPC code
[0100] Quasi-cyclic low density parity check (QC-LDPC) codes are a type of structured LDPC codes. Due to the unique structure of its parity check matrix, encoding can be implemented using a simple feedback shift register, reducing the coding complexity of LDPC codes. When the code length is long, the parity check matrix H of the LDPC code will be very large. Therefore, H is usually represented in blocks: the complete parity check matrix H is considered to be composed of multiple Z c ×Z c Specifically, the complete check matrix H can be generated by a base matrix H b Indicates that H b Each element in corresponds to a Z c ×Z c Each submatrix can be represented by the number of cyclic shift bits, thus greatly reducing the storage space required for the complete check matrix H. b The elements in can also be called quasi-cyclic (QC) blocks.
[0101] Based on the basis matrix H b And the improvement value Z c (lifting size), the basis matrix H b Expanded to a complete check matrix for encoding or decoding. c It may also be called expansion factor, lifting factor, expansion value, expansion coefficient, or lifting size, etc.
[0102] For example, the basis matrix H of the QC-LDPC code b As shown below:
[0103] It can be seen that the basis matrix H b The size of the matrix is 4 rows and 24 columns, and the basis matrix H b Each element in represents a Zc square matrix of order, element represents the cyclic permutation matrix, i represents the cyclic shift value, and i is an integer. In addition, the basis matrix H b The "-1" in represents an all-zero matrix, and "0" represents an identity matrix.
[0104] For example, As shown below:
[0105] Optionally, the basis matrix H b In addition to "-1", the zero elements in can also have other representations, such as using "-" or null values to represent an all-zero matrix.
[0106] 3. Non-zero elements and zero elements
[0107] In the check matrix, a zero element indicates that there is no connection between the variable node and the check node, and a non-zero element indicates that there is a connection between the variable node and the check node.
[0108] In the LDPC basis matrix, the zero element represents Z c An all-zero square matrix of order, with non-zero elements representing Z c The identity matrix of order or based on Z c The circulant permutation matrix of the identity matrix of order , where the values of the non-zero elements represent the circulant shift values or offset values relative to the identity matrix.
[0109] This application does not limit the specific representation of zero elements and non-zero elements. For example, in the check matrix H shown in Figure 2, "0" is used to represent zero elements and "1" is used to represent non-zero elements. For another example, as described above, the base matrix H b In the , "-1" is used to represent zero elements, and "non-negative values" are used to represent non-zero elements.
[0110] 4. Column weight and row weight
[0111] For a column of a matrix, the column weight can refer to the number of non-zero elements contained in the column. For a row of a matrix, the row weight can refer to the number of non-zero elements contained in the row. For example, as shown in Figure 2, the column weight of the first column of the check matrix H is 2, and the row weight of the first row is 4. For another example, as described above, the base matrix H b The first column has a column weight of 4 and the first row has a row weight of 20.
[0112] 5. Structure of the check matrix
[0113] FIG4 is a schematic diagram of the structure of a check matrix.
[0114] As shown in Figure 4(a), the check matrix may include a high rate region, an all-zero region, an incremental redundancy region, and a raptor-like region. The high rate region may include part A and part B as shown in Figure 4(b), where part A corresponds to information bits (or information bits, systematic bits, etc.), and part B is a square matrix corresponding to core check bits (or core check bits). The all-zero region may correspond to part C of Figure 4(b), which is an all-zero matrix. The incremental redundancy region may correspond to part D of Figure 4(b). The raptor-like region may correspond to part E of Figure 4(b), which may be a unit matrix corresponding to the check bits of the low rate extension.
[0115] The parity check matrix of the LDPC code shown in Figure 4 employs a "raptor-like" structure, allowing it to be gradually extended to lower code rates using a high-rate core matrix. In practice, as shown in Figure 4(a), the first X rows and Y columns of the parity check matrix can be truncated. As the code rate decreases, X and Y gradually increase, and the area of the matrix used also gradually expands.
[0116] It should be noted that the check matrix can be represented by the LDPC base matrix, so the structure of the LDPC base matrix is similar to that of the check matrix, which will not be described in detail here.
[0117] 6. Information columns, check columns, and core columns
[0118] The columns of the LDPC basis matrix consist of information columns and check columns.
[0119] Information column: corresponds to the information bit (also called information bit, system bit, etc.), which is the column corresponding to part A.
[0120] Parity column: corresponds to the parity bit (or check digit), and can include a core parity column and an extended parity column. The core parity column is the column corresponding to part B, and the extended parity column is the column corresponding to part C or part E. The extended parity column is also called a raptor-like column.
[0121] Core columns: This includes all information columns and all core check columns. In other words, core columns are the columns corresponding to the high bitrate area, or the columns corresponding to part A + part B.
[0122] 7. Punch column
[0123] A punctured column in an LDPC code may refer to a column that is not transmitted. A punctured column may be an information column or a check column. In this application, an information column to be punctured is referred to as a punctured information column, and a check column to be punctured is referred to as a punctured check column.
[0124] In addition, columns in an LDPC code that are not punctured can also be referred to as non-punctured columns. Similarly, non-punctured columns can be either information columns or parity columns. In this application, non-punctured information columns are referred to as non-punctured information columns, and non-punctured parity columns are referred to as non-punctured parity columns.
[0125] 8. Column Grouping
[0126] Column grouping: refers to grouping the columns of a matrix according to more than one column as a basic unit. For example, let the core column set be C, and the core column set C is divided into t subsets C1~C t Among them, C1∪…∪C t = C and the intersection of any two subsets in t subsets is empty, that is,
[0127] Uniform column grouping: means that each subset of t subsets contains the same number of columns. Taking uniform k-column grouping as an example, for any subset C in t subsets i Yes | C i |=k,where |C i | is a subset C i The number of columns to include.
[0128] Non-uniform column grouping: refers to the existence of at least two subsets among the t subsets, and the number of columns included in these two subsets is different.
[0129] 9. Row Grouping
[0130] Row grouping: refers to grouping the rows of a matrix into units with a row count greater than or equal to 1. For example, let the row set of the matrix be R, and the row set R is divided into s subsets R1~R s . Where R1∪…∪R s = R and the intersection of any two subsets in the s subsets is empty, that is,
[0131] Uniform row grouping: means that each subset of s subsets contains the same number of rows. Taking uniform q-row grouping as an example, for any subset R in s subsets i , with |R i |=q,where |R i | is a subset R i The number of rows to include.
[0132] Non-uniform row grouping: refers to the existence of at least two subsets among the s subsets, and the number of rows included in these two subsets is different.
[0133] 10. Information transmission process
[0134] Figure 5 is a schematic diagram of the information transmission process. As shown in Figure 5, information is sent by the source, undergoes source coding, channel coding, modulation, air interface transmission, demodulation, channel decoding, source recovery and other processing, and arrives at the destination, completing the transmission of information from the source to the destination. Among them, the processing shown in the upper layer of Figure 5 (including source coding, channel coding and modulation, etc.) is performed at the transmitting end device, and the processing shown in the lower layer (including demodulation, channel decoding, source recovery, etc.) is performed at the receiving end device. The embodiments of the present application mainly relate to source coding, channel coding, channel decoding and source recovery shown in Figure 5.
[0135] It should be noted that the above-mentioned base matrix can also be called a base graph (BG), and the base graph is used below to describe the embodiments of the present application.
[0136] Currently, LDPC codes (such as NR LDPC codes) involve the selection of multiple basegraphs. Specifically, the current standard protocol stipulates the storage of two basegraphs, BG1 and BG2. BG2 is used when the message length is less than or equal to 292, or when the message length is less than or equal to 3840 and the code rate is less than or equal to 2 / 3, or when the code rate is less than or equal to 0.25. BG1 is used in other cases.
[0137] In the future, there may be more and more application scenarios, the number of base maps required will also become more and more, the content stored in the device will become very cumbersome, and accordingly, the description in the standard protocol will also be very complicated.
[0138] In response to the above problems, the present application provides a communication method and a communication device based on LDPC codes. The base graphs have a nested relationship with each other, so that a smaller base graph can be derived from a larger base graph. The communication device can store the largest base graph. When other base graphs are needed for encoding or decoding, the communication device can derive the required base graph based on the largest base graph, thereby reducing the content that the communication device needs to store.
[0139] The method embodiments of the present application are described below with reference to the accompanying drawings.
[0140] FIG6 is a schematic flowchart of a communication method 600 based on LDPC codes provided in this application.
[0141] Method 600 can be performed by a transmitting device and a receiving device. Unless otherwise specified, "transmitting device" or "receiving device" can refer to the transmitting device or receiving device itself, or can refer to a device that supports the transmitting device or receiving device to implement the function. For convenience of description, the following description uniformly uses the transmitting device and receiving device. The transmitting device can be a terminal device or a network device, and the receiving device can be a terminal device or a network device.
[0142] Method 600 may include at least part of the following.
[0143] Step 601: The transmitting device obtains an information bit sequence.
[0144] That is, if the transmitting device needs to communicate with the receiving device, that is, the transmitting device needs to send a signal to the receiving device, the transmitting device needs to first obtain the information bit sequence corresponding to the signal to be sent to the receiving device.
[0145] The transmitting end device obtaining the information bit sequence may refer to: the transmitting end device performing source coding on source symbols to generate the information bit sequence. The transmitting end device obtaining the information bit sequence may also refer to: the transmitting end device receiving the information bit sequence from other communication devices.
[0146] Step 602: The transmitting end device performs LDPC encoding on the information bit sequence according to the first base graph.
[0147] The first base graph is composed of a first column set and a check column of a second base graph, the first column set being derived based on at least one of the multiple column groups included in the information column of the second base graph, and the second base graph being composed of a check column and an information column. In other words, the first base graph can be derived based on the second base graph, wherein the check column of the first base graph is the check column of the second base graph, and the first column set of the first base graph (i.e., the information column of the first base graph) is derived based on at least one of the multiple column groups included in the information column of the second base graph.
[0148] It should be noted that the base image information columns in the embodiments of this application refer to all information columns of the base image. If a base image contains a punctured information column, the base image information columns consist of a punctured information column and a non-punctured information column. Similarly, the base image parity columns in the embodiments of this application refer to all parity columns of the base image, which consist of a core parity column and an extended parity column. Similar descriptions elsewhere in this document will not be further explained.
[0149] The second base image may include a puncture information column or may not include a puncture information column, which is not limited in this application.
[0150] When the second base image does not include a perforated information column, the multiple column groups included in the information columns of the second base image may refer to multiple column groups obtained by dividing all the information columns of the second base image. In other words, the multiple column groups are composed of all the information columns of the second base image. In this case, the first column set may be composed of columns selected based on the multiple column groups. In other words, in the process of obtaining the first base image from the second base image, all the information columns of the second base image are screened or selected.
[0151] When the second base image includes puncture information columns, one possible implementation is that the multiple column groups included in the information columns of the second base image may refer to multiple column groups obtained by dividing the non-puncture information columns of the second base image. In other words, the multiple column groups are composed of the non-puncture information columns of the second base image. In this case, the first column set may be composed of columns selected based on the multiple column groups and the puncture information columns of the second base image. In other words, in the process of deriving the first base image from the second base image, the puncture information columns of the second base image are retained, and the non-puncture information columns of the second base image are filtered or selected.
[0152] When the second base image includes a puncture information column, another possible implementation method is that the multiple column groups included in the information column of the second base image may refer to: multiple column groups obtained by dividing the puncture information column and the non-puncture information column of the second base image together. In other words, the multiple column groups are composed of the puncture information column and the non-puncture information column of the second base image. In this case, the first column set may be composed of columns selected based on the multiple column groups. In other words, in the process of obtaining the first base image from the second base image, both the puncture information column and the non-puncture information column of the second base image are screened or selected.
[0153] The “division” involved in step 602 can be referred to the “column grouping” in the term explanation part, which will not be repeated here.
[0154] The scales of the multiple column sets in the embodiment of the present application may be the same or different. In other words, the number of columns in each column set may be the same or different, and there is no restriction. The following describes the embodiment of the present application by taking the case where the scales of the multiple column sets are the same as an example. The column numbers included in any two column groups in the multiple column sets are not repeated, and the column numbers included in the multiple column sets are continuous. For example, assuming that the second base graph includes 24 information columns, taking the grouping of all information columns of the second base graph as an example, when the column grouping scale is 2, the information columns of the second base graph can be divided into 11 column groups, and the 11 column groups are {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13, 14}, {15, 16}, {17, 18}, {19, 20}, {21, 22} and {23, 24}, and when the column grouping scale is 3, the information columns of the second base graph can be divided into 8 column groups, 8 The column groups are {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}, {19, 20, 21} and {22, 23, 24}. When the column grouping scale is 4, the information columns of the second base graph can be divided into 6 column groups, which are {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}, {17, 18, 19, 20} and {21, 22, 23, 24}.
[0155] In some implementations, the second basemap is the largest basemap stored by the transmitting device. Other basemaps required by the transmitting device can be derived from the second basemap. For example, if the second basemap is BG1, BGx can be derived from BG1, where x is greater than or equal to 2. Alternatively, the transmitting device can store only the second basemap. When the transmitting device wishes to use another basemap, it can derive the required basemap from the second basemap. In this case, the content stored by the transmitting device can be simplified. Alternatively, the transmitting device can also store the second basemap and some or all basemaps that can be derived from the second basemap.
[0156] In other implementations, the second basemap is a basemap that can be derived from the largest basemap stored by the transmitting device. In other words, in the process of obtaining the basemap required by the transmitting device, the transmitting device can first derive the second basemap from the stored largest basemap, and then derive the first basemap from the second basemap. For example, if the transmitting device needs to use BG3 for encoding, the transmitting device can derive BG2 from the largest BG1, and then derive BG3 from BG2. Optionally, the transmitting device can store the largest basemap. When the transmitting device wants to use a different basemap, the transmitting device can derive the required basemap from the largest basemap. In this case, the content stored by the transmitting device can be simplified. Optionally, the transmitting device can also store the second basemap and some or all basemaps among the basemaps that can be derived from the largest basemap.
[0157] In an embodiment of the present application, for the design of the number of columns of the information columns of the largest base graph and the design of the number of columns of each column group, on the one hand, it is necessary to consider the base graphs that the largest base graph can be compatible with. For example, if the base graphs that the transmitting device may use are BG1, BG2 and BG3, then when designing the base graph, the largest base graph is required to support the export of BG1, BG2 and BG3. On the other hand, it is also necessary to consider the maximum supported code rate. The maximum code rate here can be the same as the maximum code rate in the MCS of 5G NR, or it can be higher than the maximum code rate in the MCS of 5G NR.
[0158] For example, assume that the largest base graph is BG1, and BG2 and BG3 can be derived from BG1, where BG1 is designed to adapt to higher code rates, and the maximum code rate supported by its core matrix can be higher than the maximum code rate in the MCS of 5G NR, and can be applied to encoding and decoding in high-rate scenarios; the matrix scale of BG2 is exactly the same as that of BG1 of 5G NR, and the code rate of its core matrix is consistent with the code rate supported by BG1 of 5G NR; the matrix scale of BG3 is close to that of BG2 of 5G NR, and some check rows can be added. It can support the same low code rate part as BG2 of 5G NR, and can support a higher code rate than BG2 of 5G NR.
[0159] For example, the number of columns included in the plurality of column groups of the largest base graph is 26, and the number of columns included in each of the plurality of column groupings is 2. When the plurality of column groupings consists of all information columns of the base graph, the number of information columns of the base graph is 26. When the plurality of column groupings consists of all non-punctured information columns of the base graph, the number of information columns of the base graph is 26 + the number of punctured information columns.
[0160] For another example, the number of columns included in the plurality of column groups of the largest base graph is 33, and the number of columns included in each of the plurality of column groups is 3. When the plurality of column groups are composed of all information columns of the base graph, the number of information columns of the base graph is 33. When the plurality of column groups are composed of all non-punctured information columns of the base graph, the number of information columns of the base graph is 33 + the number of punctured information columns.
[0161] For another example, the number of columns included in the plurality of column groups of the largest base graph is 30, and the number of columns included in each of the plurality of column groups is 3. When the plurality of column groups are composed of all information columns of the base graph, the number of information columns of the base graph is 30. When the plurality of column groups are composed of all non-punctured information columns of the base graph, the number of information columns of the base graph is 30 + the number of punctured information columns.
[0162] For another example, the number of columns included in the plurality of column groups of the largest base graph is 36, and the number of columns included in each of the plurality of column groups is 4. When the plurality of column groups are composed of all information columns of the base graph, the number of information columns of the base graph is 36. When the plurality of column groups are composed of all non-punctured information columns of the base graph, the number of information columns of the base graph is 36 + the number of punctured information columns.
[0163] For another example, the number of columns included in the plurality of column groups of the largest base graph is 40, and the number of columns included in each of the plurality of column groups is 4. When the plurality of column groups are composed of all information columns of the base graph, the number of information columns of the base graph is 40. When the plurality of column groups are composed of all non-punctured information columns of the base graph, the number of information columns of the base graph is 40 + the number of punctured information columns.
[0164] The embodiment of the present application does not limit the number of puncture information columns included in the largest base image. Exemplarily, the number of puncture information columns included in the largest base image is 0, 1, or 2.
[0165] In an embodiment of the present application, the first set of columns used to form the first base graph may include partial information columns of the second base graph. There are many ways to derive the first base graph from the second base graph, which are not limited by this application. The following describes in detail the method for deriving the first base graph based on the second base graph.
[0166] The first base graph can be derived from the second base graph by retaining all rows of the second base graph, retaining the core check columns and extended check columns of the second base graph, and retaining some columns of the information columns of the second base graph. When the second base graph includes a puncture information column, one implementation method for retaining some columns of the information columns of the second base graph is to retain all non-puncture information columns of the second base graph and some non-puncture information columns of the second base graph. Another implementation method is to treat the puncture information columns and non-puncture information columns of the second base graph as a whole and retain some columns of this whole. The retained columns may include or may not include the puncture information column.
[0167] The embodiments of the present application do not specifically limit the method of selecting partial information columns of the second base graph (i.e., the first column set) based on multiple column groupings. The following is an example in which the second base graph is the largest base graph stored by the sending device, and the sending device only stores the second base graph.
[0168] 1) The first possible implementation method
[0169] The method of selecting the first column set based on the multiple column groups is: retaining the information column at a fixed position in each column group in the multiple column groups.
[0170] Exemplarily, each of the plurality of column groupings includes k columns, and the first column set consists of the i-th column to the j-th column of each of the plurality of column groupings, where ji is a positive integer greater than 0 and less than k. Further exemplarily, each of the plurality of column groupings includes k columns, and the first column set consists of the m-th column of each of the plurality of column groupings, where m is a positive integer greater than 0 and less than k.
[0171] For example, the core columns of the second base graph consist of 22 information columns and 4 core check columns, wherein columns 1 to 2 are punctured columns, columns 3 to 22 are non-punctured information columns, and columns 23 to 26 are core check columns. Taking k=2, m=1, and multiple column groups consisting of 22 information columns as an example, the multiple column groups are {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13, 14}, {15, 16}, {17, 18}, {19, 20} and {21, 22}, and the first column set obtained by retaining the first column of each column group is {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21}. In this way, the core columns of the first base graph are {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26}. The scale of the first base graph is 11 information columns and 4 core check columns, of which 1 of the 12 information columns is a punctured information column. Taking k=2, m=1, and multiple column groups consisting of 20 non-punctured information columns as an example, the multiple column groups are {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13, 14}, {15, 16}, {17, 18}, {19, 20} and {21, 22} respectively. The first column set obtained by retaining the punctured information columns of the second base graph and the first column of each column group is {1, 2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21}. In this way, the core columns of the first base graph are {1, 2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26}. The scale of the first base graph is 12 information columns and 4 core check columns, of which 2 of the 12 information columns are punctured information columns.
[0172] For another example, the second base image has 33 information columns, and the second base image may include or not include puncture information columns. Taking k=3, i=1, j=2, and multiple column groups consisting of 33 information columns as an example, the information columns of the second base image are divided into 11 groups, and the multiple column groups are {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, {17, 18}, {19, 20, 21}, {22, 23, 24}, {25, 26, 27}, {28, 29, 30}, and {31, 32, 33}. Retaining the first to second columns of each column group results in the first column set being {1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32}. Thus, the size of the first base graph is 22 information columns, excluding the punctured information columns.
[0173] For another example, the second base image has 35 information columns, of which columns 1 to 2 are punctured information columns, and columns 3 to 35 are non-punctured information columns. Taking k=3, i=1, j=2, and a plurality of column groups consisting of 33 non-punctured information columns as an example, the non-punctured information columns of the second base image are divided into 11 groups, and the plurality of column groups are {3, 4, 5}, {6, 7, 8}, {9, 10, 11}, {12, 13, 14}, {15, 16, 17}, {18, 19, 20}, {21, 22, 23}, {24, 25, 26}, {27, 28}, {29, 30}, {31, 32, 33}, {34, 35}, {36, 37}, {38, 39}, {40, 41}, {42, 43}, {44, 45}, {46, 47}, {48, 49}, {50, 51}, {52, 53}, {54, 55}, {56, 57}, {58, 59}, {60, 61}, {62, 63}, {64, 65}, {66, 67}, {68, 69}, {70, 71}, {71, 72}, {72, 73}, {74, 75}, {76, 77}, {78, 79}, {80, 81}, {81 6}, {27, 28, 29}, {30, 31, 32}, and {33, 34, 35}. The first column set obtained by retaining the punctured information columns of the second base graph and the first and second columns of each column group is {1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31, 33, 34}. Thus, the size of the first base graph is 24 information columns, including 22 non-punctured information columns and 2 punctured information columns.
[0174] For example, the information columns of the second base image are 26 columns, of which the 1st to 2nd columns are punctured information columns, and the 3rd to 26th columns are non-punctured information columns. Taking k=4, i=2, j=4 and multiple column groupings consisting of 24 information columns as an example, the non-punctured information columns of the second base image are divided into 6 groups, and the multiple column groupings are {3, 4, 5, 6}, {7, 8, 9, 10}, {11, 12, 13, 14}, {15, 16, 17, 18}, {19, 20, 21, 22} and {23, 24, 25, 26} respectively. The first column set obtained by retaining the punctured information columns of the second base image and the 2nd to 4th columns of each column group is {1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 24, 25, 26}. Thus, the size of the first base image is 20 information columns, including 18 non-punctured information columns and 2 punctured information columns.
[0175] In the first possible implementation method, the standard protocol only needs to describe the second base image, the column grouping of the second base image, and the derivation principle for indicating that the fixed position of each column grouping is retained. The derivation principle corresponds to the first base image. The description in the standard protocol will be very concise. Accordingly, there is no need to store the first base image in the device. The stored content is also very simple, and the device is also very simple to implement.
[0176] Optionally, some or all of the rows of the second base graph of the embodiment of the present application may include multiple row groups, and the multiple row groups and the multiple column groups may constitute multiple grouping structures or grouping units. For example, the 1st to 46th rows of the second base graph are divided into 23 row groups of 2 rows, and the 1st to 22nd columns of the second base graph are divided into 11 column groups of 2 columns. The 23 row groups and 11 column groups may constitute 253 grouping units. In other words, the matrix area formed by the 1st to 46th rows and the 1st to 22nd columns of the second base graph includes or is divided into 253 grouping units of 2 rows and 2 columns. The column weight of the columns of the grouping units included in the second base graph is not greater than 1. Specifically, the grouping units included in the second base graph can be divided into three categories: the column weight of each column of the first category grouping unit is 1, the column weight of at least one column of the second category grouping unit is 1 and the column weight of the remaining columns is 0, and the column weight of each column of the third category grouping unit is 0. Because the column weights of the first, second, and third grouping units are all less than 1, the receiving device can perform multi-QC block parallel decoding on the codeword sequence corresponding to each grouping unit without encountering decoding failures, which helps improve decoding performance. Furthermore, only the second grouping unit wastes some hardware resources, thereby improving hardware utilization.
[0177] When the second base graph includes the aforementioned multiple grouping units, the first possible implementation method has the advantage of flexibly controlling the edge density of the first base graph, thereby ensuring that the edge density of the first base graph is optimal. This implementation method also ensures that the second base graph and the first base graph have more distinct advantage interval divisions.
[0178] 2) The second possible implementation method
[0179] The method of selecting the first column set based on the multiple column groups is: retaining information columns at non-fixed positions in each column group in the multiple column groups.
[0180] For example, a first sequence can be used to indicate the columns retained by each of the multiple column groupings, or in other words, the first sequence is used to indicate the columns in each of the multiple column groupings that constitute the first column set. In this implementation, the transmitting device can derive the first base graph based on the second base graph and the first sequence.
[0181] In a second possible implementation manner, an element in the first sequence may correspond to a column group, and the element is used to indicate which columns in the column group corresponding to the element are retained.
[0182] Table 1 is an example of the second possible implementation method. As shown in Table 1, the second base graph includes column groups S1 to S9, each column group includes 2 columns, assuming that S1 corresponds to the punched information column, and S2 to S9 correspond to the non-punched information columns.
[0183] Optionally, the elements in the first sequence can be a tuple as shown in the third row of Table 1, where 1 in the tuple indicates that the column at the corresponding position is retained, and 0 indicates that the column at the corresponding position is not retained. Since each column grouping includes two columns, a tuple can be used to represent the elements in the first sequence. For example, the first tuple (1, 1) in the third row indicates that both columns in column grouping S1 are retained, the second tuple (0, 0) indicates that the columns in column grouping S2 are not retained, and the third tuple (1, 0) indicates that the first column in column grouping S3 is retained and the second column in column grouping S3 is not retained. The tuple can also be other names, such as a one-dimensional vector, etc., without limitation.
[0184] Optionally, the elements in the first sequence can be modulated into high-order symbols, such as the binary group (0, 0) can be represented by the high-order symbol 0, the binary group (0, 1) can be represented by 1, the binary group (1, 0) can be represented by the high-order symbol 2, and the binary group (1, 1) can be represented by the high-order symbol 3.
[0185] Table 1
[0186] In a second possible implementation, the standard protocol may describe the second base image, the column grouping of the second base image, and the first sequence, where the first sequence corresponds to the first base image. The description in the standard protocol will be very concise, and the device may accordingly store the second base image, the column grouping of the second base image, and the first sequence without storing the first base image, and the stored content is also very simple.
[0187] 3) The third possible implementation method
[0188] The method for selecting a first column set based on multiple column groupings is to retain all columns of each column grouping in the first set and a portion of columns of each column grouping in the second set, while not retaining columns in column groupings outside the first and second sets. The first set consists of a portion of column groupings from the multiple column groups, and the second set consists of a portion of column groupings from the multiple column groups. The portion of column groupings comprising the first set and the portion of column groupings comprising the second set are different, and the total number of column groupings included in the first and second sets is less than or equal to the number of the multiple column groupings. In other words, the first column set includes all columns of each column grouping in the first set and a portion of columns of each column grouping in the second set. In this implementation, the standard protocol can describe a second base graph, column groupings of the second base graph, first information, and second information, with the first information and second information corresponding to the first base graph. The first information indicates the first set, such as the number of the column grouping that retains all columns. For example, the first information is the column grouping set {S1, S2, S3, S4, S5}, indicating that all columns of column groups S1, S2, S3, S4, and S5 are retained. The second information is used to indicate the partial columns of each column grouping in the second set, such as the column grouping numbers of the reserved partial columns and the corresponding column numbers of the reserved columns. For example, the second information is {(S6, 1), (S6, 2), (S7, 1)}, indicating that the first column of column grouping S6, the second column of column grouping S6, and the first column of column grouping S7 are reserved. Accordingly, the device can store the second base graph, the column groupings of the second base graph, the first information, and the second information, without having to store the first base graph. The stored content is also very simple. In this implementation, the transmitting device can determine the first base graph based on the second base graph, the first information, and the second information.
[0189] Exemplarily, the first information is used to indicate the number of the column group that retains all columns, and the second information is used to indicate the number of the column group that retains some columns and the column numbers of the corresponding retained columns.
[0190] For example, assuming that each column group includes 3 columns, the first information is the column group set {S1, S2, S3, S4, S5}, indicating that all columns of column groups S1, S2, S3, S4, and S5 are retained, and the second information is {(S6, 1), (S6, 2), (S7, 1)}, indicating that the first column of column group S6, the second column of column group S6, and the first column of column group S7 are retained.
[0191] Exemplarily, the second set includes at most one column grouping. In other words, the first column set is selected based on the multiple column groupings by retaining all columns of some of the multiple column groupings and some columns of at most one of the multiple column groupings. For example, all columns of some of the column groupings of L3 are retained, meaning that the second column grouping set is an empty set.
[0192] Optionally, some or all of the rows of the second base graph of the embodiment of the present application may include multiple row groups, and the multiple row groups and the multiple column groups may constitute multiple grouping structures or grouping units. The column weights of the columns of the grouping units included in the second base graph are not greater than 1. Specifically, the grouping units included in the second base graph can be divided into three categories: the column weight of each column of the first category of grouping units is 1, the column weight of at least one column of the second category of grouping units is 1 and the column weights of the remaining columns are 0, and the column weight of each column of the third category of grouping units is 0. For a specific description, please refer to the first possible implementation method. In this case, applying the third possible implementation method can retain most of the grouping units of the second base graph, which helps to improve the utilization of hardware resources.
[0193] In the above implementations, the second base map is the largest base map stored in the transmitting device, and the transmitting device directly obtains the first base map required by the transmitting device based on the second base map.
[0194] In other embodiments of the present application, the second base graph may not be the largest base graph stored by the transmitting device, but may be a base graph derived from the largest base graph stored by the transmitting device. The transmitting device may first derive the second base graph based on the stored largest base graph, and then derive the first base graph from the second base graph. This derivation method is hereinafter referred to as a nested derivation method. The second base graph is composed of the second column set and all check columns of the largest base graph stored by the transmitting device, the second column set is composed of partial information columns of the largest base graph stored by the transmitting device, and the second column set includes the first column set.
[0195] Taking the LDPC code provided in the embodiments of this application as an example, involving three base graphs: the largest base graph, the second base graph, and the first base graph, it is assumed that the largest base graph stored on the transmitting device is BG1, the second base graph is BG2, and the first base graph is BG3. BG2 and BG3 can be derived from BG1. BG3 can be derived directly from BG1, or a nested derivation method can be used: first derive BG2 from BG1, and then derive BG3 from BG2.
[0196] Let L1 be the set of puncture information columns of the base graph, L2 be the set of core checksum columns of the base graph, L3 be the set of non-puncture information columns of the base graph, and L4 be the set of extended checksum columns of the base graph. If the base graph does not include puncture information columns, then L1 is an empty set. If the base graph does not include extended checksum columns, then L4 is an empty set.
[0197] For example, the columns of BG1 are grouped into three adjacent columns, BG2 includes all columns of L1 of BG1, all columns of L2 of BG1, the first to second columns of each column grouping in multiple column groupings of L3 of BG1, and all columns of L4 of BG1, and BG3 includes all columns of L1 of BG1, all columns of L2, the first column of each column grouping in multiple column groupings of L3, and all columns of L4. Then, the derivation of BG3 can be directly obtaining all columns of L1 of BG1, all columns of L2 of BG1, and all columns of L4. , the first column of each column grouping in the multiple column groupings of L3 of BG1, and all columns of L4 of BG1, or first obtain all columns of L1 of BG1, all columns of L2 of BG1, the first to second columns of each column grouping in the multiple column groupings of L3 of BG1, and all columns of L4 of BG1 to obtain BG2, and then obtain all columns of L1 of BG2, all columns of L2 of BG2, the first column of each column grouping in the multiple column groupings of L3 of BG2, and all columns of L4 of BG2 to obtain BG3. In this case, the standard protocol can describe that the way BG1 derives BG2 is to select the 1st to 2nd columns of each column grouping in the multiple column groupings of L3 of BG1, and the way BG2 derives BG3 is to select the 1st column of each column grouping in the multiple column groupings of L3 of BG2, or describe that BG1 derives BG2 is to select the 1st to 2nd columns of each column grouping in the multiple column groupings of L3 of BG1, and the way BG1 derives BG3 is to select the 1st column of each column grouping in the multiple column groupings of L3 of BG1.
[0198] For example, BG1 includes 2 punching information columns, 4 core check columns and 30 non-punching information columns, and the non-punching information columns of BG1 are grouped into groups of 3 adjacent columns; BG2 includes 2 punching information columns of BG1, 4 core check columns of BG1, and 2 columns in each column grouping included in the column grouping of the non-punching information columns of BG1, and the non-punching information columns of BG2 are grouped into groups of 2 adjacent columns; BG3 includes 2 punching information columns of BG2, 4 core check columns of BG2, and 1 column in each column grouping included in the column grouping of the non-punching information columns of BG2. In this case, the export of BG3 can be directly obtaining 1 column from each column grouping including the 2 punching information columns of BG1, the 4 core check columns of BG1, and the non-punching information columns of BG1, or first obtaining 2 columns from each column grouping including the 2 punching information columns of BG1, the 4 core check columns of BG1, and the non-punching information columns of BG1 to obtain BG2, and then obtaining 2 columns from each column grouping including the 2 punching information columns of BG2, the 4 core check columns of BG2, and the non-punching information columns of BG2 to obtain BG3, without limitation.
[0199] For cases involving more base graphs, the nested derivation method can be derived by analogy based on the nested derivation involving three base graphs.
[0200] For example, BG1 includes 2 punching information columns, 4 core check columns and 40 non-punching information columns, and the non-punching information columns of BG1 are grouped into groups of 4 adjacent columns; BG2 includes 2 punching information columns of BG1, 4 core check columns of BG1, and 3 columns in each column grouping included in the column grouping of the non-punching information columns of BG1, and the non-punching information columns of BG2 are grouped into groups of 3 adjacent columns; BG3 includes 2 punching information columns of BG2, 4 core check columns of BG2, and 2 columns in each column grouping included in the column grouping of the non-punching information columns of BG2; BG4 includes 2 punching information columns of BG3, 4 core check columns of BG2, and 1 column in each column grouping included in the column grouping of the non-punching information columns of BG2. In this case, the export of BG4 can be done by directly obtaining the two punching information columns of BG1, the four core check columns of BG1, and one column from each column grouping included in the non-punching information columns of BG1, or by first obtaining the two punching information columns of BG1, the four core check columns of BG1, and three columns from each column grouping included in the non-punching information columns of BG1 to obtain BG2, and then obtaining the two punching information columns of BG2, the four core check columns of BG2, and one column from each column grouping included in the non-punching information columns of BG2 to obtain BG4. G4 can also be achieved by first obtaining the two punching information columns of BG1, the four core check columns of BG1, and the three columns of each column group included in the non-punching information columns of BG1 to obtain BG2, and then obtaining the two punching information columns of BG2, the four core check columns of BG2, and the two columns of each column group included in the non-punching information columns of BG2 to obtain BG3, and then obtaining the two punching information columns of BG3, the four core check columns of BG3, and one column of each column group included in the column group included in the non-punching information columns of BG3 to obtain BG4, without limitation.
[0201] In this way, if you use nested export to export BG X, the standard protocol defines all edge relationships of BG1, the offset values of BG1's non-zero elements, and the method for selecting columns from BG1's L3, BG2's L3, ..., and BGx-1. It does not need to describe the edge relationships of BG2, BG3, ..., and BGx, nor the offset values of the non-zero elements of BG2, BG3, ..., and BGx, resulting in a very concise description. Accordingly, the transmitting device stores all edge relationships of BG1, the offset values of BG1's non-zero elements, and the method for selecting columns from BG1's L3, BG2's L3, ..., and BGx-1. It does not need to store the edge relationships of BG2, BG3, ..., and BGx, nor the offset values of the non-zero elements of BG2, BG3, ..., and BGx, significantly reducing the storage space.
[0202] When adopting the nested export method, the way in which the sending end device exports the second base graph from the stored largest-scale base graph, and the way in which the sending end device exports the first base graph from the second base graph can refer to the way in which the first base graph is exported from the second base graph mentioned above. The difference is that the fixed position, first sequence, first information and second information involved in the export process are different. For example, when the second base graph is exported from the stored largest-scale base graph, the export principle is used to indicate the fixed position of each column grouping that needs to be retained to obtain the second base graph, the first sequence is used to indicate the columns in each column grouping of the multiple column groups of the largest-scale base graph that constitute the second column set, the first information and the second information correspond to the second base graph, the first information is used to indicate the column grouping that retains all columns required to obtain the second base graph, and the second information is used to indicate the column grouping that retains some columns required to obtain the second base graph and the columns in the corresponding column grouping.
[0203] In some embodiments of the present application, a nested derivation of a base graph can be represented by a storage sequence having a clear segmented structure, wherein an element of the storage sequence can correspond to a column, such as a sequence consisting of column numbers. Different base graphs can be obtained based on sequences of different lengths intercepted from the storage sequence. For example, a first base graph can be obtained by intercepting the first P elements of the storage sequence to obtain a first sequence of length P. The number of columns selected based on multiple column groupings in the first column set of the first base graph is P, and an element of the first sequence can correspond to one of the P columns selected based on the multiple column groupings.
[0204] It should be noted that when the storage sequence consists of column numbers, the column numbers in the storage sequence can be the column numbers when all information columns of the largest base image stored by the transmitting device are numbered together, or the column numbers when all non-punched information columns of the largest base image stored by the transmitting device are numbered together, without limitation. For example, when the first column set consists of columns selected based on multiple column groupings and punched information columns, the column numbers in the storage sequence can be the column numbers when all information columns of the largest base image stored by the transmitting device are numbered together, or the column numbers when all non-punched information columns of the largest base image stored by the transmitting device are numbered together. For another example, when the first column set consists of columns selected based on multiple column groupings, the column numbers in the storage sequence can be the column numbers when all information columns of the largest base image stored by the transmitting device are numbered together.
[0205] Exemplarily, let L1 represent the set of punctured information columns of the base graph, L2 represent the set of core check columns of the base graph, L3 represent the set of non-punctured information columns of the base graph, and L4 represent the set of extended check columns of the base graph. If the base graph does not include a punctured information column, L1 is an empty set. If the base graph does not include an extended check column, L4 is an empty set. The storage sequence θ can be a permutation of the column numbers of the columns in L3 of the largest base graph stored by the transmitting device. If the transmitting device wants to use a base graph with |L1|+P columns of information columns, the transmitting device can intercept the first P elements of the storage sequence θ {θ(1),θ(2),…,θ(P)}. The set of information columns contained in the base graph is L1∪{θ(1),θ(2),…,θ(P)}.
[0206] Taking the largest base graph stored in the transmitting device as BG1, the second base graph as BG2, and the first base graph as BG3 as an example, assume that the multiple column groupings of BG1L3 are obtained by grouping the three adjacent columns of L3 into a group, and the way to derive BG2 from BG1 is to select the first to second columns of each column grouping in the multiple column groupings of L3 of BG1, and the way to derive BG3 from BG2 is to select the first column of each column grouping in the multiple column groupings of L3 of BG2. In this case, the storage sequence θ can be {1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33}, and every 11 elements of the storage sequence θ can be divided into a segment. The entire storage sequence θ corresponds to L3 of BG1; the first two segments of the storage sequence θ, that is, the first 22 elements {1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32} correspond to L3 of BG2; the first segment of the storage sequence θ, that is, the first 11 elements {1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31} corresponds to L3 of BG3.
[0207] The advantage of obtaining the first column set according to the above storage sequence is that the base graphs of different advantage intervals can be screened more finely and more applicable base graphs can be derived.
[0208] In an embodiment of the present application, the first base graph may be in the form of a table, and the table corresponding to the first base graph may include two situations, as follows.
[0209] Case 1: The column numbers of the columns in the table corresponding to the first base graph are continuous.
[0210] In case 1, in the process of obtaining the first base graph, it is necessary to generate the edge relationship and offset value of each element of the first base graph according to the edge relationship and offset value of each element of the second base graph.
[0211] Taking the example of multiple column groupings consisting of non-punched information columns of the second base image, and the first column set consisting of columns selected based on the multiple column groupings and punched information columns of the second base image, the correspondence between the edge relationship and offset value of each element of the first base image and the edge relationship and offset value of each element of the second base image is as follows.
[0212] Let L1 be the set of puncture information columns of the base graph, and L3 be the set of non-puncture information columns of the base graph. Group L3 of the second base graph into columns, and obtain t column groups, L3 = L′1∪…∪L′ t , Suppose the method of deriving L3 of the first base graph from the second base graph is to select group L′ iof Column collection, If represents the cth selected column, the edge relationships contained in the rows of the first base graph include the following three cases:
[0213] 1) When j∈L1, E2(i,j)=E1(i,j);
[0214] 2) When |L1|≤j≤|L1|+∑ 1≤w≤t |f(L′ w )|, where k = arg max x |L1|+∑ 1≤w≤x |f(L′ w )|)≤j;
[0215] 3) When j≥|L1|+∑ 1≤w≤t |f(L w )|,E2(i,j)=E1(i,j+∑ 1≤w≤t |L w |-|f(L w )|)).
[0216] Among them, j represents the j-th row of the first base graph, E1(i, j) represents the edge relationship between the i-th row and j-th column of the second base graph (including both the existence and non-existence of the edge), E2(i, j) represents the edge between the i-th row and j-th column of the first base graph, and |·| represents the number of elements in the set.
[0217] The offset value of the first base graph is consistent with the edge relationship contained in the rows of the first base graph, and also includes three cases, as follows:
[0218] 1) When j∈L1, S2(i,j)=S1(i,j);
[0219] 2) When |L1|≤j≤|L1|+∑ 1≤w≤t |f(L′ w )|, where k = arg max x |L1|+∑ 1≤w≤x |f(L′ w )|)≤j;
[0220] 3) When j≥|L1|+∑ 1≤w≤t |f(L w )|,S2(i,j)=S1(i,j+∑ 1≤w≤t |L w |-|f(L w )|)).
[0221] Wherein, j represents the jth row of the first base graph, S1(i, j) represents the offset value of the element in the i-th row and j-th column of the second base graph, S2(i, j) represents the offset value of the i-th row and j-th column of the first base graph, and |·| represents the number of elements in the set.
[0222] In case 1, since the column number and offset value are modified accordingly in the process of obtaining the first base image, encoding and rate matching can be performed directly according to the first base image without additional operations.
[0223] Case 2: The numbers of the columns in the table corresponding to the first base diagram are the same as the numbers of the columns in the table corresponding to the second base diagram.
[0224] In case 2, columns not included in the first base graph can be directly deleted from the table corresponding to the second base graph. Since only unused columns are deleted, the column numbers and edge relationships of the columns retained in the first base graph remain unchanged relative to the second base graph. In this case, the encoding process using the first base graph needs to be modified, mainly in terms of shortened bits.
[0225] Given the target information length is K′, the improvement value is Z c , let the set of unused columns be L′1, L′2, …, L′ t , then there is an indicator sequence δ, δ(j)= <null>, where j∈[(L′ i -1)Z c +1,L′ i Z c ], j is an integer, where 1≤i≤t. If δ(i)≠ <null>, then the bit sequence to be encoded γ = information bits; if δ(i) = <null>, then γ=0. Then the bit sequence γ to be coded is encoded.
[0226] Figure 7 shows an example of two cases of tables corresponding to the first base graph. Taking the second base graph as BG1 and the first base graph as BG2 as an example, BG2 Table 1 in Figure 7 corresponds to the second case, and BG2 Table 2 corresponds to the first case.
[0227] In some embodiments of the present application, the transmitting end device may further determine to use the first base graph to perform LDPC encoding on the information bit sequence before step 602. The embodiments of the present application do not limit the specific implementation manner in which the transmitting end device determines to use the first base graph to perform LDPC encoding on the information bit sequence.
[0228] In one possible implementation, the transmitting device determines to use the first base graph to perform LDPC encoding on the information bit sequence based on the screening information. The screening information includes at least one of the following information: the application scenario corresponding to the information bit sequence, the code rate required to transmit the information bit sequence (hereinafter referred to as the target code rate), the code length required to transmit the information bit sequence (hereinafter referred to as the target code length), or the number of non-zero elements included in the first base graph. The application scenario may include at least one of the following scenarios: a high-throughput scenario, a high-reliability scenario, a low-latency scenario, a high-reliability and low-latency scenario, or a low-power consumption scenario. The high-throughput scenario may be, for example, an enhanced mobile broadband (eMBB) scenario, the high-reliability and low-latency scenario may be, for example, a URLLC (Ultra Reliable Low Latency Communication) scenario, and the low-power consumption scenario may be, for example, an M2M scenario, an MTC scenario, or an IoT scenario. Optionally, the screening information may also include capability information of the terminal device and / or performance information of the terminal device.
[0229] When the screening information includes at least one of the code length required to transmit the information bit sequence, the code rate required to transmit the information bit sequence, or the number of non-zero elements included in the first base graph, and the application scenario corresponding to the information bit sequence, the transmitting device determines to use the first base graph to perform LDPC encoding on the information bit sequence based on the screening information, which may include: when the application scenario corresponding to the information bit sequence belongs to a predefined scenario, the transmitting device determines to use the first base graph corresponding to the application scenario corresponding to the information bit sequence to perform LDPC encoding on the information bit sequence, and / or, when the application scenario corresponding to the information bit sequence does not belong to the predefined scenario, the transmitting device may further perform screening to determine to perform LDPC encoding on the information bit sequence based on the first base graph based on at least one of the target code length, the target code rate, or the number of non-zero elements included in the first base graph.
[0230] As an example, the transmitting device may filter based on the filtering information according to the following principles: first, determine whether the application scenario corresponding to the information bit sequence is an application scenario specified in the standard protocol. If the application scenario corresponding to the information bit sequence is an application scenario specified in the standard protocol, then select a basemap according to the filtering principle of the application scenario. The filtering principles for each application scenario will be described below. If the application scenario corresponding to the information bit sequence is not an application scenario specified in the standard protocol, then prioritize filtering based on the target code rate and the code rate range supported by each basemap. If only one basemap supports the target code rate, then that basemap is selected as the first basemap. If multiple basemaps support the target code rate, then further filtering is performed based on the target code length and the code length range supported by the multiple basemaps supporting the target code rate. If only one basemap supports the target code length, then that basemap is selected as the first basemap. If multiple basemaps support the target code length, then further filtering is performed based on the number of non-zero elements in the multiple basemaps supporting the target code length. For example, the basemap with the least number of non-zero elements in the multiple basemaps supporting the target code length is selected as the first basemap.
[0231] When the filtering information includes the target code length, the target code rate, or the number of non-zero elements included in the first base graph, the principle for the transmitting device to filter based on the filtering information can be: preferentially filter based on the target code rate and the code rate range supported by each base graph. If only one base graph supports the target code rate, then the base graph is selected as the first base graph; if multiple base graphs support the target code rate, then the filtering is further performed based on the target code length and the code length range supported by the multiple base graphs supporting the target code rate. If only one base graph supports the target code length, then the base graph is selected as the first base graph; if multiple base graphs support the target code length, then the filtering is further performed based on the number of non-zero elements of the multiple base graphs supporting the target code length, such as selecting the base graph with the least number of non-zero elements among the multiple base graphs supporting the target code length as the first base graph.
[0232] In the embodiments of the present application, there are many ways to determine the application scenarios corresponding to the information bit sequence, which are not limited.
[0233] Method 1: The transmitting device may determine the application scenario corresponding to the information bit sequence based on the control signaling between the transmitting device and the receiving device, thereby determining whether the application scenario corresponding to the information bit sequence is an application scenario defined in the standard protocol.
[0234] Method 2: The transmitting end device may determine the application scenario corresponding to the information bit sequence according to the Modulation and Coding Scheme (MCS) table, thereby determining whether the application scenario corresponding to the information bit sequence is an application scenario defined in the standard protocol.
[0235] In the embodiments of the present application, application scenarios can be distinguished based on indicators such as code length and code rate, or the corresponding scenario types can be directly specified in the standard protocol without limitation.
[0236] The following describes the screening principles in several application scenarios.
[0237] 1) High-throughput scenarios
[0238] High-throughput scenarios require extremely high bit rates and medium code lengths (approximately 1k to 2k).
[0239] For high-throughput scenarios, there are many ways to implement the base graph screening principles, and there are no restrictions.
[0240] In one possible implementation, when the target bit rate is higher than a first threshold, the largest base graph stored in the transmitting device is selected as the first base graph. Optionally, the first threshold may be 0.926, 0.917, or 5 / 6.
[0241] In another possible implementation, when multiple basemaps support the target bit rate, further screening can be performed based on the target code length and the code length range supported by the basemaps supporting the target bit rate. If only one basemap supports the target code length, that basemap is selected as the first basemap. If multiple basemaps support the target code length, further screening is performed based on the number of non-zero elements in the basemaps supporting the target code length. For example, the basemap with the least number of non-zero elements among the basemaps supporting the target code length is selected as the first basemap.
[0242] It should be noted that in some implementations, for high throughput scenarios, the information bits corresponding to the puncturing information columns of the base image must also be sent.
[0243] 2) High reliability and low latency scenarios
[0244] Typically, high-reliability and low-latency scenarios require extremely low bit rates and medium-short code lengths (approximately within 2k).
[0245] For high-reliability and low-latency scenarios, there are many ways to implement the base graph screening principle without any restrictions.
[0246] In one possible implementation, when the target bitrate is lower than a second threshold, another basemap is selected as the first basemap instead of the largest basemap stored by the transmitting device. Other basemaps can be derived from the largest basemap stored by the transmitting device. Optionally, the second threshold can be 1 / 3, 2 / 5, 1 / 5, or 1 / 6, etc.
[0247] Another possible implementation method is to set multiple bitrate thresholds, with different bitrate intervals corresponding to different base graphs. When the target bitrate falls within a certain bitrate interval, the base graph corresponding to the bitrate interval is selected as the first base graph.
[0248] It should be pointed out that in some implementations, for URLLC scenarios, the information bits corresponding to the puncturing columns of the base image must also be sent.
[0249] 3) Low power consumption scenario
[0250] Low-power scenarios require a small base graph size, low boost value, and a small number of non-zero elements. There are many ways to implement the base graph selection principle for low-power scenarios, and there are no restrictions. One possible implementation method is to prioritize the number of non-zero elements in the base graph, such as selecting the base graph with the fewest non-zero elements as the first base graph.
[0251] It should be noted that the above application scenarios and corresponding screening principles are only examples. In the future, there may be more application scenarios, and accordingly, screening principles can also be defined for these application scenarios.
[0252] In the embodiments of the present application, the first base graph determined by the transmitting device includes two situations: one situation in which the first base graph is the largest base graph stored by the transmitting device, and the other situation in which the first base graph is a base graph that can be derived from the largest base graph. In different situations, the transmitting device uses different methods to obtain the first base graph.
[0253] FIG8 is a schematic diagram of an encoding chain according to an embodiment of the present application.
[0254] As shown in Figure 8, the transmitting end device can screen the base graph according to at least one of the application scenario, target code rate, target code length or the number of non-zero elements included in the base graph, and determine to use the first base graph. In response to different situations of the first base graph, the coding chain is divided into two branches. One branch corresponds to the situation where the first base graph is the base graph of the largest scale stored by the transmitting end device. In this branch, the transmitting end device can directly read the base graph of the largest scale as the first base graph. The other branch corresponds to the situation where the first base graph is a base graph that can be derived from the base graph of the largest scale. In this branch, the transmitting end device needs to derive the first base graph based on the base graph of the largest scale. The specific derivation method can be as described above.
[0255] In step 603, the transmitting device sends the LDPC codeword sequence to the receiving device, or in other words, the receiving device receives the LDPC codeword sequence from the transmitting device.
[0256] It should be noted that since the LDPC codeword sequence may introduce channel noise signals during the transmission process, the LDPC codeword sequence output or sent by the transmitting device may be different from the LDPC codeword sequence received by the receiving device.
[0257] Step 604: The receiving end device decodes the LDPC codeword sequence according to the first base graph.
[0258] The first base graph used by the receiving device for decoding is the same as the first base graph used by the receiving device for encoding. The manner in which the receiving device derives the first base graph based on the second base graph, and the manner in which the first base graph is used to decode the LDPC codeword sequence are the same as those implemented by the transmitting device. For related descriptions, please refer to the description on the receiving device side and will not be repeated here.
[0259] Furthermore, for the two cases corresponding to the table of the first base graph, the receiving device operates as follows: In case 1, the receiving device can directly decode the LDPC codeword sequence of the first base graph. In case 2, the receiving device can fill in the information columns that are not included in the first base graph and belong to the second base graph.
[0260] The following describes the information length, code length, and code rate of the base image according to the embodiment of the present application by taking the second base image as BG1, the first base image as BGx, and the column grouping of the non-punctured information columns of the second base image as an example.
[0261] Assume that the number of punctured columns in BG1 is N1, the number of non-punctured information columns is N2, the number of core parity columns is N3, and the number of extended parity columns is N4. The number of rows in BG1 is N3 + N4. Thus, the range of information length, code length, and code rate of BG1 are:
[0262] Message length range: [(N1+N2)Z c-min , (N1+N2)Z c-max ];
[0263] Code length range: [(N1+N2+N3)Z c-min , (N1+N2+N3+N4)Z c-max ];
[0264] Bitrate range:
[0265] Group the non-punctured information columns of BG1, and the t subsets obtained by column grouping are L′1∪…∪L′ t If BGx is generated by selecting column group L′ i of Column set, then the number of non-punctured information columns of BGx is ∑ 1≤w≤t |f(L′ w )|. Thus, the information length range, code length range, and code rate range of BGx are:
[0266] Information length range:
[0267] Code length range:
[0268] Bitrate range:
[0269] As x increases, the number of punctured columns, core parity columns, and extended parity columns in BGx remains unchanged, while the number of non-punctured information columns decreases. This reduces both the maximum and minimum code rates supported by BGx, and also reduces the maximum code length range supported by BGx. BGx and BG1 may share a common code length and rate range, which can be determined by factors such as throughput, latency requirements, performance, and CB-level CRC loss.
[0270] A specific example is: the number of punctured columns in BG1 is 2, the number of information columns in non-punctured columns is 30, the number of core check columns is 4, and the number of extended check columns is 42. The information columns of non-punctured columns of BG1 are grouped into groups of 3 columns, so there are 10 groups; the information columns of BG2 are composed of the punctured columns of BG1 and the first and second columns of each column group; the information columns of BG3 are composed of the punctured columns of BG1 and the first column of each column group. In this way, the code rate range of BG1 is [0.4211, 0.9412] and the information length range is [32Z]. c-min , 32Z c-max ], the code rate range of BG2 is [1 / 3, 0.9167], and the information length range is [22Z c-min , 22Z c-max ], the code rate range of BG3 is [0.8571, 0.2143], and the information length range is [12Z c-min , 12Z c-max ]. It can be seen that compared with BG1, the maximum and minimum bit rates supported by BG2 and BG3 are lower, and the maximum information length range supported by BG2 and BG3 is also reduced. BG2, BG3 and BG1 have a common bit rate range.
[0271] It should be noted that the multiple base images involved in this application can be applied to different scenarios or to the same scenario without limitation.
[0272] The performance of the LDPC code of the embodiment of the present application is described below in conjunction with simulation results.
[0273] FIG9 is a simulation result 1 of the signal-to-noise ratio of LDPC codes at different code rates.
[0274] The signal-to-noise ratio (SNR) reflects the ultimate performance of decoding. Figure 9 shows the simulation results of the SNR of the NR LDPC code using BG1 and the LDPC code proposed in this application at different code rates. As shown in Figure 9, the SNR of the NR LDPC code using BG1 and the LDPC code proposed in this application are basically the same at all code rates.
[0275] FIG10 is a second simulation result of the SNR of LDPC codes at different code rates.
[0276] Figure 10 shows the simulation results of the signal-to-noise ratio (SNR) of the NR LDPC code using BG2 and the LDPC code proposed in this application at different code rates. As shown in Figure 10, the SNR of the NR LDPC code using BG2 and the LDPC code proposed in this application are also basically the same at various code rates.
[0277] FIG11 is a simulation result 1 of the signal-to-noise ratio of LDPC codes with different information lengths and different code rates.
[0278] Figure 11 shows the simulation results of the signal-to-noise ratio of the NR LDPC code using BG1 and the LDPC code proposed in this application under different information lengths, different code rates, and 20 rounds of aligned decoding iterations. In Figure 11, the solid line represents the simulation results of the NR LDPC code using BG1, and the dotted line represents the simulation results of the LDPC code proposed in this application. From top to bottom, the code rates corresponding to the four groups of curves decrease successively. As shown in Figure 11, the signal-to-noise ratio of the NR LDPC code using BG1 and the LDPC code proposed in this application are basically the same at various information lengths. In other words, the LDPC code proposed in this application does not lose decoding performance compared to the NR LDPC code using BG1.
[0279] FIG12 is a second simulation result of the signal-to-noise ratio of LDPC codes with different information lengths and different code rates.
[0280] Figure 12 shows the simulation results of the signal-to-noise ratio of the NR LDPC code using BG2 and the LDPC code proposed in this application under different information lengths, different code rates, and 20 rounds of parallel decoding iterations. In Figure 12, the solid line represents the simulation results of the NR LDPC code using BG2, and the dotted line represents the simulation results of the LDPC code proposed in this application. From top to bottom, the code rates corresponding to the four groups of curves decrease. As shown in Figure 12, the LDPC code proposed in this application does not lose decoding performance compared to the NR LDPC code using BG2, and the performance of the LDPC code proposed in this application is more stable at high code rates.
[0281] FIG13 is a simulation result of the equivalent number of decoding QC blocks for different base graphs of the LDPC code proposed in this application.
[0282] The number of equivalent decoding QC blocks can reflect the performance in aspects such as decoding complexity and latency. FIG. 13 shows the simulation results of the number of equivalent decoding QC blocks of BG1, BG2, and BG3 based on the LDPC code proposed in this application under different code lengths, where FIGS. 13(a) to 13(f) correspond to the code length ranges of K <= 1920, 1920 < K <= 3840, 3840 < K <= 4096, 4096 < K <= 4224, 4224 < K <= 6144, and 6144 < K <= 7096 respectively. The number of information columns of BG1 is 33, the number of information columns of BG2 is 22, and the number of information columns of BG3 is 10. It can be seen from FIG. 13 that the advantageous interval of BG2 is mainly in the short code and low code rate regions, and the advantageous interval of BG3 is mainly in the long code and high code rate regions. Thus, based on the advantageous intervals of different base graphs, only storing BG1 and deriving the required base graphs based on BG1 helps to obtain base graphs with lower latency and complexity.
[0283] The method embodiments provided in this application have been described in detail above in conjunction with FIGS. 1 to 13. The device embodiments of this application will be described below in conjunction with FIGS. 14 to 16.
[0284] It can be understood that, in order to implement the functions in the above embodiments, the devices in FIGS. 14 to 16 include the corresponding hardware structures and / or software modules for performing each function. Those skilled in the art should easily realize that, in combination with the units and method steps of each example described in the embodiments disclosed in this application, this application can be implemented in the form of hardware or a combination of hardware and computer software.
[0285] FIGS. 14 and 15 are schematic diagrams of possible structures of the devices provided in the embodiments of this application. These devices can be used to implement the functions of the sending end device or the receiving end device in the above method embodiments, and thus can also achieve the beneficial effects possessed by the above method embodiments.
[0286] As shown in FIG. 14, device 10 includes a transceiver unit 11 and a processing unit 12.
[0287] When device 10 is used to implement the functions of the sending end device in FIG. 6, transceiver unit 11 is used to perform the transceiver steps of the sending end device, such as step 603, and processing unit 12 is used to perform the processing steps of the sending end device, such as steps 601 and 602. When device 10 is used to implement the functions of the receiving end device in FIG. 6, transceiver unit 11 is used to perform the transceiver steps of the receiving end device, such as step 603, and processing unit 12 is used to perform the processing steps of the receiving end device, such as step 604.
[0288] For a more detailed description of the above transceiver unit 11 and processing unit 12, reference can be made to the relevant descriptions in the above method embodiments, which will not be elaborated here.
[0289] As shown in FIG15 , the apparatus 20 includes a processor 21. The processor 21 is coupled to a memory 23, which is used to store instructions. When the apparatus 20 is used to implement the method described above, the processor 21 is used to execute the instructions in the memory 23 to implement the functions of the processing unit 12 described above.
[0290] Optionally, the device 20 further includes a memory 23 .
[0291] Optionally, the apparatus 20 further includes an interface circuit 22. The processor 21 and the interface circuit 22 are coupled to each other. It will be appreciated that the interface circuit 22 may be a transceiver or an input / output interface. When the apparatus 20 is used to implement the method described above, the processor 21 is configured to execute instructions to implement the functions of the processing unit 12, and the interface circuit 22 is configured to implement the functions of the transceiver unit 11.
[0292] Exemplarily, when apparatus 20 is a chip applied to a transmitting device or a receiving device, the chip implements the functions of the transmitting device or the receiving device in the above-described method embodiments. The chip receives information from other modules (such as a radio frequency module or an antenna) in the transmitting device or the receiving device, where the information is sent to the transmitting device or the receiving device by other devices; or the chip sends information to other modules (such as a radio frequency module or an antenna) in the transmitting device or the receiving device, where the information is sent to other devices by the transmitting device or the receiving device.
[0293] 16 is a schematic diagram of a chip system 30 according to an embodiment of the present application. The chip system 30 (or also referred to as a processing system) includes a logic circuit 31 and an input / output interface 32.
[0294] The logic circuit 31 may be a processing circuit in the chip system 30. The logic circuit 31 may be coupled to a storage unit and call instructions in the storage unit so that the chip system 30 can implement the methods and functions of the various embodiments of the present application. The input / output interface 32 may be an input / output circuit in the chip system 30, outputting information processed by the chip system 30 or inputting data or signaling information to be processed into the chip system 30 for processing.
[0295] As a solution, the chip system 30 is used to implement the operations performed by the transmitting end device or the receiving end device in each of the above method embodiments.
[0296] For example, the logic circuit 31 is used to implement the processing-related operations performed by the sending device or the receiving device in the above method embodiment; the input / output interface 32 is used to implement the sending and / or receiving-related operations performed by the sending device or the receiving device in the above method embodiment.
[0297] The present application also provides a communication device, comprising a processor coupled to a memory, the memory being configured to store computer programs or instructions and / or data, the processor being configured to execute the computer programs or instructions stored in the memory, or to read data stored in the memory, to perform the methods described in the above method embodiments. Optionally, there are one or more processors. Optionally, the communication device includes a memory. Optionally, there are one or more memories. Optionally, the memory is integrated with the processor or provided separately.
[0298] The present application also provides a chip, including a processor, which is coupled to a memory, the memory is used to store computer programs or instructions, and the processor is used to execute the computer programs or instructions stored in the memory to implement the methods performed by the sending device or the receiving device in the above-mentioned method embodiments.
[0299] The present application also provides a computer-readable storage medium storing computer instructions for implementing the methods executed by a transmitting device or a receiving device in the above-mentioned method embodiments.
[0300] The present application also provides a computer program product comprising instructions, which, when executed by a computer, implement the methods performed by a transmitting device or a receiving device in the above-mentioned method embodiments.
[0301] The present application also provides a communication system, which includes at least one of the transmitting end device or the receiving end device in the above embodiments.
[0302] The explanation of the relevant contents and beneficial effects of any of the above-mentioned devices can be referred to the corresponding method embodiments provided above, which will not be repeated here.
[0303] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0304] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules 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, mobile hard disks, compact disc read-only memory (CD-ROM) or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a transmitting device or a receiving device. Of course, the processor and storage medium can also be present in a transmitting device or a receiving device as discrete components.
[0305] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented 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 the present application are performed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, or other programmable device. The computer program or instructions may 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 may 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 may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; an optical medium, such as a digital video disk; or a semiconductor medium, such as a solid-state drive.
[0306] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0307] Unless otherwise indicated, all technical and scientific terms used in the embodiments of the present application have the same meaning as those generally understood by those skilled in the art of the technical field of the application. The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit the scope of the application. It should be understood that the above are for illustration, and the examples above are only for helping those skilled in the art to understand the embodiments of the present application, rather than limiting the application embodiments to the specific numerical values or specific scenarios illustrated. Those skilled in the art can obviously carry out various equivalent modifications or changes based on the examples given above, and such modifications and changes also fall within the scope of the embodiments of the present application.< / null> < / null> < / null>
Claims
1. A communication method based on low-density parity check (LDPC) codes, characterized in that: The method comprises: Obtaining an information bit sequence; encoding the information bit sequence according to a first base graph to obtain an LDPC codeword sequence, wherein the first base graph is composed of a first column set and a check column of a second base graph, the first column set is obtained based on at least one of a plurality of column groups included in an information column of the second base graph, column numbers included in any two column groups in the plurality of column groups are not repeated, and the second base graph is composed of a check column and an information column; Output the LDPC codeword sequence.
2. The method according to claim 1, characterized in that The first column set consists of partial information columns of the second base graph.
3. The method according to claim 1 or 2, characterized in that: The plurality of column groups are composed of information columns of the second base graph, and the first column set is composed of columns selected based on the plurality of column groups; or, The plurality of column groups consist of non-puncture information columns of the second base image, and the first column set consists of columns selected based on the plurality of column groups and puncture information columns of the second base image.
4. The method according to claim 3, characterized in that The number of columns included in the plurality of column groups is 26, and the number of columns included in each of the plurality of column groups is 2; or, The number of columns included in the plurality of column groups is 33 or 30, and the number of columns included in each of the plurality of column groups is 3; or, The number of columns included in the plurality of column groups is 36 or 40, and the number of columns included in each of the plurality of column groups is 4.
5. The method according to claim 4, characterized in that The number of puncturing information columns included in the second base image is 0, 1 or 2.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Determine, according to the screening information, to perform LDPC encoding on the information bit sequence according to the first base graph; The screening information includes at least one of the following information: an application scenario of the information bit sequence, a code length required to transmit the information bit sequence, a code rate required to transmit the information bit sequence, or the number of non-zero elements included in the first base graph.
7. The method according to claim 6, characterized in that The application scenario includes at least one of the following scenarios: a high throughput scenario, a high reliability scenario, a low latency scenario, a high reliability and low latency scenario, or a low power consumption scenario.
8. The method according to any one of claims 1 to 7, characterized in that The first column set includes the i-th column to the j-th column of each column group in the plurality of column groups, where ji is an integer greater than 0 and less than k; or, The first column set includes the mth column of each column grouping in the plurality of column groups, where m is an integer less than k; Here, k is the number of columns included in each of the multiple column groups.
9. The method according to any one of claims 1 to 7, characterized in that The first column set includes: all columns of each of the column groups in the first set and part of the columns of each of the column groups in the second set, and the first set and the second set do not overlap.
10. The method according to any one of claims 1 to 9, characterized in that The method further comprises: The first base graph is determined according to the second base graph and a first sequence, wherein the first sequence is used to indicate columns in each column grouping of the plurality of column groups used to constitute the first column set.
11. The method according to claim 10, characterized in that The number of columns selected from the first column set based on the plurality of column groupings is P, and the first sequence is obtained by intercepting the first P elements from the storage sequence.
12. The method according to any one of claims 1 to 11, characterized in that In a case where there is a punctured information column in the second base picture, the information column in the second base picture is composed of a punctured information column and a non-punctured information column.
13. A communication method based on low-density parity check (LDPC) codes, characterized in that: The method comprises: Receive an LDPC codeword sequence; The LDPC codeword sequence is decoded according to a first base graph, wherein the first base graph is composed of a first column set and a check column of a second base graph, the first column set is obtained based on at least one of a plurality of column groupings included in an information column of the second base graph, column numbers included in any two column groups of the plurality of column groups are not repeated, and the second base graph is composed of a check column and an information column.
14. The method according to claim 13, characterized in that The first column set consists of partial information columns of the second base graph.
15. The method according to claim 13 or 14, characterized in that The plurality of column groups are composed of information columns of the second base graph, and the first column set is composed of columns selected based on the plurality of column groups; or, The plurality of column groups consist of non-puncture information columns of the second base image, and the first column set consists of columns selected based on the plurality of column groups and puncture information columns of the second base image.
16. The method according to claim 15, characterized in that The number of columns included in the plurality of column groups is 26, and the number of columns included in each of the plurality of column groups is 2; or, The number of columns included in the plurality of column groups is 33 or 30, and the number of columns included in each of the plurality of column groups is 3; or, The number of columns included in the plurality of column groups is 36 or 40, and the number of columns included in each of the plurality of column groups is 4.
17. The method according to claim 16, characterized in that The number of puncturing information columns included in the second base image is 0, 1 or 2.
18. The method according to any one of claims 13 to 17, characterized in that The method further comprises: Determine, according to the screening information, to decode the LDPC codeword sequence according to the first base graph; The screening information includes at least one of the following information: an application scenario of the information bit sequence, a code length required to transmit the information bit sequence, a code rate required to transmit the information bit sequence, or the number of non-zero elements included in the first base graph.
19. The method according to claim 18, characterized in that The application scenario includes at least one of the following scenarios: a high throughput scenario, a high reliability scenario, a low latency scenario, a high reliability and low latency scenario, or a low power consumption scenario.
20. The method according to any one of claims 13 to 19, characterized in that The first column set includes the i-th column to the j-th column of each column group in the plurality of column groups, where ji is an integer greater than 0 and less than k; or, The first column set includes the mth column of each column grouping in the plurality of column groups, where m is an integer less than k; Here, k is the number of columns included in each of the multiple column groups.
21. The method according to any one of claims 13 to 19, characterized in that The first column set includes: all columns of each of the column groups in the first set and part of the columns of each of the column groups in the second set, and the first set and the second set do not overlap.
22. The method according to any one of claims 13 to 21, characterized in that The method further comprises: The first base graph is determined according to the second base graph and a first sequence, wherein the first sequence is used to indicate columns in each column grouping of the plurality of column groups used to constitute the first column set.
23. The method according to claim 22, characterized in that The number of columns in the first column set is P, and the first sequence is obtained by intercepting the first P elements from the stored sequence.
24. The method according to any one of claims 13 to 23, characterized in that In a case where there is a punctured information column in the second base picture, the information column in the second base picture is composed of a punctured information column and a non-punctured information column.
25. A communication device, characterized in that: The method comprises a module or a unit for executing the method as claimed in any one of claims 1 to 24.
26. A communication device, characterized in that: It includes a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor or send signals from the processor to other communication devices outside the communication device, and the processor is used to implement the method as described in any one of claims 1 to 24 through a logic circuit or executing code instructions.
27. The communication device according to claim 26, characterized in that The communication device is a chip or a chip system.
28. A computer-readable storage medium, characterized in that: The storage medium stores a computer program or an instruction, and when the computer program or the instruction is executed by the communication device, the method according to any one of claims 1 to 24 is implemented.
29. A computer program product, characterized in that The invention comprises a computer program which, when being executed, implements the method according to any one of claims 1 to 24.
30. A communication system, characterized in that: include: A sending end device for executing the method according to any one of claims 1 to 12; A receiving device for executing the method as claimed in any one of claims 13 to 24.
Citation Information
Patent Citations
Communication method based on LDPC code and communication equipment
CN108270510A
Coding method and device, computer storage medium
CN108988871A
Information processing method and communication device
CN110870207A
Compact Low Density Parity Check (LDPC) Base Graph
US20180337691A1