Encoding / decoding method, apparatus, and system
By performing probabilistic shaping on polar codes and LDPC codes, and selecting specific bit positions for encoding and decoding, the number of information bits and the encoding process are optimized, solving the problems of encoding and decoding efficiency and performance in 5G communication, and realizing a more efficient encoding scheme.
Patent Information
- Application Number
- PCT/CN2025/106304
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-23
- Filing Date
- 2025-06-30
- Publication Date
- 2026-01-29
AI Technical Summary
How to implement a probability-shaping-based transmission scheme based on polar codes and/or LDPC codes to improve the encoding and decoding efficiency and performance in 5G communication.
By performing probabilistic shaping on polar codes and LDPC codes, specific bit positions are selected for encoding and decoding. Auxiliary bits are selected using a pre-frozen position set and a reliability sequence. By combining the modulation order, the number of resource units, and the coding length, the number of information bits and the coding process are optimized to reduce complexity and improve shaping gain.
It achieves a more efficient encoding and decoding process in 5G communication, reduces the complexity of probabilistic shaping, and improves encoding performance and shaping gain, meeting different transmission requirements.
Smart Images

Figure CN2025106304_29012026_PF_FP_ABST
Abstract
Description
A coding and decoding method, device and system
[0001] Cross-reference to Related Applications
[0002] This application claims priority to the Chinese Patent Application No. 202410996163.3, filed on July 23, 2024, and entitled “A coding and decoding method, device and system”, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0003] The present application relates to the field of communication technology, and in particular to a coding and decoding method, device and system. BACKGROUND
[0004] Polar code is selected as the encoding method of control channel in the 5th generation (5G) communication standard, and the polar code is a coding scheme that can be strictly proved to “reach” the Shannon channel capacity, and has the advantages of good decoding performance and low complexity. Low density parity check (LDPC) code is selected as the encoding method of data channel in the 5G communication standard, and the LDPC code is a linear block code with a sparse check matrix, which not only has good performance close to the Shannon limit, but also has low decoding complexity and flexible structure.
[0005] At present, polar code and LDPC code are two encoding schemes of 5G, and how to implement a transmission scheme based on probability shaping based on polar code and / or LDPC code still needs further research. SUMMARY
[0006] The present application provides a coding and decoding method, device and system for implementing a transmission scheme based on probability shaping based on polar code and / or LDPC code.
[0007] In a first aspect, an encoding method is provided. The method can be performed by a first communication device (or encoding device). In the present disclosure, the first communication device can refer to a communication device (e.g., a network device, a terminal device, an encoding device, etc.), a component (e.g., a processor, a chip, or a chip system, etc.) in the communication device, or a logic module or software that can implement all or part of the functions of the communication device. For example, in the method provided in the first aspect, the first communication device performs probability shaping on part of bits in a first code block to obtain shaped bits, encodes the shaped bits and bits other than the part of bits in the first code block, and outputs a sequence of encoded bits. The method includes: selecting K2 bit positions from bit positions with indexes [N / 2, N-1] or [0, N / 2-1] in N bit positions; the K2 bit positions are used to carry K2 auxiliary bits; and performing polar encoding on K1 information bits and the K2 auxiliary bits to obtain the first bit sequence. The part of bits includes the K1 information bits, and the shaped bits include the first bit sequence. K1 and K2 are integers greater than or equal to 1, and N is an integer power of 2.
[0008] In the above method, the set of pre-frozen positions includes bit positions with indexes [0, N / 2-1], and then K2 bit positions can be selected from bit positions with indexes [N / 2, N-1] according to a reliability sequence with a length of N / 2 (or the set of pre-frozen positions includes bit positions with indexes [N / 2, N-1], and then K2 bit positions can be selected from bit positions with indexes [0, N / 2-1] according to a reliability sequence with a length of N / 2), which is relatively simple and facilitates reducing the complexity of probability shaping.
[0009] In a possible design, the method further includes: determining the number K1 of information bits according to a length N1 of the first bit sequence, where or r is related to at least one of a target probability of probability shaping, MCS, and a modulation order.
[0010] In this way, the number of information bits is determined according to the length of the first bit sequence, the target probability of probability shaping, the MCS, and the modulation order, so that the number of information bits participating in probability shaping is reasonable, and the performance of probability shaping is not affected by too many or too few information bits participating in probability shaping.
[0011] In a possible design, the method further includes: determining the number K1 of information bits according to a length N1 of the first bit sequence, where Or H(p) represents an information entropy of the probability shaping, p represents a target probability of the probability shaping; N1 is an integer greater than 1.
[0012] In this way, the number of information bits is determined according to the length of the first bit sequence and the information entropy of the probability shaping, so that the number of information bits participating in the probability shaping is reasonable, and the performance of the probability shaping is avoided from being affected by too many or too few information bits participating in the probability shaping.
[0013] In a possible design, the method further includes: determining the length of each bit sequence in the C bit sequences according to the number E' of bits shaped in the first code block and the N, the C bit sequences including the first bit sequence; wherein, the sum of the lengths of the C bit sequences is equal to the number E' of bits shaped, and C and E' are integers greater than 1.
[0014] In this way, the segmentation is determined according to the number E' of bits shaped in the first code block and the N (for example, the N is the maximum length supported by the DM), so as to facilitate meeting the limitation of the maximum DM length.
[0015] In a possible design, the method further includes: determining the number E' of bits shaped according to the number H of scheduled resource units; wherein, E' = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0016] In this way, n bits can be shaped for each real part and imaginary part of each modulation symbol. When n = 1, that is, 1 bit is shaped for each real part and imaginary part of each modulation symbol, so that the complexity of the probability shaping is relatively low, and most of the shaping gain can be obtained. When n = 2, that is, 2 bits are shaped for each real part and imaginary part of each modulation symbol, the shaping gain can be further improved.
[0017] In a possible design, the method further includes: sending first information, the first information being used to indicate at least one of the following: a value of the N; a value of the number C of bit sequences included in the bits shaped; a value of the number K1 of information bits; a value of the length N1 of the first bit sequence; a value of the number E' of bits shaped in the first code block.
[0018] In this way, the first communication apparatus can send the first information (or segmentation information) to the second communication apparatus, so that the second communication apparatus decodes the first bit sequence according to the segmentation information.
[0019] In a possible design, the method further includes: determining the length of the first code block according to an activation state of the probabilistic shaping; determining an extension factor of the LDPC code according to the length of the first code block; and encoding the shaped bits and the bits in the first code block other than the partial bits, including: encoding the shaped bits and the bits in the first code block other than the partial bits according to a check matrix corresponding to the extension factor.
[0020] In this way, the length of the first code block is determined according to the activation state of the probabilistic shaping, and then the extension factor is determined according to the length of the first code block, so that the check matrix determined according to the extension factor can match the length of the code block, and the requirement of jointly implementing the transmission scheme based on probabilistic shaping is met.
[0021] In a possible design, the length of the first code block is determined according to the activation state of the probabilistic shaping, including: when the activation state of the probabilistic shaping is deactivated, determining the length of the first code block according to a first maximum code block length CBmax; or when the activation state of the probabilistic shaping is activated, determining the length of the first code block according to a second maximum code block length CBmax', the length of the first code block being a shaped code block length of the first code block. For example, the length of the first code block is equal to a sum of the number of shaped bits and the number of bits in the first code block other than the partial bits.
[0022] In this way, the length of the first code block is determined according to the activation state of the probabilistic shaping, and then the extension factor is determined according to the length of the first code block, so that the check matrix determined according to the extension factor can match the length of the code block, and the requirement of jointly implementing the transmission scheme based on probabilistic shaping is met.
[0023] In a possible design, the length of the first code block is determined according to the second maximum code block length CBmax', including: determining a number of code blocks as M according to the second maximum code block length CBmax'; determining an initial code block length of each code block according to the number M of code blocks; and determining the length of the first code block according to the initial code block length of the first code block, the initial code block length of the first code block being a code block length of the first code block before shaping.
[0024] In a possible design, the length of the first code block is determined according to the initial code block length of the first code block, including: determining the length of the first code block according to the initial code block length of the first code block and a preset value.
[0025] In a possible design, the length of the first code block is less than or equal to the first maximum code block length CBmax.
[0026] In this way, the definition of CBmax in the existing standard can be changed, and reuse of the existing standard is facilitated as much as possible.
[0027] In a second aspect, an embodiment of the present application provides a decoding method, which can be executed by a second communication device (or decoding device). In the present application, the second communication device can refer to a communication device (for example, a terminal device, a network device, a decoding device, etc.), a component (for example, a processor, a chip, or a chip system, etc.) in the communication device, or a logic module or software capable of realizing all or part of the functions of the communication device. For example, in the method provided in the second aspect, the second communication device decodes a shaped bit sequence through a channel to obtain a first bit sequence; and performs de-probability shaping on the first bit sequence to obtain K1 information bits; wherein the de-probability shaping on the first bit sequence to obtain K1 information bits comprises: selecting K2 bit positions from bit positions with indexes of [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bit positions being used to carry K2 auxiliary bits; and obtaining the K1 information bits according to the first bit sequence and the K2 bit positions; K1 and K2 are integers greater than or equal to 1, and N is an integer power of 2.
[0028] In a possible design, the method further includes: determining the number K1 of information bits according to a length N1 of the first bit sequence. Alternatively, r is related to at least one of a target probability of probability shaping, MCS, and a modulation order.
[0029] In a possible design, the method further includes: determining the number K1 of information bits according to a length N1 of the first bit sequence; wherein, Alternatively, H(p) represents an information entropy of the probability shaping, p represents a target probability of the probability shaping, and N1 is an integer greater than 1.
[0030] In a possible design, the method further includes: determining lengths of C bit sequences according to a number E’ of shaped bits in the first code block and the N, the C bit sequences including the first bit sequence; wherein, a sum of the lengths of the C bit sequences is equal to the number E’ of shaped bits, and C and E’ are integers greater than 1.
[0031] In a possible design, the method further includes: determining the number E’ of shaped bits according to a number H of scheduled resource units; wherein, E’ = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0032] In a possible design, the method further includes: receiving first information, where the first information is used to indicate at least one of the following: a value of the N; a value of a number C of bit sequences included in the shaped bits; a value of the number K1 of information bits; a value of a length N1 of the first bit sequence; and a value of a number E’ of shaped bits in the first code block.
[0033] In a possible design, the method further includes: determining a length of the first code block according to an activation state of the probabilistic shaping, where the activation state of the probabilistic shaping includes activation and deactivation; determining an extension factor of the LDPC code according to the length of the first code block; and obtaining the shaped bit sequence through channel decoding, including: performing decoding on the to-be-decoded symbol sequence according to a check matrix corresponding to the extension factor to obtain the shaped bit sequence.
[0034] In a possible design, determining the length of the first code block according to the activation state of the probabilistic shaping includes: determining the length of the first code block according to a first maximum code block length CBmax when the activation state of the probabilistic shaping is deactivation; or determining the length of the first code block according to a second maximum code block length CBmax’ when the activation state of the probabilistic shaping is activation, where the length of the first code block is a code block length after shaping. For example, the length of the first code block is equal to a sum of the number of shaped bits and a number of bits in the first code block other than the partial bits.
[0035] In a possible design, the second maximum code block length CBmax’ is determined according to the first maximum code block length CBmax.
[0036] In a possible design, determining the length of the first code block according to the second maximum code block length CBmax’ includes: determining a number of code blocks M according to the second maximum code block length CBmax’; determining an initial code block length of each code block according to the number M of code blocks; and determining the length of the first code block according to the initial code block length of the first code block.
[0037] In a possible design, determining the length of the first code block according to the initial code block length of the first code block includes: determining the length of the first code block according to the initial code block length of the first code block and a preset value, where the initial code block length of the first code block is a code block length before shaping.
[0038] In a possible design, the length of the first code block is less than or equal to the first maximum code block length CBmax.
[0039] In a third aspect, an embodiment of the present application provides an encoding method, which can be executed by the first communication device (for details, refer to the description of the first communication device in the first aspect). For example, in the method provided in the third aspect, the first communication device determines the length of a first code block according to an activation state of probability shaping, the activation state of probability shaping including activation and deactivation; determines an extension factor of an LDPC code according to the length of the first code block; and encodes the first code block according to a check matrix corresponding to the extension factor.
[0040] In a possible design, the determination of the length of the first code block according to the activation state of probability shaping includes: when the activation state of probability shaping is deactivation, determining the length of the first code block according to a first maximum code block length CBmax; or when the activation state of probability shaping is activation, determining the length of the first code block according to a second maximum code block length CBmax', the length of the first code block being a shaped code block length of the first code block.
[0041] In a possible design, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax.
[0042] In a possible design, the determination of the length of the first code block according to the second maximum code block length CBmax' includes: determining a number of code blocks as M according to the second maximum code block length CBmax'; determining an initial code block length of each code block according to the number of code blocks M; and determining the length of the first code block according to the initial code block length of the first code block, the initial code block length of the first code block being a pre-shaping code block length of the first code block.
[0043] In a possible design, the determination of the length of the first code block according to the initial code block length of the first code block includes: determining the length of the first code block according to the initial code block length of the first code block and a preset value.
[0044] In a possible design, the length of the first code block is less than or equal to the first maximum code block length CBmax.
[0045] In a possible design, the method further includes: performing the probability shaping on part of bits in the first code block to obtain shaped bits; and encoding the first code block according to the check matrix corresponding to the extension factor, including: encoding the shaped bits and bits in the first code block other than the part of bits according to the check matrix corresponding to the extension factor.
[0046] In a possible design, the probability shaping is performed on part of the bits in the first code block to obtain shaped bits, including: selecting K2 bit positions from bit positions with indexes of [N / 2, N-1] or [0, N / 2-1] in N bit positions, where the K2 bit positions are used to carry K2 auxiliary bits; and performing polar encoding on K1 information bits and the K2 auxiliary bits to obtain the first bit sequence, where the part of the bits include the K1 information bits, and the shaped bits include the first bit sequence; K1 and K2 are integers greater than or equal to 1, and N is an integer power of 2.
[0047] In a possible design, the method further includes: determining the number K1 of the information bits according to a length N1 of the first bit sequence. Alternatively, r is related to at least one of a target probability of the probability shaping, an MCS, and a modulation order.
[0048] In a possible design, the method further includes: determining the number K1 of the information bits according to a length N1 of the first bit sequence. Alternatively, H(p) represents an information entropy of the probability shaping, p represents a target probability of the probability shaping, and N1 is an integer greater than 1.
[0049] In a possible design, the method further includes: determining a length of each of C bit sequences according to the number E' of the shaped bits and the N, where the C bit sequences include the first bit sequence. A sum of the lengths of the C bit sequences is equal to the number E' of the shaped bits, and C and E' are integers greater than 1.
[0050] In a possible design, the method further includes: determining the number E' of the shaped bits according to a number H of scheduled resource units, where E' = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0051] In a possible design, the method further includes: sending first information, where the first information is used to indicate at least one of: a value of the N; a value of a number C of bit sequences included in the shaped bits; a value of the number K1 of the information bits; a value of a length N1 of the first bit sequence; and a value of the number E' of the shaped bits in the first code block.
[0052] In a possible design, the length of the first bit sequence is denoted as N1, a is any integer greater than or equal to 0 and less than A, A = (E'-C*N) mod C.
[0053] In a fourth aspect, an embodiment of the present application provides a decoding method, which can be executed by the second communication device (for details, refer to the description of the second communication device in the second aspect). For example, in the method provided in the fourth aspect, the second communication device determines the length of a first code block according to the activation state of probability shaping, the activation state of probability shaping including activation and deactivation; determines the spreading factor of the LDPC code according to the length of the first code block; and decodes the to-be-decoded symbol sequence according to the check matrix corresponding to the spreading factor.
[0054] In a possible design, determining the length of the first code block according to the activation state of probability shaping includes: when the activation state of probability shaping is deactivation, determining the length of the first code block according to a first maximum code block length CBmax; or when the activation state of probability shaping is activation, determining the length of the first code block according to a second maximum code block length CBmax', the length of the first code block being the shaped code block length of the first code block.
[0055] In a possible design, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax.
[0056] In a possible design, determining the length of the first code block according to the second maximum code block length CBmax' includes: determining the number of code blocks as M according to the second maximum code block length CBmax'; determining the initial code block length of each code block according to the number of code blocks M; and determining the length of the first code block according to the initial code block length of the first code block, the initial code block length of the first code block being the code block length of the first code block before shaping.
[0057] In a possible design, determining the length of the first code block according to the initial code block length of the first code block includes: determining the length of the first code block according to the initial code block length of the first code block and a preset value.
[0058] In a possible design, the length of the first code block is less than or equal to the first maximum code block length CBmax.
[0059] In a possible design, when the activation state of probability shaping is activation, the decoding obtains a shaped bit sequence, the shaped bit sequence including a first bit sequence; and the method further includes: performing de-probability shaping on the first bit sequence to obtain K1 information bits, K1 being an integer greater than or equal to 1.
[0060] In a possible design, the de-probability shaping of the first bit sequence to obtain K1 information bits includes: selecting K2 bit positions from bit positions with indexes of [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bit positions being used to carry K2 auxiliary bits, N being an integer power of 2, and K2 being an integer greater than or equal to 1; and obtaining the K1 information bits according to the first bit sequence and the K2 bit positions.
[0061] In a possible design, the method further includes: determining the number K1 of information bits according to a length N1 of the first bit sequence. Alternatively, r is related to at least one of a target probability of the probability shaping, an MCS, and a modulation order.
[0062] In a possible design, the method further includes: determining the number K1 of information bits according to a length N1 of the first bit sequence. Alternatively, H(p) represents an information entropy of the probability shaping, p represents a target probability of the probability shaping, and N1 is an integer greater than 1.
[0063] In a possible design, the method further includes: determining lengths of C bit sequences according to the shaped bit quantity E’ and the N, the C bit sequences including the first bit sequence. The sum of the lengths of the C bit sequences is equal to the shaped bit quantity E’, and C and E’ are integers greater than 1.
[0064] In a possible design, the method further includes: determining the shaped bit quantity E’ according to a number H of scheduled resource units, where E’ = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0065] In a possible design, the method further includes: receiving first information, the first information being used to indicate at least one of: a value of the N; a value of the number C of bit sequences included in the shaped bits; a value of the number K1 of information bits; a value of the length N1 of the first bit sequence; and a value of the shaped bit quantity E’ in the first code block.
[0066] It can be understood that the methods provided by the second aspect to the fourth aspect correspond to the method provided by the first aspect, and the beneficial effects of the related technical features in the second aspect to the fourth aspect can refer to the description of the first aspect, and will not be repeated here.
[0067] In a fifth aspect, the present application provides a communication apparatus, which implements the functions of any of the first to fourth aspects. For example, the communication apparatus includes a module or unit or means for performing the operations of any of the first to fourth aspects. The functions or units or means can be implemented by software or by hardware, or by a combination of hardware and software.
[0068] In a possible design, the communication apparatus includes a processing unit and a communication unit. The communication unit can be configured to transceive signals to implement communication between the communication apparatus and another apparatus. The processing unit can be configured to perform some internal operations of the communication apparatus. The processing unit and the communication unit can perform functions corresponding to the operations of any of the first to fourth aspects.
[0069] In a possible design, the communication apparatus includes a processor. The processor can be configured to be coupled with a memory. The memory can store computer programs or instructions necessary for implementing the functions of any of the first to fourth aspects. The processor can execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor can cause the communication apparatus to implement the method in any of the possible designs or implementation manners of the first to fourth aspects.
[0070] In a possible design, the communication apparatus includes a processor and a memory. The memory can store computer programs or instructions necessary for implementing the functions of any of the first to fourth aspects. The processor can execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor can cause the communication apparatus to implement the method in any of the possible designs or implementation manners of the first to fourth aspects.
[0071] In a possible design, the communication apparatus includes a processor and an interface circuit. The processor can be configured to communicate with another apparatus through the interface circuit, and perform the method in any of the possible designs or implementation manners of the first to fourth aspects.
[0072] It can be understood that, in the fifth aspect, the processor can be implemented by hardware or software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, or the like. When implemented by software, the processor can be a general-purpose processor, which implements the above-mentioned method by reading software codes stored in a memory. In addition, the processor can be one or more, and the memory can be one or more. The memory can be integrated with the processor, or the memory and the processor can be separately arranged. In the implementation process, the memory can be integrated with the processor on the same chip, or can be separately arranged on different chips. The type of the memory and the arrangement mode of the memory and the processor are not limited in the embodiments of the present application.
[0073] In a sixth aspect, the present application provides a communication system, which can include a first communication device, a second communication device, and a third communication device. The first communication device is configured to perform the method of the first aspect, the second communication device is configured to perform the method of the second aspect, and the third communication device is configured to perform the method of the fourth aspect.
[0074] In a seventh aspect, the present application provides a computer-readable storage medium, which stores a computer program (or computer-readable instructions). When a computer reads and executes part or all of the computer-readable instructions, the method in any possible design of the first aspect to the fourth aspect is performed.
[0075] For example, 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 device, or any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer.
[0076] In an eighth aspect, the present application provides a computer program product, which, when read and executed by a computer, causes the method in any possible design of the first aspect to the fourth aspect to be performed.
[0077] In a ninth aspect, the present application provides a chip (or a chip system), which comprises a processor coupled with a memory, and the memory stores a computer program; the processor is configured to invoke part or all of the computer program in the memory, so that the method in any possible design of the first aspect to the fourth aspect is executed. BRIEF DESCRIPTION OF DRAWINGS
[0078] FIG. 1 is a schematic diagram of an architecture of a communication system to which embodiments of the present application can be applied;
[0079] FIG. 2A is a schematic diagram of a processing flow of a source and a sink;
[0080] FIG. 2B is a schematic diagram of another processing flow of a source and a sink;
[0081] FIG. 2C is a constellation point distribution after shaping;
[0082] FIG. 3A is a schematic diagram of a BG adopted in NR;
[0083] FIG. 3B is a schematic diagram of an 8x8 polar transformation matrix;
[0084] FIG. 3C is a schematic diagram of an SC decoding calculation process;
[0085] FIG. 3D is a schematic diagram of a decoding path in an SCL decoding method;
[0086] FIG. 4 is a schematic diagram of a flow corresponding to the method provided in Embodiment 1 of the present application;
[0087] FIG. 5 is a schematic diagram of an implementation flow of probability shaping;
[0088] FIG. 6A and FIG. 6B are schematic diagrams of determining the value of a helper bit;
[0089] FIG. 7 is a schematic diagram of a flow corresponding to the method provided in Embodiment 2 of the present application;
[0090] FIG. 8A and FIG. 8B are schematic diagrams of a pre-freezing position set provided in the present application;
[0091] FIG. 9 is an exemplary block diagram of an apparatus involved in the present application;
[0092] FIG. 10 is a schematic diagram of a structure of a communication apparatus provided in the present application. DETAILED DESCRIPTION
[0093] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. The present application will present various aspects, embodiments or features around a system which can include a plurality of devices, components, modules, etc. It should be understood and appreciated that each system can include additional devices, components, modules, etc., and / or can not include all the devices, components, modules, etc. discussed in connection with the drawings. In addition, combinations of these solutions can also be used.
[0094] In the embodiments of the present application, the words "exemplary", "for example", and the like are used to mean example, illustration, or description. Any embodiment or design solution described as "exemplary" in the present application should not be interpreted as being more preferred or having greater advantages than other embodiments or design solutions. Rather, the word "exemplary" is used to present concepts in a particular manner. In the embodiments of the present application, "of", "corresponding" and "corresponding" are sometimes mixed. It should be pointed out that when the difference is not emphasized, the meaning expressed is consistent.
[0095] The technical solutions of the embodiments of the present application can be applied to various wireless communication systems, such as a universal mobile telecommunications system (UMTS), a wireless local area network (WLAN), a short-range wireless communication system (such as a sidelink, wireless fidelity (Wi-Fi), Bluetooth, and the like), a wired network, a vehicle to everything (V2X) communication system, a device-to-device (D2D) communication system, a vehicle networking communication system, a 4th generation (4G) mobile communication system (such as a long term evolution (LTE) system), an LTE frequency division duplex (FDD) system, an LTE time division duplex (TDD), a worldwide interoperability for microwave access (WiMAX) communication system, a 5G mobile communication system (such as a new radio (NR) system), a future communication system, or other similar communication systems, and the like, without limitation. The embodiments of the present application are described by taking a communication system shown in FIG. 1 as an example, and when the technical solutions of the embodiments of the present application are applied to other communication systems, the devices, components, modules, and the like in the embodiments can be replaced by corresponding devices, components, modules in other communication systems, without limitation.
[0096] FIG. 1 is a schematic diagram of an architecture of a communication system to which embodiments of the present application are applied. As shown in FIG. 1, the communication system includes an access network 100. Optionally, the communication system can also include a core network 200 and an Internet 300. The access network 100 can include at least one network device, such as 110a and 110b in FIG. 1, and at least one terminal device, such as 120a-120j in FIG. 1. Among them, 110a is a base station, 110b is a micro station, 120a, 120e, 120f and 120j are mobile phones, 120b is a car, 120c is a fuel dispenser, 120d is a home access point (HAP) arranged indoors or outdoors, 120g is a notebook computer, 120h is a printer, and 120i is a drone. Among them, the same terminal device or network device can provide different functions in different application scenarios. For example, the mobile phones in FIG. 1 are 120a, 120e, 120f and 120j. The mobile phone 120a can access the base station 110a, connect to the car 120b, communicate directly with the mobile phone 120e and access the HAP. The car 120b can access the HAP and communicate directly with the mobile phone 120a. The mobile phone 120f can access the micro station 110b, connect to the notebook computer 120g and connect to the printer 120h. The mobile phone 120j can control the drone 120i.
[0097] (1) Network device
[0098] A network device is a network-side device with wireless transceiving function. The network device can be a device in a radio access network (RAN) that provides wireless communication function for a terminal device, referred to as a RAN device. The RAN can be an access network in the 3rd generation partnership project (3GPP), such as 4G, 5G or future network. The RAN can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a communication network of two or more of the above networks.
[0099] The RAN device can also be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system or an access node in a WiFi system, etc.
[0100] The RAN device can also be a module or unit that completes the functions of the base station part, for example, can be a central unit (CU), can also be a distributed unit (DU), and can also be a radio unit (RU). The CU here completes the functions of the radio resource control protocol (RRC) and the PDCP of the base station, and can also complete the function of the service data adaptation protocol (SDAP); the CU can be further divided into a CU control panel (CP) (CU-CP) and a CU user panel (UP) (CU-UP). The DU completes the functions of the RLC layer and the MA layer of the base station, and can also complete part of the physical layer or all the physical layer functions. For specific descriptions of the above-mentioned protocol layers, refer to the related technical specifications of 3GPP. The CU and the DU can be separately arranged, or can also 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). In different systems, the CU, the DU, or the RU can also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, the CU can also be referred to as an O-CU (open CU), the DU can also be referred to as an O-DU, and the RU can also be referred to as an O-RU. Any one of the CU (or CU-CP, CU-UP), the DU, and the 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. The RAN device can be a macro base station (such as 110a in FIG. 1), can also be a micro base station or an indoor station (such as 110b in FIG. 1), and can also be a relay node or a donor node, etc. The embodiments of this application do not limit the specific technologies and specific device forms adopted by the network device.
[0101] In the embodiments of this application, the functions of the network device can also be executed by a module (such as a chip) in the network device, or can also be executed by a control subsystem containing the functions of the network device. The control subsystem containing the functions of the network device here can be a control center in the above-mentioned application scenarios such as smart grid, industrial control, intelligent transportation, and smart city.
[0102] (2) Terminal device
[0103] A terminal device is a user-side device with wireless transceiving function. The terminal device can also be referred to as a terminal, a user equipment (UE), a mobile station, a mobile terminal, etc. The terminal device can be widely applied in various scenarios, such as device-to-device (D2D), vehicle to everything (V2X) communication, machine-type communication (MTC), internet of things (IOT), virtual reality, augmented reality, industrial control, automatic driving, remote medical treatment, smart power grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. The terminal device can be a mobile phone, a tablet computer, a computer with wireless transceiving function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a mechanical arm, a smart home device, etc. In the embodiments of the present application, the device for implementing the function of the terminal device can be the terminal device, or a device capable of supporting the terminal device to implement the function, such as a chip system or a combination device or component that can implement the function of the terminal device, which can be installed in the terminal device. The embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.
[0104] In the embodiments of the present application, the function of the terminal device can also be executed by a module (such as a chip or a modem) in the terminal device, or by a device containing the function of the terminal device.
[0105] The network device and the terminal device can be fixed in position or movable. The network device and the terminal device can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on the water surface; can also be deployed on an airplane, a balloon and a man-made satellite in the air. The embodiments of the present application do not limit the application scenarios of the network device and the terminal device.
[0106] The roles of the network device and the terminal device can be relative, for example, the helicopter or the drone 120i in FIG. 1 can be configured as a mobile network device, and for those terminal devices 120j that access the wireless access network 100 through 120i, the terminal device 120i is a network device; but for the network device 110a, 120i is a terminal device, that is, 110a communicates with 120i through a wireless air interface protocol. Of course, 110a and 120i can also communicate through an interface protocol between network devices and network devices, at this time, 120i is also a network device relative to 110a. Therefore, the network device and the terminal device can be collectively referred to as a communication apparatus, 110a and 110b in FIG. 1 can be referred to as a communication apparatus with a network device function, and 120a-120j in FIG. 1 can be referred to as a communication apparatus with a terminal device function.
[0107] The network device and the terminal device, the network device and the network device, and the terminal device and the terminal device can communicate through an authorized frequency spectrum, can communicate through an unlicensed frequency spectrum, or can simultaneously communicate through an authorized frequency spectrum and an unlicensed frequency spectrum, without limitation.
[0108] The network architecture and the service scenario described in 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 the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems as the network architecture evolves and new service scenarios appear.
[0109] The related terms involved in the embodiments of the present application will be explained first. When not specifically explained, these explanations are used to support the meanings of the related terms and make the embodiments of the present application easier to understand, and should not be regarded as a strict limitation on the related terms in the protection scope claimed by the present application.
[0110] (1) Channel encoding, channel decoding
[0111] FIG. 2A is a schematic diagram of a processing flow of a source and a sink. As shown in FIG. 2A, the sending end (i.e., the source) obtains a to-be-encoded bit sequence (i.e., an information bit sequence) through source encoding, and performs channel encoding on the information bit sequence to obtain an encoded bit sequence. Correspondingly, the receiving end (i.e., the sink) obtains a to-be-decoded symbol sequence, performs channel decoding on the to-be-decoded symbol sequence to obtain an information bit sequence, and then performs source recovery on the information bit sequence to obtain useful information.
[0112] Since the source coding does not consider anti-interference, if the bit sequence output by the source coding is directly transmitted through the channel, due to the noise interference in the channel, error codes will be caused, and the communication reliability will be reduced. Therefore, the bit sequence output by the source coding is encoded again through channel coding, which can improve the communication reliability. The channel decoding is the inverse process of the channel coding.
[0113] There are various ways of channel coding, such as polar code and LDPC code. The polar code is selected as the coding mode of the control channel in the 5G standard, and the polar code is an encoding scheme that can be strictly proved to "reach" the Shannon channel capacity, and has the advantages of good decoding performance and low complexity. The LDPC code is selected as the coding mode of the data channel in the 5G standard, and the LDPC code is a linear block code with a sparse check matrix, which not only has good performance close to the Shannon limit, but also has low decoding complexity and flexible structure.
[0114] (2) Modulation and demodulation
[0115] Referring to FIG. 2A, the sending end can further map the bit sequence after coding to a plurality of modulation symbols, and then send a plurality of modulation symbols; correspondingly, the receiving end can receive a plurality of modulation symbols, and then obtain a to-be-decoded symbol sequence through demodulation.
[0116] Among them, modulation refers to that the sending end performs constellation mapping on the bit sequence after coding according to a constellation diagram to obtain a modulation symbol. Demodulation is the inverse process of modulation. Common modulation modes include quadrature amplitude modulation (QAM), amplitude-shift keying (ASK) modulation, etc.
[0117] For example, the bit sequence after coding can be mapped to a modulation symbol according to a reference table or a preset rule. Here, only the reference table is used for illustration, as shown in Table 1. After determining the bit sequence after coding, the sending end can refer to Table 1 to determine the modulation symbol corresponding to the bit sequence after coding, for example, 111 corresponds to a modulation symbol of -7. In actual application, only one or more rows can be applied, which is not specifically limited herein.
[0118] Table 1: Mapping between bit values and modulation symbols
[0119] When ASK modulation is used, the bit sequence after coding can be mapped to a modulation symbol according to the bit value with reference to Table 1; when QAM (such as 16QAM, 64QAM, etc.) modulation is used, there are real and imaginary parts in the QAM constellation diagram, and the real and imaginary parts can be mapped to modulation symbols according to Table 1. This application does not specifically illustrate it here.
[0120] (3) Probability shaping
[0121] Currently, high-order modulation maps multiple bits to one modulation symbol, thereby further improving the spectral efficiency. Among them, common high-order modulation schemes such as 16QAM, 64QAM, etc. are not specifically limited. 16QAM is to map 4 bits into one modulation symbol, and 64QAM is to map 6 bits into one modulation symbol.
[0122] In high-order modulation, different symbol energies can be different. As shown in Table 1 above, the energies of the modulation symbols from high to low are: modulation symbol -7 (modulation symbol 7), modulation symbol -5 (modulation symbol 5), modulation symbol -3 (modulation symbol 3), and modulation symbol -1 (modulation symbol 1). Therefore, by transmitting more low-energy symbols and fewer high-energy symbols, the average energy can be saved. Theoretical analysis shows that for a Gaussian white noise channel, when the distribution of the transmitted symbols obeys a Gaussian distribution, the mutual information per unit energy is maximum. Compared with uniform distribution, Gaussian distribution has the best performance, and theoretically has a performance gain of 1.53 dB.
[0123] Probability shaping is a common "shaping" technique. The typical flowchart is shown in FIG. 2B. FIG. 2B is another processing flow diagram of a signal source and a signal sink. The difference between FIG. 2B and FIG. 2A is that the sender in FIG. 2B also needs to perform probability shaping (or distribution matching), and the receiver also needs to perform de-probability shaping (or de-distribution matching). As shown in FIG. 2B, by cascading a precoder before channel coding, the information bits are mapped (or "shaped") to a bit sequence that obeys a specific distribution. Therefore, the precoder is also called a distribution matcher (DM). Then, during the channel coding process, a systematic code is used for coding, so that the above-mentioned sequence that obeys a specific distribution is directly present in the coded sequence, thereby shaping the final modulation symbol. The constellation point distribution after "shaping" is shown in FIG. 2C. It can be seen that the probability of occurrence of low-energy symbols is higher than that of high-energy symbols.
[0124] For example, for 500 information bits, 100 information bits are not subjected to probability shaping, and the other 400 information bits are subjected to probability shaping to obtain a bit sequence that obeys a specific distribution, which includes 512 bits. Then, the 512 shaped bits and the 100 information bits are subjected to channel coding.
[0125] (4) Check matrix of LDPC code
[0126] An LDPC code is a kind of linear block code, which is determined by a sparse matrix H of m rows and n columns, where H is composed of elements 0 and elements 1, and is called a sparse matrix because most of the elements in the matrix are 0 except a few elements being 1. The sparse matrix H can also be called a check matrix of the LDPC code, and H satisfies the following conditions: the ratio of the row weight (the number of 1 in each row) and the column weight (the number of 1 in each column) to the code length is much smaller than 1; any two rows (columns) have at most one 1 in the same position; and the number of linearly independent columns is as large as possible.
[0127] A commonly used LDPC code usually has a quasi-cycle (QC) structure, also called QC-LDPC. The QC-LDPC uses a base graph (BG) for representation, and in use, a QC expansion is performed according to a lifting size and a corresponding shifting value parameter to obtain a final check matrix. The lifting size can also be called a lifting factor or other names, and is not limited in particular. The elements in the BG are 0 or 1. The QC expansion is to expand the element 1 in the BG into a unit matrix of a lifting value size, and to perform a cyclic shift according to the shifting value parameter; and to expand the element 0 into a 0 matrix of a corresponding size (i.e., a full 0 matrix of the lifting size * the lifting size). Compared with directly storing the check matrix, this method can reduce the storage overhead, and is convenient for decoding implementation.
[0128] A schematic diagram of the BG adopted in NR is shown in FIG. 3A. A brief introduction is as follows: the part A corresponds to a high-rate information column region, the part B corresponds to a high-rate core check region. The part C is a 0 matrix, and the part D is an incremental redundancy part of the matrix, corresponding to a low-rate matrix, and the part E is an incremental redundancy region, which is a unit matrix structure.
[0129] The process of encoding according to the BG of NR includes: expanding the base matrix to obtain a check matrix H (the check matrix also satisfies the partition characteristics in FIG. 3A). Encoding is performed according to the check matrix, specifically, first, the information bits are placed in the information bits corresponding to the part A, and the check bit sequence corresponding to the parts B and C is obtained by encoding. The information bit sequence (X A ) corresponding to the part A and the check bit sequence [X B ,X C ] corresponding to the parts B and C are output as the encoding codeword X = [X A ,X B ,X C ]. [X A ,X B ,X C ] satisfies the constraint of the check matrix H, i.e., [X A ,X B ,X C ]*H = 0.
[0130] (5) Polar code encoding
[0131] The encoding strategy of the polar code transmits user useful information through a noiseless channel, transmits agreed information or transmits no information through a full noise channel. The polar code is a linear block code, and its generation matrix is G N The encoding process is is a binary row vector with a length of N (i.e., code length); and is defined as the Kronecker product of log2N matrices F2, x1 N is the encoded bit (also called code word), u1 N is multiplied by the generation matrix G N to obtain the encoded bit. The multiplication process is the encoding process.
[0132] In the encoding process of the polar code, part of the bits in u1 c are used to carry information, which are called information bit set, and the set of indices of these bits is denoted as A. The other part of the bits are set to fixed values agreed by the receiving end and the transmitting end in advance, which are called fixed bit set or frozen bit set, and the set of indices of these bits is denoted as the complement of A, A
[0133] Currently, in NR, the frozen bit and the information bit of the polar code are determined based on the reliability sequence corresponding to the mother code length. The reliability sequence corresponding to the mother code length can be calculated offline to reduce the encoding complexity. The mother code length is a power of 2, and the mother code length is the length of the bit sequence after polar code encoding, which can also be called the encoding length. Taking the mother code length of 8 as an example, assuming that the reliability sequence is [0 1 2 4 3 5 6 7], the reliability of the bit positions from high to low is: the bit position corresponding to bit number 7, the bit position corresponding to bit number 6, …, the bit position corresponding to bit number 1, and the bit position corresponding to bit number 0. Among them, the bit position can be understood as a bit subchannel. The bit number can be understood as the index or identifier of the bit position. For example, when constructing a polar code with a mother code length of 8 and an information length of 4, the bit positions corresponding to bit numbers 7, 6, 5 and 3 are selected from the back to the front as information bit positions, and the bit positions corresponding to bit numbers 4, 2, 1 and 0 are selected as frozen bit positions.
[0134] Fig. 3B shows an 8x8 polar transform matrix, where the left side can be understood as the to-be-encoded side, the bit positions on the left side are denoted by u, the right side can be understood as the encoding side (or the codeword side), the bit positions on the right side are denoted by x, and the process from left to right is the process of encoding the to-be-encoded bit sequence at the sending end. The to-be-encoded information bits are denoted by the sequence u(0, 0, 0, 0, 0, 0, 1, 1), and the encoded bits are denoted by the sequence x(0, 1, 0, 1, 0, 1, 0, 1) after the polar transform matrix, and the x is mapped into modulation symbols and can be transmitted in the channel W. Among them, the bit positions corresponding to the high channel reliability are used to map information bits, and the bit positions corresponding to the low channel reliability are used to map frozen bits. As shown in Fig. 3B, {u0, u1, u2, u4} are frozen bit positions, that is, the positions of the frozen bits, and {u3, u5, u6, u7} are information bit positions, that is, the positions of the information bits. In the embodiment of the present application, the information bit position is also referred to as the information bit. The frozen bit position is also referred to as the frozen bit.
[0135] Referring to Fig. 3B, in the encoding process, the two adjacent columns are an encoding layer, the bit positions on the left side are the input bits of the encoding layer, and the bit positions on the right side are the output bits of the encoding layer. For example, in the leftmost encoding layer, the input bit sequence is (0, 0, 0, 0, 0, 0, 1, 1), and the output bit sequence is (0, 0, 0, 0, 0, 0, 0, 1). The operation symbol in the middle of the encoding layer represents the exclusive or operation, specifically, represents the exclusive or operation between the bit in the same row and the bit in the same column, the exclusive or operation between the bit in the same row and the bit in the same column, the bit on the right side is the operation result. For example, in the leftmost encoding layer, the first input bit (with a value of 0) and the second input bit (with a value of 0) perform operation to obtain the first output bit (with a value of 0).
[0136] (6) Polar code decoding
[0137] There can be multiple decoding methods for the polar code, such as the successive cancellation (SC) decoding method and the successive cancellation list (SCL) decoding method.
[0138] The SC decoding method refers to calculating the LLR of each decoding bit according to the log likelihood ratio (LLR) sequence corresponding to the to-be-decoded bit sequence, and performing bit-by-bit judgment. When the decoding bit is an information bit, if the LLR of the decoding bit is greater than 0, the decoding bit is 0, and if the LLR of the decoding bit is less than 0, the decoding bit is 1; when the decoding bit is a fixed bit, the decoding result is set to 0 regardless of the LLR. FIG. 3C is a schematic diagram of an SC decoding calculation process, taking 4 decoding bits as an example. There are 8 calculation nodes in FIG. 3C, including 4 F nodes and 4 G nodes, which correspond to F operation and G operation respectively. The operation of the F node needs 2 LLR inputs on the right side, and the operation of the G node needs 2 LLR inputs on the right side and the output of the previous level as input. Only after the input items are calculated, the output can be calculated. According to the above calculation rule, the decoding bits obtained by sequentially calculating from the right side in FIG. 3C are ①→②→③→④ in turn, and the decoding is completed.
[0139] The SCL decoding method refers to saving the decoding results corresponding to 0 and 1 as two branch decoding paths (referred to as path splitting) when decoding each information bit according to the LLR sequence corresponding to the to-be-decoded bit sequence. FIG. 3D is a schematic diagram of a decoding path in the SCL decoding method. As shown in FIG. 3D, each layer represents one decoding bit. If the decoding result is 0, the path develops along the left sub-tree, and if the decoding result is 1, the path develops along the right sub-tree. When the total number of decoding paths exceeds the preset path width L (generally L=2, 4, 8, 16 or 32), the L paths with the best path metric (PM) value are selected, saved and continued to develop the path to decode the subsequent decoding bits. The PM value is used to judge the quality of the path, and the PM value is calculated through the LLR. For each level of decoding bits, the PM values of the L paths are sorted in ascending order, and the correct path is selected through the PM value screening. This is repeated until the last bit is decoded.
[0140] (7) Rate matching
[0141] Taking the polar code as an example, as described above, the encoding length of the polar code is a power of 2. In actual application, the required length may be a non-encoding length. At this time, some bits are removed from the encoded bit sequence for transmission, or some bits are repeatedly transmitted. This process is commonly referred to as rate matching. The method of rate matching is further described in three cases as follows.
[0142] Puncture: "Puncture" refers to directly puncturing some bit positions in the coded bit sequence without transmitting, and generating a bit sequence of arbitrary length by this method. At the decoding side, since there is no information quantity corresponding to the "punctured" position, the LLR of the corresponding bit position is set to 0.
[0143] Shorten: "Shorten" is another common rate matching method, which is to design the polar code so that some bit positions in the coded bit sequence are fixed values, so they do not need to be transmitted. At the decoding side, since the corresponding "shortened" position is equivalent to the receiving end known (usually 0), the LLR of the corresponding bit position is set to infinity.
[0144] Repetition: "Repetition" refers to transmitting part of the coded bit sequence repeatedly to obtain a longer bit sequence.
[0145] As described above, polar code and LDPC code are two encoding schemes of 5G NR. A possible future standard trend is to jointly implement a probability shaping based transmission scheme based on polar code and LDPC code. For example, polar code is used to implement probability shaping in FIG. 2B, and LDPC code is used to implement channel coding in FIG. 2B.
[0146] However, the current polar code and LDPC code are designed for channel coding, and the requirement of jointly implementing a probability shaping based transmission scheme is not considered, and there are some problems, such as the determined check matrix of the LDPC code is not applicable to the length of the code block (CB) (see the description of embodiment one), and such as the length of the shaped bit sequence is greater than the maximum length supported by the DM (see the description of embodiment two).
[0147] Based on this, the embodiments of the present application will study the implementation of a probability shaping based transmission scheme based on polar code and / or LDPC code.
[0148] The method provided in the embodiments of the present application is described in detail below in combination with Embodiment One and Embodiment Two. The method provided in the embodiments of the present application involves a first communication device and / or a second communication device. The first communication device is a sending end of a signal, and the second communication device is a receiving end of the signal. In the absence of special description, the "first communication device" in the present application can refer to a communication device (for example, a network device, a terminal device, a coding device, etc.), a component (for example, a processor, a chip, or a chip system, etc.) in the communication device, or a logic module or software capable of realizing all or part of the functions of the communication device; the "second communication device" in the present application can refer to a communication device (for example, a terminal device, a network device, a decoding device, etc.), a component (for example, a processor, a chip, or a chip system, etc.) in the communication device, or a logic module or software capable of realizing all or part of the functions of the communication device. For example, the first communication device is a network device, and the second communication device is a terminal device; or the first communication device is a terminal device, and the second communication device is a network device.
[0149] Embodiment One
[0150] In Embodiment One, the implementation of channel coding in FIG. 2B using an LDPC code is studied.
[0151] First, the specific implementation of channel coding (LDPC code) is described: a transport block (TB) is a basic unit of data channel transmission data; because a single transport block can carry a large number of information bits, in order to reduce the complexity of channel coding, the transport block can be divided into multiple code blocks, and then the multiple code blocks are respectively subjected to channel coding. The first communication device can determine the number M of code blocks according to the transport block size (TBS) and the maximum code block length CBmax, and then determine the length of each code block according to the number M of code blocks. For example, TBS = 20000, CBmax = 8448, 3 code block lengths are 6666, 6667, and 6667 respectively. It can be understood that after the number M of code blocks is determined, the bits in the transport block can be evenly divided into each code block as much as possible, and the specific implementation of determining the length of each code block is not limited in the embodiments of the present application.
[0152] For one code block (such as code block 1) of the M code blocks, the first communication apparatus determines the extension factor of the LDPC code according to the length (such as 6666) of the code block 1, and determines the corresponding cyclic shift parameter according to the extension factor. In addition, the first communication apparatus extends the base matrix according to the extension factor and the cyclic shift parameter to obtain the check matrix. Further, the first communication apparatus performs channel coding on the code block 1 using the check matrix. It can be understood that the specific implementation of the first communication apparatus to code other code blocks of the M code blocks can refer to the description of the code block 1.
[0153] However, after introducing the probability shaping, since the probability shaping (which introduces a plurality of auxiliary bits) needs to be performed before the channel coding, if the above method is used to determine the extension factor and then determine the check matrix, the determined check matrix will not be suitable. For example, taking the above code block 1 as an example, 5466 information bits in the code block 1 are not subjected to probability shaping, and the remaining 1200 information bits in the code block 1 are subjected to probability shaping to obtain a shaped bit sequence, which includes 1600 bits; that is, the probability shaping causes the length of the code block 1 to change. If the above method is used to determine the check matrix, the determined check matrix will not be suitable for the length of the code block 1.
[0154] Therefore, in the method provided in Embodiment One, the length of the first code block is determined according to the activation state of the probability shaping, and then the extension factor is determined according to the length of the first code block, so that the check matrix determined according to the extension factor can match the length of the code block, meeting the demand of jointly implementing the transmission scheme based on the probability shaping.
[0155] FIG. 4 is a flowchart of the method provided in Embodiment One of the present application. As shown in FIG. 4, the flowchart can include the following steps:
[0156] S401, the first communication apparatus determines the length of the first code block according to the activation state of the probability shaping.
[0157] The activation state of the probability shaping includes activation and deactivation. The activation state of the probability shaping can be flexibly determined by the first communication apparatus, such as if the processing capability of the first communication apparatus is relatively strong, the first communication apparatus can activate the probability shaping, and if the processing capability of the first communication apparatus is relatively weak, the first communication apparatus can deactivate the probability shaping, which depends on the internal implementation of the first communication apparatus, and the present application does not limit it. Alternatively, the activation state of the probability shaping can be predefined or preconfigured.
[0158] Exemplarily, when the activation state of the probabilistic shaping is deactivated, referring to the flowchart shown in FIG. 2A, in this case, the first communication device determines the length of the first code block according to the first maximum code block length CBmax. For example, the first communication device determines the number of code blocks M according to the TBS and the first maximum code block length CBmax, and then determines the length of each code block according to the number of code blocks M. The specific implementation can refer to the description above. Wherein, CBmax is the maximum value of the code block length supported by the standard, for example, CBmax = 8488.
[0159] Alternatively, when the activation state of the probabilistic shaping is activated, referring to the flowchart shown in FIG. 2B, in this case, the first communication device determines the length of the first code block according to the second maximum code block length CBmax', and the length of the first code block refers to the code block length of the first code block after shaping.
[0160] Wherein, the second maximum code block length CBmax' is related to at least one of the following: the first maximum code block length CBmax, the target probability of the probabilistic shaping, the modulation and coding scheme (MCS), and the modulation order. Exemplarily, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax. For example, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax and a preset value, and the preset value can be a predefined or preconfigured value; for example, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax and ΔK, and ΔK is a value related to at least one of the MCS, the modulation order and the target probability of the probabilistic shaping, for example, ΔK represents the number of auxiliary bits.
[0161] One specific implementation of the above "the first communication device determines the length of the first code block according to the second maximum code block length CBmax'" is that: the first communication device determines the number of code blocks M according to the second maximum code block length CBmax', According to the number of code blocks M, the initial code block length of each code block in the M code blocks is determined, and the first code block is one of the M code blocks; and then the length of the first code block is determined according to the initial code block length of the first code block. Wherein, the initial code block length of the first code block refers to the code block length of the first code block before shaping. It can be understood that the length of the first code block is less than or equal to the first maximum code block length CBmax, so that the limitation of CBmax in the existing standard can not be changed, and the existing standard can be reused as much as possible.
[0162] For example, TBS = 20000, CBmax = 8448, CBmax' = 8048, The initial code block lengths of the 3 code blocks are 6666, 6667 and 6667 respectively. Assuming that the initial code block length of the first code block is 6666, 5466 information bits in the first code block are not subjected to probability shaping, and the remaining 1200 information bits in the first code block are subjected to probability shaping to obtain a shaped bit sequence, the shaped bit sequence includes 1600 bits, and the length of the first code block is 7066. The specific implementation of probability shaping can refer to the description of Embodiment 2, and is not limited specifically.
[0163] In S402, the first communication apparatus determines an extension factor of the LDPC code according to the length of the first code block.
[0164] For example, the first communication apparatus determines the extension factor as the minimum Z b *Z C that satisfies the formula K C , wherein K b is a preconfigured or predefined value, such as K b = 22; and K represents the length of the first code block. According to the above example, when the activation state of probability shaping is deactivated, the length K of the first code block is 6666; and when the activation state of probability shaping is activated, the length K of the first code block is 7066.
[0165] That is, the extension factor is related to the activation state of probability shaping, such as the target probability of probability shaping.
[0166] In S403, the first communication apparatus encodes the first code block according to the check matrix corresponding to the extension factor.
[0167] For example, the first communication apparatus determines a corresponding cyclic shift parameter according to the extension factor, and then extends the base matrix according to the extension factor and the cyclic shift parameter to obtain the check matrix (i.e., the check matrix corresponding to the extension factor). The check matrix can also be referred to as a matrix for short, or the check matrix can be replaced by other possible names, which are not limited specifically.
[0168] In S404, the first communication apparatus outputs the encoded bit sequence; and correspondingly, the second communication apparatus acquires the to-be-decoded symbol sequence.
[0169] For example, the first communication apparatus can modulate the encoded bit sequence to obtain a plurality of modulation symbols, and send the plurality of modulation symbols to the second communication apparatus; and correspondingly, the second communication apparatus can receive the plurality of modulation symbols, and obtain the to-be-decoded symbol sequence through demodulation.
[0170] Optionally, the above method further includes:
[0171] S405, the second communication device determines the length of the first code block according to the activation state of the probability shaping.
[0172] For example, the specific implementation of S405 can refer to the description of S401.
[0173] For example, the first communication device can send at least one of the following to the second communication device: activation state information, second maximum code block length CBmax'. Wherein, the activation state information is used to indicate the activation state of the probability shaping, and then the second communication device can determine the activation state of the probability shaping according to the activation state information.
[0174] S406, the first communication device determines the extension factor of the LDPC code according to the length of the first code block.
[0175] For example, the specific implementation of S406 can refer to the description of S402.
[0176] S407, the first communication device decodes the to-be-decoded symbol sequence according to the check matrix corresponding to the extension factor.
[0177] For example, when the activation state of the probability shaping is deactivated, the first communication device decodes the to-be-decoded symbol sequence according to the check matrix corresponding to the extension factor, and the bit sequence obtained by decoding includes 6666 bits, and the bit sequence obtained by decoding is the first code block. When the activation state of the probability shaping is activated, the first communication device decodes the to-be-decoded symbol sequence according to the check matrix corresponding to the extension factor, and the bit sequence obtained by decoding includes 7066 bits (5466 information bits and 1600 shaped bits); further, the first communication device performs de-probability shaping on the 1600 shaped bits to obtain 1200 information bits. Wherein, the specific implementation of de-probability shaping can refer to the description of embodiment two, and is not limited.
[0178] Using the above method, when the activation state of the probability shaping is deactivated, the extension factor (or check matrix) can be determined by following the existing standard scheme, or other methods can also be used. When the activation state of the probability shaping is activated, the extension factor can be determined according to the related parameters of the probability shaping (such as the target probability of the probability shaping); for example, CBmax' is determined according to the target probability of the probability shaping, the length of the first code block is determined according to CBmax', and then the extension factor (or check matrix) is determined according to the length of the first code block. In this way, by making a small change to the existing standard, the LDPC code can meet the needs of the transmission scheme based on the probability shaping, and the system has good forward compatibility.
[0179] Embodiment two
[0180] In embodiment two, implementation of probability shaping in FIG. 2B using polar codes will be studied.
[0181] Probability shaping is used to map a uniformly distributed bit sequence to a bit sequence that conforms to a certain distribution. One implementation of probability shaping is to use SC or SCL decoding of polar codes for probability shaping. FIG. 5 is a possible flowchart of using decoding of polar codes for probability shaping. As shown in FIG. 5, the flowchart includes:
[0182] S501, the first communication device determines K2 bit positions, which are used to carry K2 auxiliary bits. In embodiments of the present application, the auxiliary bits are the bits introduced by probability shaping, or other possible names.
[0183] For example, the shaped bit sequence includes N’ bits, and N’ is not an integer power of 2. The first communication device selects K2 bit positions with higher reliability from the N’ bit positions as auxiliary bit positions according to a predefined reliability sequence (as described above, the reliability sequence is calculated offline to reduce complexity).
[0184] S502, the first communication device determines K2 auxiliary bits according to the LLR sequence and the information bits.
[0185] For example, referring to FIG. 6A, the first communication device places the information bits in the dynamic frozen bits, and assumes that the LLR sequence on the right side of the SC or SCL decoder is a known quantity (for example, set the LLR in the LLR sequence to any positive number), and the information bits are a known quantity (for example, treat the information bits as frozen bits), then the values of the auxiliary bits can be calculated. It can be understood that the number of information bits can be N’-K2; or, the number of information bits can also be less than N’-K2, in which case, the N’-K2 bit positions can be used to carry information bits and frozen bits, as shown in FIG. 6B. That is, the number of frozen bits can be one or more (as shown in FIG. 6B), or there can be no frozen bits (as shown in FIG. 6A), and embodiments of the present application are mainly described with reference to the case shown in FIG. 6A.
[0186] S503, the first communication device polar encodes to obtain the shaped bit sequence according to the K2 auxiliary bits and the N’-K2 information bits.
[0187] According to the above description, when the length of the shaped bit sequence is an integer power of 2, K2 bit positions with higher reliability can be selected from the bit positions according to the predefined sequence.
[0188] However, in the joint implementation of the transmission scheme based on the polar code and the LDPC code, the length of the shaped bit sequence may not be an integer power of 2, in which case the complexity of the probability shaping is relatively high.
[0189] Therefore, in the method provided in Embodiment Two, the complexity of the probability shaping is reduced and the efficiency of the probability shaping is improved by designing the set of pre-frozen positions.
[0190] FIG. 7 is a flowchart of the method provided in Embodiment Two of the present application. As shown in FIG. 7, the flowchart can include the following steps:
[0191] S701, the first communication device performs probability shaping on part of the bits in the first code block to obtain shaped bits.
[0192] For example, the number of the part of the bits in the first code block is E, the number of the shaped bits is E', and the number of the auxiliary bits is E'-E (for example, ΔK=E'-E).
[0193] For example, the step of "the first communication device performing probability shaping on part of the bits in the first code block to obtain shaped bits" can include steps 1 to 4, which are only for clearly describing one possible implementation and are not all the steps that must be performed.
[0194] Step 1: The first communication device determines the number of the shaped bits E'. For example, the first communication device determines the number of the shaped bits E' according to the number H of the scheduled resource units, E'=2n*H, where n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0195] For example, n=1, that is, one bit is shaped for each real part and imaginary part of the modulation symbol, in which case the complexity of the probability shaping is relatively low, and most of the shaping gain can be obtained; n=2, that is, two bits are shaped for each real part and imaginary part of the modulation symbol, in which case more shaping gain can be obtained, and the complexity of the probability shaping is relatively high; other values of n can be understood with reference to this. For example, the maximum value of n depends on the modulation mode used, such as 16QAM (4 bits are mapped to one modulation symbol), each real part and imaginary part of the modulation symbol corresponds to two bits, and the maximum value of n is 2. In a specific implementation, the value of n can be set according to actual needs, and the present application does not limit this.
[0196] Step 2: The first communication device determines whether the shaped number of bits E' is greater than N, N being an integer power of 2. If E' is greater than N, steps 3 and 4 are performed (at this time, the shaped bits include C bit sequences, i.e., the shaped bits are segmented); if E' is less than or equal to N, step 4 is performed (at this time, the shaped bits are the first bit sequence, i.e., no segmentation is needed).
[0197] Exemplarily, N can be the maximum length supported by DM. N can be pre-configured or pre-defined, or can also be flexibly determined by the first communication device. For example, the first communication device determines N according to the processing capability of the first communication device, so as to adapt to the capability requirement of different communication devices. It can be understood that the greater the value of N is, the more complex the implementation is, and the better the performance of the probability shaping is.
[0198] Step 3: The first communication device determines the length of each bit sequence in the C bit sequences according to E' and N, The sum of the lengths of the C bit sequences is equal to E', C and E' being integers greater than 1.
[0199] Among them, the C bit sequences include the first bit sequence, the length of the first bit sequence is N1, N1 = N / 2+ a is any integer greater than or equal to 0 and less than A, A = (E'-C*N / 2)mod C.
[0200] For example, E' = 1600, N = 1024, then C = 3, and the lengths of the 3 bit sequences are 533, 533 and 534 respectively, and the length of the first bit sequence N1 can be 533 or 534.
[0201] Step 4: The first communication device selects K2 bit positions from the bit positions with indexes [N / 2, N-1] or [0, N / 2-1] in the N bit positions, and the K2 bit positions are used to carry K2 auxiliary bits; and then the first communication device polar encodes to obtain the first bit sequence according to the K1 information bits and the K2 auxiliary bits.
[0202] As a possible implementation, the pre-frozen position set includes bit positions with indexes [0, N / 2-1], at this time, the first communication device can select K2 bit positions from the bit positions with indexes [N / 2, N-1]. For example, the first communication device selects K2 bit positions from the bit positions with indexes [N / 2, N-1] according to a reliability sequence with a length of N / 2. For example, N = 1024, the length of the first bit sequence N1 is 533, and the pre-frozen position set includes bit positions with indexes [0, 511], as shown in FIG. 8A.
[0203] Further, the first communication device polar encodes the K1 information bits, the K2 auxiliary bits, and the K3 frozen bits to obtain a second bit sequence, the indexes of the bit positions where the K3 frozen bits are located are {0, K3-1}, and K1+K2+K3=N. According to the second bit sequence, a first bit sequence is obtained, the indexes of the bit positions where the first bit sequence is located are {K3, N-1}; that is, bits at the bit positions with indexes of {0, K3-1} in the second bit sequence are punctured to obtain the first bit sequence. K1, K2, and K3 are integers greater than or equal to 1.
[0204] As another possible implementation, the set of pre-frozen bit positions includes bit positions with indexes of [N / 2, N-1], and the first communication device can select K2 bit positions from bit positions with indexes of [0, N / 2-1]. For example, the first communication device selects K2 bit positions from bit positions with indexes of [0, N / 2-1] according to a reliability sequence with a length of N / 2. For example, N=1024, and the length N1 of the first bit sequence is 533, and the set of pre-frozen bit positions includes bit positions with indexes of [512, 1023], as shown in FIG. 8B.
[0205] Further, the first communication device polar encodes the K1 information bits, the K2 auxiliary bits, and the K3 frozen bits to obtain a second bit sequence, the indexes of the bit positions where the K3 frozen bits are located are {0, K3-1}, and K1+K2+K3=N. According to the second bit sequence, a first bit sequence is obtained, the indexes of the bit positions where the first bit sequence is located are {K3, N-1}; that is, bits at the bit positions with indexes of {0, K3-1} in the second bit sequence are punctured to obtain the first bit sequence. K1, K2, and K3 are integers greater than or equal to 1.
[0206] In the embodiments of the present application, because the length of the first bit sequence is not an integer power of 2, rate matching needs to be performed. The above is an example of puncturing in the manner of rate matching, and other possible manners can also be used, which are not limited in detail.
[0207] Generally, the K2 bit positions (i.e., information bits) are selected in the following manner: the bit positions with indexes {0, K3-1} are pre-frozen, and then K2 bit positions are selected from the remaining N1 bit positions; however, since most of the bit positions with indexes {0, N / 2-1} (i.e., the bit positions with indexes {0, K3-1}) are pre-frozen, and the number of bit positions with indexes {K3, N / 2} is small, even if information bits can be selected from the bit positions with indexes {K3, N / 2}, the number of selected information bits is small, and the selection process is complex. Therefore, in the embodiments of the present application, the pre-frozen position set includes the bit positions with indexes [0, N / 2-1], and then K2 bit positions can be selected from the bit positions with indexes [N / 2, N-1] according to the reliability sequence of length N / 2 (or, the pre-frozen position set includes the bit positions with indexes [N / 2, N-1], and then K2 bit positions can be selected from the bit positions with indexes [0, N / 2-1] according to the reliability sequence of length N / 2), which is relatively simple and facilitates reducing the complexity of probabilistic shaping.
[0208] It can be understood that: (1) when the shaped bits include C bit sequences, the implementation of other bit sequences in the C bit sequences can refer to the description of the first bit sequence above.
[0209] (2) The values of the K2 auxiliary bits can be that the LLR sequence is taken as a known quantity (for example, the LLR sequence includes N LLRs, the LLRs corresponding to the punctured bit positions are set to 0, and the LLRs of other bit positions are set to any positive number), the information bits are taken as a known quantity, and the values of the auxiliary bits are decoded and solved. For example, when the decoding manner adopted is SCL decoding, the first communication device can send decoding related information, such as the path width of SCL decoding, to the second communication device, so that the second communication device considers the path width when demodulating, thereby improving the accuracy of demodulation. Alternatively, the values of the K2 auxiliary bits can also be pre-configured or pre-defined. The embodiments of the present application do not limit this.
[0210] (3) The number K1 of information bits can be determined according to at least one of the length of the first bit sequence, the target probability of probabilistic shaping, MCS, and the modulation order. In one example, the number K1 of information bits is determined according to the modulation order, for example, under the same modulation order, as the modulation order increases, the number of information bits also increases. In another example, the number K1 of information bits is determined according to the length N1 of the first bit sequence; for example, or H(p) represents the information entropy of probabilistic shaping, and p represents the target probability of probabilistic shaping; for example, or r is related to at least one of a target probability of the probability shaping, an MCS, a modulation order.
[0211] S702, the first communication device encodes the shaped bits and the bits in the first code block except the partial bits.
[0212] Exemplarily, the first communication device determines the length of the first code block according to the activation state of the probability shaping. When the activation state of the probability shaping is activated, the length of the first code block refers to the length of the first code block after shaping. According to the length of the first code block, the spreading factor is determined; and then, the shaped bits and the bits in the first code block except the partial bits are encoded according to the check matrix corresponding to the spreading factor. The specific implementation can refer to the description of Embodiment 1.
[0213] S703, the first communication device outputs the encoded bit sequence; and correspondingly, the second communication device acquires the to-be-decoded symbol sequence.
[0214] Exemplarily, the first communication device can modulate the encoded bit sequence to obtain a plurality of modulation symbols, and send the plurality of modulation symbols to the second communication device; and correspondingly, the second communication device can receive the plurality of modulation symbols, and obtain the to-be-decoded symbol sequence through demodulation.
[0215] Optionally, the above method further comprises:
[0216] S704, the second communication device decodes the to-be-decoded symbol sequence.
[0217] Exemplarily, the second communication device determines the length of the first code block according to the activation state of the probability shaping.
[0218] When the activation state of the probability shaping is activated, the length of the first code block is determined according to the second maximum code block length, and the length of the first code block refers to the length of the first code block after shaping. According to the length of the first code block, the spreading factor is determined; and then, the to-be-decoded symbol sequence is decoded according to the check matrix corresponding to the spreading factor, to obtain a shaped bit sequence, such as the shaped bit sequence including C bit sequences, and the C bit sequences including the first bit sequence. The specific implementation can refer to the description of Embodiment 1. In this case, the de-probability shaping can be further performed, such as S705.
[0219] When the activation state of the probability shaping is deactivated, the length of the first code block is determined according to the first maximum code block length. According to the length of the first code block, the spreading factor is determined; and then, the to-be-decoded symbol sequence is decoded according to the check matrix corresponding to the spreading factor, to obtain an information bit sequence. In this case, the de-probability shaping is not required to be performed.
[0220] S705, the second communication device de-probabilistically shapes the first bit sequence to obtain K1 information bits.
[0221] Exemplarily, the second communication device can determine the length of each of the C bit sequences, and determine K2 bit positions and K1 bit positions, the K2 bit positions being used to carry the K2 auxiliary bits, and the K1 bit positions being used to carry the K1 information bits; the specific implementation can refer to the description of the first communication device side. Further, the second communication device, for the first bit sequence in the C bit sequences obtained through decoding, performs polar encoding (which can be the inverse encoding of the polar encoding in step 4) on the first bit sequence to obtain a third bit sequence, and obtains the K1 information bits according to the third bit sequence and the K1 bit positions, the bits in the third bit sequence located at the K1 bit positions being the K1 information bits.
[0222] In one example, the first communication device can send first information (or segment information) to the second communication device, so that the second communication device performs de-probabilistic shaping on the first bit sequence according to the segment information to obtain K1 information bits. Wherein, the segment information includes at least one of the following: the value of N; the value of C; the value of K1; the value of N1; the value of E'.
[0223] With the above method, when the length of the shaped bit sequence is greater than N (i.e. the maximum length supported by DM), the shaped bit sequence is segmented according to N, and when performing probabilistic shaping on each segment, the complexity of probabilistic shaping is reduced and the efficiency of probabilistic shaping is improved by designing the pre-frozen position set. In this way, by making a small amount of changes to the existing polar code, the polar code can meet the needs of the transmission scheme based on probabilistic shaping, and the system has good forward compatibility.
[0224] For the above-mentioned embodiments, it can be understood that:
[0225] (1) The schemes in the above-mentioned embodiment one and embodiment two can be implemented separately, or can be combined. When embodiment one and embodiment two are combined, the current polar code and LDPC code are respectively fine-tuned to meet the needs of jointly implementing the transmission scheme based on probabilistic shaping.
[0226] (2) In various embodiments of the present application, the terms and / or descriptions of different embodiments are consistent and can be mutually referenced if there is no special description and logical conflict. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship. In addition, different implementation manners or different examples in the same embodiment can also be mutually referenced or referred to.
[0227] (3) The various numbers referred to in the present application are only used for distinguishing convenience, and do not limit the scope of the present application. The step numbers of the above-mentioned various flowcharts are only an example of the execution flow, and do not constitute a limitation on the execution sequence of the steps, i.e., the size of the step numbers does not mean the execution sequence, and the execution sequence of the steps should be determined according to their functions and inherent logic. In addition, the steps shown in the various flowcharts are not all the steps that must be executed, and some steps can be added or deleted based on the various flowcharts according to actual needs.
[0228] The above mainly introduces the scheme provided by the embodiments of the present application from the perspective of the interaction between the first communication device and the second communication device. It can be understood that, in order to realize the above functions, the first communication device and the second communication device can include corresponding hardware structures and / or software modules for executing various functions. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed in the present application, the embodiments of the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is realized in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0229] The embodiments of the present application can divide the functional units of the first communication device and the second communication device according to the above method examples, for example, each functional unit can be divided according to each function, or two or more functions can be integrated in one unit. The integrated unit can be realized in the form of hardware or software functional unit.
[0230] In the case of using an integrated unit, FIG. 9 shows a possible exemplary block diagram of the device involved in the embodiments of the present application. As shown in FIG. 9, the device 900 can include a processing unit 902 and a communication unit 903. The processing unit 902 is used to control and manage the actions of the device 900. The communication unit 903 is used to support the communication of the device 900 with other devices. Optionally, the communication unit 903, also known as a transceiver unit, can include a receiving unit and / or a sending unit, which are used to perform receiving and sending operations, respectively. The device 900 can also include a storage unit 901 for storing the program code and / or data of the device 900.
[0231] (1) The apparatus 900 can be the first communication apparatus in the embodiments described above. The processing unit 902 can enable the apparatus 900 to perform the actions of the first communication apparatus in the method embodiments described above. Alternatively, the processing unit 902 mainly performs the internal actions of the first communication apparatus in the method embodiments, and the communication unit 903 can enable the apparatus 900 to communicate with other devices.
[0232] For example, in an embodiment, the processing unit 902 is configured to: perform probability shaping on part of bits in the first code block to obtain shaped bits; encode the shaped bits and bits other than the part of bits in the first code block; and output the encoded bit sequence; wherein performing probability shaping on part of bits in the first code block to obtain shaped bits comprises: selecting K2 bit positions from bit positions with indexes of [N / 2, N-1] or [0, N / 2-1] in N bit positions; the K2 bit positions are used to carry K2 auxiliary bits; and polar encoding the K1 information bits and the K2 auxiliary bits to obtain the first bit sequence; wherein the part of bits comprises the K1 information bits, and the shaped bits comprise the first bit sequence; K1 and K2 are integers greater than or equal to 1, and N is an integer power of 2.
[0233] In a possible design, the processing unit 902 is further configured to: determine the number K1 of information bits according to a length N1 of the first bit sequence; wherein, or H(p) represents the information entropy of the probability shaping, p represents the target probability of the probability shaping, and N1 is an integer greater than 1.
[0234] In a possible design, the processing unit 902 is further configured to: determine the length of each of C bit sequences according to the number E' of shaped bits in the first code block and the N, the C bit sequences comprising the first bit sequence; wherein, the sum of the lengths of the C bit sequences is equal to the number E' of shaped bits, and C and E' are integers greater than 1.
[0235] In a possible design, the processing unit 902 is further configured to: determine the number E' of shaped bits according to the number H of scheduled resource units; wherein E' = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0236] In a possible design, the communication unit 903 is further configured to: send first information, where the first information is used to indicate at least one of the following: a value of the N; a value of the number C of bit sequences included in the shaped bits; a value of the number K1 of information bits; a value of the length N1 of the first bit sequence; and a value of the number E' of shaped bits in the first code block.
[0237] In another embodiment, the processing unit 902 is configured to: determine the length of the first code block according to an activation state of the probability shaping, where the activation state of the probability shaping includes activation and deactivation; determine an extension factor of the LDPC code according to the length of the first code block; and encode the first code block according to a check matrix corresponding to the extension factor.
[0238] In a possible design, the processing unit 902 is specifically configured to: when the activation state of the probability shaping is deactivation, determine the length of the first code block according to a first maximum code block length CBmax; or when the activation state of the probability shaping is activation, determine the length of the first code block according to a second maximum code block length CBmax', where the first code block length is a shaped code block length of the first code block.
[0239] In a possible design, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax.
[0240] In a possible design, the processing unit 902 is specifically configured to: determine a number of code blocks M according to the second maximum code block length CBmax'; determine an initial code block length of each code block according to the number M of code blocks; and determine the length of the first code block according to the initial code block length of the first code block, where the initial code block length of the first code block is a pre-shaping code block length of the first code block.
[0241] In a possible design, the processing unit 902 is specifically configured to: determine the length of the first code block according to the initial code block length of the first code block and a preset value.
[0242] In a possible design, the length of the first code block is less than or equal to the first maximum code block length CBmax.
[0243] (2) The apparatus 900 can be a second communication apparatus in the above embodiments. The processing unit 902 can enable the apparatus 900 to perform the actions of the second communication apparatus in the above method embodiments. Alternatively, the processing unit 902 mainly performs the internal actions of the second communication apparatus in the method embodiments, and the communication unit 903 can enable the apparatus 900 to perform communication with other devices.
[0244] For example, in an embodiment, the processing unit 902 is configured to: obtain a shaped bit sequence by channel decoding, the shaped bit sequence comprising a first bit sequence; and de-shape the first bit sequence to obtain K1 information bits; wherein the de-shaping the first bit sequence to obtain K1 information bits comprises: selecting K2 bit positions from bit positions with indices [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bit positions being used to carry K2 auxiliary bits; and obtaining the K1 information bits according to the first bit sequence and the K2 bit positions; K1 and K2 are integers greater than or equal to 1, and N is an integer power of 2.
[0245] In a possible design, the processing unit 902 is further configured to: determine the number K1 of information bits according to a length N1 of the first bit sequence; wherein, Or H(p) represents an information entropy of the probability shaping, p represents a target probability of the probability shaping, and N1 is an integer greater than 1.
[0246] In a possible design, the processing unit 902 is further configured to: determine lengths of C bit sequences according to the number E’ of shaped bits in the first code block and the N, the C bit sequences comprising the first bit sequence; wherein, a sum of the lengths of the C bit sequences is equal to the number E’ of shaped bits, and C and E’ are integers greater than 1.
[0247] In a possible design, the processing unit 902 is further configured to: determine the number E’ of shaped bits according to a number H of scheduled resource units; wherein E’ = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
[0248] In a possible design, the communication unit 903 is configured to: receive first information, the first information being used to indicate at least one of: a value of the N; a value of a number C of bit sequences included in the shaped bits; a value of the number K1 of information bits; a value of a length N1 of the first bit sequence; and a value of a number E’ of shaped bits in the first code block.
[0249] In yet another embodiment, the processing unit 902 is configured to: determine a length of a first code block according to an activation state of probability shaping, the activation state of probability shaping comprising activation and deactivation; determine an extension factor of an LDPC code according to the length of the first code block; and perform decoding on a sequence of symbols to be decoded according to a check matrix corresponding to the extension factor.
[0250] In a possible design, the processing unit 902 is specifically configured to: when the activation state of the probability shaping is deactivated, determine the length of the first code block according to a first maximum code block length CBmax; or when the activation state of the probability shaping is activated, determine the length of the first code block according to a second maximum code block length CBmax', the first code block length being a shaped code block length of the first code block.
[0251] In a possible design, the second maximum code block length CBmax' is determined according to the first maximum code block length CBmax.
[0252] In a possible design, the processing unit 902 is specifically configured to: determine a number of code blocks as M according to the second maximum code block length CBmax'; determine an initial code block length of each of the code blocks according to the number of code blocks M; and determine the length of the first code block according to the initial code block length of the first code block, the initial code block length of the first code block being an unshaped code block length of the first code block.
[0253] In a possible design, the processing unit 902 is specifically configured to: determine the length of the first code block according to the initial code block length of the first code block and a preset value.
[0254] In a possible design, the length of the first code block is less than or equal to the first maximum code block length CBmax.
[0255] It should be understood that the division of the units in the above apparatus is merely a logical functional division, and all or part of the units can be integrated into one physical entity, or can be physically separated. The units in the apparatus can all be implemented in the form of software invoked by a processing element; or all be implemented in the form of hardware; or some units are implemented in the form of software invoked by a processing element, and some units are implemented in the form of hardware. For example, each unit can be a separately established processing element, or can be integrated into a chip of the apparatus, and in addition, can be stored in the form of a program in a memory, and the function of the unit is invoked and executed by a processing element of the apparatus. In addition, all or part of the units can be integrated together, or can be independently implemented. The processing element mentioned herein can be a processor, and can be an integrated circuit with a signal processing capability. In the implementation process, each operation of the above method or each unit can be implemented by an integrated logic circuit of hardware in the processing element, or in the form of software invoked by the processing element.
[0256] In one example, the units in any of the above apparatuses can be one or more integrated circuits configured to implement one or more of the above methods, e.g., one or more application specific integrated circuits (ASICs), or, one or more digital singnal processors (DSPs), or, one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. In another example, when the units in the apparatuses can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general purpose central processing unit (CPU), or other processor capable of invoking a program. In yet another example, the units can be integrated together in the form of a SoC.
[0257] The above receiving unit is an interface circuit of the apparatus for receiving signals from other apparatuses. For example, when the apparatus is implemented in the form of a chip, the receiving unit is an interface circuit of the chip for receiving signals from other chips or apparatuses. The above transmitting unit is an interface circuit of the apparatus for transmitting signals to other apparatuses. For example, when the apparatus is implemented in the form of a chip, the transmitting unit is an interface circuit of the chip for transmitting signals to other chips or apparatuses.
[0258] Based on the same technical concept, the embodiments of the present application further provide a communication apparatus, which is configured to implement the functions of the first communication apparatus or the second communication apparatus in the above embodiments. As shown in FIG. 10, the apparatus can be a communication device or a component (e.g., a processor, a chip, or a chip system, etc.) in a communication device. The apparatus includes a processor 1001 and a communication interface 1002, and optionally further includes a memory 1003. The memory 1003 can be independent of the processor 1001, or can be integrated in the processor 1001, which is not limited specifically. It can be understood that FIG. 10 only shows the main components of the communication apparatus. In addition, the communication apparatus can further include an input / output device (not shown in the figure).
[0259] The processor 1001 is configured to execute the program code stored in the memory 1003, and specifically configured to execute the actions of the processing unit 902 described above, which will not be repeated here. The communication interface 1002 is specifically configured to execute the actions of the communication unit 903 described above, which will not be repeated here.
[0260] The processor 1001 can be a CPU, or a digital processing unit, etc. The processor 1001 can be used to process communication protocols and communication data, control the whole communication device, execute software programs, process data of the software programs, such as but not limited to baseband related processing. The communication interface 1002 can be used to transceive signals, such as but not limited to radio frequency transceiving. The above-mentioned devices can be respectively arranged on independent chips, or at least partially or entirely arranged on the same chip. For example, the processor 1001 can be further divided into an analog baseband processor and a digital baseband processor. The analog baseband processor can be integrated on the same chip as the transceiver, and the digital baseband processor can be arranged on an independent chip. With the continuous development of integrated circuit technology, more and more devices can be integrated on the same chip, for example, the digital baseband processor can be integrated on the same chip as various application processors, such as but not limited to a graphics processor, a multimedia processor, etc. Such a chip can be referred to as a system on chip. Whether to arrange the devices independently on different chips or to integrate them on one or more chips often depends on the specific needs of product design. The embodiments of the present application do not limit the specific implementation forms of the above-mentioned devices.
[0261] The communication interface 1002 can be a transceiver, an interface circuit such as a transceiving circuit, etc., or a transceiving chip, etc. Optionally, the communication interface 1002 can include a radio frequency circuit and an antenna, the radio frequency circuit being mainly used for conversion between a baseband signal and a radio frequency signal and processing of the radio frequency signal. The antenna is mainly used for transceiving radio frequency signals in the form of electromagnetic waves. Input and output devices, such as a touch screen, a display screen, a keyboard, etc., are mainly used to receive user input data and output data to the user.
[0262] The memory 1003 is used to store programs executed by the processor 1001. The memory 1003 can be a non-volatile memory, such as a hard disk (HDD) or a solid-state drive (SSD), etc., and can also be a volatile memory, such as a random-access memory (RAM). The memory 1003 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0263] When the communication device is powered on, the processor 1001 can read the software program in the memory 1003, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 1001 performs baseband processing on the data to be transmitted, and outputs the baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal, and transmits the radio frequency signal in the form of electromagnetic waves through the antenna. When data is transmitted to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 1001. The processor 1001 converts the baseband signal into data and processes the data.
[0264] In another implementation, the radio frequency circuit and the antenna can be arranged independently of the processor that performs baseband processing, for example, in a distributed scenario, the radio frequency circuit and the antenna can be arranged remotely from the communication device.
[0265] The specific connection medium between the communication interface 1002, the processor 1001 and the memory 1003 in the embodiments of the present application is not limited. In FIG. 10, the memory 1003, the processor 1001 and the communication interface 1002 are connected through the bus 1004. The connection mode between other components is only schematically illustrated and is not limited. The bus can be divided into an address bus, a data bus, a control bus, etc. For convenience of representation, only one thick line is shown in FIG. 10, but it does not mean that there is only one bus or only one type of bus.
[0266] Optionally, the communication device can be a separate device or can be part of a larger device. For example, the communication device can be:
[0267] (1) an independent integrated circuit (IC), or a chip, or a chip system or subsystem;
[0268] (2) a set of one or more ICs, which can optionally include a storage component for storing data and instructions;
[0269] (3) an application specific integrated circuit (ASIC), such as a modem;
[0270] (4) a module that can be embedded in other devices;
[0271] (5) a receiver, a smart terminal, a wireless device, a handset, a mobile unit, a vehicle-mounted device, a cloud device, an artificial intelligence device, etc.
[0272] (6) others, and the like.
[0273] In the embodiments of the present application, "multiple" can mean two or more. In view of this, "multiple" can also be understood as "at least two" in the embodiments of the present application. "At least one" can be understood as one or more, for example, one, two or more. For example, "including at least one" means including one, two or more, for example, including at least one of A, B and C, and the included can be A, B, C, A and B, A and C, B and C, or A, B and C. "And / or" describes the association relationship of the associated objects, and specifically can exist in three relationships, for example, A and / or B can represent: A exists alone, A and B exist together, and B exists alone. In addition, the character " / ", if not specially stated, generally represents that the associated objects before and after are in an "or" relationship.
[0274] In addition, the terms "system" and "network" in the embodiments of the present application can be used interchangeably, and "according to" and "based on" can be used interchangeably. The ordinal numbers "first", "second" and the like mentioned in the embodiments of the present application are generally used to distinguish different objects, and are not used to limit the order, time sequence, priority or importance of multiple objects. For example, the first communication device and the second communication device in the embodiments of the present application are used to distinguish two communication devices, and do not limit the priority or importance of the two communication devices.
[0275] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system or a computer program product. Therefore, the present application can adopt a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
[0276] The present application is described with reference to flowcharts and / or block diagrams according to the method, equipment (system) and computer program product of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of the flows and / or blocks in the flowchart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram.
[0277] 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 flowchart or flowchart(s) and / or block diagram block or blocks.
[0278] 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 flowchart or flowchart(s) and / or block diagram block or blocks.
Claims
1. An encoding method characterized by comprising: The method comprises: Probability shaping is performed on part of the bits in the first code block to obtain shaped bits; The shaped bits and the bits other than the part of the bits in the first code block are encoded; An encoded bit sequence is output; The probability shaping on the part of the bits in the first code block to obtain the shaped bits comprises: selecting K2 bit positions from bit positions with indexes of [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bit positions are used to carry K2 auxiliary bits, N is an integer power of 2; polar encoding is performed on the K1 information bits and the K2 auxiliary bits to obtain the first bit sequence; the part of the bits comprises the K1 information bits, and the shaped bits comprise the first bit sequence; K1 and K2 are integers greater than or equal to 1.
2. The method of claim 1, wherein, The method further comprises: determining a number K1 of the information bits according to a length N1 of the first bit sequence, wherein or r is related to at least one of a target probability of the probability shaping, a modulation and coding strategy (MCS), and a modulation order.
3. The method according to claim 1 or 2, characterized in that, The method further comprises: According to the number E' of the shaped bits in the first code block and the N, the length of each of C bit sequences is determined, the C bit sequences comprising the first bit sequence; wherein The sum of the lengths of the C bit sequences is equal to the number E' of the shaped bits, and C and E' are integers greater than 1.
4. The method according to any one of claims 1 to 3, characterized in that, The method further comprises: According to the number H of scheduled resource units, the number E' of the shaped bits is determined; wherein E' = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: First information is sent, the first information being used to indicate at least one of: a value of the N; a value of the number C of bit sequences included in the shaped bits; a value of the number K1 of information bits; a value of the length N1 of the first bit sequence; and a value of the number E' of the shaped bits in the first code block.
6. A decoding method, comprising: The method comprises: A shaped bit sequence is obtained through channel decoding, the shaped bit sequence comprising a first bit sequence; De-probability shaping is performed on the first bit sequence to obtain K1 information bits; The de-probability shaping on the first bit sequence to obtain the K1 information bits comprises: selecting K2 bit positions from bit positions with indexes of [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bit positions being used to carry K2 auxiliary bits, N being an integer power of 2; and the K1 information bits are obtained according to the first bit sequence and the K2 bit positions; K1 and K2 are integers greater than or equal to 1.
7. The method of claim 6, wherein, The method further comprises: determining a number K1 of the information bits according to a length N1 of the first bit sequence, wherein or r is related to at least one of a target probability of the probability shaping, a modulation and coding strategy (MCS), and a modulation order.
8. The method according to claim 6 or 7, characterized in that, The method further comprises: According to the number E' of the shaped bits in the first code block and the N, the length of each of C bit sequences is determined, the C bit sequences comprising the first bit sequence; wherein, The sum of lengths of the C bit sequences is equal to the shaped bit quantity E', C, E' are integers greater than 1.
9. The method according to any one of claims 6 to 8, characterized in that, The method further comprises: determining the shaped bit quantity E' according to the number H of scheduled resource units; wherein E' = 2n*H, n is an integer greater than or equal to 1, and H is an integer greater than or equal to 1.
10. The method according to any one of claims 6 to 9, characterized in that, The method further comprises: receiving first information, the first information being used to indicate at least one of the following: a value of the N; a value of the number C of bit sequences included in the shaped bits; a value of the number K1 of information bits; a value of the length N1 of the first bit sequence; a value of the shaped bit quantity E' in the first code block.
11. An encoding method, characterized by, The method comprises: determining the length of the first code block according to an activation state of the probability shaping, the activation state of the probability shaping including activation and deactivation; determining an extension factor of a low-density parity-check (LDPC) code according to the length of the first code block; encoding the first code block according to a check matrix corresponding to the extension factor.
12. The method of claim 11, wherein, Determining the length of the first code block according to the activation state of the probability shaping comprises: when the activation state of the probability shaping is deactivation, determining the length of the first code block according to a first maximum code block length CBmax; or when the activation state of the probability shaping is activation, determining the length of the first code block according to a second maximum code block length CBmax', the length of the first code block being a shaped code block length of the first code block. The second maximum code block length CBmax' is determined according to the first maximum code block length CBmax.
13. The method of claim 12, wherein, Determining the length of the first code block according to the second maximum code block length CBmax' comprises: determining a number of code blocks M according to the second maximum code block length CBmax'; determining an initial code block length of each code block according to the number M of code blocks; determining the length of the first code block according to the initial code block length of the first code block, the initial code block length of the first code block being a pre-shaping code block length of the first code block.
14. The method of claim 13, wherein, Determining the length of the first code block according to the initial code block length of the first code block comprises: determining the length of the first code block according to the initial code block length of the first code block and a preset value.
15. The method according to any one of claims 12 to 14, characterized in that, The length of the first code block is less than or equal to the first maximum code block length CBmax.
16. The method according to any one of claims 11 to 15, characterized in that, The method further comprises: performing the probability shaping on part of the bits in the first code block to obtain shaped bits; Encoding the first code block according to the check matrix corresponding to the extension factor comprises: encoding the shaped bits and the bits in the first code block other than the part of the bits according to the check matrix corresponding to the extension factor.
17. The method of any one of claim 16, wherein, Performing the probability shaping on part of the bits in the first code block to obtain shaped bits comprises: selecting K2 bit positions from bit positions with indexes [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bit positions being used to carry K2 auxiliary bits, N being an integer power of 2; The first bit sequence is obtained by polar encoding according to the K1 information bits and the K2 auxiliary bits. The part of bits includes the K1 information bits, and the shaped bits include the first bit sequence; K1 and K2 are integers greater than or equal to 1, and N is an integer power of 2.
18. A decoding method, comprising: The method comprises: According to the activation state of the probability shaping, the length of the first code block is determined, and the activation state of the probability shaping includes activation and deactivation. According to the length of the first code block, the extension factor of the LDPC code is determined. According to the check matrix corresponding to the extension factor, the decoding of the to-be-decoded symbol sequence is performed.
19. The method of claim 18, wherein, According to the activation state of the probability shaping, the length of the first code block is determined, including: When the activation state of the probability shaping is deactivation, the length of the first code block is determined according to a first maximum code block length CBmax; or, When the activation state of the probability shaping is activation, the length of the first code block is determined according to a second maximum code block length CBmax', and the length of the first code block is the shaped code block length of the first code block. The second maximum code block length CBmax' is determined according to the first maximum code block length CBmax.
20. The method of claim 19, wherein, According to the second maximum code block length CBmax', the length of the first code block is determined, including: According to the second maximum code block length CBmax', the number of code blocks is determined as M; According to the number of code blocks M, the initial code block length of each code block in the code blocks is determined; According to the initial code block length of the first code block, the length of the first code block is determined, and the initial code block length of the first code block is the code block length of the first code block before shaping.
21. The method of claim 20, wherein, According to the initial code block length of the first code block, the length of the first code block is determined, including: According to the initial code block length of the first code block and a preset value, the length of the first code block is determined.
22. The method of any one of claims 19-21, wherein, The length of the first code block is less than or equal to the first maximum code block length CBmax.
23. The method of any one of claims 18-22, wherein, When the activation state of the probability shaping is activation, the bit sequence obtained by decoding includes a first bit sequence; The method further comprises: de-probability shaping the first bit sequence to obtain K1 information bits, K1 being an integer greater than or equal to 1.
24. The method of any one of claim 23, wherein, The de-probability shaping of the first bit sequence to obtain K1 information bits includes: K2 bits are selected from bit positions with indexes [N / 2, N-1] or [0, N / 2-1] in N bit positions, the K2 bits are used to carry K2 auxiliary bits, N is an integer power of 2, and K2 is an integer greater than or equal to 1; the K1 information bits are obtained according to the first bit sequence and the K2 bits.
25. A communications device, characterized by The processor is coupled with the memory, and the memory stores computer programs; the processor is used to call part or all of the computer programs in the memory, so that the method in any one of claims 1 to 24 is executed.
26. A communication system, characterized by The communication system comprises a first communication device and a second communication device; wherein the first communication device is configured to perform the method according to any one of claims 1 to 5, and the second communication device is configured to perform the method according to any one of claims 6 to 10; or the first communication device is configured to perform the method according to any one of claims 11 to 17, and the second communication device is configured to perform the method according to any one of claims 18 to 24.
27. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and when part or all of the computer program is executed by a computer, the method according to any one of claims 1 to 24 is performed.
28. A computer program product, characterised in that, When the computer program product is read and executed by the computer, the method according to any one of claims 1 to 24 is performed.
Citation Information
Patent Citations
Apparatus and method for encoding a message having a target probability distribution of code symbols
CN110892659A
A transmitter and a transmission method using a pscm scheme
CN113508542A
Polar code construction and configuration for block-code-based shaping
WO2024016102A1