Encoding method, decoding method and communication apparatus

By adding CRC check bits to the information sequence and performing RM encoding, the problem that existing technologies cannot meet the high data rate and low power consumption requirements of future mobile communication networks is solved, and the accuracy and efficiency of encoding and decoding are improved.

WO2026145011A1PCT designated stage Publication Date: 2026-07-09HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-12-17
Publication Date
2026-07-09

Smart Images

  • Figure CN2025143302_09072026_PF_FP_ABST
    Figure CN2025143302_09072026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of wireless communications. Provided are an encoding method, a decoding method and a communication apparatus, which are used for providing encoding and decoding solutions, so as to improve the encoding and decoding efficiency. In the present application, a first communication apparatus determines a cyclic redundancy check (CRC) bit on the basis of the number of information bits comprised in an information sequence; the first communication apparatus adds the CRC bit to the information sequence, so as to obtain a sequence to be encoded; and the first communication apparatus performs RM encoding on the sequence to be encoded, so as to obtain a codeword sequence. In the present application, the first communication apparatus performs RM encoding on the sequence to be encoded, to which the CRC bit has been added, such that checking can be performed on the basis of the CRC bit during a decoding process, thereby ensuring the accuracy of decoding; and after a decoding result passes verification based on the CRC bit, decoding can be stopped, such that the decoding process can be shortened, thereby improving decoding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

An encoding method, a decoding method, and a communication device

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411999425.8, filed with the State Intellectual Property Office of the People's Republic of China on December 31, 2024, entitled "An Encoding Method, Decoding Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of wireless communication technology, and in particular to an encoding method, a decoding method, and a communication device. Background Technology

[0004] Channel coding is one of the core technologies in wireless communication. In third-generation (3G) and fourth-generation (4G) mobile communication technologies, turbo codes, as an encoding and decoding technology defined by the 3rd Generation Partnership Project (3GPP) standard, exhibit excellent performance, approaching the limits of Shannon's theory. In fifth-generation (5G) mobile communication technologies, data transmission rates are orders of magnitude higher than in 4G; 5G mobile communication systems include a wider range of service applications, placing new demands on channel coding technologies. For example, massive machine-type communications (mMTC) scenarios require smaller data packets, while ultra-reliable low-latency communication (uRLLC) scenarios have very high requirements for encoding and decoding latency and low bit error rate. Therefore, based on the key requirements of 5G application scenarios for channel coding, the 5G standard adopts low-density parity check (LDPC) codes and polar codes. Compared with traditional coding methods, LDPC codes and polar codes have superior performance and can come very close to the limits of Shannon's theory.

[0005] In future mobile communication networks, real-time high data rate services such as extended reality (XR), mixed reality (MR), and immersive services are constantly emerging. These emerging services place higher demands on the peak throughput and area efficiency of encoding and decoding, with peak rates even required to reach terabits per second (Tbps). At the same time, the power consumption of decoders needs to be further reduced. Current channel coding methods cannot meet the needs of future communication networks. Summary of the Invention

[0006] This application provides an encoding method, a decoding method, and a communication device to provide an encoding and decoding scheme and improve the efficiency of encoding and decoding.

[0007] In a first aspect, embodiments of this application provide an encoding method that can be applied to a first communication device, such as the first communication device or a communication module within the first communication device, or a circuit or chip (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip or system-in-package (SIP) chip containing a modem core) or chip system responsible for communication functions within the first communication device. Alternatively, it can be a logic module or software capable of implementing all or part of the functions of the first communication device. Taking the application of this method to a first communication device as an example, the method may include: the first communication device determining cyclic redundancy check (CRC) bits based on the number of information bits k1 included in the information sequence, where k1 is a positive integer; the first communication device adding CRC bits to the information sequence to obtain a sequence to be encoded; and the first communication device performing Reed-Muller (RM) encoding on the sequence to be encoded to obtain a codeword sequence.

[0008] Using the above method, the first communication device adds CRC check bits to the information sequence and performs RM encoding on the sequence to be encoded with the added CRC check bits. Thus, during the decoding process, verification can be performed based on the CRC check bits to ensure decoding accuracy. In addition, during the decoding process, it can determine whether to stop decoding based on the CRC check bits. After the decoding result is verified to be successful based on the CRC check bits, decoding can be stopped, thereby shortening the decoding process and improving decoding efficiency.

[0009] In one possible design, the first communication device determines a first parameter based on the number of transmitted bits, wherein the first parameter is related to the code length of the RM code; the first communication device determines a second parameter based on the first parameter and the number of bits included in the sequence to be encoded, wherein the second parameter represents the order of the RM code; the first communication device determines an RM code generation matrix based on the first and second parameters; the first communication device performs RM encoding on the sequence to be encoded based on the RM code generation matrix to obtain a codeword sequence.

[0010] Optionally, the number of transmitted bits can be the number of bits that the time-frequency resources of the transmitted codeword sequence can carry.

[0011] Through the above design, the first communication device can determine appropriate first and second parameters according to the number of transmitted bits during the RM encoding process, and determine the matching RM code generation matrix based on the first and second parameters, thereby improving the accuracy of encoding.

[0012] In one possible design, the code length of the RM code corresponding to the first parameter is not less than the number of transmitted bits.

[0013] In one possible design, the first parameter is the smallest code length parameter in the code length parameter set, which includes at least one code length parameter, and the code length of the RM code corresponding to the code length parameter is not less than the number of transmitted bits.

[0014] Optionally, the first parameter must satisfy the following condition:

[0015] Where m represents the first parameter, m′ represents the code length parameters included in the code length parameter set, 2 m′ Let m' represent the code length of the RM code corresponding to m', and D represent the number of transmitted bits.

[0016] Through the above design, the first communication device can determine a first parameter that matches the number of transmitted bits, thereby improving the accuracy of the encoding.

[0017] In one possible design, the third parameter is not less than the number of bits included in the sequence to be encoded, wherein the third parameter is determined by the first and second parameters according to the following conditions:

[0018] Where K represents the third parameter, m represents the first parameter, and r represents the second parameter.

[0019] In one possible design, the second parameter is the smallest candidate order in the candidate order set, which includes at least one candidate order, and the third parameter corresponding to the candidate order is not less than the number of bits included in the sequence to be encoded.

[0020] Optionally, the second parameter must satisfy the following condition:

[0021] Where r represents the second parameter, and r′ represents the candidate orders included in the candidate order set. The third parameter corresponding to r′ is represented by k, which represents the number of bits in the sequence to be encoded.

[0022] Through the above design, the first communication device can determine the second parameter that matches the sequence to be encoded, thereby improving the accuracy of encoding.

[0023] In one possible design, the first communication device determines the first CRC polynomial based on k1 and the first correspondence; wherein the first correspondence includes the correspondence between the number of information bits and the CRC polynomial; the first communication device determines the CRC check bits based on the information sequence and the first CRC polynomial.

[0024] Through the above design, the first communication device can determine a first CRC polynomial that matches the length of the information sequence, and obtain a suitable CRC check bit based on the first CRC polynomial; adding the CRC check bit to the information sequence can improve the reliability of the encoding and decoding process.

[0025] Secondly, embodiments of this application provide a decoding method that can be applied to a second communication device, such as the second communication device or a communication module within the second communication device, or a circuit, chip, or chip system responsible for communication functions within the second communication device. Alternatively, it can be a logic module or software capable of implementing all or part of the functions of the second communication device. Taking the application of this method to a second communication device as an example, the method may include: the second communication device acquiring a first log likelihood ratio (LLR) sequence, the first LLR sequence corresponding to a codeword sequence, the codeword sequence being obtained by RM encoding of a sequence to be encoded containing CRC check bits; the second communication device decoding the first LLR sequence to obtain a decoded sequence; the second communication device performing CRC check on the decoded sequence, and if the check passes, acquiring the information bits in the decoded sequence.

[0026] Using the above method, since the codeword sequence is obtained by RM encoding of the sequence to be encoded, which includes CRC check bits, the second communication device can stop the decoding process after confirming that the CRC check has passed, thereby effectively reducing the decoding complexity and improving the decoding efficiency.

[0027] In one possible design, the second communication device projects the first LLR sequence to obtain multiple projected LLR sequences; the second communication device decodes each projected LLR sequence to obtain a decoding result corresponding to each projected LLR sequence; the second communication device aggregates the decoding results corresponding to multiple projected LLR sequences to obtain a second LLR sequence; the second communication device obtains a decoding sequence based on the decoding result corresponding to the second LLR sequence and the inverse matrix of the RM code generator matrix.

[0028] Through the above design, in the decoding process, the second communication device projects the first LLR sequence to obtain multiple projected LLR sequences; then, each projected LLR sequence is decoded to finally obtain the decoded sequence; based on this, since the second communication device performs a subspace projection once, the decoding complexity can be greatly reduced.

[0029] In one possible design, the second communication device performs the following operations for each projected LLR sequence: the second communication device determines the LLR sequence to be decoded corresponding to the projected LLR sequence; the second communication device merges the LLR sequences to be decoded to obtain the processed target sequence to be decoded; the target sequence to be decoded corresponds to a first RM code or a second RM code; the difference between the first parameter and the second parameter of the first RM code is a first value, the second parameter of the second RM code is a second value, the first parameter is related to the code length of the RM code, and the second parameter represents the order of the RM code; the second communication device decodes the target sequence to be decoded to obtain the decoding result corresponding to the projected LLR sequence.

[0030] Through the above design, the second communication device can accurately decode each projected LLR sequence based on the above operation, and the decoding complexity can be reduced based on the above decoding process.

[0031] In one possible design, the second communication device uses the projected LLR sequence as the LLR sequence to be decoded; or the second communication device performs an automorphic permutation on the projected LLR sequence to obtain the LLR sequence to be decoded.

[0032] Through the above design, the second communication device can flexibly determine the LLR sequence to be decoded in a variety of different ways.

[0033] In one possible design, the second communication device performs a first merging process on the first subsequence and the second subsequence of the LLR sequence to be decoded to obtain a reference sequence to be decoded corresponding to the first RM code or the second RM code; based on the decoding result of the reference sequence to be decoded, the second communication device performs a second merging process on the first subsequence and the second subsequence of the LLR sequence to be decoded to obtain a target sequence to be decoded corresponding to the first RM code or the second RM code.

[0034] Through the above design, the second communication device can accurately obtain the target sequence to be decoded that can be directly decoded by performing a first merging process and a second merging process on the first and second subsequences of the LLR sequence to be decoded.

[0035] In one possible design, the second communication device performs a first merging process on the first subsequence and the second subsequence in the LLR sequence to be decoded to obtain a reference sequence to be decoded; when the reference sequence to be decoded does not correspond to the first RM code or the second RM code, the second communication device updates the reference sequence to be decoded to the LLR sequence to be decoded; the first subsequence and the second subsequence in the updated LLR sequence to be decoded are then subjected to a first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0036] Through the above design, the second communication device performs at least one first merging process on the first subsequence and the second subsequence of the LLR sequence to be decoded, thereby obtaining a reference sequence to be decoded that can be directly decoded.

[0037] In one possible design, the second communication device performs a second merging process on the first and second subsequences of the LLR sequence to be decoded based on the decoding result of the reference sequence to be decoded, to obtain the target sequence to be decoded; when the target sequence to be decoded does not correspond to the first RM code or the second RM code, the target sequence to be decoded is updated to the LLR sequence to be decoded; the first and second subsequences in the updated LLR sequence to be decoded are subjected to a first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained; and based on the decoding result of the reference sequence to be decoded, the first and second subsequences of the LLR sequence to be decoded are subjected to a second merging process until a target sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0038] Through the above design, the second communication device performs at least one second merging process on the first subsequence and the second subsequence of the LLR sequence to be decoded, thereby obtaining the target sequence to be decoded that can be directly decoded.

[0039] In one possible design, the second communication device determines a first parameter based on the number of transmitted bits, wherein the first parameter is related to the code length of the RM code; the second communication device determines a second parameter based on the first parameter and the number of bits included in the sequence to be encoded, wherein the second parameter characterizes the order of the RM code; the second communication device determines the RM code generation matrix based on the first parameter and the second parameter.

[0040] Optionally, the number of transmitted bits can be the number of bits that the time-frequency resources of the transmitted codeword sequence can carry.

[0041] Through the above design, the second communication device can determine appropriate first and second parameters according to the number of transmitted bits during the RM decoding process, and determine the matching RM code generation matrix based on the first and second parameters, thereby improving the decoding accuracy.

[0042] In one possible design, the code length of the RM code corresponding to the first parameter is not less than the number of transmitted bits.

[0043] In one possible design, the first parameter is the smallest code length parameter in the code length parameter set, which includes at least one code length parameter, and the code length of the RM code corresponding to the code length parameter is not less than the number of transmitted bits.

[0044] Optionally, the first parameter must satisfy the following condition:

[0045] Where m represents the first parameter, m′ represents the code length parameters included in the code length parameter set, 2 m′ Let m' represent the code length of the RM code corresponding to m', and D represent the number of transmitted bits.

[0046] Through the above design, the second communication device can determine a first parameter that matches the number of transmitted bits, thereby improving the accuracy of decoding.

[0047] In one possible design, the third parameter is not less than the number of bits included in the sequence to be encoded, wherein the third parameter is determined by the first and second parameters according to the following conditions:

[0048] Where K represents the third parameter, m represents the first parameter, and r represents the second parameter.

[0049] In one possible design, the second parameter is the smallest candidate order in the candidate order set, which includes at least one candidate order, and the third parameter corresponding to the candidate order is not less than the number of bits included in the sequence to be encoded.

[0050] Optionally, the second parameter must satisfy the following condition:

[0051] Where r represents the second parameter, and r′ represents the candidate orders included in the candidate order set. The third parameter corresponding to r′ is represented by k, which represents the number of bits in the sequence to be encoded.

[0052] Through the above design, the second communication device can determine the second parameter that matches the sequence to be encoded, thereby improving the accuracy of decoding.

[0053] In one possible design, the second communication device determines the first CRC polynomial based on the number of information bits k1 included in the information sequence and the first correspondence; wherein the first correspondence includes the correspondence between the number of information bits and the CRC polynomial; the second communication device performs CRC verification on the decoded sequence based on the first CRC polynomial.

[0054] Through the above design, the second communication device can determine the first CRC polynomial that matches the length of the information sequence, and perform CRC verification on the decoded sequence based on the first CRC polynomial, thereby determining the accuracy of the decoding. After confirming that the verification is successful, the decoding process can be stopped, thereby avoiding unnecessary multiple decodings, improving decoding efficiency, and reducing decoding complexity.

[0055] Thirdly, this application provides a communication device that has the functions of the first aspect above. For example, the communication device includes modules, units or means corresponding to the operations involved in the first aspect above. The modules, units or means can be implemented by software, or by hardware, or by a combination of software and hardware.

[0056] Fourthly, this application provides a communication device that has the functions of the second aspect above. For example, the communication device includes modules, units or means corresponding to the operations involved in the second aspect above. The modules, units or means can be implemented by software, hardware or a combination of software and hardware.

[0057] Fifthly, this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of the necessary computer program or instructions for implementing the functions described in the first aspect. The one or more processors can execute the computer program or instructions, causing the communication device to implement the methods in any possible design or implementation of the first aspect. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.

[0058] The aforementioned communication device may be a first communication device, a module (e.g., a circuit, a chip, or a chip system) in the first communication device, or a logic node, logic module, or software that can implement all or part of the functions of the first communication device.

[0059] Sixthly, this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of the necessary computer program or instructions for implementing the functions described in the second aspect above. The one or more processors are executable to carry out the computer program or instructions, causing the communication device to implement the methods in any possible design or implementation of the second aspect above. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.

[0060] The aforementioned communication device may be a second communication device, a module (e.g., a circuit, chip, or chip system) in the second communication device, or a logic node, logic module, or software that can realize all or part of the functions of the second communication device.

[0061] In a seventh aspect, this application provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the method in any of the possible designs of the first to second aspects described above.

[0062] Eighthly, this application provides a computer program product comprising a computer program or instructions that, when executed, implement the method in any of the possible designs of the first to second aspects described above.

[0063] Ninthly, this application provides a communication system, including a first communication device for performing any possible implementation of the first aspect described above, and a second communication device for performing any possible implementation of the second aspect described above.

[0064] For the various aspects from the third to the ninth aspects mentioned above, and the technical effects that each aspect may achieve, please refer to the above description of the technical effects that various possible solutions can achieve for each aspect of the first aspect and each aspect of the second aspect. They will not be repeated here. Attached Figure Description

[0065] Figure 1 is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;

[0066] Figure 2 is a schematic diagram of an air interface transmission process provided in an embodiment of this application;

[0067] Figures 3A, 3B, 3C, and 3D are schematic diagrams of mobile communication scenarios provided in the embodiments of this application;

[0068] Figure 4 is a flowchart illustrating an encoding method provided in an embodiment of this application;

[0069] Figure 5 is a flowchart illustrating the determination of CRC check bits by a first communication device according to an embodiment of this application.

[0070] Figure 6 is a flowchart of a first communication device performing RM encoding on a sequence to be encoded according to an embodiment of this application;

[0071] Figure 7 is a flowchart illustrating a decoding method provided in an embodiment of this application;

[0072] Figure 8 is a flowchart of a second communication device decoding a first LLR according to an embodiment of this application;

[0073] Figure 9 is a flowchart illustrating how a second communication device determines the decoding result corresponding to a projected LLR sequence according to an embodiment of this application.

[0074] Figure 10 is a schematic diagram of a decoding process provided in an embodiment of this application;

[0075] Figure 11 is a schematic diagram of a decoding process provided in an embodiment of this application;

[0076] Figure 12A is a schematic diagram of the transmission performance provided in an embodiment of this application;

[0077] Figure 12B is a schematic diagram of decoding performance provided in an embodiment of this application;

[0078] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0079] Figure 14 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0080] Figure 15 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0081] Figure 16 is a schematic diagram of the structure of a first communication device provided in an embodiment of this application;

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

[0083] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0084] The at least one item mentioned in the embodiments of this application refers to one or more items. Multiple items refers to two or more items. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, it should be understood that although the terms "first," "second," etc., may be used to describe objects in the embodiments of this application, these objects should not be limited to these terms. These terms are only used to distinguish the objects from each other.

[0085] The terms "comprising" and "having," and any variations thereof, used in the following description of embodiments of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices. It should be noted that in embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any method or design described as "exemplary" or "for example" in embodiments of this application should not be construed as preferred or advantageous over other methods or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0086] The technology provided in this application can be applied to various communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), Wireless Fidelity (Wi-Fi) system, 4th generation (4G) mobile communication system (such as Long Term Evolution (LTE) system), 5th generation (5G) mobile communication system (such as New Radio (NR) system), and future communication systems.

[0087] This application will present various aspects, embodiments, or features relating to systems that may include multiple devices, components, modules, etc. It should be understood and appreciated that individual systems 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 approaches are also possible.

[0088] Furthermore, 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.

[0089] In a communication system, a network element can send signals to or receive signals from another network element. These signals can include information or data. A network element can also be referred to as an entity, network entity, device, communication equipment, communication module, node, communication node, etc. This application describes the concept of a network element. For example, a communication system can include at least one terminal device and at least one network device. The signal-transmitting network element can be a network device, and the signal-receiving network element can be a terminal device; or, the signal-transmitting network element can be a terminal device, and the signal-receiving network element can be a network device. Furthermore, it is understood that if the communication system includes multiple terminal devices, these terminal devices can also exchange signals; that is, both the signal-transmitting network element and the signal-receiving network element can be terminal devices.

[0090] Figure 1 illustrates an exemplary architecture diagram of a communication system 1000 applicable to an embodiment of this application. As shown in Figure 1, the communication system includes a radio access network (RAN) 100 and a core network 200. Optionally, the communication system 1000 may also include an Internet 300. The RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110), and may also include at least one terminal (120a-120j in Figure 1, collectively referred to as 120). The RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). The terminal 120 is wirelessly connected to the RAN node 110, and the RAN node 110 is wirelessly or wiredly connected to the core network 200. The core network equipment in core network 200 and the RAN node 110 in RAN 100 can be independent physical devices, or they can be the same physical device that integrates the logical functions of the core network equipment and the logical functions of the RAN node. Terminals can be interconnected with each other, and RAN nodes can be interconnected with each other, via wired or wireless means.

[0091] RAN100 can be an evolved universal terrestrial radio access (E-UTRA) system, an NR system, or a future radio access system as defined in the 3rd generation partnership project (3GPP). RAN100 can also include two or more of the above-mentioned different radio access systems. RAN100 can also be an open RAN (O-RAN).

[0092] The network device involved in this application embodiment can be a RAN node. A RAN node, also known as a radio access network device, RAN entity, or access node, is used to help terminals access a communication system wirelessly. In one application scenario, a RAN node can be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5th generation (5G) mobile communication system, a next-generation base station in a 6th generation (6G) mobile communication system, or a base station in a future mobile communication system. A RAN node 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.

[0093] In another application scenario, multiple RAN nodes can collaborate to help terminals achieve wireless access, with different RAN nodes implementing different functions of the base station. For example, a RAN node can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). Here, the CU performs the functions of the base station's Radio Resource Control (RRC) and Packet Data Convergence Protocol (PDCP), and can also perform the functions of the Service Data Adaptation Protocol (SDAP). The DU performs the functions of the base station's Radio Link Control (RANC) and Medium Access Control (MAC) layers, and can also perform some or all of the physical layer functions. For specific descriptions of these protocol layers, refer to the relevant 3GPP technical specifications. The RU can be used to implement radio frequency signal transmission and reception. The CU and DU can be two independent RAN nodes or integrated into the same RAN node, such as within a baseband unit (BBU). The RU can be included in radio frequency equipment, such as in a remote radio unit (RRU) or an active antenna unit (AAU). The CU can be further divided into two types of RAN nodes: CU-control plane and CU-user plane.

[0094] In different systems, RAN nodes may have different names. For example, in an O-RAN system, CU can be called an open CU (O-CU), DU can be called an open DU (O-DU), and RU can be called an open RU (O-RU). CU-control panel (CU-CP) can also be called an open CU-CP (O-CU-CP), and CU-user panel (CU-UP) can also be called an open CU-UP (O-CU-UP). The RAN nodes in the embodiments of this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. For example, an RAN node can be a server loaded with the corresponding software modules. The embodiments of this application do not limit the specific technology or device form used in the RAN nodes. For ease of description, a base station is used as an example of a RAN node in the following description.

[0095] Terminal equipment can be any device or module that accesses the aforementioned communication system and possesses corresponding communication functions. Terminal equipment can also be referred to as user equipment (UE), terminal, user device, access terminal, user unit, user station, mobile station, mobile station (MS), remote station, remote terminal, mobile device, user terminal, terminal unit, terminal station, terminal device, wireless communication equipment, user agent, or user device. Terminal equipment typically contains communication modules, circuits, or chips that perform the corresponding communication functions. It may also be configured with program instructions for performing these functions.

[0096] For example, the terminal device in the embodiments of this application may be a mobile phone, a personal digital assistant (PDA) computer, a laptop computer, a tablet computer, a drone, a computer with wireless transceiver capabilities, a machine-type communication (MTC) terminal, a virtual reality (VR) terminal, an augmented reality (AR) terminal, an Internet of Things (IoT) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home (e.g., game consoles, smart TVs, smart speakers, smart refrigerators, and fitness equipment), a transportation vehicle with wireless communication capabilities, a communication module, or a roadside unit (RSU) with terminal functionality. The embodiments of this application do not limit the specific technology or device form used in the terminal device.

[0097] Base stations and terminals can be fixed 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 be deployed on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the base stations and terminals.

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

[0099] Communication between base stations and terminals, between base stations, and between terminals can be conducted using licensed spectrum, unlicensed spectrum, or both simultaneously. Communication can be conducted using spectrum below 6 gigahertz (GHz), spectrum above 6 GHz, or both simultaneously. The embodiments of this application do not limit the spectrum resources used for wireless communication.

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

[0101] In this application, the base station sends downlink signals or downlink information to the terminal, with the downlink information carried on the downlink channel; the terminal sends uplink signals or uplink information to the base station, with the uplink information carried on the uplink channel. In order to communicate with the base station, the terminal needs to establish a radio connection with a cell controlled by the base station. The cell with which the terminal has established a radio connection is called the terminal's serving cell. When the terminal communicates with this serving cell, it is also subject to interference from signals from neighboring cells.

[0102] Communication between access network devices and terminal devices can follow a specific protocol layer structure. For example, this protocol layer structure may include a control plane protocol layer structure and a user plane protocol layer structure. For instance, the control plane protocol layer structure may include at least one of the following: radio resource control (RRC) layer, packet data convergence protocol (PDCP) layer, radio link control (RLC) layer, media access control (MAC) layer, or physical (PHY) layer. Similarly, the user plane protocol layer structure may include at least one of the following: service data adaptation protocol (SDAP) layer, PDCP layer, RLC layer, MAC layer, or physical layer.

[0103] Access network equipment may include a central unit (CU) and a distributed unit (DU). This design can be referred to as CU and DU separation. Multiple DUs can be centrally controlled by a single CU. As an example, the interface between the CU and DU is called the F1 interface. The control plane (CP) interface can be F1-C, and the user plane (UP) interface can be F1-U. This application does not limit the specific names of the interfaces. The CU and DU can be divided according to the protocol layer of the wireless network: for example, the functions of the PDCP layer and above (e.g., RRC and SDAP layers) are located in the CU, and the functions of the protocol layers below the PDCP layer (e.g., RLC, MAC, and PHY layers) are located in the DU; or, for example, the functions of the protocol layers above the PDCP layer are located in the CU, and the functions of the protocol layers below the PDCP layer are located in the DU, without limitation.

[0104] The above division of CU and DU processing functions according to protocol layers is merely an example; other methods can also be used. For instance, CUs or DUs can be divided into those with more protocol layer functions, or they can be divided into those with partial protocol layer processing functions. For example, some functions of the RLC layer and the protocol layer functions above the RLC layer can be placed in the CU, while the remaining functions of the RLC layer and the protocol layer functions below the RLC layer can be placed in the DU. Furthermore, the functions of CUs or DUs can be divided according to service type or other system requirements, such as by latency. Functions that need to meet latency requirements can be placed in the DU, while functions that do not need to meet this latency requirement can be placed in the CU.

[0105] Optionally, the CU may have one or more core network functions.

[0106] Optionally, the radio unit (RU) of the DU can be remotely located. The RU has radio frequency (RF) functionality. For example, the DU and RU can be separated at the PHY layer. For instance, the DU can implement higher-level functions in the PHY layer, and the RU can implement lower-level functions. When transmitting, the PHY layer functions may include at least one of the following: adding cyclic redundancy check (CRC) bits, channel coding, rate matching, scrambling, modulation, layer mapping, precoding, resource mapping, physical antenna mapping, or RF transmission functionality. When receiving, the PHY layer functions may include at least one of the following: CRC check, channel decoding, rate matching de-scrambling, demodulation, layer mapping de-mapping, channel detection, resource demapping, physical antenna demapping, or RF reception functionality. The higher-level functions in the PHY layer may include a portion of the PHY layer's functionality, which is closer to the MAC layer; the lower-level functions in the PHY layer may include another portion of the PHY layer's functionality, for example, a portion closer to the RF functionality. For example, higher-level functions in the PHY layer may include adding CRC bits, channel coding, rate matching, scrambling, modulation, and layer mapping, while lower-level functions may include precoding, resource mapping, physical antenna mapping, and RF transmission functions; or, higher-level functions in the PHY layer may include adding CRC bits, channel coding, rate matching, scrambling, modulation, layer mapping, and precoding, while lower-level functions may include resource mapping, physical antenna mapping, and RF transmission functions. For example, higher-level functions in the PHY layer may include CRC checksum, channel decoding, rate matching de-matching, decoding, demodulation, and layer mapping de-matching, while lower-level functions may include channel detection, resource de-mapping, physical antenna de-mapping, and RF reception functions; or, higher-level functions in the PHY layer may include CRC checksum, channel decoding, rate matching de-matching, decoding, demodulation, layer mapping de-matching, and channel detection, while lower-level functions may include resource de-mapping, physical antenna de-mapping, and RF reception functions.

[0107] Optionally, the functions of the CU can be further divided, separating the control plane and the user plane and implementing them through different entities. The separated entities are the control plane CU entity (i.e., the CU-CP entity) and the user plane CU entity (i.e., the CU-UP entity). The CU-CP entity and the CU-UP entity can be connected to the DU respectively. In the embodiments of this application, an entity can be understood as a module or unit, and its form can be a hardware structure, a software module, or a hardware structure plus a software module, without limitation.

[0108] Optionally, any one of CU, CU-CP, CU-UP, DU, and RU can be a software module, a hardware structure, or a combination of software and hardware structures, without limitation. The different entities can exist in the same or different forms. For example, CU, CU-CP, CU-UP, and DU are software modules, and RU is a hardware structure. For the sake of brevity, not all possible combinations are listed here. These modules and their executed methods are also within the protection scope of the embodiments of this application. For example, when the method of the embodiments of this application is executed by an access network device, it can be executed by at least one of CU, CU-CP, CU-UP, or DU.

[0109] The relevant terms used in the embodiments of this application will be explained below. It should be noted that these explanations are for the purpose of making the embodiments of this application easier to understand, and should not be regarded as a limitation on the scope of protection claimed by this application.

[0110] 1. Reed Müller (RM) code:

[0111] Relative perfect codes (RM codes) possess unique and rich structural characteristics, and can be modeled and represented in various ways, such as through finite geometry, polynomial rings, or Boolean functions. For example, we will introduce the definition of RM codes based on polynomial rings. Binary RM codes encompass multivariate polynomials in a binary domain. The evaluation results are as follows. Consider a polynomial ring with m variables. For a polynomial and a binary vector Define Eval z (f)=f(z1,z2,…,z m Let f be the value of the polynomial f in the binary vector z. Based on this, the evaluation vector of the polynomial f can be defined. That is, a coordinate of Eval(f) is the evaluation result of the polynomial f at a certain binary vector. Since The CCP has 2 m There are m-dimensional binary vectors, therefore the evaluation vector Eval(f) has a total of 2 m Each dimension. For an RM code with parameters m and r, its codeword set can be defined as the set of evaluation vectors for all polynomials of order no higher than r. The RM code can be represented as follows:

[0112] Where deg(f) represents the order of polynomial f; m is the first parameter of the RM code (also known as the code length parameter), which is related to the code length of the RM code. For example, the code length of the RM code is 2. m; r is the second parameter of the RM code (also known as the order), which represents the order of the RM code.

[0113] 2. Projection of RM code:

[0114] definition Let be an s-dimensional subspace of an m-dimensional binary vector space, denoted as . It is a subspace The set of all cosets, i.e. Special There are 2 in the middle m-s A coset. Define an RM codeword y in a subspace. The projection of the subspace is but

[0115] 3. Automorphic substitution of RM codes:

[0116] For a valid codeword x of RM(m,r), its 2 m The bits of a codeword can be represented by an m-dimensional binary vector z = (z1, ..., z2). m Use ) as the index. For any binary full-rank matrix and vectors Define coordinate transformation That is, placing the bit at position z of codeword x into Position, thus obtaining a new length of 2 m The code This yields the RM code after automorphic permutation.

[0117] 4. Information sequence:

[0118] An information sequence refers to a sequence of multiple information bits to be transmitted. For example, if the information bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the resulting information sequence is: 10101100101. Information bits can refer to the payload itself.

[0119] For the communication system architecture shown in Figure 1, over-the-air transmission is possible between the terminal and the network device. Taking the network device as an example, over-the-air transmission includes uplink and downlink transmission, as shown in the over-the-air transmission process in Figure 2. For downlink transmission: the network device sequentially encodes, modulates, maps, precodes, frames, and performs inverse fast fourier transform (IFFT) on the Layer 2 (L2) data, and processes it into a signal to be transmitted over the over-the-air interface through the intermediate radio frequency (IRF) module. For uplink transmission: the network device processes the received signal through the IRF module to obtain baseband data, and then performs inverse fast fourier transform (FFT), deframes, equalizes, demaps, demodulates, and decodes to complete the physical layer signal processing.

[0120] This application provides an encoding and decoding method that can be used for channel encoding and decoding. For example, the encoding and decoding method provided in this application can be applied to the air interface transmission process between a terminal and a network device, encoding L2 data based on the encoding method provided in this application, and decoding the demodulated signal based on the decoding method provided in this application.

[0121] The method provided in this application embodiment can be implemented by a first communication device, which can serve as a sender and / or receiver of an information sequence. Correspondingly, the device transmitting the information sequence with the first communication device can be called a second communication device. That is, the first communication device is the sender, and the second communication device is the receiver; or, the first communication device is the receiver, and the second communication device is the sender. For the sender, the information sequence to be sent can be encoded to obtain an encoded codeword sequence. Correspondingly, the receiver can decode the received sequence to obtain decoded information bits. Referring to the description in this application, the sender may include a network device or a terminal, and the receiver may include a network device or a terminal. For example, the sender is a terminal, and the receiver is a network device; or, the sender is a network device, and the receiver is a terminal.

[0122] The method provided in this application can be applied to various mobile communication scenarios. The first communication device and the second communication device can be the terminal and the base station in the mobile communication scenario, respectively. For example, the base station and terminal mobile communication scenario shown in Figure 3A, or the dual connectivity (DC) scenario of multiple base stations and terminals shown in Figure 3B, or the multi-hop single connection scenario between the base station and the terminal shown in Figure 3C, or the multi-hop multi-connection scenario between the base station and the terminal shown in Figure 3D.

[0123] Figure 4 is a flowchart illustrating an encoding method provided in an embodiment of this application. The encoding method mainly includes the following steps 400 to 402. It is understood that the steps and execution order shown in Figure 4 are only examples. In actual implementation, some of the steps may be executed, or the remaining steps may also be executed. Similarly, the execution order of the steps may also be adjusted, and this embodiment of the application does not limit this.

[0124] In the following description of the encoding method process, the first communication device as the sending end to execute the encoding scheme will be used as an example.

[0125] In this embodiment of the application, as described above, the device used to implement the function of the first communication device can be the first communication device itself (e.g., a terminal or network device), a module or unit applicable to the first communication device, or a device that supports the first communication device in implementing the function (e.g., a chip system). The following description uses the first communication device as an example. When the device used to implement the function of the first communication device is a module or unit applicable to the first communication device, or a device that supports the first communication device in implementing the function, receiving / transmitting can be understood as input / output, that is, the device communicates with other modules, units, or components of the first communication device. Furthermore, the processing performed by a single execution entity can also be divided into multiple execution entities, which can be logically and / or physically separated. For example, when the first communication device is a network device, the processing performed by the first communication device can be divided into execution by at least one of CU, DU, RU, etc.

[0126] Step 400: The first communication device determines the CRC check bits based on the number of information bits k1 included in the information sequence.

[0127] Optionally, the information sequence includes k1 information bits, where k1 is a positive integer. For example, the information sequence is:

[0128] For example, the number of information bits k1 included in the information sequence can be predefined; or, when the first communication device is a terminal-side device (e.g., a terminal, or a module or unit applied to the terminal, or a device capable of implementing the functions of the terminal), the number of information bits k1 included in the information sequence can be configured by the network side (e.g., a network device, or a module or unit applied to the network device, or a device capable of implementing the functions of the network device).

[0129] In this embodiment of the application, the first communication device acquires the information sequence to be sent and determines the CRC check bits according to the number of information bits k1 included in the information sequence.

[0130] The method by which the first communication device determines the CRC check bits will be described in detail below with reference to Figure 5.

[0131] Step 500: The first communication device determines the first CRC polynomial based on the number of information bits k1 and the first correspondence.

[0132] Optionally, the first correspondence may include the correspondence between the number of information bits and the CRC polynomial.

[0133] The first correspondence can be predefined; or, when the first communication device is a terminal-side device (e.g., a terminal, or a module or unit applied to a terminal, or a device capable of realizing the functions of a terminal), the first correspondence can be configured on the network side (e.g., a network device, or a module or unit applied to a network device, or a device capable of realizing the functions of a network device).

[0134] For example, the first correspondence may include multiple correspondences, each of which may be a correspondence between the number range of information bits and the CRC polynomial, or each of which may be a correspondence between the number of information bits (e.g., a specific value) and the CRC polynomial.

[0135] For example, as shown in Table 1, the first correspondence includes the correspondence between the range of different information bits and the CRC polynomial.

[0136] Table 1

[0137] It should be understood that the first correspondence shown in Table 1 above is merely an example of the correspondence between the number of information bits and the CRC polynomial in the embodiments of this application, and the embodiments of this application do not limit this.

[0138] The first correspondence in the embodiments of this application may also include the correspondence between the number of information bits and the order of the CRC polynomial.

[0139] For example, the first correspondence may include multiple correspondences. Each correspondence may be a correspondence between the number range of information bits and the order of the CRC polynomial, or between the CRC polynomial itself and the number of information bits (e.g., a specific value) and the order of the CRC polynomial.

[0140] For example, as shown in Table 2, the first correspondence includes the correspondence between the range of different information bit numbers and the CRC polynomial.

[0141] Table 2

[0142] It should be understood that the first correspondence shown in Table 2 above is merely an example of the correspondence between the number of information bits and the CRC polynomial in the embodiments of this application, and the embodiments of this application do not limit this.

[0143] Step 501: The first communication device determines the CRC check bits based on the information sequence and the first CRC polynomial.

[0144] After determining the first CRC polynomial corresponding to the number of information bits k1 included in the information sequence, the first communication device determines the order of the first CRC polynomial. For example, when the first correspondence includes a relationship between the number of information bits and the order of the CRC polynomial, the first communication device can determine the order of the first CRC polynomial based on the first correspondence; or, the first communication device determines the order of the first CRC polynomial after determining it based on the first correspondence.

[0145] The first communication device processes the information sequence according to the order of the first CRC polynomial to obtain a new sequence; optionally, the length of the new sequence is k = k1 + k2, where k2 is the order of the first CRC polynomial. For example, the first communication device adds k2 bits to the end of the information sequence to obtain a new sequence of length k1 + k2. The new sequence can be... For example, adding k2 bits to the end of the information sequence can result in k2 zeros.

[0146] After obtaining the new sequence, the first communication device obtains the CRC check bits based on the new sequence and the first CRC polynomial.

[0147] For example, the first communication device uses the new sequence as the dividend and the coefficients of the first CRC polynomial as the divisors, performs a long division operation on the binary field, and obtains a remainder sequence (for example, the remainder sequence is...). The first communication device uses the remainder sequence as CRC check bits.

[0148] Step 401: The first communication device adds CRC check bits to the information sequence to obtain the sequence to be encoded.

[0149] In this embodiment of the application, the first communication device adds CRC check bits to the end of the information sequence to obtain the sequence to be encoded.

[0150] For example, the information sequence is CRC check bits include The sequence to be encoded can be {u1,…,u} k}, k = k1 + k2. Where any bit u in the sequence to be encoded... i for:

[0151] Step 402: The first communication device performs RM encoding on the sequence to be encoded to obtain a codeword sequence.

[0152] In this embodiment of the application, after obtaining the sequence to be encoded, the first communication device can determine the first parameter and the second parameter of the RM code, determine the RM code generation matrix based on the first parameter and the second parameter of the RM code, and then perform RM encoding on the sequence to be encoded based on the RM code generation matrix to obtain the codeword sequence.

[0153] The first parameter of the RM code is related to the code length of the RM code, and the first parameter can also be called the code length parameter; the second parameter of the RM code can characterize the order of the RM code, and the second parameter can also be called the order of the RM code.

[0154] The process of RM encoding of the sequence to be encoded by the first communication device is described in detail below with reference to Figure 6. The process may specifically include steps 600 to 603.

[0155] Step 600: The first communication device determines the first parameter based on the number of transmitted bits.

[0156] Optionally, in a wireless communication system, the number of transmitted bits can be the number of bits that the time-frequency resources for transmitting the codeword sequence can carry. For example, the number of transmitted bits is the likelihood number of bits that the time-frequency resources of the first communication device for signal transmission can carry.

[0157] Optionally, the number of transmitted bits can be predefined; or, when the first communication device is a terminal-side device (e.g., a terminal, or a module or unit applied to a terminal, or a device capable of implementing the functions of a terminal), the number of transmitted bits can be configured on the network side (e.g., a network device, or a module or unit applied to a network device, or a device capable of implementing the functions of a network device).

[0158] Alternatively, the number of transmitted bits can be calculated by the first communication device based on time-frequency resources. The time-frequency resources of the first communication device can be predefined or configured by higher layers; for example, when the first communication device is a terminal-side device (such as a terminal, or a module or unit applied to a terminal, or a device capable of implementing the functions of a terminal), the higher-layer configuration can be configured on the network side (such as a network device, or a module or unit applied to a network device, or a device capable of implementing the functions of a network device).

[0159] In this embodiment, the code length of the RM code corresponding to the first parameter is not less than the number of transmitted bits. For example, the first parameter can be m, then the code length of the RM code corresponding to the first parameter is 2. m ,2 m ≥D, where D is the number of transmitted bits.

[0160] Optionally, the first parameter is the smallest code length parameter in the code length parameter set, which includes at least one code length parameter, and the code length of the RM code corresponding to the code length parameter is not less than the number of transmitted bits.

[0161] For example, the first parameter satisfies the following condition:

[0162] Where m represents the first parameter, m′ represents the code length parameters included in the code length parameter set, 2 m′ Let m' represent the code length of the RM code corresponding to m', and D represent the number of transmitted bits.

[0163] It should be understood that the conditions satisfied by the first parameter mentioned above are merely examples of how the first communication device determines the first parameter in the embodiments of this application. The embodiments of this application do not limit the specific method by which the first communication device determines the first parameter based on the number of transmitted bits.

[0164] Step 601: The first communication device determines the second parameter based on the first parameter and the number of bits included in the sequence to be encoded.

[0165] In this embodiment of the application, the third parameter of the RM code is related to the first and second parameters.

[0166] Optionally, the third parameter can be determined by the first and second parameters based on the following conditions:

[0167] Where K represents the third parameter, m represents the first parameter, and r represents the second parameter.

[0168] In this embodiment of the application, the third parameter is not less than the number of bits included in the sequence to be encoded.

[0169] Optionally, the second parameter is the smallest candidate order in the candidate order set, which includes at least one candidate order. The third parameter corresponding to the candidate order is not less than the number of bits in the sequence to be encoded. The third parameter corresponding to the candidate order is determined based on the candidate order and the first parameter.

[0170] For example, the second parameter satisfies the following conditions:

[0171] Where r represents the second parameter, and r′ represents the candidate orders included in the candidate order set. The third parameter corresponding to r′ is represented by k, which represents the number of bits in the sequence to be encoded.

[0172] Step 602: The first communication device determines the RM code generation matrix based on the first parameter and the second parameter.

[0173] The first communication device can determine the RM code generation matrix according to the following process:

[0174] 1: The first communication device determines multiple basis vectors based on the first parameter.

[0175] When the first parameter is m, the number of basis vectors determined by the first communication device is m+1.

[0176] In this embodiment of the application, the first communication device can select a corresponding number of basis vectors from the RM code encoding matrix according to the first parameter.

[0177] For example, when the number of information bits included in the information sequence is greater than or equal to 3 and less than or equal to 11, the RM code encoding matrix can be as shown in Table 3.

[0178] Table 3

[0179] In Table 3, each column represents a basis vector.

[0180] For example, when the number of information bits in the information sequence is greater than or equal to 3 and less than or equal to 11, the length of the encoded codeword sequence is 32 bits. When the first parameter m of the RM code is 5, the first 6 columns in Table 3 can be the 6 basis vectors corresponding to the RM code.

[0181] 2: The first communication device determines other vectors based on multiple basis vectors and the order of the RM code.

[0182] In this embodiment of the application, the first communication device performs a bitwise AND operation on each bit of a plurality of basis vectors according to the order of the RM code to obtain other vectors.

[0183] For example, taking the first parameter m of the RM code as 3 and the second parameter r of the RM code as 2 as an example. The first communication device first determines 4 basis vectors, for example, the 4 basis vectors are v0, v1, v2, v3 in sequence; where v0 = Eval(1) = [1 1 1 1 1 1 1 1 1], v1 = Eval(x1) = [1 1 1 1 0 0 0 0], v2 = Eval(x2) = [1 1 0 0 1 1 0 0], v3 = Eval(x3) = [1 0 1 0 1 0 1 0]. The first communication device determines the other vectors as v4, v5, and v6 in sequence; where v4 = Eval(x1x2) = [1 1 0 0 0 0 0 0], v5 = Eval(x1x3) = [1 0 1 0 0 0 0 0], and v6 = Eval(x2x3) = [1 0 0 0 1 0 0 0].

[0184] 3: The first communication device determines the RM code generation matrix based on the basis vectors and other vectors.

[0185] In this embodiment of the application, the RM code generation matrix includes a basis vector and other vectors determined based on the basis vector.

[0186] The RM code generation matrix can be n*2 m The matrix; where n is the dimension of the RM code, m is the first parameter of the RM code, and 2 m This refers to the length of the RM code.

[0187] For example, the basis vectors are v0, v1, v2, and v3 in sequence; where v0 = Eval(1) = [1 1 1 1 1 1 1 1 1], v1 = Eval(x1) = [11 1 1 0 0 0 0], v2 = Eval(x2) = [1 1 0 0 1 1 0 0], v3 = Eval(x3) = [1 0 1 0 1 0 1 0]; the other vectors are v4, v5, and v6 in sequence; where v4 = Eval(x1x2) = [1 1 0 0 0 0 0 0], v5 = Eval(x1x3) = [1 0 1 0 0 0 0 0], v6 = Eval(x2x3) = [1 0 0 01 0 0] When [v0], the first communication device determines the RM code generation matrix G = [v0 v1 v2 v3 v4 v5 v6] T Then the RM code generation matrix G can be as follows:

[0188] Step 603: The first communication device performs RM encoding on the sequence to be encoded based on the RM code generation matrix to obtain the codeword sequence.

[0189] Optionally, the first communication device obtains the codeword sequence as follows: X = uG

[0190] Where u is the sequence to be encoded, G is the RM code generation matrix, and X is the encoded codeword sequence.

[0191] For example, u is a sequence to be encoded of length k, and G is k*2. m Given a matrix, based on the above encoding method, a matrix of length 2 can be obtained. m The codeword sequence.

[0192] In this embodiment of the application, after the first communication device obtains the codeword sequence corresponding to the information sequence based on the above encoding scheme, the first communication device can perform rate matching on the codeword sequence to obtain a codeword sequence that matches the time-frequency resources used by the first communication device for signal transmission, and transmit the codeword sequence after rate matching based on the time-frequency resources used for signal transmission.

[0193] Because of the encoding scheme provided in this application embodiment, the first communication device determines the CRC check bits according to the number k1 of information bits included in the information sequence, and adds the CRC check bits to the information sequence; during the encoding process of the information sequence, the first communication device performs RM encoding on the sequence to be encoded with the added CRC check bits, so that the decoding process can be verified based on the CRC check bits to ensure the decoding accuracy; in addition, during the decoding process, it can determine whether to stop decoding based on the CRC check bits. After the decoding result is verified to be successful based on the CRC check bits, the decoding can be stopped, thereby shortening the decoding process and improving the decoding efficiency.

[0194] This application also provides a decoding method for decoding a received RM-encoded codeword sequence. Figure 7 is a flowchart illustrating a decoding method provided in this application, which mainly includes steps 700 to 702. It is understood that the steps and execution order shown in Figure 7 are merely examples; in actual implementation, some steps may be executed, or the remaining steps may also be executed. Similarly, the execution order of the steps can be adjusted, and this application does not limit this.

[0195] In the following description of the decoding method, the decoding scheme will be implemented using the second communication device as the receiving end as an example.

[0196] In this embodiment of the application, as described above, the device used to implement the function of the second communication device can be the second communication device itself (e.g., a terminal or network device), a module or unit applicable to the second communication device, or a device that supports the second communication device in implementing the function (e.g., a chip system). The following description uses the second communication device as an example. When the device used to implement the function of the second communication device is a module or unit applicable to the second communication device, or a device that supports the second communication device in implementing the function, receiving / transmitting can be understood as input / output, that is, the device communicates with other modules, units, or components of the second communication device. Furthermore, the processing performed by a single execution entity can also be divided into multiple execution entities, which can be logically and / or physically separated. For example, when the second communication device is a network device, the processing performed by the second communication device can be divided into execution by at least one of CU, DU, RU, etc.

[0197] Step 700: The second communication device acquires the first LLR sequence.

[0198] The first LLR sequence corresponds to the codeword sequence, which is obtained by RM encoding the sequence to be encoded, which includes CRC check bits.

[0199] In this embodiment of the application, the second communication device receives the RM-encoded codeword sequence sent by the first communication device and obtains the first LLR sequence corresponding to the codeword sequence.

[0200] Step 701: The second communication device decodes the first LLR sequence to obtain a decoded sequence.

[0201] After acquiring the first LLR sequence, the second communication device decodes the first RRL sequence during the decoding process.

[0202] The following, with reference to Figure 8, details the process by which the second communication device decodes the first LLR. This process may specifically include steps 800 to 803.

[0203] Step 800: The second communication device projects the first LLR sequence to obtain multiple projected LLR sequences.

[0204] The second communication device projects the first LLR sequence onto multiple projection subspaces, each of which can be one-dimensional or multi-dimensional; the dimension of the projection subspace can also be called the projection order.

[0205] It should be understood that the projection process of the second communication device onto the first LLR sequence can be found in the explanation of the projection of the RM code in the terminology section above.

[0206] Optionally, the number of projection subspaces is related to the projection order. For example, the number of projection subspaces... Where, n d d is the number of projection subspaces, d is the projection order, and m is the first parameter of the RM code.

[0207] In one possible implementation, the second communication device may preprocess the first LLR sequence before projecting it; for example, the preprocessing of the first LLR sequence may involve supplementing the length of the first LLR sequence by adding one or more bits, such that the length of the supplemented first LLR sequence is 2. m , where m is the first parameter of the RM code.

[0208] Step 801: The second communication device decodes each projected LLR sequence to obtain the decoding result corresponding to each projected LLR sequence.

[0209] The number of projection subspaces is n d At that time, based on the above step 800, n can be obtained. d A projected LLR sequence.

[0210] For each projected LLR sequence, the second communication device executes the following decoding procedure to obtain the decoding result corresponding to the projected sequence. The following section describes any given projected LLR sequence.

[0211] 1: The second communication device determines the LLR sequence to be decoded corresponding to the projected LLR sequence.

[0212] In this embodiment of the application, the second communication device can determine the LLR sequence to be decoded corresponding to the projected LLR sequence in a variety of different ways.

[0213] Method 1: The second communication device uses the projected LLR sequence as the LLR sequence to be decoded.

[0214] In determination method 1, the second communication device directly uses the projected LLR sequence as the LLR sequence to be decoded.

[0215] Method 2: The second communication device performs an automorphic permutation on the projected LLR sequence to obtain the LLR sequence to be decoded.

[0216] In determination method 2, the second communication device performs an automorphic permutation on the projected LLR sequence to obtain the automorphic permutation LLR sequence as the LLR sequence to be decoded.

[0217] It should be understood that the process of the second communication device performing automorphic permutation on the projected LLR sequence can be found in the explanation of automorphic permutation of RM codes in the terminology section above.

[0218] It should be noted that the automorphic permutation method used in this application embodiment for the projected LLR sequence is a permutation method that optimizes at least one metric. This can be understood as follows: among all automorphic permutation methods, the permutation method used in this application embodiment for the projected LLR sequence optimizes at least one metric. This application embodiment does not limit the specific metric; any method that positively impacts decoding performance is acceptable.

[0219] For example, one metric could be: among all automorphic permutation methods, the permutation method used to perform automorphic permutation on the projected LLR sequence maximizes the minimum LLR sequence after the LLR sequence after automorphic permutation is processed by the tic-tac-toe addition.

[0220] For example, for the projected LLR sequence y j Perform an automorphic permutation to obtain the automorphic permutation LLR sequence p. j =π x (y j ), π x (·) can satisfy the following conditions: pj =π(y j )

[0221] in: Specifically, it can be defined as follows:

[0222] p is the LLR sequence after automorphic permutation j The first subsequence of p is the LLR sequence after automorphic permutation j The second subsequence. The LLR sequence p can be... j Divide the sequence into two subsequences: a first subsequence and a second subsequence. For example, divide the LLR sequence p... j The first half of the bits in the RM code is used as the first subsequence, and the second half of the bits in the LLR sequence to be decoded is used as the second subsequence. m is the first parameter of the RM code, and d is the projection order.

[0223] 2: The second communication device merges the LLR sequences to be decoded to obtain the processed target sequence to be decoded.

[0224] The target sequence to be decoded corresponds to either a first RM code or a second RM code. Optionally, the difference between the first parameter and the second parameter of the first RM code is a first value, and the second parameter of the second RM code is a second value. The first parameter is related to the code length of the RM code, and the second parameter represents the order of the RM code.

[0225] It should be understood that the correspondence between the target sequence to be decoded and the first RM code or the second RM code can be interpreted as the target sequence to be decoded being a codeword in the codeword set corresponding to the first RM code, or the target sequence to be decoded being a codeword in the codeword set corresponding to the second RM code.

[0226] For example, the first value can be 1, and the second value can be 1. For instance, the first RM code can be an RM(m,r) code, where mr = 1; the second RM code can be an RM(m,r) code, where r = 1.

[0227] In this embodiment of the application, the first RM code can also be called a single parity check (SPC) code, and the second RM code can also be called a first-order RM code.

[0228] In this embodiment of the application, the merging process performed on the LLR sequence to be decoded includes a first merging process and a second merging process; the second communication device obtains the target sequence to be decoded based on the first merging process and the second merging process.

[0229] It should be noted that the second communication device in this application embodiment can perform merging processing on the LLR sequence to be decoded in a recursive decoding method with multiple iterations.

[0230] The process of merging the LLR sequences to be decoded by the second communication device to obtain the target sequence to be decoded is described in detail below.

[0231] Step 2a: The second communication device performs a first merging process on the first subsequence and the second subsequence of the LLR sequence to be decoded to obtain a reference sequence to be decoded corresponding to the first RM code or the second RM code.

[0232] In some embodiments, the second communication device divides the LLR sequence to be decoded into a first subsequence and a second subsequence.

[0233] For example, the second communication device can divide the LLR sequence to be decoded into a first subsequence and a second subsequence. For instance, the second communication device may use the first half of the bits in the LLR sequence to be decoded as the first subsequence and the second half of the bits in the LLR sequence to be decoded as the second subsequence.

[0234] After obtaining the first subsequence and the second subsequence, the second communication device performs a first merging process on the first subsequence and the second subsequence. For example, the first merging process can be a cross-shaped addition process.

[0235] For example, for the LLR sequence to be decoded y j The first subsequence is The second subsequence is The second communication device performs a first merging process on the first subsequence and the second subsequence to obtain a sequence. Specifically, it can be defined as follows:

[0236] Where m is the first parameter of the RM code and r is the second parameter of the RM code.

[0237] In the LLR sequence to be decoded j Corresponding to the RM(m,r) code, then y′ j The sequence corresponds to an RM(md-1,rd-1) code, i.e., y′ j The sequence is a codeword from the codeword set corresponding to the RM(md-1,rd-1) code; where m is the first parameter, r is the second parameter, and d is the projection order.

[0238] It should be noted that the above-described method of the first merging process is merely an example of the embodiments of this application, and the specific method of the first merging process in the embodiments of this application is not limited. For example, the first merging process in the embodiments of this application may also adopt the Minsum approximation method.

[0239] Optionally, the second communication device may perform multiple first merging processes on the LLR sequence to be decoded until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0240] In one possible implementation, the second communication device performs a first merging process on the first subsequence and the second subsequence in the LLR sequence to be decoded to obtain a reference sequence to be decoded; when the reference sequence to be decoded does not correspond to the first RM code or the second RM code, the reference sequence to be decoded is updated to the LLR sequence to be decoded; the first subsequence and the second subsequence in the updated LLR sequence to be decoded are subjected to a first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0241] It should be understood that the reference code sequence to be decoded corresponding to the first RM code or the second RM code can be understood as a codeword in the codeword set corresponding to the first RM code, or a codeword in the codeword set corresponding to the second RM code.

[0242] During implementation, the second communication device performs a first merging process on the first and second subsequences in the LLR sequence to be decoded, obtaining a reference sequence to be decoded. If the reference sequence to be decoded corresponds to the first RM code or the second RM code, the second communication device determines that the first merging process is complete, obtaining a reference sequence to be decoded corresponding to the first RM code or the second RM code; if the reference sequence to be decoded does not correspond to the first RM code or the second RM code, the second communication device uses the reference sequence to be decoded as the updated LLR sequence to be decoded, and performs the first merging process on the first and second subsequences in the updated LLR sequence to be decoded, and so on, until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0243] Step 2b: The second communication device decodes the reference sequence to be decoded.

[0244] When the reference sequence to be decoded corresponds to the first RM code, the second communication device can use the decoding algorithm corresponding to the first RM code to decode the reference sequence to be decoded.

[0245] For example, the first RM code is an SPC code, and the second communication device can use the SPC decoding method to decode the reference sequence to be decoded.

[0246] The decoding principle of the SPC decoding method is as follows:

[0247] SPC decoding can be a decoding algorithm for m-1 order RM codes (first RM codes), such as decoding RM(m,m-1) codes (where m is the first parameter related to the code length) using SPC decoding.

[0248] Since the first RM code has only one parity bit, after adding the parity bit, the XOR result of all codeword bits is 0. The SPC decoding process includes: performing a hard decision on each bit according to the reference sequence to be decoded (RRL sequence); if the number of 1s after the hard decision is even, the hard decision result is used as the decoding result; otherwise, the hard decision bit with the smallest absolute value of the LLR is flipped, and the decoding result is output.

[0249] When the reference sequence to be decoded corresponds to the second RM code, the second communication device can use the decoding algorithm corresponding to the second RM code to decode the reference sequence to be decoded.

[0250] For example, the first RM code is a first-order RM code, and the second communication device can use the fast Hadamard transform (FHT) decoding method to decode the reference sequence to be decoded.

[0251] The decoding principle of the FHT decoding method is as follows:

[0252] The FHT decoding method can be a decoding algorithm for first-order RM codes (second RM codes), such as decoding RM(m,1) codes (where m is the first parameter related to the code length) using the FHT decoding method.

[0253] The second RM code has an information bit length of m+1. The FHT decoding method utilizes the characteristics of the second RM code for fast decoding.

[0254] The FHT decoding process includes:

[0255] For a codeword sequence The corresponding LLR sequence is Where L z It is the bit received LLR at coordinate z. The reference sequence to be decoded in this embodiment is... For example.

[0256] For a first-order RM code, its codeword bits can be represented as: Therefore, maximizing the likelihood is equivalent to finding the information bits {u0,…,u m This maximizes the value of the following formula.

[0257] Among them, binary variables It can be defined as:

[0258] All of Arranged into vectors It is essentially L zThe Hadamard transform can be used to quickly solve the problem using the FHT algorithm, thus completing the decoding of the first-order RM code.

[0259] Step 2c: The second communication device performs a second merging process on the first subsequence and the second subsequence of the sequence to be decoded based on the decoding result of the reference sequence to be decoded, to obtain a reference sequence to be decoded corresponding to the first RM code or the second RM code.

[0260] In step 2c, the second communication device performs a second merging process on the sequence to be decoded, which is the reference sequence to be decoded obtained in the previous step based on the first merging process and corresponding to the first RM code or the second RM code. For example, if the second communication device performs multiple first merging processes in step 2a, the second merging process is performed on the first subsequence and the second subsequence of the sequence to be decoded targeted by the last merging process.

[0261] The method for dividing the first and second subsequences in the sequence to be decoded can be found in the above description and will not be repeated here.

[0262] Optionally, the second communication device may perform multiple second merging processes on the LLR sequence to be decoded until a target sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0263] In one possible implementation, the second communication device performs a second merging process on the first and second subsequences of the LLR sequence to be decoded based on the decoding result of the reference sequence to be decoded, to obtain the target sequence to be decoded;

[0264] When the target sequence to be decoded does not correspond to the first RM code or the second RM code, the target sequence to be decoded is updated to a LLR sequence to be decoded; the first subsequence and the second subsequence in the updated LLR sequence to be decoded are subjected to the first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained; and according to the decoding result of the reference sequence to be decoded, the first subsequence and the second subsequence of the LLR sequence to be decoded are subjected to the second merging process until a target sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0265] It should be understood that the target code sequence to be decoded corresponding to the first RM code or the second RM code can be understood as either a codeword in the codeword set corresponding to the first RM code or a codeword in the codeword set corresponding to the second RM code.

[0266] During implementation, the second communication device performs a second merging process on the first and second subsequences in the LLR sequence to be decoded to obtain the target sequence to be decoded.

[0267] For example, for the LLR sequence to be decoded y j The first subsequence is The second subsequence is The second communication device performs a second merging process on the first subsequence and the second subsequence to obtain the sequence y″. j (i) can be specifically defined as follows:

[0268] in, This is the decoding result of the reference sequence to be decoded obtained in step 2b.

[0269] In the LLR sequence to be decoded j Corresponding to RM(m,r) code, then y″ j (i) The sequence corresponds to the RM(md-1,rd) code, i.e., y′ j The sequence is a codeword from the codeword set corresponding to the RM(md-1,rd) code; where m is the first parameter, r is the second parameter, and d is the projection order.

[0270] If the target sequence to be decoded corresponds to the first RM code or the second RM code, the second communication device determines that the second merging process has ended, and obtains the target sequence to be decoded corresponding to the first RM code or the second RM code; if the target sequence to be decoded does not correspond to the first RM code or the second RM code, the target sequence to be decoded is updated to a LLR sequence to be decoded. For the updated LLR sequence to be decoded, the second communication device first performs at least one first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained; after obtaining the reference sequence to be decoded corresponding to the first RM code or the second RM code, and based on the decoding result of the reference sequence to be decoded, the first subsequence and the second subsequence of the LLR sequence to be decoded (which is the LLR sequence to be decoded in the last first merging process in at least one first merging process) are subjected to at least one second merging process until the target sequence to be decoded corresponding to the first RM code or the second RM code is obtained.

[0271] 3: The second communication device decodes the target sequence to be decoded to obtain the decoding result corresponding to the projected LLR sequence.

[0272] When the target sequence to be decoded corresponds to the first RM code, the second communication device can use the decoding algorithm corresponding to the first RM code to decode the target sequence to be decoded.

[0273] For example, the first RM code is an SPC code, and the second communication device can use the SPC decoding method to decode the target sequence to be decoded.

[0274] It should be noted that the SPC decoding method can be found in the introduction above, and will not be repeated here.

[0275] When the target sequence to be decoded corresponds to the second RM code, the second communication device can use the decoding algorithm corresponding to the second RM code to decode the target sequence to be decoded.

[0276] For example, the first RM code is a first-order RM code, and the second communication device can use the FHT decoding method to decode the target sequence to be decoded.

[0277] It should be noted that the FHT decoding method can be found in the introduction above, and will not be repeated here.

[0278] In one possible implementation, if the LLR sequence to be decoded is a projected LLR sequence (i.e., the LLR sequence to be decoded is obtained by the above determination method 1), then the second communication device determines the decoding result corresponding to the projected LLR sequence based on the decoding result of the reference sequence to be decoded and the decoding result of the target sequence to be decoded.

[0279] For example, the decoding result corresponding to the projected LLR sequence in, To refer to the decoding results of the sequence to be decoded, The decoding result of the target sequence to be decoded.

[0280] It should be understood that if multiple first-merge processes are performed during the decoding process, the reference to be decoded used to determine the decoding result corresponding to the projected LLR sequence is the decoding result of the reference to be decoded sequence obtained from the last merge process.

[0281] In another possible implementation, if the LLR sequence to be decoded is a sequence obtained by automorphic permutation of the projected LLR sequence (i.e., the LLR sequence to be decoded is obtained by determination method 2 above), the second communication device obtains a reference decoding result based on the decoding result of the reference sequence to be decoded and the decoding result of the target sequence to be decoded, and performs an inverse transformation of the automorphic permutation on the reference decoding result to obtain the decoding result corresponding to the projected LLR sequence.

[0282] The following describes the process by which the second communication device in this application determines the decoding result corresponding to the projected LLR sequence, with reference to Figure 9. This process may specifically include steps 900 to 907.

[0283] Step 900: The second communication device determines the LLR sequence to be decoded corresponding to the projected LLR sequence.

[0284] Step 901: The second communication device performs a first merging process on the first subsequence and the second subsequence of the LLR sequence to be decoded to obtain a reference sequence to be decoded.

[0285] Step 902: The second communication device determines whether the reference sequence to be decoded corresponds to the first RM code or the second RM code; if yes, proceed to step 903; if no, proceed to step 904.

[0286] Step 903: The second communication device performs a second merging process on the first and second subsequences of the LLR sequence to be decoded based on the decoding result of the reference sequence to be decoded, to obtain the target sequence to be decoded.

[0287] Step 904: The second communication device updates the reference sequence to be decoded to the LLR sequence to be decoded, and returns to execute step 901.

[0288] Step 905: The second communication device determines whether the target sequence to be decoded corresponds to the first RM code or the second RM code; if not, proceed to step 906; if yes, proceed to step 907.

[0289] Step 906: The second communication device updates the target sequence to be decoded to the LLR sequence to be decoded, and returns to execute step 901.

[0290] Step 907: The second communication device determines the decoding result corresponding to the projected LLR sequence based on the decoding result of the reference sequence to be decoded and the decoding result of the target sequence to be decoded.

[0291] The decoding result of the reference sequence to be decoded is the reference sequence to be decoded obtained from the last first merging process.

[0292] Step 802: The second communication device aggregates the decoding results corresponding to multiple projected LLR sequences to obtain a second LLR sequence.

[0293] In this embodiment of the application, after the second communication device obtains the decoding result corresponding to each projected LLR sequence based on the above method, it can aggregate the decoding results corresponding to multiple projected LLR sequences to obtain the second LLR sequence.

[0294] It should be understood that after acquiring the first LLR sequence, the second communication device projects the first LLR sequence to obtain multiple projected LLR sequences, and obtains the decoding result corresponding to each projected LLR sequence based on a recursive decoding method with multiple iterations; then, it aggregates the decoding results corresponding to the multiple projected LLR sequences to obtain the second LLR sequence, thus updating the LLR sequence from the first LLR sequence to the second LLR sequence. In the process of obtaining the second LLR sequence from the first LLR sequence, the first LLR sequence can be corrected to obtain a more accurate second LLR sequence.

[0295] After obtaining the decoding result corresponding to each projected LLR sequence, the second communication device can aggregate the decoding results corresponding to multiple projected LLR sequences based on an aggregation algorithm to obtain the second LLR sequence.

[0296] For example, the principle of the aggregation algorithm can be:

[0297] The decoding result corresponding to the projected LLR sequence in each projection subspace is essentially the XOR result of two bits in the codeword sequence to be decoded. Therefore, the first LLR value can be corrected using the decoding result corresponding to the projected LLR sequence in each projection subspace. For example, for projection subspace B... i The decoding result corresponding to its projected LLR sequence is The k-th dimension coordinate is essentially the coordinate of the received codeword sequence. and XOR of two bits.

[0298] because The first LLR sequence is Therefore, the decoding result can be used. and the first LLR sequence To re-estimate The second LLR sequence at position:

[0299] Since each projection subspace has an estimate for each bit, the estimates of the LLR for a certain bit from all projection subspaces can be averaged to update the first LLR sequence, thus obtaining the updated second LLR sequence.

[0300] Step 803: The second communication device obtains the decoding sequence based on the decoding result corresponding to the second LLR sequence and the inverse matrix of the RM code generator matrix.

[0301] After obtaining the second LLR sequence based on the above process, the second communication device in this application embodiment can decode the second LLR sequence to obtain the decoding result corresponding to the second LLR sequence.

[0302] Optionally, the second communication device can perform a hard decision on the second LLR sequence to obtain the decoding result corresponding to the second LLR sequence.

[0303] The second communication device determines the RM code generation matrix, and obtains the decoding sequence based on the decoding result corresponding to the second LLR sequence and the inverse matrix of the RM code generation matrix.

[0304] It should be noted that the method by which the second communication device determines the RM code generation matrix can be found in the encoding method described above, where the first communication device determines the RM code generation matrix, and will not be repeated here.

[0305] The second communication device can obtain the decoding sequence based on the decoding result corresponding to the second LLR sequence and the inverse matrix of the RM code generator matrix. For example, in, For decoding sequence G is the decoding result corresponding to the second LLR sequence. -1 This is the inverse matrix of the RM code generation matrix.

[0306] Step 702: The second communication device performs CRC verification on the decoded sequence. If the verification passes, the information bits in the decoded sequence are obtained.

[0307] After obtaining the decoded sequence, the second communication device can perform a CRC check on the decoded sequence. If the second communication device determines that the check on the decoded sequence passes, the decoding is considered complete, and the second communication device can obtain information bits from the decoded sequence. If the second communication device determines that the check on the decoded sequence fails, the second communication device updates the second LLR sequence to the first LLR sequence and re-executes the decoding process for the updated first LLR sequence until the CRC check on the decoded sequence passes.

[0308] Because this application embodiment introduces a CRC check mechanism in the decoding process, the decoding process can be stopped and the information bits in the decoding sequence can be obtained after the second communication device passes the verification of the decoding sequence; this can reduce the number of unnecessary iterations in the decoding process.

[0309] In addition, the process of obtaining the second LLR sequence from the first LLR sequence in this embodiment is called an iteration process. If the second communication device determines that the number of iterations has reached a set threshold, the decoding process can be stopped, and the decoding result corresponding to the second LLR sequence obtained in the last iteration process can be used as the final decoding result.

[0310] The encoding and decoding method provided in this application, when the first communication device acts as the transmitter, adds CRC check bits to the information sequence, then performs RM code encoding and rate matching, and sends the rate-matched codeword sequence. When the second communication device acts as the receiver, it decodes the rate-matched first LLR sequence using an iterative decoding method. For example, as shown in Figure 10, each iteration is divided into an outer step and an inner step, where the outer step comprises two parts. In each iteration, the first part of the outer step is to project the first LLR sequence onto multiple projection subspaces (e.g., projection order d, number of projection subspaces n). d As shown in Figure 10, the first LLR sequence y is the sequence corresponding to the RM(m,r) code. Projecting the first LLR sequence onto n... d On each projection subspace, n are obtained d n projected LLR sequences; d Each projected LLR sequence is a sequence corresponding to an RM(md,rd) code, as shown in Figure 10 as y1, y2, ..., y... nd The next step is the inner layer, which decomposes each projected LLR sequence into first-order RM codes and / or SPC codes. The decomposition process can be seen in the decomposition diagram shown in the dashed box in Figure 10. The sequences in the decomposition process are represented by their corresponding RM codes. The second communication device can use FHT decoding for first-order RM codes and SPC decoding for SPC codes. The decoding results of each decomposed sub-node are recursively processed to finally complete the decoding of the projected LLR sequence. The last step of each iteration is the second part of the outer layer, which aggregates the decoding results of all projections to obtain the decoded codeword and performs CRC verification on the decoded information bits. If the CRC verification passes, the iteration stops; otherwise, the first LLR sequence is updated, and the next iteration begins. The iteration process continues until the CRC verification passes or the maximum number of iterations is reached.

[0311] The following two specific examples illustrate the decoding method of this application.

[0312] Example 1:

[0313] Obtain the first LLR sequence y (corresponding to the RM(m,r) code), project the first LLR sequence y onto multiple d-dimensional projection subspaces to obtain n. d Projected LLR sequences y j (Corresponding to RM(md,rd) code), its length is 2. m-d , where m is the first parameter of the RM code and d is the projection order.

[0314] For each projected LLR sequence yj The following processes will be executed respectively:

[0315] For the projected LLR sequence y j The first half of the sequence is determined as the first subsequence. The second half of the sequence is determined as the second subsequence. The first subsequence and the second subsequence Perform the first merging process; for example, on the first subsequence and the second subsequence Perform a square-shaped addition operation to obtain the reference sequence to be decoded, y′. j Specifically, it can be defined as:

[0316] Where, y′ j This corresponds to the RM(md-1,rd-1) code.

[0317] If the reference is the sequence to be decoded, y′ j If the code corresponds to the first RM code or the second RM code, then continue with the following process. If referring to the sequence to be decoded, y′... j If it does not correspond to the first RM code or the second RM code, then the decoding sequence y′ will be referenced. j As a projected LLR sequence y j Then, the first merging process is performed again until the determined reference sequence to be decoded, y′, is determined. j It corresponds to the first RM code or the second RM code.

[0318] After obtaining the reference decoding sequence y′ corresponding to the first RM code or the second RM code. j Then, the reference sequence to be decoded, y′ j Decode the code to obtain the decoding result.

[0319] Based on the decoding results For the most recent projected LLR sequence y j the first subsequence of and the second subsequence Perform a second merging process to obtain the target sequence to be decoded, y″. j Specifically, it can be defined as:

[0320] Among them, y″ j This corresponds to the RM(md-1,rd) code.

[0321] If the target sequence to be decoded is y″ jIf the target sequence to be decoded is the first RM code or the second RM code, then continue with the following process. j If it does not correspond to the first RM code or the second RM code, then the target sequence to be decoded, y″, will be... j As a projected LLR sequence y j Then, the first merging process is performed again until the determined reference sequence to be decoded, y′, is determined. j Corresponding to the first RM code or the second RM code; then the second merging operation is performed until the target sequence to be decoded, y″, is determined. j It corresponds to the first RM code or the second RM code.

[0322] After obtaining the target decoding sequence y″ corresponding to the first RM code or the second RM code. j Next, the target sequence to be decoded, y″ j Decode the code to obtain the decoding result.

[0323] Based on the decoding results and the decoding results Obtain the decoding result corresponding to the projection sequence. For example,

[0324] Based on the above process, the decoding results corresponding to each projection sequence are obtained. Then, the above n are aggregated using an aggregation algorithm. d One decoding result Aggregation is performed to obtain the updated second LLR sequence y. The decoding result can then be obtained through hard decision based on the LLR value of each bit in the second LLR sequence y. And generate the inverse matrix G of the matrix based on the RM code. -1 The decoded sequence is calculated. if If the CRC check passes, the decoding is considered complete, and the iteration process terminates; otherwise, the second LLR sequence y is used to enter the next iteration.

[0325] For example, as shown in Figure 11, taking the first LLR sequence y corresponding to the RM(8,3) code as an example, then m = 8, r = 3; and assuming the projection order d = 1, the number of projection subspaces n d =255. Projecting the first LLR sequence y onto 255 projection subspaces yields 255 projected LLR sequences, namely y1, y2, ..., y 255 Each projected LLR sequence corresponds to an RM(7,2) code.

[0326] For each projected LLR sequence, the process shown in the dashed box in Figure 11 is executed respectively:

[0327] Projected LLR sequence y j In Figure 11, denoted by RM(7,2), the projection LLR sequence y j the first subsequence of and the second subsequence The first merging process is performed to obtain the reference sequence to be decoded, y′. j In Figure 11, this is represented by RM(6,1). The reference sequence to be decoded is y′. j Corresponding to the second RM code, the projected LLR sequence y j the first subsequence of and the second subsequence Perform a second merging process to obtain the target sequence to be decoded, y″. j In Figure 11, this is represented by RM(6,2). The target sequence to be decoded is y″. j If it does not correspond to the first RM code or the second RM code, then the target sequence to be decoded, y″, will be... j As the updated projection LLR sequence y j ; for the updated projected LLR sequence y j The first subsequence (denoted as RM(6,2) in Figure 11) and the second subsequence The first merging process is performed to obtain the reference sequence to be decoded, y. j ' is represented by RM(5,1) in Figure 11. Since the reference sequence to be decoded is y' j Corresponding to the second RM code, the projected LLR sequence y j the first subsequence of and the second subsequence Perform a second merging process to obtain the target sequence to be decoded, y″. j In Figure 11, this is represented by RM(5,2). The target sequence to be decoded is y″. j If it does not correspond to the first RM code or the second RM code, then the target sequence to be decoded, y″, will be... j As the updated projection LLR sequence y j ; for the updated projected LLR sequence y j The first subsequence (denoted as RM(5,2) in Figure 11) and the second subsequence The first merging process is performed to obtain the reference sequence to be decoded, y′. j In Figure 11, this is represented by RM(4,1). The reference sequence to be decoded is y′. j Corresponding to the second RM code, the projected LLR sequence y j the first subsequence of and the second subsequence Perform a second merging process to obtain the target sequence to be decoded, y″. j In Figure 11, this is represented by RM(4,2). The target sequence to be decoded is y″. j If it does not correspond to the first RM code or the second RM code, then the target sequence to be decoded, y″, will be... j As the updated projection LLR sequence y j ; for the updated projected LLR sequence y j The first subsequence (denoted as RM(4,2) in Figure 11) and the second subsequence The first merging process is performed to obtain the reference sequence to be decoded, y′. j In Figure 11, this is represented by RM(3,1). The reference sequence to be decoded is y′. j Corresponding to the second RM code, the projected LLR sequence y j the first subsequence of and the second subsequence Perform a second merging process to obtain the target sequence to be decoded, y″. j In Figure 11, this is represented by RM(3,2). The target sequence to be decoded is y″. j Corresponding to the first RM code, the final sequence to be decoded is determined. For the target sequence to be decoded, y″... j (Decoded using RM(3,2) in Figure 11) to obtain the decoding result. And based on the reference sequence to be decoded, y′ j The decoding result (denoted as RM(3,1) in Figure 11) and the decoding results Obtain the projection sequence y j Corresponding decoding result

[0328] For 255 projection sequences y j Corresponding decoding result Aggregation is performed to obtain the updated second LLR sequence y. The decoding result can then be obtained through hard decision based on the LLR value of each bit in the second LLR sequence y. The decoded sequence is obtained by calculating the inverse matrix G-1 of the RM code generator matrix. if If the CRC check passes, the decoding is considered complete, and the iteration process terminates; otherwise, the second LLR sequence y is used to enter the next iteration.

[0329] Example 2:

[0330] Obtain the first LLR sequence y (corresponding to the RM(m,r) code), project the first LLR sequence y onto multiple d-dimensional projection subspaces to obtain n. d Projected LLR sequences y j (Corresponding to RM(md,rd) code), its length is 2. m-d , where m is the first parameter of the RM code and d is the projection order.

[0331] For each projected LLR sequence y j The following processes will be executed respectively:

[0332] Based on the automorphism property of RM codes, for LLR sequences y j Applying permutations to all RM(md,rd) yields p. j =π x (y j ), and based on this, find the optimal replacement for a certain index. In the following description, p will be... j This is called the sequence to be decoded.

[0333] For the sequence p to be decoded j The first half of the sequence is determined as the first subsequence. The second half of the sequence is determined as the second subsequence. The first subsequence and the second subsequence Perform the first merging process; for example, on the first subsequence and the second subsequence Perform a tic-tac-toe addition operation to obtain the reference sequence to be decoded, p′. j Specifically, it can be defined as:

[0334] Where, p′ j This corresponds to the RM(md-1,rd-1) code.

[0335] If the reference sequence to be decoded is p′ j If the code corresponds to the first RM code or the second RM code, then continue with the following process. If the reference is the sequence to be decoded, p′... j If it does not correspond to the first RM code or the second RM code, then the sequence to be decoded, p′, will be referenced. j p, the sequence to be decoded j Then, the first merging process is performed again until the determined reference sequence to be decoded, p′, is obtained. j It corresponds to the first RM code or the second RM code.

[0336] After obtaining the reference decoding sequence p′ corresponding to the first RM code or the second RM code. j Then, the reference sequence to be decoded, p′ jDecode the code to obtain the decoding result.

[0337] Based on the decoding results For the most recent sequence p to be decoded j the first subsequence of and the second subsequence The second merging process is performed to obtain the target sequence to be decoded, p″. j Specifically, it can be defined as:

[0338] Where, p″ j This corresponds to the RM(md-1,rd) code.

[0339] If the target sequence to be decoded is p″ j If the target sequence to be decoded is p″, then the following process continues. j If it does not correspond to the first RM code or the second RM code, then the target sequence to be decoded, p″, will be... j p, the sequence to be decoded j Then, the first merging process is performed again until the determined reference sequence to be decoded, p′, is obtained. j Corresponding to the first RM code or the second RM code; then the second merging operation is performed until the target sequence to be decoded, p″, is determined. j It corresponds to the first RM code or the second RM code.

[0340] After obtaining the target decoding sequence p″ corresponding to the first RM code or the second RM code. j Next, the target sequence to be decoded, p″ j Decode the code to obtain the decoding result.

[0341] Based on the decoding results and the decoding results Obtain the decoding result corresponding to the projection sequence. For example, Then, use the inverse transformation of the automorphism to replace y back. j The corresponding decoding result: in Represents the automorphic permutation π x The inverse permutation of (·).

[0342] Based on the above process, the decoding results corresponding to each projection sequence are obtained. Then, the above n are aggregated using an aggregation algorithm. d One decoding result Aggregation is performed to obtain the updated second LLR sequence y. The decoding result can then be obtained through hard decision based on the LLR value of each bit in the second LLR sequence y. And generate the inverse matrix G of the matrix based on the RM code. -1 The decoded sequence is calculated. if If the CRC check passes, the decoding is considered complete, and the iteration process terminates; otherwise, the second LLR sequence y is used to enter the next iteration.

[0343] Based on the encoding and decoding scheme provided in the application embodiments, since the CRC check bits are added during the encoding process, the second communication device can stop the decoding process after determining that the CRC check has passed during the decoding process. Therefore, the encoding and decoding scheme provided in the application embodiments can effectively reduce the decoding complexity and improve the decoding efficiency. In addition, the second communication device undergoes a subspace projection once during the decoding process, thus greatly reducing the decoding complexity.

[0344] Taking the first LLR sequence y corresponding to the RM(8,3) code as an example, then m=8, r=3; the number of information bits k_1=70, the CRC check bits are 23, and the performance of transmission in a channel with additive white Gaussian noise (AWGN) using quadrature phase shift keying (QPSK) modulation is shown in Figure 12A; where the dashed line represents the decoding performance of related technologies (e.g., recursive projection aggregation (RPA) decoding technology), and the solid line represents the decoding performance of the decoding scheme of this application. As shown in Figure 12B, the decoding complexity corresponding to different decoding technologies is shown. Obviously, when the order is relatively high, the decoding complexity of the decoding scheme provided by this application is greatly reduced; where the dashed line in Figure 12B represents the decoding performance of related technologies (e.g., recursive projection aggregation (RPA) decoding technology), and the solid line represents the decoding performance of the decoding scheme of this application.

[0345] Figure 13 is a schematic diagram of a communication device according to an embodiment of this application. Referring to Figure 13, the communication device can be used to execute the process performed by the first communication device in any of the embodiments described above. For details, please refer to the relevant descriptions in the method embodiments above.

[0346] The communication device 1300 includes a communication unit 1301 and a processing unit 1302.

[0347] The processing unit 1302 is used for data processing. The communication unit 1301 can implement corresponding communication functions. The communication unit 1301 can also be called a communication interface, a communication module, a transceiver unit, or a transceiver module.

[0348] Optionally, the communication device 1300 may further include a storage unit 1303, which may be used to store computer programs or instructions and / or data. The processing unit 1302 may read the computer programs or instructions and / or data in the storage unit 1303 so that the communication device 1300 implements the aforementioned method embodiment.

[0349] The communication device 1300 can be the first communication device in the above embodiment, for example, the first communication device or the communication module in the first communication device, or the circuit or chip in the first communication device that is responsible for the communication function.

[0350] Processing unit 1302 is used to perform processing-related operations on the first communication device side in the above method embodiment. Communication unit 1301 is used to perform transmit / receive-related operations on the first communication device side in the above method embodiment.

[0351] Optionally, the communication unit 1301 may include a sending unit and a receiving unit. The sending unit is used to perform the sending operation in the above method embodiments. The receiving unit is used to perform the receiving operation in the above method embodiments.

[0352] It should be noted that the communication unit 1301 may include a transmitting unit but not a receiving unit. Alternatively, the communication device 1300 may include a receiving unit but not a transmitting unit. Specifically, it depends on whether the above-described scheme executed by the communication device 1300 includes both transmitting and receiving actions.

[0353] Optionally, the communication device 1300 is used to perform the actions performed by the first communication device in any of the above embodiments.

[0354] For example, the communication device 1300 is used to execute the following scheme:

[0355] Processing unit 1302 is used to determine the cyclic redundancy check (CRC) bits based on the number of information bits k1 in the information sequence, where k1 is a positive integer; add CRC bits to the information sequence to obtain the sequence to be encoded; and perform Reed-Muller (RM) encoding on the sequence to be encoded to obtain the codeword sequence.

[0356] The communication unit 1301 is used to transmit the encoded codeword sequence under the control of the processing unit 1302.

[0357] It should be understood that the specific procedures for each module to perform the above-mentioned corresponding processes have been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0358] In one possible design, when the communication device 1300 is a first communication device or a communication module within a first communication device, the function of the processing unit 1302 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The function of the communication unit 1301 can be implemented by transceiver circuitry.

[0359] In one possible design, when the communication device 1300 is a circuit or chip responsible for communication functions in the first communication device, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 1302 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 1301 can be implemented by an interface circuit or data transceiver circuit on the aforementioned chip.

[0360] Figure 14 is a schematic diagram of a communication device according to an embodiment of this application. Referring to Figure 14, the communication device can be used to execute the process performed by the second communication device in any of the embodiments described above. For details, please refer to the relevant descriptions in the method embodiments above.

[0361] The communication device 1400 includes a communication unit 1401 and a processing unit 1402.

[0362] The processing unit 1402 is used for data processing. The communication unit 1401 can implement corresponding communication functions. The communication unit 1401 can also be called a communication interface, a communication module, a transceiver unit, or a transceiver module.

[0363] Optionally, the communication device 1400 may further include a storage unit 1403, which may be used to store computer programs or instructions and / or data. The processing unit 1402 may read the computer programs or instructions and / or data in the storage unit 1403 so that the communication device 1400 implements the aforementioned method embodiment.

[0364] The communication device 1400 can be the second communication device in the above embodiment, for example, the second communication device or the communication module in the second communication device, or the circuit or chip in the second communication device that is responsible for the communication function.

[0365] Processing unit 1402 is used to perform processing-related operations on the second communication device side in the above method embodiment. Communication unit 1401 is used to perform transmit / receive-related operations on the second communication device side in the above method embodiment.

[0366] Optionally, the communication unit 1401 may include a sending unit and a receiving unit. The sending unit is used to perform the sending operation in the above method embodiments. The receiving unit is used to perform the receiving operation in the above method embodiments.

[0367] It should be noted that the communication unit 1401 may include a transmitting unit but not a receiving unit. Alternatively, the communication device 1400 may include a receiving unit but not a transmitting unit. Specifically, it depends on whether the above-described scheme executed by the communication device 1400 includes both transmitting and receiving actions.

[0368] Optionally, the communication device 1400 is used to perform the actions performed by the second communication device in any of the embodiments described above.

[0369] For example, the communication device 1400 is used to execute the following scheme:

[0370] Processing unit 1402 is used to obtain a first log-likelihood ratio (LLR) sequence, which corresponds to a codeword sequence. The codeword sequence is obtained by Reed-Muller RM encoding of the sequence to be encoded, which includes cyclic redundancy check (CRC) bits. The first LLR sequence is decoded to obtain a decoded sequence. The decoded sequence is subjected to CRC verification. If the verification passes, the information bits in the decoded sequence are obtained.

[0371] The communication unit 1401 is used to receive the encoded codeword sequence under the control of the processing unit 1402.

[0372] It should be understood that the specific procedures for each module to perform the above-mentioned corresponding processes have been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0373] In one possible design, when the communication device 1400 is a second communication device or a communication module within a second communication device, the function of the processing unit 1402 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The function of the communication unit 1401 can be implemented by transceiver circuitry.

[0374] In one possible design, when the communication device 1400 is a circuit or chip responsible for communication functions in a second communication device, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 1402 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 1401 can be implemented by an interface circuit or data transceiver circuit on the aforementioned chip.

[0375] It is understood that the division of units in the above-described device is merely a logical functional division. Each function can correspond to a functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated into a single physical entity, or they can be distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed in hardware or software 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.

[0376] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more central processing units (CPUs), one or more microcontroller units (MCUs), 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 integrated circuit forms.

[0377] In one example, the aforementioned storage unit 1303 or storage unit 1403 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.

[0378] Based on the same technical concept as the above method embodiments, this application also provides a communication device, which may be a first communication device or a module or chip within the first communication device. This communication device can be used to implement the functions of the first communication device in the above method embodiments. Alternatively, the communication device may be a second communication device or a module or chip within the second communication device. This communication device can be used to implement the functions of the second communication device in the above method embodiments.

[0379] In some embodiments, the communication device 1500 may have the structure shown in FIG15, including a processor 1501 and a memory 1502 connected to the processor 1501. The processor 1501 and the memory 1502 may be interconnected via a bus. The processor 1501 may be a general-purpose processor, such as a microprocessor, or other conventional processor. The bus may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc.

[0380] Optionally, the communication device 1500 may include one or more processors 1501.

[0381] Optionally, the communication device 1500 may include one or more memory 1502.

[0382] Optionally, the memory 1502 can be integrated with the processor 1501, or it can be set separately.

[0383] The memory 1502 can be used to store software programs and modules. The processor 1501 executes various functional applications and data processing of the communication device 1500 by running the software programs and modules stored in the memory 1502, such as the encoding or decoding methods provided in the embodiments of this application.

[0384] The memory 1502 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, application programs of at least one application, etc.; the data storage area may be used to store user data, etc. In addition, the memory 1502 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0385] The processor 1501 in the communication device 1500 is used to run computer instructions or programs stored in the memory 1502 to perform the functions described in any of the above method embodiments. In some embodiments, the processor 1501 may include one or more processing units, which may be independent devices or integrated into one or more processors. The processor 1501 may also include a controller, which can generate operation control signals according to the instruction opcode and timing signals to control the fetching and execution of instructions.

[0386] In one embodiment, the communication device 1500 may further include a communication module, which can be used to communicate with network devices.

[0387] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the communication device. In other embodiments of this application, the communication device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0388] When the aforementioned communication device is implemented as a chip in the first communication device, as shown in Figure 16, the communication device may include a control unit 1601, a computing unit 1602, and a storage unit 1603. The control unit 1601 is responsible for scheduling and controlling the computing unit and storage resources. The computing unit 1602 is responsible for executing the encoding process; for example, the encoding process executed by the computing unit 1602 includes, but is not limited to: adding CRC check bits to the information sequence, performing RM encoding, and rate matching on the codeword sequence obtained from the RM encoding. The storage unit 1603 is used to store computer instructions or programs.

[0389] When the aforementioned communication device is implemented as a chip in the first communication device, as shown in Figure 17, the communication device may include a control unit 1701, a computing unit 1702, and a storage unit 1703. The control unit 1701 is responsible for scheduling and controlling the computing unit and storage resources. The computing unit 1702 is responsible for executing the decoding process; for example, the decoding process executed by the computing unit 1702 includes, but is not limited to: performing rate matching on the received codeword sequence, performing RM decoding, and performing CRC verification. The storage unit 1703 is used to store computer instructions or programs.

[0390] This application also provides a computer-readable storage medium storing a computer program or instructions for implementing the method executed by the first communication device or the second communication device in the above method embodiments.

[0391] For example, when the computer program or instructions are executed by the computer, the computer can implement the method performed by the first communication device or the second communication device in the above method embodiments.

[0392] This application also provides a computer program product containing a computer program or instructions, which, when executed by a computer, causes the computer to implement the method executed by the first communication device or the second communication device in the above method embodiments.

[0393] This application also provides a communication system, which includes the first communication device and the second communication device described in the above embodiments.

[0394] This application also provides a chip device, including a processor, for calling computer programs or computer instructions stored in the memory to cause the processor to execute the methods provided in any of the above embodiments.

[0395] In one possible implementation, the input of the chip device corresponds to the receiving operation in any of the above embodiments, and the output of the chip device corresponds to the sending operation in any of the above embodiments.

[0396] Optionally, the processor is coupled to the memory via an interface.

[0397] Optionally, the chip device may also include a memory in which computer programs or instructions are stored.

[0398] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of a program that controls the methods provided in any of the above embodiments. The memory mentioned above can be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).

[0399] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the explanations and beneficial effects of the relevant content in any of the communication devices provided above can be referred to the corresponding method embodiments provided above, and will not be repeated here.

[0400] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0401] 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.

[0402] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0403] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the essential contribution of the technical solution of this application, or all or part of the technical solution, can be embodied in the form of a software product. 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.

[0404] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

An encoding method, characterized in that, The method includes: Based on the number of information bits k1 included in the information sequence, determine the cyclic redundancy check (CRC) bits, where k1 is a positive integer; The CRC check bit is added to the information sequence to obtain the sequence to be encoded; The sequence to be encoded is subjected to Reed-Muller RM encoding to obtain a codeword sequence. The method as described in claim 1, characterized in that, The step of performing RM encoding on the sequence to be encoded to obtain a codeword sequence includes: The first parameter is determined based on the number of transmitted bits; wherein the first parameter is related to the code length of the RM code. The second parameter is determined based on the first parameter and the number of bits included in the sequence to be encoded, wherein the second parameter represents the order of the RM code; The RM code generation matrix is ​​determined based on the first parameter and the second parameter; The sequence to be encoded is RM encoded according to the RM code generation matrix to obtain the codeword sequence. The method as described in claim 2, characterized in that, The code length of the RM code corresponding to the first parameter is not less than the number of transmitted bits. The method as described in claim 2 or 3, characterized in that, The first parameter is the smallest code length parameter in the code length parameter set, which includes at least one code length parameter, and the code length of the RM code corresponding to the code length parameter is not less than the number of transmitted bits. The method as described in claim 4, characterized in that, The first parameter satisfies the following condition: Wherein, m represents the first parameter, m′ represents the code length parameters included in the code length parameter set, and 2 m′ The code length of the RM code corresponding to m′ is represented by D, and D represents the number of transmitted bits. The method as described in claim 2, characterized in that, The third parameter is not less than the number of bits included in the sequence to be encoded, wherein the third parameter is determined by the first parameter and the second parameter according to the following conditions: Wherein, K represents the third parameter, m represents the first parameter, and r represents the second parameter. The method as described in claim 6, characterized in that, The second parameter is the smallest candidate order in the candidate order set, which includes at least one candidate order, and the third parameter corresponding to the candidate order is not less than the number of bits included in the sequence to be encoded. The method as described in claim 7, characterized in that, The second parameter satisfies the following condition: Wherein, r represents the second parameter, and r′ represents the candidate orders included in the candidate order set. The third parameter corresponding to r′ is given, and k represents the number of bits included in the sequence to be encoded. The method according to any one of claims 1 to 8, characterized in that, The step of determining the Cyclic Redundancy Check (CRC) bits based on k1 includes: Based on k1 and the first correspondence, the first CRC polynomial is determined; wherein, the first correspondence includes the correspondence between the number of information bits and the CRC polynomial. The CRC check bits are determined based on the information sequence and the first CRC polynomial. A decoding method, characterized in that, The method includes: Obtain the first log-likelihood ratio (LLR) sequence, which corresponds to the codeword sequence. The codeword sequence is obtained by Reed-Muller RM encoding of the sequence to be encoded, which includes cyclic redundancy check (CRC) bits. The first LLR sequence is decoded to obtain a decoded sequence; Perform a CRC check on the decoded sequence. If the check passes, obtain the information bits from the decoded sequence. The method as described in claim 10, characterized in that, The decoding of the first LLR sequence to obtain a decoded sequence includes: The first LLR sequence is projected to obtain multiple projected LLR sequences; Each of the projected LLR sequences is decoded to obtain the decoding result corresponding to each of the projected LLR sequences; The decoding results corresponding to multiple projected LLR sequences are aggregated to obtain a second LLR sequence; The decoding sequence is obtained based on the decoding result corresponding to the second LLR sequence and the inverse matrix of the RM code generator matrix. The method as described in claim 11, characterized in that, The decoding of each projected LLR sequence to obtain the decoding result corresponding to each projected LLR sequence includes: Perform the following operations for each of the projected LLR sequences: Determine the LLR sequence to be decoded corresponding to the projected LLR sequence; The LLR sequences to be decoded are merged to obtain the processed target sequence to be decoded; the target sequence to be decoded corresponds to a first RM code or a second RM code; the difference between the first parameter and the second parameter of the first RM code is a first value, the second parameter of the second RM code is a second value, the first parameter is related to the code length of the RM code, and the second parameter represents the order of the RM code; The target sequence to be decoded is decoded to obtain the decoding result corresponding to the projected LLR sequence. The method as described in claim 12, characterized in that, Determining the LLR sequence to be decoded corresponding to the projected LLR sequence includes: Use the projected LLR sequence as the LLR sequence to be decoded; or The projected LLR sequence is subjected to an automorphic permutation to obtain the LLR sequence to be decoded. The method as described in claim 12 or 13, characterized in that, The step of merging the LLR sequences to be decoded to obtain the processed target sequence to be decoded includes: The first subsequence and the second subsequence of the LLR sequence to be decoded are combined to obtain a reference sequence to be decoded corresponding to the first RM code or the second RM code. Based on the decoding result of the reference sequence to be decoded, a second merging process is performed on the first subsequence and the second subsequence of the LLR sequence to be decoded to obtain the target sequence to be decoded corresponding to the first RM code or the second RM code. The method as described in claim 14, characterized in that, The first merging process of the first and second subsequences of the LLR sequence to be decoded to obtain a reference sequence to be decoded corresponding to the first RM code or the second RM code includes: The first subsequence and the second subsequence in the LLR sequence to be decoded are subjected to the first merging process to obtain the reference sequence to be decoded. When the reference sequence to be decoded does not correspond to the first RM code or the second RM code, the reference sequence to be decoded is updated to the LLR sequence to be decoded; the first subsequence and the second subsequence in the updated LLR sequence to be decoded are subjected to the first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained. The method as described in claim 14 or 15, characterized in that, The step of performing a second merging process on the first and second subsequences of the LLR sequence to be decoded based on the decoding result of the reference sequence to be decoded, to obtain the target sequence to be decoded corresponding to the first RM code or the second RM code, includes: Based on the decoding result of the reference sequence to be decoded, the first subsequence and the second subsequence of the LLR sequence to be decoded are subjected to the second merging process to obtain the target sequence to be decoded; When the target sequence to be decoded does not correspond to the first RM code or the second RM code, the target sequence to be decoded is updated to the LLR sequence to be decoded; the first subsequence and the second subsequence in the updated LLR sequence to be decoded are subjected to the first merging process until a reference sequence to be decoded corresponding to the first RM code or the second RM code is obtained; and according to the decoding result of the reference sequence to be decoded, the first subsequence and the second subsequence of the LLR sequence to be decoded are subjected to the second merging process until a target sequence to be decoded corresponding to the first RM code or the second RM code is obtained. The method according to any one of claims 10 to 16, characterized in that, The method further includes: The first parameter is determined based on the number of transmitted bits; wherein the first parameter is related to the code length of the RM code. The second parameter is determined based on the first parameter and the number of bits included in the sequence to be encoded, wherein the second parameter represents the order of the RM code; The RM code generation matrix is ​​determined based on the first parameter and the second parameter. The method as described in claim 17, characterized in that, The code length of the RM code corresponding to the first parameter is not less than the number of transmitted bits. The method as described in claim 17 or 18, characterized in that, The first parameter is the smallest code length parameter in the code length parameter set, which includes at least one code length parameter, and the code length of the RM code corresponding to the code length parameter is not less than the number of transmitted bits. The method as described in claim 19, characterized in that, The first parameter satisfies the following condition: Wherein, m represents the first parameter, m′ represents the code length parameters included in the code length parameter set, and 2 m′ The code length of the RM code corresponding to m′ is represented by D, and D represents the number of transmitted bits. The method as described in claim 17, characterized in that, The third parameter is not less than the number of bits included in the sequence to be encoded, wherein the third parameter is determined by the first parameter and the second parameter according to the following conditions: Wherein, K represents the third parameter, m represents the first parameter, and r represents the second parameter. The method as described in claim 21, characterized in that, The second parameter is the smallest candidate order in the candidate order set, which includes at least one candidate order, and the third parameter corresponding to the candidate order is not less than the number of bits included in the sequence to be encoded. The method as described in claim 22, characterized in that, The second parameter satisfies the following condition: Wherein, r represents the second parameter, and r′ represents the candidate orders included in the candidate order set. The third parameter corresponding to r′ is given, and k represents the number of bits included in the sequence to be encoded. The method as described in any one of claims 10 to 23, characterized in that, The CRC check of the decoded sequence includes: The first CRC polynomial is determined based on the number of information bits k1 in the information sequence and the first correspondence; wherein the first correspondence includes the correspondence between the number of information bits and the CRC polynomial. The decoded sequence is subjected to CRC verification based on the first CRC polynomial. A communication device, characterized in that, It includes modules or units for performing the method as described in any one of claims 1 to 9, or modules or units for performing the method as described in any one of claims 10 to 24. A communication device, characterized in that, It includes one or more processors; the one or more processors are configured to execute a computer program in memory, causing the communication device to perform the method as described in any one of claims 1 to 9, or to cause the communication device to perform the method as described in any one of claims 10 to 24. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by a computer, implement the method as described in any one of claims 1 to 9, or the method as described in any one of claims 10 to 24. A computer program product, characterized in that, The computer program product includes a computer program or instructions that, when read and executed by a computer, cause the computer to perform the method as described in any one of claims 1 to 9, or the method as described in any one of claims 10 to 24.