Polar code encoding method, polar code decoding method, and communication apparatus
By determining the set of bit positions with the lowest reliability in polar codes based on the reliability sequence as pre-frozen positions, and combining this with the rate-matched bit position set, the problem of insufficient precision in bit position pre-freezing in polar codes is solved, thereby improving the performance stability and coding efficiency of polar codes.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-19
- Publication Date
- 2026-05-28
Smart Images

Figure CN2025136047_28052026_PF_FP_ABST
Abstract
Description
Polar code encoding methods, decoding methods, and communication devices
[0001] This application claims priority to Chinese Patent Application No. 202411687178.8, filed on November 22, 2024, entitled "Encoding Method, Decoding Method and Communication Device of Polar Code", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of channel coding and decoding, and more specifically, to a polar code encoding method, a decoding method, and a corresponding communication device. Background Technology
[0003] Polar codes are coding schemes that can be rigorously proven to achieve Shannon channel capacity, offering advantages such as good decoding performance and low complexity. Rate matching of polar codes can be applied to adapt to flexible code length requirements in different scenarios. Since rate matching affects the reliability of sub-channels, the performance stability of polar codes during rate matching can be improved by pre-freezing a portion of bit positions. How to more accurately pre-freeze bit positions in polar codes is a problem that urgently needs to be solved in this field. Summary of the Invention
[0004] The embodiments of this application provide an encoding method, a decoding method, and a communication device for polar codes, which can more accurately pre-freeze the bit positions in polar codes.
[0005] Firstly, a polar code encoding method is provided, which can be executed by a communication device or a module applied to the communication device (e.g., a processor, chip, chip system, integrated circuit, etc., or a logic module, hardware, and / or software capable of implementing all or part of the functions of the communication device). The communication device can also be called an encoding device, such as an encoding apparatus or encoder.
[0006] The method may include: acquiring a first bit sequence to be encoded; determining a first bit position set based on a reliability sequence, wherein the reliability sequence indicates the reliability order of bit positions in the polar code, and the first bit position set indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2, wherein the T bit positions are pre-frozen bit positions in the polar code; wherein N represents the mother code length of the polar code, and T is a positive integer; determining a third bit position set based on the first bit position set and a second bit position set, wherein the second bit position set indicates the punctured or shortened bit positions in the polar code, and the third bit position set indicates the position of information bits in the polar code; and encoding the first bit sequence based on the third bit position set.
[0007] Based on the above technical solution, the encoding device can determine the T bit positions in the polar code with the lowest reliability and sequence number less than N / 2 according to the reliability sequence, and determine the position of the information bit in the polar code based on the set of these T bit positions and the rate-matching bit positions. Here, the T bit positions are the pre-frozen bit positions in the polar code. Therefore, the pre-frozen bit positions in the polar code are determined based on reliability; the pre-frozen bit positions have lower reliability and higher precision, thereby improving the reliability of the subsequently obtained set of information bit positions.
[0008] Secondly, a polar code decoding method is provided, which can be executed by a communication device or a module applied to the communication device (e.g., a processor, chip, chip system, integrated circuit, etc., or a logic module, hardware and / or software that can implement all or part of the functions of the communication device). The communication device can also be called a decoding device, such as a decoding apparatus or decoder.
[0009] The method may include: acquiring a received value sequence; determining a first set of bit positions based on a reliability sequence, wherein the reliability sequence indicates the reliability order of bit positions in the polar code, the first set of bit positions indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2, the T bit positions being pre-frozen bit positions in the polar code; wherein N represents the mother code length of the polar code, and T is a positive integer; determining a third set of bit positions based on the first set of bit positions and a second set of bit positions, wherein the second set of bit positions indicates punctured or shortened bit positions in the polar code, and the third set of bit positions indicates the positions of information bits in the polar code; and decoding the received value sequence based on the third set of bit positions.
[0010] For the beneficial effects of the second aspect, please refer to the description of the first aspect, which will not be repeated here.
[0011] In some implementations of the first or second aspect, the third bit position set indicates the K most reliable bit positions in the fourth bit position set; wherein the fourth bit position set indicates bit positions in the polar code other than the first bit position set and the second bit position set, and K is a positive integer.
[0012] Based on the above technical solution, the set of information bit positions in the polar code can indicate the K most reliable bit positions outside of the set of pre-frozen bit positions and the set of rate-matching bit positions, thereby maximizing the reliability of information bit positions in the polar code.
[0013] In some implementations of the first or second aspect, the value of T is associated with at least one of the following: the mother code length N of the polar code; or the code length E of the polar code; or the number of information bits K in the polar code; or the code rate R = K / E of the polar code.
[0014] Based on the above technical solution, the number of pre-frozen bit positions can be related to at least one of the following: the mother code length of the polar code, the code length of the polar code, the number of information bits in the polar code, or the code rate of the polar code. Therefore, the number of pre-frozen bit positions in the polar code can vary according to various parameters of the polar code, thereby improving the performance stability of the polar code.
[0015] In some implementations of the first or second aspect, if R is less than or equal to the first threshold, the second set of bit positions indicates the position of the punctured bit in the polar code; or, if R is greater than the first threshold, the second set of bit positions indicates the position of the shortened bit in the polar code; wherein R represents the code rate of the polar code.
[0016] In some implementations of the first or second aspect, if E / N ≥ 17 / 32, Alternatively, if E / N < 17 / 32, Where E represents the code length of the polar code, This indicates rounding up to the nearest integer.
[0017] In some implementations of the first or second aspect, T = 0 when R ≥ 3 / 4; or, when R < 3 / 4, if E / N ≥ 33 / 64. Alternatively, if E / N < 33 / 64, Where E represents the code length of the polar code, This indicates rounding up to the nearest integer.
[0018] Thirdly, a communication apparatus is provided for performing the method provided by any of the above aspects or their implementations. Specifically, the apparatus may include units and / or modules for performing the method provided by any of the above aspects or their implementations, such as processing units and / or transceiver units.
[0019] In one implementation, the device is either a transmitting device or a receiving device. When the device is a transmitting device or a receiving device, the transceiver unit can be a transceiver, an input / output interface, or a communication interface; the processing unit can be at least one processor. Optionally, the transceiver is a transceiver circuit. Optionally, the input / output interface is an input / output circuit.
[0020] In another implementation, the device is a chip, chip system, or circuit used in a transmitting or receiving device. When the device is a chip, chip system, or circuit used in a transmitting or receiving device, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0021] Fourthly, a communication device is provided, comprising: a memory for storing a program; and at least one processor for executing the computer program or instructions stored in the memory to perform the method provided in any of the foregoing aspects or their implementations.
[0022] In one implementation, the device is either a transmitting device or a receiving device.
[0023] In another implementation, the device is a chip, chip system, or circuit used in a transmitting or receiving device.
[0024] Fifthly, a communication device is provided, comprising: at least one processor and a communication interface, wherein the at least one processor is configured to obtain a computer program or instructions stored in a memory via the communication interface to execute the method provided in any of the foregoing aspects or their implementations. The communication interface may be implemented in hardware or software.
[0025] In one implementation, the device further includes the memory.
[0026] Sixthly, a processor is provided for executing the methods provided in the above aspects.
[0027] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.
[0028] In a seventh aspect, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including methods for performing any of the foregoing aspects or their implementations.
[0029] Eighthly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method provided in any of the foregoing aspects or their implementations.
[0030] Ninthly, a chip is provided, comprising a processor and a communication interface. The processor reads instructions stored in a memory through the communication interface and executes the methods provided in any of the above aspects or their implementations. The communication interface can be implemented in hardware or software.
[0031] Optionally, as one implementation, the chip also includes a memory that stores computer programs or instructions. The processor is used to execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to perform the methods provided by any of the above aspects or their implementations.
[0032] When the method provided in this application is executed by a chip, this application does not limit the specific number of chips implementing the method. For example, it can be executed by one chip, or by two or more chips. Furthermore, when the number of chips implementing the method is two or more, the chip manufacturers are not limited; they can be from the same manufacturer or different manufacturers.
[0033] In a tenth aspect, a communication system is provided, comprising at least one of the transmitting end device or receiving end device described above. Attached Figure Description
[0034] Figure 1 is a schematic diagram of the network architecture applicable to an embodiment of this application.
[0035] Figure 2 is a schematic diagram of the information transmission process.
[0036] Figure 3 is a schematic diagram of a polar code encoding with a length of 8.
[0037] Figure 4 is a schematic flowchart of the encoding or decoding method 400 provided in this application.
[0038] Figure 5 is a schematic diagram of a communication device 500 provided in an embodiment of this application.
[0039] Figure 6 is a schematic diagram of another communication device 600 provided in an embodiment of this application.
[0040] Figure 7 is a schematic diagram of a chip system 700 provided in an embodiment of this application. Detailed Implementation
[0041] To facilitate understanding of the embodiments of this application, the following points will be explained before introducing the embodiments of this application.
[0042] The terms "for indicating" or "instruction" can include both direct and indirect indication, or they can be explicit and / or implicit. The various numerical designations such as "first," "second," etc., are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application, such as distinguishing different messages or different information. The term "protocol" can refer to standard protocols in the field of communications, such as the Long Term Evolution (LTE) protocol, the New Radio (NR) protocol, and related protocols applied to future communication systems; this application does not limit this. Words such as "exemplary," "for example," "exemplarily," and "as (another) example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized. "At least one" means one or more, and "more than one" means two or more. "At most one" means one or zero. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Here, a, b, and c can be single or multiple. Descriptions involving network element A sending messages, information, or data to network element B, and network element B receiving messages, information, or data from network element A, aim to specify which network element the message, information, or data is to be sent to, without specifying whether they are sent directly or indirectly through other network elements. Descriptions such as “when…”, “under…”, “if”, and “if” all indicate that the device will take corresponding actions under certain objective circumstances. They are not time-limited, nor do they require the device to make a judgment action when implementing the action, nor do they imply any other limitations.
[0043] Furthermore, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0044] The following describes a communication system to which embodiments of this application can be applied.
[0045] The embodiments of this application can be applied to various communication systems, including but not limited to: 5th generation (5G) systems, LTE systems, long term evolution-advanced (LTE-A) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, and future communication systems. Furthermore, they can also be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), Internet of Things (IoT) communication systems, narrowband Internet of Things (NB-IoT) systems, or other communication systems. Furthermore, it can be extended to similar wireless communication systems, such as Wireless-Fidelity (WiFi), Worldwide Interoperability for Microwave Access (WIMAX), and communication systems related to the 3rd Generation Partnership Project (3GPP), without limitation.
[0046] The communication system applicable to embodiments of this application may include one or more transmitting devices and one or more receiving devices. Optionally, one of the transmitting device and the receiving device may be a terminal device, and the other may be a network device. Optionally, both the transmitting device and the receiving device may be terminal devices. Optionally, both the transmitting device and the receiving device may be network devices.
[0047] Referring to Figure 1, which is a schematic diagram of a network architecture applicable to an embodiment of this application as an example, the embodiments of this application can be applied to both uplink and downlink data transmission. Figure 1 only uses uplink or downlink data transmission between one network device and two terminal devices (such as terminal device 1 and terminal device 2) as an example. In uplink data transmission, the sending device is the terminal device and the receiving device is the network device; conversely, in downlink data transmission, the sending device is the network device and the receiving device is the terminal device. Furthermore, the applicability of the embodiments of this application to other communication scenarios is not limited; for example, they can also be applied to sidelink communication.
[0048] The terminal equipment in this application can also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, drone, wireless communication equipment, user agent, or user device, etc. The terminal equipment in the embodiments of this application can be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as handheld devices with wireless connectivity, vehicle-mounted devices, etc. The terminal devices in the embodiments of this application may be mobile phones, tablets, laptops, handheld computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc.
[0049] The network equipment in this application can be a device with wireless transceiver capabilities, which can be a device that provides wireless communication services. It is usually located on the network side, including but not limited to next-generation base stations (gNodeB, gNB) in 5G systems, base stations in sixth-generation mobile communication systems, base stations in future mobile communication systems, or access nodes in wireless fidelity (WiFi) systems, evolved node B (eNB), radio network controller (RNC), node B (NB), base station controller (BSC), home base station (e.g., home evolved NodeB or home Node B, HNB), base band unit (BBU), transmission reception point (TRP), transmitting point (TP), base transceiver station (BTS), satellites, drones, etc. in long term evolution (LTE) systems. In a network architecture, network equipment may include centralized unit (CU) nodes, distributed unit (DU) nodes, or RAN equipment including CU and DU nodes, or RAN equipment including control plane CU nodes, user plane CU nodes, and DU nodes. Alternatively, network equipment may also be a radio controller, relay station, vehicle-mounted equipment, or wearable device in a cloud radio access network (CRAN) scenario. Furthermore, a base station may be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station may also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station may also be a mobile switching center and equipment performing base station functions in D2D, V2X, and M2M communications, network-side equipment in future communication networks, or equipment performing base station functions in future communication systems. A base station may support networks with the same or different access technologies, without limitation.
[0050] Unless otherwise specified, the means for implementing the functions of a terminal device or network device in this application can refer to the terminal device or network device itself, or it can refer to a means that enables the terminal device or network device to implement the functions, such as a chip system or chip, specifically a system-on-a-chip (SoC) or a modem. This means can be installed in the terminal device or network device. In the embodiments of this application, the chip system can be composed of chips, or it can include chips and other discrete devices.
[0051] It should also be noted that some embodiments in this article use a 5G system as an example to introduce specific solution details. It is understood that when this solution is used in other communication systems, such as LTE systems, or future communication systems, the messages, channels, or information in the solution can be replaced with messages, channels, or information in other communication systems that can achieve the corresponding functions, and this application does not limit this.
[0052] Furthermore, the embodiments of this application can be applied to various application scenarios, such as high-throughput scenarios, high-reliability scenarios, low-latency scenarios, high-reliability low-latency scenarios, or low-power scenarios. Among them, high-throughput scenarios can be, for example, enhanced mobile broadband (eMBB) scenarios, high-reliability low-latency scenarios can be, for example, URLLC (ultra-reliable low-latency communication) scenarios, and low-power scenarios can be, for example, M2M scenarios, MTC scenarios, or IoT scenarios.
[0053] Referring to Figure 2, which serves as an example, Figure 2 is a schematic diagram of the information transmission process. As shown in Figure 2, information is sent from the source and undergoes processing such as source coding, channel coding, modulation, air interface transmission, demodulation, channel decoding, and source recovery before reaching the destination, completing the transmission of information from the source to the destination. The processing shown in the upper layer of Figure 2 (including source coding, channel coding, and modulation) is performed at the transmitting end device, while the processing shown in the lower layer (including demodulation, channel decoding, and source recovery) is performed at the receiving end device. The embodiments of this application mainly relate to the channel coding and channel decoding shown in Figure 2.
[0054] Currently, polar codes are the first channel coding scheme that can be rigorously proven to "achieve" Shannon channel capacity. They feature good error correction performance and low decoding complexity, and have been selected by 3GPP as the coding scheme for the control channel in 5G eMBB scenarios (uplink / downlink). The following is a brief introduction to the encoding, construction, and decoding process of polar codes.
[0055] Referring to Figure 3, as an example, Figure 3 is a schematic diagram of an 8-bit polar code encoding. The encoding process includes several polar kernel operations (the polar kernels are indicated by a gray background). The polar kernels AND the two input bits... Multiplying them yields two output bits. It can be seen that the polar code is constructed recursively. An 8-length polar code can be seen as a result of coupling two 4-length polar codes (corresponding to the two dashed boxes in the diagram), and a 4-length polar code can be seen as a result of coupling two 2-length polar codes.
[0056] It is understandable that the N positions corresponding to the N bits to be encoded before polar code encoding have different reliability levels. Among these, the K positions with the highest reliability are used to place the K data bits from the bits to be encoded, and the remaining (NK) positions are used to place frozen bits, which are typically 0. In this application, the positions carrying the K data bits can be called data bits, and the positions carrying the frozen bits can be called frozen bits, and the frozen bits are known at both the transmitting and receiving ends during actual transmission. For example, as shown in Figure 3, N=8, and 8 positions are used to carry 8 bits to be encoded, which are the leftmost u0 to u7. These bits include 4 data bits (i.e., u7, u6, u5, u3). The data bits that place these 4 data bits are the four bits with the highest reliability, and the remaining 4 positions are used to place frozen bits (u4, u2, u1, u0), which are the four bits with the lowest reliability. As shown in Figure 3, after encoding, the rightmost 8 codeword bits 01010101 are denoted as c0 to c7 respectively. The transmitting device transmits information based on the codeword bits c0 to c7.
[0057] To facilitate understanding of the solution, the concepts or technologies involved in the embodiments of this application will be briefly introduced.
[0058] 1. Rate matching
[0059] The construction process of a polar code mainly involves determining the information bits and freeze bits. Typically, the reliability of each sub-channel is ranked, and the K positions with relatively high reliability are set as information bits, while the remaining NK positions are set as freeze bits. The parent code of a polar code is a power of 2, but in practical applications, the required length is not necessarily a power of 2. In this case, some bits are removed from the parent code without being transmitted, or some bits in the parent code are repeatedly transmitted. This process is usually called rate matching. Rate matching mainly includes the following three types:
[0060] 1) Punch: This refers to directly punching holes in certain positions of a Polar code of the master code length without transmitting the data. This method generates coded bit sequences of arbitrary length Polar codes. On the decoding side, since there is no information at the corresponding "punched" positions, the LLR of the corresponding bits is set to 0.
[0061] 2) Shortening: This is achieved by designing the polar code so that certain positions in the encoded bit sequence are fixed values and therefore do not need to be transmitted. On the decoding side, since the positions corresponding to the "shortening" are essentially known (usually set to 0), the LLR of the corresponding bits is set to infinity.
[0062] 3) Repetition: This refers to obtaining a longer polar code encoded bit sequence by repeatedly sending parts of the codeword bits.
[0063] One rate matching scheme for polar codes is a sub-block interleaving-based rate matching scheme. Assume the codeword sequence after polar code encoding is d0, d1, d2, ..., d... N-1 The rate is matched to the input bitstream (i.e., d0, d1, d2, ..., d). N-1 The codeword sequence is divided into 32 sub-blocks, each with a length of N / 32. Then, it is interleaved according to the interleaving pattern shown in Table 1. The resulting codeword sequence is y0, y1, y2, ..., y N-1 The pseudocode for sub-block interleaving is shown below:
[0064] Table 1
[0065] As an example, rate matching based on natural order refers to continuously punching or shortening the bits of a polar code in natural order. Taking punching as an example, when a polar code of length 6 is needed, first construct a polar code of length 8, then punch the first two bits; when a polar code of length 5 is needed, first construct a polar code of length 8, then punch the first three bits. Taking shortening as another example, when a polar code of length 7 is needed, a preset u7 = 0 can be used to make x7 0 in all encoded bit sequences; when a polar code of length 6 is needed, a preset u7 and u6 can be used to make x7 and x6 0 in all encoded bit sequences. In rate matching based on natural order, the shortening or punching positions are continuous, making implementation simple.
[0066] As a possible approach, a pre-freeze operation can be performed during rate matching, i.e., freezing an additional portion of the bit sub-channels, thereby improving the performance stability of polar codes when using puncturing for rate matching. However, when pre-freezing the bit sub-channels of polar codes in natural order, the reliability of the pre-frozen bits may be higher than that of the information bits, resulting in insufficient accuracy in pre-freezing the bit positions in the polar code.
[0067] In view of this, embodiments of this application propose an encoding method, a decoding method, and a communication device for polar codes, which can pre-freeze bit positions with sequence numbers less than N / 2 based on reliability, thereby more accurately pre-freezing bit positions in polar codes.
[0068] The encoding or decoding methods provided in this application, namely channel coding or channel decoding schemes, can be used in dedicated network devices or general-purpose network devices. They can be applied to the various network devices (e.g., base stations) and the various terminal devices mentioned above. Specifically, the channel coding scheme is mainly implemented through the channel coding unit (e.g., encoder) in these devices; while the channel decoding scheme is mainly implemented through the channel decoding unit (e.g., decoder) in these devices.
[0069] The methods provided by the embodiments of this application will be described in detail below with reference to the accompanying drawings. The embodiments provided by this application can be applied to the scenarios shown in the above figures, and are not limited thereto.
[0070] Referring to Figure 4, as an example, Figure 4 is a schematic flowchart of the encoding or decoding method 400 provided in this application. S410 to S440 in method 400 can be executed by an encoding device or by a device applied to the encoding device (e.g., a chip, chip system, or circuit). Correspondingly, S450 to S480 can be executed by a decoding device or by a device applied to the decoding device (e.g., a chip, chip system, or circuit). The following embodiments use an encoding device or a decoding device as examples.
[0071] S410, the encoding device acquires the first bit sequence to be encoded.
[0072] As an example, the first bit sequence may include K bits, where K is an integer greater than 1.
[0073] As an example, the first bit sequence may include information bits, cyclic redundancy check (CRC) bits, and parity check (PC) bits; or the first bit sequence may include information bits and CRC bits; or the first bit sequence may include information bits and PC bits; or the first bit sequence may include information bits themselves. K may be the length of the first bit sequence. For example, K may be the sum of the number of information bits, CRC bits, and PC bits included in the first bit sequence. Alternatively, K may be the sum of the number of information bits and CRC bits included in the first bit sequence. Alternatively, K may be the sum of the number of information bits and PC bits included in the first bit sequence, or K may be the number of information bits included in the first bit sequence.
[0074] S420, the encoding device determines the first bit position set based on the reliability sequence.
[0075] The reliability sequence indicates the reliability order of bit positions in the polar code. Alternatively, the reliability sequence indicates the reliability order of bit positions in the parent code of the polar code. The parent code can be the initially generated codeword with a relatively long code length during the polar code encoding process.
[0076] Optionally, prior to S420, method 400 further includes: the encoding device determining the mother code length N.
[0077] As an example, the reliability sequence may also be called a reliability sequence, or a reliability measurement sequence, or a polarization channel reliability sequence, or a bit reliability sequence, etc., and its name does not limit the scope of protection of the embodiments of this application.
[0078] As an example, a bit position in a polar code can correspond to a sub-channel in the polar code. Alternatively, it can correspond to a sub-channel in the parent code of the polar code. The reliability of a bit position can correspond to the reliability of information transmitted through the sub-channel. Here, bit positions can also be called channel positions, symbol positions, etc., and their names do not limit the scope of protection of the embodiments of this application.
[0079] As an example, the reliability order of bit positions in a polar code can be arranged in order of reliability from low to high for the polar sub-channels, or in order of reliability from high to low. This application does not limit this.
[0080] For example, the reliability sequence #A is [0,1,2,4,3,5,6,7], which can indicate that when the mother code length N=8, the reliability of the sub-channel corresponding to the 0th bit position in the polar code is less than the reliability of the sub-channel corresponding to the 1st bit position, the reliability of the sub-channel corresponding to the 1st bit position in the polar code is less than the reliability of the sub-channel corresponding to the 2nd bit position, and so on.
[0081] The first bit position set indicates the T bit positions in the polar code whose sequence number is less than N / 2 and whose reliability is the lowest. These T bit positions are the pre-frozen bit positions in the polar code, where T is a positive integer.
[0082] As an example, the first bit position set indicates the pre-frozen bit positions in the polar code, or in other words, the first bit position set indicates the pre-frozen bit positions in the mother code of the polar code, or the first bit position set is used to determine the pre-frozen bits in the polar code. The first bit position set may also be called the pre-frozen bit position set, or the pre-frozen bit set, or the pre-frozen bit set, etc., and its name does not limit the scope of protection of the embodiments of this application.
[0083] As an example, determining the first bit position set based on the reliability sequence can be understood as determining the T bit positions in the polar code mother code with the lowest reliability and the sequence number less than N / 2 as the first bit position set, or in other words, determining the first T bit positions in the reliability sequence with the sequence number less than N / 2 as the first bit position set according to the order from low reliability to high reliability. This application embodiment does not limit this.
[0084] For example, if N=8 and T=3, and considering the reliability sequence #A in the example above, the set of the first bit positions is [0,1,2]. That is, the 0th, 1st, and 2nd bit positions in the polar code are pre-frozen bit positions in the polar code. In other words, the above bit positions are not the positions of information bits, or the sub-channels corresponding to the above bit positions are not used to transmit information.
[0085] As one possible implementation, the value of T is related to at least one of the following: the mother code length N of the polar code; or, the code length E of the polar code; or, the number of information bits K in the polar code; or, the code rate R = K / E of the polar code.
[0086] As an example, the relationship between the code length E and the mother code length N of a polar code can be such that N is the smallest integer power of 2 greater than or equal to E. For example, if E = 252, then N = 256; if E = 5, then N = 8.
[0087] Optionally, prior to S420, method 400 further includes: the encoding device determining the code length E of the polar code.
[0088] As an example, an information bit can be a bit that carries valid information to be transmitted during polar code encoding. Here, an information bit can also be called an information digit, etc., and its name does not limit the scope of protection of the embodiments of this application.
[0089] Optionally, prior to S420, method 400 further includes: the encoding device determining the number of bits K of the information bits.
[0090] As an example, the code rate R of a polar code can reflect the efficiency and redundancy of the polar code in the information transmission process. Here, R = K / E, meaning the code rate of a polar code can be the ratio of the number of information bits to the code length. It can also be understood as R representing the proportion of effective information bits in polar code encoding.
[0091] Optionally, the value of T is related to E and N.
[0092] Optionally, the value of T is related to E, N, and R.
[0093] It should be noted that the specific method for determining the value of T can be found in the examples in the relevant parts of Example 1 and Example 2 below. For the sake of readability, the embodiments of this application will not be elaborated here.
[0094] In this embodiment, the number of pre-frozen bit positions can be related to at least one of the following: the mother code length of the polar code, the code length of the polar code, the number of information bits in the polar code, or the code rate of the polar code. Based on this, the number of pre-frozen bit positions in the polar code can vary according to various parameters of the polar code, thereby improving the performance stability of the polar code.
[0095] S430, the encoding device determines the third bit position set based on the first bit position set and the second bit position set.
[0096] As an example, the second bit position set indicates the punctured or shortened bit positions in the polar code. It can also be replaced by stating that the second bit position set indicates the set of bit positions in the polar code used for rate matching, or that the second bit position set indicates the set of bit positions in the parent code of the polar code used for rate matching. The second bit position set can also be called the rate matching set, etc., and its name does not limit the scope of protection of the embodiments of this application.
[0097] It should be understood that for a description of the set of bit positions used for rate matching in polar codes, please refer to the content on rate matching above, and this application will not repeat it here.
[0098] As an example, the rate matching method in polar codes is related to the value of R.
[0099] As one possible implementation, if R is less than or equal to the first threshold, the second bit position set indicates the bit position of the punctured bit in the polar code; or, if R is greater than the first threshold, the second bit position set indicates the bit position of the shortened bit in the polar code.
[0100] Optionally, the first threshold value is 7 / 16.
[0101] As an example, the third bit position set indicates the position of the information bit in the polar code, or in other words, the third bit position set indicates the position of the information bit in the master code of the polar code.
[0102] For example, if N=8, and assuming that the 5th, 6th, and 7th bits of the polar code mother code are used to carry the valid information to be transmitted, then the set of the third bit positions is [5,6,7].
[0103] As one possible implementation, the third bit position set indicates the K most reliable bit positions in the fourth bit position set; where the fourth bit position set indicates the bit positions in the polar code other than the first bit position set and the second bit position set, and K is a positive integer.
[0104] In other words, the positions of the information bits in the polar code are the K most reliable bit positions outside of the first and second bit position sets in the polar code.
[0105] For example, if N = 8 and T = 3, and considering the reliability sequence #A in the example above, the first bit position set is [0, 1, 2]. If E = 6 and K = 2, the second bit position set is [0, 1]. Furthermore, the fourth bit position set is [3, 4, 5, 6, 7]. The third bit position set indicates the two most reliable bit positions in the fourth bit position set, so the third bit position set is [6, 7].
[0106] It should be noted that the execution order of S410, S420, and S430 is not limited in the embodiments of this application. For example, S410 can be executed before S420 and S430, or S410 can be executed after S420 and S430.
[0107] In this embodiment, the set of information bit positions in the polar code can indicate the K most reliable bit positions outside of the set of pre-frozen bit positions and the set of rate-matching bit positions, thereby maximizing the reliability of the information bit positions in the polar code.
[0108] S440, the encoding device encodes the first bit sequence according to the third bit position set.
[0109] As an example, an encoding device can encode a first bit sequence based on a third bit position set to obtain an encoded bit sequence.
[0110] Optionally, method 400 may further include: the encoding device outputting an encoded bit sequence.
[0111] Accordingly, the decoding process of the decoding device may include S450 to S480.
[0112] S450, the decoding device acquires the received value sequence.
[0113] S460, the decoding device determines the first set of bit positions based on the reliability sequence. The reliability sequence indicates the reliability order of bit positions in the polar code, and the first set of bit positions indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2. These T bit positions are pre-frozen bit positions in the polar code; where N represents the length of the parent code of the polar code, and T is a positive integer.
[0114] It should be understood that the description of S460 can be referred to the content of the preceding S420 section, and will not be repeated here in the embodiments of this application.
[0115] S470, the decoding device determines the third bit position set based on the first bit position set and the second bit position set. The second bit position set indicates the positions of punctured or shortened bits in the polar code, and the third bit position set indicates the positions of information bits in the polar code.
[0116] It should be understood that the description of S470 can be found in the content of the preceding S430 section, and will not be repeated here in the embodiments of this application.
[0117] S480, the decoding device decodes the received value sequence based on the third bit position set.
[0118] As an example, the decoding device can decode the received value sequence based on the third bit position set to obtain the decoded bit sequence.
[0119] Optionally, method 400 may further include: the decoding device outputting the decoded bit sequence.
[0120] In this embodiment, the encoding device can determine the T bit positions with the lowest reliability and sequence number less than N / 2 in the polar code based on the reliability sequence, and determine the positions of the information bits in the polar code based on the set of these T bit positions and the rate-matching bit positions. The T bit positions are pre-frozen bit positions in the polar code. Therefore, the pre-frozen bit positions in the polar code are determined based on reliability; the pre-frozen bit positions have lower reliability and higher precision, thereby improving the reliability of the subsequently obtained set of information bit positions.
[0121] The technical solutions provided in the embodiments of this application will be illustrated below with reference to Examples 1 and 2.
[0122] In Example 1, the encoding process can be as follows:
[0123] 1. The encoding device determines the length N of the mother code.
[0124] Assume the number of information bits is K, the code length of the polar code (i.e., the length after rate matching, or the length of the coded block) is E, and R = K / E is the code rate. Here, N is calculated as the smallest integer power of 2 greater than or equal to E as the mother code length; for example, for E = 252, N = 256; for E = 5, N = 8.
[0125] 2. Select the rate matching method for the encoding device.
[0126] Based on K / E, the encoding device determines the rate matching method and the second bit position set Q.
[0127] 1) The encoding device determines the rate matching method. For example, if K / E ≤ 7 / 16, the rate matching method is selected as punching; otherwise, the rate matching method is selected as shortening.
[0128] 2) The encoding device determines the second bit position set Q. As an example, when puncturing is used, the first NE positions are punctured, and the punctured positions are called set Q; when shortening is used, the last NE positions are shortened, and the shortened positions are called set Q. Since the bits corresponding to the bit positions in set Q are not transmitted, any code length can be matched.
[0129] 3. Polar code construction.
[0130] The encoding device obtains the set of third bit positions based on the reliability sequence S.
[0131] 1) The encoding device determines parameter Z based on the values of E and N. i , i = {0}.
[0132] As an example, Z0 takes values between [0, 1]. It should be noted that Z here... i Taking only one value as an example (Z0), Z i Essentially, it's a segmentation, and there can be more segments. For example, multiple Z groups can be configured based on the E / N value. i .
[0133] Optionally, the rate matching method determined by the encoding device is punching, Z0 = 17 / 32.
[0134] Furthermore, the encoding device determines the number T of elements in the first bit position set based on at least one of N, E, K, or R.
[0135] As one possible implementation, if E / N ≥ Z0, Or, if E / N <Z0, in, This indicates rounding up to the nearest integer.
[0136] 2) The encoding device obtains the set of the first bit positions based on S.
[0137] As one possible implementation, the encoding device pre-freezes the T bit positions with the lowest reliability and sequence number less than N / 2 based on S.
[0138] For example, N = 64, E = 60. The reliability sequence S is [0, 1, 2, 4, 8, 16, 32, 3, 5, 9, 6, 17, 10, 18, 12, 33, 20, 34, 24, 36, 7, 11, 40, 19, 13, 48, 14, 21, 35, 26, 37, 25, 22, 38, 41, 28, 42, 49, 44, 50, 15, 52, 23, 56, 27, 39, 29, 43, 30, 45, 51, 46, 53, 54, 57, 58, 60, 31, 47, 55, 59, 61, 62, 63].
[0139] According to the method described in section 1), since E / N ≥ Z0, The 31 bits with the lowest reliability and a pre-frozen sequence number less than 32 in the encoding device are: Specifically, [0, 1, 2, 4, 8, 16, 3, 5, 9, 6, 17, 10, 18, 12, 20, 24, 7, 11, 19, 13, 14, 21, 26, 25, 22, 28, 15, 23, 27, 29, 30].
[0140] 3) The encoding device removes the first bit position set. From the second bit position set Q, we obtain the fourth bit position set. Or, we obtain the reliability sequence S1 of the fourth bit position set.
[0141] For example, Q = [0, 1, 2, 3], we get S1 = [32, 33, 34, 36, 40, 48, 35, 37, 38, 41, 42, 49, 44, 50, 52, 56, 39, 43, 45, 51, 46, 53, 54, 57, 58, 60, 31, 47, 55, 59, 61, 62, 63].
[0142] 4) The encoding device is determined according to S1.
[0143] As an example, These are the K most reliable bit positions in the fourth bit position set. Alternatively, the encoding device can determine the K bit positions in S1 from highest to lowest reliability.
[0144] For example, K = 16, combining the examples above,
[0145] 4. Polar coding and rate matching.
[0146] Encoding device according to Polar coding is performed to obtain a coded bit sequence. Rate matching is then applied to the coded bit sequence to obtain E bits. The encoding device then transmits these E bits.
[0147] It should be noted that Example 1 only uses the encoder's encoding process as an example. The decoder's decoding process corresponds to the encoder's encoding process. The specific correspondence can be referred to in the correspondence between S450 to S480 and S410 to S440. This application embodiment will not be repeated here.
[0148] In Example 2, the encoding process can be as follows:
[0149] 1. The encoding device determines the length N of the mother code.
[0150] Assume the number of information bits is K, the code length of the polar code (i.e., the length after rate matching, or the length of the coded block) is E, and R = K / E is the code rate. Here, N is calculated as the smallest integer power of 2 greater than or equal to E as the mother code length; for example, for E = 252, N = 256; for E = 5, N = 8.
[0151] 2. Select the rate matching method for the encoding device.
[0152] Based on K / E, the encoding device determines the rate matching method and the second bit position set Q.
[0153] 1) The encoding device determines the rate matching method. For example, if K / E ≤ 7 / 16, the rate matching method is selected as punching; otherwise, the rate matching method is selected as shortening.
[0154] 2) The encoding device determines the second bit position set Q. As an example, when puncturing is used, the first NE positions are punctured, and the punctured positions are called set Q; when shortening is used, the last NE positions are shortened, and the shortened positions are called set Q. Since the bits corresponding to the bit positions in set Q are not transmitted, any code length can be matched.
[0155] 3. Polar code construction.
[0156] The encoding device obtains the set of third bit positions based on the reliability sequence S.
[0157] 1) The encoding device determines parameter Z based on the values of E and N. i , i = {0}.
[0158] As an example, Z0 takes values between [0, 1]. It should be noted that Z here... i Taking only one value as an example (Z0), Z i Essentially, it's a segmentation, and there can be more segments. For example, multiple Z groups can be configured based on the E / N value. i .
[0159] Optionally, the rate matching method determined by the encoding device is puncturing, Z0 = 33 / 64.
[0160] Furthermore, the encoding device determines the number T of elements in the first bit position set based on at least one of N, E, K, or R.
[0161] As one possible implementation, T = 0 when R ≥ 3 / 4; or, when R < 3 / 4, if E / N ≥ 33 / 64. Alternatively, if E / N < 33 / 64, in, This indicates rounding up to the nearest integer.
[0162] 2) The encoding device obtains the set of the first bit positions based on S.
[0163] As one possible implementation, the encoding device pre-freezes the T bit positions with the lowest reliability and sequence number less than N / 2 based on S.
[0164] For example, N = 64, E = 46. The reliability sequence S is [0, 1, 2, 4, 8, 16, 32, 3, 5, 9, 6, 17, 10, 18, 12, 33, 20, 34, 24, 36, 7, 11, 40, 19, 13, 48, 14, 21, 35, 26, 37, 25, 22, 38, 41, 28, 42, 49, 44, 50, 15, 52, 23, 56, 27, 39, 29, 43, 30, 45, 51, 46, 53, 54, 57, 58, 60, 31, 47, 55, 59, 61, 62, 63].
[0165] According to the method described in section 1), since E / N ≥ Z0, The 20 bits with the lowest reliability and a pre-frozen sequence number less than 32 in the encoding device are: Specifically, [0, 1, 2, 4, 8, 16, 3, 5, 9, 6, 17, 10, 18, 12, 20, 24, 7, 11, 19, 13].
[0166] 3) The encoding device removes the first bit position set. From the second bit position set Q, we obtain the fourth bit position set. Or, we obtain the reliability sequence S1 of the fourth bit position set.
[0167] For example, Q = [46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63], which gives S1 = [32,33,34,36,40,14,21,35,26,37,25,22,38,41,28,42,44,15,23,27,39,29,43,30,45,31].
[0168] 4) The encoding device is determined according to S1.
[0169] As an example, These are the K most reliable bit positions in the fourth bit position set. Alternatively, the encoding device can determine the K bit positions in S1 from highest to lowest reliability.
[0170] For example, K = 23. Referring to the examples above,
[0171] 4. Polar coding and rate matching.
[0172] Encoding device according to Polar coding is performed to obtain a coded bit sequence. Rate matching is then applied to the coded bit sequence to obtain E bits. The encoding device then transmits these E bits.
[0173] It should be noted that Example 2 only uses the encoder's encoding process as an example. The decoder's decoding process corresponds to the encoder's encoding process. The specific correspondence can be referred to the correspondence between S450 to S480 and S410 to S440. This application embodiment will not be repeated here.
[0174] It should also be noted that Examples 1 and 2 are merely illustrative of the technical solutions provided in the embodiments of this application, and do not limit the scope of protection of the embodiments of this application. In other words, the scope of protection of the embodiments of this application is not limited to the specific examples described in Examples 1 or 2, as long as the technical solution can be implemented.
[0175] The method provided by the embodiments of this application has been described in detail above with reference to FIG4. The apparatus provided by the embodiments of this application will be described in detail below with reference to FIGS. 5 to 7. It should be understood that the description of the apparatus embodiments corresponds to the description of the method embodiments; therefore, any content not described in detail can be referred to the method embodiments above, and for the sake of brevity, will not be repeated here.
[0176] Referring to Figure 5, which is a schematic diagram of a communication device 500 provided in an embodiment of this application, the communication device 500 includes a transceiver unit 510 and a processing unit 520. The transceiver unit 510 can be used to implement corresponding communication functions. The transceiver unit 510 can also be referred to as a communication interface or a communication unit. The processing unit 520 can be used to perform processing, such as determining information bits.
[0177] Optionally, the device 500 may further include a storage unit, which can be used to store instructions and / or data, and the processing unit 520 can read the instructions and / or data in the storage unit to enable the device to implement the aforementioned method embodiments.
[0178] In a first possible design, the device 500 can be the encoding device in the foregoing embodiments, which can implement the steps or processes corresponding to those performed by the encoding device in the above method embodiments. Specifically, the transceiver unit 510 can be used to perform transceiver-related operations (such as sending and / or receiving data or messages) of the encoding device in the above method embodiments, and the processing unit 520 can be used to perform processing-related operations of the encoding device in the above method embodiments, or operations other than transceiver (such as operations other than sending and / or receiving data or messages).
[0179] One possible implementation includes a transceiver unit 510 for acquiring a first bit sequence to be encoded; a processing unit 520 for determining a first bit position set based on a reliability sequence, wherein the reliability sequence indicates the reliability order of bit positions in the polar code, and the first bit position set indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2, wherein the T bit positions are pre-frozen bit positions in the polar code; where N represents the length of the parent code of the polar code, and T is a positive integer; the processing unit 520 is further configured to determine a third bit position set based on the first bit position set and the second bit position set, wherein the second bit position set indicates the punctured or shortened bit positions in the polar code, and the third bit position set indicates the position of information bits in the polar code; and the processing unit 520 is further configured to encode the first bit sequence based on the third bit position set.
[0180] In a second possible design, the device 500 can be the decoding device described in the foregoing embodiments. This device 500 can implement the steps or processes corresponding to those performed by the decoding device in the above method embodiments. Specifically, the transceiver unit 510 can be used to perform transceiver-related operations (such as sending and / or receiving data or messages) of the decoding device in the above method embodiments, and the processing unit 520 can be used to perform processing-related operations of the decoding device in the above method embodiments, or operations other than transceiver operations (such as operations other than sending and / or receiving data or messages).
[0181] One possible implementation includes a transceiver unit 510 for acquiring a received value sequence; a processing unit 520 for determining a first bit position set based on a reliability sequence, wherein the reliability sequence indicates the reliability order of bit positions in the polar code, and the first bit position set indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2, wherein the T bit positions are pre-frozen bit positions in the polar code; where N represents the length of the parent code of the polar code, and T is a positive integer; the processing unit 520 is further used to determine a third bit position set based on the first bit position set and the second bit position set, wherein the second bit position set indicates the punctured or shortened bit positions in the polar code, and the third bit position set indicates the position of information bits in the polar code; the processing unit 520 is further used to decode the received value sequence based on the third bit position set.
[0182] It should be understood that the specific process of each unit performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.
[0183] It should also be understood that the device 500 here is embodied in the form of a functional unit. The term "unit" here can refer to an application-specific integrated circuit (ASIC), electronic circuitry, a processor (e.g., a shared processor, a proprietary processor, or a group processor, etc.) and memory for executing one or more software or firmware programs, integrated logic circuitry, and / or other suitable components supporting the described functions. In an alternative example, those skilled in the art will understand that the device 500 can specifically be the communication device in the above embodiments, and can be used to execute the various processes and / or steps corresponding to the communication device in the above method embodiments; to avoid repetition, these will not be described again here.
[0184] The apparatus 500 of each of the above-described schemes has the function of implementing the corresponding steps performed by the communication device (such as an encoding device or a decoding device) in the above-described methods. The function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the transceiver unit can be replaced by a transceiver (e.g., the transmitting unit in the transceiver unit can be replaced by a transmitter, and the receiving unit in the transceiver unit can be replaced by a receiver), and other units, such as processing units, can be replaced by processors, each performing the transceiver operations and related processing operations in the respective method embodiments.
[0185] In addition, the transceiver unit 510 may also be a transceiver circuit (for example, it may include a receiving circuit and a transmitting circuit), and the processing unit may be a processing circuit.
[0186] It should be noted that the device in Figure 5 can be the communication device (such as an encoding device or a decoding device) in the aforementioned embodiments, or it can be a chip or a chip system, such as a system on a chip (SoC). The transceiver unit can be an input / output circuit or a communication interface; the processing unit is a processor, microprocessor, or integrated circuit integrated on the chip. No limitations are imposed here.
[0187] Referring to Figure 6, as an example, Figure 6 is a schematic diagram of another communication device 600 provided in an embodiment of this application. The device 600 includes a processor 610, which is coupled to a memory 620. The memory 620 is used to store computer programs or instructions and / or data. The processor 610 is used to execute the computer programs or instructions stored in the memory 620, or to read the data stored in the memory 620, to perform the methods in the above method embodiments.
[0188] Optionally, there may be one or more processors 610.
[0189] Optionally, the memory 620 may be one or more.
[0190] Alternatively, the memory 620 can be integrated with the processor 610, or it can be set separately.
[0191] Optionally, as shown in FIG6, the device 600 further includes a transceiver 630 for receiving and / or transmitting signals. For example, the processor 610 is used to control the transceiver 630 to receive and / or transmit signals.
[0192] As an example, processor 610 may have the functions of processing unit 520 shown in FIG5, memory 620 may have the functions of storage unit, and transceiver 630 may have the functions of transceiver unit 510 shown in FIG5.
[0193] As one approach, the device 600 is used to implement the operations performed by the communication device (such as an encoding device or a decoding device) in the various method embodiments described above.
[0194] For example, processor 610 is used to execute computer programs or instructions stored in memory 620 to implement the relevant operations of the communication device in the various method embodiments described above.
[0195] It should be understood that the processor mentioned in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0196] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0197] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.
[0198] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0199] Referring to Figure 7, as an example, Figure 7 is a schematic diagram of a chip system 700 provided in an embodiment of this application. The chip system 700 (or may also be called a processing system) includes logic circuitry 710 and an input / output interface 720.
[0200] The logic circuit 710 can be a processing circuit in the chip system 700. The logic circuit 710 can be coupled to a memory unit, calling instructions from the memory unit, enabling the chip system 700 to implement the methods and functions of the embodiments of this application. The input / output interface 720 can be an input / output circuit in the chip system 700, outputting processed information or inputting data or signaling information to be processed into the chip system 700 for processing.
[0201] As one approach, the chip system 700 is used to implement the operations performed by the communication device (such as an encoding device or a decoding device) in the various method embodiments described above.
[0202] For example, logic circuit 710 is used to implement processing-related operations performed by a communication device (such as an encoding device or a decoding device) in the above method embodiments; input / output interface 720 is used to implement sending and / or receiving-related operations performed by a communication device (such as an encoding device or a decoding device) in the above method embodiments.
[0203] This application also provides a computer-readable storage medium storing a computer program or instructions for implementing the methods executed by a communication device (such as an encoding device or a decoding device) in the above-described method embodiments. For example, when the computer program or instructions are run on the communication device, the communication device (such as an encoding device or a decoding device) causes the communication device to execute the above-described methods (such as method 400).
[0204] This application also provides a computer program product comprising instructions that, when executed by a computer, implement the methods described above, performed by a communication device (such as an encoding device or a decoding device). For example, when the computer program or instructions are run on the communication device, the communication device (such as an encoding device or a decoding device) performs the methods described above (such as method 400).
[0205] This application also provides a communication system that includes the encoding and / or decoding devices described in the embodiments above. For example, the system includes the encoding and decoding devices shown in the embodiment of FIG4.
[0206] The explanations and beneficial effects of the relevant contents in any of the devices provided above can be found in the corresponding method embodiments provided above, and will not be repeated here.
[0207] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of apparatus or units may be electrical, mechanical, or other forms.
[0208] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. For example, the computer can be a personal computer, a server, or a decoding device, etc. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs). For example, the aforementioned available media include, but are not limited to, USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, and other media capable of storing program code.
[0209] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A polar code encoding method, characterized in that, include: Obtain the first bit sequence to be encoded; The first set of bit positions is determined based on the reliability sequence, which indicates the reliability order of bit positions in the polar code. The first set of bit positions indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2. The T bit positions are the pre-frozen bit positions in the polar code. Wherein, N represents the length of the mother code of the polar code, and T is a positive integer. A third bit position set is determined based on the first bit position set and the second bit position set, wherein the second bit position set indicates the position of punched or shortened bits in the polar code, and the third bit position set indicates the position of information bits in the polar code; The first bit sequence is encoded according to the third bit position set.
2. A method for decoding polar codes, characterized in that, include: Obtain the sequence of received values; The first set of bit positions is determined based on the reliability sequence, which indicates the reliability order of bit positions in the polar code. The first set of bit positions indicates the T bit positions in the polar code with the lowest reliability and an index less than N / 2. The T bit positions are the pre-frozen bit positions in the polar code. Wherein, N represents the length of the mother code of the polar code, and T is a positive integer. A third bit position set is determined based on the first bit position set and the second bit position set, wherein the second bit position set indicates the position of punched or shortened bits in the polar code, and the third bit position set indicates the position of information bits in the polar code; The received value sequence is decoded based on the third bit position set.
3. The method according to claim 1 or 2, characterized in that, The third bit position set indicates the K most reliable bit positions in the fourth bit position set; wherein, the fourth bit position set indicates the bit positions in the polar code other than the first bit position set and the second bit position set, and K is a positive integer.
4. The method according to any one of claims 1 to 3, characterized in that, The value of T depends on at least one of the following: The length N of the mother code of the polar code; or, The code length E of the polar code; or, The number of information bits K in the polar code; or... The code rate of the polar code is R = K / E.
5. The method according to any one of claims 1 to 4, characterized in that, If R is less than or equal to the first threshold, the second bit position set indicates the punctured bit positions in the polar code; or... If R is greater than the first threshold, the second bit position set indicates the shortened bit position in the polar code; Wherein, R represents the code rate of the polar code.
6. The method according to any one of claims 1 to 5, characterized in that, If E / N ≥ 17 / 32, or, If E / N < 17 / 32, Where E represents the code length of the polar code, This indicates rounding up to the nearest integer.
7. The method according to any one of claims 1 to 5, characterized in that, When R ≥ 3 / 4, T = 0; or, When R < 3 / 4 If E / N ≥ 33 / 64 or, If E / N < 33 / 64 Where E represents the code length of the polar code, This indicates rounding up to the nearest integer.
8. A communication device, characterized in that, It includes modules or units for performing the method according to any one of claims 1, 3 to 7; or, it includes modules or units for performing the method according to any one of claims 2 to 7.
9. A communication device, characterized in that, The device includes at least one processor and an interface circuit, the interface circuit being configured to receive signals from other communication devices besides the communication device and transmit them to the processor, or to send signals from the processor to other communication devices besides the communication device, the processor causing the method as described in any one of claims 1, 3 to 7 to be implemented, or causing the method as described in any one of claims 2 to 7 to be implemented, through logic circuits or by executing code instructions.
10. The communication device according to claim 9, characterized in that, The communication device is a chip or chip system.
11. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed, cause the method as described in any one of claims 1, 3 to 7 to be implemented, or cause the method as described in any one of claims 2 to 7 to be implemented.
12. A computer program product, characterized in that, Includes a computer program that, when run, causes the method as described in any one of claims 1, 3 to 7 to be implemented, or causes the method as described in any one of claims 2 to 7 to be implemented.
13. A communication system, characterized in that, include: A transmitting device for performing the method as described in any one of claims 1, 3 to 7; A receiving device for performing the method as described in any one of claims 2 to 7.
14. A chip, characterized in that, Includes a processor for executing a computer program stored in a memory to cause the method as described in any one of claims 1, 3 to 7 to be implemented, or to cause the method as described in any one of claims 2 to 7 to be implemented.