Communication method, apparatus and system

By performing CRC precoding on information bits with smaller line weights in polar codes, the problem of limited decoding performance caused by a large number of low-weight codewords in existing technologies is solved, achieving more efficient decoding performance and communication reliability.

WO2026114068A1PCT designated stage Publication Date: 2026-06-04HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-11-19
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing CRC precoding methods have limited ability to reduce low-similarity codewords when the code length is long and the CRC check bit is short, which limits the decoding performance of polar codes.

Method used

CRC precoding is performed on the information bits with smaller row weights among A information bits. Information bits with lower row weights are selected to participate in CRC verification. The number of bits participating in CRC precoding is limited by a threshold X to ensure that the CRC verification capability does not exceed 2L-1 or M, thereby improving the decoding performance of polar codes.

Benefits of technology

It effectively reduces the number of low-similarity codewords, improves the decoding performance of polar codes, and enhances the reliability of communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025136173_04062026_PF_FP_ABST
    Figure CN2025136173_04062026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and discloses a communication method, apparatus and system. The method comprises: a first communication apparatus determining L check bits on the basis of a first bit sequence and a CRC polynomial, wherein the first bit sequence comprises X' information bits among A information bits, and the row weight of the X' information bits is less than or equal to the row weight of information bits other than the X' information bits among the A information bits; performing polar coding on a second bit sequence, wherein the second bit sequence comprises the A information bits and the L check bits; and outputting the bit sequence that has undergone the polar coding. In this way, because a polar channel corresponding to the row having a low row weight exhibits low reliability and is more susceptible to interference factors such as noise, CRC precoding is performed on some information bits having the low row weight among the A information bits, so as to effectively reduce the number of low-weight codewords and improve decoding performance for polar code.
Need to check novelty before this filing date? Find Prior Art

Description

A communication method, apparatus and system

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411761712.5, filed on November 30, 2024, entitled "A Communication Method, Apparatus and System", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of communication technology, and in particular to a communication method, apparatus and system. Background Technology

[0004] Polar codes are coding schemes that can be rigorously proven to "achieve" Shannon channel capacity. They have advantages such as good decoding performance and low complexity, and were selected as the control channel coding scheme in the 5G communication standard. To improve the performance of polar codes, one approach is to concatenate a check bit with check capability after the information bits. This involves performing cyclic redundancy check (CRC) precoding on the information bits, and then polar coding on the codeword (including information bits and check bits) obtained from the CRC precoding.

[0005] However, in many cases, the proportion of low-similarity codewords passing CRC checks is higher than theoretically expected. For example, in the presence of channel noise, low-similarity codewords are more susceptible to interference and errors. If these erroneous low-similarity codewords pass the CRC check, the receiver will receive incorrect data. Therefore, current CRC precoding methods have limited ability to reduce low-similarity codewords when the code length is long and the CRC check bit is short, resulting in limited decoding performance. Summary of the Invention

[0006] This application provides a communication method, apparatus, and system. By performing CRC precoding on the portion of information bits with smaller line weights in A information bits, the number of low-similarity codewords can be effectively reduced, which facilitates the improvement of polar code decoding performance.

[0007] In a first aspect, embodiments of this application provide a communication method, which can be executed by a first communication device (or encoding device). Unless otherwise specified, the "first communication device" in this application can refer to a communication device (e.g., a network device, a terminal device, an encoding device, etc.), a component of the communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software capable of implementing all or part of the functions of the communication device. For example, in the method provided in the first aspect, the first communication device determines L check bits based on a first bit sequence and a CRC polynomial; the first bit sequence includes X' information bits out of A information bits, the row weight of the X' information bits is less than or equal to the row weight of the other information bits in the A information bits excluding the X' information bits; polar encoding is performed on a second bit sequence, the second bit sequence including the A information bits and the L check bits; the polar encoded bit sequence is output; wherein A, X', and L are integers greater than or equal to 1, and X' is less than A.

[0008] Using the above method, since the polar channel corresponding to the row with lower row weight has relatively lower reliability and is more susceptible to interference factors such as noise, CRC precoding of the information bits with lower row weight in A information bits can effectively reduce the number of low-similarity codewords and facilitate the improvement of polar code decoding performance.

[0009] In one possible design, the X' information bits include a first information bit, and the other information bits include a second information bit; when the row weight of the first information bit is equal to the row weight of the second information bit, the sequence number of the bit position where the first information bit is located is less than the sequence number of the bit position where the second information bit is located, or the reliability of the bit position where the first information bit is located is less than the reliability of the bit position where the second information bit is located.

[0010] In one possible design, the method further includes: obtaining a threshold X; and if the number of information bits A is greater than the threshold X, determining that the number of bits X' in the first bit sequence is equal to the threshold X. Alternatively, it can be replaced by: if the number of information bits A is greater than the threshold X, the number of bits X' in the first bit sequence is equal to the threshold X.

[0011] In one possible design, the threshold X is pre-configured or pre-defined.

[0012] In one possible design, the threshold X is determined based on the number of rows with the minimum row weight in the polar-coded coding matrix. For example, the threshold X is greater than or equal to the number of rows with the minimum row weight in the polar-coded coding matrix.

[0013] In this way, it can be ensured that all information bits with the smallest line weight participate in CRC precoding, which facilitates the improvement of the decoding performance of polar codes.

[0014] In one possible design, the threshold X is determined based on the verification capability of the CRC polynomial.

[0015] In one possible design, X = 2 L -1-L; or, X = ML, where the CRC polynomial is g(D), and M is a polynomial that satisfies g(D) divisibility by D. M The smallest integer plus 1.

[0016] Thus, the X' information bit with the smaller line weight among the A information bits is selected for CRC precoding, and the threshold X ensures that the number of bits participating in CRC check does not exceed 2. L -1, or not exceeding M, means that when determining the number of information bits participating in CRC precoding, the verification capability of the CRC polynomial is taken into account, which facilitates the improvement of the decoding performance of polar codes.

[0017] Secondly, embodiments of this application provide a communication method, which can be executed by a second communication device (or decoding device). Unless otherwise specified, the "second communication device" in this application can refer to a communication device (e.g., a terminal device, a network device, a decoding device, etc.), a component of the communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software that can implement all or part of the functions of the communication device. For example, in the method provided in the second aspect, the second communication device obtains a second bit sequence through polarization decoding, the second bit sequence including A information bits and L check bits; a third bit sequence is checked according to a CRC polynomial; the third bit sequence includes a first bit sequence and the L check bits, the first bit sequence including X' information bits from the A information bits, the row weight of the X' information bits being less than or equal to the row weight of the other information bits in the A information bits excluding the X' information bits; if the check is successful, it is determined that the A information bits have been successfully decoded; wherein A, X', and L are integers greater than or equal to 1, and X' is less than A.

[0018] In one possible design, the X' information bits include a first information bit, and the other information bits include a second information bit; when the row weight of the first information bit is equal to the row weight of the second information bit, the sequence number of the bit position where the first information bit is located is less than the sequence number of the bit position where the second information bit is located, or the reliability of the bit position where the first information bit is located is less than the reliability of the bit position where the second information bit is located.

[0019] In one possible design, the method further includes: obtaining a threshold X; and if the number of information bits A is greater than the threshold X, determining that the number of bits X' in the first bit sequence is equal to the threshold X. Alternatively, it can be replaced by: if the number of information bits A is greater than the threshold X, the number of bits X' in the first bit sequence is equal to the threshold X.

[0020] In one possible design, the threshold X is pre-configured or pre-defined.

[0021] In one possible design, the threshold X is determined based on the number of rows with the minimum row weight in the polar coding matrix.

[0022] In one possible design, the threshold X is determined based on the verification capability of the CRC polynomial.

[0023] In one possible design, X = 2 L -1-L; or, X = ML, where the CRC polynomial is g(D), and M is a polynomial that satisfies g(D) divisibility by D. M The smallest integer plus 1.

[0024] It is understood that the communication method provided in the second aspect corresponds to the communication method provided in the first aspect, and the beneficial effects of the relevant technical features in the second aspect can be referred to the description in the first aspect.

[0025] Thirdly, this application provides a communication device that performs the functions described in the first or second aspect above. For example, the communication device includes modules, units, or means corresponding to the operations described in the first or second aspect above. The functions, units, or means can be implemented by software, hardware, or hardware executing corresponding software.

[0026] In one possible design, the communication device includes a processing unit and a communication unit, wherein the communication unit can be used to transmit and receive signals to enable communication between the communication device and other devices; the processing unit can be used to perform some internal operations of the communication device. The functions performed by the processing unit and the communication unit can correspond to the operations involved in the first or second aspect described above.

[0027] In one possible design, the communication device includes a processor that can be coupled to a memory. The memory can store necessary computer programs or instructions for implementing the functions described in the first or second aspect above. The processor can execute the computer programs or instructions stored in the memory, causing the communication device to implement the methods in any possible design or implementation of the first or second aspect above, when the computer programs or instructions are executed.

[0028] In one possible design, the communication device includes a processor and a memory, the memory of which may store necessary computer programs or instructions for implementing the functions involved in the first or second aspect described above. The processor may execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, cause the communication device to implement the methods in any possible design or implementation of the first or second aspect described above.

[0029] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor is configured to communicate with other devices via the interface circuit and to perform the methods in any possible design or implementation of the first or second aspect described above.

[0030] Understandably, in the third aspect described above, the processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. Furthermore, there can be one or more processors, and one or more memories. The memory can be integrated with the processor or separated from it. In specific implementations, the memory can be integrated with the processor on the same chip or disposed on different chips. This application does not limit the type of memory or the arrangement of the memory and processor.

[0031] Fourthly, this application provides a communication system, which may include a first communication device and a second communication device; wherein the first communication device is used to perform the method described in the first aspect, and the second communication device is used to perform the method described in the second aspect.

[0032] Fifthly, this application provides a computer-readable storage medium storing a computer program (or computer-readable instructions) in which, when a computer reads and executes some or all of the computer-readable instructions, the method in any of the possible designs in the first or second aspect described above is executed.

[0033] For example, a computer-readable storage medium can be any available medium that a computer can access. This includes, but is not limited to, non-transient computer-readable media, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disc storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.

[0034] Sixthly, this application provides a computer program product that, when a computer reads and executes the computer program in the computer program product, causes the method in any of the possible designs in the first or second aspect to be executed.

[0035] In a seventh aspect, this application provides a chip (or chip system) including a processor coupled to a memory storing a computer program; the processor is configured to invoke part or all of the computer program in the memory, such that the method in any of the possible designs in the first or second aspect described above is executed. Attached Figure Description

[0036] Figure 1 is a schematic diagram of the architecture of the communication system applicable to the embodiments of this application;

[0037] Figure 2A is a schematic diagram of a processing flow for information sources and sinks;

[0038] Figure 2B is a schematic diagram of another processing flow for the information source and the information sink;

[0039] Figure 2C is a schematic diagram of CRC encoding method;

[0040] Figure 3A is a schematic diagram of an 8×8 polarization transformation matrix;

[0041] Figure 3B is a schematic diagram of the SC decoding calculation process;

[0042] Figure 4 is a schematic diagram showing the proportion of the smallest weight codeword that can pass CRC check to all the smallest weight codewords in the prior art.

[0043] Figure 5 is a flowchart corresponding to the method provided in the embodiment of this application;

[0044] Figure 6 is a schematic diagram of polarization coding provided in an embodiment of this application;

[0045] Figure 7 is a schematic diagram showing the proportion of the smallest weight codeword that can pass CRC check to all the smallest weight codewords in the embodiments of this application.

[0046] Figure 8 is an exemplary block diagram of the apparatus involved in the embodiments of this application;

[0047] Figure 9 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0048] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings. This application will focus on various aspects, embodiments, or features of a system that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these solutions may also be used.

[0049] In the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.

[0050] The technical solutions of this application can be applied to various wireless communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, wireless fidelity, Wi-Fi, Bluetooth, etc.), wired networks, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Worldwide Interoperability for Microwave Access (WiMAX) communication systems, 5G mobile communication systems (such as New Radio (NR) systems), Future Communications systems, or other similar communication systems, without limitation. This application describes the communication system shown in Figure 1 as an example. When applying the technical solution of this application to other communication systems, the devices, components, modules, etc. in the embodiment can be replaced with corresponding devices, components, modules in other communication systems without limitation.

[0051] Figure 1 is a schematic diagram of the architecture of the communication system applied in the embodiments of this application. As shown in Figure 1, the communication system includes an access network 100. Optionally, the communication system may also include a core network 200 and an Internet 300. The access network 100 may include at least one network device, such as 110a and 110b in Figure 1, and may also include at least one terminal device, such as 120a-120j in Figure 1. Specifically, 110a is a base station, 110b is a micro-station, 120a, 120e, 120f, and 120j are mobile phones, 120b is a car, 120c is a fuel dispenser, 120d is a home access point (HAP) deployed indoors or outdoors, 120g is a laptop computer, 120h is a printer, and 120i is a drone. The same terminal device or network device can provide different functions in different application scenarios. For example, the mobile phones in Figure 1 are 120a, 120e, 120f and 120j. Mobile phone 120a can access base station 110a, connect to car 120b, communicate directly with mobile phone 120e and access HAP. Car 120b can access HAP and communicate directly with mobile phone 120a. Mobile phone 120f can access micro-station 110b, connect to laptop 120g and printer 120h. Mobile phone 120j can control drone 120i.

[0052] (1) Network equipment

[0053] A network device is a network-side device with wireless transceiver capabilities. A network device can be a device in a radio access network (RAN) that provides wireless communication capabilities to terminal devices; this is called RAN equipment. The RAN can be an access network within the 3rd Generation Partnership Project (3GPP), such as 4G, 5G, or future networks. The RAN can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a communication network combining two or more of these.

[0054] RAN equipment can also be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc.

[0055] RAN equipment can also be modules or units that perform some of the functions of a base station. For example, it can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). The CU performs the functions of the radio resource control (RRC) and PDCP protocols of the base station, and can also perform the functions of the service data adaptation protocol (SDAP). The CU can be further divided into a CU control plane (CP) (i.e., CU-CP) and a CU user plane (UP) (i.e., CU-UP). The DU performs the functions of the RLC and MA layers of the base station, and can also perform some or all of the physical layer functions. For specific descriptions of the above protocol layers, please refer to the relevant 3GPP technical specifications. CU and DU can be set up separately, or they can be included in the same network element, such as in a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, and RU can also be called O-RU. Any of the CU (or CU-CP, CU-UP), DU, and RU units in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. The RA device can be a macro base station (as shown in Figure 1, 110a), a micro base station or an indoor station (as shown in Figure 1, 110b), or a relay node or donor node, etc. The embodiments of this application do not limit the specific technology or specific device form used in the network equipment.

[0056] In the embodiments of this application, the functions of the network device can be executed by modules (such as chips) within the network device, or by a control subsystem that includes the functions of the network device. This control subsystem, which includes the functions of the network device, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities.

[0057] (2) Terminal equipment

[0058] A terminal device is a user-side device with wireless transceiver capabilities. Terminal devices can also be called terminals, user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc. In the embodiments of this application, the device used to implement the functions of the terminal device can be the terminal device itself, or it can be a device that supports the terminal device in implementing that function, such as a chip system or a combination of devices or components that can implement the functions of the terminal device. This device can be installed in the terminal device. The embodiments of this application do not limit the specific technology or specific device form used in the terminal device.

[0059] In this embodiment of the application, the functions of the terminal device can also be performed by modules (such as chips or modems) in the terminal device, or by a device that includes the functions of the terminal device.

[0060] Network devices and terminal devices can be fixed in location or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and artificial satellites. The embodiments of this application do not limit the application scenarios of the network devices and terminal devices.

[0061] The roles of network devices and terminal devices can be relative. For example, the helicopter or drone 120i in Figure 1 can be configured as a mobile network device. For terminal devices 120j that access the wireless access network 100 via 120i, terminal device 120i is a network device; however, for network device 110a, 120i is a terminal device. That is, 110a and 120i communicate via a wireless air interface protocol. Of course, 110a and 120i can also communicate via a network device-to-network device interface protocol. In this case, relative to 110a, 120i is also a network device. Therefore, both network devices and terminal devices can be collectively referred to as communication devices. 110a and 110b in Figure 1 can be called communication devices with network device functions, and 120a-120j in Figure 1 can be called communication devices with terminal device functions.

[0062] Network devices and terminal devices, network devices and network devices, and terminal devices can communicate through licensed spectrum, unlicensed spectrum, or both simultaneously, without limitation.

[0063] The network architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0064] The following is an explanation of the relevant terms used in the embodiments of this application. Unless otherwise specified, these explanations are provided to support the meaning of the relevant terms and to make the embodiments of this application easier to understand, and should not be regarded as a strict limitation of the relevant terms within the scope of protection claimed by this application.

[0065] (1) Channel encoding and decoding and cyclic redundancy check

[0066] Figure 2A is a schematic diagram of a processing flow for the source and sink. As shown in Figure 2A, the transmitting end (i.e., the source) obtains the bit sequence to be encoded (i.e., the information bit sequence) through source coding, and then performs channel coding on the information bit sequence to obtain the encoded bit sequence. Correspondingly, after the receiving end (i.e., the sink) obtains the symbol sequence to be decoded, it performs channel decoding on the symbol sequence to be decoded to obtain the information bit sequence, and then performs source recovery on the information bit sequence to obtain useful information.

[0067] Since source coding does not consider interference resistance, if the bit sequence output from source coding is directly transmitted through the channel, noise interference in the channel will cause bit errors, reducing communication reliability. Therefore, channel coding, which encodes the bit sequence output from source coding again, can improve communication reliability. Channel decoding is the inverse process of channel coding.

[0068] There are various channel coding methods, such as polar codes. Polar codes have been selected as the control channel coding method in the 5G standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, and have the advantages of good decoding performance and low complexity. To improve the performance of polar codes, a check bit with verification capability can be concatenated after the information bits. That is, the information bits are pre-coded using CRC, and then the codeword obtained by CRC pre-coding (including information bits and check bits) is polar-coded, as shown in Figure 2B.

[0069] CRC is the most commonly used error-checking code in the field of communication. A key feature of CRC is that the number of information bits and the number of check bits can be arbitrarily selected. In communication systems, CRC is used to detect whether data transmission is correct. One implementation of CRC is a shift register. Figure 2C shows a common implementation of CRC using a shift register (or simply register). The feedback tap of the register is determined by the CRC polynomial [1 0 1 0 1], and the register content is initialized to a preset value. The information bits to be encoded are shifted into the register from one side. The feedback tap is XORed with the corresponding state of the register, thus changing the register state. After all the information bits to be encoded are shifted into the register, bits 0 of the same length as the CRC check length are shifted in. Then, the register state is read and used as the CRC check bit, appended to the information bits to be encoded. Further, the transmitting end performs channel coding on the information bits and check bits, and the receiving end performs corresponding channel decoding. After the channel decoding is completed, the check bit is used to determine whether the decoding result is successful. If the decoding is successful, the useful information can be recovered from the source.

[0070] (2) Polar code encoding

[0071] Polar codes employ a coding strategy that utilizes a noiseless channel to transmit useful information, while using a noisy channel to transmit predetermined information or no information at all. A polar code is a linear block code, and its generator matrix is ​​G. N Its encoding process is as follows It is a binary row vector with a length of N (i.e., code length); and Defined as the Kronecker product of log₂N matrices F₂, x₁ N These are the encoded bits (also called codewords). With the generating matrix G N Multiplying them together yields the encoded bits; the process of multiplication is the encoding process.

[0072] During the encoding process of polar codes, A portion of the bits are used to carry information, called the information bit set (understandably, in the scenario shown in Figure 2B, the information bit set includes information bits and check bits), and the set of indices of these bits is denoted as A; the other portion of the bits are set to fixed values ​​pre-agreed upon by the receiver and transmitter, called the fixed bit set or frozen bit set, and the set of its bit indices is denoted by the complement of A, A''. c These freeze bits are typically set to 0, but they can be set arbitrarily as long as the receiver and sender agree in advance.

[0073] Currently, in NR, the frozen bits and information bits of the polar code are determined based on the reliability sequence corresponding to the mother code length. The reliability sequence corresponding to the mother code length can be calculated offline to reduce the encoding complexity. The mother code length is an integer power of 2, which is the length of the bit sequence after polar code encoding; the mother code length can also be called the encoding length. Taking a mother code length of 8 as an example, assuming the reliability sequence is [0 1 2 4 3 5 6 7], the reliability of the bits from largest to smallest (or from highest to lowest) is as follows: the bit corresponding to bit number 7, the bit corresponding to bit number 6, ..., the bit corresponding to bit number 1, and the bit corresponding to bit number 0. Here, a bit can be understood as a bit sub-channel. The bit number can be understood as the index or identifier of the bit. For example, when constructing a polar code with a master code length of 8 and an information length of 4, the bits corresponding to bit number 7, bit number 6, bit number 5, and bit number 3 are selected from the end to the beginning as information bits, while the bits corresponding to bit number 4, bit number 2, bit number 1, and bit number 0 are selected as frozen bits.

[0074] Figure 3A shows an 8×8 polarization transformation matrix. The left side can be understood as the encoding side, with bits on the left denoted by u. The right side can be understood as the encoding side (or codeword side), with bits on the right denoted by x. The process from left to right is the encoding process of the bit sequence to be encoded at the transmitting end. The information bits to be encoded are represented by the sequence u(0, 0, 0, 0, 0, 0, 1, 1). After the polarization transformation matrix, the encoded bits are represented by the sequence x(0, ​​1, 0, 1, 0, 1, 0, 1). Mapping x to a modulation symbol allows transmission through channel W. Bits corresponding to high channel reliability are used to map information bits, while bits corresponding to low channel reliability are used to map frozen bits. As shown in Figure 3A, {u0, u1, u2, u4} are frozen bits, i.e., the positions of frozen bits, and {u3, u5, u6, u7} are information bits, i.e., the positions of information bits. In this embodiment, information bits are also called information bits. Frozen bits are also called frozen bits.

[0075] Referring to Figure 3A, during the encoding process, two adjacent columns constitute a coding layer. The left column of bits represents the input bits of the coding layer, and the right column represents the output bits. For example, in the leftmost coding layer, the input bit sequence is (0, 0, 0, 0, 0, 0, 1, 1), and the output bit sequence is (0, 0, 0, 0, 0, 0, 0, 1). The operation symbols in the middle of the coding layer... This represents the XOR operation, specifically... express The bits in the current row and A single XOR operation between the bits in the row. The bits on the right represent the result of the operation. For example, in the leftmost coding layer, the first input bit (value 0) and the second input bit (value 0) are processed... The operation yields the first output bit (with a value of 0).

[0076] (3) Polar code decoding

[0077] There are various methods for decoding polar codes, such as successive cancellation (SC) decoding. SC decoding involves calculating the LLR of each decoded bit based on the log likelihood ratio (LLR) sequence corresponding to the bit sequence to be decoded, and then making a bit-by-bit decision. When the decoded bit is an information bit, if the LLR of the decoded bit is greater than 0, then the decoded bit is 0; if the LLR of the decoded bit is less than 0, then the decoded bit is 1. When the decoded bit is a fixed bit, the decoding result is always set to 0 regardless of the LLR value. Figure 3B is a schematic diagram of the SC decoding calculation process. Taking a decoded bit of 4 bits as an example, there are 8 calculation nodes in Figure 3B, including 4 F nodes and 4 G nodes. The F nodes and G nodes correspond to F operations and G operations, respectively. The operation of an F node requires two LLR inputs on its right side, and the operation of a G node requires two LLR inputs on its right side as well as the output of the previous stage as input. Only after the input items are calculated can the output be calculated. According to the above calculation rules, the decoded bits obtained by calculating sequentially from the right side in Figure 3B are ①→②→③→④, and the decoding is completed.

[0078] As mentioned above, introducing CRC checksums can improve the performance of polar codes. For example, CRC checksums can effectively reduce the number of low-similarity codewords in polar codes, thereby improving their performance. Specifically, low-similarity codewords refer to codewords with a lower Hamming weight (the number of non-zero elements in a codeword). Generally, during channel transmission, the more low-similarity codewords there are, the worse the decoding performance. After introducing CRC checksums, the CRC rules change the distribution of low-similarity codewords, reducing the proportion of low-similarity codewords in the set of codewords that meet the CRC checksum requirements. This is because CRC checksums essentially define a subset of all codewords in the polar code that conforms to the checksum rules. The number of low-similarity codewords in this subset is reduced relative to the original codeword space, thus effectively reducing the number of low-similarity codewords in the polar code.

[0079] Theoretically, if the number of CRC check bits (i.e., the number of CRC check bits) is L, then there are 2^L possible codeword combinations. A+L (Assuming the number of information bits is A), the codewords that can pass the CRC check account for 2% of all codewords. -L This is because CRC check can be viewed as a method from 2... A+L The method of selecting codewords that conform to a specific check rule from a codeword space has a proportion related to the number of check bits. For example, if L=3, then theoretically only 2... -3 The codewords can be verified using CRC.

[0080] However, in many cases, the number of low-similarity codewords that can pass the CRC check exceeds 2. -LThis means that the proportion of low-weight codewords passing CRC checks is higher than theoretically expected. The longer the code length and the shorter the CRC check bits, the more pronounced this phenomenon becomes. See Figure 4 (the horizontal axis represents the number of information bits, and the vertical axis represents the proportion of the lowest-weight codeword to all lowest-weight codewords). When the code length is 1024, for different numbers of information bits (such as K in Figure 4 representing the number of information bits), the proportion of low-weight codewords passing CRC checks is higher than theoretically expected. The polynomial g(D) = D... 6 +D 5 In many cases, the proportion of the least heavy codeword with +1 among all least heavy codewords exceeds the theoretically expected 1 / 64. Therefore, existing CRC precoding methods have limited ability to reduce low-weight codewords when the code length is long and the CRC check bit is short, resulting in limited decoding performance.

[0081] Based on this, embodiments of this application provide a communication method, apparatus, and system. By performing CRC precoding on the portion of information bits with smaller line weights among A information bits, the number of low-similarity codewords can be effectively reduced, which facilitates the improvement of polar code decoding performance.

[0082] The method provided in this application involves a first communication device and / or a second communication device. The first communication device is a signal transmitter, and the second communication device is a signal receiver. Unless otherwise specified, the term "first communication device" in this application can refer to a communication device (e.g., a network device, a terminal device, an encoding device, etc.), a component within that communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software capable of implementing all or part of the functions of the communication device. Similarly, the term "second communication device" in this application can refer to a communication device (e.g., a terminal device, a network device, a decoding device, etc.), a component within that communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software capable of implementing all or part of the functions of the communication device. For example, the first communication device may be a network device, and the second communication device may be a terminal device; or, the first communication device may be a terminal device, and the second communication device may be a network device.

[0083] The methods provided in the embodiments of this application will be described in detail below with reference to specific examples.

[0084] Figure 5 is a flowchart illustrating the method provided in this embodiment. As shown in Figure 5, the method may include the following steps:

[0085] S501, the first communication device determines L check bits based on the first bit sequence and the CRC polynomial.

[0086] For example, assuming there are A information bits to be encoded, the first communication device can determine the number of check bits as L based on the CRC polynomial. Therefore, as described above, the first communication device can determine the bit positions where the A information bits and the bit positions where the L check bits are located based on the reliability sequence of the polar code.

[0087] Furthermore, the first communication device can acquire a threshold X, and then determine the number of bits X' in the first bit sequence based on the number of information bits A and the threshold X. The first bit sequence includes X' information bits out of A information bits. A, X', and L are integers greater than or equal to 1.

[0088] (1) The specific implementation of determining X' is introduced.

[0089] As one possible implementation, the first communication device can determine X' based on the relationship between the number of information bits A and the threshold X.

[0090] When A is greater than X, X' = X, meaning X' is less than A. In this case, the first communication device can select X' information bits from the A information bits based on the row weight of the A information bits to obtain the first bit sequence. For example, if the row weight of the X' information bits is less than or equal to the row weight of the other information bits in the A information bits (excluding the X' information bits), then the first communication device selects the X' information bits with the smaller row weight from the A information bits.

[0091] In polar coding, row weight refers to the row weight of the row corresponding to the information bit in the coding matrix. Row weight is the number of non-zero elements in the row. Rows with lower row weights correspond to relatively lower polar channel reliability. This is because lower row weights mean that the channel carries less information during the coding process, or that the channel is more susceptible to interference factors such as noise.

[0092] Optionally, the first communication device may also select X' information bits from A information bits based on other possible information (such as the sequence number of the bit containing the information bit, or the reliability of the bit containing the information bit). For example, if A information bits include a first information bit and a second information bit, when the row weight of the first information bit is less than the row weight of the second information bit, the first communication device may preferentially select the first information bit as an information bit among the X' information bits; when the row weight of the first information bit is equal to the row weight of the second information bit, if the sequence number of the bit containing the first information bit is less than the sequence number of the bit containing the second information bit, or the reliability of the bit containing the first information bit is less than (or equal to) the reliability of the bit containing the second information bit, then the first communication device may preferentially select the first information bit as an information bit among the X' information bits.

[0093] For example, the first communication device can sort A information bits in ascending order of row weight, and sort information bits with the same row weight in ascending order of the bit position number (or reliability) of the information bit. Then, it selects the first X' information bits from the sorted information bit sequence. Further, the first communication device sorts the selected X' information bits in ascending order of the bit position number (or according to other possible sorting methods, which are not limited), obtaining the first bit sequence. For example, the first bit sequence is... h0≤…≤h X’-1 ,h0…h X’-1 This indicates the bit number of the X' information bits.

[0094] When A is less than or equal to X, X' = A. In this case, X' information bits are equivalent to A information bits. The first communication device can sort the X' information bits in ascending order according to the bit position number of the information bits (or in other possible sorting methods, which are not specifically limited) to obtain the first bit sequence.

[0095] (2) The threshold X is introduced.

[0096] As one possible implementation, the threshold X is a pre-configured or predefined value, and its specific value depends on the actual needs and is not limited.

[0097] As another possible implementation, the threshold X is determined by the first communication device based on the number of rows with the minimum row weight in the polar-coded coding matrix. The number of rows with the minimum row weight reflects the number of channels with the lowest reliability in the coding matrix. For example, the threshold X is greater than or equal to the number of rows with the minimum row weight in the polar-coded coding matrix, such as threshold X = 60.

[0098] In this way, it can be ensured that all information bits with the smallest line weight participate in CRC precoding, which facilitates the improvement of the decoding performance of polar codes.

[0099] As another possible implementation, the threshold X is determined by the first communication device based on the verification capability of the CRC polynomial.

[0100] For example, the verification capability of a CRC polynomial is related to its length (i.e., the number of check bits L). When the number of bits participating in the CRC check is less than or equal to 2... L When the value is -1, the CRC polynomial has relatively strong verification capability, while when the number of bits involved in the CRC check exceeds 2... L When the threshold is -1, the CRC polynomial's verification capability is relatively weak. Therefore, the threshold X can be less than or equal to 2. L -1-L.

[0101] Thus, the X' information bit with the smaller line weight among the A information bits is selected for CRC precoding, and the threshold X ensures that the number of bits participating in CRC check does not exceed 2. L -1 means that when determining the number of information bits involved in CRC precoding, the verification capability of the CRC polynomial is taken into account, which facilitates the improvement of the decoding performance of polar codes.

[0102] For example, for CRC polynomials of the same length, the verification capability of the CRC polynomial is related to its specific form. When the number of bits involved in the CRC check is less than or equal to M, the verification capability of the CRC polynomial is relatively strong, while when the number of bits involved in the CRC check exceeds M, the verification capability of the CRC polynomial is relatively weak. Therefore, the threshold X can be less than or equal to ML. Here, we assume the CRC polynomial is g(D), and M is the number of bits that satisfy g(D) divisible by D. M The smallest integer plus 1.

[0103] Thus, the X' information bit with the smaller row weight among the A information bits is selected to participate in CRC precoding, and the threshold X can ensure that the number of bits participating in CRC verification does not exceed M. That is, when determining the number of information bits participating in CRC precoding, the verification capability of the CRC polynomial is taken into account, which facilitates the improvement of the decoding performance of polar codes.

[0104] (3) The specific implementation of determining L parity bits is introduced.

[0105] Assuming the CRC polynomial is g(D), the first communication device can determine the check bits based on the first bit sequence and the CRC polynomial. Make the polynomial The remainder after dividing by the CRC polynomial g(D) is 0.

[0106] The first communication device determines the parity bit. Then, the check bits can be... Placed in A information bits (i.e., u0,…,u A-1 After that, the second bit sequence is obtained, that is, the second bit sequence is

[0107] S502, the first communication device performs polarization encoding on the second bit sequence, which includes A information bits and L parity bits.

[0108] The second communication device can place A information bits in the corresponding bit positions and L parity bits in the corresponding bit positions, and then obtain the polar-coded bit sequence through polar coding, as shown in Figure 6. The specific implementation of polar coding can refer to existing technology and will not be described in detail here.

[0109] S503, the first communication device outputs the polarized encoded bit sequence; correspondingly, the second communication device acquires the sequence of symbols to be decoded.

[0110] For example, the first communication device can modulate the polar-coded bit sequence to obtain multiple modulation symbols and send the multiple modulation symbols to the second communication device; correspondingly, the second communication device can receive the multiple modulation symbols and obtain the sequence of symbols to be decoded by demodulation.

[0111] Optionally, the above method further includes:

[0112] S504, the second communication device obtains the second bit sequence through channel decoding.

[0113] Specifically, the second communication device performs channel decoding on the sequence of symbols to be decoded to obtain the second bit sequence.

[0114] S505, the second communication device verifies the third bit sequence according to the CRC polynomial. The third bit sequence includes the first bit sequence and L check bits.

[0115] S506, if the verification is successful, the second communication device determines that the second bit sequence has been successfully decoded, or in other words, that A information bits have been successfully decoded.

[0116] For example, the second communication device can obtain a threshold X, and then determine the number of bits X' in the first bit sequence based on the number of information bits A and the threshold X. Furthermore, the second communication device can determine X' information bits from the A information bits included in the second bit sequence and obtain the first bit sequence; the specific implementation can be found in the description on the first communication device side. Additionally, the second communication device can also obtain L check bits based on the bit positions where the L check bits are located.

[0117] Furthermore, the second communication device places L parity bits after the first bit sequence to obtain a third bit sequence, which is: Then, the second communication device verifies the third bit sequence according to the CRC polynomial, that is... If the CRC polynomial g(D) is divisible, the third bit sequence is successfully decoded, which means the second bit sequence is successfully decoded (or A information bits are successfully decoded). If the CRC polynomial g(D) is not divisible, the second bit sequence is successfully decoded.

[0118] Using the above method, since the polar channel reliability corresponding to rows with lower row weights is relatively low and more susceptible to interference factors such as noise, CRC precoding of the lower row weight portion of the A information bits can effectively reduce the number of low-weight codewords, thereby improving the decoding performance of polar codes and reducing the bit error rate. For example, referring to Figure 7 (the horizontal axis represents the number of information bits, and the vertical axis represents the proportion of the minimum weight codeword to all minimum weight codewords; Figure 7 uses X' = 30 as an example), when the code length is 1024, for different numbers of information bits, the CRC polynomial g(D) = D can be used to determine the low-weight codewords. 6 +D 5 In many cases, the proportion of the minimum weight codeword with +1 among all minimum weight codewords does not exceed the theoretically expected 1 / 64.

[0119] For example, assuming a code length of 1024, the number of information bits A = 512, the number of check bits L = 6, and the CRC polynomial g(D) = D 6 +D 5 +1. When all 512 information bits participate in CRC precoding, there are 3828 codewords with the lowest weight (lowest weight is 16) in the final polar-coded codewords. When the threshold X = 60, that is, when 60 information bits are selected from the 512 information bits to participate in CRC precoding, there are 226 codewords with the lowest weight (lowest weight is 16) in the final polar-coded codewords. It can be seen that the scheme in this embodiment can effectively reduce the number of codewords with the lowest weight by introducing CRC check, thereby facilitating the improvement of the decoding performance of polar codes and reducing the bit error rate.

[0120] For another example, suppose the code length is 512, the number of information bits A = 161, the number of check bits L = 6, and the CRC polynomial g(D) = D 6 +D 5 +1. When all 512 information bits participate in CRC precoding, there are 328 codewords with the smallest weight (minimum weight is 8) in the final polar coding codewords; when the threshold X = 2 L -1-L=57, meaning that when 57 information bits are selected from 512 information bits to participate in CRC precoding, there are a total of 61 codewords with the smallest weight (minimum weight is 8) in the final polar coding codewords. It can be seen that the scheme in this application embodiment can effectively reduce the number of codewords with the smallest weight by introducing CRC check, thereby facilitating the improvement of polar code decoding performance and reducing the bit error rate.

[0121] For another example, suppose the code length is 1024, the number of information bits A = 256, the number of check bits L = 11, and the CRC polynomial g(D) = D 11 +D 9 +D8 +D 7 +D 2 +1. When all 256 information bits participate in CRC precoding, there are 1028 codewords with the lowest weight (minimum weight of 32) in the final polar-coded codewords. When the threshold X = ML = 20, that is, when 20 information bits are selected from the 256 information bits to participate in CRC precoding, there are 5 codewords with the lowest weight (minimum weight of 32) in the final polar-coded codewords. It can be seen that the scheme in the embodiment of this application can effectively reduce the number of codewords with the lowest weight by introducing CRC check, thereby facilitating the improvement of the decoding performance of polar codes and reducing the bit error rate.

[0122] Regarding the above embodiments, it is understood that:

[0123] (1) In the embodiments of this application, unless otherwise specified or logically conflicting, the terms and / or descriptions between different examples are consistent and can be referenced by each other. The technical features of different examples can be combined to form new embodiments according to their inherent logical relationships. In addition, different implementations or different examples can also be referenced or referenced by each other.

[0124] (2) The various numerical designations used in this application are merely for descriptive convenience and are not intended to limit the scope of this application. The step numbers in the above flowcharts are only examples of the execution process and do not constitute a restriction on the order of execution of the steps. That is, the size of each step number does not imply the order of execution; the execution order of each step should be determined by its function and internal logic. Furthermore, not all steps shown in the flowcharts are mandatory steps; some steps may be added or deleted based on actual needs.

[0125] The above mainly describes the solution provided by the embodiments of this application from the perspective of the interaction between the first communication device and the second communication device. It is understood that, in order to achieve the above functions, the first communication device and the second communication device may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0126] In this application embodiment, the first communication device and the second communication device can be divided into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0127] In the case of using integrated units, FIG8 shows a possible exemplary block diagram of the device involved in the embodiments of this application. As shown in FIG8, the device 800 may include a processing unit 802 and a communication unit 803. The processing unit 802 is used to control and manage the operation of the device 800. The communication unit 803 is used to support communication between the device 800 and other devices. Optionally, the communication unit 803 is also called a transceiver unit, and may include a receiving unit and / or a sending unit, respectively used to perform receiving and sending operations. The device 800 may also include a storage unit 801 for storing the program code and / or data of the device 800.

[0128] (1) The device 800 can be the first communication device in the above embodiments. The processing unit 802 can support the device 800 in performing the actions of the first communication device in the above method embodiments. Alternatively, the processing unit 802 mainly performs the internal actions of the first communication device in the method embodiments, and the communication unit 803 can support communication between the device 800 and other devices.

[0129] For example, in one embodiment, the processing unit 802 is configured to: determine L check bits based on a first bit sequence and a CRC polynomial; the first bit sequence includes X' information bits out of A information bits, the row weight of the X' information bits being less than or equal to the row weight of the other information bits out of the A information bits excluding the X' information bits; perform polar coding on a second bit sequence, the second bit sequence including the A information bits and the L check bits; and output the polar-coded bit sequence; wherein A, X', and L are integers greater than or equal to 1, and X' is less than A.

[0130] In one possible design, the X' information bits include a first information bit, and the other information bits include a second information bit; when the row weight of the first information bit is equal to the row weight of the second information bit, the sequence number of the bit position where the first information bit is located is less than the sequence number of the bit position where the second information bit is located, or the reliability of the bit position where the first information bit is located is less than the reliability of the bit position where the second information bit is located.

[0131] In one possible design, the processing unit 802 is further configured to: obtain a threshold X; and, if the number of information bits A is greater than the threshold X, determine that the number of bits X' in the first bit sequence is equal to the threshold X.

[0132] In one possible design, the threshold X is pre-configured or pre-defined.

[0133] In one possible design, the threshold X is determined based on the number of rows with the minimum row weight in the polar coding matrix.

[0134] In one possible design, the threshold X is determined based on the verification capability of the CRC polynomial.

[0135] In one possible design, X = 2 L -1-L; or, X = ML, where the CRC polynomial is g(D), and M is a polynomial that satisfies g(D) divisibility by D. M The smallest integer plus 1.

[0136] (2) The device 800 can be the second communication device in the above embodiments. The processing unit 802 can support the device 800 in performing the actions of the second communication device in the above method embodiments. Alternatively, the processing unit 802 mainly performs the internal actions of the second communication device in the method embodiments, and the communication unit 803 can support communication between the device 800 and other devices.

[0137] For example, in one embodiment, the processing unit 802 is configured to: obtain a second bit sequence through polarization decoding, the second bit sequence including A information bits and L check bits; verify a third bit sequence according to a CRC polynomial; the third bit sequence includes a first bit sequence and the L check bits, the first bit sequence including X' information bits from the A information bits, the row weight of the X' information bits being less than or equal to the row weight of the other information bits in the A information bits excluding the X' information bits; if the verification is successful, determine that the A information bits have been successfully decoded; wherein A, X', and L are integers greater than or equal to 1, and X' is less than A.

[0138] In one possible design, the X' information bits include a first information bit, and the other information bits include a second information bit; when the row weight of the first information bit is equal to the row weight of the second information bit, the sequence number of the bit position where the first information bit is located is less than the sequence number of the bit position where the second information bit is located, or the reliability of the bit position where the first information bit is located is less than the reliability of the bit position where the second information bit is located.

[0139] In one possible design, the processing unit 802 is further configured to: obtain a threshold X; and, if the number of information bits A is greater than the threshold X, determine that the number of bits X' in the first bit sequence is equal to the threshold X.

[0140] In one possible design, the threshold X is pre-configured or pre-defined.

[0141] In one possible design, the threshold X is determined based on the number of rows with the minimum row weight in the polar coding matrix.

[0142] In one possible design, the threshold X is determined based on the verification capability of the CRC polynomial.

[0143] In one possible design, X = 2 L -1-L; or, X = ML, where the CRC polynomial is g(D), and M is a polynomial that satisfies g(D) divisibility by D. M The smallest integer plus 1.

[0144] It should be understood that the division of units in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, and some units can be implemented in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element mentioned here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, the operations of the above methods or the various units mentioned above can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.

[0145] In one example, a unit in any of the above devices can be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. As another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general-purpose central processing unit (CPU), or other processor capable of calling programs. Furthermore, these units can be integrated together and implemented as a System-on-a-Chip (SoC).

[0146] The receiving unit described above is an interface circuit of the device, used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is an interface circuit for the chip to receive signals from other chips or devices. The transmitting unit described above is an interface circuit of the device, used to transmit signals to other devices. For example, when the device is implemented as a chip, the transmitting unit is an interface circuit for the chip to transmit signals to other chips or devices.

[0147] Based on the same technical concept, this application also provides a communication device for implementing the functions of the first or second communication device described above. As shown in FIG9, the device may be a communication equipment or a component within a communication equipment (e.g., a processor, chip, or chip system). The device includes a processor 901 and a communication interface 902, and optionally, a memory 903. The memory 903 may be independent of the processor 901 or integrated into the processor 901; no specific limitation is made. It is understood that FIG9 only shows the main components of the communication device. Furthermore, the communication device may further include input / output devices (not shown in the figure).

[0148] The processor 901 is used to execute the program code stored in the memory 903, specifically to perform the actions of the processing unit 802 described above, which will not be described in detail here. The communication interface 902 is specifically used to perform the actions of the communication unit 803 described above, which will not be described in detail here.

[0149] Processor 901 can be a CPU, a digital processing unit, etc. Processor 901 can be used to process communication protocols and communication data, control the entire communication device, execute software programs, and process software program data, such as, but not limited to, baseband-related processing. Communication interface 902 can be used for transmitting and receiving signals, such as, but not limited to, radio frequency transceiver. The above-mentioned devices can be disposed on separate chips, or at least partially or entirely on the same chip. For example, processor 901 can be further divided into an analog baseband processor and a digital baseband processor. The analog baseband processor can be integrated with the transceiver on the same chip, while the digital baseband processor can be disposed on a separate chip. With the continuous development of integrated circuit technology, more and more devices can be integrated on the same chip. For example, a digital baseband processor can be integrated with multiple application processors (such as, but not limited to, graphics processors, multimedia processors, etc.) on the same chip. Such a chip can be called a system-on-a-chip (SoC). Whether the various devices are disposed independently on different chips or integrated on one or more chips often depends on the specific needs of the product design. This embodiment of the invention does not limit the specific implementation of the above-mentioned devices.

[0150] The communication interface 902 can be a transceiver, an interface circuit such as a transceiver circuit, or a transceiver chip, etc. Optionally, the communication interface 902 may include radio frequency (RF) circuitry and an antenna. The RF circuitry is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used for receiving user input data and outputting data to the user.

[0151] Memory 903 is used to store programs executed by processor 901. Memory 903 can be non-volatile memory, such as a hard disk drive (HDD) or solid-state drive (SSD), or it can be volatile memory, such as random-access memory (RAM). Memory 903 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited to this.

[0152] When the communication device is powered on, the processor 901 can read the software program in the memory 903, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 901 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 901. The processor 901 converts the baseband signal into data and processes the data.

[0153] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.

[0154] This application embodiment does not limit the specific connection medium between the communication interface 902, processor 901, and memory 903. In this application embodiment, the memory 903, processor 901, and communication interface 902 are connected via a bus 904 in Figure 9. The bus is represented by a thick line in Figure 9. The connection methods between other components are only for illustrative purposes and are not intended to be limiting. Buses can be divided into address buses, data buses, control buses, etc. For ease of illustration, only one thick line is used in Figure 9, but this does not mean that there is only one bus or one type of bus.

[0155] Optionally, the communication device described above can be a standalone device or part of a larger device. For example, the communication device can be:

[0156] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;

[0157] (2) A collection of one or more ICs, optionally including a storage component for storing data and instructions;

[0158] (3) Application-specific integrated circuit (ASIC), such as modem;

[0159] (4) Modules that can be embedded in other devices;

[0160] (5) Receivers, smart terminals, wireless devices, handheld devices, mobile units, vehicle-mounted devices, cloud devices, artificial intelligence devices, etc.;

[0161] (6) Others, etc.

[0162] In this application embodiment, "multiple" can refer to two or more. Therefore, in this application embodiment, "multiple" can also be understood as "at least two". "At least one" can be understood as one or more, such as one, two, or more. For example, "including at least one" means including one, two, or more. For example, including at least one of A, B, and C, then it could include A, B, C, A and B, A and C, B and C, or A, B, and C. "And / or" describes the association relationship between related objects. Specifically, there can be three relationships. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / ", unless otherwise specified, generally indicates that the preceding and following related objects have an "or" relationship.

[0163] Furthermore, the terms "system" and "network" in the embodiments of this application can be used interchangeably, as can "according to" and "based on". The ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are generally used to distinguish different objects and are not used to limit the order, sequence, priority, or importance of multiple objects. For example, the first communication device and the second communication device in the embodiments of this application are used to distinguish between two communication devices, and do not limit the priority or importance of these two communication devices.

[0164] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0165] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0166] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0167] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

Claims

1. A communication method, characterized in that, The method includes: Based on the first bit sequence and the cyclic redundancy check (CRC) polynomial, L check bits are determined; the first bit sequence includes X' information bits out of A information bits, and the row weight of the X' information bits is less than or equal to the row weight of the other information bits out of the A information bits excluding the X' information bits; The second bit sequence is polar-coded, and the second bit sequence includes the A information bits and the L parity bits; Output the polar-coded bit sequence; Where A, X', and L are integers greater than or equal to 1, and X' is less than A.

2. The method according to claim 1, characterized in that, The X' information bits include first information bits, and the other information bits include second information bits; When the row weight of the first information bit is equal to the row weight of the second information bit, the sequence number of the bit position where the first information bit is located is less than the sequence number of the bit position where the second information bit is located, or the reliability of the bit position where the first information bit is located is less than the reliability of the bit position where the second information bit is located.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Obtain the threshold X; If the number of information bits A is greater than the threshold X, then the number of bits X' in the first bit sequence is determined to be equal to the threshold X.

4. The method according to claim 3, characterized in that, The threshold X is pre-configured or pre-defined.

5. The method according to claim 3, characterized in that, The threshold X is determined based on the verification capability of the CRC polynomial.

6. The method according to claim 5, characterized in that, X = 2 L -1-L; or, X = ML, where the CRC polynomial is g(D), and M is a polynomial that satisfies g(D) divisibility by D. M The smallest integer plus 1.

7. A communication method, characterized in that, The method includes: The second bit sequence is obtained by polarization decoding. The second bit sequence includes A information bits and L parity bits. The third bit sequence is checked according to the CRC polynomial; the third bit sequence includes the first bit sequence and the L check bits, the first bit sequence includes X' information bits from the A information bits, and the row weight of the X' information bits is less than or equal to the row weight of the other information bits in the A information bits excluding the X' information bits; If the verification is successful, it is determined that the A information bits have been successfully decoded; Where A, X', and L are integers greater than or equal to 1, and X' is less than A.

8. The method according to claim 7, characterized in that, The X' information bits include first information bits, and the other information bits include second information bits; When the row weight of the first information bit is equal to the row weight of the second information bit, the sequence number of the bit position where the first information bit is located is less than the sequence number of the bit position where the second information bit is located, or the reliability of the bit position where the first information bit is located is less than the reliability of the bit position where the second information bit is located.

9. The method according to claim 7 or 8, characterized in that, The method further includes: Obtain the threshold X; If the number of information bits A is greater than the threshold X, then the number of bits X' in the first bit sequence is determined to be equal to the threshold X.

10. The method according to claim 9, characterized in that, The threshold X is pre-configured or pre-defined.

11. The method according to claim 10, characterized in that, The threshold X is determined based on the verification capability of the CRC polynomial.

12. The method according to claim 11, characterized in that, X = 2 L -1-L; or, X = ML, where the CRC polynomial is g(D), and M is a polynomial that satisfies g(D) divisibility by D. M The smallest integer plus 1.

13. A communication device, characterized in that, The device includes a processor coupled to a memory in which a computer program is stored; the processor is configured to invoke part or all of the computer program in the memory such that the method as described in any one of claims 1 to 12 is executed.

14. A communication system, characterized in that, The communication system includes a first communication device and a second communication device; wherein the first communication device is used to perform the method as described in any one of claims 1 to 6, and the second communication device is used to perform the method as described in any one of claims 7 to 12.

15. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when some or all of the computer program is executed by a computer, causes the method as described in any one of claims 1 to 12 to be performed.

16. A computer program product, characterized in that, When a computer reads and executes the computer program in the computer program product, the method as described in any one of claims 1 to 12 is performed.

17. A communication device, characterized in that, Includes modules or units for performing the method as described in any one of claims 1 to 6.

18. A communication device, characterized in that, Includes modules or units for performing the method as described in any one of claims 7 to 12.

19. A communication device, characterized in that, It includes a processor and an interface circuit, the processor being configured to communicate with other devices via the interface circuit, such that the communication device performs the method as described in any one of claims 1 to 6, or performs the method as described in any one of claims 7 to 12.