WO2025252033A1 - 通信方法和通信装置 - Google Patents
通信方法和通信装置Info
- Publication number
- WO2025252033A1 WO2025252033A1 PCT/CN2025/098463 CN2025098463W WO2025252033A1 WO 2025252033 A1 WO2025252033 A1 WO 2025252033A1 CN 2025098463 W CN2025098463 W CN 2025098463W WO 2025252033 A1 WO2025252033 A1 WO 2025252033A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- positions
- row weight
- position set
- bits
- weight corresponding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Definitions
- This application relates to the field of coding, and more specifically, to a communication method and a communication device.
- PC-Polar code parity check polar code
- PM path metric
- SCL Successive Cancellation List
- the main principle of the PC-Polar code is that if n PC bits are needed, n PC positions are selected from the N frozen bits of the bit to be encoded as PC positions. The values at these PC positions are different from the other frozen bits; they are not fixed at 0.
- the value of the PC position is determined based on the values of the bits to be encoded preceding that PC position and the PC check relation. For example, the PC check relation indicates that the value of the current PC position is the XOR result of the bit at the i-th position preceding that PC position and the bit at the j-th position.
- Embodiments of this application provide a communication method and a communication device, giving a PC bit placement method based on the requirement to determine the correct decoding path using PC bits.
- a communication method is provided, which can be executed by a transmitting device.
- the term "transmitting device” in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.
- the method includes: obtaining the number of A information bits and nPC parity check bits, where A information bits include K payload bits and L cyclic redundancy check (CRC) bits, and K, L, and nPC are all positive integers; generating a first bit sequence, which includes N bits, including A information bits and nPC PC bits, where A information bits and nPC PC bits are located at the (A+ nPC ) positions with the highest sequence reliability in the first bit sequence, where N is 2 to the power of n and n is a positive integer; the nPC PC positions where the nPC PC bits are placed satisfy a first condition and a second condition; the first condition is that the minimum row weight corresponding to the A positions where the A information bits are located is not less than the minimum row weight corresponding to the A positions with the highest sequence reliability in the first bit sequence, where each position corresponds to one row weight; the second condition is that the k-th highest position number among the nPC position numbers corresponding to the nPC PC positions is greater than or equal
- the A information bits and n PC PC bits are always located at the (A+n PC ) positions with the highest sequence reliability in the first bit sequence, and the remaining N-(A+n PC ) positions are used to place frozen bits.
- the first condition can also be understood as the code spectrum corresponding to the positions of the A information bits in the first bit sequence being no worse than the original code spectrum.
- the original code spectrum refers to the code spectrum corresponding to placing the A information bits at the A positions with the highest sequence reliability in the first bit sequence when no PC bits exist.
- the larger the position number of the PC bit the wider the verification range of the PC bit.
- the n PC bits are placed, as long as the verification range corresponding to the n PC bits in the first bit sequence is not worse than the verification range corresponding to the n PC bits in the first PC placement method, where the n PC bits are placed in the position with the lowest sequence reliability among the (A+n PC ) positions with the highest sequence reliability in the first bit sequence, then the n PC positions of the first bit sequence are considered to satisfy the second condition.
- a communication method is provided, which can be executed by a receiving device.
- the term "receiving device” in this application can refer to the receiving device itself (e.g., a network device, a terminal device), a component in the receiving device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the receiving device.
- the method includes: acquiring a symbol sequence; determining the log-likelihood ratio (LLR) of the positions where A information bits and n PC check bits (PC bits) are placed in N positions of a first bit sequence based on the symbol sequence, wherein the A information bits include K payload bits and L cyclic redundancy check (CRC) bits, and the A information bits and n PC bits are located at the (A+n PC ) positions with the highest sequence reliability in the first bit sequence, wherein N is 2 to the power of n, and K, L, and n PC are all positive integers, wherein the n PC positions where the n PC bits are placed satisfy a first condition and a second condition, wherein the first condition is that the minimum row weight corresponding to the A positions where the A information bits are located is not less than the minimum row weight corresponding to the A positions with the highest sequence reliability in the first bit sequence, wherein each position corresponds to a row weight, and the second condition is that the k-th highest position number among the n PC position numbers
- the PM of the S decoding paths is determined based on the LLR corresponding to the position before the i-th PC position; if the first value of the i-th PC position corresponding to the first decoding path is different from the second value of the i-th PC position, the PM of the first decoding path is increased, wherein the first decoding path is any path among the S paths, the first value is determined based on the decoding result corresponding to the first decoding path and the PC check relationship corresponding to the i-th PC position, and the second value is the hard decision result of the LLR corresponding to the i-th PC position; if the first value of the i-th PC position corresponding to the first decoding path is the same as
- nPC 3.
- the first PC position among the 3 PC positions is determined based on the minimum row weight corresponding to the second position set S2 and the row weight corresponding to the first candidate position.
- the first PC position is the first PC position determined among the 3 PC positions.
- the first candidate position is the position with the highest sequence reliability in the third position set S3.
- the second position set S2 includes the A positions with the highest sequence reliability in the first bit sequence. If the row weight corresponding to the first candidate position is less than the minimum row weight corresponding to the second position set S2, the first candidate position is taken as the first PC position.
- the fourth position set S4 includes the position in the first position set S1 with the minimum row weight equal to the row weight of the second position set S2.
- the first position set S1 includes the second position set S2 and the first candidate position.
- the second PC position among the three PC positions is determined based on the minimum row weight corresponding to the second position set S2 after the first update and the row weight corresponding to the second candidate position.
- the second PC position is the second determined PC position among the three PC positions.
- the second candidate position is the position with the second highest sequence reliability in the third position set S3.
- the second position set S2 after the first update is the position set after deleting the first PC position in the first position set S1. If the row weight corresponding to the second candidate position is less than the minimum row weight corresponding to the second position set S2 after the first update, the second candidate position is used as the second PC position.
- the fifth position set S5 includes the position in the first position set S1 after the first update where the row weight is equal to the minimum row weight of the second position set S2 after the first update.
- the first position set S1 after the first update includes the second position set S2 after the first update and the second candidate position.
- the i-th PC position among n PC positions is determined based on the minimum row weight corresponding to the second position set S2 in the i-th round and the row weight of the i-th candidate position in the third position set.
- the i-th candidate position is the position with the i-th highest sequence reliability in the third position set S3.
- the n PC positions in the third position set S3 are determined as a PC position in descending order of sequence reliability.
- the first PC position among the n PC positions is determined based on the row weight of the second position set S2 in the first round and the row weight of the first candidate position.
- the second position set S2 in the first round includes the A positions with the highest sequence reliability in the first bit sequence, and the first candidate position is the position with the highest sequence reliability in the third position set S3, where 1 ⁇ i ⁇ n PC. -1; If the row weight corresponding to the i-th candidate position is less than the minimum row weight corresponding to the second position set S2 in the i-th round, the i-th candidate position is taken as the i-th PC position. If the row weight corresponding to the i-th candidate position is greater than or equal to the minimum row weight corresponding to the second position set S2 in the i-th round, the position with the largest position number or the highest sequence reliability in the fourth position set S4 is taken as the i-th PC position.
- the fifth position set S5 includes the position in the first position set S1 of the (i+1)th round with the minimum row weight equal to the minimum row weight of the second position set S2 of the (i+1)th round.
- the first position set S1 of the (i+1)th round includes the second position set S2 of the (i+1)th round and the (i+1)th candidate position.
- the fourth position set S4 includes the positions in the first position set S1 with row weight equal to the minimum row weight of the second position set S2.
- the method further includes: determining the values of the n PC bits based on the PC check relationships corresponding to the n PC PC positions.
- a communication method is provided, which can be executed by a transmitting device.
- the term "transmitting device” in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.
- the i-th PC position among n PC positions is determined based on the minimum row weight corresponding to the second position set S2 in the i-th round and the row weight of the i-th candidate position in the third position set.
- the i-th candidate position is the position with the i-th highest sequence reliability in the third position set S3.
- the n PC positions in the third position set S3 are determined as candidate positions in descending order of sequence reliability.
- the first PC position among the n PC positions is determined based on the row weight of the second position set S2 in the first round and the row weight of the first candidate position.
- the second position set S2 in the first round includes the A positions with the highest sequence reliability in the first bit sequence.
- the first candidate position is the position with the highest sequence reliability in the third position set S3, where 1 ⁇ i ⁇ n PC - 1.
- the (i+1)th PC position among n PC positions is determined based on the row weight of the second position set S2 in the (i+1)th round and the row weight of the (i+1)th candidate position.
- the second position set S2 in the (i+1)th round includes the remaining positions from the first position set in the ith round, excluding the ith PC position.
- the (i+1)th candidate position is the position with the (i+1)th highest sequence reliability in the third position set S3.
- the (i+1)th candidate position is taken as the (i+1)th PC position.
- the fifth position set S5 includes the position in the first position set S1 in the (i+1)th round with the minimum row weight equal to the minimum row weight of the second position set S2 in the (i+1)th round.
- the first position set S1 in the (i+1)th round includes the second position set S2 in the (i+1)th round and the (i+1)th candidate position.
- the first bit sequence is polar-coded to obtain a codeword sequence; the codeword sequence is then output.
- a communication method is provided, which can be executed by a transmitting device.
- the term "transmitting device” in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.
- the method includes: obtaining the number of A information bits and nPC parity check bits, where A information bits include K payload bits and L cyclic redundancy check (CRC) bits, and K, L, and nPC are all positive integers; generating a first bit sequence, which includes N bits, comprising A information bits and nPC PC bits, wherein the A information bits and nPC PC bits are located at the (A+ nPC ) positions with the highest sequence reliability in the first bit sequence, where N is 2 to the power of n and n is a positive integer.
- a information bits include K payload bits and L cyclic redundancy check (CRC) bits, and K, L, and nPC are all positive integers
- generating a first bit sequence which includes N bits, comprising A information bits and nPC PC bits, wherein the A information bits and nPC PC bits are located at the (A+ nPC ) positions with the highest sequence reliability in the first bit sequence, where N is 2 to the power of n and n
- the n PC positions are determined based on the minimum row weight corresponding to the second position set S2 and the row weight corresponding to the n PC positions in the third position set S3.
- the second position set S2 includes the A positions with the highest sequence reliability in the first bit sequence.
- the fourth position set S4 includes the positions in the first position set S1 whose row weight is equal to the minimum row weight of the second position set S2.
- the method includes: obtaining the number of A information bits and nPC parity check bits, where A information bits include K payload bits and L cyclic redundancy check (CRC) bits, and K, L, and nPC are all positive integers; generating a first bit sequence, which includes N bits, comprising A information bits and nPC PC bits, wherein the A information bits and nPC PC bits are located at the (A+ nPC ) positions with the highest sequence reliability in the first bit sequence, where N is 2 to the power of n and n is a positive integer.
- a information bits include K payload bits and L cyclic redundancy check (CRC) bits, and K, L, and nPC are all positive integers
- generating a first bit sequence which includes N bits, comprising A information bits and nPC PC bits, wherein the A information bits and nPC PC bits are located at the (A+ nPC ) positions with the highest sequence reliability in the first bit sequence, where N is 2 to the power of n and n
- the i-th position in the third position set S3 is less than the minimum row weight corresponding to the second position set S2, then the i-th position is taken as a PC position, 1 ⁇ i ⁇ n PC .
- the position with the largest position number or the highest sequence reliability in the fifth position set S5 is taken as a PC position.
- the fifth position set S5 is the remaining positions in the fourth position set S4 excluding the determined PC positions.
- the fourth position set includes the position in the first position set S1 with the minimum row weight equal to the minimum row weight of the second position set S2.
- the first position set S1 includes the second position set S2 and the third position set S3.
- the device is either 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.
- the transceiver is a transceiver circuit.
- the input/output interface is an input/output circuit.
- the device is a chip, chip system, or circuit used in a transmitting or receiving device.
- the device further includes the memory.
- 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.
- a chip 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.
- 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.
- Figure 1 is a schematic diagram of the network architecture applicable to an embodiment of this application.
- Figure 2 is a schematic diagram of the information transmission process.
- Figure 3 is a schematic diagram of an 8 ⁇ 8 Polar code encoding.
- Figure 4 is a schematic diagram of SC decoding.
- Figure 6 is a schematic diagram of the binary graph of Polar code SCL-2 decoding.
- Figure 7 is a schematic flowchart of a communication method 700 provided in this application.
- Figures 8 to 10 are schematic diagrams of the code spectra corresponding to Tables 3 to 5, respectively.
- Figure 11 is a schematic block diagram of a communication device 1000 provided in an embodiment of this application.
- the terms “for indicating” or “instruction” can include both direct and indirect indication, or in other words, “for indicating” or “instruction” 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.
- "Predefined” can be implemented by pre-storing corresponding codes, tables, or other methods that can be used to indicate relevant information in the device; this application does not limit the specific implementation method.
- the "protocol” involved can refer to standard protocols in the field of communication, 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.
- LTE Long Term Evolution
- NR New Radio
- At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items.
- 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.
- a, b, and c can be single or multiple.
- 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, etc. They can also be applied to future communication systems, such as 6th generation mobile communication systems. Furthermore, they can 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.
- 5G 5th generation
- LTE-A Long Term
- the communication system applicable to embodiments of this application may include one or more transmitting devices and one or more receiving devices.
- one of the transmitting device and the receiving device may be a terminal device, and the other may be a network device.
- both the transmitting device and the receiving device may be terminal devices.
- both the transmitting device and the receiving device may be network devices.
- Figure 1 is a schematic diagram of a network architecture applicable to an embodiment of this application. As shown in Figure 1, 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 in other communication scenarios is not limited; for example, they can also be applied to sidelink communication.
- the terminal device 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 device, user agent, or user device, etc.
- UE user equipment
- MT mobile station
- remote station remote terminal
- mobile device user terminal
- terminal drone
- wireless communication device user agent, or user device, etc.
- the terminal device 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 a handheld device with wireless connectivity, vehicle-mounted device, 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.
- MIDs mobile internet devices
- VR virtual reality
- AR augmented reality
- 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.
- gNodeB next-generation base stations
- gNodeB next-generation base stations
- gNodeB next-generation base stations
- gNodeB next-generation base stations
- gNodeB next-generation base stations
- gNodeB
- network equipment may include centralized unit (CU) nodes, distributed unit (DU) nodes, RAN equipment including CU and DU nodes, RAN equipment including control plane CU nodes, user plane CU nodes, and DU nodes, or, in a cloud radio access network (CRAN) scenario, wireless controllers, relay stations, vehicle-mounted equipment, and wearable devices.
- 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, 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.
- 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.
- SoC system on a chip
- This means can be installed in the terminal device or network device.
- the chip system can be composed of chips, or it can include chips and other discrete devices.
- 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
- low-power scenarios can be, for example, M2M scenarios, MTC scenarios, or IoT scenarios.
- Figure 2 is a schematic diagram of the information transmission process.
- 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 involve the source coding, channel coding, channel decoding, and source recovery shown in Figure 2.
- Polar codes are the first channel coding scheme that can be rigorously proven to "achieve" Shannon channel capacity. They possess advantages such as 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.
- Figure 3 is a schematic diagram of an 8-bit Polar code encoding.
- the encoding process includes several polarization kernel operations (the polarization kernel is indicated by a small dashed box).
- the polarization kernel ANDs 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 combination of two 4-length Polar codes (corresponding to the two larger dashed boxes in the diagram), and a 4-length Polar code can be seen as a combination of two 2-length Polar codes.
- the N positions corresponding to the N bits to be encoded before Polar code encoding have different levels of reliability.
- the A positions with the highest reliability are used to place the A data bits from the bits to be encoded, and the remaining NA positions are used to place frozen bits.
- the bits in the frozen bits are usually 0, and the frozen bits are known to both the sending and receiving ends during actual transmission.
- the position carrying the A data bits can be called the data bit position
- the position carrying the frozen bits can be called the frozen bit position.
- the 8 bits to be encoded are the leftmost u0 to u7 .
- the bits to be encoded there are 4 information bits (i.e., u7 , u6 , u5 , u3 ).
- the four information bits are placed in the positions with the highest reliability.
- the remaining 4 positions are placed in the positions with the lowest reliability ( u4 , u2 , u1, u0 ).
- the remaining positions are placed in the positions with the lowest reliability (u4, u2, u1 , u0).
- the rightmost 8 codeword bits 01010101 are obtained and denoted as c0 to c7.
- the transmitting device sends c0 to c7 to channel W.
- the Successive Cancellation Decoding (SC) algorithm can be used.
- SC Successive Cancellation Decoding
- the decoding result is determined directly by hard decision. Specifically, the log-likelihood ratio (LLR) of the information bits is calculated step by step. For an information bit, if LLR > 0, the bit is determined to be 0; if LLR ⁇ 0, the bit is determined to be 1. For frozen bits, the bit is set to 0 regardless of the LLR value.
- Figure 4 shows a simple illustration of SC decoding. There are 8 computation nodes in the figure, including 4 f nodes and 4 g nodes.
- FIG. 5 is a schematic diagram of the binary tree for Polar code SC decoding. Each level of the binary tree represents the judgment result of one information bit. The left side of the binary tree can represent 0, and the right side can represent 1. The four decoding bits correspond to 24 decoding paths. The darker colored paths in the figure are the decoding paths obtained through hard decision.
- the SC algorithm has proven that Polar codes have achievable capacity over infinite lengths. However, its performance is unsatisfactory over finite lengths.
- the industry has proposed algorithms such as the Successive Cancellation List (SCL) decoding algorithm and the CRC-Aided Successive Cancellation List (CA-SCL) decoding algorithm to improve Polar code performance. These two algorithms are described below.
- the SCL algorithm is an extension of the SC algorithm.
- Figure 6 is a binary diagram of Polar code SCL-2 decoding. As shown in Figure 6, the SCL algorithm does not directly determine the decoding result through hard decision in the intermediate process, but saves the decoding results corresponding to 0 and 1 as two branch decoding paths. Using the above method, if the SCL algorithm saves a total of List decoding paths, and finally selects the correct path through the path metric (PM), the List paths can be sorted in ascending order of PM. The decoding path that appears earlier in the list is more likely to be the correct codeword.
- PM path metric
- This method of selecting paths without CRC is the way traditional SCL decoding outputs the final codeword, that is, it outputs the path with the optimal PM (i.e., the first path, the path with the smallest PM) as the final codeword.
- CA-SCL uses CRC check to select the correct path starting from the first path, thus obtaining better error correction performance of bit SCL.
- the two darker paths represent the two output paths of SCL2.
- the SCL decoder outputs the path with the smaller PM (more like the correct codeword) as the final decoding result.
- CA-SCL first tests the path with the smallest PM using CRC.
- CA-SCL decoding uses CRC path selection, employing List times of CRC checks, thus increasing the CRC error detection probability by List times, to List/2 L ⁇ sub>crc ⁇ /sub>. Therefore, using CRC path selection in CA-SCL decoding results in a loss of error detection performance.
- the PC bit can also be called a dynamically frozen bit (its position comes from the frozen bit, but its value is not fixed at 0).
- the position of the PC bit in this application can be called a dynamically frozen bit bit or a PC position; this application does not impose any restrictions.
- the addition of the PC bit can make the correct decoding path appear earlier, increasing the probability that the first output path is the correct codeword. Therefore, CRC verification of the decoding path can be avoided, thus saving the number of CRC uses without sacrificing CRC error detection capability.
- existing PC bit placement methods do not consider the need to determine the correct decoding path based on the PC bit; therefore, the decoding performance based on the PC bit needs improvement.
- this application provides a communication method that can effectively solve the above-mentioned technical problems.
- the embodiments of the method proposed in this application are described below.
- FIG. 7 is a schematic flowchart of a communication method 700 provided in this application. The method includes the following steps.
- sending device or “receiving device” can refer to the sending device or receiving device itself, or it can refer to a device that enables the sending device or receiving device to implement this function.
- sending device and “receiving device” to describe it.
- the sending device can be a terminal device or a network device
- the receiving device can be a terminal device or a network device.
- the transmitting device obtains A information bits and the number of PC bits nPC , where A information bits consist of K payload bits and L CRC bits, and K, L and nPC are all positive integers.
- the values of the n PC bits are determined based on the PC position of each PC bit and the corresponding PC parity check relationship. Therefore, it is necessary to first determine the placement of the n PC bits (i.e., determine the n PC positions), and then determine the value of the PC bit at each PC position.
- the transmitting device generates a first bit sequence, which includes N bits, including A information bits and n PC PC bits.
- the A information bits and n PC PC bits are located at the (A+n PC ) positions with the highest sequence reliability in the first bit sequence.
- N is the mother code length of the Polar codeword, N is 2 to the power of n, and n is a positive integer.
- the A information bits and n PC PC bits are always located in the (A+n PC ) positions with the highest sequence reliability in the first bit sequence.
- the remaining N-(A+n PC ) positions are used to place the frozen bits, and both the transmitting and receiving devices know the value of the frozen position.
- the value of the frozen bit can be fixed to 0.
- sequence reliability can also be replaced by the Gaussian approximate (GA) reliability, which is a reliability calculated based on the Gaussian approximation.
- GA Gaussian approximate
- the first condition is that the minimum row weight corresponding to the A positions where the A information bits are located is not less than the minimum row weight corresponding to the A positions with the highest sequence reliability in the first bit sequence, where each position corresponds to a row weight.
- a information bits and n PC PC bits are placed at the (A+n PC ) positions with the highest sequence reliability in the first bit sequence. If the n PC PC bits are placed at the n PC positions with the lowest sequence reliability among the (A+n PC ) positions with the highest sequence reliability (here referred to as the first PC placement method), the sequence reliability of the positions where the A information bits are located does not change, and the minimum row weight corresponding to the positions where the A information bits are located does not change compared to the minimum row weight corresponding to the A positions with the highest sequence reliability in the first bit sequence.
- the sequence reliability of the positions where the A information bits are located will be somewhat lost, and the minimum row weight corresponding to the positions where the A information bits are located may become larger, smaller, or remain unchanged compared to the minimum row weight corresponding to the A positions with the highest sequence reliability in the first bit sequence.
- the n PC positions of the first bit sequence are considered to satisfy the first condition.
- the second condition can be understood as the check range corresponding to the n PC bits in the first bit sequence being no worse than the check range corresponding to the n PC bits in the first PC placement.
- the placement of the first PC bits in this example is shown in Table 1.
- Table 1 includes 26 (A + nPC ) position numbers and the row weight for each position.
- the 26 position numbers indicate the 26 positions with the highest sequence reliability in the first bit sequence. Sequence reliability decreases from right to left; that is, position 256 has the highest sequence reliability, and position 190 has the lowest.
- the PC bits are placed in the three positions with the lowest sequence reliability in Table 1, and the CRC bits are placed in the position with the largest position number among the remaining positions.
- the three PC bits can be used to check as many payload bits as possible.
- placing the PC bits in the three positions with the largest position numbers in the first bit sequence can check all payload bits and CRC bits.
- the corresponding PC bit placement method in this example is shown in Table 2.
- the 3 PC bits at the end can detect these errors, thereby adding a penalty value to the PM value of the erroneous decoding path, causing the erroneous decoding path to move to the back of the List of paths, thus increasing the probability that the first path is the correct codeword.
- n PC PC bits can be placed at the position with the largest position number in position set #1, thereby maximizing the PC bit verification range (i.e., all payload and CRC bits before PC bit verification).
- the placement of the first PC bits in this example is shown in Table 3.
- Table 3 includes 28 (A + nPC ) position numbers and the row weight for each position.
- the 28 position numbers indicate the 28 positions with the highest sequence reliability in the first bit sequence. Sequence reliability decreases from right to left; that is, position 256 has the highest sequence reliability, and position 243 has the lowest.
- the PC bits are placed in the three positions with the lowest sequence reliability in Table 3, and the CRC bits are placed in the position with the largest position number among the remaining positions.
- the three PC bits need to verify as many payload bits as possible.
- placing the PC bits in the three positions with the largest position numbers in the first bit sequence can verify all payload bits and CRC bits.
- the corresponding PC bit placement method in this example is shown in Table 4.
- the sequence reliability of the positions where the payload bit and CRC bit are located is the highest (i.e., no loss of sequence reliability).
- the minimum row weight corresponding to the positions where the payload bit and CRC bit are located is 32, and there is only one position with a row weight of 32. If the PC bit is placed at this position with the minimum row weight, and the payload bit and CRC bit are moved forward in sequence, the minimum row weight corresponding to the payload bit and CRC bit will increase from 32 to 64.
- the PC bit placement method corresponding to this example is shown in Table 5.
- the sequence reliability of the positions where the payload bits and CRC bits are located in Table 5 will be lost.
- the minimum row weight corresponding to the position set formed by the positions where the payload bits and CRC bits are located becomes larger.
- the position numbers corresponding to the three PC bits in Table 4 are greater than the position numbers corresponding to the three PC bits in Table 3.
- the three PC positions in Table 5 satisfy the first and second conditions, that is, the PC placement method shown in Table 4 is also acceptable.
- the PC placement methods shown in Tables 4 and 5 are both acceptable. However, compared with the PC placement methods in Tables 3 and 4, the PC placement method shown in Table 5 improves the minimum row weight of the position set formed by the positions of the payload bits and CRC bits, which is better than the original code spectrum and improves the error correction capability of the code.
- Figures 8, 9, and 10 are schematic diagrams of the code spectra corresponding to Tables 3, 4, and 5, respectively.
- the horizontal axis represents code weight
- the vertical axis represents the number of codewords with the corresponding code weight.
- the code spectrum shown in Figure 9 is an improvement over the code spectrum shown in Figure 8.
- the PC placement method shown in Table 5 eliminates the positions with a row weight of 32 in the set of A information bits compared to Table 3. This is reflected in the code spectrum, where the code spectrum shown in Figure 10 is better than those shown in Figures 8 and 9.
- the placement of the first PC bits in this example is shown in Table 6.
- Table 6 includes 22 (A + nPC ) position numbers and the row weight for each position.
- the 22 position numbers indicate the 22 positions with the highest sequence reliability in the first bit sequence. Sequence reliability decreases from right to left; that is, position 128 has the highest sequence reliability, and position 121 has the lowest.
- the PC bits are placed in the three positions with the lowest sequence reliability in Table 6, and the CRC bits are placed in the position with the largest position number among the remaining positions.
- the three PC bits need to verify as many payload bits as possible.
- placing the PC bits in the three positions with the largest position numbers in the first bit sequence can verify all payload bits and CRC bits.
- the corresponding PC bit placement method in this example is shown in Table 7.
- the minimum row weight corresponding to the set of positions formed by the locations of the payload bits and CRC bits (i.e., A information bits) in Table 6 is 32, while the minimum row weight corresponding to the set of positions formed by the locations of the payload bits and CRC bits in Table 7 is 16.
- the minimum row weight has decreased, which does not meet the first condition. Therefore, the PC placement method shown in Table 7 is unacceptable.
- Example 3 Based on Example 3, in one possible implementation, if n PC PC bits are placed at the position with the largest position number in position set #1, which consists of A+n PC positions with the highest sequence reliability in the first bit sequence, the minimum row weight corresponding to position set #2, which consists of positions of A information bits, becomes smaller than the minimum row weight corresponding to position set #3, which consists of positions of A information bits, when using the first PC placement method. Then, n PC bits are placed based on the first PC placement method (i.e., the placement method shown in Table 6).
- Example 2 we know that there may be multiple ways to place the PC (Program Counter) bits to satisfy both the first and second conditions. Based on Example 3, we know that simply expanding the check range of the PC bits may degrade the original code spectrum. Therefore, to improve the original code spectrum when PC bits are absent, and to maximize the PC bit check range, a trade-off needs to be made between the check range and line weight to determine the PC position. Several specific methods for determining the PC position through this trade-off are given below.
- Implementation method one which may include the following steps.
- the n PC positions in the third position set are selected as candidate positions in descending order of sequence reliability to determine a PC position.
- the i-th candidate position is the position with the highest sequence reliability among n PC positions.
- the first candidate position is the position with the highest sequence reliability in the third position set
- the second candidate position is the position with the second highest sequence reliability in the third position set, and so on, which will not be elaborated here.
- the second position set in the first round indicates the A positions with the highest sequence reliability in the first bit sequence and the first candidate position in the third position set.
- the i-th candidate position is taken as the i-th PC position.
- the fourth position set S4 includes all positions in the first position set of the i-th round whose row weight is equal to the minimum row weight of the second position set S2 of the i-th round.
- a PC position (i.e., the i-th PC position) can be determined from the first position set. Then, the first and second position sets for the i-th round need to be updated to obtain the first and second position sets required for the (i+1)-th round, thereby determining the next PC position (i.e., the (i+1)-th PC position).
- the next PC position i.e., the (i+1)-th PC position.
- the second position set of round i+1 is the position set corresponding to the i-th PC position after deleting it from the first position set of round i.
- the first position set of round i+1 includes the i+1 candidate position from the second and third position sets of round i+1.
- the number of positions corresponding to the first position set used in each iteration is A+1.
- the (i+1)th candidate position is taken as the (i+1)th PC position.
- the fifth position set includes all positions in the first position set in the (i+1)th round whose row weight is equal to the minimum row weight of the second position set S2 in the (i+1)th round.
- nPC 3 as an example to illustrate implementation method one.
- the first PC position among the three PC positions is determined based on the minimum row weight corresponding to the second position set in the first round and the row weight corresponding to the first candidate position.
- the first PC position is the first PC position determined among the three PC positions.
- the first candidate position is the position with the highest sequence reliability in the third position set
- the second position set in the first round includes the A positions with the highest sequence reliability in the first bit sequence.
- the first candidate position is taken as the first PC position; if the row weight corresponding to the first candidate position is greater than or equal to the minimum row weight corresponding to the second position set in the first round, the position with the largest position number or the highest sequence reliability in the fourth position set is taken as the first PC position.
- the fourth position set includes all positions in the first position set in the first round whose row weight is equal to the minimum row weight of the second position set in the first round.
- the first position set in the first round includes the second position set in the first round and the first candidate position.
- the second PC position among the three PC positions is determined based on the minimum row weight corresponding to the second position set in the second round and the row weight corresponding to the second candidate position.
- the second PC position is the second determined PC position among the three PC positions.
- the second candidate position is the position with the second highest sequence reliability in the third position set
- the second position set in the second round is the position set corresponding to the first PC position in the first position set in the first round after deleting it.
- the second candidate position is taken as the second PC position; if the row weight corresponding to the second candidate position is greater than or equal to the minimum row weight corresponding to the second position set in the second round, the position with the largest position number or the highest sequence reliability in the fifth position set is taken as the second PC position.
- the fifth position set includes all positions in the first position set in the second round whose row weight is equal to the minimum row weight of the second position set in the second round.
- the first position set in the second round includes the second position set in the second round and the second candidate position.
- the third PC position among the three PC positions is determined based on the minimum row weight corresponding to the second position set in the third round and the row weight corresponding to the third candidate position.
- the third PC position is the third PC position determined among the three PC positions.
- the third candidate position is the position with the lowest sequence reliability in the third position set
- the second position set in the third round is the position set corresponding to the deletion of the second PC position in the first position set in the second round.
- the third candidate position is taken as the third PC position; if the row weight corresponding to the third candidate position is greater than or equal to the minimum row weight corresponding to the second position set in the third round, the position with the largest position number or the highest sequence reliability in the sixth position set is taken as the third PC position.
- the sixth position set includes all positions in the first position set in the third round whose row weight is equal to the minimum row weight of the second position set in the third round.
- the first position set in the third round includes the second position set in the third round and the third candidate position.
- This value is used to indicate a newly added position (i.e., to indicate a candidate PC position in the third position set). Initialize this value, which is equivalent to i in implementation method one.
- nPC 3; // Initialize the total number of target PC bits
- Sequence B is a sequence of length N, and the N elements in sequence B are N position numbers. Each position number indicates a position, and the positions indicated by the N elements are sorted from low to high sequence reliability, that is, the sequence reliability of the position corresponding to the first element is the lowest, and the sequence reliability of the position corresponding to the last element is the highest.
- weights is a sequence of length N, which records the row weight corresponding to each of the N positions.
- end indicates the number of the last position in sequence B.
- the last position in sequence B is the position with the highest reliability. end equals N, and A is the number of information bits.
- S1_weights weights(S1); // Get the row weights of all positions in S1
- w_min_new S1_weights(1); // Get the row weight corresponding to the new position.
- S2_weights weights(S2); // Get the weights of the rows in set S2
- w_min min(S2_weights); // Get the minimum row weight corresponding to set S2
- Implementation Method 2 can be seen as replacing the maximum position numbering criterion in Implementation Method 1 with the highest sequence reliability criterion. Specifically, the difference between Implementation Method 2 and Implementation Method 1 lies in steps b) and e). In step b) of Implementation Method 2, if the row weight corresponding to the i-th candidate position is greater than or equal to the minimum row weight corresponding to the second position set, then the first position in the second position set is taken as the i-th PC position, and the first position is the position with the highest sequence reliability among the positions with the minimum row weight in the second position set.
- step e) if the row weight corresponding to the (i+1)-th candidate position is greater than or equal to the minimum row weight corresponding to the updated second position set, then the first position in the updated second position set is taken as the (i+1)-th PC position, and the first position is the position with the highest sequence reliability among the positions with the minimum row weight in the updated second position set.
- This value is used to indicate a newly added position (i.e., to indicate a candidate PC position in the third position set). Initialize this value; it is equivalent to i in implementation method one.
- nPC 3; // Initialize the total number of target PC bits
- end indicates the number of the last position in sequence B.
- the last position in sequence B is the position with the highest reliability. end equals N, and A is the number of information bits.
- S1_weights weights(S1); // Get the row weights of all positions in S1
- w_min_new S1_weights(1); // Get the row weight corresponding to the new position.
- S2_weights weights(S2); // Get the weights of the rows in set S2
- w_min min(S2_weights); // Get the minimum row weight corresponding to set S2
- implementation method three when the row weight corresponding to the candidate position is greater than or equal to the minimum row weight corresponding to the second position set in steps b) and e), the corresponding operations are the same: the position with the largest position number in the second position set needs to be used as the PC position. Therefore, implementation method three can be further subdivided: if it is equal to the minimum row weight, the first position is the position with the largest position number in the second position set; if it is greater, the first position is the position with the highest sequence reliability in the second position set.
- This value is used to indicate a newly added position (i.e., to indicate a candidate PC position in the third position set). Initialize this value; it is equivalent to i in implementation method one.
- nPC 3; // Initialize the total number of target PC bits
- end indicates the number of the last position in sequence B.
- the last position in sequence B is the position with the highest reliability. end equals N, and A is the number of information bits.
- S1_weights weights(S1); // Get the row weights of all positions in S1
- w_min_new S1_weights(1); // Get the row weights corresponding to the new position.
- S2_weights weights(S2); // Get the weights of the rows in set S2
- w_min min(S2_weights); // Get the minimum row weight corresponding to set S2
- implementation method four lies in steps b) and e). It can be seen that in implementation method one, when the row weight corresponding to the candidate position is greater than or equal to the minimum row weight corresponding to the second position set in steps b) and e), the corresponding operations are the same: the position with the largest position number in the second position set needs to be used as the PC position. Therefore, implementation method four can be further subdivided: if it is greater than, then the first position is the position with the largest position number in the second position set; if it is equal to, then the first position is the position with the highest sequence reliability in the second position set.
- This value is used to indicate a newly added position (i.e., to indicate a candidate PC position in the third position set). Initialize this value, which is equivalent to i in implementation method one.
- nPC 3; // Initialize the total number of target PC bits
- end indicates the number of the last position in sequence B.
- the last position in sequence B is the position with the highest reliability. end equals N, and A is the number of information bits.
- S1_weights weights(S1); // Get the row weights of all positions in S1
- w_min_new S1_weights(1); // Get the row weight corresponding to the new position.
- S2_weights weights(S2); // Get the weights of the rows in set S2
- w_min min(S2_weights); // Get the minimum row weight corresponding to set S2
- Implementation method five includes the following steps.
- the second set of positions indicates the A positions with the highest sequence reliability in the first bit sequence
- the third set of positions indicates the n PC positions with the lowest sequence reliability among the (A+n PC ) positions with the highest sequence reliability.
- the first set of positions can be understood as indicating the (A+n PC ) positions with the highest sequence reliability in the first bit sequence.
- Implementation method six includes the following steps.
- the i-th position in the third position set is less than the minimum row weight corresponding to the second position set, the i-th position is taken as a PC position, 1 ⁇ i ⁇ n PC .
- the fifth position set consists of the remaining positions in the fourth position set excluding the determined PC positions.
- the fourth position set includes all positions in the first position set whose row weight is equal to the minimum row weight of the second position set.
- a information bits are placed in the remaining A positions (excluding the n PC positions) of the (A+n PC ) positions with the highest sequence reliability in the first bit sequence. Furthermore, the values of the PC bits at the n PC positions are determined based on the PC check relationships corresponding to the n PC positions, thus obtaining the first bit sequence to be encoded.
- the transmitting device performs Polar encoding on the first bit sequence and outputs a codeword sequence.
- the transmitting device determines the symbol sequence based on the codeword sequence.
- a symbol sequence can be a rate-matched sequence or a modulated sequence.
- the transmitting device performs rate matching on the codeword sequence, then modulates the rate-matched sequence to obtain a symbol sequence, and then maps the modulated symbol sequence onto physical resources for transmission.
- the modulation method can be QPSK (quaternary phase shift keying), which maps the modulated QPSK symbols (i.e., codeword sequence #2) onto physical resources for transmission.
- the transmitter modulates the rate-matched codeword sequence, modulating bits 0 to 1 and bits 1 to -1, resulting in the symbol sequence to be transmitted.
- the sequence before modulation is ⁇ 1,0,0,1,1,0 ⁇
- the modulated sequence, symbol sequence #1 is ⁇ -1,1,1,-1,-1,1 ⁇ .
- the transmitting device sends a symbol sequence to the receiving device.
- the receiving device receives the symbol sequence from the transmitting device.
- the symbol sequence #1 output or transmitted by the transmitting device may be different from the symbol sequence #2 received by the receiving device.
- S760 The receiving device performs PC-SCL decoding on the symbol sequence to obtain the first bit sequence.
- the PC positions obtained by the receiving device and the sending device are the same, and this application does not specifically limit how the receiving and sending devices obtain the PC positions.
- the receiving and sending devices can determine the PC positions themselves based on the same criteria.
- the receiving device knows the position ranges corresponding to A information bits, n PC PC positions, and frozen bits.
- the A information bits and n PC PC positions are the (A+n PC ) positions with the highest sequence reliability in the first bit sequence.
- the frozen bits are the remaining NAn PC positions in the first bit sequence.
- this PC-SCL decoding algorithm does not use CRC to test the decoding path, but corrects the path criterion PM of SCL decoding through PC bits, thereby increasing the probability that the correct decoding path is at the beginning.
- each decoding i.e., decoding a bit
- each decoding only saves the 8 decoding paths with the smallest current PM as candidate decoding paths. So, the current bit at the i-th PC position needs to be decoded, and the corresponding decoding process includes the following steps.
- the symbol sequence #1 sent by the transmitter is ⁇ -1,1,1,-1,-1,1 ⁇ .
- the receiver demodulates the symbol sequence #2 to obtain the LLR corresponding to the positions where A information bits and n PC PC bits are placed in the first bit sequence, for example, ⁇ -0.8,1.1,0.9,-0.9,-1.2,0.6 ⁇ .
- the i-th PC position is any position among the n PC positions of the first bit sequence.
- the 8 decoding paths here are the 8 paths with the smallest PM among the 16 decoding paths.
- the PM of each decoding path is determined based on the LLR corresponding to all (i-1) positions before the i-th PC position.
- decoding path #1 is any one of the current 8 decoding paths.
- the first value is determined based on the decoding result corresponding to decoding path #1 and the PC check relationship corresponding to the i-th PC position.
- the second value is the hard decision result of the LLR corresponding to the i-th PC position.
- the PM value of decoding path #1 is increased, that is, a new PM is obtained by adding a value to the current PM.
- the decoding path with a smaller PM is more likely to be the correct codeword. Therefore, the penalty for the decoding path can be increased by increasing the PM value of the decoding path.
- the decoding path with a larger PM is more likely to be the correct codeword.
- the S decoding paths with the largest PM are selected.
- the penalty for the decoding path can also be increased by reducing the PM value of the decoding path, that is, by subtracting a value from the PM of the current decoding path.
- the methods and operations implemented by the device can also be implemented by components of the device (such as chips or circuits), without limitation.
- FIGs 11 and 12 are schematic diagrams of possible apparatus structures provided in embodiments of this application. These apparatuses can be used to implement the functions of the transmitting or receiving devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
- FIG 11 is a schematic block diagram of a communication device 1000 provided in an embodiment of this application.
- the device 1000 may include a communication unit 1010 and a processing unit 1020.
- the communication unit 1010 can communicate with the outside world, and the processing unit 1020 is used for data processing.
- the communication unit 1010 may also be referred to as a communication interface or a transceiver unit.
- the device 1000 can implement the steps or processes corresponding to those performed by the transmitting device in the above method embodiments, wherein the processing unit 1020 is used to perform processing-related operations of the transmitting device in the above method embodiments, and the communication unit 1010 is used to perform transmission-related operations of the transmitting device in the above method embodiments.
- the device 1000 can implement the steps or processes corresponding to those performed by the receiving device in the above method embodiments, wherein the communication unit 1010 is used to perform the receiving-related operations of the receiving device in the above method embodiments, and the processing unit 1020 is used to perform the processing-related operations of the receiving device in the above method embodiments.
- the device 1000 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.
- ASIC application-specific integrated circuit
- processor e.g., a shared processor, a proprietary processor, or a group processor, etc.
- memory for executing one or more software or firmware programs, integrated logic circuitry, and/or other suitable components supporting the described functions.
- the device 1000 may specifically be the transmitting end device in the above embodiments, used to execute the various processes and/or steps corresponding to the transmitting end device in the above method embodiments; or, the device 1000 may specifically be the receiving end device in the above embodiments, used to execute the various processes and/or steps corresponding to the receiving end device in the above method embodiments. To avoid repetition, further details are omitted here.
- the apparatus 1000 of each of the above-described schemes has the function of implementing the corresponding steps performed by the transmitting device in the above-described method, or the apparatus 1000 of each of the above-described schemes has the function of implementing the corresponding steps performed by the receiving device in the above-described method.
- the function can be implemented by hardware or by hardware executing corresponding software.
- the hardware or software includes one or more modules corresponding to the above functions; for example, the communication unit can be replaced by a transceiver (e.g., the transmitting unit in the communication unit can be replaced by a transmitter, and the receiving unit in the communication unit can be replaced by a receiver), and other units, such as processing units, can be replaced by a processor, respectively executing the transmission and reception operations and related processing operations in each method embodiment.
- the aforementioned communication unit can also be a transceiver circuit (e.g., it may include a receiving circuit and a transmitting circuit), and the processing unit can be a processing circuit.
- the device in FIG11 can be the receiving end device or transmitting end device in the foregoing embodiments, or it can be a chip or a chip system, such as a system on chip (SoC).
- the communication 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 limitation is made here.
- FIG 12 is a schematic block diagram of a communication device 1100 provided in an embodiment of this application.
- the device 1100 includes a processor 1110 and a transceiver 1120.
- the processor 1110 and the transceiver 1120 communicate with each other through an internal connection path.
- the processor 1110 is used to execute instructions to control the transceiver 1120 to send and/or receive signals.
- the device 1100 may further include a memory 1130, which communicates with the processor 1110 and the transceiver 1120 via an internal connection path.
- the memory 1130 stores instructions, and the processor 1110 can execute the instructions stored in the memory 1130.
- the device 1100 is used to implement the various processes and steps corresponding to the transmitting device in the above method embodiments. In another possible implementation, the device 1100 is used to implement the various processes and steps corresponding to the receiving device in the above method embodiments.
- the memory 1130 may be integrated into the processor 1110.
- device 1100 includes at least one processor with integrated memory, and other memory besides the memory integrated on the processor.
- the device 1100 can specifically be the transmitting or receiving device in the above embodiments, or it can be a chip or a chip system.
- the transceiver 1120 can be the transceiver circuit of the chip, which is not limited here.
- the device 1100 can be used to execute the various steps and/or processes corresponding to the transmitting or receiving device in the above method embodiments.
- the memory 1130 may include read-only memory and random access memory, and provide instructions and data to the processor.
- the memory may include non-volatile random access memory.
- the memory may also store device type information.
- the processor 1110 may be used to execute instructions stored in the memory, and when the processor 1110 executes instructions stored in the memory, the processor 1110 is used to perform the various steps and/or processes of the method embodiments corresponding to the transmitting or receiving devices described above.
- each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software.
- the steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor.
- the software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
- the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form.
- the processor can be a general-purpose processor, digital signal processing (DSP), ASIC, field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
- DSP digital signal processing
- FPGA field-programmable gate array
- the processor in the embodiments of this application can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application.
- the general-purpose processor can be a microprocessor or any conventional processor.
- the steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
- the software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
- the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
- the 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.
- the volatile memory can be random access memory (RAM), which is used as an external cache.
- RAM synchronous dynamic random access memory
- SDRAM synchronous dynamic random access memory
- DDR SDRAM double data rate synchronous dynamic random access memory
- ESDRAM enhanced synchronous dynamic random access memory
- SLDRAM synchronous linked dynamic random access memory
- DR RAM direct rambus RAM
- the memory in this embodiment may be integrated into the processor (e.g., 1110).
- this application also provides a computer-readable storage medium storing computer instructions, which, when executed on a computer, cause the operations and/or processes performed by the sending or receiving device in the various method embodiments of this application to be executed.
- This application also provides a computer program product, which includes computer program code or instructions.
- the computer program code or instructions are run on a computer, the operations and/or processes performed by the sending end device or the receiving end device in the various method embodiments of this application are executed.
- this application also provides a chip including a processor.
- a memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory, such that operations and/or processes performed by a transmitting or receiving device in any method embodiment are performed.
- the chip may also include a communication interface.
- the communication interface may be an input/output interface or an interface circuit, etc.
- the chip may also include a memory.
- this application also provides a communication system, including the transmitting end device and the receiving end device in the embodiments of this application.
- memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
- the disclosed systems, devices, and methods can be implemented in other ways.
- the device embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods.
- multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
- the units described as separate components may or may not be physically separate.
- 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 the units can be selected to achieve the purpose of this embodiment according to actual needs.
- the functional units in the various embodiments of this 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.
- the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
- This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
- the aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
- B corresponding to A means that B is associated with A, and B can be determined based on A.
- determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and/or other information.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种通信方法,该方法中,接收端设备基于A个信息比特和PC比特的个数nPC生成比特序列,比特序列包括N个比特,信息比特和PC比特位于比特序列中序列可靠度最高的A+nPC个位置上,其中,放置PC比特的PC位置满足第一条件和第二条件,第一条件为A个信息比特所在的A个位置的最小行重不小于比特序列中序列可靠度最高的A个位置的最小行重,第二条件为比特序列中的nPC个位置编号中第k高位置编号不小于集合S3中第k高位置编号,集合S3包括序列可靠度最高的A+nPC个位置中可靠度最低的nPC个位置;对比特序列进行极化编码,得到码字序列。该方法给出基于PC比特确定正确译码路径的需求的PC比特放置方式。
Description
本申请要求于2024年6月3日提交中国国家知识产权局、申请号为202410710693.7、申请名称为“通信方法和通信装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及编码领域,并且更具体地,涉及一种通信方法和通信装置。
目前,提出了一种奇偶校验(parity check,PC)极化码(PC-Polar码),基于PC-Polar码中的PC比特可以修正串行抵消列表(Successive Cancellation List,SCL)译码的路径度量值(path metric,PM),提升正确译码路径排在前面的概率。PC-Polar码主要原理为,若需要nPC个PC比特,则从待编码的比特所在的N个位置的冻结比特位中挑出nPC个位置作为PC位置,这些PC位置上的取值和其他冻结位不同,不是固定为0,PC位置的取值是基于该PC位置之前的待编码比特的取值和PC校验关系确定的,示例的,PC校验关系指示当前PC位置的取值为该PC位置之前的第i个位置的比特和第j个位置上的比特的异或结果。
在SCL译码过程中,如果当前译码比特为PC比特,则需要根据之前的译码结果和PC校验关系计算出当前PC位置上的取值,如果该取值和当前PC位置对应的对数似然比(log-likelihood ratio,LLR)的硬判决结果不同,则需要对当前译码路径加一个惩罚,当前译码路径的PM值就会增加,排序就会更靠后,因此PC比特的加入可以使正确译码路径更靠前,使得输出的第一条译码路径为正确码字的概率提升。但是现有PC比特的放置方式没有考虑基于PC比特确定正确译码路径的需求,因此基于PC比特的译码性能有待提升。
本申请的实施例提供一种通信方法和通信装置,给出基于PC比特确定正确译码路径的需求的PC比特放置方式。
第一方面,提供了一种通信方法,该方法可以由发送端设备执行,在并不特殊说明的情况下,本申请中的“发送端设备”既可以指发送端设备本身(例如,网络设备,终端设备),也可以是发送端设备中的组件(例如,处理器、芯片、或芯片系统等),或者也可以是能实现全部或部分发送端设备功能的逻辑模块或软件。
该方法包括:获取A个信息比特和奇偶校验PC比特的个数nPC,A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,K、L和nPC均为正整数;生成第一比特序列,第一比特序列包括N个比特,N个比特包括A个信息比特和nPC个PC比特,A个信息比特和nPC个PC比特位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,N为2的n次方,n为正整数,放置nPC个PC比特的nPC个PC位置满足第一条件和第二条件,第一条件为A个信息比特所在的A个位置对应的最小行重不小于第一比特序列中序列可靠度最高的A个位置对应的最小行重,其中,每个位置对应一个行重,第二条件为nPC个PC位置对应的nPC个位置编号中第k高位置编号大于或等于第三位置集合S3对应的nPC个位置编号中第k高位置编号,第三位置集合S3包括序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置,1≤k≤nPC;对第一比特序列进行极化编码,得到码字序列;输出码字序列。
可以理解,本申请中A个信息比特和nPC个PC比特如何放置,A个信息比特和nPC个PC比特始终位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,剩余N-(A+nPC)个位置用于放置冻结比特。
还可以理解,行重是反应码谱好坏的一个工程指标,但并不等价于码谱(码谱越好,码的纠错能力越强),由于计算码谱的过程很复杂,无法直接作为工程化构造的指标。因此,第一条件也可以理解为第一比特序列中A个信息比特所在位置对应的码谱不差于原生码谱,原生码谱是指当不存在PC比特时,将A个信息比特放在第一比特序列中序列可靠度最高的A个位置上时对应的码谱。本申请中,无论nPC个PC比特如何放置,只要A个信息比特所在位置对应的最小行重相比第一比特序列中序列可靠度最高的A个位置对应的最小行重没有发生变化或变大,则认为第一比特序列的nPC个PC位置是满足第一条件的。
还可以理解,PC比特所在位置的编号越大,PC比特的校验范围更广。本申请中,无论nPC个PC比特如何放置,只要第一比特序列中nPC个PC比特对应的检验范围不差于第一PC放置方式时nPC个PC比特对应的检验范围,第一PC放置方式是指将nPC个PC比特放置在第一比特序列中序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置上,则认为第一比特序列的nPC个PC位置是满足第二条件的。
第二方面,提供了一种通信方法,该方法可以由接收端设备执行,在并不特殊说明的情况下,本申请中的“接收端设备”既可以指接收端设备本身(例如,网络设备,终端设备),也可以是接收端设备中的组件(例如,处理器、芯片、或芯片系统等),或者也可以是能实现全部或部分接收端设备功能的逻辑模块或软件。
该方法包括:获取符号序列;基于所述符号序列确定第一比特序列的N个位置中放置A个信息比特和nPC个检验比特PC比特的位置对应的对数似然比LLR,所述A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,所述A个信息比特和所述nPC个PC比特位于所述第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,所述N为2的n次方,所述K、所述L和所述nPC均为正整数,其中,放置所述nPC个PC比特的nPC个PC位置满足第一条件和第二条件,所述第一条件为所述A个信息比特所在的A个位置对应的最小行重不小于所述第一比特序列中序列可靠度最高的A个位置对应的最小行重,其中,每个位置对应一个行重,所述第二条件为所述nPC个PC位置对应的nPC个位置编号中第k高位置编号大于或等于第三位置集合S3对应的nPC个位置编号中第k高位置编号,所述第三位置集合S3指示所述序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置,1≤k≤nPC;获取第i个PC位置之前的位置对应的路径度量值PM最小的S条译码路径,其中,所述第i个PC位置为nPC个PC位置中任一位置,所述S条译码路径的PM是基于所述第i个PC位置之前的位置对应的LLR确定的;若第一译码路径对应的所述第i个PC位置的第一取值与所述第i个PC位置的第二取值不相同,增大所述第一译码路径的PM,其中,所述第一译码路径为所述S条路径中任一路径,所述第一取值是基于所述第一译码路径对应的译码结果和所述第i个PC位置对应的PC校验关系确定的,所述第二取值为所述第i个PC位置对应的LLR的硬判决结果;若所述第一译码路径对应的所述第i个PC位置的第一取值与所述第i个PC位置的第二取值相同,保持所述第一译码路径的PM值不变;基于所述符号序列和所述S条译码路径继续进行译码,直至完成对所述符号序列的译码得到最终的PM最小的S条译码路径;获取所述第一比特序列,所述第一比特序列是基于所述最终的PM最小的S条译码路径中PM最小的译码路径的译码结果确定的。
关于第二方面的有益效果参见第一方面的描述,这里不再赘述。
在第一方面或第二方面的某些实现方式中,nPC=3,3个PC位置中第一PC位置是基于第二位置集合S2对应的最小行重和第一候选位置对应的行重确定的,第一PC位置为3个PC位置中第一个被确定的PC位置,其中,第一候选位置为第三位置集合S3中序列可靠度最高的位置,第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,若第一候选位置对应的行重小于第二位置集合S2对应的最小行重,将第一候选位置作为第一PC位置,若第一候选位置对应的行重大于或等于第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大或序列可靠度最高的位置作为第一PC位置,第四位置集合S4包括第一位置集合S1中行重等于第二位置集合S2的最小行重的位置,第一位置集合S1包括第二位置集合S2和第一候选位置。
可以理解,一味的扩大PC比特的校验范围有可能导致原生码谱变差,因此,为了尽可能提升不存在PC比特时的原生码谱,以及,尽可能让PC比特校验范围更广,则需要在校验范围和行重之间折中以确定PC位置。上述技术方案以nPC=3为例给出了一种折中确定第一PC位置的实现方式,第一PC位置为3个PC位置中第一个被确定的PC位置。
在第一方面或第二方面的某些实现方式中,3个PC位置中第二PC位置是基于第一次更新后的第二位置集合S2对应的最小行重和第二候选位置对应的行重确定的,第二PC位置为3个PC位置中第二个被确定的PC位置,其中,第二候选位置为第三位置集合S3中序列可靠度次高的位置,第一次更新后的第二位置集合S2为将第一位置集合S1中第一PC位置删除后对应的位置集合,若第二候选位置对应的行重小于第一次更新后的第二位置集合S2对应的最小行重,将第二候选位置作为第二PC位置,若第二候选位置对应的行重大于或等于第一次更新后的第二位置集合S2对应的最小行重,将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为第二PC位置,第五位置集合S5包括第一次更新后的第一位置集合S1中行重等于第一次更新后的第二位置集合S2的最小行重的位置,第一次更新后的第一位置集合S1包括第一次更新后的第二位置集合S2和第二候选位置。
上述技术方案以nPC=3为例给出了一种折中确定第二PC位置的实现方式,第二PC位置为3个PC位置中第二个被确定的PC位置。
在第一方面或第二方面的某些实现方式中,3个PC位置中第三PC位置是基于第二次更新后的第二位置集合S2对应的最小行重和第三候选位置对应的行重确定的,第三PC位置为3个PC位置中第三个被确定的PC位置,其中,第三候选位置为第三位置集合S3中序列可靠度最低的位置,第二次更新后的第二位置集合S2为将第一次更新后的第一位置集合S1中第二PC位置删除后对应的位置集合,若第三候选位置对应的行重小于第二次更新后的第二位置集合S2对应的最小行重,将第三候选位置作为第三PC位置,若第三候选位置对应的行重大于或等于第二次更新后的第二位置集合S2对应的最小行重,将第六位置集合S6中位置编号最大或序列可靠度最高的位置作为第三PC位置,第六位置集合S6包括第二次更新后的第一位置集合S1中行重等于第二次更新后的第二位置集合S2的最小行重的位置,第二次更新后的位置集合包括第二次更新后的第二位置集合S2和第三候选位置。
上述技术方案以nPC=3为例给出了一种折中确定第三PC位置的实现方式,第三PC位置为3个PC位置中第三个被确定的PC位置。
在第一方面或第二方面的某些实现方式中,nPC个PC位置中第i个PC位置是基于第i轮的第二位置集合S2对应的最小行重和第三位置集合中的第i个候选位置的行重确定的,其中,第i个候选位置为第三位置集合S3中序列可靠度第i高的一个位置,第三位置集合S3中的nPC个位置按照序列可靠度由高到低依次作为一个候选位置确定一个PC位置,nPC个PC位置中第1个PC位置是基于第1轮的第二位置集合S2的行重和第1个候选位置的行重确定的,第1轮的第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,第1个候选位置为第三位置集合S3中序列可靠度最高的位置,1≤i≤nPC-1;若第i个候选位置对应的行重小于第i轮的第二位置集合S2对应的最小行重,将第i个候选位置作为第i个PC位置,若第i个候选位置对应的行重大于或等于第i轮的第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大或序列可靠度最高的位置作为第i个PC位置,第四位置集合S4包括第i轮的第一位置集合S1中行重等于第i轮的第二位置集合S2的最小行重的位置,第i轮的第一位置集合S1包括第i轮的第二位置集合S2和第i个候选位置;nPC个PC位置中第i+1个PC位置是基于第i+1轮的第二位置集合S2的行重和第i+1个候选位置的行重确定的,其中,第i+1轮的第二位置集合S2包括第i轮中的第一位置集合中除第i个PC位置外剩余的位置,第i+1个候选位置为第三位置集合S3中序列可靠度第i+1高的一个位置,若第i+1个候选位置对应的行重小于第i+1轮的第二位置集合S2对应的最小行重,将第i+1个候选位置作为第i+1个PC位置,若第i+1个候选位置对应的行重大于或等于第i+1轮的第二位置集合S2对应的最小行重,将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为第i+1个PC位置,第五位置集合S5包括第i+1轮的第一位置集合S1中行重等于第i+1轮的第二位置集合S2的最小行重的位置,第i+1轮的第一位置集合S1包括第i+1轮的第二位置集合S2和第i+1个候选位置。
上述技术方案给出了一种在校验范围和行重之间折中确定PC位置的实现方式,可以在尽可能提升不存在PC比特时的原生码谱的同时,尽可能扩大PC比特校验范围。该技术方案中,需要依次确定nPC个PC位置,且上一个PC位置会影响下一个PC位置的确定,该实现方式可以看做是串行确定nPC个PC位置的方式。
在第一方面或第二方面的某些实现方式中,nPC个PC位置是基于第二位置集合S2对应的最小行重和第三位置集合S3中nPC个位置对应的行重确定的,其中,第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,若第三位置集合S3中有m1个位置对应的行重小于第二位置集合S2对应的最小行重,将m1个位置作为PC位置,1≤m1≤nPC,若第三位置集合S3中有m2个位置对应的行重大于或等于第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大的m2个位置或序列可靠度最高的m2个位置作为PC位置,第四位置集合S4包括第一位置集合S1中行重等于第二位置集合S2的最小行重的位置,第一位置集合S1包括第二位置集合S2和第三位置集合S3,其中,m1+m2=nPC。
上述技术方案给出了另一种在校验范围和行重之间折中确定PC位置的实现方式,可以在尽可能提升不存在PC比特时的原生码谱的同时,尽可能让PC比特校验范围更广。该技术方案中,同时确定nPC个PC位置,该实现方式可以看做是并行确定nPC个PC位置的方式。
在第一方面或第二方面的某些实现方式中,nPC个PC位置是基于第二位置集合S2对应的最小行重和第三位置集合S3中nPC个位置对应的行重确定的,其中,第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,若第三位置集合S3中第i个位置对应的行重小于第二位置集合S2对应的最小行重,将第i个位置作为一个PC位置,1≤i≤nPC,若第三位置集合S3中第i个位置对应的行重大于或等于第二位置集合S2对应的最小行重,则将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为一个PC位置,其中,第五位置集合S5为第四位置集合S4中除已确定的PC位置外剩余的位置,第四位置集合包括第一位置集合S1中行重等于第二位置集合S2的最小行重的位置,第一位置集合S1包括第二位置集合S2和第三位置集合S3。
上述技术方案给出了又一种在校验范围和行重之间折中确定PC位置的实现方式,可以在尽可能提升不存在PC比特时的原生码谱的同时,尽可能让PC比特校验范围更广。该实现方式可以看做是另一种并行确定nPC个PC位置的方式。
在第一方面或第二方面的某些实现方式中,nPC个PC位置为第一比特序列中序列可靠度最低的nPC个位置,或者,nPC个PC位置为第一比特序列中序列可靠度最高或位置编号最大的nPC个位置。
在第一方面或第二方面的某些实现方式中,A个信息比特位于第一比特序列中序列可靠度最高的(A+nPC)个位置中除nPC个PC位置外剩余的A个位置上。
在第一方面或第二方面的某些实现方式中,该方法还包括:基于nPC个PC位置对应的PC校验关系确定nPC个PC比特的取值。
第三方面,提供了一种通信方法,该方法可以由发送端设备执行,在并不特殊说明的情况下,本申请中的“发送端设备”既可以指发送端设备本身(例如,网络设备,终端设备),也可以是发送端设备中的组件(例如,处理器、芯片、或芯片系统等),或者也可以是能实现全部或部分发送端设备功能的逻辑模块或软件。
该方法包括:获取A个信息比特和奇偶校验PC比特的个数nPC,A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,K、L和nPC均为正整数;生成第一比特序列,第一比特序列包括N个比特,N个比特包括A个信息比特和nPC个PC比特,A个信息比特和nPC个PC比特位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,N为2的n次方,n为正整数,
nPC个PC位置中第i个PC位置是基于第i轮的第二位置集合S2对应的最小行重和第三位置集合中的第i个候选位置的行重确定的,其中,第i个候选位置为第三位置集合S3中序列可靠度第i高的一个位置,第三位置集合S3中的nPC个位置按照序列可靠度由高到低依次作为一个候选位置确定一个PC位置,nPC个PC位置中第1个PC位置是基于第1轮的第二位置集合S2的行重和第1个候选位置的行重确定的,第1轮的第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,第1个候选位置为第三位置集合S3中序列可靠度最高的位置,1≤i≤nPC-1,
若第i个候选位置对应的行重小于第i轮的第二位置集合S2对应的最小行重,将第i个候选位置作为第i个PC位置,
若第i个候选位置对应的行重大于或等于第i轮的第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大或序列可靠度最高的位置作为第i个PC位置,第四位置集合S4包括第i轮的第一位置集合S1中行重等于第i轮的第二位置集合S2的最小行重的位置,第i轮的第一位置集合S1包括第i轮的第二位置集合S2和第i个候选位置;
nPC个PC位置中第i+1个PC位置是基于第i+1轮的第二位置集合S2的行重和第i+1个候选位置的行重确定的,其中,第i+1轮的第二位置集合S2包括第i轮中的第一位置集合中除第i个PC位置外剩余的位置,第i+1个候选位置为第三位置集合S3中序列可靠度第i+1高的一个位置,
若第i+1个候选位置对应的行重小于第i+1轮的第二位置集合S2对应的最小行重,将第i+1个候选位置作为第i+1个PC位置,
若第i+1个候选位置对应的行重大于或等于第i+1轮的第二位置集合S2对应的最小行重,将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为第i+1个PC位置,第五位置集合S5包括第i+1轮的第一位置集合S1中行重等于第i+1轮的第二位置集合S2的最小行重的位置,第i+1轮的第一位置集合S1包括第i+1轮的第二位置集合S2和第i+1个候选位置;
对第一比特序列进行极化编码,得到码字序列;输出码字序列。
第四方面,提供了一种通信方法,该方法可以由发送端设备执行,在并不特殊说明的情况下,本申请中的“发送端设备”既可以指发送端设备本身(例如,网络设备,终端设备),也可以是发送端设备中的组件(例如,处理器、芯片、或芯片系统等),或者也可以是能实现全部或部分发送端设备功能的逻辑模块或软件。
该方法包括:获取A个信息比特和奇偶校验PC比特的个数nPC,A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,K、L和nPC均为正整数;生成第一比特序列,第一比特序列包括N个比特,N个比特包括A个信息比特和nPC个PC比特,A个信息比特和nPC个PC比特位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,N为2的n次方,n为正整数,
nPC个PC位置是基于第二位置集合S2对应的最小行重和第三位置集合S3中nPC个位置对应的行重确定的,其中,第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,
若第三位置集合S3中有m1个位置对应的行重小于第二位置集合S2对应的最小行重,将m1个位置作为PC位置,1≤m1≤nPC,
若第三位置集合S3中有m2个位置对应的行重大于或等于第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大的m2个位置或序列可靠度最高的m2个位置作为PC位置,第四位置集合S4包括第一位置集合S1中行重等于第二位置集合S2的最小行重的位置,第一位置集合S1包括第二位置集合S2和第三位置集合S3,其中,m1+m2=nPC;
对第一比特序列进行极化编码,得到码字序列;输出码字序列。
第五方面,提供了一种通信方法,该方法可以由发送端设备执行,在并不特殊说明的情况下,本申请中的“发送端设备”既可以指发送端设备本身(例如,网络设备,终端设备),也可以是发送端设备中的组件(例如,处理器、芯片、或芯片系统等),或者也可以是能实现全部或部分发送端设备功能的逻辑模块或软件。
该方法包括:获取A个信息比特和奇偶校验PC比特的个数nPC,A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,K、L和nPC均为正整数;生成第一比特序列,第一比特序列包括N个比特,N个比特包括A个信息比特和nPC个PC比特,A个信息比特和nPC个PC比特位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,N为2的n次方,n为正整数,
nPC个PC位置是基于第二位置集合S2对应的最小行重和第三位置集合S3中nPC个位置对应的行重确定的,其中,第二位置集合S2包括第一比特序列中序列可靠度最高的A个位置,
若第三位置集合S3中第i个位置对应的行重小于第二位置集合S2对应的最小行重,将第i个位置作为一个PC位置,1≤i≤nPC,
若第三位置集合S3中第i个位置对应的行重大于或等于第二位置集合S2对应的最小行重,则将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为一个PC位置,其中,第五位置集合S5为第四位置集合S4中除已确定的PC位置外剩余的位置,第四位置集合包括第一位置集合S1中行重等于第二位置集合S2的最小行重的位置,第一位置集合S1包括第二位置集合S2和第三位置集合S3;
对第一比特序列进行极化编码,得到码字序列;输出码字序列。
第六方面,提供了一种通信装置,该装置用于执行上述任意一方面或其实现方式提供的方法。具体地,该装置可以包括用于执行上述任意一方面或其实现方式提供的方法的单元和/或模块,如处理单元和/或收发单元。
在一种实现方式中,该装置为发送端设备或接收端设备。当该装置为发送端设备或接收端设备时,收发单元可以是收发器,或,输入/输出接口,或者通信接口;处理单元可以是至少一个处理器。可选地,收发器为收发电路。可选地,输入/输出接口为输入/输出电路。
在另一种实现方式中,该装置为用于发送端设备或接收端设备中的芯片、芯片系统或电路。当该装置为用于发送端设备或接收端设备中的芯片、芯片系统或电路时,收发单元可以是该芯片、芯片系统或电路上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等;处理单元可以是至少一个处理器、处理电路或逻辑电路等。
第七方面,提供了一种通信装置,该装置包括:存储器,用于存储程序;至少一个处理器,用于执行存储器存储的计算机程序或指令,以执行上述任意一方面或其实现方式提供的方法。
在一种实现方式中,该装置为发送端设备或接收端设备。
在另一种实现方式中,该装置为用于发送端设备或接收端设备中的芯片、芯片系统或电路。
第八方面,提供了一种通信装置,该装置包括:至少一个处理器和通信接口,该至少一个处理器用于通过该通信接口获取存储在存储器的计算机程序或指令,以执行上述任意一方面或其实现方式提供的方法。该通信接口可以由硬件或软件实现。
在一种实现方式中,该装置还包括该存储器。
第九方面,提供了一种处理器,用于执行上述各方面提供的方法。
对于处理器所涉及的发送和获取/接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,那么可以理解为处理器输出和接收、输入等操作,也可以理解为由射频电路和天线所进行的发送和接收操作,本申请对此不做限定。
第十方面,提供了一种计算机可读存储介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述任意一方面或其实现方式提供的方法。
第十一方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述任意一方面或其实现方式提供的方法。
第十二方面,提供了一种芯片,芯片包括处理器与通信接口,处理器通过通信接口读取存储器上存储的指令,执行上述任意一方面或其实现方式提供的方法。该通信接口可以由硬件或软件实现。
可选地,作为一种实现方式,芯片还包括存储器,存储器中存储有计算机程序或指令,处理器用于执行存储器上存储的计算机程序或指令,当计算机程序或指令被执行时,处理器用于执行上述任意一方面或其实现方式提供的方法。
其中,当本申请提供的方法由芯片执行时,本申请不限定具体实现本申请方法的芯片个数,例如可以由一个芯片执行,也可以是2个或2个以上的芯片执行。并且,当实现本申请方法的芯片个数为2个及2个以上时,不限定芯片厂家,可以是相同厂家,也可以是不同厂家。
第十三方面,提供了一种通信系统,包括上文所述的发送端设备或接收端设备中的至少一个。
图1是适用本申请的实施例的网络架构的示意图。
图2是信息传输流程的示意图。
图3是一个8×8Polar码编码的示意图。
图4是SC译码的示意图。
图5为Polar码SC译码的二叉树示意图。
图6为Polar码SCL-2译码的二叉图示意图。
图7是本申请提供的一种通信方法700的示意性流程图。
图8至图10分别为表3至表5对应的码谱的示意图。
图11是本申请实施例提供的通信装置1000的示意性框图。
图12为本申请实施例提供的通信装置1100的示意性框图。
为便于理解本申请的实施例,在介绍本申请的实施例之前,先做出以下几点说明。
“用于指示”或“指示”可以包括用于直接指示和用于间接指示,或者说“用于指示”或“指示”可以显式地和/或隐式地指示。第一、第二、等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,例如区分不同的消息、不同的信息等。“预先定义”可以通过在设备中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。涉及的“协议”可以是指通信领域的标准协议,例如可以包括长期演进(long term evolution,LTE)协议、新无线(new radio,NR)协议以及应用于未来的通信系统中的相关协议,本申请对此不做限定。“示例的”、“例如”、“示例性地”、“作为(另)一个示例”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“至多一个”是指一个或者0个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或,b,或,c,或,a和b,或,a和c,或,b和c,或,a、b和c。其中a、b和c分别可以是单个,也可以是多个。涉及网元A向网元B发送消息、信息或数据,以及网元B接收来自网元A的消息、信息或数据的相关描述,旨在说明该消息、信息或数据是要发给哪个网元,而并不限定它们之间是直接发送还是经由其他网元间接发送。“当……时”、“在……的情况下”、“若”以及“如果”等描述均指在某种客观情况下设备会做出相应的处理,并非是限定时间,且也不要求设备在实现时一定要有判断的动作,也不意味着存在其它限定。
此外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面对可以应用本申请的实施例的通信系统进行描述。
本申请的实施例可以应用于各种通信系统,包括但不限于:第五代(5th generation,5G)系统、LTE系统、长期演进高级技术(long term evolution-advanced,LTE-A)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)系统等。还可以应用于未来的通信系统,例如第六代移动通信系统。此外,还可以应用于设备到设备(device to device,D2D)通信、车辆外联(vehicle-to-everything,V2X)通信、机器到机器(machine to machine,M2M)通信、机器类型通信(machine type communication,MTC)、物联网(internet of things,IoT)通信系统、窄带物联网系统(narrow band-internet of things,NB-IoT)或者其它通信系统。此外,还可以扩展到类似的无线通信系统中,如无线保真(wireless-fidelity,WiFi)、全球微波互联接入(worldwide interoperability for microwave access,WIMAX)、以及第三代合作伙伴计划(3rd generation partnership project,3GPP)相关的通信系统等,不作限定。
适用于本申请的实施例的通信系统,可以包括一个或多个发送端设备,以及,一个或多个接收端设备。可选地,发送端设备和接收端设备中的一个可以为终端设备,另一个可以为网络设备。可选地,发送端设备和接收端设备可以均为终端设备。可选地,发送端设备和接收端设备可以均为网络设备。
图1是适用本申请的实施例的网络架构的示意图。如图1所示,本申请的实施例既可以适用于上行数据传输,也可以适用于下行数据传输。图1中仅以一个网络设备和两个终端设备(如终端设备1和终端设备2)之间的上行数据传输或下行数据传输作为示例。在上行数据传输中,本文中的发送端设备为终端设备,接收端设备为网络设备;反之,在下行数据传输中,发送端设备为网络设备,接收端设备为终端设备。此外,不限定本申请的实施例在其它通信场景中的适用性,例如,也可以应用于侧行链路通信中。
本申请的终端设备也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、移动终端(mobile terminal,MT)、远方站、远程终端、移动设备、用户终端、终端、无人机、无线通信设备、用户代理或用户装置等。本申请实施例中的终端设备可以是指向用户提供语音和/或数据连通性的设备,可以用于连接人、物和机,例如具有无线连接功能的手持式设备、车载设备等。本申请的实施例中的终端设备可以是手机(mobile phone)、平板电脑(pad)、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
本申请的网络设备可以是具有无线收发功能的设备,该网络设备可以是提供无线通信功能服务的设备,通常位于网络侧,包括但不限于5G系统中的下一代基站(gNodeB,gNB)、第六代移动通信系统中的基站、未来移动通信系统中的基站,或无线保真(wireless fidelity,WiFi)系统中的接入节点,长期演进(long term evolution,LTE)系统中的演进型节点B(evolved node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(node B,NB)、基站控制器(base station controller,BSC)、家庭基站(例如,home evolved NodeB或home Node B,HNB)、基带单元(base band unit,BBU),传输接收点(transmission reception point,TRP)、发射点(transmitting point,TP)、基站收发台(base transceiver station,BTS)、卫星、无人机等。在一种网络结构中,网络设备可以包括集中单元(centralized unit,CU)节点,或包括分布单元(distributed unit,DU)节点,或者为包括CU节点和DU节点的RAN设备,或者为包括控制面CU节点和用户面CU节点,以及DU节点的RAN设备,或者,网络设备还可以为云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器、中继站、车载设备以及可穿戴设备等。此外,基站可以是宏基站、微基站、中继节点、施主节点或其组合。基站还可以指用于设置于前述设备或装置内的通信模块、调制解调器或芯片。基站还可以是移动交换中心以及D2D、V2X、M2M通信中承担基站功能的设备、未来的通信系统中承担基站功能的设备等。基站可以支持相同或不同接入技术的网络,不作限定。
在无特殊说明的情况下,本申请中用于实现终端设备或网络设备的功能的装置可以是指终端设备或网络设备本身,也可以是指能够支持终端设备或网络设备实现该功能的装置,例如芯片系统或芯片,具体的,片上系统(system onachip,SoC),调制解调器(Modem)。该装置可以被安装在终端设备或网络设备中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
还需要指出的是,本文部分实施例以5G系统为例介绍具体的方案细节。可以理解的是,当该方案用于其它通信系统时,例如,LTE系统,或者未来的通信系统,方案中的各消息、信道或信息等可以替换为其它通信系统中能够实现相应功能的消息、信道或信息等,本申请对此不作限定。
此外,本申请的实施例可以应用各种应用场景,如高吞吐场景、高可靠场景、低时延场景、高可靠低时延场景或低功耗场景。其中,高吞吐场景例如可以是增强移动宽带(enhanced mobile broadband,eMBB)场景等,高可靠低时延场景例如可以是URLLC(ultra reliable low latency communication)场景等,低功耗场景例如可以是M2M场景、MTC场景或IoT场景等。
图2是信息传输流程的示意图。如图2所示,信息由信源发出,经过信源编码、信道编码、调制、空口传输、解调、信道译码、信源恢复等处理,到达信宿,完成信息从信源到信宿的传输。其中,图2上层所示的处理(包括信源编码、信道编码和调制等)在发送端设备处执行,下层所示的处理(包括解调、信道译码、信源恢复等)在接收端设备处执行。本申请的实施例主要涉及图2所示的信源编码、信道编码、信道译码与信源恢复。
目前,极化(Polar)码是第一种能够被严格证明“达到”香农信道容量的信道编码方案,具有纠错性能好、译码复杂度低等特点,目前已经被3GPP确定成为5G eMBB场景(上行/下行)控制信道的编码方案。下面对Polar码的编码、构造和译码过程进行简单介绍。
[根据细则91更正 04.08.2025]
图3是一个长度为8的Polar码编码的示意图。编码过程中包括若干个极化核运算(极化核用较小的虚线框示意),极化核将两个输入比特与相乘,得到两个输出比特。可以看出,Polar码递归构造,其中,长度8的Polar码可以看作将2个长度4的Polar码(对应图中的两个较大的虚线框)耦合得到,长度4的Polar码可以看作将2个长度为2的Polar码耦合得到。
图3是一个长度为8的Polar码编码的示意图。编码过程中包括若干个极化核运算(极化核用较小的虚线框示意),极化核将两个输入比特与相乘,得到两个输出比特。可以看出,Polar码递归构造,其中,长度8的Polar码可以看作将2个长度4的Polar码(对应图中的两个较大的虚线框)耦合得到,长度4的Polar码可以看作将2个长度为2的Polar码耦合得到。
可以理解,Polar码编码前的N个待编码比特对应的N个位置具有不同的可靠度。其中,N个位置中可靠度最高的A个位置用于放置待编码比特中的A个信息(data)比特,剩余的N-A个位置用于放置冻结(frozen)比特,冻结比特位上的比特通常为0,且冻结比特位实际传输中收发两端已知。本申请中,承载A个信息比特的位置可以称为信息比特位,承载冻结比特的位置可以称为冻结比特位。示例的,如图3所示,N=8,8个位置用于承载8个待编码比特,8个待编码比特为最左侧的u0~u7,待编码比特中包括4个信息比特(即u7,u6,u5,u3),放置4个信息比特的信息比特位为可靠度靠前的四个比特位,剩余4个位置放置冻结比特(u4,u2,u1,u0),放置4个冻结比特的冻结比特位为可靠度靠后的四个比特位。如图3所示,经过编码后得到最右侧的8个码字比特01010101分别记为c0~c7,发送端设备将c0~c7发送到信道W上。
对于Polar码译码,可以通过串行抵消译码(Successive cancellation decoding,SC)译码算法。在SC中,直接通过硬判决决定译码结果,具体的,逐步计算信息比特的对数似然比(log-likelihood ratio,LLR),对于信息比特,若LLR>0,则将该比特判决为0,若LLR<0,则将该比特判决为1;对于冻结比特,则无论LLR是多少都将该比特置为0。图4是一个最简单的SC译码示意。图中共有8个计算节点,其中有4个f节点,4个g节点。f节点的计算需要其右侧2项LLR输入,g节点的计算需要其右侧2项LLR输入以及上方1项“部分和(Partial Sum)”输入。可以理解,只有输入项计算完成后,才能计算输出项。依据上述规则,图4中从右侧接收信号开始,按序计算8个节点,获得的译码比特的顺序为①→②→③→④,上述过程即为SC译码过程。从另外一个角度理解,由于每个信息比特都只有0、1两种取值,Polar码的SC译码可以抽象为二叉树搜索问题,图5为Polar码SC译码的二叉树示意图,二叉树每层代表一个信息比特的判断结果,二叉树向左可以代表0,向右可以代表1,4个译码比特共对应24条译码路径,图中颜色较深的路径为通过硬判决得到的译码路径。
基于SC算法证明Polar码在无穷长时性容量可达。但在有限长时,SC的性能不尽人意。针对这个问题,业界提出了串行抵消列表(Successive Cancellation List,SCL)译码算法,以及循环冗余校验(cyclic redundancy check,CRC)辅助串行抵消列表(CRC-Aided Successive Cancellation List,CA-SCL)译码算法等以改善了Polar码性能。下面对两种算法进行介绍。
SCL算法为SC算法的一种拓展。图6为Polar码SCL-2译码的二叉图示意图。如图6所示,SCL算法不是在中间过程中直接通过硬判决决定译码结果,而是将0和1对应的译码结果都保存成2个分支译码路径。通过上述方法,若SCL算法一共保存List条译码路径,并最终通过路径度量值(path metric,PM)来筛选出正确的路径,可以按照PM从小到大对List条路径进行排序,排序越靠前的译码路径越可能是正确的码字。这种不用CRC选路径的方式即为传统SCL译码输出最终码字的方式,即输出PM最优的路径(即第一条路径,PM最小的路径)作为最终码字。而CA-SCL则会从第一条路径开始用CRC校验来筛选出正确的路径,从而获得比特SCL更好的纠错性能。图6中颜色较深的两个路径为SCL2输出的2条路径,SCL译码器会输出其中PM较小(更像正确码字)的路径作为最终译码结果,CA-SCL会先用CRC测试PM最小的路径,如果没有通过CRC,则继续测试第二条PM次小的路径,直至找到通过CRC的路径作为最终译码结果输出。如果所有路径都没有通过CRC校验,则宣告译码失败。但是,这种用CRC选路径的CA-SCL译码算法会损失CRC的检错能力,因为长度为Lcrc的CRC多项式可以检错概率大概在1/2Lcrc,Lcrc为CRC的长度,但是CA-SCL译码采用CRC选路径,使用了List次CRC检测,因此CRC的检错概率升高了List倍,变成了List/2Lcrc。因此在CA-SCL译码中用CRC选路径会损失检错性能。
目前,如背景技术所示,提出了一种PC-Polar码,基于PC-Polar码中的PC比特可以修正SCL译码的PM,提升正确译码路径排在前面的概率。本申请中PC比特也可以称为动态冻结比特(位置来自于冻结位,但是取值不固定为0)。本申请中放置PC比特的位置可以称为动态冻结比特位,也可以称为PC位置,本申请不做限制。PC比特的加入可以使正确译码路径更靠前,使得输出的第一条路径为正确码字的概率提升,因此可以不用CRC校验译码路径,从而节省CRC使用次数,不损失CRC检错能力。但是现有PC比特的放置方式没有考虑基于PC比特确定正确译码路径的需求,因此基于PC比特的译码性能有待提升。
有鉴于此,本申请提供了一种通信方法,能够有效解决上述技术问题。下面对本申请提出的方法实施例进行描述。
图7是本申请提供的一种通信方法700的示意性流程图。该方法包括以下步骤。
可以理解,方法700可以由发送端设备和接收端设备执行,在无特殊说明的情况下,“发送端设备”或“接收端设备”可以是指发送端设备或接收端设备本身,也可以是指能够支持发送端设备或接收端设备实现该功能的装置,为了描述方便,下文统一使用发送端设备和接收端设备来描述。其中,发送端设备可以终端设备或网络设备,接收端设备可以为终端设备或网络设备。
S710,发送端设备获取A个信息比特和PC比特的个数nPC,其中,A个信息比特包括K个净荷比特和L个CRC比特组成,K、L和nPC均为正整数。
可以理解,nPC个PC比特的取值是基于每个PC比特所在的PC位置和对应的PC校验关系确定的。因此,需要先确定nPC个PC比特的放置位置(即确定nPC个PC位置),再确定每个PC位置上的PC比特的取值。
S720,发送端设备生成第一比特序列,第一比特序列包括N个比特,N个比特包括A个信息比特和nPC个PC比特,A个信息比特和nPC个PC比特位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,N为Polar码字的母码长,N为2的n次方,n为正整数。
可以理解,无论A个信息比特和nPC个PC比特如何放置,A个信息比特和nPC个PC比特始终位于第一比特序列中序列可靠度最高的(A+nPC)个位置上,剩余N-(A+nPC)个位置用于放置冻结比特,且发送端设备和接收端设备都知道冻结位置上的取值,冻结比特取值可以固定为0。
可选地,本申请中,序列可靠度也可以替换为高斯近似(gaussian approximate,GA)可靠度,GA可靠度是基于高斯近似计算得到的可靠度。
其中,nPC个PC位置满足第一条件和第二条件。第一条件和第二条件具体如下:
(1)第一条件为A个信息比特所在的A个位置对应的最小行重不小于第一比特序列中序列可靠度最高的A个位置对应的最小行重,其中,每个位置对应一个行重。
一个位置对应的行重可以通过如下方式计算:当前位置编号为i,其对应的二进制表示为(b0,b1,b2,..,bm-1),则当前位置i对应的行重为例如,当前位置为3,对应的二进制表示为(0,1,1),则位置0的行重为22=4;当前位置为7,对应的二进制表示为(1,1,1),则位置7的行重为23=8。
可以理解,行重是反应码谱好坏的一个工程指标,并不等价于码谱(码谱越好,码的纠错能力越强),由于计算码谱的过程很复杂,无法直接作为工程化构造的指标。因此,第一条件也可以理解为第一比特序列中A个信息比特所在位置对应的码谱不差于原生码谱,原生码谱是指当不存在PC比特时,将A个信息比特放在第一比特序列中序列可靠度最高的A个位置上时对应的码谱。
本申请中,由于存在PC比特,A个信息比特和nPC个PC比特放置在第一比特序列中序列可靠度最高的(A+nPC)个位置上。若将nPC个PC比特放置在序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置上(这里称为第一PC放置方式),A个信息比特所在位置的序列可靠度没有发生变化,且A个信息比特所在位置对应的最小行重相比第一比特序列中序列可靠度最高的A个位置对应的最小行重没有发生变化,若将nPC个PC比特放置在N个位置中序列可靠度最高的(A+nPC)个位置的其他位置上(与第一PC放置方式不同),A个信息比特所在位置的序列可靠度会有所损失,A个信息比特所在位置对应的最小行重相比第一比特序列中序列可靠度最高的A个位置对应的最小行重可能变大或变小或不变。无论nPC个PC比特如何放置,只要A个信息比特所在位置对应的最小行重相比第一比特序列中序列可靠度最高的A个位置对应的最小行重没有发生变化或变大,则认为第一比特序列的nPC个PC位置是满足第一条件的。
(2)第二条件为nPC个PC位置对应的nPC个位置编号中第k高位置编号大于或等于第三位置集合对应的nPC个位置编号中第k高位置编号,第三位置集合指示序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置。
可以理解,PC比特所在位置的编号越大,PC比特的校验范围更广。因此,第二条件可以理解为第一比特序列中nPC个PC比特对应的检验范围不差于第一PC放置方式时nPC个PC比特对应的检验范围。
举例说明第二条件,nPC=3,第一PC放置方式时,3个PC比特所在位置的位置编号从小到大依次为{190,216,220},那么,将第一比特序列对应3个PC位置的编号从小到大排序,只要第1个位置编号(最小位置编号)不小于190,第2个位置编号不小于216,第3个位置编号(最大位置编号)不小于220,则认为第一比特序列的nPC个PC位置是满足第二条件的。
可以理解,对于K值和N值不同的第一比特序列可能存在多种满足上述第一条件和第二条件的PC放置方式。下面在第一PC放置方式的基础上结合不同的示例给出满足第一条件和第二条件的PC放置方式。
示例一,净荷比特数K=17,CRC比特数L=6(则A=23),PC比特数nPC=3,第一比特序列的长度N=256。则该示例对应的第一PC比特放置方式如表1所示。表1中包括26(即A+nPC)个位置编号以及每个位置对应的行重,26个位置编号指示第一比特序列中序列可靠度最高的26个位置,其中,序列可靠度从右往左依次降低,即编号256为序列可靠度最高的位置,编号190为序列可靠度最低的位置,PC比特放在表1中序列可靠度最低的3个位置上,CRC比特放在剩余位置中位置编号最大的位置上。
表1
为了进一步提升SCL译码中第一条译码路径是正确码字的概率,可以让3个PC比特校验尽可能多的净荷比特。本实施例中将PC比特放在第一比特序列中位置编号最大的3个位置上可以校验到所有的净荷比特和CRC比特,则该示例对应的PC比特放置方式如表2所示。
表2
可以看出,将PC比特放在位置编号最大的位置上,净荷比特和CRC比特会相应地依次向前移动,A个信息比特所在位置的序列可靠度有损失,但是净荷比特和CRC比特所在位置构成的位置集合对应的最小行重相比表1中净荷比特和CRC比特所在位置构成的位置集合对应的最小行重没有发生变化,依然为32(位置编号249对应的行重),且表2中3个PC比特对应的位置编号分别大于表1中3个PC比特对应的位置编号,综上所述,表2中3个PC位置满足第一条件和第二条件,即表2所示的PC放置方式是可接受的。可以理解,表1中将PC比特放在表1中序列可靠度最低的位置上,虽然可以不损失净荷比特和CRC比特的序列可靠度,但是当净荷比特和CRC比特中出现错误时,很难通过PC比特校验检测出来,也就无法将这些错误反映到PM中,错误译码路径也就无法往后移动,首条译码路径为错误路径的概率也相对更大。但表2中将3个PC比特放在第一比特序列的末尾位置,当17个净荷比特和6个CRC比特中有错误时,位于末尾的3个PC比特可以检测出这些错误,从而在错误的译码路径的PM值上加一个惩罚值,使错误译码路径在List个路径中的排位向后移动,从而提升首个路径是正确码字的概率。
基于示例一,在一种可能的实现方式中,如果把nPC个PC比特放在第一比特序列中序列可靠度最高的A+nPC个位置所构成的位置集合#1中位置编号最大的位置上时,净荷比特和CRC比特(即A个信息比特)所在位置构成的位置集合#2对应的最小行重相对于第一PC放置方式时A个信息比特所在位置构成的位置集合#3对应的最小行重没有降低,则可以把nPC个PC比特放在位置集合#1中位置编号最大的位置,从而使得PC比特校验范围最广(即PC比特校验之前所有净荷和CRC比特)。
示例二,净荷比特数K=19,CRC比特数L=6(则A=25),PC比特数nPC=3,第一比特序列的长度N=256。则该示例对应的第一PC比特放置方式如表3所示。表3中包括28(即A+nPC)个位置编号以及每个位置对应的行重,28个位置编号指示第一比特序列中序列可靠度最高的28个位置,其中,序列可靠度从右往左依次降低,即编号256为序列可靠度最高的位置,编号243为序列可靠度最低的位置,PC比特放在表3中序列可靠度最低的3个位置上,CRC比特放在剩余位置中位置编号最大的位置上。
表3
为了进一步提升SCL译码中第一条译码路径是正确码字的概率,需要让3个PC比特校验尽可能多的净荷比特。本实施例中将PC比特放在第一比特序列中位置编号最大的3个位置上可以校验到所有的净荷比特和CRC比特,则该示例对应的PC比特放置方式如表4所示。
表4
可以看出,将PC比特放在位置编号最大的位置上,净荷比特和CRC比特相应地向前移动,净荷比特和CRC比特(即A个信息比特)所在位置的序列可靠度会有损失,但是净荷比特和CRC比特所在位置构成的位置集合对应的最小行重相比表3中净荷比特和CRC比特所在位置构成的位置集合对应的最小行重没有发生变化,依然为32,且表4中3个PC比特对应的位置编号分别大于表3中3个PC比特对应的位置编号,综上所述,表4中3个PC位置满足第一条件和第二条件,即表4所示的PC放置方式是可接受的。
基于该示例给出另一种可能的PC放置方式,表3所示的PC放置方式中净荷比特和CRC比特所在的位置的序列可靠度最高(即完全不损失序列可靠度),且此时净荷比特和CRC比特所在的位置对应的最小行重为32,并且行重为32的位置只有一个,如果将PC比特放置在该最小行重的位置上,将净荷比特和CRC比特依次往前移动,则净荷比特和CRC比特对应的最小行重将从32提升至64,则该示例对应的PC比特放置方式如表5所示。
表5
可以看出,表5中净荷比特和CRC比特所在的位置的序列可靠度会有损失,但是净荷比特和CRC比特所在位置构成的位置集合对应的最小行重变大,且表4中3个PC比特对应的位置编号分别大于表3中3个PC比特对应的位置编号,综上所述,表5中3个PC位置满足第一条件和第二条件,即表4所示的PC放置方式也是可接受的。
由上可知,表4和表5所示的PC放置方式都是可接受的,但表5所示的PC放置方式相比表3和表4的PC放置方式,提升了净荷比特和CRC比特所在的位置构成的位置集合的最小行重,相比原生码谱变得更好,改善码的纠错能力。
图8、图9和图10分别为表3、表4和表5对应的码谱的示意图。其中,图8、图9和图10中的横轴为码重,纵轴为具有对应码重的码字的数量。该示例中表4所示的PC放置方式相对于表3所示的PC放置方式,虽然A个信息比特所在位置的最小行重都是32,但图9所示的码谱相对图8所示的码谱有所改善。此外,表5所示的PC放置方式相比表3消除了A个信息比特所在的位置集合中行重等于32的位置,体现在码谱上,图10所示的码谱比图8和图9所示的码谱要更好。
示例三,净荷比特数K=13,CRC比特数L=6(则A=19),PC比特数nPC=3,第一比特序列的长度N=128。则该示例对应的第一PC比特放置方式如表6所示。表6中包括22(即A+nPC)个位置编号以及每个位置对应的行重,22个位置编号指示第一比特序列中序列可靠度最高的22个位置,其中,序列可靠度从右往左依次降低,即编号128为序列可靠度最高的位置,编号121为序列可靠度最低的位置,PC比特放在表6中序列可靠度最低的3个位置上,CRC比特放在剩余位置中位置编号最大的位置上。
表6
同理,为了进一步提升SCL译码中第一条译码路径是正确码字的概率,需要让3个PC比特校验尽可能多的净荷比特。本实施例中将PC比特放在第一比特序列中位置编号最大的3个位置上可以校验到所有的净荷比特和CRC比特,则该示例对应的PC比特放置方式如表7所示。
表7
可以看出,表6中净荷比特和CRC比特(即A个信息比特)所在位置构成的位置集合对应的最小行重为32,表7中净荷比特和CRC比特所在位置构成的位置集合对应的最小行重为16,最小行重降低,不满足第一条件,因此表7所示的PC放置方式是不可接受的。
基于示例三,在一种可能的实现方式中,如果把nPC个PC比特放在第一比特序列中序列可靠度最高的A+nPC个位置所构成的位置集合#1中位置编号最大的位置上时,A个信息比特所在位置构成的位置集合#2对应的最小行重相对于第一PC放置方式时A个信息比特所在位置构成的位置集合#3对应的最小行重变小,则基于第一PC放置方式放置nPC个PC比特(即表6所示的放置方式)。
基于示例二可知,可能存在多种PC放置方式满足第一条件和第二条件,基于示例三可知,一味的扩大PC比特的校验范围有可能导致原生码谱变差,因此,为了尽可能提升不存在PC比特时的原生码谱,以及,尽可能让PC比特校验范围更广,则需要在校验范围和行重之间折中,以确定PC位置。下面给出几种具体的折中确定PC位置的实现方式。
实现方式一,该实现方式可以包括以下步骤。
a)确定第一位置集合,第一位置集合包括第i轮的第二位置集合和第三位置集合中的第i个候选位置,1≤i≤nPC-1。
其中,第三位置集合中的nPC个位置按照序列可靠度由高到底依次作为一个候选位置确定一个PC位置。
可以理解,第i个候选位置为nPC个位置中序列可靠度第i高的一个位置。具体的,第1个候选位置为第三位置集合中序列可靠度最高的位置,第2个候选位置为第三位置集合中序列可靠度次高的位置,依次类推,这里不再赘述。
还可以理解,一共需要确定nPC个PC位置,在确定第一个PC位置时,第1轮的第二位置集合指示第一比特序列中序列可靠度最高的A个位置和第三位置集合中的第1个候选位置。
b)基于第i个候选位置对应的行重和第i轮的第二位置集合对应的最小行重确定第i个PC位置。
若第i个候选位置对应的行重小于第二位置集合对应的最小行重,则将第i个候选位置作为第i个PC位置。
若第i个候选位置对应的行重大于或等于第二位置集合对应的最小行重,则将第四位置集合中位置编号最大或序列可靠度最高的位置作为第i个PC位置,第四位置集合S4包括第i轮的第一位置集合中行重等于第i轮的第二位置集合S2的最小行重的所有位置。
可以理解,基于步骤b)可以在第一位置集合中确定出一个PC位置(即第i个PC位置)。之后,需要更新第i轮的第一位置集合和第二位置集合,得到第i+1轮所需的第一位置集合和第二位置集合,从而确定出下一个PC位置(即第i+1个PC位置)。下面继续进行说明。
c)更新第i轮的第二位置集合,得到第i+1轮的第二位置集合。第i+1轮的第二位置集合为将第i轮的第一位置集合中第i个PC位置删除后对应的位置集合。
可以理解,在每一轮迭代中使用的第二位置集合对应的位置个数都是A。
d)更新第i轮的第一位置集合,得到第i+1轮的第一位置集合。第i+1轮的第一位置集合包括第i+1轮的第二位置集合和第三位置集合中的第i+1个候选位置。
可以理解,在每一轮迭代中使用的第一位置集合对应的位置个数都是A+1。
e)基于第i+1个候选位置对应的行重和第i+1轮的第二位置集合对应的最小行重确定第i+1个PC位置。
若第i+1个候选位置对应的行重小于第i+1轮的第二位置集合对应的最小行重,则将第i+1个候选位置作为第i+1个PC位置。
若第i+1个候选位置对应的行重大于或等于第i+1轮的第二位置集合对应的最小行重,则将第五位置集合中位置编号最大或序列可靠度最高的位置作为第i+1个PC位置,第五位置集合包括第i+1轮的第一位置集合中行重等于第i+1轮的第二位置集合S2的最小行重的所有位置。
f)重复c)至e)中的操作,更新下一轮需要使用的第一位置集合和第二位置集合,直至确定出nPC个PC位置。
为便于理解,下面以nPC=3为例,对实现方式一进行描述。
(1)3个PC位置中第一PC位置是基于第1轮的第二位置集合对应的最小行重和第1个候选位置对应的行重确定的,第一PC位置为3个PC位置中第一个被确定的PC位置。
其中,第1个候选位置为第三位置集合中序列可靠度最高的位置,第1轮的第二位置集合包括第一比特序列中序列可靠度最高的A个位置。
若第1个候选位置对应的行重小于第1轮的第二位置集合对应的最小行重,将第1个候选位置作为第一PC位置;若第1个候选位置对应的行重大于或等于第1轮的第二位置集合对应的最小行重,将第四位置集合中位置编号最大或序列可靠度最高的位置作为第一PC位置,第四位置集合包括第1轮的第一位置集合中行重等于第1轮的第二位置集合的最小行重的所有位置,第1轮的第一位置集合包括第1轮的第二位置集合和第1个候选位置。
(2)3个PC位置中第二PC位置是基于第2轮的第二位置集合对应的最小行重和第2个候选位置对应的行重确定的,第二PC位置为3个PC位置中第二个被确定的PC位置。
其中,第2个候选位置为第三位置集合中序列可靠度次高的位置,第2轮的第二位置集合为将第1轮的第一位置集合中的第一PC位置删除后对应的位置集合。
若第2个候选位置对应的行重小于第2轮的第二位置集合对应的最小行重,将第2个候选位置作为第二PC位置;若第2个候选位置对应的行重大于或等于第2轮的第二位置集合对应的最小行重,将第五位置集合中位置编号最大或序列可靠度最高的位置作为第二PC位置,第五位置集合包括第2轮的第一位置集合中行重等于第2轮的第二位置集合的最小行重的所有位置,第2轮的第一位置集合包括第2轮的第二位置集合和第2个候选位置。
(3)3个PC位置中第三PC位置是基于第3轮的第二位置集合对应的最小行重和第3个候选位置对应的行重确定的,第三PC位置为3个PC位置中第三个被确定的PC位置。
其中,第3个候选位置为第三位置集合中序列可靠度最低的位置,第3轮的第二位置集合为将第2轮的第一位置集合中第二PC位置删除后对应的位置集合。
若第3个候选位置对应的行重小于第3轮的第二位置集合对应的最小行重,将第3个候选位置作为第三PC位置;若第3个候选位置对应的行重大于或等于第3轮的第二位置集合对应的最小行重,将第六位置集合中位置编号最大或序列可靠度最高的位置作为第三PC位置,第六位置集合包括第3轮的第一位置集合中行重等于第3轮的第二位置集合的最小行重的所有位置,第3轮的第一位置集合包括第3轮的第二位置集合和第3个候选位置。
下面给出nPC=3时实现方式一对应的伪代码。
//用于指示一个新增位置(即用于指示第三位置集合中的一个候选PC位置),初始化该数值,相当于实现方式一中的i
nPC=3;//初始化总的目标PC比特的总数量
S=[];//初始化PC位置集合S
根据NR序列可靠度序列和速率匹配打孔模式,确定出每个位置的序列可靠度,序列B是一个长度为N的序列,序列B中的N个元素为N个位置编号,每个位置编号指示一个位置,N个元素指示的位置按照序列可靠度从低到高排序,即第一个元素对应位置的序列可靠度最低,最后一个元素对应的位置的序列可靠度最高。
weights是一个长度为N的序列,记录N个位置中每个位置的对应的行重。
while length(S)<nPC//如果PC位置集合中的元素数量小于3
//获取当前集合S2(即第二位置集合)和新增位置(即第三位置集合中的一个候选PC位置)所共同构成的集合S1(即第一位置集合),end指示序列B最后一个位置的编号,序列B最后一个位置是可靠度最高的位置,end等于N,A为信息比特的数量
S1_weights=weights(S1);//获取S1中所有位置的行重
w_min_new=S1_weights(1);//获取新增位置对应的行重
S2_weights=weights(S2);//获取集合S2行重
w_min=min(S2_weights);//获取集合S2对应的最小行重
实现方式二
实现方式二可以看做将实现方式一中的最大位置编号准则替换成序列可靠度最高准则。具体的,实现方式二与实现方式一的区别在于步骤b)和步骤e)中,实现方式二的步骤b)中,若第i个候选位置对应的行重大于或等于第二位置集合对应的最小行重,则将第二位置集合中的第一位置作为第i个PC位置,第一位置为第二位置集合中行重最小的位置中序列可靠度最高的位置。同理,步骤e)中,若第i+1个候选位置对应的行重大于或等于更新后的第二位置集合对应的最小行重,则将更新后的第二位置集合中的第一位置作为第i+1个PC位置,第一位置为更新后的第二位置集合中行重最小的位置中序列可靠度最高的位置。
下面给出实现方式二对应的伪代码。
//用于指示一个新增位置(即用于指示第三位置集合中的一个候选PC位置),初始化该数值,相当于实现方式一中的i
nPC=3;//初始化总的目标PC比特的总数量
S=[];//初始化PC位置集合S
while length(S)<nPC//如果PC位置集合中的元素数量小于3
//获取当前集合S2(即第二位置集合)和新增位置(即第三位置集合中的一个候选PC位置)所共同构成的集合S1(即第一位置集合),end指示序列B最后一个位置的编号,序列B最后一个位置是可靠度最高的位置,end等于N,A为信息比特的数量
S1_weights=weights(S1);//获取S1中所有位置的行重
w_min_new=S1_weights(1);//获取新增位置对应的行重
S2_weights=weights(S2);//获取集合S2行重
w_min=min(S2_weights);//获取集合S2对应的最小行重
实现方式三
实现方式三与实现方式一的区别在于步骤b)和步骤e)中,可以看出,实现方式一当步骤b)和步骤e)中,候选位置对应的行重大于或等于第二位置集合对应的最小行重时对应的操作相同,都需要将第二位置集合中位置编号最大的位置作为PC位置。因此,实现方式三中可以进一步细分,如果等于,则第一位置为第二位置集合中位置编号最大的位置,如果大于,则第一位置为第二位置集合中序列可靠度最高的位置。
下面给出实现方式三对应的伪代码。
//用于指示一个新增位置(即用于指示第三位置集合中的一个候选PC位置),初始化该数值,相当于实现方式一中的i
nPC=3;//初始化总的目标PC比特的总数量
S=[];//初始化PC位置集合S
while length(S)<nPC//如果PC位置集合中的元素数量小于3
//获取当前集合S2(即第二位置集合)和新增位置(即第三位置集合中的一个候选PC位置)所共同构成的集合S1(即第一位置集合),end指示序列B最后一个位置的编号,序列B最后一个位置是可靠度最高的位置,end等于N,A为信息比特的数量
S1_weights=weights(S1);//获取S1中所有位置的行重
w_min_new=S1_weights(1);//获取新增位置对应的行重
S2_weights=weights(S2);//获取集合S2行重
w_min=min(S2_weights);//获取集合S2对应的最小行重
实现方式四
实现方式四与实现方式一的区别在于步骤b)和步骤e)中,可以看出,实现方式一当步骤b)和步骤e)中,候选位置对应的行重大于或等于第二位置集合对应的最小行重时对应的操作相同,都需要将第二位置集合中位置编号最大的位置作为PC位置。因此,实现方式四中可以进一步细分,如果大于,则第一位置为第二位置集合中位置编号最大的位置,如果等于,则第一位置为第二位置集合中序列可靠度最高的位置。
下面给出实现方式四对应的伪代码。
//用于指示一个新增位置(即用于指示第三位置集合中的一个候选PC位置),初始化该数值,相当于实现方式一中的i
nPC=3;//初始化总的目标PC比特的总数量
S=[];//初始化PC位置集合S
while length(S)<nPC//如果PC位置集合中的元素数量小于3
//获取当前集合S2(即第二位置集合)和新增位置(即第三位置集合中的一个候选PC位置)所共同构成的集合S1(即第一位置集合),end指示序列B最后一个位置的编号,序列B最后一个位置是可靠度最高的位置,end等于N,A为信息比特的数量
S1_weights=weights(S1);//获取S1中所有位置的行重
w_min_new=S1_weights(1);//获取新增位置对应的行重
S2_weights=weights(S2);//获取集合S2行重
w_min=min(S2_weights);//获取集合S2对应的最小行重
上述实现方式一至实现方式四可以看做串行确定PC位置的实现方式,下面给出两种并行确定PC位置的实现方式。
实现方式五,该实现方式包括以下步骤。
a)确定第一位置集合,第一位置集合包括第二位置集合和第三位置集合。
其中,第二位置集合指示第一比特序列中序列可靠度最高的A个位置,第三位置集合指示序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置。也可以理解,第一位置集合指示第一比特序列中序列可靠度最高的(A+nPC)个位置。
b)基于第三位置集合中每个位置对应的行重和第二位置集合对应的最小行重确定nPC个PC位置。
若第三位置集合中有m1个位置对应的行重小于第二位置集合对应的最小行重,将该m1个位置作为PC位置,1≤m1≤nPC。
若第三位置集合中有m2个位置对应的行重大于或等于第二位置集合对应的最小行重,将第四位置集合中位置编号最大的m2个位置或序列可靠度最高的m2个位置作为PC位置,第四位置集合包括第一位置集合中行重等于第二位置集合的最小行重的所有位置,其中,m1+m2=nPC。
实现方式六,该实现方式包括以下步骤。
a)确定第一位置集合,第一位置集合包括第二位置集合和第三位置集合。
第二位置集合和第三位置集合参见实现方式五中的描述,这里不再赘述。
b)基于第三位置集合中每个位置对应的行重和第二位置集合对应的最小行重确定nPC个PC位置。
若第三位置集合中第i个位置对应的行重小于第二位置集合对应的最小行重,将第i个位置作为一个PC位置,1≤i≤nPC。
若第三位置集合中第i个位置对应的行重大于或等于第二位置集合对应的最小行重,则将第五位置集合中位置编号最大或序列可靠度最高的位置作为一个PC位置,其中,第五位置集合为第四位置集合中除已确定的PC位置外剩余的位置,第四位置集合包括第一位置集合中行重等于第二位置集合的最小行重的所有位置。
以上对PC比特的放置方式进行了详细描述,在确定nPC个PC位置后,将A个信息比特放置在第一比特序列中序列可靠度最高的(A+nPC)个位置中除nPC个PC位置外剩余的A个位置上。另外,基于nPC个PC位置对应的PC校验关系确定nPC个PC位置上的PC比特的取值,从而得到待编码的第一比特序列。
S730,发送端设备对第一比特序列进行Polar编码,输出码字序列。
关于Polar编码过程参见图3中的描述,这里不再赘述。
S740,发送端设备基于码字序列确定符号序列。
可以理解,符号序列可以是速率匹配以及调制后的序列。例如,发送端设备对码字序列进行速率匹配,然后对速率匹配后的序列进行调制得到符号序列,再将调制后的符号序列映射到物理资源上进行传输。
示例的,调制方式可以为QPSK(quaternary phase shift keying,正交相移键控),将调制后的得到的QPSK符号(即码字序列#2)映射到物理资源上进行传输。例如,发送端对速率匹配后的码字序列进行调制,将速率匹配后的码字序列中的比特0调制为1,将比特1调制为-1,得到待发送的符号序列。例如,调制前的序列为{1,0,0,1,1,0},调制后的序列为符号序列#1为{-1,1,1,-1,-1,1}。
S750,发送端设备向接收端设备发送符号序列。对应的,接收端设备接收来自发送端设备的符号序列。
可以理解,由于符号序列在传输过程中可能会引入信道噪声信号,发送端设备输出或发送的符号序列#1与接收端设备接收到的符号序列#2可能会不同。
S760,接收端设备对符号序列进行PC-SCL译码,得到第一比特序列。
可以理解,接收端设备获取的PC位置和发送端获取的PC位置相同,本申请对接收端设备和发送端设备如何获取PC位置不做具体限定。例如,接收端设备和发送端设备可以基于相同的准则自行确定PC位置。接收端设备已知A个信息比特位、nPC个PC位置和冻结比特位对应的位置范围。A个信息比特位和nPC个PC位置为第一比特序列中序列可靠度最高的(A+nPC)个位置。另外,冻结比特位为第一比特序列中剩余的N-A-nPC个位置。
还可以理解,该PC-SCL译码算法中不使用CRC测试译码路径,通过PC比特修正SCL译码的路径准则PM,从而提升正确译码路径排在前面的概率。
还可以理解,PC-SCL译码算法中,每一次译码(即对一个比特进行译码)仅保存当前PM最小的8条译码路径作为候选译码路径,那么,当前需要对第i个PC位置上的比特进行译码,对应译码过程包括以下步骤。
a)基于符号序列#2,获取第一比特序列的N个位置对应的LLR。
举例说明,发送端发送的符号序列#1为{-1,1,1,-1,-1,1},接收端对符号序列#2进行解调,得到第一比特序列中放置A个信息比特和nPC个PC比特的位置对应的LLR,例如为{-0.8,1.1,0.9,-0.9,-1.2,0.6}。
b)获取第i个PC位置之前位置对应的PM最小的S条译码路径(下面均以S=8为例进行说明),第i个PC位置为第一比特序列的nPC个PC位置中任一位置。
可以理解,第一比特序列中第i个PC位置之前放置净荷比特和CRC比特的位置对应两个译码结果,示例的,若第一比特序列中第i个PC位置之前放置净荷比特和CRC比特的位置数量为4,则会有24=16条译码路径,这里的8条译码路径为16条译码路径中PM最小的8条路径。
还可以理解,每条译码路径的PM是基于第i个PC位置之前的所有(i-1)个位置对应的LLR确定的。
c)基于译码路径#1对应的第i个PC位置的第一取值与第i个PC位置的第二取值确定是否为当前路径增加惩罚。其中,译码路径#1为当前8条译码路径中任一条译码路径,第一取值是基于译码路径#1对应的译码结果和第i个PC位置对应的PC校验关系确定的,第二取值为第i个PC位置对应的LLR的硬判决结果。
若译码路径#1对应的第i个PC位置的第一取值与第i个PC位置的第二取值不相同,则增大译码路径#1的PM值,即在当前PM的基础上增加一个数值得到新的PM。
若译码路径#1对应的第i个PC位置的第一取值与第i个PC位置的第二取值相同,保持译码路径#1的PM值不变,则保持译码路径#1的PM值不变。
可以理解,本申请中在计算译码路径的PM值时,使得PM越小的译码路径越可能是正确的码字,因此,对译码路径增加惩罚可以通过增加该译码路径的PM值来实现。
在另一种实现方式中,如果在计算译码路径的PM值时,使得PM越大的译码路径越可能是正确的码字,每轮译码中都选取PM最大的S条译码路径,对译码路径增加惩罚也可以通过减少该译码路径的PM值来实现,即可以在当前译码路径的PM基础上减去一个数值。
d)基于第一比特序列中第i个PC位置之后位置对应的LLR和上述8条译码路径继续进行译码,直至完成译码得到最终的PM最小的8条译码路径。
e)确定第一比特序列,第一比特序列为上述最终确定的PM最小的8条译码路径中PM最小的译码路径对应的译码结果。
可以理解,上述附图中各个步骤仅是示例性说明,对此不作严格限定。此外,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还可以理解,本申请的各实施例中的一些可选的特征,在某些场景下,可以不依赖于其他特征,也可以在某些场景下,与其他特征进行结合,不作限定。
还可以理解,上述各个方法实施例中,由设备(发送端设备或接收端设备)实现的方法和操作,也可以由可由设备的组成部件(例如芯片或者电路)来实现,不作限定。
上文结合图1至图10,详细描述了本申请提供的方法实施例,下面将结合图11和图12,描述本申请的装置实施例。可以理解的是,为了实现上述实施例中功能,图11和图12中的装置包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。可以理解的是,上述各方法实施例所描述的技术特征同样适用于以下装置实施例。
图11和图12为本申请的实施例提供的可能的装置的结构示意图。这些装置可以用于实现上述方法实施例中发送端设备或接收端设备的功能,因此也能实现上述方法实施例所具备的有益效果。
图11是本申请实施例提供的通信装置1000的示意性框图。如图11所示,该装置1000可以包括通信单元1010和处理单元1020。通信单元1010可以与外部进行通信,处理单元1020用于进行数据处理。通信单元1010还可以称为通信接口或收发单元。
在一种可能的设计中,该装置1000可实现对应于上文方法实施例中的发送端设备执行的步骤或者流程,其中,处理单元1020用于执行上文方法实施例中发送端设备的处理相关的操作,通信单元1010用于执行上文方法实施例中发送端设备的发送相关的操作。
在又一种可能的设计中,该装置1000可实现对应于上文方法实施例中的接收端设备执行的步骤或者流程,其中,通信单元1010用于执行上文方法实施例中接收端设备的接收相关的操作,处理单元1020用于执行上文方法实施例中接收端设备的处理相关的操作。
可以理解,这里的装置1000以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置1000可以具体为上述实施例中的发送端设备,可以用于执行上述方法实施例中与发送端设备对应的各个流程和/或步骤,或者,装置1000可以具体为上述实施例中的接收端设备,可以用于执行上述方法实施例中与接收端设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述各个方案的装置1000具有实现上述方法中发送端设备所执行的相应步骤的功能,或者,上述各个方案的装置1000具有实现上述方法中接收端设备所执行的相应步骤的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块;例如通信单元可以由收发机替代(例如,通信单元中的发送单元可以由发送机替代,通信单元中的接收单元可以由接收机替代),其它单元,如处理单元等可以由处理器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。
此外,上述通信单元还可以是收发电路(例如可以包括接收电路和发送电路),处理单元可以是处理电路。在本申请的实施例,图11中的装置可以是前述实施例中的接收端设备或发送端设备,也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。其中,通信单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。在此不做限定。
图12为本申请实施例提供的通信装置1100的示意性框图。该装置1100包括处理器1110和收发器1120。其中,处理器1110和收发器1120通过内部连接通路互相通信,该处理器1110用于执行指令,以控制该收发器1120发送信号和/或接收信号。
可选地,该装置1100还可以包括存储器1130,该存储器1130与处理器1110、收发器1120通过内部连接通路互相通信。该存储器1130用于存储指令,该处理器1110可以执行该存储器1130中存储的指令。在一种可能的实现方式中,装置1100用于实现上述方法实施例中的发送端设备对应的各个流程和步骤。在另一种可能的实现方式中,装置1100用于实现上述方法实施例中的接收端设备对应的各个流程和步骤。
可选的,存储器1130可以集成在处理器1110中。
在一种可能的场景中,装置1100包括至少一个集成有存储器的处理器,和除该集成在处理器上的存储器之外的其它存储器。
可以理解,装置1100可以具体为上述实施例中的发送端设备或接收端设备,也可以是芯片或者芯片系统。对应的,该收发器1120可以是该芯片的收发电路,在此不做限定。具体地,该装置1100可以用于执行上述方法实施例中与发送端设备或接收端设备对应的各个步骤和/或流程。
可选地,该存储器1130可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1110可以用于执行存储器中存储的指令,并且当该处理器1110执行存储器中存储的指令时,该处理器1110用于执行上述与发送端设备或接收端设备对应的方法实施例的各个步骤和/或流程。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理(digital signal processing,DSP)、ASIC、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。本申请实施例中的处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
可选的,本申请实施例中的存储器(例如1130)可以集成在处理器(例如1110)中。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得本申请各方法实施例中由发送端设备或接收端设备执行的操作和/或流程被执行。
本申请还提供一种计算机程序产品,计算机程序产品包括计算机程序代码或指令,当计算机程序代码或指令在计算机上运行时,使得本申请各方法实施例中由发送端设备或接收端设备执行的操作和/或流程被执行。
此外,本申请还提供一种芯片,所述芯片包括处理器。用于存储计算机程序的存储器独立于芯片而设置,处理器用于执行存储器中存储的计算机程序,以使得任意一个方法实施例中由发送端设备或接收端设备执行的操作和/或处理被执行。
进一步地,所述芯片还可以包括通信接口。所述通信接口可以是输入/输出接口,也可以为接口电路等。进一步地,所述芯片还可以包括存储器。
此外,本申请还提供一种通信系统,包括本申请实施例中的发送端设备和接收端设备。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
还可以理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下网元会做出相应的处理,并非是限定时间,且也不要求网元实现时一定要有判断的动作,也不意味着存在其它限定。
还可以理解,在本申请各实施例中,“A对应的B”表示B与A相关联,根据A可以确定B。但还可以理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
Claims (16)
- 一种通信方法,其特征在于,包括:获取A个信息比特和奇偶校验PC比特的个数nPC,所述A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,所述K、所述L和所述nPC均为正整数;生成第一比特序列,所述第一比特序列包括N个比特,所述N个比特包括所述A个信息比特和所述nPC个PC比特,所述A个信息比特和所述nPC个PC比特位于所述第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,所述N为2的n次方,所述n为正整数,放置所述nPC个PC比特的nPC个PC位置满足第一条件和第二条件,所述第一条件为所述A个信息比特所在的A个位置对应的最小行重不小于所述第一比特序列中序列可靠度最高的A个位置对应的最小行重,其中,每个位置对应一个行重,所述第二条件为所述nPC个PC位置对应的nPC个位置编号中第k高位置编号大于或等于第三位置集合S3对应的nPC个位置编号中第k高位置编号,所述第三位置集合S3包括所述序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置,1≤k≤nPC;对所述第一比特序列进行极化编码,得到码字序列;输出所述码字序列。
- 一种通信方法,其特征在于,包括:获取符号序列;基于所述符号序列确定第一比特序列的N个位置对应的对数似然比LLR,所述第一比特序列包括A个信息比特和nPC个奇偶校验PC比特,所述A个信息比特包括K个净荷比特和L个循环冗余校验CRC比特,所述A个信息比特和所述nPC个PC比特位于所述第一比特序列中序列可靠度最高的(A+nPC)个位置上,其中,所述N为2的n次方,所述K、所述L和所述nPC均为正整数,其中,放置所述nPC个PC比特的nPC个PC位置满足第一条件和第二条件,所述第一条件为所述A个信息比特所在的A个位置对应的最小行重不小于所述第一比特序列中序列可靠度最高的A个位置对应的最小行重,其中,每个位置对应一个行重,所述第二条件为所述nPC个PC位置对应的nPC个位置编号中第k高位置编号大于或等于第三位置集合S3对应的nPC个位置编号中第k高位置编号,所述第三位置集合S3指示所述序列可靠度最高的(A+nPC)个位置中序列可靠度最低的nPC个位置,1≤k≤nPC;获取第i个PC位置之前的位置对应的路径度量值PM最小的S条译码路径,其中,所述第i个PC位置为nPC个PC位置中任一位置,所述S条译码路径的PM是基于所述第i个PC位置之前的位置对应的LLR确定的;若第一译码路径对应的所述第i个PC位置的第一取值与所述第i个PC位置的第二取值不相同,增大所述第一译码路径的PM,其中,所述第一译码路径为所述S条路径中任一路径,所述第一取值是基于所述第一译码路径对应的译码结果和所述第i个PC位置对应的PC校验关系确定的,所述第二取值为所述第i个PC位置对应的LLR的硬判决结果;若所述第一译码路径对应的所述第i个PC位置的第一取值与所述第i个PC位置的第二取值相同,保持所述第一译码路径的PM值不变;基于所述第i个PC位置之后位置对应LLR所述S条译码路径继续进行译码,直至完成译码得到最终的PM最小的S条译码路径;获取所述第一比特序列,所述第一比特序列为所述最终的PM最小的S条译码路径中PM最小的译码路径对应的译码结果。
- 根据权利要求1或2所述的方法,其特征在于,所述nPC=3,所述nPC个PC位置中第一PC位置是基于第二位置集合S2对应的最小行重和第一候选位置对应的行重确定的,所述第一PC位置为所述nPC个PC位置中第一个被确定的PC位置,其中,所述第一候选位置为所述第三位置集合S3中序列可靠度最高的位置,所述第二位置集合S2包括所述第一比特序列中序列可靠度最高的A个位置,若所述第一候选位置对应的行重小于所述第二位置集合S2对应的最小行重,将所述第一候选位置作为所述第一PC位置,若所述第一候选位置对应的行重大于或等于所述第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大或序列可靠度最高的位置作为所述第一PC位置,所述第四位置集合S4包括第一位置集合S1中行重等于所述第二位置集合S2的最小行重的位置,所述第一位置集合S1包括所述第二位置集合S2和所述第一候选位置。
- 根据权利要求3所述的方法,其特征在于,所述nPC个PC位置中第二PC位置是基于第一次更新后的第二位置集合S2对应的最小行重和第二候选位置对应的行重确定的,所述第二PC位置为所述nPC个PC位置中第二个被确定的PC位置,其中,所述第二候选位置为所述第三位置集合S3中序列可靠度次高的位置,所述第一次更新后的第二位置集合S2为将所述第一位置集合S1中所述第一PC位置删除后对应的位置集合,若所述第二候选位置对应的行重小于所述第一次更新后的第二位置集合S2对应的最小行重,将所述第二候选位置作为所述第二PC位置,若所述第二候选位置对应的行重大于或等于所述第一次更新后的第二位置集合S2对应的最小行重,将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为第二PC位置,所述第五位置集合S5包括第一次更新后的第一位置集合S1中行重等于所述第一次更新后的第二位置集合S2的最小行重的位置,所述第一次更新后的第一位置集合S1包括所述第一次更新后的第二位置集合S2和所述第二候选位置。
- 根据权利要求4所述的方法,其特征在于,所述nPC个PC位置中第三PC位置是基于第二次更新后的第二位置集合S2对应的最小行重和第三候选位置对应的行重确定的,所述第三PC位置为所述nPC个PC位置中第三个被确定的PC位置,其中,所述第三候选位置为所述第三位置集合S3中序列可靠度最低的位置,所述第二次更新后的第二位置集合S2为将所述第一次更新后的第一位置集合S1中所述第二PC位置删除后对应的位置集合,若所述第三候选位置对应的行重小于所述第二次更新后的第二位置集合S2对应的最小行重,将所述第三候选位置作为所述第三PC位置,若所述第三候选位置对应的行重大于或等于所述第二次更新后的第二位置集合S2对应的最小行重,将第六位置集合S6中位置编号最大或序列可靠度最高的位置作为第三PC位置,所述第六位置集合S6包括第二次更新后的第一位置集合S1中行重等于所述第二次更新后的第二位置集合S2的最小行重的位置,所述第二次更新后的位置集合包括所述第二次更新后的第二位置集合S2和所述第三候选位置。
- 根据权利要求1或2所述的方法,其特征在于,所述nPC个PC位置中第i个PC位置是基于第i轮的第二位置集合S2对应的最小行重和所述第三位置集合中的第i个候选位置的行重确定的,其中,所述第i个候选位置为所述第三位置集合S3中序列可靠度第i高的一个位置,所述第三位置集合S3中的所述nPC个位置按照序列可靠度由高到低依次作为一个候选位置确定一个PC位置,所述nPC个PC位置中第1个PC位置是基于第1轮的第二位置集合S2的行重和第1个候选位置的行重确定的,所述第1轮的第二位置集合S2包括所述第一比特序列中序列可靠度最高的A个位置,所述第1个候选位置为所述第三位置集合S3中序列可靠度最高的位置,1≤i≤nPC-1;若所述第i个候选位置对应的行重小于所述第i轮的第二位置集合S2对应的最小行重,将所述第i个候选位置作为所述第i个PC位置,若所述第i个候选位置对应的行重大于或等于所述第i轮的第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大或序列可靠度最高的位置作为所述第i个PC位置,所述第四位置集合S4包括第i轮的第一位置集合S1中行重等于所述第i轮的第二位置集合S2的最小行重的位置,所述第i轮的第一位置集合S1包括所述第i轮的第二位置集合S2和所述第i个候选位置;所述nPC个PC位置中第i+1个PC位置是基于第i+1轮的第二位置集合S2的行重和第i+1个候选位置的行重确定的,其中,所述第i+1轮的第二位置集合S2包括所述第i轮中的第一位置集合中除所述第i个PC位置外剩余的位置,所述第i+1个候选位置为所述第三位置集合S3中序列可靠度第i+1高的一个位置,若所述第i+1个候选位置对应的行重小于所述第i+1轮的第二位置集合S2对应的最小行重,将所述第i+1个候选位置作为所述第i+1个PC位置,若所述第i+1个候选位置对应的行重大于或等于所述第i+1轮的第二位置集合S2对应的最小行重,将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为所述第i+1个PC位置,所述第五位置集合S5包括第i+1轮的第一位置集合S1中行重等于所述第i+1轮的第二位置集合S2的最小行重的位置,所述第i+1轮的第一位置集合S1包括所述第i+1轮的第二位置集合S2和所述第i+1个候选位置。
- 根据权利要求1或2所述的方法,其特征在于,所述nPC个PC位置是基于第二位置集合S2对应的最小行重和所述第三位置集合S3中nPC个位置对应的行重确定的,其中,所述第二位置集合S2包括所述第一比特序列中序列可靠度最高的A个位置,若所述第三位置集合S3中有m1个位置对应的行重小于所述第二位置集合S2对应的最小行重,将所述m1个位置作为PC位置,1≤m1≤nPC,若所述第三位置集合S3中有m2个位置对应的行重大于或等于所述第二位置集合S2对应的最小行重,将第四位置集合S4中位置编号最大的m2个位置或序列可靠度最高的m2个位置作为PC位置,所述第四位置集合S4包括第一位置集合S1中行重等于所述第二位置集合S2的最小行重的位置,所述第一位置集合S1包括所述第二位置集合S2和所述第三位置集合S3,其中,m1+m2=nPC。
- 根据权利要求1或2所述的方法,其特征在于,所述nPC个PC位置是基于第二位置集合S2对应的最小行重和所述第三位置集合S3中nPC个位置对应的行重确定的,其中,所述第二位置集合S2包括所述第一比特序列中序列可靠度最高的A个位置,若所述第三位置集合S3中第i个位置对应的行重小于所述第二位置集合S2对应的最小行重,将所述第i个位置作为一个PC位置,1≤i≤nPC,若所述第三位置集合S3中第i个位置对应的行重大于或等于所述第二位置集合S2对应的最小行重,则将第五位置集合S5中位置编号最大或序列可靠度最高的位置作为一个PC位置,其中,所述第五位置集合S5为第四位置集合S4中除已确定的PC位置外剩余的位置,所述第四位置集合包括第一位置集合S1中行重等于所述第二位置集合S2的最小行重的位置,所述第一位置集合S1包括所述第二位置集合S2和所述第三位置集合S3。
- 根据权利要求1至8中任一项所述的方法,其特征在于,所述nPC个PC位置为所述第一比特序列中序列可靠度最低的nPC个位置,或者,所述nPC个PC位置为所述第一比特序列中序列可靠度最高或位置编号最大的nPC个位置。
- 根据权利要求1至9中任一项所述的方法,其特征在于,所述A个信息比特位于所述第一比特序列中序列可靠度最高的(A+nPC)个位置中除所述nPC个PC位置外剩余的A个位置上。
- 根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:基于所述nPC个PC位置对应的PC校验关系确定所述nPC个PC比特的取值。
- 一种通信装置,其特征在于,包括至少一个处理器和接口电路,所述接口电路用于接收来自所述通信装置之外的其它通信装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述通信装置之外的其它通信装置,所述处理器通过逻辑电路或执行代码指令,使得如权利要求1至11中任一项所述的方法被实现。
- 根据权利要求12所述的通信装置,其特征在于,所述通信装置为芯片或芯片系统。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,使得如权利要求1至11中任一项所述的方法被实现。
- 一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得如权利要求1至11中任一项所述的方法被实现。
- 一种通信系统,其特征在于,包括:用于执行如权利要求1、3至11中任一项所述方法的发送端设备;用于执行如权利要求2至11中任一项所述方法的接收端设备。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410710693.7 | 2024-06-03 | ||
| CN202410710693.7A CN121098445A (zh) | 2024-06-03 | 2024-06-03 | 通信方法和通信装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025252033A1 true WO2025252033A1 (zh) | 2025-12-11 |
Family
ID=97896389
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2025/098463 Pending WO2025252033A1 (zh) | 2024-06-03 | 2025-05-30 | 通信方法和通信装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN121098445A (zh) |
| WO (1) | WO2025252033A1 (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110233698A (zh) * | 2018-03-06 | 2019-09-13 | 北京展讯高科通信技术有限公司 | 极化码的编码及译码方法、发送设备、接收设备、介质 |
| CN110635808A (zh) * | 2018-06-22 | 2019-12-31 | 华为技术有限公司 | 极化码译码方法和译码装置 |
| US20200052719A1 (en) * | 2017-03-30 | 2020-02-13 | Nec Corporation | Communication method and apparatus using polar codes |
| WO2020146992A1 (en) * | 2019-01-14 | 2020-07-23 | Nokia Shanghai Bell Co., Ltd. | Polar encoding |
| CN111446969A (zh) * | 2019-01-17 | 2020-07-24 | 华为技术有限公司 | 一种级联crc码的极化码编码方法及装置 |
-
2024
- 2024-06-03 CN CN202410710693.7A patent/CN121098445A/zh active Pending
-
2025
- 2025-05-30 WO PCT/CN2025/098463 patent/WO2025252033A1/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200052719A1 (en) * | 2017-03-30 | 2020-02-13 | Nec Corporation | Communication method and apparatus using polar codes |
| CN110233698A (zh) * | 2018-03-06 | 2019-09-13 | 北京展讯高科通信技术有限公司 | 极化码的编码及译码方法、发送设备、接收设备、介质 |
| CN110635808A (zh) * | 2018-06-22 | 2019-12-31 | 华为技术有限公司 | 极化码译码方法和译码装置 |
| WO2020146992A1 (en) * | 2019-01-14 | 2020-07-23 | Nokia Shanghai Bell Co., Ltd. | Polar encoding |
| CN111446969A (zh) * | 2019-01-17 | 2020-07-24 | 华为技术有限公司 | 一种级联crc码的极化码编码方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| SAMSUNG: "Remaining Issues on NR Polar Coding", 3GPP DRAFT; R1-1801992 REMAINING ISSUES ON POLAR CODING R1, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG1, no. Athenes, Greece; 20180226 - 20180302, 17 February 2018 (2018-02-17), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051397787 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121098445A (zh) | 2025-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN120345219A (zh) | 编码方法、译码方法及装置 | |
| CN115276886B (zh) | 一种编码识别方法及装置 | |
| US12425050B2 (en) | Method and apparatus for encoding and decoding signal in wireless communication system, and system for providing same | |
| JP7769121B2 (ja) | レートマッチング方法およびレートマッチング装置 | |
| WO2025252033A1 (zh) | 通信方法和通信装置 | |
| CN116074891A (zh) | 通信方法及相关装置 | |
| US20250373476A1 (en) | Rate matching method, de-rate matching method, and communication apparatus | |
| WO2026040904A1 (zh) | 基于极化码的通信方法和通信装置 | |
| US12021546B2 (en) | Method and apparatus for improved belief propagation based decoding | |
| WO2024124476A1 (zh) | 级联编码方法、级联译码方法及装置 | |
| WO2026001883A1 (zh) | 通信方法和通信装置 | |
| CN121333324A (zh) | 基于ldpc码的通信方法和通信装置 | |
| CN119921784A (zh) | 一种基于ldpc码的通信方法和通信装置 | |
| WO2025237362A1 (zh) | 通信方法和通信装置 | |
| CN121333326A (zh) | 通信方法和通信装置 | |
| WO2025252031A1 (zh) | 一种编码、译码方法和装置 | |
| CN121441324A (zh) | 一种基于ldpc码的通信方法和通信装置 | |
| WO2025261322A1 (zh) | 一种编码、译码方法及通信装置 | |
| WO2025209273A1 (zh) | 极化码的译码方法和通信装置 | |
| CN121333323A (zh) | 基于ldpc码的通信方法和通信装置 | |
| WO2025252034A1 (zh) | 编译码方法和通信装置 | |
| WO2026040977A1 (zh) | 一种基于ldpc码的通信方法和通信装置 | |
| CN121396389A (zh) | 一种编译码方法、装置及系统 | |
| CN121603157A (zh) | 基于极化码的通信方法和通信装置 | |
| WO2025237385A1 (zh) | 基于ldpc码的通信方法和通信装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25819149 Country of ref document: EP Kind code of ref document: A1 |