Encoding method and apparatus, and decoding method and apparatus
By dynamically adjusting the number of information columns in LDPC encoding based on the receiver's capability information, the requirements for reliability, throughput, and power consumption in different service scenarios are addressed, encoding and decoding performance is improved, and compatibility with NR systems is guaranteed.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-14
- Publication Date
- 2026-03-12
AI Technical Summary
In LDPC encoding and decoding schemes, determining the appropriate number of information columns to meet the requirements of reliability, throughput, and power consumption in different business scenarios, especially in high-throughput and low-power scenarios, is a challenge that existing technologies struggle to achieve flexible adjustments.
The number of information columns in the parity check matrix is determined based on the receiver's capability information, including parameters such as the maximum number of information columns, the supported basemap index set, and the maximum clock frequency. Combined with information such as the MCS index and spectral efficiency, the number of information columns is dynamically adjusted to meet the needs of different business scenarios.
It enables flexible adjustment of reliability, throughput, and power consumption in high-throughput and low-power scenarios, improves encoding and decoding performance, and ensures compatibility with NR systems.
Smart Images

Figure CN2025114738_12032026_PF_FP_ABST
Abstract
Description
An encoding method, decoding method and device
[0001] Cross-reference to Related Applications
[0002] This application claims priority to the Chinese Patent Application No. 202411237898.4, filed on September 4, 2024, and entitled "An encoding method, decoding method and device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0003] The present application relates to the field of communication technology, and in particular, to an encoding method, decoding method and device. BACKGROUND
[0004] Low density parity check (LDPC) code is a channel coding scheme very close to the Shannon limit, which has the characteristics of good performance and low complexity. Currently, it has been determined by the 3rd generation partnership project (3GPP) to be the encoding and decoding scheme of the data channel of the 5th generation (5G) communication.
[0005] In the LDPC encoding and decoding scheme, the number of information columns of the LDPC is closely related to the encoding performance and decoding performance. Therefore, how to determine the appropriate number of information columns is the top priority. SUMMARY
[0006] Embodiments of the present application provide an encoding method, decoding method and device for determining the appropriate number of information columns in the LDPC channel coding scheme.
[0007] In a first aspect, the present application provides an encoding method, which can be applied to a communication device. The communication device can be a signal (or information, etc.) sending end, or can be a component (such as a processor, a chip, a chip system, a circuit, an assembly, a module or a functional module, etc.) in the sending end. The method can include: determining the number of information columns of a check matrix according to first information, wherein the first information includes capability information of a receiving end; and then determining the check matrix according to the number of information columns, and encoding the information to be encoded according to the check matrix.
[0008] Based on the above method, the sending end can flexibly determine the appropriate number of information columns based on the capability information of the receiving end to implement encoding, so as to meet the requirements of reliability, throughput and power consumption in different service scenarios (such as high throughput scenarios and low power consumption scenarios).
[0009] In one possible design, the first information can include one or more of the following: maximum number of information columns, supported set of base graph indices, maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum number of iterations, maximum rank indication, minimum processing timeline, maximum number of blind decodes, maximum code length, minimum code rate, maximum number of code blocks, maximum lifting value, maximum number of resource blocks, or maximum set of precoding matrix indications (PMIs). The capability information of the receiving end can be capability information specified in a standard protocol, capability information determined based on UE reported information and adapted to the capability of the UE, or capability information determined based on at least one of the following: current traffic type, channel fading condition, connection density, service period, or other factors. In this way, the number of information columns of the check matrix can be flexibly determined based on the various capabilities of the receiving end to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., high throughput scenario, low power consumption scenario).
[0010] In one possible design, the number of information columns of the check matrix is determined based on the first information, and the method can include determining the number of information columns of the check matrix based on the first information and second information, where the second information includes one or more of the following: MCS index, spectral efficiency, base graph index, base graph indication sent to the receiving end, indication of the number of information columns sent to the receiving end, number of segments of a transport block, lifting value, or transport block size (TBS). Based on this method, the number of information columns can be flexibly determined based on the capability information of the receiving end and the current information of the receiving end to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., high throughput scenario, low power consumption scenario).
[0011] In one possible design, when the second information is the MCS index, the number of information columns is a first value when the MCS index is greater than a first threshold, and the number of information columns is a second value when the MCS index is less than or equal to the first threshold, where the first value is related to the first information. Based on the current MCS index and the first information, the number of information columns can be accurately determined to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., high throughput scenario, low power consumption scenario).
[0012] In a possible design, when the second information is the spectral efficiency, the spectral efficiency is greater than a second threshold, the information column number is a first value, the spectral efficiency is less than or equal to the second threshold, the information column number is a second value, and the first value is related to the first information. Based on the current spectral efficiency and the first information, the appropriate information column number can be accurately determined to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as a high-throughput scenario or a low-power consumption scenario).
[0013] In a possible design, when the information column number is the first value, the puncturing column included in the check matrix is the first column of the check matrix, or the check matrix does not include a puncturing column; or when the information column number is the second value, the puncturing column included in the check matrix is the first two columns of the check matrix. In this way, the number of puncturing columns determined based on different values of the information column number can achieve better decoding performance.
[0014] In a possible design, when the second information is the number of segments of the transport block or the TBS, the information column number is positively related to the number of segments of the transport block or the TBS, and the information column number is less than or equal to a first value, and the first value is related to the first information. Based on the number of segments of the current transport block or the TBS and the first information, the appropriate information column number can be accurately determined to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as a high-throughput scenario or a low-power consumption scenario).
[0015] In a possible design, when the second information is the boosting value, the information column number is determined according to the first information and the second information, and the method can include: determining an initial information column number and the number of information bits included in each code block according to the first information; determining a maximum code block information bit number set according to the initial information column number and the boosting value; and determining the information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, where the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the number of information bits of each code block and has the minimum difference from the number of information bits of each code block. Based on the information column number selected by the above method, the encoding performance can be improved to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as a high-throughput scenario or a low-power consumption scenario).
[0016] In a possible design, the boosting value includes at least one row in the following table:
[0017] The above boosting value can meet the requirements for parallelism of different device types and reduce the number of shortened bits required for different payloads.
[0018] In a possible design, when the second information is a lifting value, the number of information columns is related to the size of the lifting value. The number of information columns corresponding to a lifting value with a larger value can be selected as the number of information columns of the check matrix, which can improve hardware utilization, improve encoding performance, and meet requirements on reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario or a low-power-consumption scenario).
[0019] In a possible design, the first value is greater than 22 and is an integer multiple of 11. In this way, the determined number of information columns can be backward compatible with a new radio (NR) system.
[0020] In a possible design, the first information is received, so that the number of information columns can be determined based on the capability information of the receiving end.
[0021] In a second aspect, the present application provides an encoding method, which can be applied to a communication device. The communication device can be a receiving end of a signal (or information, or the like), or can be a component (for example, a processor, a chip, a chip system, a circuit, an assembly, a module, or a functional module) in the receiving end. The method can include: obtaining to-be-coded information; determining a number of information columns of a check matrix according to first information, wherein the first information includes capability information of the receiving end; determining the check matrix according to the number of information columns, and coding the to-be-coded information according to the check matrix.
[0022] Based on the above method, the receiving end can flexibly determine a suitable number of information columns based on the capability information of the receiving end, and can align the number of information columns with a number of information columns used by the sending end for coding to implement decoding, so that requirements on reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario or a low-power-consumption scenario) can be met.
[0023] In a possible design, the first information includes one or more of the following: a maximum number of information columns, a supported set of base graph indices, a maximum clock frequency, a number of antennas, a receiver complexity, a peak data rate, a maximum modulation and coding scheme (MCS) index, a maximum number of iterations, a maximum rank indication, a minimum processing timeline, a maximum number of blind decodes, a maximum code length, a minimum code rate, a maximum number of code blocks, a maximum lifting value, a maximum number of resource blocks, or a maximum set of precoding matrix indicators (PMIs). The capability information of the receiving end can be capability information specified in a standard protocol, can be capability information determined according to UE reporting information and adapted to UE capability, or can be capability information determined according to at least one of the following: a current service type, a channel fading condition, a connection density, a service period, or other factors. In this way, a suitable number of information columns can be flexibly determined based on various capabilities of the receiving end, so that requirements on reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario or a low-power-consumption scenario) can be met.
[0024] In a possible design, the method of determining the number of information columns of the check matrix according to the first information can be: determining the number of information columns of the check matrix according to the first information and second information, the second information including one or more of the following: an MCS index, a spectral efficiency, a base graph index, a base graph indication sent to the receiving end, an information column number indication sent to the receiving end, a segment number of a transport block, a boosting value, or a transport block size TBS. Based on this method, the number of information columns can be flexibly determined in combination with the capability information of the receiving end and the current information of the receiving end, to meet the requirements for reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario and a low-power-consumption scenario).
[0025] In a possible design, when the second information is the MCS index, the number of information columns is a first value when the MCS index is greater than a first threshold, and the number of information columns is a second value when the MCS index is less than or equal to the first threshold, the first value being related to the first information. Based on the current MCS index in combination with the first information, the number of information columns can be accurately determined, to meet the requirements for reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario and a low-power-consumption scenario).
[0026] In a possible design, when the second information is the spectral efficiency, the number of information columns is a first value when the spectral efficiency is greater than a second threshold, and the number of information columns is a second value when the spectral efficiency is less than or equal to the second threshold, the first value being related to the first information. Based on the current spectral efficiency in combination with the first information, the number of information columns can be accurately determined, to meet the requirements for reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario and a low-power-consumption scenario).
[0027] In a possible design, when the number of information columns is the first value, the check matrix contains a puncturing column as a first column of the check matrix, or the check matrix does not contain a puncturing column; or when the number of information columns is the second value, the check matrix contains a puncturing column as a first two columns of the check matrix. In this way, the number of puncturing columns determined based on different values of the number of information columns can achieve better decoding performance.
[0028] In a possible design, when the second information is the segment number of the transport block or the TBS, the number of information columns is positively related to the segment number of the transport block or the TBS, and the number of information columns is less than or equal to a first value, the first value being related to the first information. Based on the current segment number of the transport block or the TBS in combination with the first information, the number of information columns can be accurately determined, to meet the requirements for reliability, throughput, and power consumption in different service scenarios (such as a high-throughput scenario and a low-power-consumption scenario).
[0029] In a possible design, when the second information is the lifting value, the method of determining the information column number according to the first information and the second information can be as follows: determining an initial information column number and an information bit number included in each code block according to the first information; determining a maximum code block information bit number set according to the initial information column number and the lifting value; and determining an information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, where the first maximum code block information bit number is a maximum code block information bit number in the maximum code block information bit number set, which is greater than the information bit number of each code block and has a minimum difference with the information bit number of each code block. The information column number selected based on the above method can improve decoding performance, so as to meet requirements on reliability, throughput and power consumption in different service scenarios (such as high-throughput scenarios and low-power consumption scenarios).
[0030] In a possible design, the lifting value includes at least one row in the following table:
[0031] The lifting value described above can meet requirements on parallelism of different device types, and meanwhile reduce the number of shortened bits required for different payloads.
[0032] In a possible design, when the second information is a lifting value, the information column number is related to the size of the lifting value. The information column number corresponding to a lifting value with a larger value can be selected as the information column number of the check matrix, which can improve hardware utilization and improve decoding performance, so as to meet requirements on reliability, throughput and power consumption in different service scenarios (such as high-throughput scenarios and low-power consumption scenarios).
[0033] In a possible design, the first value is greater than 22 and is an integer multiple of 11. In this way, the determined information column number can be backward compatible with an NR system.
[0034] In a possible design, the first information is sent, so that the sending end can determine the information column number based on the capability information of the receiving end.
[0035] In a third aspect, the present application also provides a communication apparatus, which can be a sending end of a signal (or information, etc.) or a component (for example, a processor, a chip, a chip system, a circuit, an assembly, a module or a functional module, etc.) in the sending end. The communication apparatus has a function of implementing the method in the first aspect or in each possible design example of the first aspect. The function can be implemented by hardware or by execution of corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above functions.
[0036] In a possible design, the communication apparatus can include a processing unit, and optionally, a transceiver unit. The processing unit and the transceiver unit can perform the functions of the method in the first aspect or various possible design examples of the first aspect, which will not be repeated here.
[0037] In a possible design, the communication apparatus can include one or more processors, and optionally, a memory and / or a transceiver. The transceiver can be configured to receive and / or transmit data, messages, information, and the like, and to perform communication interaction with other devices in a system. The processor(s) can be configured to support the communication apparatus to perform corresponding functions in the first aspect or various possible design examples of the first aspect. The memory can be coupled to the processor(s) and store program instructions and data necessary for the communication apparatus.
[0038] In a possible design, the communication apparatus can include a processing unit, and optionally, a transceiver unit. The processing unit and the transceiver unit can perform the functions of the method in the first aspect or various possible design examples of the first aspect, which will not be repeated here.
[0039] In a possible design, the communication apparatus can include a processing unit, and optionally, a transceiver unit. The processing unit and the transceiver unit can perform the functions of the method in the first aspect or various possible design examples of the first aspect, which will not be repeated here.
[0040] In a possible design, the communication apparatus can include one or more processors, and optionally, a memory and / or a transceiver. The transceiver can be configured to receive and / or transmit data, messages, information, and the like, and to perform communication interaction with other devices in a system. The processor(s) can be configured to support the communication apparatus to perform corresponding functions in the first aspect or various possible design examples of the first aspect. The memory can be coupled to the processor(s) and store program instructions and data necessary for the communication apparatus.
[0041] In a possible design, the communication apparatus can include one or more processors, and optionally, a memory and / or a transceiver. The transceiver can be configured to receive and / or transmit data, messages, information, and the like, and to perform communication interaction with other devices in a system. The processor(s) can be configured to support the communication apparatus to perform corresponding functions in the first aspect or various possible design examples of the first aspect. The memory can be coupled to the processor(s) and store program instructions and data necessary for the communication apparatus.
[0042] In a sixth aspect, a computer-readable storage medium is provided, which stores program instructions. When the program instructions are run on a computer, the computer is caused to perform the method in the first aspect or any possible implementation of the first aspect, or the method in the second aspect or any possible implementation of the second aspect. Exemplarily, the computer-readable storage medium can be any available medium that can be accessed by a computer. For example, but not limited to: the computer-readable medium can include a non-transitory computer-readable medium, a random-access memory (RAM), a read-only memory (ROM), an electrically EPROM (EEPROM), a CD-ROM or other optical disk storage, a magnetic disk storage medium or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.
[0043] In a seventh aspect, a computer program product is provided, which includes a computer program or instructions. When the computer program or instructions are run on a computer, the method in the first aspect or any possible implementation of the first aspect, or the method in the second aspect or any possible implementation of the second aspect is performed.
[0044] In an eighth aspect, a chip or chip system is also provided, which includes one or more processors coupled with at least one memory for reading and executing program instructions stored in the memory, so that the chip or chip system implements the method in the first aspect or any possible implementation of the first aspect, or the method in the second aspect or any possible implementation of the second aspect.
[0045] The above-mentioned various aspects in the third aspect to the eighth aspect and the technical effects that can be achieved by the various aspects are described above with respect to the first aspect or various possible solutions in the first aspect, or the second aspect or various possible solutions in the second aspect, and will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0046] FIG. 1 is a schematic diagram of an architecture of a communication system provided by the present application;
[0047] FIG. 2 is a schematic diagram of a coding and decoding flow provided by the present application;
[0048] FIG. 3 is a schematic diagram of a coding method provided by the present application;
[0049] FIG. 4 is a schematic diagram of a decoding method provided by the present application;
[0050] FIG. 5 is a structural schematic diagram of a communication device provided by the present application;
[0051] FIG. 6 is a structural diagram of a communication device provided by the present application. DETAILED DESCRIPTION
[0052] Embodiments of the present application provide an encoding method, a decoding method and a device for determining a suitable number of information columns in an LDPC channel coding scheme. The method and device of the present application are based on the same technical concept, and the implementation of the device and the method can be referred to each other because the principles of the method and the device for solving problems are similar, and the repeated parts will not be described again.
[0053] In the description of the present application, the words "first", "second", etc. are only used for the purpose of distinguishing the description, and cannot be understood as indicating or implying relative importance, nor indicating or implying order.
[0054] In the description of the present application, "at least one" means one or more, and more means two or more. "At least one of the following" or the like means any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.
[0055] In the description of the present application, "and / or" describes the association relationship between the associated objects, which means that there can be three kinds of relationships, for example, A and / or B can represent the cases of A alone, A and B together, B alone, where A and B can be singular or plural. " / " represents "or", for example, a / b represents a or b.
[0056] In order to more clearly describe the technical solutions of the embodiments of the present application, the encoding method, the decoding method and the device provided by the embodiments of the present application will be described in detail below with reference to the drawings.
[0057] The technical solutions in the embodiments of the present application can be applied to various communication systems, such as a global system for mobile communications (GSM) system, an enhanced data rate for GSM evolution (EDGE) system, a wideband code division multiple access (WCDMA) system, a time division-synchronization code division multiple access (TD-SCDMA) system, a worldwide interoperability for microwave access (WiMAX) communication system, a universal mobile telecommunications system (UMTS) system, a wireless local area network (WLAN) system, a wireless fidelity (Wi-Fi) system, a bluetooth communication system, a narrow band internet of things (NB-IoT) communication system, a 4th generation (4G) mobile communication system (such as a long term evolution (LTE) system), a 5th generation (5G) mobile communication system (such as a new radio (NR) system), and a future communication network. The technical solutions in the embodiments of the present application can also be applied to a satellite communication system, wherein the satellite communication system can be integrated with the above communication systems.
[0058] For example, FIG. 1 shows a possible architecture of a communication system to which the embodiments of the present application can be applied. As shown in FIG. 1, the communication system 10 can include a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 10 can further include an Internet 300.
[0059] The RAN 100 includes at least one RAN node (e.g., 110a and 110b in FIG. 1, collectively referred to as 110) and at least one terminal device (e.g., 120a-120j in FIG. 1, collectively referred to as 120). Other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in FIG. 1), etc., can also be included in the RAN 100. The terminal devices 120 are wirelessly connected to the RAN nodes 110. The RAN nodes 110 are connected to a core network 200 through wireless or wired means. The core network devices in the core network 200 and the RAN nodes 110 in the RAN 100 can be different physical devices respectively, or can be the same physical device integrated with the logical functions of the core network and the logical functions of the wireless access network.
[0060] The RAN 100 can be a 3rd generation partnership project (3GPP) related cellular system, such as a 4G, 5G mobile communication system, or a future-oriented evolved system. The RAN 100 can also be an open radio access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a WiFi system. The RAN 100 can also be a communication system that combines two or more of the above systems.
[0061] The RAN nodes 110, which can also be referred to as RAN entities or access nodes, etc., form part of the communication system and help terminal devices to access wirelessly. The RAN nodes 110 in the communication system 10 can be of the same type or of different types. In some scenarios, the roles of the RAN nodes 110 and the terminal devices 120 are relative, e.g., the network element 120i in FIG. 1 can be a helicopter or a drone, which can be configured as a mobile base station. For a terminal device 120j that accesses the RAN 100 through the network element 120i, the network element 120i is a base station; but for the base station 110a, the network element 120i is a terminal device. The RAN nodes 110 and the terminal devices 120 are sometimes collectively referred to as communication apparatuses, e.g., the network elements 110a and 110b in FIG. 1 can be understood as communication apparatuses with base station functions, and the network elements 120a-120j can be understood as communication apparatuses with terminal device functions.
[0062] The RAN nodes can also be referred to as network devices. In the following, the network devices are used for description unless otherwise specified.
[0063] In a possible scenario, the network device can also be referred to as an access network device, which can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system, and the like. The access network device can be a macro base station (such as 110a in FIG. 1), a micro base station or an indoor station (such as 110b in FIG. 1), a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, the access network device can also be a server, a wearable device, a vehicle or a vehicle-mounted device, and the like. For example, the access network device in vehicle to everything (V2X) technology can be a road side unit (RSU). All or part of the functions of the access network device in this application can also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform (such as a cloud platform). The access network device in this application can also be a logical node, a logical module or software that can implement all or part of the functions of the access network device.
[0064] In another possible scenario, multiple access network devices cooperate to assist a terminal device to implement wireless access, and different access network devices respectively implement part of the functions of a base station. For example, the access network device can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), and the like. The CU and the DU can be separately arranged, or can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna processing unit (AAU), or a remote radio head (RRH).
[0065] The CU (or CU-CP and CU-UP), DU or RU can also have different names in different systems, but those skilled in the art can understand their meanings. For example, in an ORAN system, the CU can also be referred to as an open CU (O-CU), the DU can also be referred to as an open DU (O-DU), the CU-CP can also be referred to as an open CU-CP (O-CU-CP), the CU-UP can also be referred to as an open CU-UP (O-CU-UP), and the RU can also be referred to as an open RU (O-RU). Any of the CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0066] The terminal device can also be referred to as a user equipment (UE), a mobile station, a mobile terminal, etc. The terminal device can be widely applied to various scenarios, such as device-to-device (D2D) communication, vehicle to everything (V2X) communication, machine-type communication (MTC), internet of things (IOT), virtual reality, augmented reality, industrial control, autonomous driving, remote medical treatment, smart power grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. For example, the terminal device can be a mobile phone, a tablet computer, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a mechanical arm, a smart home device, etc. Embodiments of the present application do not limit the device form of the terminal device.
[0067] The communication system and architecture described in the embodiments of the present application are used 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 by the embodiments of the present application. Those skilled in the art can know that, with the evolution of network architecture and the appearance of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
[0068] For example, in the communication system shown in FIG. 1, in order to ensure the reliability of communication between devices, the sending end can encode the information to be sent, and correspondingly, the receiving end decodes the encoded information after receiving it. As shown in FIG. 2, the source of the sending end is sequentially subjected to channel coding, rate matching and interleaving, etc., and the receiving end is sequentially subjected to deinterleaving, de-rate matching and channel decoding, etc. to obtain a sink, and the receiving end can obtain useful information based on the sink.
[0069] The following first explains the related terms or technologies involved in the embodiments of the present application. It should be noted that these explanations are to make the embodiments of the present application easier to understand, and should not be regarded as limiting the scope of protection required by the present application.
[0070] 1) Information bit sequence
[0071] The information bit sequence refers to a sequence composed of multiple bits to be transmitted, for example, the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1 in turn, and the information bit sequence composed is: 10101100101.
[0072] 2) Code length
[0073] The code length refers to the length of the bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence.
[0074] 3) Code rate
[0075] The code rate is the ratio of the length of the information bit sequence to the code length.
[0076] The length of the information bit sequence, the code length and the code rate can be pre-configured by high layer signaling, medium access control (MAC) layer signaling or downlink physical layer signal, and can also be obtained or calculated by the transmitting device and the receiving device. Illustratively, the transmitting device and the receiving device can determine the code length according to the encoding mode, the frame structure for transmitting the information bits, the number of layers and the modulation scheme. Illustratively, the transmitting device and the receiving device can obtain the code rate based on the high layer signaling, the MAC layer signaling or the downlink physical layer signal, or determine the code rate according to the modulation and coding scheme (MCS).
[0077] 4) LDPC code
[0078] The LDPC code is a channel coding scheme very close to the Shannon limit, which has the characteristics of good performance and low complexity, and has been determined by 3GPP as the coding and decoding scheme of the data channel of 5G communication. The mainstream application of LDPC code has quasi cyclic (QC) structure, which avoids bad structures such as short circles by setting the shift amount of each block to improve the code distance.
[0079] The LDPC code can be represented using a base matrix, the elements of which are 0 or 1, the element 1 in the base matrix is extended to a cyclic shift matrix of Zc*Zc, the element 0 in the base matrix is extended to a zero matrix of Zc*Zc, and after the extension, a check matrix is obtained, which can be used for encoding or decoding. Wherein, Zc can be referred to as an extension factor, a lifting factor, an extension value, an extension coefficient, a lifting size, a lifting value, etc. The base matrix can be represented as H BG , wherein BG is the abbreviation of base graph. The base matrix can also be represented by a base graph, and the two have a corresponding relationship.
[0080] In the LDPC encoding and decoding scheme, the number of information columns of the LDPC is closely related to the encoding performance and decoding performance, therefore, how to determine the appropriate number of information columns is the top priority. Based on this, the present application embodiment provides an encoding method and a decoding method to flexibly determine the appropriate number of information columns in the encoding and decoding process to meet the requirements of reliability, throughput and power consumption in different service scenarios (such as high throughput scenario, low power consumption scenario).
[0081] In the following embodiments of the present application, the encoding method provided by the present application is described in detail from the sending end, and the decoding method provided by the present application is described in detail from the receiving end. It should be understood that the operations performed by the sending end can also be realized by the processor in the sending end, or a chip or chip system, or a functional module, and the operations performed by the receiving end can also be realized by the processor in the receiving end, or a chip or chip system, or a functional module, and the present application does not limit this.
[0082] The sending end and the receiving end in the present application embodiment can be any two devices that can communicate in the communication system shown in FIG. 1. For example, the sending end is a terminal device, and the receiving end is an access network device. For another example, the sending end is an access network device, and the receiving end is a terminal device. For another example, the sending end is a terminal device, and the receiving end is a terminal device. It should be understood that this is only an example, and the sending end and the receiving end can also have other combinations, and the present application does not limit this.
[0083] Based on the above description, the present application embodiment provides an encoding method, as shown in FIG. 3, the flow of the method can include:
[0084] Step 301: The sending end determines the number of information columns of the check matrix according to the first information, wherein the first information includes the capability information of the receiving end.
[0085] The first information can include one or more of the following: maximum information column number, supported base graph index set (may also be referred to as supported base graph index set size), maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum iteration number, maximum rank indication, minimum processing timeline, maximum blind decoding number, maximum code length, minimum code rate, maximum code block number, maximum lifting value, maximum resource block number, or maximum precoding matrix indication (PMI) set, etc. The capability information of the receiving end can be capability information specified in a standard protocol; can be capability information determined according to UE reported information and adapted to the capability of the UE; or can be capability information determined according to at least one of the following: current service type, channel fading condition, connection density, service period, or other factors. For example, for downlink transmission, the base station can determine the capability information of the receiving end (i.e., the UE) according to the capability information reported by the UE, can determine the capability information of the receiving end according to the current communication condition (including but not limited to channel fading condition, connection density, service type, service period, etc.), or of course can directly specify the capability information (such as maximum MCS, maximum rank, etc.) of the downlink receiving end according to the protocol. For another example, for uplink transmission, the base station can determine the capability information of the receiving end (i.e., the base station itself) according to the capability information reported by the UE (such as maximum transmission capability supported by the UE, maximum MCS, etc.), can determine the capability information of the receiving end according to the current communication condition (including but not limited to channel fading condition, connection density, service type, service period, etc.), or of course can directly specify the capability information (such as maximum MCS, maximum rank, etc.) of the uplink receiving end according to the protocol.
[0086] In some embodiments, the transmitting end determines the information column number of the check matrix according to the first information, which can be achieved by the following method: the transmitting end can determine the information column number of the check matrix according to the first information and second information, wherein the second information can include one or more of the following: MCS index, spectral efficiency, base graph index, base graph indication sent to the receiving end, information column number indication sent to the receiving end, segment number of the transport block, lifting value, or TBS.
[0087] In an optional implementation a1, when the second information is the MCS index and the MCS index is greater than a first threshold, the information column number can be a first value, and when the MCS index is less than or equal to the first threshold, the information column number can be a second value, and the first value is related to the first information.
[0088] The first value is related to the first information. It can be understood that the first value can be the maximum number of information columns in the first information, or the maximum number of information columns determined based on the first information.
[0089] It should be understood that here, "equal to" is not limited to the case in embodiment a1. It can also be that when the MCS index is greater than or equal to the first threshold value, the number of information columns can be the first value, and when the MCS index is less than the first threshold value, the number of information columns can be the second value, which is not limited by the present application.
[0090] Optionally, the first value can be greater than 22 and an integer multiple of 11.
[0091] In some embodiments, in order to consider backward compatibility with NR, the first value can be an integer multiple of 11 between 33 and 66, for example, the first value can be 33, 44, 55, or 66. It should be understood that the foregoing are only examples and are not limiting to the present application. In order to improve performance, the first value can also be an integer multiple of 11 greater than 66, which is not listed here.
[0092] The second value can be 22, that is, when the MCS index is less than or equal to the first threshold value, the number of information columns can adopt the currently defined value.
[0093] The first threshold value can be the maximum MCS index in the first information. In different standard protocols, the first threshold value can be different. For example, in the MCS tables 5.1.3.1-1 and 5.1.3.1-3 of the standard protocol 38.214, the first threshold value can be 28. For another example, in the MCS table 5.1.3.1-2 of the standard protocol 38.214, the first threshold value can be 27.
[0094] In an optional embodiment a2, when the second information is the spectral efficiency, when the spectral efficiency is greater than a second threshold value, the number of information columns can be the first value, and when the spectral efficiency is less than or equal to the second threshold value, the number of information columns can be the second value, and the first value is related to the first information.
[0095] Similarly, here, "equal to" is not limited to the case in embodiment a2. It can also be that when the spectral efficiency is greater than or equal to the second threshold value, the number of information columns can be the first value, and when the spectral efficiency is less than the second threshold value, the number of information columns can be the second value, which is not limited by the present application.
[0096] The first value and the second value can refer to the description in embodiment a1, which is not repeated here.
[0097] For example, the second threshold can be determined based on the maximum MCS index in the first information. The second threshold can be different in different standard protocols. For example, in MCS table 5.1.3.1-1 of standard protocol 38.214, the second threshold can be any value in the interval (5.3320, 5.5547]. For another example, in MCS table 5.1.3.1-3 of standard protocol 38.214, the second threshold can be any value in the interval (4.2129, 4.5234]. For another example, in MCS table 5.1.3.1-2 of standard protocol 38.214, the second threshold can be any value in the interval (7.1602, 7.4063].
[0098] Optionally, in the implementation a1 and the implementation a2, when the number of information columns is the first value, the puncturing column included in the check matrix is the first column of the check matrix, or the check matrix does not include the puncturing column; or when the number of information columns is the second value, the puncturing column included in the check matrix is the first two columns of the check matrix.
[0099] For example, assuming that the first value is 33 and the second value is 22, some examples of determining the number of information columns based on the implementation a1 or the implementation a2 can be as follows.
[0100] An example:
[0101] In the above example, Kb represents the number of information columns, and Pb represents the number of puncturing columns.
[0102] Another example:
[0103] In the above example, Kb represents the number of information columns, and Pb represents the number of puncturing columns.
[0104] Yet another example:
[0105] In the above example, Kb represents the number of information columns, and Pb represents the number of puncturing columns.
[0106] In an optional implementation a3, when the second information is the number of segments of the transport block or the TBS, the number of information columns is positively correlated with the number of segments of the transport block or the TBS, and the number of information columns is less than or equal to the first value, and the first value is related to the first information.
[0107] The first value can refer to the description in the implementation a1, which will not be repeated here.
[0108] Optionally, the number of information columns can be determined as any value between 22 and the first value based on the number of segments of the transport block or different values of the TBS, wherein the determined value can include 22 and the first value. It can also be understood that the number of information columns increases from 22 to the first value as the number of segments of the transport block or the TBS increases. That is, the larger the number of segments of the transport block or the TBS, the larger the number of information columns, and the maximum does not exceed the first value.
[0109] The last determined number of information columns can be the number of information columns with the best performance under the number of segments of the current transport block or the TBS. For example, the number of information columns corresponds to the number of segments of the current transport block or the TBS, the maximum code block information bit number is greater than the information bit number of each code block and the difference value is the smallest.
[0110] For example, taking the number of segments of the transport block as an example, an example of the number of information columns positively related to the number of segments of the transport block can be as follows:
[0111] In this example, C represents the number of segments of the transport block, C1-C5 represent the values of the number of segments of the transport block, and C1
[0112] It can be understood that the number of values of C is only an example, that is, the number of C1-C5 is only an example, and can be less than the number of C1-C5, such as C1-C4 or less, or can be more than the number of C1-C5, such as C1-C6 or more, which is not limited in the present application.
[0113] Correspondingly, the number of values of Kb is the same.
[0114] Optionally, Kb1 can be 22, and the maximum value of Kb can be the first value, such as Kb6 being the first value in the above example.
[0115] For example, taking the first value as 33 and the values of C including two values 2 and 4 as an example (C1=2 and C2=4 can also be understood, not including C3-C6), an example of the number of information columns positively related to the number of segments of the transport block can be as follows:
[0116] In this example, C<4 and Kb=25, at this time 25 is the number of information columns that can make the coding performance the best. For example, when C<4, the number of information columns corresponding to the maximum code block information bit number being greater than the information bit number of each code block and the difference value being the smallest is 25.
[0117] In some embodiments, C can be determined based on the TBS and the payload size B.
[0118] When the second information is the TBS, the example in which the number of information columns is positively correlated with the TBS can be similar to the aforementioned example in which the number of information columns is positively correlated with the number of segments of the transport block, and mutual reference can be made, and thus detailed description is not repeated here.
[0119] In an alternative implementation a4, when the second information is the boosting value, the sending end determines the number of information columns based on the first information and the second information. The method can be: the sending end can determine the initial number of information columns and the number of information bits included in each code block based on the first information; the sending end can determine the maximum code block information bit number set based on the initial number of information columns and the boosting value; and the sending end can determine the number of information columns corresponding to the first maximum code block information bit number in the maximum code block information bit number set as the number of information columns, where the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set, which is greater than the number of information bits of each code block and has the smallest difference value (which can also be described as a shorten bit number) from the number of information bits of each code block. Wherein, the maximum code block information bit number can also be described as the mother code information length, etc.
[0120] In some embodiments, the boosting value can reuse the boosting value in the current NR. For example, the boosting value can include at least one row in Table 1 below:
[0121] Table 1
[0122] Optionally, at least one of i SL 0-i SL 7 in Table 1 can be further increased by at least one value, and the extended i SL 0-i SL 7 can be used as the boosting value in the embodiments of the present application. For example, the value of i SL 0 is increased by 512, 1024, etc.
[0123] Alternatively, more index values corresponding to the values of i SL 0-i SL 7 in Table 1 can be increased, for example, i SL 8 or more, etc. The extended at least one index value corresponding to the value can be used as the boosting value in the embodiments of the present application.
[0124] Optionally, the boosting value can also be a combination of the two extension methods described above, which is not limited in the present application.
[0125] For example, the boosting value can include at least one row in Table 2 below:
[0126] Table 2
[0127] It should be understood that Table 2 is only an example and is not a limitation of the present application. For example, the values corresponding to at least one index in Table 2 can be further increased by at least one value, for example, the value of i SL 0 can be 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, or 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, …, and so on. For another example, the values of i SL 0-i SL 7 in Table 2 can be at least one as shown in Table 2 and the others can be as shown in Table 1.
[0128] It should be understood that only i SL 0-i SL 11 in Table 2 is shown, with the development of communication technology, it can also be i SL >11, that is, there can also be i SL 12 or more, for example, i SL 13 can be {25, 50, 100, 200, …}, which will not be listed one by one here.
[0129] In some embodiments, the values corresponding to each n in Table 1 and Table 2 can also take other forms, for example, taking i SL 0 as an example, it can also be expressed as i SL 0 = {1 2 4 8 16 32 64 128 256} * 2, and the others are similar, which will not be listed one by one here.
[0130] Optionally, the sending end can select an initial base graph (here taking BG1 as an example) from the set of base graph indexes supported in the first information according to the payload size and the minimum code rate in the first information, and then determine the number of information columns Kb corresponding to BG1, for example, Kb = 22. The method of determining BG1 by the sending end can also be understood as selecting BG1 by the sending end according to the NR criterion. Then, the sending end can determine the number of segments of the transport block based on the selected BG1, and determine the number of information bits included in each code block according to the number of segments of the transport block. Further, the sending end traverses all combinations of information column numbers and lifting values between the initial information column number and the maximum information column number to determine a set of maximum code block information bit numbers, and then determines the first maximum code block information bit number, so as to determine the information column number in the combination of information column number and lifting value corresponding to the first maximum code block information bit number as the final information column number.
[0131] For example, taking the lifting value to contain i SL 0-i SL7, an example of determining the number of information columns according to the lifting value can include the following steps:
[0132] 1) Select a BG to determine the initial number of information columns.
[0133] For example, BG1 is selected according to the NR criterion, and the initial number of information columns Kb=22 is determined accordingly. BG1 can support a maximum number of coded information bits Kcb=8448.
[0134] 2) Determine the number of segments C of the transport block according to the selected base graph.
[0135] For example, Or L is the cyclic redundancy check (CRC) length.
[0136] 3) Determine the number of information bits contained in each code block, such as code block size (CBS), according to the number of segments C of the transport block.
[0137] For example,
[0138] 4) Traverse all combinations of Kb and lifting values Zc to find the combination of Kb and Zc with the least number of shortened bits.
[0139] For example, step 4) can be implemented as follows:
[0140] Suppose the lifting values include the following i SL 0~i SL 7
[0141] After determining the final Kb and Zc combination by the above method, the Kb in the combination is taken as the final determined number of information columns.
[0142] In an optional implementation a5, when the second information is the lifting value, the number of information columns is related to the size of the lifting value.
[0143] Optionally, the number of information columns is related to the size of the lifting value, which can be that in the case of the same maximum lifting value, the number of information columns can be the number of information columns corresponding to the lifting value with the largest middle value.
[0144] In some embodiments, the sending end can first determine a plurality of combinations of lifting values and information column numbers according to a plurality of base graphs, and then determine the number of information columns in the combination with the largest lifting value as the required number of information columns.
[0145] For example, the sending end can determine a base graph according to the payload size and the code rate, and then determine the combination of the information column number and the lifting value corresponding to the determined base graph, and then determine the combination of the information column number and the lifting value corresponding to at least one other base graph according to the at least one other base graph, and finally determine the information column number in the combination with the largest lifting value as the required information column number.
[0146] For example, assuming that the CBS is 6864 and the code rate R is 0.926, the sending end determines BG1 according to the payload size and the code rate, and then determines the combination of the information column number and the lifting value corresponding to BG1 as Kb1=22 and Zc1=320, determines the combination of the information column number and the lifting value corresponding to BG3 as Kb2=33 and Zc2=208 according to the other candidate base graph BG3 corresponding to the payload size and the code rate, and further determines the final information column number according to the lifting value, such as Zc1>Zc2, selects Kb=22 corresponding to Zc1 as the final information column number. Meanwhile, the sending end can also select BG1 corresponding to Zc1 as the final base graph to be adopted.
[0147] In some possible implementation manners, the sending end can receive the first information before determining the information column number. Correspondingly, the receiving end can send the first information. For example, when the terminal device sends information to the access network device, the access network device as the receiving end sends the first information to the terminal device; when the access network device sends information to the terminal device, the terminal device as the receiving end sends the first information to the terminal device. It should be understood that the above is only an example, and is not a limitation to the present application.
[0148] Optionally, in different standard protocols, the first information can be carried in different indication domains or fields, and it can also be understood that in different standard protocols, the first information can have different forms of embodiment.
[0149] In an example, the first information can be carried in a radio resource control (RRC) information element (IE).
[0150] For example, a domain (Filed) can be added in the chapter of standard protocol 38.306 4.2.7.10 Phy-Parameters (physical parameters) to carry the first information. For example, taking the terminal device as the receiving end, the first information can be the decoding capability information of the terminal device, and the first information can be as shown in Table 3.
[0151] Table 3
[0152] In the above Table 3, “Definitions for parameters” represents parameter definitions; “Per” represents a level to which an associated parameter is included, for example, “UE” in the corresponding column represents that the associated parameter is signaling per UE; “M” is an abbreviation of “Mandatory”; “Yes” represents mandatory, and “No” represents optional; “FDD-TDD DIFF” represents whether it can be changed with a change in frequency division duplexing (FDD)-time division duplexing (TDD); “FR1-FR2 DIFF” represents whether it can be changed with a change in frequency 1 (FR1)-frequency 2 (FR2); “ue-Decoding Capability” represents a decoding capability of a UE, and accordingly, “Ddefines the U E decoding capability, including maximum Kb, supported BG index set, Kb,maximumClockFrequency,antennaNumber, receiverComplexity, peakDataRate, maximumMCSIndex, maximumIterationNumber, max imumRankIndicator, minimumProduceTimeLine, maximumBlindDetectionNumber, maximumCodeLength,minimumCodeRate, maximumCodeBlockNum, liftingSizeSet, maximumRBNumber,PMISet” represents defining the decoding capability of the UE including maximum Kb, supported BG index set, maximum clock frequency, antenna number, receiver complexity, peak data rate, maximum MCS index, maximum iteration number, maximum rank indicator, minimum processing timeline, maximum blind detection number, maximum code length, minimum code rate, maximum code block number, maximum lifting size set, maximum RB number, and maximum PMI set.
[0153] For example, the first information can be added in the standard protocol 38.331 6.3.3 UE Capability information elements chapter. Taking the receiving end as a terminal device for example, the first information can be the decoding capability information of the terminal device, and the first information can be as follows:
[0154] The above first information corresponds to the following explanation:
[0155] Physical parameter frequency band X difference FRX-Diff (Frequency Range X-different) sequence
[0156] List the maximum number of information columns Kb of the UE,
[0157] List the BG set supported by the UE,
[0158] List the maximum clock frequency of the UE,
[0159] List the number of antennas of the UE,
[0160] List the receiver complexity of the UE,
[0161] List the peak data rate of the UE,
[0162] List the maximum MCS index of the UE,
[0163] List the maximum number of iterations of the UE,
[0164] List the maximum rank indication of the UE,
[0165] List the minimum processing timeline of the UE,
[0166] List the maximum number of blind detections of the UE,
[0167] List the maximum code length of the UE,
[0168] List the minimum code rate of the UE,
[0169] List the maximum number of code blocks of the UE,
[0170] List the maximum lifting value of the UE,
[0171] List the maximum number of resource blocks of the UE,
[0172] List the maximum PMI set of the UE
[0173] }
[0174] Optionally, in addition to the above examples, the first information can also be included in other physical parameter sequences, such as Phy-ParametersFR1 (physical parameter frequency band 1), Phy-ParametersFR2 (physical parameter frequency band 2), Phy-ParametersFRCommon (physical parameter frequency band common frequency band 1), etc.
[0175] For another example, the first information can be added in the standard protocol 38.822 6.1 Layer-1 UE features chapter. For example, Components (component) can be added to carry the first information in 38.822 6.1.8 NR_UE_pow_sav_enh. Still taking the terminal device as the receiving end for example, the first information can be the decoding capability information of the terminal device, and the first information can be as shown in Table 4:
[0176] Table 4
[0177] In the above Table 4, “Features” represents features; “Index” represents indexes; “Feature group” represents feature groups; “Components” represents components; “Prerequisite feature groups” represents prerequisite feature groups; “Field name in TS 38.331[2]” represents field names; “Parent IE in TS 38.331[2]” represents parent information elements (IEs); “Need of FDD / TDD differentiation” represents FDD / TDD differentiation needs; “29.NR_UE_pow_sav_enh” represents new radio UE power saving enhancement (NR UE Power saving enhancement); “PDCCH skipping” represents skipping physical downlink control channel (PDCCH); “Support of up to 2-bit indication of PDCCH skipping by scheduling DCI if SSSG is not configured” represents support of up to 2-bit indication of PDCCH skipping by scheduling downlink control information (DCI) if a search space set group (SSSG) is not configured; “pdcch-SkippingWithoutSSSG-r17” represents PDCCH skipping without SSS-r17; “BandNR” represents an NR frequency band; “Low power decoding” represents low-power decoding; “Support of up to xxx code block number” represents a maximum code block number supported; “UE-defined-codeBlockNum” represents a UE-defined code block number; “Phy-ParametersFRX-Diff” represents physical layer FRX parameter configuration; “Y” is an abbreviation of “Yes”, indicating a difference; “Support of up to Nmax=xxx code length” represents a maximum code length supported; “UE-defined-maxCodeLength” represents a UE-defined maximum code length; and “Support the minimum code rate xxx.” represents support of a minimum code rate xxx."Support of minCodeRate xxx" means the minimum code rate supported; "UE-defined-minCodeRate" means the minimum code rate defined by the UE; "Support of BG Index xxx.BG index" means the BG index supported; "UE-defined-BGIndex" means the BG index defined by the UE; "Lifting size is selected from set{xxx}" means the maximum lifting value; "UE-defined-liftingSizeSet" means the lifting value set defined by the UE; "Support of up to Itermax=xxx Iteration number" means the maximum iteration number supported; "UE-defined-maxIterNum" means the maximum iteration number defined by the UE.
[0178] In some embodiments, the sending end can receive second information before determining the number of information columns. Accordingly, the receiving end can send the second information. Optionally, the first information and the second information can be carried in the same message or in different messages, which is not limited in the present application.
[0179] Step 302: The sending end determines the check matrix according to the number of information columns.
[0180] Specifically, the method for the sending end to determine the check matrix according to the number of information columns can refer to the current related method, which will not be described here.
[0181] Step 303: The sending end encodes the to-be-encoded information according to the check matrix.
[0182] For example, the sending end can obtain a coded bit sequence by encoding the to-be-encoded information according to the check matrix, and then perform rate matching and interleaving on the coded bit sequence to obtain information sent to the receiving end, and further send the finally obtained information to the receiving end.
[0183] The to-be-encoded information can be understood as a bit sequence of information that the sending end needs to send out.
[0184] Based on the above method, the sending end can flexibly determine a suitable number of information columns based on the capability information of the receiving end to implement encoding, so as to meet the requirements of reliability, throughput and power consumption in different business scenarios (such as high-throughput scenarios and low-power consumption scenarios).
[0185] Based on the above description, the embodiments of the present application also provide a decoding method, as shown in FIG. 4, the flow of the method can include:
[0186] Step 401: The receiving end obtains to-be-decoded information.
[0187] The to-be-decoded information obtained by the receiving end can be a physical signal, or information obtained after the receiving end performs noise reduction on the received physical signal, or other types of information. The to-be-decoded information contains the information bit sequence sent by the sending end.
[0188] The to-be-decoded information can be the same as or different from the information in the last obtained information sent by the sending end to the receiving end in step 303, but both correspond to the same information bit sequence.
[0189] In step 402, the receiving end determines the number of information columns of the check matrix according to first information, wherein the first information includes the capability information of the receiving end.
[0190] The method for the receiving end to determine the number of information columns of the check matrix according to the first information is similar to the method for the sending end to determine the number of information columns of the check matrix according to the first information, and reference can be made to the method for the sending end to determine the number of information columns of the check matrix according to the first information, which will not be described herein again.
[0191] In step 403, the receiving end determines the check matrix according to the number of information columns.
[0192] The method for the receiving end to determine the check matrix according to the number of information columns can refer to the related method, which will not be described herein again.
[0193] In step 404, the receiving end decodes the to-be-decoded information according to the check matrix.
[0194] For example, the receiving end can obtain the information bit sequence that needs to be sent by the sending end after decoding the to-be-decoded information according to the check matrix.
[0195] Based on the above method, the receiving end can flexibly determine a suitable number of information columns based on the capability information of the receiving end, and can align the number of information columns with the number of information columns used by the sending end for encoding to realize decoding, so as to meet the requirements for reliability, throughput and power consumption in different business scenarios (such as high-throughput scenarios and low-power consumption scenarios).
[0196] Based on the above embodiments, the embodiments of the present application further provide a communication device. Referring to FIG. 5, the communication device 500 can include a processing unit 502. Optionally, the communication device 500 can also include a transceiver unit 501. The transceiver unit 501 is configured to perform communication of the communication device 500, such as receiving information (signal or data) or sending information (signal or data), and the processing unit 502 is configured to control and manage the actions of the communication device 500. The processing unit 502 can also control the steps performed by the transceiver unit 501.
[0197] Exemplarily, the communication apparatus 500 can be specifically a transmitter in the above-described embodiments, a processor of the transmitter, or a chip, or a chip system, or a component, a module, a functional module, etc. Alternatively, the communication apparatus 500 can be specifically a receiver in the above-described embodiments, a processor of the receiver, or a chip, or a chip system, or a component, a module, a functional module, etc.
[0198] In one embodiment, when the communication apparatus 500 is used to implement the functions of the transmitter in the above-described embodiment shown in FIG. 3, the processing unit 502 can be configured to determine the information column number of the check matrix according to the first information, wherein the first information comprises the capability information of the receiver; determine the check matrix according to the information column number; and encode the to-be-encoded information according to the check matrix.
[0199] Exemplarily, the first information comprises one or more of the following: maximum information column number, supported base graph index set, maximum clock frequency, antenna number, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum iteration number, maximum rank indication, minimum processing timeline, maximum blind decoding number, maximum code length, minimum code rate, maximum code block number, maximum lifting value, maximum resource block number, or maximum precoding matrix indicator (PMI) set. The capability information of the receiver can be the capability information specified in a standard protocol, or the capability information determined according to UE report information and adapted to the UE capability, or the capability information determined according to at least one of the following: current service type, channel fading condition, connection density, service period, or other factors.
[0200] In an alternative implementation, when the processing unit 502 determines the information column number of the check matrix according to the first information, the processing unit 502 can be configured to determine the information column number of the check matrix according to the first information and second information, wherein the second information comprises one or more of the following: MCS index, spectral efficiency, base graph index, base graph indication sent to the receiver, information column number indication sent to the receiver, segment number of a transport block, lifting value, or transport block size (TBS).
[0201] Optionally, when the second information is the MCS index, the information column number is a first value when the MCS index is greater than a first threshold, and the information column number is a second value when the MCS index is less than or equal to the first threshold, and the first value is related to the first information.
[0202] Optionally, when the second information is the spectral efficiency, the information column number is a first value when the spectral efficiency is greater than a second threshold, and the information column number is a second value when the spectral efficiency is less than or equal to the second threshold, and the first value is related to the first information.
[0203] In some embodiments, when the number of information columns is the first value, the puncturing columns included in the check matrix are the first columns of the check matrix, or the check matrix does not include puncturing columns; or when the number of information columns is the second value, the puncturing columns included in the check matrix are the first two columns of the check matrix.
[0204] For example, when the second information is the number of segments of the transport block or the TBS, the number of information columns is positively correlated with the number of segments of the transport block or the TBS, and the number of information columns is less than or equal to a first value, the first value is related to the first information.
[0205] In an optional implementation, when the second information is the lifting value, the processing unit 502 can be configured to: determine an initial number of information columns and a number of information bits included in each code block according to the first information; determine a set of maximum numbers of code block information bits according to the initial number of information columns and the lifting value; and determine the number of information columns corresponding to a first maximum number of code block information bits in the set of maximum numbers of code block information bits as the number of information columns, where the first maximum number of code block information bits is the maximum number of code block information bits in the set of maximum numbers of code block information bits that is greater than the number of information bits of each code block and has the minimum difference with the number of information bits of each code block.
[0206] In some embodiments, the lifting value includes at least one row in the following table:
[0207] Optionally, when the second information is a lifting value, the number of information columns is related to the size of the lifting value.
[0208] For example, the first value is greater than 22 and is an integer multiple of 11.
[0209] In a possible manner, the transceiver 501 can be configured to receive the first information.
[0210] In yet another embodiment, when the communication apparatus 500 is configured to implement the functions of the receiving end in the embodiment of FIG. 4, the processing unit 502 can be configured to: obtain to-be-decoded information; determine a number of information columns of a check matrix according to first information, where the first information includes capability information of the receiving end; determine the check matrix according to the number of information columns; and decode the to-be-decoded information according to the check matrix.
[0211] Exemplarily, the first information comprises one or more of the following: maximum information column number, supported base graph index set, maximum clock frequency, antenna number, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum iteration number, maximum rank indication, minimum processing timeline, maximum blind decoding number, maximum code length, minimum code rate, maximum code block number, maximum lifting value, maximum resource block number, or maximum precoding matrix indication (PMI) set. The capability information of the receiving end can be capability information defined in a standard protocol, can be capability information determined according to UE reported information and adapted to UE capability, or can be capability information determined according to at least one of the following: current service type, channel fading condition, connection density, service period, or other factors.
[0212] In an optional implementation, when determining the information column number of the check matrix according to the first information, the processing unit 502 can be configured to determine the information column number of the check matrix according to the first information and second information, the second information comprising one or more of the following: MCS index, spectrum efficiency, base graph index, base graph indication sent to the receiving end, information column number indication sent to the receiving end, segment number of a transport block, lifting value, or transport block size (TBS).
[0213] Optionally, when the second information is the MCS index, when the MCS index is greater than a first threshold, the information column number is a first value, and when the MCS index is less than or equal to the first threshold, the information column number is a second value, the first value being related to the first information.
[0214] Optionally, when the second information is the spectrum efficiency, when the spectrum efficiency is greater than a second threshold, the information column number is a first value, and when the spectrum efficiency is less than or equal to the second threshold, the information column number is a second value, the first value being related to the first information.
[0215] In some embodiments, when the information column number is the first value, the check matrix contains a puncturing column as a first column of the check matrix, or the check matrix does not contain a puncturing column; or, when the information column number is the second value, the check matrix contains a puncturing column as a first two columns of the check matrix.
[0216] Exemplarily, when the second information is the segment number of the transport block or the TBS, the information column number is positively related to the segment number of the transport block or the TBS, and the information column number is less than or equal to a first value, the first value being related to the first information.
[0217] In an optional implementation, when the second information is the promotion value, the processing unit 502 can be configured to: determine an initial information column number and an information bit number included in each code block according to the first information; determine a maximum code block information bit number set according to the initial information column number and the promotion value; and determine the information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, where the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set, which is greater than the information bit number of each code block and has the minimum difference with the information bit number of each code block.
[0218] For example, the promotion value includes at least one row in the following table:
[0219] In some embodiments, when the second information is the promotion value, the information column number is related to the size of the promotion value.
[0220] Optionally, the first value is greater than 22 and is an integer multiple of 11.
[0221] In some implementations, the transceiving unit 501 can be configured to send the first information.
[0222] It should be noted that the division of units in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, another division manner can be used. The function units in the embodiments of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit. The integrated unit can be implemented in the form of hardware or in the form of a software function unit.
[0223] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or say the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.
[0224] Based on the above embodiments, the embodiments of the present application also provide a communication device. Referring to FIG. 6, the communication device 600 can include one or more processors 602. Optionally, the communication device 600 can also include one or more transceivers 601. Optionally, the communication device 600 can also include at least one memory 603. The memory 603 can be arranged inside the communication device 600, or arranged outside the communication device 600. The processor 602 can control the transceiver 601 to receive and send information, messages or data, etc.
[0225] Specifically, the processor 602 can be a central processing unit (CPU), a network processor (NP), or a combination of the CPU and the NP. The processor 602 can further include a hardware chip. The hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
[0226] The transceiver 601, the processor 602 and the memory 603 are connected with each other. Optionally, the transceiver 601, the processor 602 and the memory 603 are connected with each other through a bus 604. The bus 604 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of indication, only one thick line is used in FIG. 6, but it does not mean that there is only one bus or only one type of bus. Optionally, the processor 602 and the memory 603 can also be integrated together.
[0227] In an optional implementation, the memory 603 is configured to store programs, etc. Specifically, the programs can include program codes including computer operation instructions. The memory 603 can include a RAM, and can also include a non-volatile memory such as one or more disk memories. The processor 602 executes the application programs stored in the memory 603, realizes the above functions, and thus realizes the functions of the communication apparatus 600.
[0228] Exemplarily, the communication apparatus 600 can realize the functions of the sending end or the receiving end in the above-described embodiments.
[0229] In one embodiment, when the communication apparatus 600 realizes the functions of the sending end in the above-described method embodiments shown in FIG. 3, the transceiver 601 can realize the transceiving operations performed by the sending end in the above-described method embodiments shown in FIG. 3, and the processor 602 can realize the operations other than the transceiving operations performed by the sending end in the above-described method embodiments. For specific descriptions, refer to the related descriptions in the above-described method embodiments shown in FIG. 3, which will not be described in detail here.
[0230] In another embodiment, when the communication apparatus 600 realizes the functions of the sending end in the above-described method embodiments shown in FIG. 3, the processor 602 can realize the operations performed by the sending end in the above-described method embodiments shown in FIG. 3. For specific descriptions, refer to the related descriptions in the above-described method embodiments shown in FIG. 3, which will not be described in detail here.
[0231] In yet another embodiment, when the communication apparatus 600 implements the function of the receiving end in the method embodiments shown in the foregoing FIG. 4, the transceiver 601 can implement the transceiving operation performed by the receiving end in the foregoing method embodiments; and the processor 602 can implement the operation other than the transceiving operation performed by the receiving end in the method embodiments shown in the foregoing FIG. 4. For specific details, refer to the description in the method embodiments shown in the foregoing FIG. 4, which will not be described in detail here.
[0232] In yet another embodiment, when the communication apparatus 600 implements the function of the receiving end in the method embodiments shown in the foregoing FIG. 4, the processor 602 can implement the operation performed by the receiving end in the method embodiments shown in the foregoing FIG. 4. For specific details, refer to the description in the method embodiments shown in the foregoing FIG. 4, which will not be described in detail here.
[0233] Based on the above embodiments, the embodiments of the present application provide a communication system, which can include the sending end and the receiving end and the like involved in the above embodiments.
[0234] The embodiments of the present application further provide a computer readable storage medium for storing a computer program or instructions, which, when executed by a computer, can implement the encoding method or the decoding method provided by the above method embodiments.
[0235] The embodiments of the present application further provide a computer program product for storing a computer program or instructions, which, when executed by a computer, can implement the encoding method or the decoding method provided by the above method embodiments.
[0236] The embodiments of the present application further provide a chip or a chip system, which includes a logic circuit for executing the encoding method or the decoding method provided by the above method embodiments.
[0237] The embodiments of the present application further provide a chip or a chip system, which includes one or more processors coupled with at least one memory, for invoking the program in the memory to make the chip or the chip system implement the encoding method or the decoding method provided by the above method embodiments.
[0238] The embodiments of the present application further provide a chip or a chip system, which is coupled with at least one memory, and is used to implement the encoding method or the decoding method provided by the above method embodiments.
[0239] Those skilled in the art will appreciate that embodiments of the present application can be readily used as software, hardware, or a combination of software and hardware. In a software embodiment, various software modules in accordance with embodiments of the present application are stored in a memory such as a computer memory or disk storage for use by, or in connection with, the software on the computer system. The software can provide for programs to be transferred to another computer readable medium (e.g., a removable medium, or a medium conveyed through a computer network) for use in a different system.
[0240] The present application is described in reference to the flow diagrams and / or block diagrams of the methods, apparatus (systems) and computer program products according to this application. It will be understood that each block of the flow diagrams and / or block diagrams, and combinations of blocks in the flow diagrams and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks.
[0241] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the function specified in the flow diagrams and / or block diagrams block or blocks.
[0242] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks.
[0243] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the claims and their equivalents, the application can be practiced otherwise than as specifically described.
Claims
1. An encoding method characterized by comprising: The method comprises: determining the information column number of the check matrix according to first information, wherein the first information comprises capability information of a receiving end; determining the check matrix according to the information column number; encoding the information to be encoded according to the check matrix.
2. The method of claim 1, wherein, The first information comprises one or more of the following: maximum information column number, supported base graph index set, maximum clock frequency, antenna number, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum iteration number, maximum rank indication, minimum processing timeline, maximum blind decoding number, maximum code length, minimum code rate, maximum code block number, maximum lifting value, maximum resource block number, or maximum precoding matrix indicator (PMI) set.
3. The method of claim 1 or 2, wherein, The method comprises: determining the information column number of the check matrix according to the first information and second information, wherein the second information comprises one or more of the following: MCS index, spectral efficiency, base graph index, base graph indication sent to the receiving end, information column number indication sent to the receiving end, segment number of a transport block, lifting value, or transport block size (TBS).
4. The method of claim 3, wherein, When the second information is the MCS index, when the MCS index is greater than a first threshold value, the information column number is a first value, and when the MCS index is less than or equal to the first threshold value, the information column number is a second value, and the first value is related to the first information.
5. The method of claim 3, wherein, When the second information is the spectral efficiency, when the spectral efficiency is greater than a second threshold value, the information column number is a first value, and when the spectral efficiency is less than or equal to the second threshold value, the information column number is a second value, and the first value is related to the first information.
6. The method of claim 4 or 5, wherein, When the information column number is the first value, the puncturing column included in the check matrix is the first column of the check matrix, or the check matrix does not include a puncturing column; or When the information column number is the second value, the puncturing column included in the check matrix is the first two columns of the check matrix.
7. The method of claim 3, wherein, When the second information is the segment number of the transport block or the TBS, the information column number is positively related to the segment number of the transport block or the TBS, and the information column number is less than or equal to a first value, and the first value is related to the first information.
8. The method of claim 3, wherein, When the second information is the lifting value, determining the information column number according to the first information and the second information comprises: determining an initial information column number and an information bit number included in each code block according to the first information; determining a maximum code block information bit number set according to the initial information column number and the lifting value; determining the information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, wherein the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the information bit number of each code block and has the smallest difference value with the information bit number of each code block.
9. The method of claim 8, wherein, The boost value includes at least one row of the following table:
10. The method of claim 3, wherein, When the second information is the lifting value, the information column number is related to the size of the lifting value.
11. The method of any one of claims 4-7, wherein, The first value is greater than 22 and is an integer multiple of 11.
12. The method of any one of claims 1-11, wherein, The method further comprises: receiving the first information.
13. A decoding method, comprising: The method comprises: obtaining information to be decoded; determining an information column number of a check matrix according to first information, wherein the first information comprises capability information of a receiving end; determining the check matrix according to the information column number; decoding the to-be-decoded information according to the check matrix.
14. The method of claim 13, wherein, The first information comprises one or more of the following: a maximum information column number, a supported base graph index set, a maximum clock frequency, an antenna number, a receiver complexity, a peak data rate, a maximum modulation and coding scheme (MCS) index, a maximum iteration number, a maximum rank indication, a minimum processing timeline, a maximum blind decoding number, a maximum code length, a minimum code rate, a maximum code block number, a maximum lifting value, a maximum resource block quantity, or a maximum precoding matrix indicator (PMI) set.
15. The method of claim 13 or 14, wherein, determining an information column number of a check matrix according to first information, wherein the first information comprises capability information of a receiving end; determining the information column number of the check matrix according to the first information and second information, wherein the second information comprises one or more of the following: an MCS index, a spectral efficiency, a base graph index, a base graph indication sent to the receiving end, an information column number indication sent to the receiving end, a segment number of a transport block, a lifting value, or a transport block size (TBS).
16. The method of claim 15, wherein, When the second information is the MCS index, when the MCS index is greater than a first threshold, the information column number is a first value, and when the MCS index is less than or equal to the first threshold, the information column number is a second value, wherein the first value is related to the first information.
17. The method of claim 15, wherein, When the second information is the spectral efficiency, when the spectral efficiency is greater than a second threshold, the information column number is a first value, and when the spectral efficiency is less than or equal to the second threshold, the information column number is a second value, wherein the first value is related to the first information.
18. The method of claim 16 or 17, wherein, When the information column number is the first value, the puncturing column included in the check matrix is the first column of the check matrix, or the check matrix does not include a puncturing column; or When the information column number is the second value, the puncturing column included in the check matrix is the first two columns of the check matrix.
19. The method of claim 15, wherein, When the second information is the segment number of the transport block or the TBS, the information column number is positively related to the segment number of the transport block or the TBS, and the information column number is less than or equal to a first value, wherein the first value is related to the first information.
20. The method of claim 15, wherein, When the second information is the lifting value, determining the information column number according to the first information and the second information comprises: determining an initial information column number and an information bit number included in each code block according to the first information; determining a maximum code block information bit number set according to the initial information column number and the lifting value; determining an information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, wherein the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the information bit number of each code block and has the smallest difference from the information bit number of each code block.
21. The method of claim 20, wherein, The boost value includes at least one row of the following table:
22. The method of claim 15, wherein, When the second information is the lifting value, the information column number is related to the size of the lifting value.
23. The method of any one of claims 16-19, wherein, The first value is greater than 22 and is an integer multiple of 11.
24. The method of any one of claims 13-23, wherein, The method further comprises: sending the first information.
25. The method of any of claims 1-24, wherein the capability information of the receiving end is capability information defined in a standard protocol; or the capability information of the receiving end is capability information determined according to user equipment (UE) reporting information and adapted to the capability of the UE; or the capability information of the receiving end is capability information determined according to at least one of the following: current channel fading condition, current service type, current connection density, and current service period. A unit or module for performing the method of any of claims 1-12, 25, or a unit or module for performing the method of any of claims 13-25. A processor for executing computer programs or instructions to implement the method of any of claims 1-12, 25, or to implement the method of any of claims 13-25. A computer readable storage medium storing computer programs or instructions, which, when executed by a communication device, implement the method of any of claims 1-12, 25, or implement the method of any of claims 13-25. A computer program product containing computer programs or instructions, which, when executed by a computer, cause the method of any of claims 1-12, 25 to be implemented, or cause the method of any of claims 13-25 to be implemented.
26. A communications device, characterized by A chip coupled with a memory for reading and executing program instructions stored in the memory to implement the method of any of claims 1-12, 25, or to implement the method of any of claims 13-25.
27. A communications device, characterized by 28. A computer-readable storage medium, characterized in that, 29. A computer program product, characterised in that, 30. A chip, characterized by
Citation Information
Patent Citations
High-code-rate data sending method and device
CN108206722A
QC-LDPC code encoding / decoding method and system based on DMT modulation
CN108768593A
Signal transfer method, transmitting terminal, and receiving terminal
CN109155635A
Coding method and communication device
CN119995781A
Check matrix generation method and check matrix generation device
CN1701516A