Probabilistic shaping method, probabilistic shaping decoding method, and apparatus
By introducing the first sequence corresponding to the first code rate, the determination of the positions of auxiliary bits and punctured bits of the polar code is simplified, and the complexity of distribution matching is reduced.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-28
- Publication Date
- 2026-04-02
AI Technical Summary
In existing technologies, the complexity of distribution matching based on polar codes is relatively high and needs to be further reduced.
By introducing the first sequence corresponding to the first code rate, the positions of auxiliary bits and punctured bits are determined, simplifying the distribution matching process of polar codes.
This reduces the complexity of distribution matching in polar codes and simplifies the process of determining the positions of auxiliary bits and punctured bits.
Smart Images

Figure CN2025105186_02042026_PF_FP_ABST
Abstract
Description
A probability shaping method, a de-probability shaping method and apparatus
[0001] Cross-reference to Related Applications
[0002] This application claims priority to the Chinese Patent Application No. 202411398098.0, filed on September 30, 2024, and entitled “A probability shaping method, a de-probability shaping method and apparatus”, 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 probability shaping method, a de-probability shaping method and apparatus. BACKGROUND
[0004] Probability shaping is a common “shaping” technology, which maps information bits to bits subject to a specific distribution through a distribution matcher, so as to realize more low-energy symbols and less high-energy symbols.
[0005] 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, and is selected as the control channel coding method in the 5th generation (5G) communication standard.
[0006] In a transmission scheme based on probability shaping, polar code can be used to realize distribution matching. However, how to reduce the complexity of realizing distribution matching based on polar code still needs further research. SUMMARY
[0007] The present application provides a probability shaping method, a de-probability shaping method and apparatus, which are used to reduce the complexity of realizing distribution matching based on polar code.
[0008] In a first aspect, an embodiment of the present application provides a probability shaping method, which can be executed by a first communication device (or referred to as an encoding device). In the present application, the "first communication device" can refer to a communication device (for example, a network device, a terminal device, an encoding 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 first aspect, the first communication device obtains a first sequence corresponding to a first code rate, the first code rate is obtained according to the length E of a shaped bit sequence and the number K1 of auxiliary bits, the value of the i th bit position in the first sequence is used to represent the order of the i th bit position being selected as an auxiliary bit position, i = 0, 1, 2,..., N-1; according to the values of the bit positions in the first sequence, K1 auxiliary bit positions are determined from N bit positions, the K1 auxiliary bit positions are used to carry K1 auxiliary bits; according to the length N of the first sequence and the length E of the shaped bit sequence, N-E puncturing bit positions are determined from the N bit positions; according to E-K1 information bits, the K1 auxiliary bits are determined, and a shaped bit sequence is obtained through encoding; the shaped bit sequence is output; wherein E, N, K1 are integers greater than or equal to 0, and E is less than or equal to N.
[0009] By introducing the first sequence corresponding to the first code rate, the positions of the auxiliary bits and the puncturing bits can be determined in a simplified manner, so as to facilitate reducing the complexity of the distribution matching based on the polar code.
[0010] In a possible design, the first sequence includes a first bit position and a second bit position, the value of the first bit position is M1, the value of the second bit position is M2, M1 and M2 are two integers in 0 to N-1; when M1 is less than M2, the first bit position is selected as an auxiliary bit position earlier than the second bit position.
[0011] In this way, the smaller the value of the bit position is, the earlier the bit position is selected as an auxiliary bit position, which is independent of the rate matching position (i.e., the puncturing bit position), so as to facilitate simplifying the determination of the auxiliary bit position and reducing the complexity of the distribution matching.
[0012] In a possible design, according to the values of the bit positions in the first sequence, the K1 auxiliary bit positions are determined from the N bit positions of the first sequence, including: when the value of the i th bit position is less than K1, the i th bit position is determined as an auxiliary bit position.
[0013] In one possible design, the N-E punctured bit positions include at least a third bit position and a fourth bit position, and the third bit position and the fourth bit position are separated by (N / 2-1) bit positions.
[0014] In one possible design, the N-E punctured bit positions include at least a fifth bit position or a sixth bit position, and the fifth bit position and the sixth bit position are separated by (N / 2-1) bit positions.
[0015] In one possible design, the fifth bit position is the (N / 2-1)th bit position, and the sixth bit position is the (N / 2)th bit position. In one possible design, the fifth bit position is the (N / 2-1)th bit position, and the sixth bit position is the (N / 2)th bit position.
[0016] In one possible design, determining N-E punctured bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence includes the following when the length E of the shaped bit sequence is even: if then the ith bit position is determined to be a punctured bit position; or when the length E of the shaped bit sequence is odd, if then the ith bit position is determined to be a punctured bit position, and if or then the ith bit position is determined to be a punctured bit position.
[0017] In a second aspect, an embodiment of the present application provides a method for probability shaping, 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 (e.g., a terminal device, a network device, a decoding 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 capable of implementing all or part of the functions of the communication device. For example, in the method provided in the second aspect, the second communication device obtains a first sequence corresponding to a first code rate, the first code rate is obtained according to a length E of a shaped bit sequence and a number K1 of auxiliary bits, a value of an i th bit position in the first sequence is used to represent an order of the i th bit position being selected as an auxiliary bit position, i = 0, 1, 2, …, N-1; K1 auxiliary bit positions are determined from N bit positions according to values of the bit positions in the first sequence; N-E punctured bit positions are determined from the N bit positions according to a length N of the first sequence and the length E of the shaped bit sequence; E-K1 information bits are obtained according to the shaped bit sequence, the K1 auxiliary bit positions, and the N-E punctured bit positions; wherein E, N, and K1 are integers greater than or equal to 0, and E is less than or equal to N.
[0018] By introducing the first sequence corresponding to the first code rate, the method can determine the auxiliary bit positions and the punctured bit positions in a simplified manner, thereby facilitating reduction of complexity of distribution matching based on the polar code.
[0019] In a possible design, the first sequence includes a first bit position and a second bit position, a value of the first bit position is M1, a value of the second bit position is M2, M1 and M2 are two integers in 0 to N-1, and when M1 is less than M2, the first bit position precedes the second bit position to be selected as an auxiliary bit position.
[0020] In a possible design, the K1 auxiliary bit positions are determined from the N bit positions of the first sequence according to the values of the bit positions in the first sequence, including: when the value of the i th bit position is less than K1, the i th bit position is determined as an auxiliary bit position.
[0021] In a possible design, the N-E punctured bit positions include at least a third bit position and a fourth bit position, and the third bit position and the fourth bit position are separated by (N / 2-1) bit positions.
[0022] In one possible design, the N-E punctured bit positions include at least a fifth bit position or a sixth bit position, and the fifth bit position and the sixth bit position are separated by (N / 2-1) bit positions.
[0023] In one possible design, the fifth bit position is the (N / 2-1)th bit position, and the sixth bit position is the (N / 2)th bit position. In one possible design, the fifth bit position is the (N / 2-1)th bit position, and the sixth bit position is the (N / 2)th bit position.
[0024] In one possible design, determining the N-E punctured bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence includes the following when the length E of the shaped bit sequence is even: if the ith bit position is determined to be a punctured bit position; or when the length E of the shaped bit sequence is odd, if the ith bit position is determined to be a punctured bit position, and if or the ith bit position is determined to be a punctured bit position.
[0025] In a third aspect, a communication apparatus is provided. The communication apparatus can implement the functions described in the first aspect or the second aspect. For example, the communication apparatus can include a module or unit or means for performing the operations of the first aspect or the second aspect. The functions or units or means can be implemented by software or hardware, or by a combination of hardware and software.
[0026] In one possible design, the communication apparatus includes a processing unit and a communication unit. The communication unit can be used to transceive signals to enable communication between the communication apparatus and other apparatuses. The processing unit can be used to perform some internal operations of the communication apparatus. The processing unit and the communication unit can perform functions corresponding to the operations of the first aspect or the second aspect.
[0027] In one possible design, the communication apparatus includes a processor. The processor can be coupled with a memory. The memory can store computer programs or instructions necessary for implementing the functions of the first aspect or the second aspect. The processor can execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor can enable the communication apparatus to implement the method in any possible design or implementation of the first aspect or the second aspect.
[0028] In a possible design of the first aspect or the second aspect, the communication apparatus includes a processor and a memory. The memory can store computer programs or instructions necessary for implementing the functions of the first aspect or the second aspect. The processor can execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, the communication apparatus can implement the method in any possible design or implementation manner of the first aspect or the second aspect.
[0029] In a possible design of the first aspect or the second aspect, the communication apparatus includes a processor and an interface circuit. The processor can communicate with other apparatuses through the interface circuit, and implement the method in any possible design or implementation manner of the first aspect or the second aspect.
[0030] It can be understood that, in the third 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, and the processor can implement the functions by reading software codes stored in the 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 can be arranged separately from the processor. In a specific implementation process, the memory can be integrated with the processor on the same chip, or the memory and the processor can be arranged separately on different chips. The embodiments of the present application do not limit the type of the memory and the arrangement manner of the memory and the processor.
[0031] In a fourth aspect, the present application provides a communication system, which can include a first communication apparatus and a second communication apparatus. The first communication apparatus can implement the method in the first aspect, and the second communication apparatus can implement the method in the second aspect.
[0032] In a fifth aspect, the present application provides a computer readable storage medium, which stores computer programs (or computer readable instructions). When the computer programs (or computer readable instructions) are read and executed by a computer, the method in any possible design of the first aspect or the second aspect is implemented.
[0033] By way of example, and not limitation, computer-readable media can include non-transitory computer-readable media, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a computer. Additionally, it should be appreciated that computer-readable storage media
[0034] In a sixth aspect, the present application provides a computer program product, when a computer reads and executes the computer program product, the method in any possible design of the first aspect or the second aspect is executed.
[0035] In a seventh aspect, the present application provides a chip (or a chip system), the chip includes a processor, the processor is coupled with a memory, the memory stores a computer program; the processor is used to call part or all of the computer program in the memory, so that the method in any possible design of the first aspect or the second aspect is executed. BRIEF DESCRIPTION OF DRAWINGS
[0036] Fig. 1 is a schematic diagram of an architecture of a communication system to which embodiments of the present application are applicable;
[0037] Fig. 2A is a schematic diagram of a processing flow of a source and a sink;
[0038] Fig. 2B is a schematic diagram of another processing flow of a source and a sink;
[0039] Fig. 2C is a constellation point distribution after shaping;
[0040] Fig. 3A is a schematic diagram of an 8x8 polar transformation matrix;
[0041] Fig. 3B is a schematic diagram of an SC decoding calculation process;
[0042] Fig. 3C is a schematic diagram of a decoding path in an SCL decoding method;
[0043] Fig. 4 is a schematic diagram of implementing distribution matching based on a polar code;
[0044] Figs. 5A and 5B are schematic diagrams of determining distribution matching based on a polar code;
[0045] Fig. 6 is a schematic diagram of a method provided by an embodiment of the present application;
[0046] FIG. 7 is an exemplary block diagram of an apparatus involved in an embodiment of the present application;
[0047] FIG. 8 is a structural schematic diagram of a communication apparatus provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] 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.
[0049] In the embodiments of the present application, the words "exemplary", "for example", and the like are used to mean example, instance, or illustration. Any embodiment or design presented as "exemplary" in the present application should not be interpreted as being preferred or superior to 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 used interchangeably, and it should be pointed out that when their differences are not emphasized, they express the same meaning.
[0050] 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.
[0051] 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.
[0052] (1) Network device
[0053] 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.
[0054] 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.
[0055] 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, please refer to the relevant 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.
[0056] 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.
[0057] (2) Terminal device
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] (1) Channel encoding, channel decoding
[0066] 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.
[0067] 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.
[0068] There are various ways of channel coding, such as polar code and low density parity check (LDPC) code. The polar code is selected as the control channel coding mode 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 data channel coding mode in the 5G standard, and the LDPC code is a linear block code with a sparse check matrix, which not only has good performance of approaching the Shannon limit, but also has low decoding complexity and flexible structure.
[0069] (2) Modulation and demodulation
[0070] 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.
[0071] 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.
[0072] For example, the bit sequence after coding can be mapped to a modulation symbol according to a reference table or according to a preset rule. Here, only the reference table is used for illustration, as shown in Table 1, which is an example of bit mapping relationship of 16ASK. 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, the modulation symbol corresponding to 0111 is -15.
[0073] Table 1: Example of bit mapping relationship of 16ASK
[0074] In the ASK modulation, the bit sequence after encoding can be mapped into modulation symbols according to the bit value in Table 1; in the QAM (such as 16QAM, 64QAM, etc.) modulation, there are real and imaginary parts in the QAM constellation, and the real and imaginary parts can be mapped into modulation symbols according to Table 1. The present application does not specifically illustrate this.
[0075] (3) Probability shaping
[0076] At present, high-order modulation maps multiple bits into a modulation symbol, thereby further improving the spectral efficiency. Among them, common high-order modulation schemes such as 16QAM, 64QAM, 256AM, etc. are not specifically limited. Among them, 16QAM is to map 4 bits into a modulation symbol, and 64QAM is to map 6 bits into a modulation symbol.
[0077] In high-order modulation, different symbol energies can be different, such as in Table 1 above, the energies of the modulation symbols are in descending order: modulation symbol -15 (modulation symbol 15), modulation symbol -13 (modulation symbol 13), modulation symbol -11 (modulation symbol 11), modulation symbol -9 (modulation symbol 9), modulation symbol -7 (modulation symbol 7), modulation symbol -5 (modulation symbol 5), modulation symbol -3 (modulation symbol 3), 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 symbol distribution transmitted 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.
[0078] Probability shaping is a common "shaping" technique. The typical process block diagram 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, and the receiver also needs to perform de-probability shaping. As shown in FIG. 2B, a precoder is cascaded before channel coding to map (or "shape") information bits into a bit sequence that obeys a specific distribution, so the precoder is also called a distribution matcher (DM); then, a systematic code is used for coding in the channel coding process, so that the above sequence that satisfies the specific distribution directly appears 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 low-energy symbols is higher than that of high-energy symbols.
[0079] For example, for a code block to be encoded, assume that the code block includes 500 information bits, 100 of which are not distributed matched, and the other 400 of which are distributed matched to obtain a bit sequence conforming to a specific distribution, the bit sequence including 512 bits; and then, the 512 shaped bits and the 100 information bits are channel encoded.
[0080] (4) Polar code encoding
[0081] 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 , and the encoding process is is a binary row vector with a length of N (i.e., code length); is defined as the Kronecker product of log2 N matrices F2, x1 N is the encoded bit (also called code word), is multiplied by the generation matrix G N to obtain the encoded bit, and the multiplication process is the encoding process.
[0082] In the encoding process of the polar code, part of the bits in x are used to carry information, which is called an information bit set, and the set of indices of these bits is denoted as A; the other part of the bits is set to a fixed value agreed by the receiving end and the sending end in advance, which is called a fixed bit set or a frozen bit set, and the set of bit index is denoted as the complement of A, A c . These frozen bits are usually set to 0, but as long as the receiving end and the sending end agree, the frozen bits can be set arbitrarily.
[0083] Currently, in NR, the frozen bit positions and the information bit positions of a polar code are determined based on a reliability sequence corresponding to a mother code length. The reliability sequence corresponding to the mother code length can be calculated offline to reduce the complexity of encoding. 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. The mother code length can also be referred to as 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 as follows: the bit position corresponding to the bit sequence number 7, the bit position corresponding to the bit sequence number 6, …, the bit position corresponding to the bit sequence number 1, and the bit position corresponding to the bit sequence number 0. The bit position can be understood as a bit subchannel. The bit sequence number can be understood as an index or an identifier of the bit position. For example, when a polar code with a mother code length of 8 and an information length of 4 is constructed, the bit positions corresponding to the bit sequence numbers 7, 6, 5, and 3 are selected from the back to the front as the information bit positions, and the bit positions corresponding to the bit sequence numbers 4, 2, 1, and 0 are selected as the frozen bit positions.
[0084] FIG. 3A shows an 8x8 polar transformation matrix, where the left side can be understood as a to-be-encoded side, and the bit positions on the left side are denoted by u. The right side can be understood as an encoding side (or a code word side), and the bit positions on the right side are denoted by x. The process from left to right is the process of encoding the to-be-encoded bit sequence at the sending end. The information bits to be encoded are represented by the sequence u(0, 0, 0, 0, 0, 0, 1, 1), and the encoded bits are represented by the sequence x(0, 1, 0, 1, 0, 1, 0, 1) after the polar transformation matrix. The x is mapped into a modulation symbol, which can be transmitted in the channel W. The bit positions corresponding to high channel reliability are used to map information bits, and the bit positions corresponding to low channel reliability are used to map frozen bits. As shown in FIG. 3A, {u0, u1, u2, u4} are frozen bit positions, and {u3, u5, u6, u7} are information bit positions. In the embodiments of the present application, the information bit positions are also referred to as information bits. The frozen bit positions are also referred to as frozen bits.
[0085] Referring to FIG. 3A, in the encoding process, the two adjacent columns are an encoding layer, and the left column of bits is the input bit of the encoding layer, and the right column of bits is the output bit 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 operator in the middle of the encoding layer represents an exclusive or operation, specifically, represents the bit in the same row as a single XOR operation between bits of the SoD, The right bit is the operation result. For example, in the leftmost encoding layer, the first input bit (value 0) and the second input bit (value 0) perform The operation obtains the first output bit (value 0).
[0086] (5) Polar code decoding
[0087] There are multiple decoding methods for the polar code, such as a successive cancellation (SC) decoding method and a successive cancellation list (SCL) decoding method.
[0088] The SC decoding method refers to calculating the LLR of each decoding bit according to the LLR sequence corresponding to the bit sequence to be decoded, and performing bit-by-bit decision. 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 always 0 regardless of the LLR. FIG. 3B is a schematic diagram of the SC decoding calculation process, taking 4 decoding bits as an example. There are 8 calculation nodes in FIG. 3B, 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. 3B are ①→②→③→④ in turn, and the decoding is completed.
[0089] The SCL decoding method refers to saving both 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 bit sequence to be decoded. FIG. 3C is a schematic diagram of the decoding path in the SCL decoding method. As shown in FIG. 3C, 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 PM values 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.
[0090] (6) Rate matching
[0091] For example, for a polar code, as described above, the code length of the polar code is a power of 2. In practical applications, the length required can be a non-code length, at which time some bits in the coded bit sequence need to be removed for transmission, or some bits need to be repeatedly transmitted, which is usually referred to as rate matching. The method of rate matching is further described below in three cases.
[0092] Puncture: "Puncture" refers to directly drilling some bit positions in the coded bit sequence and not transmitting, so as to generate a bit sequence of any length. At the decoding side, since there is no information amount corresponding to the "punctured" position, the LLR of the corresponding bit is set to 0.
[0093] Shorten: "Shorten" is another common rate matching method, which is to design a polar code such that some bit positions in the coded bit sequence are fixed values, and thus do not need to be transmitted. At the decoding side, since the corresponding "shortened" position is equivalent to being known at the receiving end (usually 0), the LLR of the corresponding bit is set to infinity.
[0094] Repetition: "Repetition" refers to transmitting part of the coded bit sequence repeatedly to obtain a longer bit sequence.
[0095] In a transmission scheme based on probability shaping, a polar code can be used to implement distribution matching, such as using SC or SCL decoding of the polar code to implement distribution matching. Based on the polar code to implement distribution matching, on the one hand, the existing SC or SCL decoder in the current device can be reused to implement distribution matching, without additional chip area, and on the other hand, the fast decoding algorithm of the SC or SCL decoder can be used to reduce the decoding complexity.
[0096] FIG. 4 is a possible flowchart of implementing distribution matching based on a polar code. The flowchart shown in FIG. 4 is an example of a communication device as the execution subject of distribution matching, and the embodiments of the present application do not limit the execution subject of distribution matching. As shown in FIG. 4, the flowchart includes:
[0097] S401, the communication device determines K1 bit positions, and the K1 bit positions are used to carry K1 auxiliary bits.
[0098] In the embodiments of the present application, the auxiliary bits are the bits introduced by distribution matching, and the auxiliary bits can also be replaced by other possible names, which are not limited in detail.
[0099] In a possible case (referred to as Case 1), the length of the shaped bit sequence is E, and E is an integer power of 2. In this case, the communication apparatus can select K1 bit positions with higher reliability from the E bit positions according to the reliability sequence corresponding to the code length E (as described above, the reliability sequence is calculated offline to reduce complexity), and the remaining E-K1 bit positions are information bit positions. For example, E = 8, the reliability sequence is [0 1 2 4 3 5 6 7], K1 = 4, and then the bit positions corresponding to the bit numbers [3 5 6 7] can be selected as the auxiliary bit positions.
[0100] In another possible case (referred to as Case 2), the length of the shaped bit sequence is E, and E is not an integer power of 2. In this case, the communication apparatus needs to perform rate matching to obtain a bit sequence with a corresponding length. The rate matching manner is related to the code rate (the code rate is the ratio of the length of the information bits to the actual required code length), for example, when the code rate is less than or equal to 7 / 16, the rate matching manner is puncturing, and when the code rate is greater than 7 / 16, the rate matching manner is shortening.
[0101] Specifically, the communication apparatus can determine the rate matching manner according to the code rate, determine the rate matching position (i.e., the puncturing bit position) or the pre-frozen position according to the rate matching manner, and then determine the auxiliary bit position based on the reliability sequence. For example, E = 6 and K1 = 4, the communication apparatus first determines that the length matching manner is shortening based on the code rate, and then further determines K2 pre-frozen positions, for example, the K2 pre-frozen positions are the bit positions corresponding to the bit numbers [6 7], so the bit positions corresponding to the bit numbers [6 7] are pre-frozen (the bit positions corresponding to the bit numbers [6 7] cannot be selected as auxiliary bit positions), that is, the bit positions corresponding to the bit numbers [6 7] in the reliability sequence (the reliability sequence corresponding to the code length 8) are removed to obtain [0 1 2 4 3 5], and then 4 bit positions with higher reliability (i.e., the bit positions corresponding to the bit numbers [2 4 3 5]) are selected as auxiliary bit positions.
[0102] S402, the communication apparatus determines K1 auxiliary bits according to the LLR sequence and the information bits.
[0103] For example, referring to FIG. 5A or FIG. 5B, the communication apparatus places the original information bits to be shaped in the information bit positions, and takes the LLR sequence corresponding to the target distribution as the to-be-decoded symbol sequence (for example, the LLR input on the right side of the fence diagram in FIG. 5A or FIG. 5B), wherein the LLR sequence is a known quantity. Then, the value of the auxiliary bit can be obtained through polar code decoding. FIG. 5A is a schematic diagram taken as an example of Case 1, and FIG. 5B is a schematic diagram taken as an example of Case 2.
[0104] S403, the communication device polar encodes the K1 auxiliary bits and the K3 information bits to obtain a shaped bit sequence.
[0105] For case 1, the communication device directly polar encodes the K1 auxiliary bits and the K3 information bits to obtain the shaped bit sequence; for case 2, the communication device polar encodes the K1 auxiliary bits, the K2 pre-frozen bits (for example, the pre-frozen bits take the value 0), and the K3 information bits to obtain a sequence a, and then removes the bits at the pre-frozen positions in the sequence a to obtain the shaped bit sequence.
[0106] According to the foregoing description, when the length of the shaped bit sequence is an integer power of 2, the K1 bit positions with higher reliability can be selected as the auxiliary bit positions according to the predefined reliability sequence. When the length of the shaped bit sequence is not an integer power of 2, the rate matching manner needs to be determined according to the code rate, then the rate matching positions (i.e., the puncturing bit positions) are determined according to the rate matching manner, and then the auxiliary bit positions are selected based on the reliability sequence. Since the process of determining the rate matching positions and the auxiliary bit positions is relatively complex, the implementation of the rate matching is relatively complex.
[0107] Therefore, the embodiment of the present application provides a method, by introducing the Z sequence corresponding to the code rate of the probabilistic shaping, so that the rate matching can be implemented in a simplified manner, which facilitates reducing the complexity of implementing the rate matching based on the polar code, and improving the efficiency of the probabilistic shaping.
[0108] In the embodiments of the present application, the method provided by the present application is related to a first communication device and / or a second communication device. The first communication device is a signal sending end, and the second communication device is a signal receiving end. In the case of no special description, the "first communication device" in the present application can refer to a communication device (for example, a network device, a terminal device, an encoding 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.
[0109] The method provided by the embodiments of the present application will be described in detail below in combination with specific embodiments.
[0110] Firstly, the Z sequence introduced in the embodiments of the present application is described. The Z sequence can also have other possible names, which are not limited in particular. In the probability shaping scene, since the code rate of probability shaping is fixed to the same code rate or agreed to be fixed to several code rates, the transmission performance is basically not affected, and therefore, the complexity of distribution matching can be reduced by introducing the Z sequence. The length of the Z sequence is N, and N is an integer power of 2, such as 1024, 2048, 4096 or 8192, which is not limited in particular. In an example, N can be greater than or equal to the maximum length N0 supported by the distribution matching, which can be pre-configured or pre-defined. The value of the i-th bit position in the Z sequence is used to represent the order of the i-th bit position selected as an auxiliary bit position, i = 0, 1, 2, …, N-1.
[0111] The Z sequence can be configured, pre-defined or pre-configured, and the Z sequence corresponds to the code rate one by one. In an example, when the code rate of probability shaping is fixed to the same code rate (such as 0.25), the Z sequence 1 corresponding to the code rate 0.25 can be configured, pre-defined or pre-configured, such as the length of the Z sequence 1 being 1024. When the code rate of probability shaping is agreed to be fixed to several code rates (such as the agreed code rates being 0.3 and 0.35), the Z sequence 2 corresponding to the code rate 0.3 and the Z sequence 3 corresponding to the code rate 0.35 can be configured, pre-defined or pre-configured, such as the length of the Z sequence 2 and the length of the Z sequence 3 both being 2048. When the Z sequence is configured, multiple Z sequences need to be configured when the code rate of probability shaping is agreed to be fixed to several code rates, and one Z sequence can be configured when the code rate of probability shaping is fixed to the same code rate, thereby facilitating the reduction of signaling overhead.
[0112] It can be understood that the Z sequence is related to the reliability sequence corresponding to the code rate and the code length N, and the specific implementation of constructing the Z sequence is not limited in the embodiments of the present application.
[0113] FIG. 6 is a flowchart of the method provided by the embodiments of the present application. As shown in FIG. 6, the flowchart can include the following steps:
[0114] S601, the first communication device acquires a first sequence corresponding to a first code rate.
[0115] Exemplarily, the first communication device can determine a first code rate, and then obtain the first sequence according to the first code rate. The first code rate is related to the length E of the shaped bit sequence and the number K1 of the auxiliary bits, for example, the first code rate is equal to the ratio of the number K3 of the information bits to the length E of the shaped bit sequence, K3=E-K1. The code rate of the probability shaping can be related to the modulation order, for example, the code rates are the same under the same modulation order, and the code rates are different under different modulation orders. In addition, the length E of the shaped bit sequence is less than or equal to the maximum length N0 supported by the distribution matching, that is, the length E of the shaped bit sequence is less than or equal to N, and the embodiments of the present application mainly describe the case that the length E of the shaped bit sequence is less than N. E and K1 are integers greater than or equal to 0.
[0116] The first sequence can be the Z sequence described above, and the value of the i th bit position in the first sequence is used to represent the order of the i th bit position being selected as an auxiliary bit position, i=0, 1, 2, …, N-1. For example, the first sequence includes a first bit position and a second bit position, the value of the first bit position is M1, and the value of the second bit position is M2, M1 and M2 are two integers in 0 to N-1; when M1 is less than M2, the first bit position precedes the second bit position to be selected as an auxiliary bit position, that is, the smaller the value of the bit position, the earlier the bit position is selected as an auxiliary bit position. For example, the first sequence is Z=[7 6 5 2 4 3 1 0], wherein the value of the 8 th bit position (i.e. the bit position corresponding to the bit number 8) is 0, indicating that the 8 th bit position is the first to be selected as an auxiliary bit position; the value of the 0 th bit position is 7, indicating that the 0 th bit position is the last to be selected as an auxiliary bit position.
[0117] It can be understood that in other possible examples, when M1 is greater than M2, the first bit position precedes the first bit position to be selected as an auxiliary bit position, that is, the larger the value of the bit position, the earlier the bit position is selected as an auxiliary bit position. In addition, M1 and M2 can not be two integers in 0 to N-1, but two integers in 1 to N or other possible values, which are not limited in detail.
[0118] S602, the first communication device determines K1 auxiliary bit positions from the N bit positions according to the values of the bit positions in the first sequence, and the K1 auxiliary bit positions are used to carry K1 auxiliary bits.
[0119] Exemplarily, the first communication device can construct a binary vector L according to the values of the bit positions in the first sequence and the number K1 of the auxiliary bit positions. The binary vector L is used to indicate the auxiliary bit positions. For example, the first communication device traverses each bit position in the first sequence. Since the smaller the value of a bit position is, the earlier the bit position is selected as an auxiliary bit position, if the value of the i-th bit position in the first sequence (denoted as Z(i)) is smaller than K1, L(i) can be set to 1, indicating that the i-th bit position is selected as an auxiliary bit position; if the value of the i-th bit position is smaller than K1, L(i) can be set to 0, indicating that the i-th bit position is not selected as an auxiliary bit position.
[0120] For example, the first sequence is Z = [7 6 5 2 4 3 1 0] and K1 = 3. For the 0-th bit position, since the value of the 0-th bit position is 7 (greater than 3), L(0) can be set to 0; for the 1-st bit position, since the value of the 1-st bit position is 6 (greater than 3), L(1) can be set to 0; for the 2-nd bit position, since the value of the 2-nd bit position is 5 (greater than 3), L(2) can be set to 0; and so on. For the 8-th bit position, since the value of the 8-th bit position is 0 (smaller than 3), L(8) can be set to 1. Further, the first communication device can obtain L = [0 0 0 1 0 0 1 1], indicating that the 3-rd bit position, the 7-th bit position and the 8-th bit position are selected as auxiliary bit positions.
[0121] S603, the first communication device determines K2 puncturing bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence. K2 is an integer greater than or equal to 0, and K2 = N-E.
[0122] Exemplarily, when the length E of the shaped bit sequence is even, the N-E puncturing bit positions at least include the 3-rd bit position and the 4-th bit position, and the 3-rd bit position and the 4-th bit position are separated by (N / 2-1) bit positions.
[0123] When the length E of the shaped bit sequence is odd, the N-E puncturing bit positions at least include the 5-th bit position or the 6-th bit position, and the 5-th bit position and the 6-th bit position are separated by (N / 2-1) bit positions, where the 5-th bit position is the -th bit position, and the 6-th bit position is the -th bit position. Optionally, the N-E puncturing bit positions further include the 3-rd bit position and the 4-th bit position.
[0124] In a possible implementation, the first communication apparatus can construct a binary vector P according to the length N of the first sequence and the length E of the shaped bit sequence, where the binary vector P is used to indicate the puncturing bit positions.
[0125] For example, when the length E of the shaped bit sequence is even, if P(i) is set to 1, indicating that the i th bit position is selected as a puncturing bit position; or if P(i) is set to 0, indicating that the i th bit position is not selected as a puncturing bit position. Here, rem represents a remainder operation, and rem(i, N / 2) represents the remainder of i divided by N / 2.
[0126] For example, when N = 8 and E = 6, if for the 0 th bit position, since rem(i, N / 2) < 1, P(0) can be set to 1; for the 1 st bit position, since rem(i, N / 2) ≥ 1, P(1) can be set to 0; and so on, for the 8 th bit position, since rem(i, N / 2) ≥ 1, P(8) can be set to 0. Further, the first communication apparatus can obtain P = [1 0 0 0 1 0 0 0], indicating that the 1 st bit position and the 4 th bit position are selected as puncturing bit positions.
[0127] For example, when the length E of the shaped bit sequence is odd, if P(i) is set to 1, indicating that the i th bit position is selected as a puncturing bit position, and if or P(i) is set to 1, indicating that the i th bit position is selected as a puncturing bit position.
[0128] For example, when N = 8 and E = 7, if for the 1 st, 2 nd, 3 rd, 5 th, 6 th, and 7 th bit positions, since rem(i, N / 2) > 0, P(1), P(2), P(3), P(5), P(6), and P(7) can be set to 0; and P(0) or P(4) can be set to 1. Further, the first communication apparatus can obtain P = [1 0 0 0 0 0 0 0], indicating that the 0 th bit position is selected as a puncturing bit position, or P = [0 0 0 0 1 0 0 0], indicating that the 4 th bit position is selected as a puncturing bit position.
[0129] In S604, the first communication apparatus determines K1 auxiliary bits according to the K3 information bits, and encodes to obtain the shaped bit sequence. Here, K3 is an integer greater than or equal to 0, and K3 = E - K1.
[0130] Exemplarily, the first communication apparatus sets the values of K2 puncturing bit positions to 0, sets K3 information bits in bit positions where L(i) = 0 and P(i) = 0, and then obtains K1 auxiliary bits according to the known LLR sequence. Then, the first communication apparatus polar encodes to obtain sequence b according to the K1 auxiliary bits, the K2 puncturing bits and the K3 information bits, and then removes bits in the puncturing bit positions in the sequence b, so as to obtain the shaped bit sequence.
[0131] For example, N = 8, E = 6, K1 = 3, K2 = N - E = 2, K3 = E - K1 = 3, L = [0 0 0 1 0 0 1 1], and P = [1 0 0 0 1 0 0 0]. The first communication apparatus can set the values of the 0th bit position and the 4th bit position to 0, set 3 information bits in the 1st bit position, the 2nd bit position and the 5th bit position, and then obtain 3 auxiliary bits according to the known LLR sequence. Then, the first communication apparatus polar encodes to obtain sequence b (the length of the sequence b is 8) according to the 3 auxiliary bits, the 2 puncturing bits and the 3 information bits, and then removes bits in the puncturing bit positions in the sequence b (i.e., removes bits in the 0th bit position and the 4th bit position in the sequence b), so as to obtain the shaped bit sequence.
[0132] S605, the first communication apparatus outputs the shaped bit sequence; correspondingly, the second communication apparatus acquires the shaped bit sequence.
[0133] Exemplarily, the first communication apparatus can perform channel coding and modulation on the shaped bit sequence, and send the symbol sequence after modulation; correspondingly, the second communication apparatus receives the symbol sequence after modulation, and performs demodulation and channel decoding to obtain the shaped bit sequence.
[0134] S606, the second communication apparatus acquires a first sequence corresponding to a first code rate.
[0135] S607, the second communication apparatus determines K1 auxiliary bit positions from N bit positions according to the values of the bit positions in the first sequence, and the K1 auxiliary bit positions are used to carry K1 auxiliary bits.
[0136] S608, the second communication apparatus determines K2 puncturing bit positions from N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence.
[0137] Exemplarily, the specific implementation of S606 to S608 can refer to the description of S601 to S603.
[0138] S609, the second communication device obtains K3 information bits according to the shaped bit sequence, the K1 auxiliary bit positions and the K2 puncturing bit positions.
[0139] Exemplarily, the second communication device can determine the K3 information bit positions according to the K1 auxiliary bits and the K2 puncturing bit positions, and then the second communication device performs polar encoding (which can be the inverse encoding of the polar encoding in S604) on the shaped bit sequence to obtain a sequence c, and obtains the K3 information bits according to the sequence c and the K3 information bit positions (the bits in the sequence c located at the K3 information bit positions are the K3 information bits).
[0140] By using the above method, the embodiments of the present application can construct the polar codes with the same code rate and different lengths based on the Z sequence, and the information bit positions of the polar codes with the same code rate and different lengths have nesting property (for example, for a given code rate 1 / 2, the information bit positions of the polar code with a length of 6 are a subset of the information bit positions of the polar code with a length of 8), which can determine the auxiliary bit positions and the puncturing bit positions in a simplified manner compared with the scheme described above (first determining the rate matching manner according to the code rate, then determining the puncturing bit positions according to the rate matching manner, and then determining the auxiliary bit positions based on the reliability sequence corresponding to the code length), thereby facilitating to reduce the complexity of implementing the distribution matching based on the polar code. Further, S602 and S603 in the embodiments of the present application can be executed in parallel, that is, S602 and S603 are independent of each other (while in the scheme described above, the puncturing bit positions need to be determined first, and then the auxiliary bit positions are determined), thereby facilitating to improve the efficiency of the distribution matching.
[0141] In addition, since the code rate of the probability shaping is fixed to the same code rate or agreed to be fixed to several code rates, the transmission performance is basically not affected, and therefore, by using the method in the embodiments of the present application, the communication device can store a small amount of Z sequences (such as one Z sequence or several Z sequences), and can construct bit sequences with different code lengths, thereby being able to reduce the power consumption overhead and chip area.
[0142] For the above embodiments, it can be understood that:
[0143] (1) Since the polar code is selected as the control channel encoding method in the 5G standard, if the distribution matching is implemented based on the polar code, the polar code is used for both the channel encoder and the distribution matching, and in a specific implementation, when the communication device determines that the polar code is used for the distribution matching, the polar code can be constructed in the manner provided in the embodiments of the present application.
[0144] (2) In the embodiments of the present application, the terms and / or descriptions among different examples have consistency and can refer to each other if there is no special description and logical conflict. The technical features in different examples can be combined to form new embodiments according to their inherent logical relationship. In addition, different implementations or different examples can also refer to or refer to each other.
[0145] (3) The various numerical numbers involved in the present application are only used for differentiation for the convenience of description, and do not limit the scope of the present application. The step numbers of the above various flowcharts are only one example of the execution flow, and do not constitute a limitation on the execution order of the steps, that is, the size of each step number does not mean the execution order, and the execution order of each step should be determined according to its function and inherent logic. In addition, the steps shown in each flowchart are not all the steps that must be executed, and some steps can be added or deleted based on each flowchart as needed.
[0146] 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 each function. Those skilled in the art should easily realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in hardware or computer software driven hardware depends on the specific application of the technical solution and the design constraints. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0147] 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 into one unit. The integrated unit can be realized in the form of hardware or software functional unit.
[0148] In the case of using integrated units, FIG. 7 shows a possible exemplary block diagram of the device involved in the embodiments of the present application. As shown in FIG. 7, the device 700 can include a processing unit 702 and a communication unit 703. The processing unit 702 is used to control and manage the actions of the device 700. The communication unit 703 is used to support the communication of the device 700 with other devices. Optionally, the communication unit 703, also known as the transceiver unit, can include a receiving unit and / or a sending unit, which are used to perform receiving and sending operations, respectively. The device 700 can also include a storage unit 701 for storing the program code and / or data of the device 700.
[0149] (1) The apparatus 700 can be the first communication apparatus in the above embodiments. The processing unit 702 can enable the apparatus 700 to perform the actions of the first communication apparatus in the above method embodiments. Alternatively, the processing unit 702 mainly performs the internal actions of the first communication apparatus in the method embodiments, and the communication unit 703 can enable the apparatus 700 to communicate with other devices.
[0150] For example, in an embodiment, the processing unit 702 is configured to: obtain a first sequence corresponding to a first code rate, the first code rate being obtained according to a length E of a shaped bit sequence and a number K1 of auxiliary bits, a value of an i-th bit position in the first sequence being used to represent an order in which the i-th bit position is selected as an auxiliary bit position, i = 0, 1, 2, …, N-1; determine K1 auxiliary bit positions from N bit positions according to the values of the bit positions in the first sequence, the K1 auxiliary bit positions being used to carry K1 auxiliary bits; determine N-E puncturing bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence; polar encode the K1 auxiliary bits, the N-E puncturing bit positions, and E-K1 information bits to obtain the shaped bit sequence; and the communication unit 703 is configured to: output the shaped bit sequence; where E, N, and K1 are integers greater than or equal to 0, and E is less than or equal to N.
[0151] In a possible design, the first sequence includes a first bit position and a second bit position, a value of the first bit position is M1, and a value of the second bit position is M2, M1 and M2 are two integers in 0 to N-1; when M1 is less than M2, the first bit position is selected as an auxiliary bit position earlier than the second bit position.
[0152] In a possible design, the processing unit 702 is specifically configured to: when the value of the i-th bit position is less than K1, determine the i-th bit position as an auxiliary bit position.
[0153] In a possible design, the N-E puncturing bit positions include at least a third bit position and a fourth bit position, and the third bit position and the fourth bit position are separated by (N / 2-1) bit positions.
[0154] In a possible design, the N-E puncturing bit positions include at least a fifth bit position or a sixth bit position, and the fifth bit position and the sixth bit position are separated by (N / 2-1) bit positions.
[0155] In a possible design, the fifth bit position is the (N / 2-1)-th bit position. the sixth bit position is the i th bit position. the sixth bit position is the i th bit position.
[0156] In a possible design, the processing unit 702 is specifically configured to: when the length E of the shaped bit sequence is even, if the i th bit position is determined as the punctured bit position; or when the length E of the shaped bit sequence is odd, if the i th bit position is determined as the punctured bit position, and if orthe i th bit position is determined as the punctured bit position.
[0157] (2) The apparatus 700 can be the second communication apparatus in the above-described embodiments. The processing unit 702 can enable the apparatus 700 to perform the actions of the second communication apparatus in the above method embodiments. Alternatively, the processing unit 702 mainly performs the internal actions of the second communication apparatus in the method embodiments, and the communication unit 703 can enable the apparatus 700 to perform communication with other devices.
[0158] For example, in an embodiment, the processing unit 702 is configured to: obtain a first sequence corresponding to a first code rate, the first code rate being obtained according to a length E of a shaped bit sequence and a number K1 of auxiliary bits, a value of an i th bit position in the first sequence being used to represent an order in which the i th bit position is selected as an auxiliary bit position, i = 0, 1, 2, …, N-1; determine K1 auxiliary bit positions from N bit positions according to the values of the bit positions in the first sequence; determine N-E punctured bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence; and obtain E-K1 information bits according to the shaped bit sequence, the K1 auxiliary bit positions and the N-E punctured bit positions; where E, N and K1 are integers greater than or equal to 0, and E is less than or equal to N.
[0159] In a possible design, the first sequence includes a first bit position and a second bit position, a value of the first bit position is M1, and a value of the second bit position is M2, M1 and M2 are two integers in 0 to N-1; when M1 is less than M2, the first bit position is selected as an auxiliary bit position earlier than the second bit position.
[0160] In a possible design, the processing unit 702 is specifically configured to: when the value of the i th bit position is less than K1, determine the i th bit position as an auxiliary bit position.
[0161] In one possible design, the N-E punctured bit positions include at least a third bit position and a fourth bit position, and the third bit position and the fourth bit position are separated by (N / 2-1) bit positions.
[0162] In one possible design, the N-E punctured bit positions include at least a fifth bit position or a sixth bit position, and the fifth bit position and the sixth bit position are separated by (N / 2-1) bit positions.
[0163] In one possible design, the fifth bit position is the (N / 2-1)th bit position, and the sixth bit position is the (N / 2)th bit position. In one possible design, the fifth bit position is the (N / 2-1)th bit position, and the sixth bit position is the (N / 2)th bit position.
[0164] In one possible design, the processing unit 702 can be specifically configured to: when the length E of the shaped bit sequence is even, determine the ith bit position as the punctured bit position if ; or when the length E of the shaped bit sequence is odd, determine the ith bit position as the punctured bit position if ; and determine the ith bit position as the punctured bit position if or .
[0165] It should be understood that the division of units in the above apparatus is only 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, which 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.
[0166] 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, for example, 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 to be implemented in the form of a SoC.
[0167] 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.
[0168] 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. 8, the apparatus can be a communication device or a component (for example, a processor, a chip, or a chip system, etc.) in a communication device. The apparatus includes a processor 801 and a communication interface 802, and optionally further includes a memory 803. The memory 803 can be independent of the processor 801, or can be integrated in the processor 801, which is not limited specifically. It can be understood that FIG. 8 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).
[0169] The processor 801 is configured to execute the program code stored in the memory 803, and specifically configured to execute the actions of the processing unit 702 described above, which will not be repeated here. The communication interface 802 is specifically configured to execute the actions of the communication unit 703 described above, which will not be repeated here.
[0170] The processor 801 can be a CPU, or a digital processing unit, etc. The processor 801 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 802 can be used to transceive signals, such as but not limited to radio frequency signals. 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 801 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.
[0171] The communication interface 802 can be a transceiver, an interface circuit such as a transceiving circuit, etc., or a transceiving chip, etc. Optionally, the communication interface 802 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.
[0172] The memory 803 is used to store programs executed by the processor 801. The memory 803 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 803 can be any other medium capable of carrying or storing desired program codes in the form of instructions or data structures and capable of being accessed by a computer, but is not limited thereto.
[0173] When the communication device is powered on, the processor 801 can read the software program in the memory 803, 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 801 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 801. The processor 801 converts the baseband signal into data and processes the data.
[0174] 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.
[0175] The specific connection medium between the communication interface 802, the processor 801 and the memory 803 in the embodiments of the present application is not limited. In FIG. 8, the memory 803, the processor 801 and the communication interface 802 are connected through the bus 804, and 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. 8, but it does not mean that there is only one bus or only one type of bus.
[0176] Optionally, the communication device can be a stand-alone device or can be part of a larger device. For example, the communication device can be:
[0177] (1) a stand-alone integrated circuit (IC), or a chip, or a chip system or subsystem;
[0178] (2) a set of one or more ICs, which can optionally include a storage component for storing data and instructions;
[0179] (3) an application specific integrated circuit (ASIC), such as a modem;
[0180] (4) a module that can be embedded in other devices;
[0181] (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.
[0182] (6) other, etc.
[0183] 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.
[0184] 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.
[0185] 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 take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
[0186] The present application is described with reference to flowcharts and / or block diagrams according to the method, device (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 can be implemented by computer program instructions, and the combination of flows and / or blocks in the flowchart and / or block diagram. 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 of the flowchart and / or one or more blocks of the block diagram.
[0187] 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.
[0188] 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. A probabilistic shaping method, characterized by, The method comprises: obtaining a first sequence corresponding to a first code rate, the first code rate being obtained according to a length E of a shaped bit sequence and a number K1 of auxiliary bits, a value of an i-th bit position in the first sequence being used to represent an order in which the i-th bit position is selected as an auxiliary bit position, i = 0, 1, 2, …, N-1; determining K1 auxiliary bit positions from N bit positions according to the values of the bit positions in the first sequence, the K1 auxiliary bit positions being used to carry K1 auxiliary bits; determining N-E punctured bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence; determining the K1 auxiliary bits according to E-K1 information bits, and encoding to obtain the shaped bit sequence; outputting the shaped bit sequence; wherein E, N, and K1 are integers greater than or equal to 0, and E is less than or equal to N.
2. The method of claim 1, wherein, The first sequence comprises a first bit position and a second bit position, the value of the first bit position is M1, and the value of the second bit position is M2, M1 and M2 are two integers in 0 to N-1; when M1 is less than M2, the first bit position precedes the second bit position in being selected as an auxiliary bit position.
3. The method of claim 2, wherein, determining K1 auxiliary bit positions from N bit positions according to the values of the bit positions in the first sequence, comprises: when the value of the i-th bit position is less than K1, determining the i-th bit position as an auxiliary bit position.
4. The method according to any one of claims 1 to 3, characterized in that, The N-E punctured bit positions at least comprise a third bit position and a fourth bit position, and the third bit position and the fourth bit position are spaced apart by (N / 2-1) bit positions.
5. The method according to any one of claims 1 to 4, characterized in that, The N-E punctured bit positions at least comprise a fifth bit position or a sixth bit position, and the fifth bit position and the sixth bit position are spaced apart by (N / 2-1) bit positions.
6. The method of claim 5, wherein, The fifth bit position is the first bit position, and the sixth bit position is the second bit position.
7. The method according to any one of claims 1 to 6, characterized in that, determining N-E punctured bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence, comprises: When the length E of the shaped bit sequence is even, if if i is less than N-E, then determining the i-th bit position as the punctured bit position; or When the length E of the shaped bit sequence is odd, if determining the i-th bit position as the puncturing bit position, and if or if i is greater than N-E, then determining the i-th bit position as the punctured bit position.
8. A method of de-probabilistic shaping, characterized in that, The method comprises: obtaining a first sequence corresponding to a first code rate, the first code rate being obtained according to a length E of a shaped bit sequence and a number K1 of auxiliary bits, a value of an i-th bit position in the first sequence being used to represent an order in which the i-th bit position is selected as an auxiliary bit position, i = 0, 1, 2, …, N-1; determining K1 auxiliary bit positions from N bit positions according to the values of the bit positions in the first sequence; determining N-E punctured bit positions from the N bit positions according to the length N of the first sequence and the length E of the shaped bit sequence; obtaining E-K1 information bits according to the shaped bit sequence, the K1 auxiliary bit positions, and the N-E punctured bit positions; Wherein, E, N, K1 are integers greater than or equal to 0, E is less than or equal to N.
9. The method of claim 8, wherein, The first sequence includes a first bit position and a second bit position, the first bit position has a value of M1, and the second bit position has a value of M2, M1 and M2 are two integers in 0 to N-1. When M1 is less than M2, the first bit position precedes the second bit position to be selected as an auxiliary bit position.
10. The method of claim 9, wherein, According to the value of each bit position in the first sequence, K1 auxiliary bit positions are determined from the N bit positions of the first sequence, including: When the value of the ith bit position is less than K1, the ith bit position is determined as an auxiliary bit position.
11. The method according to any one of claims 8 to 10, characterized in that, The N-E punctured bit positions include at least a third bit position and a fourth bit position, and the third bit position and the fourth bit position are separated by (N / 2-1) bit positions.
12. The method according to any one of claims 8 to 11, characterized in that, The N-E punctured bit positions include at least a fifth bit position or a sixth bit position, and the fifth bit position and the sixth bit position are separated by (N / 2-1) bit positions.
13. The method of claim 12, wherein, The fifth bit position is the first bit position, and the sixth bit position is the first bit position.
14. The method according to any one of claims 8 to 13, characterized in that, According to the length N of the first sequence and the length E of the shaped bit sequence, N-E punctured bit positions are determined from the N bit positions, including: When the length E of the shaped bit sequence is even, if If the value of the ith bit position is less than E, the ith bit position is determined as the punctured bit position; or, When the length E of the shaped bit sequence is odd, if determining the i-th bit position as the puncturing bit position, and if or If the value of the ith bit position is greater than E, the ith bit position is determined as the punctured bit position.
15. A communications device, characterized by The processor is configured to cause the communication device to perform the method of any one of claims 1 to 7; or, The processor is configured to cause the communication device to perform the method of any one of claims 8 to 14. The memory is configured to store the computer program or instructions.
16. The communication apparatus according to claim 15, wherein The communication system includes a first communication device and a second communication device; wherein the first communication device is configured to perform the method of any one of claims 1 to 7, and the second communication device is configured to perform the method of any one of claims 8 to 14.
17. A communication system, characterized by The storage medium stores a computer program, when part or all of the computer program is executed by a computer, 18. A computer-readable storage medium, characterized in that, The computer program is configured to cause the method of any one of claims 1 to 7 to be performed; or, The computer program is configured to cause the method of any one of claims 8 to 14 to be performed. When the computer reads and executes the computer program product, 19. A computer program product, characterised in that, The computer program is configured to cause the method of any one of claims 1 to 7 to be performed; or, The computer program is configured to cause the method of any one of claims 8 to 14 to be performed. The device includes a logic circuit and an input / output interface, the logic circuit is configured to be coupled with the input / output interface, and the logic circuit is configured to transmit data through the input / output interface, 20. A communications device, characterized by The device is configured to perform the method of any one of claims 1 to 7; or, The device is configured to perform the method of any one of claims 8 to 14. Including:
21. A chip system, characterized by a processor configured to execute computer programs or instructions in the memory, such that the chip system implements the method of any one of claims 1 to 7, or such that the chip system implements the method of any one of claims 8 to 14.
Citation Information
Patent Citations
Probabilistic shaping polarization code method and system based on sparse and dense transmission in FSO
CN113411135A
Coding and decoding method and communication device
CN115720124A
Communication method and device
CN117318878A
Two-stage scrambling for polar coded pdcch transmission
US20200228236A1