Polarization code coding method and device
Patent Information
- Application Number
- CN202380091660.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-05-17
- Filing Date
- 2023-09-28
- Publication Date
- 2025-09-12
AI Technical Summary
During the polarization coding process, the rate matching scheme based on natural order causes the bit sequence reliability sort to change, which easily forms 'bad points', thereby affecting the decoding performance.
By determining the threshold value and sub-sequence, the rate matching method of sequential punching or shortening is adopted to ensure the accuracy of information bits and avoid the occurrence of 'bad points', thereby improving the polarized coding encoding performance.
It realizes the avoidance of ‘bad points’ in polarized coding, and improves coding performance and accuracy.
Smart Images

Figure CN120642253A_ABST
Abstract
Description
Polar code encoding method and device
[0001] This application claims priority to Chinese patent application number PCT / CN2023 / 094701, filed with the Intellectual Property Office of the People's Republic of China on May 17, 2023, entitled "Polar Code Encoding Method and Apparatus," the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present application relates to the field of communications, and more particularly, to a method and apparatus for polar code encoding. Background Art
[0003] Polar code is the first channel coding scheme that can be rigorously proven to reach the Shannon channel capacity. It has the advantages of good decoding performance and low complexity. It has been adopted by the 3GPP. rd The 3GPP (3rd Generation Partnership Project) has determined it as the control channel coding scheme for uplink and downlink transmission in 5G enhanced mobile broadband (eMBB) scenarios.
[0004] During the construction of polar codes, when the polar code is not the same length as the mother code, a rate matching method must be determined. Based on this rate matching method and the reliability sequence, the positions of information bits and frozen bits are determined. Past research has led to various rate matching schemes proposed by both academia and industry. In rate matching schemes based on natural order (NAT), shortened and punctured bits are continuous, making implementation simple. However, this rate matching scheme changes the reliability order of the corresponding bit sequence. If polar codes are still constructed according to the pre-stored reliability sequence, decoding performance may be poor in some cases, and bad pixels may be easily formed.
[0005] Summary of the Invention
[0006] The present application provides a polar code encoding method and apparatus, which can improve encoding performance.
[0007] In a first aspect, a polar code encoding method is provided, which can be performed by a chip or chip system on a terminal device or network device. The method includes: determining a threshold value based on the length N of a first reliability sequence and the length M of a coded bit sequence, where N is a positive integer power of 2 and M is a positive integer; determining a first subsequence and a second subsequence based on a rate matching mode of the coded bit sequence and the first reliability sequence; determining K information bits corresponding to the coded bit sequence based on the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, where K is a positive integer less than M; and performing polar coding to obtain the coded bit sequence.
[0008] Based on the above technical solution, the K information bits corresponding to the coded bit sequence can be determined using the determined threshold value, the first subsequence, the second subsequence, and the first reliability sequence. During this coding process, a rate matching method using sequential puncturing or sequential shortening can still be used, which is simple to implement and can avoid bad pixels, thereby improving coding performance.
[0009] In combination with the first aspect, in some implementations of the first aspect, the rate matching method includes puncturing, shortening, or repetition.
[0010] In conjunction with the first aspect, in certain implementations of the first aspect, determining the threshold value based on the length N of the first reliability sequence and the length M of the coded bit sequence includes determining the threshold value based on a rate matching mode of the coded bit sequence, the length N of the first reliability sequence, and the length M of the coded bit sequence. This implementation improves the accuracy of information bits corresponding to the determined coded bit sequence, thereby improving the performance of polar code encoding.
[0011] In combination with the first aspect, in certain implementations of the first aspect, if M / (N / 2) is greater than or equal to a preset threshold, the threshold value is a first value; or, if M / (N / 2) is less than the preset threshold, the threshold value is a second value, wherein the preset threshold value is associated with the rate matching method.
[0012] In combination with the first aspect, in certain implementations of the first aspect, the first subsequence is associated with a reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is associated with a reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
[0013] In conjunction with the first aspect, in certain implementations of the first aspect, determining the first subsequence and the second subsequence based on the rate matching mode of the coded bit sequence and the first reliability sequence includes: when the rate matching mode includes puncturing, removing the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence to obtain the first subsequence, and the second subsequence is the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence; or, when the rate matching mode includes shortening, removing the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence to obtain the second subsequence, and the first subsequence is the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence. Removing the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence can be understood as removing bits with sequence numbers less than NM in the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence. Removing the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence can be understood as removing bits with sequence numbers greater than or equal to M in the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
[0014] In combination with the first aspect, in certain implementations of the first aspect, determining the first subsequence and the second subsequence based on the rate matching method of the coded bit sequence and the first reliability sequence includes: when the rate matching method includes puncturing, removing the first NM bits of the first reliability sequence to obtain the second reliability sequence; determining the first subsequence and the second subsequence based on the second reliability sequence; or, when the rate matching method includes shortening, removing the last NM bits of the first reliability sequence to obtain a third reliability sequence; and determining the first subsequence and the second subsequence based on the third reliability sequence.
[0015] In combination with the first aspect, in certain implementations of the first aspect, determining the K information bits corresponding to the coded bit sequence based on the threshold value, the first subsequence, the second subsequence, the rate matching method, and the first reliability sequence includes: if the i-th bit number from the end in the fourth reliability sequence is greater than or equal to the threshold value, determining the bit indicated by the j-th bit number from the end in the second subsequence as the information bit, 1≤i≤K, 1≤j≤K; or, if the i-th bit number from the end in the fourth reliability sequence is less than the threshold value, determining the bit indicated by the q-th bit number from the end in the first subsequence as the information bit, 1≤q≤K, wherein the fourth reliability sequence is obtained based on the rate matching method and the first reliability sequence, and when the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence.
[0016] In combination with the first aspect, in certain implementations of the first aspect, determining the K information bits corresponding to the coded bit sequence based on the threshold value, the first subsequence, the second subsequence, the rate matching method and the first reliability sequence includes: if the penultimate bit number in the fourth reliability sequence is greater than or equal to the threshold value, determining that the bit indicated by the penultimate bit number in the second subsequence is the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determining that the bit indicated by the second-to-last bit number in the second subsequence is the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than the threshold value, determining that the bit indicated by the penultimate bit number in the first subsequence is the second information bit.
[0017] In combination with the first aspect, in certain implementations of the first aspect, determining the K information bits corresponding to the coded bit sequence based on the threshold value, the first subsequence, the second subsequence, the rate matching method and the first reliability sequence includes: if the penultimate bit number in the fourth reliability sequence is less than the threshold value, determining that the bit indicated by the penultimate bit number in the first subsequence is the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determining that the bit indicated by the penultimate bit number in the second subsequence is the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than the threshold value, determining that the bit indicated by the second-to-last bit number in the first subsequence is the second information bit.
[0018] With reference to the first aspect, in certain implementations of the first aspect, performing polar coding based on the K information bits to obtain the coded bit sequence includes: performing polar coding based on the K information bits to obtain a polar coding result; and performing rate matching based on the polar coding result to obtain the coded bit sequence.
[0019] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: determining the rate matching method based on at least two of the length N of the first reliability sequence, the length M of the coding bit sequence, and the length K of the information bits corresponding to the coding bit sequence.
[0020] In a second aspect, a communications device is provided. The device can be applied to a terminal device or a network device. The device includes: a processing module, configured to determine a threshold value based on a length N of a first reliability sequence and a length M of a coded bit sequence, where N is a positive integer power of 2 and M is a positive integer; the processing module is further configured to determine a first subsequence and a second subsequence based on a rate matching mode of the coded bit sequence and the first reliability sequence; the processing module is further configured to determine K information bits corresponding to the coded bit sequence based on the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, where K is a positive integer less than M; and a coding module, configured to perform polar coding to obtain the coded bit sequence.
[0021] In combination with the second aspect, in some implementations of the second aspect, the rate matching method includes puncturing, shortening, or repetition.
[0022] In combination with the second aspect, in some implementations of the second aspect, the processing module is specifically used to determine the threshold value based on the rate matching method of the coding bit sequence, the length N of the first reliability sequence and the length M of the coding bit sequence.
[0023] In combination with the second aspect, in certain implementations of the second aspect, if M / (N / 2) is greater than or equal to a preset threshold, the threshold value is a first value; or, if M / (N / 2) is less than the preset threshold, the threshold value is a second value, wherein the preset threshold value is associated with the rate matching method.
[0024] In combination with the second aspect, in certain implementations of the second aspect, the first subsequence is associated with a reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is associated with a reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
[0025] In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: when the rate matching method includes puncturing, remove the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence to obtain the first subsequence, and the second subsequence is the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence; or, when the rate matching method includes shortening, remove the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence to obtain the second subsequence, and the first subsequence is the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence.
[0026] In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: when the rate matching method includes puncturing, remove the first NM bits of the first reliability sequence to obtain a second reliability sequence; determine the first subsequence and the second subsequence based on the second reliability sequence; or, when the rate matching method includes shortening, remove the last NM bits of the first reliability sequence to obtain a third reliability sequence; determine the first subsequence and the second subsequence based on the third reliability sequence.
[0027] In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: if the i-th last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the j-th last bit number in the second subsequence is the information bit, 1≤i≤K, 1≤j≤K; or, if the i-th last bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the q-th last bit number in the first subsequence is the information bit, 1≤q≤K, wherein the fourth reliability sequence is obtained according to the rate matching method and the first reliability sequence, when the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence.
[0028] In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: if the penultimate bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the penultimate bit number in the second subsequence is the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the second-to-last bit number in the second subsequence is the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the penultimate bit number in the first subsequence is the second information bit.
[0029] In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: if the penultimate bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the penultimate bit number in the first subsequence is the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the penultimate bit number in the second subsequence is the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the second-to-last bit number in the first subsequence is the second information bit.
[0030] In combination with the second aspect, in certain implementations of the second aspect, the encoding module is specifically configured to: perform polarization coding based on the K information bits to obtain a polarization coding result; and perform rate matching based on the polarization coding result to obtain the coded bit sequence.
[0031] In combination with the second aspect, in certain implementations of the second aspect, the processing module is further used to determine the rate matching method based on at least two of the length N of the first reliability sequence, the length M of the coding bit sequence, and the length K of the information bit corresponding to the coding bit sequence.
[0032] In a third aspect, a communication device is provided, comprising: a processor and a memory, wherein the memory is used to store a computer program, and the processor is used to execute part or all of the computer program stored in the memory, so that the method in the above-mentioned first aspect and any possible implementation of the first aspect is executed.
[0033] In a fourth aspect, a communication device is provided, comprising: an input and output interface and a logic circuit, wherein the input and output interface is used to obtain input information and / or output information; the logic circuit is used to execute the method described in the first aspect and any possible implementation of the first aspect, and process and / or generate output information based on the input information.
[0034] In a fifth aspect, a computer-readable storage medium is provided, wherein the computer-readable medium stores a computer program; when the computer program runs on a computer, the method in the above-mentioned first aspect and any possible implementation of the first aspect is executed.
[0035] In a sixth aspect, a computer program product comprising instructions is provided, wherein when the instructions are executed by a computer, a communication device implements the method in the above-mentioned first aspect and any possible implementation manner of the first aspect.
[0036] The solutions provided in the second to sixth aspects are used to implement or cooperate with the method provided in the first aspect, and therefore can achieve the same or corresponding beneficial effects as the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] FIG1 is a schematic diagram of the communication flow of a communication system.
[0038] FIG2 is a schematic diagram of a network architecture applicable to an embodiment of the present application.
[0039] FIG3 is a schematic diagram of encoding of a polar code with a length of 8. FIG.
[0040] FIG4 is a schematic diagram showing a performance comparison between a polar code constructed based on a new radio (NR) sequence and a polar code constructed based on a Gaussian approximate (GA) sequence when natural order rate matching is performed.
[0041] FIG5 is a schematic flowchart of a polar code encoding method according to an embodiment of the present application.
[0042] FIG6 is a schematic diagram of performance simulation corresponding to the construction scheme provided in an embodiment of the present application and the rate matching scheme based on Gaussian approximation reconstruction when natural order rate matching is adopted.
[0043] FIG7 is a schematic block diagram of a communication device according to an embodiment of the present application.
[0044] FIG8 is a schematic block diagram of another communication device according to an embodiment of the present application. DETAILED DESCRIPTION
[0045] The technical solution in this application will be described below with reference to the accompanying drawings.
[0046] The embodiments of the present application can be applied to various communication systems, such as wireless local area network (WLAN), band-internet of things (IoT), long term evolution (LTE), satellite communication, sidelink (SL), fourth generation (4G) communication system, fifth generation (5G) communication system, or new communication systems that will appear in the future. In the communication system, including communication equipment, the communication equipment can use air interface resources for wireless communication. Among them, the communication equipment can include network equipment and terminal equipment, and the network equipment can also be called base station equipment.
[0047] The terminal devices involved in the embodiments of the present application may include various handheld devices, vehicle-mounted devices, wearable devices, computing devices, or other processing devices connected to a wireless modem with wireless communication functions. The terminal may be a subscriber unit, user equipment (UE), a cellular phone, a smart phone, a wireless data card, a personal digital assistant (PDA), a tablet computer, a wireless modem (modulator demodulator, modem), a laptop computer, a machine type communication (MTC) terminal, and a wireless terminal in a self-driving vehicle. Among them, the user equipment includes a vehicle user equipment. With the rise of the Internet of Things (IoT) technology, more and more devices that did not previously have communication functions, such as but not limited to household appliances, vehicles, tools and equipment, service equipment, and service facilities, have begun to obtain wireless communication functions by configuring wireless communication units, so that they can access wireless communication networks and accept remote control. Such devices have wireless communication functions because they are configured with wireless communication units, and therefore also fall into the category of wireless communication devices. In addition, the terminal device can also be called a mobile station (MS), a mobile device, a mobile terminal, a wireless terminal, a handheld device (handset), a client, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in a smart city, a wireless terminal in a smart home, etc.
[0048] In the embodiments of the present application, the device for implementing the function of the technical solution can be a terminal device; it can also be a chip system that can support the terminal device to implement the function, and the device can be installed in the terminal device, such as a system on chip (SoC) or a modem. In the embodiments of the present application, the chip system can be composed of a chip, or it can include a chip and other discrete devices. In this application, the technical solution provided by the embodiments of the present application is described by taking the terminal device as a user equipment UE as an example.
[0049] Exemplarily, the network device may be an access network device, an evolved Node B (eNB), a radio network controller (RNC), a Node B (NB), a base station controller (BSC), a base transceiver station (BTS), a home evolved NodeB (or home Node B, HNB), a baseband unit (BBU), a device that performs base station functions in device to device (D2D), an access point (AP) in a wireless fidelity (WIFI) system, a wireless relay node, a wireless backhaul node, a transmission point (TP) or a transmission and reception point (TRP), etc. It may also be a gNB or a transmission point (e.g., TRP or TP) in NR, one or a group (including multiple) antenna panels of a base station in NR, or a network node constituting a gNB or a transmission point, such as a baseband unit (BBU) or a distributed unit (D2D). The network device may also be a vehicle-mounted device, a wearable device, a network device in a 6G network, a network device in a future evolved PLMN network, or a network device deployed on a satellite, without limitation. In addition, depending on the size of the service coverage area provided, a base station (BS) can be divided into a macro base station for providing macro cells, a micro base station for providing micro cells (pico cells), a femto base station for providing femto cells, a relay station, and an access point. With the continuous evolution of wireless communication technology, future base stations may also adopt other names.
[0050] The product forms of network equipment are very rich. For example, during the product implementation process, the BBU can be integrated with the radio frequency unit (RFU) in the same device, and the device is connected to the antenna array via a cable (such as but not limited to a feeder). The BBU can also be set separately from the RFU, and the two are connected by optical fiber, and communicate through, for example, but not limited to, the common public radio interface (CPRI) protocol. In this case, the RFU is usually called a remote radio unit (RRU), which is connected to the antenna array via a cable. In addition, the RRU can also be integrated with the antenna array. For example, the active antenna unit (AAU) products currently on the market adopt this structure.
[0051] Furthermore, the BBU can be further broken down into multiple components. For example, the BBU can be further subdivided into a centralized unit (CU) and a distributed unit (DU) based on the real-time nature of the services it handles. The CU handles non-real-time protocols and services, while the DU handles physical layer protocols and real-time services. Furthermore, some physical layer functions can be separated from the BBU or DU and integrated into the AAU.
[0052] Similar to the implementation of a terminal device, the device used to implement the functions of the technical solution can be a network device; it can also be a chip system that supports the network device to implement the functions, and the device can be installed in the network device, such as a system-on-chip (SoC) or a modem. In the embodiments of the present application, the chip system can be composed of a chip or include a chip and other discrete components.
[0053] The embodiments of the present application can be implemented using an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or program code in software / memory. In the communication process of a communication system, the embodiments of the present application primarily involve source coding, channel coding, channel decoding, and source recovery. Figure 1 is a schematic diagram of the communication process of a communication system.
[0054] Figure 2 is a schematic diagram of a network architecture applicable to an embodiment of the present application. The network architecture includes network devices and terminal devices. The network devices can transmit data or control information to the terminal devices, and the terminal devices can also transmit data or control information to the network devices. The network devices in the embodiment of the present application can be base stations.
[0055] To facilitate understanding of the embodiments of the present application, the following briefly introduces technical solutions related to polar codes.
[0056] Polar code is the first channel coding scheme that can be rigorously proven to achieve the Shannon channel capacity. It has the advantages of good decoding performance and low complexity. It has been identified by 3GPP as the control channel coding scheme for uplink and downlink transmission in 5G eMBB scenarios.
[0057] Figure 3 is a schematic diagram of the encoding of a polar code with a length of 8. The encoding process includes several polarization kernel operations, each of which combines two input bits with Multiplying them yields two output bits. Polar codes are recursively constructed. A polar code of length 8 can be viewed as two polar codes of length 4 coupled via four polarization kernels of length 2. Each polar code of length 4 can be viewed as two polar codes of length 2 coupled via two polarization kernels of length 2. Polar codes whose code length is an integer power of 2, such as code lengths of 4, 8, 16, 32, or 64, are typically referred to as mother-code-length polar codes.
[0058] In the process of constructing polar codes, two goals need to be achieved: first, when the polar code is not the mother code length, determine the rate matching method; second, based on the rate matching method and the reliability sequence, determine the positions of information bits and frozen bits.
[0059] 1. Rate matching method
[0060] In practical applications, the required polar code length M is not necessarily an integer power of 2. This is often referred to as a polar code with a length not equal to the mother code. In this case, some bits need to be removed from the mother code and not transmitted. This process is often called rate matching. Rate matching methods fall into the following two categories.
[0061] (1) Puncture: Puncturing refers to directly puncturing certain positions of the polar code of the mother code length without sending them. This method generates a polar code-encoded bit sequence of any length. On the decoding side, since the corresponding "punctured" positions do not contain any information, the log likelihood ratio (LLR) of the bits at the corresponding positions is set to 0.
[0062] (2) Shortening: Shortening is another common rate matching method. This method designs the polar code so that certain positions in the encoded bit sequence have fixed values, which do not need to be transmitted. On the decoding side, since the fixed values of the "shortened" positions are known to the receiver (usually 0), the LLR of the bits at the corresponding positions is set to infinity.
[0063] 2. Determination of the position of information bits and frozen bits
[0064] Bits with higher reliability are set as information bits (data), and bits with lower reliability are set as frozen bits (frozen). The value of the frozen bit is usually set to 0 and is known to both the sender and receiver in actual transmission. 5GNR uses a reliability sequence to determine the position of the frozen bits and information bits of the polar code. For example, when the bit sequence occupies 8 bits, the 8 bits are represented from left to right as μ0, μ1, μ2, μ3, μ4, μ5, μ6, and μ7. If the reliability sequence, sorted from low reliability to high reliability, is [0, 1, 2, 4, 3, 5, 6, 7], then μ7 has the highest reliability and μ6 has the second highest reliability. When the constructed code length is 8 and the information bits are 4 bits, μ7, μ6, μ5, and μ3 are selected from the back to the front according to the reliability sequence as information bits, and μ4, μ2, μ1, and μ0 are frozen bits. Among them, the frozen bits can be called fixed bits.
[0065] Since the rate matching process affects the reliability ranking of polar codes, the rate matching and the position determination of information bits and frozen bits are actually strongly coupled.
[0066] 3. Rate matching scheme based on natural order
[0067] The inventors have studied various currently known rate matching schemes, including a rate matching scheme based on natural order, and the rate matching scheme based on natural order is the simplest to implement.
[0068] A natural order-based rate matching scheme involves continuously puncturing or shortening the bit sequence corresponding to the polar code in natural order. Taking puncturing as an example, when constructing a polar code of length 6, a polar code of length 8 is first constructed, and then the first two bits are punctured. When constructing a polar code of length 5, a polar code of length 8 is first constructed, and then the first three bits are punctured. Using a shortened rate matching method, when constructing a polar code of length 7, a polar code of length 8 is first constructed, and then u7 is preset to 0, so that x7 in the encoded bit sequence is 0. x7 is the result of polarization encoding u7. When constructing a polar code of length 6, a polar code of length 8 is first constructed, and then u6 and u7 are preset to 0. x6 and x7 in the encoded bit sequence are 0. x6 is the result of polarization encoding u6.
[0069] In a rate matching scheme based on natural order, both shortened bits and puncture bits are continuous, making implementation simple. However, a rate matching scheme based on natural order causes the reliability ordering of the bit sequence to change. If the polar code is still constructed according to the pre-stored reliability sequence, the decoding performance may be poor in some cases, and bad pixels may be easily formed. A "bad pixel" can be understood as a point where the signal-to-noise ratio (SNR) required to achieve the same transmission performance suddenly increases. Figure 4 is a performance comparison diagram of a polar code constructed based on an NR sequence and a polar code constructed based on a Gaussian approximation when rate matching is performed in natural order; the horizontal axis represents the length K of the information bit, and the vertical axis represents the signal-to-noise ratio SNR.
[0070] This embodiment of the present application provides a polar code encoding method that can avoid bad pixels, thereby improving encoding performance. Figure 5 is a schematic flow chart of a polar code encoding method 500 according to an embodiment of the present application. The polar code encoding method provided in this embodiment of the present application can be executed by a terminal device or a network device, such as a base station.
[0071] 510. Determine a threshold value based on the length N of the first reliability sequence and the length M of the coded bit sequence. The threshold value is used to determine K information bits corresponding to the coded bit sequence. Where N is a positive integer power of 2, M is a positive integer, and K is a positive integer less than M. N is the mother code length, and M is the length after rate matching.
[0072] Optionally, according to at least two of the length N of the first reliability sequence, the length M of the coded bit sequence, and the length K of the information bits corresponding to the coded bit sequence, determine the rate matching method of the coded bit sequence. Exemplarily, the rate matching method includes puncturing, shortening, or repeating. If M > N, the rate matching method of the coded bit sequence is repeating; if M < N and K / M ≤ 7 / 16, the rate matching method of the coded bit sequence is puncturing; if M < N and K / M > 7 / 16, the rate matching method of the coded bit sequence is shortening.
[0073] Optionally, according to the rate matching method of the coded bit sequence, the length N of the first reliability sequence, and the length M of the coded bit sequence, determine the threshold value. Compared with determining the threshold value according to the length N of the first reliability sequence and the length M of the coded bit sequence, this optional scheme can improve the accuracy of the information bits corresponding to the determined coded bit sequence, thereby improving the performance of polar code coding. For example, when the rate matching method is repeating, M > N, and the threshold value is N / 2.
[0074] Exemplarily, if M / (N / 2) is greater than or equal to a preset threshold value, the threshold value is a first value. The preset threshold value is associated with the rate matching method of the coded bit sequence, and the rate matching method includes puncturing or shortening; if M / (N / 2) is less than the preset threshold value, the threshold value is a second value. Here, the threshold value can be represented by T.
[0075] For example, when the rate matching method is puncturing, the value of the preset threshold can be 1.15, 1.125, 1.25, 1.375, or 1.625; among them, the value of the preset threshold is different when the modulation method of the data to be transmitted is different. In the case where the rate matching method is puncturing, when the modulation method is quadrature phase shift keying (QPSK), the value of the preset threshold can be 1.15; when the modulation method is quadrature amplitude modulation (QAM) 16, the value of the preset threshold can be 1.125; when the modulation method is QAM64, the value of the preset threshold can be 1.25; when the modulation method is QAM256, the value of the preset threshold can be 1.375; when the modulation method is QAM1024, the value of the preset threshold can be 1.625.
[0076] When the rate matching method is puncturing and the preset threshold value is 1.15, if M / (N / 2) is greater than or equal to 1.15, the threshold value T = N / 2, and the first value is N / 2; if M / (N / 2) is less than 1.15, the threshold value T = floor(31 / 64N), and the second value is floor(31 / 64N). Floor(31 / 64N) represents the largest integer less than or equal to 31 / 64N.
[0077] For another example, when the rate matching mode is shortened, the preset threshold value may be 1.50, 1.375, or 1.625; wherein, the preset threshold value varies depending on the communication scenario. When the rate matching mode is shortened, when the communication scenario is an eMBB scenario, the preset threshold value may be 1.50; when the communication scenario is an ultra-reliable and low latency communications (uRLLC) scenario, the preset threshold value may be 1.375; and when the communication scenario is a massive machine type of communication (mMTC) scenario, the preset threshold value may be 1.625.
[0078] When the rate matching mode is shortening and the preset threshold value is 1.50, if M / (N / 2) is greater than or equal to 1.50, the threshold value T = N / 2, and the first value is N / 2; if M / (N / 2) is less than 1.50, the threshold value T = floor(31 / 64N), and the second value is floor(31 / 64N).
[0079] Exemplarily, the pseudo code for determining the threshold value T is as follows:
[0080] Optionally, before determining the threshold value, the mother code length N is determined based on the length M of the coded bit sequence and the length K of the information bits corresponding to the coded bit sequence. The specific process is as follows:
[0081] (1) Determine N0, which is the smallest integer power of 2 greater than or equal to M. For example, if M = 252, then N0 = 256; for another example, if M = 5, then N0 = 8;
[0082] (2) Calculate n1. If K / M < 9 / 16 and M < (1 + 1 / 8) * N0 / 2, then n1 = log2(N0) - 1; otherwise, n1 = log2(N0);
[0083] (3) Calculate n2, Among them, R min =1 / 8, R minIndicates the minimum supported bit rate;
[0084] (4) Calculate n, n = max{min{n1, n2, n max}, n min}, where the minimum mother code length is 2 nmin , the maximum mother code length is 2 nmax , n min =5, n for uplink transmission max =10, n for downlink transmission max =5;
[0085] (5) Obtain mother code length N according to n, N = 2 n .
[0086] 520. Determine a first subsequence and a second subsequence according to the rate matching mode of the coded bit sequence and the first reliability sequence, where the first subsequence and the second subsequence are used to determine K information bits corresponding to the coded bit sequence.
[0087] Optionally, the first subsequence is associated with the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is associated with the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence. When the sequence numbers in the first reliability sequence are 0 to N-1, the first N / 2 bits can be understood as the bits in the first reliability sequence with sequence numbers less than N / 2; the last N / 2 bits can be understood as the bits in the first reliability sequence with sequence numbers greater than or equal to N / 2.
[0088] Exemplarily, when the rate matching method includes puncturing, the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence are removed to obtain a first subsequence, and the second subsequence is the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence. It can be understood that when the rate matching method is puncturing, the reliability sequence corresponding to the first N / 2 bits is determined based on the first reliability sequence, and the first NM bits of the reliability sequence corresponding to the first N / 2 bits are removed to obtain the first subsequence; the reliability sequence corresponding to the last N / 2 bits is determined based on the first reliability sequence to obtain the second subsequence. When the sequence numbers in the first reliability sequence are 0 to N-1, the first NM bits can be understood as the bits in the first reliability sequence with sequence numbers less than NM. Removing the first NM bits of the reliability sequence corresponding to the first N / 2 bits can be understood as removing the bits in the reliability sequence corresponding to the first N / 2 bits with sequence numbers less than NM.
[0089] Exemplarily, when the rate matching method includes shortening, the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence are removed to obtain a second subsequence, and the first subsequence is the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence. It can be understood that when the rate matching method is shortening, the reliability sequence corresponding to the last N / 2 bits is determined based on the first reliability sequence, and the last NM bits of the reliability sequence corresponding to the last N / 2 bits are removed to obtain the second subsequence; the reliability sequence corresponding to the first N / 2 bits is determined based on the first reliability sequence to obtain the first subsequence. Among them, removing the last NM bits of the reliability sequence corresponding to the last N / 2 bits can be understood as removing the bits with sequence numbers greater than or equal to M in the reliability sequence corresponding to the last N / 2 bits. In the present application, the transmitting end can still adopt a rate matching method of sequential puncturing or sequential shortening, which is simple to implement and can avoid bad pixels, thereby improving coding performance.
[0090] Exemplarily, when the rate matching mode includes repetition, the first subsequence is a reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is a reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
[0091] For example, if N = 16, M = 12, and the first reliability sequence is [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15], then the reliability sequence corresponding to the first N / 2 bits is [0, 1, 2, 4, 3, 5, 6, 7], and the reliability sequence corresponding to the last N / 2 bits is [8, 9, 10, 12, 11, 13, 14, 15]. When the rate matching mode is puncturing, the first 4 bits of [0, 1, 2, 4, 3, 5, 6, 7] are removed, resulting in the first subsequence being [4, 5, 6, 7] and the second subsequence being [8, 9, 10, 12, 11, 13, 14, 15]. When the rate matching mode is shortened, the last four bits of [8, 9, 10, 12, 11, 13, 14, 15] are removed, resulting in a second subsequence of [8, 9, 10, 11] and a first subsequence of [0, 1, 2, 4, 3, 5, 6, 7]. When the rate matching mode is repeated, the first subsequence is [0, 1, 2, 4, 3, 5, 6, 7] and a second subsequence of [8, 9, 10, 12, 11, 13, 14, 15].
[0092] Exemplarily, when the rate matching method includes puncturing, the first NM bits in the first reliability sequence are removed to obtain a second reliability sequence; based on the second reliability sequence, a first subsequence and a second subsequence are determined; exemplarily, the reliability sequence corresponding to the first MN / 2 bits of the second reliability sequence is determined to be the first subsequence, and the reliability sequence corresponding to the last N / 2 bits of the second reliability sequence is determined to be the second subsequence. For example, N=16, M=12, and the first reliability sequence is [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]. When the rate matching mode includes puncturing, the first 4 bits of the first reliability sequence are removed to obtain a second reliability sequence of [4, 8, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]. The reliability sequence [4, 5, 6, 7] corresponding to the first MN / 2 bits of the second reliability sequence is determined as the first subsequence, and the reliability sequence [8, 9, 10, 12, 11, 13, 14, 15] corresponding to the last N / 2 bits of the second reliability sequence is determined as the second subsequence.
[0093] Exemplarily, when the rate matching method includes shortening, the last NM bits in the first reliability sequence are removed to obtain a third reliability sequence; based on the third reliability sequence, the first subsequence and the second subsequence are determined; exemplarily, the reliability sequence corresponding to the first N / 2 bits of the third reliability sequence is determined as the first subsequence, and the reliability sequence corresponding to the last MN / 2 bits of the second reliability sequence is determined as the second subsequence. For example, N=16, M=12, and the first reliability sequence is [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]. When the rate matching mode includes shortening, the last 4 bits of the first reliability sequence are removed to obtain a third reliability sequence of [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 7, 11]. The reliability sequence [0, 1, 2, 4, 3, 5, 6, 7] corresponding to the first N / 2 bits of the third reliability sequence is determined as the first subsequence, and the reliability sequence [8, 9, 10, 11] corresponding to the last MN / 2 bits of the third reliability sequence is determined as the second subsequence.
[0094] 530. Determine K information bits corresponding to the coded bit sequence according to the threshold value, the first subsequence, the second subsequence, the rate matching mode of the coded bit sequence, and the first reliability sequence.
[0095] Optionally, if the i-th bit number from the end in the fourth reliability sequence is greater than or equal to a threshold value, the bit indicated by the j-th bit number from the end in the second subsequence is determined to be an information bit, 1≤i≤K, 1≤j≤K; or, if the i-th bit number from the end in the fourth reliability sequence is less than a threshold value, the bit indicated by the q-th bit number from the end in the first subsequence is determined to be an information bit, 1≤q≤K, wherein the fourth reliability sequence is obtained based on the rate matching method and the first reliability sequence, and when the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence. The i-th bit number from the end can be understood as the bit number indicated by the i-th position from the end.
[0096] Exemplarily, if the last bit number in the fourth reliability sequence is greater than or equal to the threshold value, the bit indicated by the last bit number in the second subsequence is determined to be the first information bit; if the second to last bit number in the fourth reliability sequence is greater than or equal to the threshold value, the bit indicated by the second to last bit number in the second subsequence is determined to be the second information bit; or, if the second to last bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the last bit number in the first subsequence is determined to be the second information bit, until K information bits are determined.
[0097] Exemplarily, if the penultimate bit number in the fourth reliability sequence is less than a threshold value, the bit indicated by the penultimate bit number in the first subsequence is determined to be the first information bit; if the penultimate bit number in the fourth reliability sequence is greater than or equal to the threshold value, the bit indicated by the penultimate bit number in the second subsequence is determined to be the second information bit; or, if the penultimate bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the penultimate bit number in the first subsequence is determined to be the second information bit, until K information bits are determined.
[0098] For example, when N = 16, M = 12, and K = 4, the first reliability sequence is [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]; since M < N and K / M ≤ 7 / 16, the rate matching method is determined to be puncturing; since M / (N / 2) is greater than or equal to 1.15, the threshold T = N / 2 = 8 is determined; the first 4 bit positions of the first reliability sequence are removed, and the fourth reliability sequence (the second reliability sequence) obtained is [4, 8, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]; the first subsequence is determined to be [4, 5, 6, 7], and the second subsequence is determined to be [8, 9, 10, 12, 11, 13, 14, 15]. The process of determining the 4 information bits corresponding to the coded bit sequence based on the threshold, the first subsequence, the second subsequence, and the fourth reliability sequence is as follows:
[0099] (1) The bit position number indicated by the last position in the fourth reliability sequence (or the reliability ranking of this bit position) 15 is greater than the threshold 8, so the bit 15 indicated by the last bit position number in the second subsequence is determined to be the first information bit;
[0100] (2) The bit position number 14 indicated by the second-to-last position in the fourth reliability sequence is greater than or equal to the threshold 8, so the bit 14 indicated by the second-to-last bit position number in the second subsequence is determined to be the second information bit;
[0101] (3) The bit position number 13 indicated by the third-to-last position in the fourth reliability sequence is greater than or equal to the threshold 8, so the bit 13 indicated by the third-to-last bit position number in the second subsequence is determined to be the third information bit;
[0102] (4) The bit position number 11 indicated by the fourth-to-last position in the fourth reliability sequence is greater than or equal to the threshold 8, so the bit 11 indicated by the fourth-to-last bit position number in the second subsequence is determined to be the fourth information bit.
[0103] Optionally, if the bit position number of the i-th bit from the end in the fourth reliability sequence is greater than the threshold, then the bit indicated by the j-th bit position number from the end in the second subsequence is determined to be the information bit, where 1 ≤ i ≤ K and |1 ≤ j ≤ K|; or, if the bit position number of the i-th bit from the end in the fourth reliability sequence is less than or equal to the threshold, then the bit indicated by the q-th bit position number from the end in the first subsequence is determined to be the information bit, where 1 ≤ q ≤ K. Here, the fourth reliability sequence is obtained based on the rate matching method and the first reliability sequence. When the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence.
[0104] Exemplarily, if the last bit number in the fourth reliability sequence is greater than the threshold value, the bit indicated by the last bit number in the second subsequence is determined to be the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than the threshold value, the bit indicated by the second-to-last bit number in the second subsequence is determined to be the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than or equal to the threshold value, the bit indicated by the last bit number in the first subsequence is determined to be the second information bit, until K information bits are determined.
[0105] Exemplarily, if the penultimate bit number in the fourth reliability sequence is less than or equal to the threshold value, the bit indicated by the penultimate bit number in the first subsequence is determined to be the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than the threshold value, the bit indicated by the penultimate bit number in the second subsequence is determined to be the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than or equal to the threshold value, the bit indicated by the second-to-last bit number in the first subsequence is determined to be the second information bit, until K information bits are determined.
[0106] Exemplarily, a pseudo code for determining K information bits corresponding to the coded bit sequence according to the threshold value, the first subsequence, the second subsequence, and the fourth reliability sequence is as follows:
[0107] in, represents the fourth reliability sequence; represents the first subsequence, i1 represents the index of the sequence number in the first subsequence; represents the second subsequence, i2 represents the index of the sequence number in the second subsequence; Represents a collection of information bits; Represents a set of frozen bits; Indicates adding one bit to the information bit set according to the first subsequence; Indicates adding one bit to the information bit set according to the second subsequence.
[0108] The first reliability sequence and the fourth reliability sequence are sorted from low reliability to high reliability. Optionally, the first reliability sequence and the fourth reliability sequence can also be sorted from high reliability to low reliability. Optionally, in the case where the fourth reliability sequence is sorted from high reliability to low reliability, if the i-th bit sequence number in the fourth reliability sequence is greater than or equal to the threshold value, then the bit indicated by the j-th bit sequence number in the second subsequence is determined to be the information bit, 1≤i≤K, 1≤j≤K; or, if the i-th bit sequence number in the fourth reliability sequence is less than the threshold value, then the bit indicated by the q-th bit sequence number in the first subsequence is determined to be the information bit, 1≤q≤K.
[0109] Exemplarily, if the first bit number in the fourth reliability sequence is greater than or equal to the threshold value, the bit indicated by the first bit number in the second subsequence is determined to be the first information bit; if the second bit number in the fourth reliability sequence is greater than or equal to the threshold value, the bit indicated by the second bit number in the second subsequence is determined to be the second information bit; or, if the second bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the first bit number in the first subsequence is determined to be the second information bit, until K information bits are determined.
[0110] Exemplarily, if the first bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the first bit number in the first subsequence is determined to be the first information bit; if the second bit number in the fourth reliability sequence is greater than or equal to the threshold value, the bit indicated by the first bit number in the second subsequence is determined to be the second information bit; or, if the second bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the second bit number in the first subsequence is determined to be the second information bit, until K information bits are determined.
[0111] 540. Perform polarization coding to obtain the coded bit sequence. Specifically, perform polarization coding based on the K information bits to obtain the coded bit sequence. Optionally, perform polarization coding based on the K information bits to obtain a polarization coding result; and perform rate matching based on the polarization coding result to obtain the coded bit sequence.
[0112] Exemplarily, after K information bits are determined, the remaining NK bits are set as frozen bits. Polar coding is performed on the information bits and frozen bits to obtain a polar coding result of length N. When the rate matching mode is puncturing, the coded bits corresponding to the first NM bits of the polar coding result of length N are removed to obtain a coded bit sequence of length M. When the rate matching mode is shortening, the coded bits corresponding to the last NM bits of the polar coding result of length N are removed to obtain a coded bit sequence of length M. When the rate matching mode is repetition, the last coded bit in the polar coding result of length N is repeated MN times to obtain a coded bit sequence of length M.
[0113] Optionally, after obtaining a coded bit sequence using the technical solution provided in this application, the transmitting end sends the coded bit sequence to the receiving end; correspondingly, the receiving end receives the coded bit sequence from the transmitting end and performs polarization decoding on the coded bit sequence; wherein, the transmitting end may be a terminal device, and the receiving end may be a network device; or, the transmitting end may be a network device, and the receiving end may be a terminal device.
[0114] Figure 6 shows a performance simulation diagram of the construction scheme provided in an embodiment of the present application and a rate matching scheme based on Gaussian approximation reconstruction, respectively, when natural order rate matching is employed. In the figure, the horizontal axis represents the information bit length K, and the vertical axis represents the signal-to-noise ratio (SNR); the "proposed method" refers to the construction scheme provided in an embodiment of the present application. The online calculation scheme based on Gaussian approximation has a high implementation complexity in practical applications, but can be used as a theoretical upper bound for performance. The construction scheme in an embodiment of the present application, however, does not require online calculation and is simple to implement. It can reduce the implementation complexity of polar code encoding while ensuring coding performance.
[0115] The above describes the data transmission method provided by the embodiments of the present application. The following describes an execution entity for executing the polar code encoding method.
[0116] FIG7 is a schematic block diagram of a communication device 700 according to an embodiment of the present application. The device can be applied to or deployed in a terminal device or network device according to an embodiment of the present application. The communication device 700 includes:
[0117] A processing module 710 is configured to determine a threshold value according to a length N of the first reliability sequence and a length M of the coded bit sequence, where N is a positive integer power of 2 and M is a positive integer;
[0118] The processing module 710 is further configured to determine a first subsequence and a second subsequence according to the rate matching mode of the coded bit sequence and the first reliability sequence;
[0119] The processing module 710 is further configured to determine K information bits corresponding to the coded bit sequence according to the threshold, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, where K is a positive integer less than M;
[0120] The encoding module 720 is configured to perform polar coding to obtain the coded bit sequence.
[0121] Optionally, the communication device 700 further includes: an input-output module 730, configured to: obtain information to be encoded; and output the encoded bit sequence.
[0122] Optionally, the rate matching method includes puncturing, shortening, or repetition.
[0123] Optionally, the processing module 710 is specifically configured to determine the threshold value according to a rate matching mode of the coded bit sequence, a length N of the first reliability sequence, and a length M of the coded bit sequence.
[0124] Optionally, if M / (N / 2) is greater than or equal to a preset threshold, the threshold value is a first value; or, if M / (N / 2) is less than the preset threshold, the threshold value is a second value, wherein the preset threshold value is associated with the rate matching method.
[0125] Optionally, the first subsequence is associated with a reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is associated with a reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
[0126] Optionally, the processing module 710 is specifically used to: when the rate matching method includes puncturing, remove the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence to obtain the first subsequence, and the second subsequence is the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence; or, when the rate matching method includes shortening, remove the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence to obtain the second subsequence, and the first subsequence is the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence.
[0127] Optionally, the processing module 710 is specifically configured to: when the rate matching mode includes puncturing, remove the first NM bits of the first reliability sequence to obtain a second reliability sequence; determine the first subsequence and the second subsequence based on the second reliability sequence; or,
[0128] When the rate matching mode includes shortening, the last NM bits of the first reliability sequence are removed to obtain a third reliability sequence; and the first subsequence and the second subsequence are determined based on the third reliability sequence.
[0129] Optionally, the processing module 710 is specifically used to: if the i-th last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the j-th last bit number in the second subsequence is the information bit, 1≤i≤K, 1≤j≤K; or, if the i-th last bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the q-th last bit number in the first subsequence is the information bit, 1≤q≤K, wherein the fourth reliability sequence is obtained according to the rate matching method and the first reliability sequence, when the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence.
[0130] Optionally, the processing module 710 is specifically used to: if the penultimate bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the penultimate bit number in the second subsequence is the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the second-to-last bit number in the second subsequence is the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the penultimate bit number in the first subsequence is the second information bit.
[0131] Optionally, the processing module 710 is specifically used to: if the penultimate bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the penultimate bit number in the first subsequence is the first information bit; if the second-to-last bit number in the fourth reliability sequence is greater than or equal to the threshold value, determine that the bit indicated by the penultimate bit number in the second subsequence is the second information bit; or, if the second-to-last bit number in the fourth reliability sequence is less than the threshold value, determine that the bit indicated by the second-to-last bit number in the first subsequence is the second information bit.
[0132] Optionally, the encoding module 720 is specifically configured to: perform polarization coding based on the K information bits to obtain a polarization coding result; and perform rate matching based on the polarization coding result to obtain the coded bit sequence.
[0133] Optionally, the processing module 710 is further configured to determine the rate matching mode according to at least two of the length N of the first reliability sequence, the length M of the coded bit sequence, and the length K of information bits corresponding to the coded bit sequence.
[0134] FIG8 is a schematic block diagram of another communication device 800 according to an embodiment of the present application. The communication device 800 includes: a processor 810, a memory 820, and a communication interface 830;
[0135] The memory 820 is used to store computer programs;
[0136] The processor 810 is coupled to the memory 820 via the communication interface 830. The processor 810 is configured to call and execute part or all of the computer programs stored in the memory 820 to implement the method in the embodiment of the present application. The communication device can be applied to the first device or the second device in the embodiment of the present application. Optionally, the processor 810 and the memory 820 are integrated together.
[0137] The processor 810 described above may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above-described method embodiment may be completed by hardware integrated logic circuits in the processor or by software instructions. The processor described above may be a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The methods, steps, and logic block diagrams disclosed in the embodiments of this application may be implemented or executed. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application may be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in a memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above-described method.
[0138] Optionally, an embodiment of the present application also provides a communication device, which includes an input and output interface and a logic circuit, wherein the input and output interface is used to obtain input information and / or output information; the logic circuit is used to execute the method in any of the above method embodiments, and process and / or generate output information based on the input information.
[0139] The present application also provides a computer-readable storage medium on which a computer program for implementing the method in the above method embodiment is stored. When the computer program is run on a computer, the method in the above method embodiment is implemented.
[0140] An embodiment of the present application further provides a computer program product, which includes computer program code. When the computer program code runs on a computer, the method in the above method embodiment is executed.
[0141] An embodiment of the present application also provides a chip, including a processor, wherein the processor is connected to a memory, the memory is used to store computer programs, and the processor is used to execute the computer programs stored in the memory, so that the chip executes the method in the above method embodiment.
[0142] It should be understood that in the embodiments of the present application, the numbers "first", "second", etc. are only for distinguishing different objects, such as to distinguish different subsequences or numerical values, etc., and do not constitute a limitation on the scope of the embodiments of the present application. The embodiments of the present application are not limited to this.
[0143] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0144] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0145] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0146] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0147] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0148] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A polar code encoding method, characterized in that: include: Determine a threshold value according to a length N of the first reliability sequence and a length M of the coded bit sequence, wherein N is a positive integer power of 2 and M is a positive integer; Determining a first subsequence and a second subsequence according to a rate matching mode of the coded bit sequence and the first reliability sequence; Determine, according to the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, K information bits corresponding to the coded bit sequence, where K is a positive integer less than M; Polar coding is performed to obtain the coded bit sequence.
2. The method according to claim 1, characterized in that The rate matching method includes puncturing, shortening, or repetition.
3. The method according to claim 1 or 2, characterized in that: Determining a threshold value according to a length N of the first reliability sequence and a length M of the coded bit sequence includes: The threshold value is determined according to the rate matching mode of the coded bit sequence, the length N of the first reliability sequence and the length M of the coded bit sequence.
4. The method according to claim 3, characterized in that If M / (N / 2) is greater than or equal to a preset threshold, the threshold value is a first value; or, If M / (N / 2) is less than the preset threshold, the threshold value is a second value, wherein the preset threshold value is associated with the rate matching method.
5. The method according to any one of claims 1 to 4, characterized in that The first subsequence is associated with a reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is associated with a reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
6. The method according to any one of claims 1 to 5, characterized in that The determining, according to the rate matching mode of the coded bit sequence and the first reliability sequence, the first subsequence and the second subsequence comprises: When the rate matching method includes puncturing, the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence are removed to obtain the first subsequence, and the second subsequence is the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence; or When the rate matching method includes shortening, the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence are removed to obtain the second subsequence, and the first subsequence is the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence.
7. The method according to any one of claims 1 to 5, characterized in that The determining, according to the rate matching mode of the coded bit sequence and the first reliability sequence, the first subsequence and the second subsequence comprises: When the rate matching method includes puncturing, removing the first NM bits of the first reliability sequence to obtain a second reliability sequence; determining the first subsequence and the second subsequence according to the second reliability sequence; or, When the rate matching mode includes shortening, removing the last NM bits of the first reliability sequence to obtain a third reliability sequence; The first subsequence and the second subsequence are determined according to the third reliability sequence.
8. The method according to claim 7, characterized in that The determining, according to the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, K information bits corresponding to the coded bit sequence includes: If the i-th last bit number in the fourth reliability sequence is greater than or equal to the threshold value, then determining that the bit indicated by the j-th last bit number in the second subsequence is the information bit, 1≤i≤K, 1≤j≤K; Alternatively, if the i-th last bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the q-th last bit number in the first subsequence is determined to be the information bit, 1≤q≤K, wherein the fourth reliability sequence is obtained according to the rate matching method and the first reliability sequence, and when the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or, when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence.
9. The method according to claim 8, characterized in that The determining, according to the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, K information bits corresponding to the coded bit sequence includes: If the last bit sequence number in the fourth reliability sequence is greater than or equal to the threshold value, determining that the bit indicated by the last bit sequence number in the second subsequence is the first information bit; If the second to last bit number in the fourth reliability sequence is greater than or equal to the threshold value, then determining that the bit indicated by the second to last bit number in the second subsequence is the second information bit; or, If the second to last bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the first to last bit number in the first subsequence is determined to be the second information bit.
10. The method according to claim 8 or 9, characterized in that: The determining, according to the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, K information bits corresponding to the coded bit sequence includes: If the last bit sequence number in the fourth reliability sequence is less than the threshold value, determining that the bit indicated by the last bit sequence number in the first subsequence is the first information bit; If the second to last bit number in the fourth reliability sequence is greater than or equal to the threshold value, then determining that the bit indicated by the first to last bit number in the second subsequence is the second information bit; or, If the second to last bit number in the first four reliability sequences is less than the threshold value, the bit indicated by the second to last bit number in the first subsequence is determined to be the second information bit.
11. The method according to any one of claims 1 to 10, characterized in that The performing polarization coding based on the K information bits to obtain the coded bit sequence includes: Performing polarization coding based on the K information bits to obtain a polarization coding result; Rate matching is performed based on the polar coding result to obtain the coded bit sequence.
12. The method according to any one of claims 1 to 11, characterized in that The method further comprises: The rate matching mode is determined according to at least two of the length N of the first reliability sequence, the length M of the coded bit sequence, and the length K of the information bits corresponding to the coded bit sequence.
13. A communication device, characterized in that: include: A processing module, used for determining a threshold value according to a length N of the first reliability sequence and a length M of the coded bit sequence, wherein N is a positive integer power of 2 and M is a positive integer; The processing module is further configured to determine a first subsequence and a second subsequence according to a rate matching mode of the coded bit sequence and the first reliability sequence; The processing module is further configured to determine K information bits corresponding to the coded bit sequence according to the threshold value, the first subsequence, the second subsequence, the rate matching mode, and the first reliability sequence, where K is a positive integer less than M; The coding module is used to perform polar coding to obtain the coded bit sequence.
14. The device according to claim 13, characterized in that The rate matching method includes puncturing, shortening, or repetition.
15. The device according to claim 13 or 14, characterized in that The processing module is specifically configured to determine the threshold value according to a rate matching mode of the coded bit sequence, a length N of the first reliability sequence, and a length M of the coded bit sequence.
16. The device according to claim 15, characterized in that If M / (N / 2) is greater than or equal to a preset threshold, the threshold value is a first value; or, If M / (N / 2) is less than the preset threshold, the threshold value is a second value, wherein the preset threshold value is associated with the rate matching method.
17. The device according to any one of claims 13 to 16, characterized in that The first subsequence is associated with a reliability sequence corresponding to the first N / 2 bits in the first reliability sequence, and the second subsequence is associated with a reliability sequence corresponding to the last N / 2 bits in the first reliability sequence.
18. The device according to any one of claims 13 to 17, characterized in that The processing module is specifically used for: When the rate matching method includes puncturing, the first NM bits of the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence are removed to obtain the first subsequence, and the second subsequence is the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence; or When the rate matching method includes shortening, the last NM bits of the reliability sequence corresponding to the last N / 2 bits in the first reliability sequence are removed to obtain the second subsequence, and the first subsequence is the reliability sequence corresponding to the first N / 2 bits in the first reliability sequence.
19. The device according to any one of claims 13 to 17, characterized in that The processing module is specifically used for: When the rate matching method includes puncturing, removing the first NM bits of the first reliability sequence to obtain a second reliability sequence; determining the first subsequence and the second subsequence according to the second reliability sequence; or, When the rate matching mode includes shortening, removing the last NM bits of the first reliability sequence to obtain a third reliability sequence; The first subsequence and the second subsequence are determined according to the third reliability sequence.
20. The device according to claim 19, characterized in that The processing module is specifically used for: If the i-th last bit number in the fourth reliability sequence is greater than or equal to the threshold value, then the bit indicated by the j-th last bit number in the second subsequence is determined to be the information bit, 1≤i≤K, 1≤j≤K; or, If the i-th last bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the q-th last bit number in the first subsequence is determined to be the information bit, 1≤q≤K, wherein the fourth reliability sequence is obtained according to the rate matching method and the first reliability sequence, and when the rate matching method includes puncturing, the fourth reliability sequence includes the second reliability sequence, or, when the rate matching method includes shortening, the fourth reliability sequence includes the third reliability sequence.
21. The device according to claim 20, characterized in that The processing module is specifically used for: If the last bit sequence number in the fourth reliability sequence is greater than or equal to the threshold value, determining that the bit indicated by the last bit sequence number in the second subsequence is the first information bit; If the second to last bit number in the fourth reliability sequence is greater than or equal to the threshold value, then determining that the bit indicated by the second to last bit number in the second subsequence is the second information bit; or, If the second to last bit number in the fourth reliability sequence is less than the threshold value, the bit indicated by the first to last bit number in the first subsequence is determined to be the second information bit.
22. The device according to claim 20 or 21, characterized in that The processing module is specifically used for: If the last bit sequence number in the fourth reliability sequence is less than the threshold value, determining that the bit indicated by the last bit sequence number in the first subsequence is the first information bit; If the second to last bit number in the fourth reliability sequence is greater than or equal to the threshold value, then determining that the bit indicated by the first to last bit number in the second subsequence is the second information bit; or, If the second to last bit sequence number in the fourth reliability sequence is less than the threshold value, the bit indicated by the second to last bit sequence number in the first subsequence is determined to be the second information bit.
23. The device according to any one of claims 13 to 22, characterized in that The encoding module is specifically used for: Performing polarization coding based on the K information bits to obtain a polarization coding result; Rate matching is performed based on the polar coding result to obtain the coded bit sequence.
24. The device according to any one of claims 13 to 23, characterized in that The processing module is further configured to determine the rate matching mode according to at least two of the length N of the first reliability sequence, the length M of the coded bit sequence, and the length K of information bits corresponding to the coded bit sequence.
25. A communication device, characterized in that: include: A processor and a memory, the memory being used to store a computer program, the processor being used to execute part or all of the computer program stored in the memory, so that the method according to any one of claims 1 to 12 is executed.
26. A communication device, characterized in that: include: Input-output interfaces and logic circuits; The input and output interface is used to obtain input information and / or output information; The logic circuit is used to execute the method according to any one of claims 1 to 12, and to process and / or generate the output information according to the input information.
27. A computer-readable storage medium, characterized in that: include: The computer readable medium stores a computer program; When the computer program is run on a computer, the method according to any one of claims 1 to 12 is executed.
28. A computer program product, characterized in that A computer program is included which, when executed, enables the method according to any one of claims 1 to 12 to be implemented.