A communication method and apparatus

CN122845017APending Publication Date: 2026-09-29HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510370539.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-26
Publication Date
2026-09-29

AI Technical Summary

Benefits of technology

[0057]第八方面,本申请还提供了一种芯片或芯片系统,包括一个或多个处理器,所述处理器与至少一个存储器耦合,用于读取并执行所述存储器中存储的程序指令,以使所述芯片或芯片系统实现上述第一方面或第一方面任一种可能的设计中,或上述第二方面或第二方面任一种可能的设计中所述的方法。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122845017A_ABST
    Figure CN122845017A_ABST
Patent Text Reader

Abstract

A communication method and device are used to improve encoding and decoding performance. The method comprises: performing polar code encoding on a sequence of information bits with a length of K according to a first matrix to obtain a sequence of encoded bits with a length of N, and outputting the sequence of encoded bits. The first matrix corresponds to a code length of N and a number of information bits of K, and the first matrix is determined based on a first sub-matrix and a second sub-matrix; the first sub-matrix corresponds to a code length of N1 and a number of information bits of K1; the second sub-matrix corresponds to a code length of N-N1 and a number of information bits of K-K1; when the value of N is a first value and the value of K is a second value, the first value and the second value correspond to at least one value of K1 together; different values of K1 correspond to different first sub-matrices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Polar codes have been selected as the control channel coding scheme in the 5G communication standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, possessing advantages such as good decoding performance and low complexity. The polar code encoding process includes several polar kernel operations. Each polar kernel operation requires encoding multiple input bits through the matrix corresponding to the polar kernel to obtain output bits. The output bits from different polar kernel operations are coupled to obtain the polar code encoding result.

[0003] Currently, how to construct polarization kernels to improve encoding and decoding performance is a technical problem that urgently needs to be solved. Summary of the Invention

[0004] This application provides a communication method and apparatus to improve encoding and decoding performance.

[0005] Firstly, this application provides a communication method applicable to a communication device, which can be a first communication equipment or a component (e.g., a processor, chip, chip system, circuit, component, module, or functional module) for the first communication equipment. The component for the first communication equipment can be within the first communication equipment or can be independent of the first communication equipment but coupled to it. The first communication equipment can be a terminal device or a network device. Exemplarily, the chip or chip system can be, for example, a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip. The method can include: polar coding an information bit sequence of length K according to a first matrix to obtain an encoded bit sequence of length N, and outputting the encoded bit sequence. Wherein, the code length corresponding to the first matrix is ​​N, the number of information bits corresponding to the first matrix is ​​K, and the first matrix is ​​determined based on the first sub-matrix and the second sub-matrix; the code length corresponding to the first sub-matrix is ​​N1, the number of information bits corresponding to the first sub-matrix is ​​K1, the code length corresponding to the second sub-matrix is ​​N-N1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1; wherein, when the value of N is a first value and the value of K is a second value, the first value and the second value together correspond to at least one value of K1; different values ​​of K1 correspond to different first sub-matrixes; N, K, N1 and K1 are positive integers, N is greater than N1, and K is greater than K1.

[0006] Based on the above communication method, the first matrix can be a matrix corresponding to a suitable polarization kernel constructed based on N and K. Thus, the first communication device performs polar code encoding on the information bit sequence according to the first matrix. Polar code encoding can be performed using a suitable matrix, thereby improving encoding and decoding performance.

[0007] In one possible design, when N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1, including: when N is the first value and K is the second value, the first value and the second value together correspond to at least two values ​​of K1. This allows for adaptation to various bitrates under the same N and K values, while ensuring that the performance is optimal when one of the multiple K1 values ​​is chosen.

[0008] In one possible design, when N is the first value and K is the second value, one of the at least two values ​​of K1 is determined according to preset rules and / or channel conditions. This allows for the selection of a K1 value that optimizes performance from among multiple possible K1 values.

[0009] In one possible design, at least one of N1 and N-N1 is not an integer power of 2. Using non-integer polarization kernels that are not integer powers of 2 allows for a more flexible and higher-performance construction compared to constructing with regular polarization kernels where N1 and N-N1 are both integer powers of 2.

[0010] In one possible design, when K is the second value, the value of K1 is related to the range of values ​​of N; or, when N is the first value, the value of K1 is related to the range of values ​​of K. This allows for adaptation to various bitrates with the same N and K, thereby ensuring that the optimal performance is achieved when one of the multiple K1 values ​​is chosen.

[0011] In one possible design, the value of K1 is related to the value range of N. This can include: when the value of N belongs to the i-th value range, the value of K1 is the i-th value; when the value of N belongs to the (i+1)-th value range, the value of K1 is the (i+1)-th value. Here, i is an integer from 1 to s, s is a positive integer, the i-th value is greater than the (i+1)-th value, the lower bound of the i-th value range is less than or equal to the lower bound of the (i+1)-th value range, and the upper bound of the i-th value range is less than or equal to the upper bound of the (i+1)-th value range. The i-th value, the i-th value range, and s are related to K. In this way, for different N values, only the value range of K1 needs to be stored, reducing storage complexity.

[0012] In one possible design, the value of K1 is related to the range of values ​​to which the value of K belongs. This can include: when the value of K belongs to the j-th value range, the value of K1 is the j-th value; when the value of K belongs to the (j+1)-th value range, the value of K1 is the (j+1)-th value. Here, j is an integer from 1 to t, t is a positive integer, the j-th value is less than the (j+1)-th value, the lower bound of the j-th value range is less than or equal to the lower bound of the (j+1)-th value range, and the upper bound of the j-th value range is less than or equal to the upper bound of the (j+1)-th value range. The j-th value, the j-th value range, and t are related to N. In this way, for different K values, only the value range of each K1 needs to be stored, reducing storage complexity.

[0013] In a possible design, N<2 K -1, N<2 N-K -1, K3<K<N-K2, where K2 and K3 are positive integers. This enables polarization code encoding using the first matrix when N and K satisfy certain conditions, so as to achieve better encoding performance.

[0014] In a possible design, 3<K<N-3. Under this condition, performing polarization code encoding using the first matrix can achieve better encoding performance.

[0015] In a possible design, the value of N1 is or Under this condition, the storage complexity of N1 can be reduced, and generally good encoding performance can be obtained.

[0016] In a possible design, max(0,K-N+N1)≤K1≤K / 2. Thus, the K1 allocation scheme obtained for different values of N1 can achieve superior encoding and decoding performance.

[0017] In a possible design, the first matrix satisfies:

[0018] wherein G N represents the first matrix, represents the first submatrix, and G N-N1 represents the second submatrix;

[0019] wherein N1≤N-N1, and P is a matrix formed by N1 columns of ; or, when N1>N-N1, the matrix formed by N-N1 columns of P is G N-N1 .

[0020] Based on the above method, the first matrix can be obtained by coupling the top min{N1,N-N1} rows of the first submatrix and the second submatrix, so that polarization encoding is performed based on the first matrix, which achieves superior encoding performance compared with encoding using a regular polarization kernel.

[0021] In a possible design, N≥17. This enables construction of non-regular polarization kernels with a code length greater than 17.

[0022] In a possible design, 17≤N≤32 or 33≤N≤64. This enables construction of non-regular polarization kernels with code lengths from 17 to 32 and code lengths from 33 to 64.

[0023] Secondly, this application provides a communication method that can be applied to a communication device, which can be a second communication equipment or a component (e.g., a processor, chip, chip system, circuit, component, module, or functional module, etc.) for the second communication device. The component for the second communication device can be within the second communication device or can be independent of the second communication device but coupled to it. The second communication device can be a terminal device or a network device. Exemplarily, the chip or chip system can be, for example, a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core. The method may include: acquiring a sequence to be decoded; decoding the sequence to be decoded according to a first matrix to obtain a decoded bit sequence; the first matrix has a code length of N and a number of information bits of K, and the first matrix is ​​determined based on a first sub-matrix and a second sub-matrix; the first sub-matrix has a code length of N1 and a number of information bits of K1, the second sub-matrix has a code length of N-N1 and a number of information bits of K-K1; wherein, when N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1; different values ​​of K1 correspond to different first sub-matrixes; N, K, N1, and K1 are positive integers, N is greater than N1, and K is greater than K1.

[0024] Based on the above communication method, the first matrix can be constructed based on N and K to correspond to a suitable polarization kernel. The second communication device can then decode the sequence to be decoded according to the first matrix. By using a suitable matrix for decoding, the decoding performance can be improved.

[0025] In one possible design, when N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1, including: when N is the first value and K is the second value, the first value and the second value together correspond to at least two values ​​of K1.

[0026] In one possible design, when N is the first value and K is the second value, one of the at least two values ​​of K1 is determined according to preset rules and / or channel conditions.

[0027] In one possible design, at least one of N1 and N-N1 is not an integer power of 2.

[0028] In one possible design, when the value of K is the second value, the value of K1 is related to the range of values ​​to which the value of N belongs; or, when the value of N is the first value, the value of K1 is related to the range of values ​​to which the value of K belongs.

[0029] In one possible design, the value of K1 is related to the value range of N, and may include: when the value of N belongs to the i-th value range, the value of K1 is the i-th value; when the value of N belongs to the (i+1)-th value range, the value of K1 is the (i+1)-th value; wherein i is an integer from 1 to s, s is a positive integer, the i-th value is greater than the (i+1)-th value, the lower bound of the i-th value range is less than or equal to the lower bound of the (i+1)-th value range, the upper bound of the i-th value range is less than or equal to the upper bound of the (i+1)-th value range, and the i-th value, the i-th value range, and s are related to K.

[0030] In one possible design, the value of K1 is related to the range of values ​​to which the value of K belongs, and may include: when the value of K belongs to the j-th value range, the value of K1 is the j-th value; when the value of K belongs to the (j+1)-th value range, the value of K1 is the (j+1)-th value; wherein, j is an integer from 1 to t, t is a positive integer, the j-th value is less than the (j+1)-th value, the lower bound of the j-th value range is less than or equal to the lower bound of the (j+1)-th value range, the upper bound of the j-th value range is less than or equal to the upper bound of the (j+1)-th value range, and the j-th value, the j-th value range, and t are related to N.

[0031] In one possible design, N < 2 K -1, N < 2 N-K -1, K3 < K < N-K2, where K2 and K3 are positive integers.

[0032] In one possible design, 3 <K<N-3。

[0033] In one possible design, N1 takes the value of or

[0034] In one possible design, max(0,K-N+N1)≤K1≤K / 2.

[0035] In one possible design, the first matrix satisfies:

[0036] Among them, G N Represents the first matrix, Let G represent the first submatrix. N-N1This represents the second submatrix;

[0037] Where N1≤N-N1, P is The matrix consisting of N1 columns of P; or, if N1 > N-N1, the matrix consisting of N-N1 columns of P is G. N-N1 .

[0038] In one possible design, N ≥ 17.

[0039] In one possible design, 17≤N≤32 or 33≤N≤64.

[0040] The beneficial effects involved in the various possible designs in the second aspect can be referred to the various possible designs in the first aspect.

[0041] Thirdly, this application also provides a communication device, which can be a first communication device or a component (e.g., a processor, chip, chip system, circuit, component, module, or functional module, etc.) for the first communication device. The component for the first communication device can be within the first communication device or can be independent of the first communication device but coupled to it. The first communication device can be a terminal device or a network device. Exemplarily, the chip or chip system can be, for example, a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core. The communication device has the functionality to implement the methods described in the first aspect or various possible design examples of the first aspect.

[0042] In one possible design, the communication device may include modules or units that perform the methods / operations / steps / actions described in the first aspect. These modules or units may be hardware circuits, software, or a combination of hardware circuits and software.

[0043] In one possible design, the communication device may include a processing unit, and optionally a transceiver unit, which may perform the functions of the methods described in the first aspect or various possible design examples of the first aspect, which will not be elaborated here.

[0044] In one possible design, the communication device may include a processor for executing a computer program (or computer-executable instructions) stored in memory, and / or causing the communication device to perform the methods as described in the first aspect and various possible designs of the first aspect via logic circuitry.

[0045] In one possible design, the communication device may also include a memory.

[0046] In one possible design, the memory can be integrated with the processor, or the memory and processor can be separate.

[0047] In one possible design, the communication device may further include a communication interface for communicating with other devices, such as transmitting or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, input / output interface, or other types of communication interface.

[0048] Fourthly, this application also provides a communication device, which can be a second communication device or a component (e.g., a processor, chip, chip system, circuit, component, module, or functional module, etc.) for a second communication device. The component for the second communication device can be within the second communication device or can be independent of the second communication device but coupled to it. The second communication device can be a terminal device or a network device. Exemplarily, the chip or chip system can be, for example, a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core. The communication device has the functionality to implement the methods described in the second aspect or various possible design examples of the second aspect.

[0049] In one possible design, the communication device may include modules or units that perform the methods / operations / steps / actions described in the first aspect. These modules or units may be hardware circuits, software, or a combination of hardware circuits and software.

[0050] In one possible design, the communication device may include a processor for executing a computer program (or computer-executable instructions) stored in memory, and / or causing the communication device to perform the methods as described in the first aspect and various possible designs of the first aspect via logic circuitry.

[0051] In one possible design, the communication device may also include a memory.

[0052] In one possible design, the memory can be integrated with the processor, or the memory and processor can be separate.

[0053] In one possible design, the communication device may further include a communication interface for communicating with other devices, such as transmitting or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, input / output interface, or other types of communication interface.

[0054] Fifthly, embodiments of this application provide a communication system, which may include a first communication device and a second communication device. The first communication device can be used to implement the methods described in the first aspect or various possible design examples of the first aspect. The second communication device can be used to implement the methods described in the second aspect or various possible design examples of the second aspect.

[0055] Sixthly, embodiments of this application provide a computer-readable storage medium storing program instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect and any possible design of the embodiments of this application, or in the second aspect and any possible design. Exemplarily, the computer-readable storage medium can be any available medium accessible to a computer. For example, but not limited to, a computer-readable medium can include a non-transient computer-readable medium, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disk storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.

[0056] In a seventh aspect, embodiments of this application provide a computer program product, including a computer program or instructions, which, when executed on a computer, cause the method described in the first aspect or any possible design of the first aspect, or in the second aspect or any possible design of the second aspect, to be performed.

[0057] Eighthly, this application also provides a chip or chip system including one or more processors, the processors being coupled to at least one memory for reading and executing program instructions stored in the memory to enable the chip or chip system to implement the method described in the first aspect or any possible design of the first aspect, or in the second aspect or any possible design of the second aspect.

[0058] For the various aspects of the third to eighth aspects mentioned above, and the technical effects that each aspect may achieve, please refer to the above description of the technical effects that can be achieved for the first aspect or the various possible solutions in the first aspect, or the second aspect or the various possible solutions in the second aspect, which will not be repeated here. Attached Figure Description

[0059] Figure 1 A schematic diagram of the architecture of a communication system provided in this application;

[0060] Figure 2 A schematic diagram illustrating the processing flow of the information source and destination provided in this application;

[0061] Figure 3a A schematic diagram of a polarization coding scheme provided in this application;

[0062] Figure 3b This is a schematic diagram of a serial cancellation decoding method provided in an embodiment of this application;

[0063] Figure 3c This is a schematic diagram of a serial cancellation list decoding method provided in an embodiment of this application;

[0064] Figure 4 A flowchart illustrating a communication method provided in this application;

[0065] Figure 5a A coupling diagram of a first matrix provided in this application;

[0066] Figure 5b A schematic diagram of a first matrix provided in this application;

[0067] Figure 6a A coupling diagram of a first matrix provided in this application;

[0068] Figure 6b A schematic diagram of a first matrix provided in this application;

[0069] Figure 7 A flowchart illustrating another communication method provided in this application;

[0070] Figure 8 A schematic diagram of a [7,3] simplex code provided in this application;

[0071] Figure 9 A schematic diagram of the encoding matrix of a code [E=16,3] obtained by extending the [7,3] simplex code according to this application;

[0072] Figure 10 A schematic diagram of a [7,4] Hamming code provided for this application;

[0073] Figure 11 A schematic diagram of the encoding matrix of a code of [16,13] obtained by extending the [7,4] Hamming code to provide for this application;

[0074] Figure 12 A schematic diagram of the structure of a communication device provided in this application;

[0075] Figure 13 A structural diagram of a communication device provided in this application. Detailed Implementation

[0076] This application provides a communication method and apparatus to improve encoding and decoding performance. The method and apparatus described in this application are based on the same technical concept. Since the principles by which the method and apparatus solve the problem are similar, their implementations can be mutually referenced, and repeated details will not be elaborated further.

[0077] In the description of this application, the terms "first," "second," etc., are used only for the purpose of distinguishing descriptions and should not be construed as indicating or implying relative importance or order.

[0078] In the description of this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.

[0079] In the description of this application, "and / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. " / " means "or", for example, a / b means a or b.

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

[0081] To more clearly describe the technical solutions of the embodiments of this application, the communication methods and devices provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0082] The technical solutions in this application embodiment can be applied to various communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, wireless fidelity (Wi-Fi or WiFi), Bluetooth, etc.), wired networks, integrated sensing and communication (ISAC), vehicle to everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, machine-to-machine (M2M) communication systems, machine-type communication (MTC), Internet of Things (IoT), 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, and Worldwide Interoperability for Microwave. No restrictions are imposed on WiMAX (Wi-Fi) communication systems, 5G (5th generation) mobile communication systems (such as New Radio (NR) systems), future evolution communication systems, or other similar communication systems.

[0083] For example, Figure 1 A schematic diagram of the architecture of a possible communication system applicable to embodiments of this application is shown. For example... Figure 1 As shown, the communication system 10 may include a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 10 may also include the Internet 300.

[0084] RAN 100 includes at least one RAN node (such as...) Figure 1 110a and 110b (collectively referred to as 110) and at least one terminal device (such as Figure 1RAN 100, denoted as RAN 120a-120j, is collectively referred to as RAN 120. RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 1 (Not shown in the image). Terminal device 120 is connected to RAN node 110 wirelessly. RAN node 110 is connected to core network 200 wirelessly or via wired connection. The core network equipment in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.

[0085] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future-oriented evolution systems. RAN 100 can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a WiFi system. RAN 100 can also be a communication system that integrates two or more of the above systems.

[0086] RAN node 110, sometimes referred to as RAN entity or access node, constitutes part of the communication system and assists terminal devices in achieving wireless access. Multiple RAN nodes 110 in communication system 10 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and terminal device 120 are relative, for example... Figure 1 Network element 120i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminals 120j that access RAN 100 through network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal device. RAN node 110 and terminal device 120 are sometimes referred to as communication devices, for example... Figure 1 Network elements 110a and 110b can be communication devices with base station functions, while network elements 120a-120j can be communication devices with terminal equipment functions.

[0087] RAN nodes can also be referred to in different ways, such as network devices. Unless otherwise specified in this application, network devices will be used as the term.

[0088] In one possible scenario, network equipment can also be called access network equipment. Access network equipment can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system, etc. Access network equipment can also be a macro base station (such as...). Figure 1 110a), micro base stations or indoor stations (such as Figure 1 The access network device can be a relay node or donor node (as described in 110b), or a wireless controller in a CRAN scenario. Optionally, the access network device can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network device in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the access network device in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The access network device in this application can also be a logical node, logical module, or software capable of implementing all or part of the access network device functions.

[0089] In another possible scenario, multiple access network devices collaborate to assist terminal devices in achieving wireless access, with each access network device performing a portion of the base station's functions. For example, the access network devices can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and DU can be configured separately or included in the same network element, such as a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0090] In some implementations, access network devices may include CUs (Control Units) and DUs (Devices). A CU can be associated with one or more DUs. Access network devices including CUs and DUs decompose the protocol layers of the gNB in ​​the NR system. Some protocol layer functions are centrally controlled by the CU, while the remaining partial or complete protocol layer functions are distributed in the DUs, which are centrally controlled by the CU. In a typical protocol stack partitioning scheme, the CU includes radio resource control (RRC), the packet data convergence protocol (PDCP) corresponding to the control plane, and the service data adaptation protocol (SDAP). The DU includes the radio link control (RLC) layer, the media access control (MAC) layer, and the physical (PHY) layer.

[0091] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called an open CU (O-CU), DU can also be called an open DU (O-DU), CU-CP can also be called an open CU-CP (O-CU-CP), CU-UP can also be called an open CU-UP (O-CU-UP), and RU can also be called an open RU (O-RU). Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.

[0092] Terminal equipment can also be called user equipment (UE), mobile station, mobile terminal, etc. Terminal equipment can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminal devices can include mobile phones, tablets, computers with wireless transceiver capabilities, laptops, handheld computers, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle equipment (such as cars, bicycles, electric vehicles, airplanes, helicopters, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, drones, robots, robotic arms, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), workshop equipment, wireless terminals in autonomous driving, wireless terminals in telemedicine, and smart grids. Wireless terminals can be used in various applications, including wireless terminals in grids, transportation safety, smart cities, smart homes, and flying devices (e.g., intelligent robots, hot air balloons, drones, airplanes). Terminal devices can also be vehicle-mounted devices (e.g., complete vehicle units, vehicle-mounted modules, vehicle-mounted chips, on-board units (OBUs), or telematics boxes (T-BOXs)). Terminal devices can also be other devices with terminal functions; for example, a terminal device can function as a terminal in D2D communication. The embodiments of this application do not limit the form of the terminal device. The device used to implement the function of the terminal device can be the terminal device itself; it can also be a device that supports the terminal device in implementing that function, such as a chip system. This device can be installed in the terminal device or used in conjunction with the terminal device. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete components.All or part of the functions of the terminal device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).

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

[0094] In some scenarios, network devices can send downlink signals to terminal devices, and terminal devices can send uplink signals to network devices. Additionally, network devices can communicate with each other, and terminal devices can also communicate with each other.

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

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

[0097] Optionally, the communication system 10 provided in this application may also include an artificial intelligence (AI) network element for implementing some or all AI-related operations. The AI ​​network element may also be referred to as an AI node, AI device, AI entity, AI module, AI model, or AI unit, etc. The AI ​​network element may be built into a network element within the communication system. For example, the AI ​​network element may be an AI module built into: access network equipment, core network equipment, cloud server, or operation, administration, and maintenance (OAM) to implement AI-related functions. The OAM may act as the network management system for the core network equipment and / or the access network equipment. Alternatively, the AI ​​network element may also be an independently configured network element within the communication system. Optionally, the terminal device or its built-in chip may also include an AI entity for implementing AI-related functions.

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

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

[0100] (1) Channel coding and channel decoding

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

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

[0103] There are various channel coding methods, such as using polar codes or low-density parity-check (LDPC) codes. Polar codes were chosen as the control channel coding method in the 5G standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, and have the advantages of good decoding performance and low complexity. LDPC codes were chosen as the data channel coding method in the 5G standard. LDPC codes are linear block codes with a sparse parity-check matrix, exhibiting good performance approaching the Shannon limit, low decoding complexity, and flexible structure.

[0104] (2) Modulation and demodulation

[0105] See Figure 2 As shown, the transmitting end can also map the encoded bit sequence to the modulation symbol sequence, and then transmit the modulation symbol sequence; correspondingly, the receiving end can receive the modulation symbol sequence and then demodulate it to obtain the symbol sequence to be decoded.

[0106] Modulation refers to the process by which the transmitting end maps the encoded bit sequence to a constellation based on a constellation diagram to obtain a modulated symbol sequence. Demodulation is the inverse process of modulation. Common modulation methods include quadrature amplitude modulation (QAM) and amplitude shift keying (ASK) modulation.

[0107] (3) Information bit sequence

[0108] An information bit sequence refers to a sequence of bits to be transmitted. For example, if the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the resulting information bit sequence is 10101100101. In this application, K represents the length of the information bit sequence. The information bits may include payload bits. Optionally, the information bits may also include check bits, such as cyclic redundancy check (CRC) bits.

[0109] (4) Code length

[0110] Code length refers to the length of the bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence. In this application, N represents the code length.

[0111] (5) Bitrate

[0112] The code rate is the ratio of the length of the information bit sequence to the code length. In this application, R represents the code rate, for example, R = K / E, where E equals N (i.e., N is the code length without rate matching) when there is no rate matching in the encoding process, and E is the code length of the bit sequence obtained after rate matching when rate matching is required in the encoding process.

[0113] The length, code length, and code rate of the information bit sequence can be pre-configured by higher-layer signaling, MAC layer signaling, or downlink physical layer signals, and can also be obtained or calculated by the transmitting and receiving ends. For example, the transmitting and receiving ends can determine the code length based on the coding method, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting and receiving ends can obtain the code rate based on higher-layer signaling, MAC layer signaling, or downlink physical layer signals, or determine the code rate based on the modulation and coding scheme (MCS).

[0114] (6) Rate matching

[0115] Rate matching refers to removing some bits from the encoded bit sequence without transmitting them, or repeating some bits.

[0116] The rate matching method will be further explained in three categories below.

[0117] Punching: Punching refers to directly creating holes in certain bit positions within the encoded bit sequence without transmitting them, thus generating bit sequences of arbitrary length. On the decoding side, since there is no information at the corresponding punctured positions, the log-likelihood ratio (LLR) of the corresponding bit is set to 0.

[0118] Shortening: Shortening involves fixing certain bit positions in the encoded bit sequence so that they do not need to be transmitted. On the decoding side, since the corresponding "shortened" positions are known at the receiver (usually 0), the LLR of the corresponding bit is set to infinity.

[0119] Repetition: "Repetition" refers to obtaining a longer bit sequence by repeatedly sending a portion of the encoded bit sequence.

[0120] Taking polar codes as an example, when using a regular polar kernel, the encoding length (i.e., the mother code length) of a polar code is an integer power of 2. In practical applications, the required length may be a non-encoded length. In this case, it is necessary to remove some bits from the encoded bit sequence without transmitting them, or to repeatedly transmit some bits.

[0121] (7) Polar codes

[0122] (7.1) Polar code encoding

[0123] In the application itself, polar code encoding can also be called polar coding; the two descriptions can be used interchangeably.

[0124] Polar codes employ encoding strategies that utilize noiseless channels to transmit useful user information, or utilize noisy channels to transmit agreed-upon information or no information at all. The generator matrix of a polar code is G. N Its encoding process is as follows x1 N It is the encoded bit sequence (also called a codeword). It is a binary row vector with length N. With the generating matrix G N After multiplication, we get the encoded bit sequence; the multiplication process is the encoding process.

[0125] During the encoding process of polar codes, A portion of the bits in the set is used to carry information and is called the information bit set, denoted by A. The other portion of the bits is set to fixed values ​​agreed upon by the receiver and transmitter, called the fixed bit set or frozen bit set. The set of indices of the bits in the frozen bit set is denoted by the complement A of A. c These freeze bits are typically set to 0, but they can be set arbitrarily as long as the receiver and sender agree in advance.

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

[0127] For example, Figure 3a An 8×8 polarization transformation matrix is ​​shown, where the left side can be understood as the encoding side, with bits on the left denoted by u, and the right side can be understood as the encoding side (or codeword side), with bits on the right denoted by x. The process from left to right represents the encoding of the bit sequence at the transmitting end. The information bits to be encoded are represented by the sequence u(0, 0, 0, 0, 0, 0, 1, 1). After the polarization transformation matrix, the encoded bits are represented by the sequence x(0, ​​1, 0, 1, 0, 1, 0, 1). Then, x is mapped to modulation symbols for transmission on channel W. Bits corresponding to high channel reliability are used to map information bits, and bits corresponding to low channel reliability are used to map frozen bits. For example... Figure 3a As shown, {u0, u1, u2, u4} are frozen bits, i.e., the positions of frozen bits, and {u3, u5, u6, u7} are information bits, i.e., the positions of information bits. In this embodiment of the application, information bits can also be called information bits, and frozen bits can also be called frozen positions.

[0128] Understandably, the value of the frozen bit can be 0 or 1. Figure 3a The example given is that all frozen bits are 0. Figure 3a In the given information, u0 = 0, u1 = 0, u2 = 0, u4 = 0.

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

[0130] (7.2) Polarized nuclei

[0131] Polar coding involves several polarization kernel operations. Let's continue with... Figure 3a For example, any dashed rectangle represents a polarization kernel operation process. The polarization kernel operation process can be understood as multiplying multiple input bits by the matrix corresponding to the polarization kernel to obtain the output bits. (Example illustration) Figure 3a The polarization nucleus in the diagram is the Arikan polarization nucleus, and the matrix corresponding to this polarization nucleus is... That is, in Figure 3a In each polarization kernel operation, two input bits are multiplied by the polarization kernel to obtain two output bits. Based on Figure 3a It can be seen that polar codes can be constructed recursively. Taking an information bit length of K=4 and a code length of N=8 as an example, the 8-length polar code [01010101] can be seen as obtained by coupling two 4-length polar codes. As shown by the dashed ellipse in the figure, these two 4-length polar codes are the polar codes

[0000] corresponding to u0 to u3 and

[0101] corresponding to u4 to u7, respectively. Furthermore, these two 4-length polar codes can each be seen as obtained by coupling two 2-length polar codes, which are respectively... Figure 3a The output bits of the four polarization cores.

[0132] The Arikan polarization nucleus is a canonical polarization nucleus.

[0133] Taking a regular polarization kernel as an example, the generator matrix of a polar code can be represented as: Defined as the Kronecker product of log₂N matrices F₂, where F₂ is... The G NIt can also be called an Arikan polarization nucleus or a canonical polarization nucleus of length N.

[0134] Another type of polarization kernel is the non-regular polarization kernel. A non-regular polarization kernel is constructed by arranging the polarization trellis connection method according to the channel state or the specific number of information bits K. It can accelerate polarization without increasing decoding complexity. The size of the matrix corresponding to the non-regular polarization kernel can be N*N, where N is the code length, and the value of N does not have to be an integer power of 2. The non-regular polarization kernel can be associated with the information bit length K; that is, the connection method of an N*N non-regular polarization kernel can vary for different information bit lengths. Therefore, compared to the regular polarization kernel, the non-regular polarization kernel can select the connection method according to the information bit length K to improve the reliability of K information bits, thereby achieving better coding error correction performance. In this application, the size of the matrix can refer to the dimension of the matrix, that is, the number of rows and columns of the matrix.

[0135] Among them, the non-canonical polarization nucleus corresponds to K, or in other words, the non-canonical polarization nucleus corresponds to [N,K]. The non-canonical polarization nucleus C N,K This can represent a non-canonical polarization nucleus corresponding to [N,K]. C N,K It can be composed of non-canonical polarized nuclei corresponding to [N1, K1]. and the non-canonical polarized nuclei corresponding to [N-N1, K-K1]. The coupling is obtained, where N1 and K1 are positive integers, N1 < N, K1 < K.

[0136] (7.3) Polarization Decoding

[0137] There are various methods for decoding polar codes, such as successive cancellation (SC) decoding and successive cancellation list (SCL) decoding.

[0138] The SC decoding method involves calculating the LLR of each decoded bit based on the LLR sequence corresponding to the bit sequence to be decoded, and then making a bit-by-bit decision. When the decoded bit is an information bit, if the LLR of the decoded bit is greater than 0, then the decoded bit is 0; if the LLR of the decoded bit is less than 0, then the decoded bit is 1. When the decoded bit is a fixed bit, the decoding result is always set to 0 regardless of the LLR value. Figure 3b This is a schematic diagram of the SC decoding calculation process, taking 4 decoding bits as an example. Figure 3bThere are a total of 8 computation nodes, including 4 f nodes and 4 g nodes. The f nodes and g nodes correspond to f operations (or f-calculations) and g operations (or g-calculations), respectively. The f node operation requires two LLR inputs to its right, and the g node operation requires two LLR inputs to its right as well as the output of the previous level as input. The output can only be calculated after all inputs have been computed. According to the above computation rules... Figure 3b Starting from the right, the decoded bits are calculated sequentially as ①→②→③→④, and the decoding is now complete.

[0139] When using the Arikan polarization kernel, the SCL decoding method refers to using the LLR sequence corresponding to the bit sequence to be decoded, and saving the decoding results corresponding to 0 and 1 as two branch decoding paths (referred to as path splitting) when decoding each information bit. Figure 3c This is a schematic diagram of the decoding path in the SCL decoding method, as shown below. Figure 3c As shown, each level represents one decoded bit. If the decoding result is 0, the path is developed along the left subtree; if the decoding result is 1, the path is developed along the right subtree. When the total number of decoding paths exceeds the preset path width L (generally L = 2, 4, 8, 16, or 32), the L paths with the best path metric (PM) value are selected, saved, and the path development continues to decode subsequent bits. The PM value is used to judge the quality of the path, and the PM value is calculated using LLR. For each level of decoded bits, the PM values ​​of the L paths are sorted in ascending order, and the correct path is selected by filtering out the PM values. This process is repeated until the last bit is decoded.

[0140] Polar codes have been selected as the control channel coding scheme in 5G communication standards. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity and have the advantages of good decoding performance and low complexity.

[0141] It can be considered that, with the Arikan polar kernel, a polar code of length N can be obtained by coupling two polar codes of length N / 2. Furthermore, a polar code of length N / 2 can be considered as obtained by coupling two polar codes of length N / 4, and so on. With the Arikan polar kernel, SC decoding of a polar code of length N can be completed on the decoding side using Nlog(N) f operations and Nlog(N) g operations.

[0142] Currently, when using regular polarization kernels, the matrix corresponding to a regular polarization kernel with N being an integer power of 2 has only one coupling mode, which cannot achieve optimal performance under different K values. When N is not an integer power of 2, rate matching is required, leading to a decrease in decoding performance. In other words, the current regular polarization kernel cannot achieve the best performance under various N and K values. When using non-regular polarization kernels, different non-regular polarization kernels need to be constructed based on different N and K values, but the non-regular polarization kernels determined by different N and K values ​​cannot achieve optimal performance under various channel conditions. Therefore, how to construct suitable polarization kernels based on N and K to improve encoding and decoding performance is an urgent technical problem to be solved. Based on this, this application provides a communication method.

[0143] The communication method provided in the embodiments of this application will be described in detail below.

[0144] In the following embodiments, the communication method provided in this application is described in detail using a first communication device and a second communication device as examples. It should be understood that the operation performed by the first communication device can also be implemented by a component used in the first communication device (e.g., a processor, a chip or chip system, a module, or a functional module, etc.). This component can be within the first communication device or independent of it but coupled to it. Similarly, the operation performed by the second communication device can also be implemented by a component used in the second communication device (e.g., a processor, a chip or chip system, a module, or a functional module, etc.). This component can be within the second communication device or independent of it but coupled to it. Exemplarily, the chip or chip system can be, for example, a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core. This application does not limit this.

[0145] Optionally, the first communication device can be a transmitting device, and the second communication device can be a receiving device. The transmitting device can also be considered an encoding device, and the receiving device can also be considered a decoding device. The transmitting and receiving devices can be mutually communicating. For example, the transmitting device can be an access network device, a terminal device, etc. The receiving device can be an access network device, a terminal device, etc. This application does not impose any limitations on this.

[0146] In this application, the sending side can also be described as the sending end, and the receiving side can also be described as the receiving end; this application does not limit this.

[0147] Based on the above description, embodiments of this application provide a communication method, such as... Figure 4 As shown, the process of this method may include:

[0148] Step 401: The first communication device performs polar code encoding on the information bit sequence of length K according to the first matrix to obtain the encoded bit sequence of length N.

[0149] In this system, the code length corresponding to the first matrix is ​​N, and the number of information bits corresponding to the first matrix is ​​K. The first matrix is ​​determined based on the first and second sub-matrices; the code length corresponding to the first sub-matrix is ​​N1, and the number of information bits corresponding to the first sub-matrix is ​​K1. The code length corresponding to the second sub-matrix is ​​N-N1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1. When N takes the first value and K takes the second value, both the first and second values ​​correspond to at least one value of K1; different values ​​of K1 correspond to different first sub-matrices.

[0150] N, K, N1, and K1 are positive integers, where N is greater than N1 and K is greater than K1. For example, N ≥ 17.

[0151] Optionally, at least one of N1 and N-N1 is not an integer power of 2. Using non-integer polarization kernels that are not integer powers of 2 can achieve a more flexible and better-performing construction compared to constructing regular polarization kernels where N1 and N-N1 are both integer powers of 2.

[0152] In this embodiment, the information bit sequence can be a sequence comprising multiple information bits, each of which can have a value of 0 or 1. An information bit can refer to the payload itself, or to the payload and a check bit.

[0153] The payload can be a sequence of bits to be transmitted. For example, if the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the resulting information bit sequence could be 10101100101. Similarly, in... Figure 3a In this sequence, the information bits are u3=0, u5=0, u6=1, u7=1, which means the information bit sequence can be 0011.

[0154] The check bits can be obtained from the payload. For example, the check bits are CRC bits, parity bits, or check bits corresponding to other check methods. That is, the information bits can be a sequence of payload and one or more CRC bits.

[0155] In this application, the length of the information bit sequence can refer to the number of bits contained in the information bit sequence. For example, if the information bit sequence includes a payload but does not include a parity bit, the length of the information bit sequence can be the payload length. As another example, if the information bit sequence includes both a payload and a parity bit, the length of the information bit sequence can be the sum of the payload length and the parity bit length.

[0156] In one alternative implementation, N and K can satisfy the following relationship: N < 2 K -1, N < 2 N-K -1, K3 < K < N-K2, where K2 and K3 are positive integers. Alternatively, it can be said that when N and K satisfy the above relationship, the first communication device performs polar code encoding on the information bit sequence of length K according to the first matrix to obtain the encoded bit sequence of length N.

[0157] In some examples, K2 = K3 = 3, or K2 and / or K3 are other values.

[0158] K2 and / or K3 can be predefined by the standard, preconfigured by the network, or determined through signaling interaction between the first and second communication devices. Determined through signaling interaction between the first and second communication devices can mean that the first communication device indicates K2 and / or K3 to the second communication device via signaling, or vice versa.

[0159] Optionally, when K2 = K3 = 3, 3 <K<N-3。

[0160] In this embodiment of the application, when N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1. In other words, the same N and K can correspond to one or more values ​​of K1.

[0161] In some implementations, when N is a first value and K is a second value, the first and second values ​​together correspond to at least two values ​​of K1. This allows for adaptation to various bitrates with the same N and K, while also ensuring that there is a single K1 value that yields optimal performance.

[0162] Here, the first value and the second value exemplify the values ​​of N and K respectively. The first value can be achieved by taking multiple values ​​of N, such as 17, 18, ... etc.; the second value can be achieved by taking multiple values ​​of K, such as 4, 5, ... etc.

[0163] Optionally, when N is a first value and K is a second value, the first value and the second value together correspond to at least two values ​​of K1, and the first communication device can determine one of the at least two values ​​of K1 according to preset rules and / or channel conditions.

[0164] For example, the preset rule could be to select the largest value among at least two values ​​of K1, or to select the smallest value among at least two values ​​of K1, or it could be other rules, which are not limited in this application.

[0165] For example, when the first communication device determines one value from at least two values of K1 based on channel conditions, it may determine the first matrix based on the first sub-matrix and the second sub-matrix respectively corresponding to the at least two values of K1, and then select the value of K1 corresponding to the first matrix with the best performance according to the performance of the first matrix determined for different values of K1.

[0166] Wherein, the first communication device may determine the performance corresponding to a certain first matrix in combination with bit error rate, signal-to-noise ratio and the like, so as to select the value of K1 corresponding to the first matrix with the best performance. For example, the first communication device may select the value of K1 corresponding to the first matrix with the minimum bit error rate and / or the maximum signal-to-noise ratio.

[0167] Optionally, the first communication device may also randomly select one value from the at least two values of K1.

[0168] Optionally, the first communication device may also determine one value from the at least two values of K1 based on the correspondence between a preset bit error rate range and the values of N, K and K1.

[0169] Of course, besides the above selection methods, the first communication device may also determine one value from the at least two values of K1 through other methods, which is not limited in the present application.

[0170] In some embodiments a1, when the value of K is a second value, the value of K1 is related to the value range to which the value of N belongs.

[0171] Optionally, when the value of N falls within the i-th value range, the value of K1 is an i-th value; when the value of N falls within the (i+1)-th value range, the value of K1 is an (i+1)-th value; wherein i takes all integers from 1 to s, s is a positive integer, the i-th value is greater than the (i+1)-th value, the lower bound of the i-th value range is less than or equal to the lower bound of the (i+1)-th value range, the upper bound of the i-th value range is less than or equal to the upper bound of the (i+1)-th value range, and the i-th value, the i-th value range and s are related to K.

[0172] In an optional embodiment, when the value of K is the second value, the values of K1 corresponding to each value range of N may be determined based on decoding performance corresponding to different combinations of N and K. For example, the decoding performance may be obtained through simulation.

[0173] For example, in a case where 17 ≤ N ≤ 32 and 3 < K < N−3, when the value of K is the second value, the values of K1 corresponding to each value range of N may be as follows:

[0174] When K = 4,

[0175] when 17 ≤ N ≤ 23, K1 can be 1;

[0176] When 17≤N≤32, K1 can be 0;

[0177] When K=5,

[0178] When 17≤N≤27, K1 can be 1;

[0179] When 20≤N≤32, K1 can be 0;

[0180] When K=6,

[0181] When 17≤N≤32, K1 can be 1;

[0182] When N=17, K1 can be 2;

[0183] When K=7,

[0184] When 17≤N≤21, K1 can be 2;

[0185] When 18 ≤ N ≤ 32, K1 can be 1; when K = 8,

[0186] When 17≤N≤23, K1 can be 2;

[0187] When 22≤N≤32, K1 can be 1; when K=9,

[0188] When 17≤N≤32, K1 can be 2;

[0189] When 26 ≤ N ≤ 32, K1 can be 1; when K = 10,

[0190] When 17≤N≤25, K1 can be 3;

[0191] When 20 ≤ N ≤ 32, K1 can be 2; when K = 11,

[0192] When 17≤N≤23, K1 can be 4;

[0193] When 18≤N≤27, K1 can be 3;

[0194] When 28 ≤ N ≤ 32, K1 can be 2; when K = 12,

[0195] When N=17, K1 can be 5;

[0196] When 18≤N≤25, K1 can be 4;

[0197] When 20≤N≤29, K1 can be 3;

[0198] When 30≤N≤32, K1 can be 2; when K=13,

[0199] When 17≤N≤19, K1 can be 5;

[0200] When 20≤N≤29, K1 can be 4;

[0201] When 24≤N≤31, K1 can be 3;

[0202] When N=32, K1 can be 2;

[0203] When K=14,

[0204] When 18≤N≤19, K1 can be 6;

[0205] When 18≤N≤27, K1 can be 5;

[0206] When 22≤N≤31, K1 can be 4;

[0207] When 30≤N≤32, K1 can be 3; when K=15,

[0208] When 19≤N≤21, K1 can be 6;

[0209] When 22≤N≤29, K1 can be 5;

[0210] When 26 ≤ N ≤ 32, K1 can be 4; when K = 16,

[0211] When 20≤N≤21, K1 can be 7;

[0212] When 20≤N≤23, K1 can be 6;

[0213] When 24 ≤ N ≤ 32, K1 can be 5; when K = 17,

[0214] When 21≤N≤23, K1 can be 7;

[0215] When 24≤N≤25, K1 can be 6; when 26≤N≤32, K1 can be 5; when K=18,

[0216] When 22≤N≤23, K1 can be 8; when 22≤N≤25, K1 can be 7.

[0217] When 26≤N≤31, K1 can be 6;

[0218] When 30≤N≤32, K1 can be 5; when K=19,

[0219] When 23≤N≤25, K1 can be 8;

[0220] When 26≤N≤27, K1 can be 7;

[0221] When 28≤N≤32, K1 can be 6;

[0222] When K=20,

[0223] When 24≤N≤25, K1 can be 9;

[0224] When 24≤N≤27, K1 can be 8;

[0225] When 28≤N≤31, K1 can be 7;

[0226] When N=32, K1 can be 6;

[0227] When K=21,

[0228] When 25≤N≤27, K1 can be 9;

[0229] When 28≤N≤29, K1 can be 8;

[0230] When 30≤N≤32, K1 can be 7;

[0231] When K=22,

[0232] When 26≤N≤27, K1 can be 10;

[0233] When 26≤N≤29, K1 can be 9;

[0234] When 30≤N≤32, K1 can be 8;

[0235] When K=23,

[0236] When 27≤N≤29, K1 can be 10;

[0237] When 30≤N≤31, K1 can be 9;

[0238] When N=32, K1 can be 8;

[0239] When K=24,

[0240] When 28≤N≤29, K1 can be 11;

[0241] When 28≤N≤31, K1 can be 10;

[0242] When N=32, K1 can be 9;

[0243] When K=25,

[0244] When 29≤N≤31, K1 can be 11;

[0245] When N=32, K1 can be 10;

[0246] When K=26,

[0247] When 30≤N≤32, K1 can be 11;

[0248] When K=27,

[0249] When N=31, K1 can be 12;

[0250] When N=32, K1 can be 11;

[0251] When K=28,

[0252] When N=32, K1 can be 12.

[0253] In the above examples, when K is the second value, it can be any one of 4, 5, ..., 28 listed above. For example, when K is the second value 4, when the value of N falls within the first value range (i.e., the i-th value range) [17, 23], the value of K1 is 1 (i.e., the i-th value); when the value of N falls within the second value range (i.e., the (i+1)-th value range) [17, 32], the value of K1 is 0 (i.e., the (i+1)-th value). In this case, the i-th value (i.e., 1) is greater than the (i+1)-th value (i.e., 0), the lower bound of the i-th value range 17 is equal to the lower bound of the (i+1)-th value range 17, and the upper bound of the i-th value range 23 is smaller than the upper bound of the (i+1)-th value range 32. For another example, when K is the second value 5, when the value of N falls within the first value range (i.e., the i-th value range) [17, 27], the value of K1 is 1 (i.e., the i-th value); when the value of N falls within the second value range (i.e., the (i+1)-th value range) [20, 32], the value of K1 is 0 (i.e., the (i+1)-th value). In this case, the i-th value (i.e., 1) is greater than the (i+1)-th value (i.e., 0), the lower bound of the i-th value range 17 is smaller than the lower bound of the (i+1)-th value range 20, and the upper bound of the i-th value range 27 is smaller than the upper bound of the (i+1)-th value range 32. The situation is similar when the second value is any other value, which will not be described one by one herein.

[0254] For another example, under the condition of 33≤N≤64 and 3<K<N-3, when K is the second value, the values of K1 corresponding to each value range of N can be as follows:

[0255] When K=4,

[0256] When 33≤N≤64, K1 can be 0;

[0257] When K=5,

[0258] When 33≤N≤64, K1 can be 0;

[0259] When K=6,

[0260] When 33≤N≤39, K1 can be 1; when 36≤N≤64, K1 can be 0. When K=7,

[0261] When 33≤N≤63, K1 can be 1; when 44≤N≤64, K1 can be 0. When K=8,

[0262] When 33≤N≤64, K1 can be 1;

[0263] When 52≤N≤64, K1 can be 0; when K=9,

[0264] When 33≤N≤64, K1 can be 1; when 33≤N≤39, K1 can be 2; when K=10,

[0265] When 33≤N≤45, K1 can be 2; when 36≤N≤64, K1 can be 1; when K=11,

[0266] When 33≤N≤49, K1 can be 2; when 42≤N≤64, K1 can be 1; when K=12,

[0267] When 33≤N≤53, K1 can be 2; when 50≤N≤64, K1 can be 1; when K=13,

[0268] When 33≤N≤59, K1 can be 2;

[0269] When 58≤N≤64, K1 can be 1; when K=14,

[0270] When 33≤N≤49, K1 can be 3; when 36≤N≤64, K1 can be 2; when K=15,

[0271] When 33≤N≤35, K1 can be 4; when 34≤N≤55, K1 can be 3; when 38≤N≤64, K1 can be 2; when K=16,

[0272] When N=33, K1 can be 5;

[0273] When 34≤N≤37, K1 can be 4; when 38≤N≤57, K1 can be 3; when 58≤N≤64, K1 can be 2; when K=17,

[0274] When 33≤N≤37, K1 can be 5; when 36≤N≤39, K1 can be 4; when 40≤N≤59, K1 can be 3; when 60≤N≤64, K1 can be 2; when K=18,

[0275] When 33≤N≤35, K1 can be 6; when 33≤N≤39, K1 can be 5; when 40≤N≤51, K1 can be 4; when 46≤N≤64, K1 can be 3; when K=19,

[0276] When 33≤N≤39, K1 can be 6; when 34≤N≤42, K1 can be 5; when 43≤N≤59, K1 can be 4; when 48≤N≤64, K1 can be 3; when K=20,

[0277] When 33≤N≤37, K1 can be 7; when 35≤N≤41, K1 can be 6; when 42≤N≤51, K1 can be 5; when 44≤N≤64, K1 can be 4; when K=21,

[0278] When 33≤N≤39, K1 can be 7; when 35≤N≤43, K1 can be 6; when 44≤N≤61, K1 can be 5; when 52≤N≤64, K1 can be 4; when K=22,

[0279] When 33≤N≤39, K1 can be 8; when 34≤N≤43, K1 can be 7; when 36≤N≤58, K1 can be 6; when 52≤N≤64, K1 can be 5; when 60≤N≤64, K1 can be 4; when K=23,

[0280] When 33≤N≤41, K1 can be 8; when 38≤N≤45, K1 can be 7; when 42≤N≤61, K1 can be 6; when 55≤N≤64, K1 can be 5; when 62≤N≤64, K1 can be 4; when K=24,

[0281] When N=33, K1 can be 9;

[0282] When 34≤N≤43, K1 can be 8; when 40≤N≤47, K1 can be 7; when 48≤N≤63, K1 can be 6; when 56≤N≤64, K1 can be 5; when K=25,

[0283] When N=33, K1 can be 10;

[0284] When 34≤N≤43, K1 can be 9; when 38≤N≤47, K1 can be 8; when 48≤N≤49, K1 can be 7; when 50≤N≤64, K1 can be 6.

[0285] When N=64, K1 can be 5;

[0286] When K=26,

[0287] When N=33, K1 can be 11;

[0288] When 34≤N≤35, K1 can be 10;

[0289] When 35≤N≤47, K1 can be 9; when 42≤N≤49, K1 can be 8; when 50≤N≤51, K1 can be 7; when 52≤N≤64, K1 can be 6; when K=27,

[0290] When N=33, K1 can be 12;

[0291] When 34≤N≤35, K1 can be 11;

[0292] When 36≤N≤45, K1 can be 10;

[0293] When 38≤N≤49, K1 can be 9; when 50≤N≤53, K1 can be 8; when 52≤N≤55, K1 can be 7; when 56≤N≤64, K1 can be 6; when K=28,

[0294] When 33≤N≤35, K1 can be 12;

[0295] When 36≤N≤37, K1 can be 11;

[0296] When 38≤N≤47, K1 can be 10;

[0297] When 42≤N≤51, K1 can be 9; when 52≤N≤54, K1 can be 8; when 55≤N≤59, K1 can be 7; when 60≤N≤64, K1 can be 6; when K=29,

[0298] When 33≤N≤35, K1 can be 13;

[0299] When 34≤N≤37, K1 can be 12;

[0300] When 38≤N≤41, K1 can be 11;

[0301] When 42≤N≤51, K1 can be 10;

[0302] When 44≤N≤53, K1 can be 9; when 54≤N≤57, K1 can be 8; when 58≤N≤64, K1 can be 7; when K=30,

[0303] When 34≤N≤37, K1 can be 13;

[0304] When 38≤N≤39, K1 can be 12;

[0305] When 40≤N≤49, K1 can be 11;

[0306] When 46≤N≤53, K1 can be 10;

[0307] When 49≤N≤57, K1 can be 9; when 58≤N≤61, K1 can be 8; when 62≤N≤64, K1 can be 7; when K=31,

[0308] When N=35, K1 can be 14;

[0309] When 36≤N≤39, K1 can be 13;

[0310] When 40≤N≤41, K1 can be 12;

[0311] When 42≤N≤53, K1 can be 11;

[0312] When 48≤N≤55, K1 can be 10;

[0313] When 56≤N≤60, K1 can be 9; when 61≤N≤64, K1 can be 8; when K=32,

[0314] When 36≤N≤39, K1 can be 14; when 40≤N≤41, K1 can be 13; when 42≤N≤51, K1 can be 12.

[0315] When 47≤N≤55, K1 can be 11;

[0316] When 52≤N≤57, K1 can be 10;

[0317] When 58≤N≤61, K1 can be 9; when 62≤N≤64, K1 can be 8; when K=33,

[0318] When 37≤N≤39, K1 can be 15;

[0319] When 38≤N≤41, K1 can be 14;

[0320] When 42≤N≤43, K1 can be 13;

[0321] When 44≤N≤55, K1 can be 12;

[0322] When 49≤N≤57, K1 can be 11;

[0323] When 58≤N≤59, K1 can be 10;

[0324] When 60≤N≤64, K1 can be 9; when K=34,

[0325] When 38≤N≤41, K1 can be 15;

[0326] When 42≤N≤43, K1 can be 14;

[0327] When 44≤N≤53, K1 can be 13;

[0328] When 48≤N≤57, K1 can be 12;

[0329] When 56≤N≤59, K1 can be 11;

[0330] When 60≤N≤63, K1 can be 10;

[0331] When N=64, K1 can be 9;

[0332] When K=35

[0333] When 39≤N≤41, K1 can be 16;

[0334] When 40≤N≤43, K1 can be 15;

[0335] When 44≤N≤45, K1 can be 14;

[0336] When 46≤N≤55, K1 can be 13;

[0337] When 51≤N≤59, K1 can be 12;

[0338] When 60≤N≤61, K1 can be 11; when 62≤N≤64, K1 can be 10; when K=36,

[0339] When 40≤N≤43, K1 can be 16;

[0340] When 44≤N≤45, K1 can be 15;

[0341] When 46≤N≤53, K1 can be 14;

[0342] When 50≤N≤59, K1 can be 13;

[0343] When 52≤N≤61, K1 can be 12;

[0344] When 62≤N≤64, K1 can be 11; when K=37,

[0345] When 41≤N≤43, K1 can be 17;

[0346] When 42≤N≤45, K1 can be 16;

[0347] When 46≤N≤47, K1 can be 15;

[0348] When 48≤N≤57, K1 can be 14;

[0349] When 58≤N≤61, K1 can be 13;

[0350] When 62≤N≤64, K1 can be 12; when K=38,

[0351] When 42≤N≤45, K1 can be 17;

[0352] When 46≤N≤47, K1 can be 16;

[0353] When 48≤N≤57, K1 can be 15;

[0354] When 54≤N≤59, K1 can be 14;

[0355] When 60≤N≤63, K1 can be 13;

[0356] When N=64, K1 can be 12;

[0357] When K=39,

[0358] When N=43, K1 can be 18;

[0359] When 44≤N≤47, K1 can be 17;

[0360] When 48≤N≤49, K1 can be 16;

[0361] When 50≤N≤59, K1 can be 15;

[0362] When 60≤N≤63, K1 can be 14;

[0363] When N=64, K1 can be 13;

[0364] When K=40

[0365] When 44≤N≤47, K1 can be 18;

[0366] When 48≤N≤49, K1 can be 17;

[0367] When 50≤N≤53, K1 can be 16;

[0368] When 54≤N≤63, K1 can be 15;

[0369] When N=64, K1 can be 14;

[0370] When K=41,

[0371] When 45≤N≤47, K1 can be 19;

[0372] When 45≤N≤49, K1 can be 18;

[0373] When 50≤N≤51, K1 can be 17;

[0374] When 52≤N≤63, K1 can be 16;

[0375] When 59≤N≤64, K1 can be 15; when K=42,

[0376] When 46≤N≤49, K1 can be 19;

[0377] When 50≤N≤51, K1 can be 18;

[0378] When 52≤N≤53, K1 can be 17;

[0379] When 54≤N≤64, K1 can be 16; when K=43,

[0380] When 47≤N≤49, K1 can be 20;

[0381] When 48≤N≤51, K1 can be 19;

[0382] When 52≤N≤53, K1 can be 18;

[0383] When 54≤N≤55, K1 can be 17;

[0384] When 56≤N≤64, K1 can be 16; when K=44,

[0385] When 48≤N≤51, K1 can be 20;

[0386] When 52≤N≤53, K1 can be 19;

[0387] When 54≤N≤55, K1 can be 18;

[0388] When 56≤N≤59, K1 can be 17;

[0389] When 60≤N≤64, K1 can be 16; when K=45,

[0390] When 49≤N≤51, K1 can be 21;

[0391] When 50≤N≤53, K1 can be 20;

[0392] When 54≤N≤55, K1 can be 19;

[0393] When 56≤N≤59, K1 can be 18;

[0394] When 60≤N≤63, K1 can be 17;

[0395] When 62≤N≤64, K1 can be 16; when K=46,

[0396] When 50≤N≤53, K1 can be 21;

[0397] When 54≤N≤55, K1 can be 20;

[0398] When 56≤N≤57, K1 can be 19;

[0399] When 58≤N≤63, K1 can be 18;

[0400] When N=64, K1 can be 17;

[0401] When K=47,

[0402] When 51≤N≤53, K1 can be 22;

[0403] When 52≤N≤55, K1 can be 21;

[0404] When 56≤N≤57, K1 can be 20;

[0405] When 58≤N≤59, K1 can be 19;

[0406] When 60≤N≤64, K1 can be 18; when K=48,

[0407] When 52≤N≤55, K1 can be 22; when 56≤N≤57, K1 can be 21; when 58≤N≤59, K1 can be 20; when 60≤N≤63, K1 can be 19.

[0408] When N=64, K1 can be 18;

[0409] When K=49

[0410] When 53≤N≤55, K1 can be 23; when 56≤N≤57, K1 can be 22; when 58≤N≤59, K1 can be 21; when 60≤N≤61, K1 can be 20; when 62≤N≤64, K1 can be 19; when K=50,

[0411] When 54≤N≤57, K1 can be 23; when 58≤N≤59, K1 can be 22; when 60≤N≤61, K1 can be 21; when 62≤N≤64, K1 can be 20; when K=51,

[0412] When 55≤N≤57, K1 can be 24; when 56≤N≤59, K1 can be 23; when 60≤N≤61, K1 can be 22; when 62≤N≤63, K1 can be 21.

[0413] When N=64, K1 can be 20;

[0414] When K=52,

[0415] When 56≤N≤59, K1 can be 24; when 60≤N≤61, K1 can be 23; when 62≤N≤64, K1 can be 22; when K=53,

[0416] When 57≤N≤59, K1 can be 25; when 60≤N≤61, K1 can be 24; when 62≤N≤64, K1 can be 23; when K=54,

[0417] When 58≤N≤61, K1 can be 25;

[0418] When 62≤N≤63, K1 can be 24;

[0419] When N=64, K1 can be 23;

[0420] When K=55,

[0421] When N=59, K1 can be 26;

[0422] When 60≤N≤63, K1 can be 25;

[0423] When N=64, K1 can be 24;

[0424] When K=56,

[0425] When 60≤N≤63, K1 can be 26;

[0426] When 62≤N≤64, K1 can be 25; when K=57,

[0427] When N=61, K1 can be 27;

[0428] When 62≤N≤64, K1 can be 26; when K=58,

[0429] When 62≤N≤63, K1 can be 27;

[0430] When N=64, K1 can be 26;

[0431] When K=59,

[0432] When N=63, K1 can be 28;

[0433] When N=64, K1 can be 27;

[0434] When K=60,

[0435] When N=64, K1 can be 28.

[0436] In the above example, when K takes the second value, it can be any one of 4, 5, ..., 60. For example, when K takes the second value 6, when the value of N falls within the first value range (i.e., the i-th value range) [33, 39], the value of K1 is 1 (i.e., the i-th value); when the value of N falls within the second value range (i.e., the (i+1)-th value range) [36, 64], the value of K1 is 0 (i.e., the (i+1)-th value). In this case, the i-th value (i.e., 1) is greater than the (i+1)-th value (i.e., 0), the lower bound of the i-th value range 33 is less than the lower bound of the (i+1)-th value range 36, and the upper bound of the i-th value range 39 is less than the upper bound of the (i+1)-th value range 64. For another example, when K takes the second value 15, when the value of N falls within the first value range (i.e., the i-th value range) [33, 35], the value of K1 is 4 (i.e., the i-th value); when the value of N falls within the second value range (i.e., the (i+1)-th value range) [34, 55], the value of K1 is 3 (i.e., the (i+1)-th value); when the value of N falls within the third value range (i.e., the (i+2)-th value range) [38, 64], the value of K1 is 2 (i.e., the (i+2)-th value). In this case, the i-th value (i.e., 4) is greater than the (i+1)-th value (i.e., 3), the (i+1)-th value (i.e., 3) is greater than the (i+2)-th value (i.e., 2), the lower bound of the i-th value range 33 is less than the lower bound of the (i+1)-th value range 34, the upper bound of the i-th value range 35 is less than the upper bound of the (i+1)-th value range 55, the lower bound of the (i+1)-th value range 34 is less than the lower bound of the (i+2)-th value range 38, and the upper bound of the (i+1)-th value range 55 is less than the upper bound of the (i+2)-th value range 64. The situation is similar when the second value is any other value, which will not be repeated one by one herein.

[0437] In some implementation modes a2, when N takes the first value, the value of K1 is related to the value range which the value of K belongs to.

[0438] Optionally, when K falls within the j-th value range, K1 takes the j-th value; when K falls within the (j+1)-th value range, K1 takes the (j+1)-th value; wherein j traverses integers from 1 to t, t is a positive integer, the j-th value is less than the (j+1)-th value, the lower bound of the j-th value range is less than or equal to the lower bound of the (j+1)-th value range, the upper bound of the j-th value range is less than or equal to the upper bound of the (j+1)-th value range, and the j-th value, the j-th value range and t are related to N.

[0439] In an optional implementation mode, when N takes the first value, the value of K1 corresponding to each value range of K can be determined according to the decoding performance corresponding to different combinations of N and K. For example, the decoding performance can be obtained through simulation.

[0440] For example, under the condition that 17≤N≤32 and 3<K<N-3, when N takes the first value, the value of K1 corresponding to each value range of K can be as follows:

[0441] When N=17,

[0442] When K=4, K1 can be 0;

[0443] When 4≤K≤6, K1 can be 1;

[0444] When 6≤K≤9, K1 can be 2;

[0445] When K=10, K1 can be 3;

[0446] When K=11, K1 can be 4;

[0447] When 12≤K≤13, K1 can be 5;

[0448] When N=18,

[0449] When K=4, K1 can be 0;

[0450] When 4≤K≤7, K1 can be 1;

[0451] When 7≤K≤9, K1 can be 2;

[0452] When 10≤K≤11, K1 can be 3;

[0453] When 11≤K≤12, K1 can be 4;

[0454] When 13≤K≤14, K1 can be 5;

[0455] When K=14, K1 can be 6;

[0456] When N=19,

[0457] When K=4, K1 can be 0;

[0458] When 4≤K≤7, K1 can be 1;

[0459] When 7≤K≤9, K1 can be 2;

[0460] When 10≤K≤11, K1 can be 3;

[0461] When 11≤K≤12, K1 can be 4;

[0462] When 13≤K≤14, K1 can be 5;

[0463] When 14≤K≤15, K1 can be 6; when N=20,

[0464] When 4≤K≤5, K1 can be 0;

[0465] When 4≤K≤7, K1 can be 1;

[0466] When 7≤K≤10, K1 can be 2; when 10≤K≤12, K1 can be 3.

[0467] When 11≤K≤13, K1 can be 4;

[0468] When K=14, K1 can be 5;

[0469] When 15≤K≤16, K1 can be 6;

[0470] When K=16, K1 can be 7;

[0471] When N=21,

[0472] When 4≤K≤5, K1 can be 0;

[0473] When 4≤K≤7, K1 can be 1;

[0474] When 7≤K≤10, K1 can be 2; when 10≤K≤12, K1 can be 3; when 11≤K≤13, K1 can be 4.

[0475] When K=14, K1 can be 5;

[0476] When 15≤K≤16, K1 can be 6;

[0477] When 16≤K≤17, K1 can be 7; when N=22,

[0478] When 4≤K≤5, K1 can be 0;

[0479] When 4≤K≤8, K1 can be 1;

[0480] When 8≤K≤10, K1 can be 2; when 10≤K≤12, K1 can be 3.

[0481] When 11≤K≤14, K1 can be 4; when 14≤K≤15, K1 can be 5.

[0482] When K=16, K1 can be 6;

[0483] When 17≤K≤18, K1 can be 7;

[0484] When K=18, K1 can be 8;

[0485] When N=23,

[0486] When 4≤K≤5, K1 can be 0;

[0487] When 4≤K≤8, K1 can be 1;

[0488] When 8≤K≤10, K1 can be 2; when 10≤K≤12, K1 can be 3.

[0489] When 11≤K≤14, K1 can be 4; when 14≤K≤15, K1 can be 5.

[0490] When K=16, K1 can be 6;

[0491] When 17≤K≤18, K1 can be 7;

[0492] When 18≤K≤19, K1 can be 8; when N=24,

[0493] When 4≤K≤5, K1 can be 0;

[0494] When 5≤K≤8, K1 can be 1;

[0495] When 9≤K≤10, K1 can be 2; when 10≤K≤13, K1 can be 3.

[0496] When 12≤K≤14, K1 can be 4;

[0497] When 14≤K≤16, K1 can be 5;

[0498] When K=17, K1 can be 6;

[0499] When K=18, K1 can be 7;

[0500] When 19≤K≤20, K1 can be 8;

[0501] When K=20, K1 can be 9;

[0502] When N=25,

[0503] When 4≤K≤5, K1 can be 0;

[0504] When 5≤K≤8, K1 can be 1;

[0505] When 9≤K≤10, K1 can be 2;

[0506] When 10≤K≤13, K1 can be 3; when 12≤K≤14, K1 can be 4; when 14≤K≤16, K1 can be 5.

[0507] When K=17, K1 can be 6;

[0508] When K=18, K1 can be 7;

[0509] When 19≤K≤20, K1 can be 8; when 20≤K≤21, K1 can be 9; when N=26,

[0510] When 4≤K≤5, K1 can be 0;

[0511] When 5≤K≤8, K1 can be 1;

[0512] When 9≤K≤10, K1 can be 2;

[0513] When 10≤K≤13, K1 can be 3; when 12≤K≤14, K1 can be 4; when 14≤K≤16, K1 can be 5.

[0514] When K=17, K1 can be 6;

[0515] When K=18, K1 can be 7;

[0516] When 19≤K≤20, K1 can be 8; when 20≤K≤22, K1 can be 9; when N=27,

[0517] When 4≤K≤5, K1 can be 0;

[0518] When 5≤K≤8, K1 can be 1;

[0519] When 9≤K≤10, K1 can be 2;

[0520] When 10≤K≤13, K1 can be 3; when 12≤K≤14, K1 can be 4; when 14≤K≤16, K1 can be 5.

[0521] When K=17, K1 can be 6;

[0522] When K=18, K1 can be 7;

[0523] When 19≤K≤20, K1 can be 8; when 20≤K≤23, K1 can be 9; when N=28,

[0524] When 4≤K≤5, K1 can be 0;

[0525] When 6≤K≤9, K1 can be 1;

[0526] When 9≤K≤11, K1 can be 2;

[0527] When 12≤K≤13, K1 can be 3; when 13≤K≤15, K1 can be 4; when 15≤K≤17, K1 can be 5; when 18≤K≤19, K1 can be 6.

[0528] When K=20, K1 can be 7;

[0529] When K=21, K1 can be 8;

[0530] When K=22, K1 can be 9;

[0531] When 23≤K≤24, K1 can be 10;

[0532] When K=24, K1 can be 11;

[0533] When N=29,

[0534] When 4≤K≤5, K1 can be 0;

[0535] When 6≤K≤9, K1 can be 1;

[0536] When 9≤K≤11, K1 can be 2;

[0537] When 12≤K≤13, K1 can be 3; when 13≤K≤15, K1 can be 4; when 15≤K≤17, K1 can be 5; when 18≤K≤19, K1 can be 6.

[0538] When K=20, K1 can be 7;

[0539] When K=21, K1 can be 8;

[0540] When K=22, K1 can be 9;

[0541] When 23≤K≤24, K1 can be 10;

[0542] When 24≤K≤25, K1 can be 11; when N=30,

[0543] When 4≤K≤5, K1 can be 0;

[0544] When 6≤K≤9, K1 can be 1;

[0545] When 9≤K≤12, K1 can be 2;

[0546] When 13≤K≤14, K1 can be 3; when 14≤K≤15, K1 can be 4; when 16≤K≤18, K1 can be 5; when 18≤K≤19, K1 can be 6; when 20≤K≤21, K1 can be 7.

[0547] When K=22, K1 can be 8;

[0548] When K=23, K1 can be 9;

[0549] When K=24, K1 can be 10;

[0550] When 25≤K≤26, K1 can be 11; when N=31,

[0551] When 4≤K≤5, K1 can be 0;

[0552] When 6≤K≤9, K1 can be 1;

[0553] When 9≤K≤12, K1 can be 2;

[0554] When 13≤K≤14, K1 can be 3; when 14≤K≤15, K1 can be 4; when 16≤K≤18, K1 can be 5; when 18≤K≤19, K1 can be 6; when 20≤K≤21, K1 can be 7.

[0555] When K=22, K1 can be 8;

[0556] When K=23, K1 can be 9;

[0557] When K=24, K1 can be 10;

[0558] When 25≤K≤26, K1 can be 11;

[0559] When K=27, K1 can be 12;

[0560] When N=32,

[0561] When 4≤K≤5, K1 can be 0;

[0562] When 6≤K≤9, K1 can be 1;

[0563] When 9≤K≤13, K1 can be 2;

[0564] When K=14, K1 can be 3;

[0565] When K=15, K1 can be 4;

[0566] When 16≤K≤18, K1 can be 5; when 19≤K≤20, K1 can be 6.

[0567] When K=21, K1 can be 7;

[0568] When 22≤K≤23, K1 can be 8;

[0569] When K=24, K1 can be 9;

[0570] When K=25, K1 can be 10;

[0571] When 26≤K≤27, K1 can be 11;

[0572] When K=28, K1 can be 12.

[0573] In the above example, when N takes the first value, N may be any one of 17, 18, ..., 32. For example, when N takes the first value 17, when the value of K falls within the 1st value range (i.e., the j-th value range) [4], the value of K1 is 0 (i.e., the j-th value); when the value of K falls within the 2nd value range (i.e., the (j+1)-th value range) [4, 6], the value of K1 is 1 (i.e., the (j+1)-th value); when the value of K falls within the 3rd value range (i.e., the (j+2)-th value range) [6, 9], the value of K1 is 2 (i.e., the (j+2)-th value); when the value of K falls within the 4th value range (i.e., the (j+3)-th value range)

[10] , the value of K1 is 3 (i.e., the (j+3)-th value); when the value of K falls within the 5th value range (i.e., the (j+4)-th value range)

[11] , the value of K1 is 4 (i.e., the (j+4)-th value); when the value of K falls within the 6th value range (i.e., the (j+5)-th value range) [12, 13], the value of K1 is 5 (i.e., the (j+5)-th value). In this case, the j-th value (i.e., 0) is less than the (j+1)-th value (i.e., 1), the lower bound of the j-th value range is equal to the lower bound of the (j+1)-th value range which is 4, and the upper bound of the j-th value range 4 is less than the upper bound of the (j+1)-th value range 6; the (j+1)-th value (i.e., 1) is less than the (j+2)-th value (i.e., 2), the lower bound of the (j+1)-th value range 4 is less than the lower bound of the (j+2)-th value range 6, and the upper bound of the (j+1)-th value range 6 is less than the upper bound of the (j+2)-th value range 9; the (j+2)-th value (i.e., 2) is less than the (j+3)-th value (i.e., 3), the lower bound of the (j+2)-th value range 6 is less than the lower bound of the (j+3)-th value range 10, and the upper bound of the (j+2)-th value range 9 is less than the upper bound of the (j+3)-th value range 10; the (j+3)-th value (i.e., 3) is less than the (j+4)-th value (i.e., 4), the lower bound of the (j+3)-th value range 10 is less than the lower bound of the (j+4)-th value range 11, and the upper bound of the (j+3)-th value range 10 is less than the upper bound of the (j+4)-th value range 11; the (j+4)-th value (i.e., 4) is less than the (j+5)-th value (i.e., 5), the lower bound of the (j+4)-th value range 11 is less than the lower bound of the (j+5)-th value range 12, and the upper bound of the (j+4)-th value range 11 is less than the upper bound of the (j+5)-th value range 13. The situation is similar when the first value is other values, and will not be enumerated one by one herein.

[0574] For another example, under the condition that 33 ≤ N ≤ 64 and 3 < K < N-3, when N takes different first values, each value range of K will correspondingly correspond to the value of K1, which will not be specifically illustrated herein.

[0575] The correspondence in each example in the foregoing embodiment a1 and embodiment a2 can be understood as a formula, and the first communication device can determine the value of K1 according to the foregoing formula.

[0576] Optionally, the foregoing correspondence is determined based on performance simulation results.

[0577] It should be understood that the above examples are only for illustrative purposes and are not to be construed as limiting the present application.

[0578] By means of the methods in the foregoing embodiment a1 and embodiment a2, the same N and K can correspond to one or more values of K1, so that there can be a value of K1 that achieves optimal performance under different bit error rates. For example, for a bit error rate of 10 -2 , 10 -4 , 10 -6 etc., there can exist a value of K1 such that the difference in bit error rate from the optimal construction is within 0.1 dB.

[0579] Optionally, in the foregoing embodiment a1 and embodiment a2, the value of N1 can be wherein, represents ceiling rounding, which enables the obtained first matrix to have better performance.

[0580] In an alternative embodiment, when the value of N1 is not for example, the value of N1 is , can be added on the basis of each value of K1 in the foregoing embodiment a1 and embodiment a2 wherein, represents floor rounding.

[0581] For example, in the foregoing embodiment a1, under the condition that 17≤N≤32 and 3<K<N-3, when K takes the second value, an example is given to illustrate the values of K1 corresponding to each value range of N. The value of N1 is in embodiment a1,

[0582] when 17≤N≤19, K1 can be 5;

[0583] when 20≤N≤29, K1 can be 4;

[0584] when 24≤N≤31, K1 can be 3;

[0585] when N=32, K1 can be 2;

[0586] when the value of N1 is , is added on the basis of each value of K1 correspondingly,

[0587] when 17≤N≤19, K1 can be 5 or 4;

[0588] when 20≤N≤29, K1 can be 4 or 3;

[0589] when 24≤N≤31, K1 can be 3 or 2;

[0590] When N=32, K1 can be 2 or 1.

[0591] In one alternative implementation, the value of K1 can satisfy max(0,K-N+N1)≤K1≤K / 2. This allows for K1 allocation schemes with different N1 values ​​that achieve optimal encoding and decoding performance.

[0592] Optionally, in addition to the methods in the aforementioned embodiments a1 and a2, the relationship between N, K, and K1 can also be obtained based on the following methods: the value of K1 can be fixed first, and then the range of N values ​​can be determined according to different K values, or the value of K1 can be fixed first, and then the range of K values ​​can be determined according to different N values. These will not be listed and explained one by one here.

[0593] In some implementations, the first matrix may be the matrix corresponding to the non-canonical polarization kernel, or in other words, the first matrix is ​​a non-canonical polarization matrix. The first submatrix and / or the second submatrix may be non-canonical polarization matrices.

[0594] In one alternative implementation, the first matrix may satisfy: Among them, G N Describes the first matrix. Let G represent the first submatrix. N-N1 Denotes the second submatrix. Optional, G N It can also be G N,K , It can also be written as G N1,K1 G N-N1 It can also be written as G N-N1,K-K1 .

[0595] Where N1≤N-N1, P is The matrix consisting of N1 columns of P; or, if N1 > N-N1, the matrix consisting of N-N1 columns of P is G. N-N1 .

[0596] In one implementation, N1 ≤ N - N1, P can be... The matrix formed by the 1st, ..., N1th columns of P; or, if N1 > N-N1, the matrix formed by the 1st, ..., N-N1th columns of P is G. N-N1 .

[0597] The first matrix G shown above N This can be the matrix obtained by coupling the topmost min{N1,N-N1} rows of the first and second submatrices. Here, min{,} represents taking the minimum value. Alternatively, the first matrix G shown above... NIt can be a matrix obtained by coupling the first submatrix with the min{N1,N-N1} output bits at the top of the second submatrix. In this coupling relationship, the first submatrix is ​​located above the second submatrix.

[0598] Optionally, if the value of N1 is greater than or equal to N / 2, the first submatrix is ​​coupled with columns 1 to N1 of the second submatrix; if the value of N1 is less than or equal to N / 2, the first to N1 positions of the first submatrix are coupled with the second submatrix.

[0599] In this application, the coupling method involves coupling multiple submatrices into a single matrix. The coupling method affects the coupled matrix, and thus its output bits. Specifically, the coupling method is determined by the coupling positions and coupling order between the submatrices. The coupling positions indicate which output bits of the submatrices are coupled to each other. The coupling order indicates the sequence in which the output bits of the submatrices are coupled.

[0600] For example, the coupling mode can be defined by h = (h1, ..., hm).

[0601] For example, if N1≤N-N1, and and The coupling method is In this coupling mode, The 1st to N1st positions are respectively with The Bit coupling. That is, for The N1 bits in the middle, which are respectively connected to... The first to N1 bits are coupled separately. For example, The first bit in The h1th bit in the coupling, The second bit in The h2th bit in the array is coupled, and so on. The matrix C corresponding to this coupling method is... N,K Constructed as in, represent In matrix form, represent In matrix form, P is The A submatrix composed of columns.

[0602] Taking N=5 and K=2 as an example, Figure 5a The [5,2] non-regular polarization nucleus shown is obtained by coupling the [2,0] non-regular polarization nucleus and the [3,2] non-regular polarization nucleus, that is, N1=2, K1=0, and the coupling position is (1,3). At this time, the matrix form is as follows. Figure 5bAs shown.

[0603] For example, if N1 > N - N1, and and The coupling mode is h = (h1, ..., h N1 In this coupling mode, of The positions are respectively with The first to N1th bits are coupled. That is, for The N1 bits in the middle, which are respectively connected to... The first to N1 bits are coupled separately. For example, The first bit in The h1th bit in the coupling, The second bit in The h2th bit in the array is coupled, and so on. The matrix C corresponding to this coupling method is... N,K Constructed as in, represent In matrix form, represent In matrix form, the first P The submatrix composed of columns is The other positions are 0.

[0604] Taking N=5 and K=3 as an example, such as Figure 6a The [5,2] non-regular polarization nucleus shown is obtained by coupling the [3,2] non-regular polarization nucleus and the [2,1] non-regular polarization nucleus, that is, N1=3, K1=2, and the coupling position is (2,3). At this time, the matrix form is as follows. Figure 6b As shown.

[0605] In some implementations, the first submatrix and / or the second submatrix can be obtained through iterative coupling or nested coupling of matrices with smaller dimensions. For example, the first submatrix can be obtained by coupling a first sub-submatrix and a second sub-submatrix. Iterative coupling or nested coupling means that a larger-dimensional matrix can be obtained by coupling a smaller-dimensional submatrix, and further, a submatrix can be obtained by coupling an even smaller-dimensional sub-submatrix, and so on. For example, the first matrix is ​​obtained by coupling a first submatrix and a second submatrix, where the first submatrix and / or the second submatrix can be obtained by coupling an even smaller-dimensional sub-submatrix. The coupling method between multiple sub-submatrices can refer to the coupling method of multiple submatrices, and will not be elaborated further. Further optionally, the sub-submatrix can still be obtained by a smaller-dimensional matrix, and so on. Therefore, the first communication device and / or the second communication device do not need to store a large-size matrix, but only need to store a small-dimensional matrix, and obtain a larger-size matrix through nested coupling of smaller-size matrices, which can reduce storage overhead.

[0606] Optionally, the minimum dimension matrix can be considered predefined, and a larger dimension matrix can be obtained by coupling from the minimum dimension matrix. For example, the minimum dimension matrix can be predefined by a standard, preconfigured by the network, or determined by signaling between the first and second communication devices.

[0607] In one optional implementation, the first communication device performs polar code encoding on the information bit sequence according to the first matrix, which can be achieved by the following method: the first communication device can determine the information bit index set according to the reliability sequence and selection rules, place information bits in the information bit index set, and place frozen bits in the remaining positions to obtain the bit sequence before encoding (e.g., ...). Figure 3a In the relevant description Then, using the first matrix as the polarization kernel, polarization encoding is performed on the bit sequence before encoding through the polarization kernel operation corresponding to the first matrix to obtain the encoded bit sequence. This application does not limit the method for determining the reliability sequence.

[0608] One possible way to determine the information bit index set is to select the indices of the K most reliable polarization channels as the information bit index set.

[0609] In another possible way to determine the information bit index set, after removing the bit indices corresponding to rate matching from the reliability sequence, the K most reliable indices are selected from the remaining bit indices as the information bit index set. The bit indices corresponding to rate matching include the bit indices corresponding to shortening or puncturing, and optionally, also include pre-frozen bit indices.

[0610] Another possible way to determine the information bit index set is to select K1 highly reliable indices from the first N1 indices as the information bit index set, and then select K-K1 highly reliable indices from the last N-N1 indices as the information bit index set. Here, the first N1 indices are the indices corresponding to the first submatrix, and the last N-N1 indices are the indices corresponding to the second submatrix.

[0611] Step 402: The first communication device outputs the encoded bit sequence.

[0612] Optionally, the first communication device may output the polar-coded bit sequence after rate matching and / or modulation operations.

[0613] In some implementations, "output" can refer to output via an air interface or output to other devices or modules via an internal interface of the device.

[0614] Based on the above communication method, the first matrix can be a matrix corresponding to a suitable polarization kernel constructed based on N and K. Thus, the first communication device performs polar code encoding on the information bit sequence according to the first matrix. Polar code encoding can be performed using a suitable matrix, thereby improving encoding and decoding performance.

[0615] It is understandable that the second communication device can perform polarization decoding on the sequence to be decoded based on the same first matrix. For example... Figure 7 As shown, the second communication device can perform decoding through the following steps:

[0616] Step 701: The second communication device acquires the sequence to be decoded.

[0617] For example, the second communication device can receive the sequence to be decoded from the first communication device, or receive modulated symbol information from the first communication device and obtain the sequence to be decoded based on the modulated symbol information.

[0618] In one implementation method, the second communication device acquires the sequence to be decoded by receiving physical signals over an air interface and obtaining the sequence by parsing the physical signals. Alternatively, the second communication device can acquire the sequence to be decoded locally through an internal interface, where the sequence can be obtained by parsing physical signals from other local devices, apparatuses, or modules. The aforementioned physical signals can carry the polar-coded bit sequence sent by the first communication device.

[0619] In other words, as an example, the first communication device can send a physical signal to the second communication device, which carries the polar-coded bit sequence obtained in step 402. The second communication device receives the physical signal generated based on the polar-coded bit sequence, parses the physical signal, and obtains the sequence to be decoded. That is, the sequence to be decoded corresponds to the encoded bit sequence sent by the first communication device.

[0620] Step 702: The second communication device decodes the sequence to be decoded according to the first matrix to obtain the decoded bit sequence.

[0621] Among them, the first matrix is ​​the same as the aforementioned Figure 4 The first matrix involved in the illustrated embodiments is the same and can be referred to accordingly, so it will not be repeated here. That is, the second communication device can refer to... Figure 4 The method for determining the first matrix as shown in the illustrated embodiment will not be repeated here.

[0622] During the decoding process, the second communication device can perform polarization decoding of the sequence to be decoded based on the reliability sequence. This application does not limit the specific method by which the second communication device performs polarization decoding. The decoded bit sequence obtained through polarization decoding can be the information bit sequence from step 401, thus achieving decoding. Here, the reliability sequence can be the same as the reliability sequence used by the first communication device for polarization encoding.

[0623] For example, the second communication device can determine the information bit index set based on the reliability sequence, and then determine the information bits and frozen bits based on the information bit index set. Further, the sequence of symbols to be decoded can be decoded using methods such as SC, SCL, and BP, and the value of each information bit can be estimated based on the matching sequence to be decoded to determine the information bit sequence. The method by which the second communication device determines the information bit index set is similar to the method used by the first communication device when performing polar coding, and will not be repeated here.

[0624] Taking SCL decoding as an example, the second communication device can determine possible decoding path trees based on the first matrix, where different matrices correspond to different decoding path trees. For any matrix, the second communication device can decode any decoding path according to SCL, corresponding to a possible codeword. Each codeword corresponds to a certain number of information bits and one or more CRC bits. The second communication device can further perform CRC verification on the possible codewords, that is, calculate the CRC based on the information bits and compare the CRC with the value of the CRC bits. If the comparison result is inconsistent, the path can be excluded; if the comparison is consistent, the path can be determined to have passed the CRC verification. Based on this, the second communication device can obtain one or more candidate paths that have passed the CRC verification in a decoding path tree. After traversing the decoding path trees corresponding to multiple matrices, the second communication device can further determine the candidate path whose codeword is closest to the codeword contained in the symbol sequence to be decoded among all the candidate paths that have passed the CRC verification in multiple matrices or multiple decoding path trees, and take this as the optimal or correct decoding path. Accordingly, the value of the information bits corresponding to this path can be used as the decoding result, that is, as the information bit sequence obtained by decoding.

[0625] Based on the above communication method, the first matrix can be constructed based on N and K to correspond to a suitable polarization kernel. The second communication device can then decode the sequence to be decoded according to the first matrix. By using a suitable matrix for decoding, the decoding performance can be improved.

[0626] In some implementations, N and K do not satisfy the following relationship: N < 2 K -1, N < 2 N-K When any of the following relationships is met: -1, K3 < K < N-K2, the first communication device can perform polar code encoding in a manner other than step 401. Alternatively, if the above relationships are not satisfied, the first communication device can perform polar code encoding based on a matrix other than the first matrix and output the encoded bit sequence.

[0627] In one alternative implementation, N≥2 K When -1 and K≤K3, the first communication device can perform polar coding using a matrix determined by a simplex code matrix extension method (which can be denoted as the second matrix) to obtain the polar-coded bit sequence. N≥2 N-K When K ≥ N-K2, the first communication device can perform polar coding on the matrix (which can be denoted as the third matrix) determined by the matrix extension method based on Hamming code to obtain the polar-coded bit sequence.

[0628] For example, when K ≤ 3, the first communication device can perform polar coding using the second matrix to obtain the polar-coded bit sequence. When K ≥ N-3, the first communication device can perform polar coding using the third matrix to obtain the polar-coded bit sequence.

[0629] Where, [N=2 l -1,K=l] Simplex code and [N=2 l -1, K = 2 l Hamming codes are a commonly used coding method in channel coding, and simplex codes and Hamming codes are dual codes. Simplex codes and Hamming codes have advantages such as large minimum distance and low decoding error rate. Code lengths E≥2 can be constructed based on simplex codes through extension. l -1. A simplex code-based kernel with l information bits, and a Hamming code-based extended kernel with a length E≥2. l -1. A Hamming code-based kernel for the number of information bits El. Where l is a positive integer. In this application, [N,K] simplex code can refer to a simplex code corresponding to [N,K], and [N,K] Hamming code can refer to a Hamming code corresponding to [N,K]. [N,K] simplex code and / or [N,K] Hamming code can be predefined by a standard, pre-configured by the network, or determined by signaling between the first and second communication devices.

[0630] For example, l=3, can be based on Figure 8 The [7,3] simplex code is used to construct the [E,3] extended simplex code. The extended simplex code is the second matrix.

[0631] For example, [2] l -1,l] Simplex code can be formed by a length of 2 l The Arikan polar code is obtained by shortening the last bit, where, [2 l The information bits in the simplex code are the second... (-1, l) l -2 r Bit, 0≤r≤l-1. Based on [2] l The simplex code [-1,l] can be extended to obtain [m(2] l The encoding matrix is ​​[1, (m-1), l], where m is a positive integer. The [1, (m-1)(2)] encoding matrix is ​​used. l -1)] column and [1,(m-1)(2 l The submatrix formed by rows [k(2)] is the identity matrix. For 0 ≤ k ≤ m-1, the submatrix formed by rows [k(2)] is the identity matrix. l -1)+1,(k+1)(2 l -1)] column and [(m-1)(2 l -1)+1,m(2 l The submatrix formed by rows -1) is [2l The encoding matrix corresponding to the simplex code [-1, l]. The information bits are [2 l -1,l] The information bit sequence number of the simplex code plus (m-1)(2) l -1). If the length of the encoding matrix is ​​(m-1)(2) l -1)+q,1≤q≤2 l -2, and q is an integer, then the matrix can be obtained from [m(2 l The encoding matrix of [2] (-1), l] l -q,m(2 l -1)] column and [2] l -q,m(2 l The submatrix is ​​obtained by forming rows [-1). For example, Figure 9 For based on Figure 8 The image shows the encoding matrix of the [7,3] simplex code extended to [E=16,3], where the lower right corner [7,3] is the encoding matrix of the simplex code before extension (i.e., G). 7,3 ).

[0632] For example, if l = 3, it can be based on Figure 10 The [7,4] Hamming code is used to construct the [E,E-3] extended Hamming code. The extended Hamming code is the third matrix.

[0633] For example, [2] l -1,2 l -l-1] Hamming code can be of length 2 l The last bit of the Arikan polar code punched is obtained, and the information bit is the 2nd bit. r Bit, 0≤r≤l-1. Based on [2] l -1,2 l Hamming code -l-1] can be extended to obtain [m(2 l -1),m(2 l The encoding matrix of [k(2)-l]. Where, for 1≤k≤m-1, the [k(2)-l] ...-l]-l-l]-l-l]-l-l]-l-l]-l-l]-l-l]-l-l]-l-l l -1)+1,(k+1)(2 l -1)] column and [k(2 l -1)+1,(k+1)(2 l The submatrix formed by rows [-1)] is the identity matrix, and the submatrix in [1,2] is the identity matrix. l -1] column and [k(2 l -1)+1,(k+1)(2 l The submatrix formed by rows [-1)] is also an identity matrix. l -1] column and [1,2] l The submatrix formed by rows -1 is [2] l -1,2 lThe Hamming code encoding matrix is ​​[-l-1]. The information bits are [2]. l -1,2 l -l-1] The information bit sequence number of the Hamming code. If the length of the coding matrix is ​​(m-1)(2 l -1)+q, 1≤q≤2 l -2, and q is an integer, then the matrix can be obtained from [m(2 l -1),t(2 l The encoding matrix of [1,(m-1)(2] is a matrix whose [1,(m-1)(2]th]th digit ... l -1)+q] column and [1,(m-1)(2 l The submatrix is ​​obtained by forming rows [-1)+q]. For example, Figure 11 For based on Figure 10 The image shows the encoding matrix of the [16,13] code obtained by extending the [7,4] Hamming code, where the upper left corner is the encoding matrix of the Hamming code before the [7,4] extension (i.e., G). 7,4 ).

[0634] Based on the above embodiments, this application also provides a communication device, see below. Figure 12 As shown, the communication device 1200 may include a transceiver unit 1201 and a processing unit 1202. The transceiver unit 1201 is used for communication by the communication device 1200, such as receiving or sending information (signals or data). The processing unit 1202 is used for controlling and managing the operation of the communication device 1200. The processing unit 1202 can also control the steps performed by the transceiver unit 1201.

[0635] For example, the communication device 1200 may specifically be a first communication device or a component (e.g., a processor, chip, chip system, component, module, functional module, etc.) for the first communication device as described in the above embodiments. The component for the first communication device may be within the first communication device or may be independent of the first communication device but coupled to it. The first communication device may be a terminal device or a network device. Alternatively, the communication device 1200 may specifically be a second communication device or a component (e.g., a processor, chip, chip system, component, module, functional module, etc.) for the second communication device as described in the above embodiments. The component for the second communication device may be within the second communication device or may be independent of the second communication device but coupled to it. The second communication device may be a terminal device or a network device.

[0636] For example, the chip or chip system can be a modem chip, also known as a baseband chip, or a SoC chip or SIP chip containing a modem core.

[0637] In one embodiment, when the communication device 1200 is used to implement the function of the first communication device in the above embodiment, the processing unit 1202 can be used to perform polar code encoding on the information bit sequence of length K according to the first matrix to obtain the encoded bit sequence of length N; the code length corresponding to the first matrix is ​​N, the number of information bits corresponding to the first matrix is ​​K, and the first matrix is ​​determined based on the first sub-matrix and the second sub-matrix; the code length corresponding to the first sub-matrix is ​​N1, the number of information bits corresponding to the first sub-matrix is ​​K1, the code length corresponding to the second sub-matrix is ​​N-N1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1; wherein, when the value of N is a first value and the value of K is a second value, the first value and the second value together correspond to at least one value of K1; different values ​​of K1 correspond to different first sub-matrixes; N, K, N1 and K1 are positive integers, N is greater than N1, and K is greater than K1; the transceiver unit 1201 can be used to output the encoded bit sequence.

[0638] In one optional implementation, when the value of N is a first value and the value of K is a second value, the first value and the second value together correspond to at least one value of K1, which may include: when the value of N is the first value and the value of K is the second value, the first value and the second value together correspond to at least two values ​​of K1.

[0639] Optionally, the processing unit 1202 can also be used to: when the value of N is the first value and the value of K is the second value, determine one of the at least two values ​​of K1 according to preset rules and / or channel conditions.

[0640] For example, at least one of N1 and N-N1 is not an integer power of 2.

[0641] In one possible approach, when the value of K is the second value, the value of K1 is related to the range of values ​​to which the value of N belongs; or, when the value of N is the first value, the value of K1 is related to the range of values ​​to which the value of K belongs.

[0642] In one example, the value of K1 is related to the value range to which the value of N belongs, and may include: when the value of N belongs to the i-th value range, the value of K1 is the i-th value; when the value of N belongs to the (i+1)-th value range, the value of K1 is the (i+1)-th value; wherein i is an integer from 1 to s, s is a positive integer, the i-th value is greater than the (i+1)-th value, the lower bound of the i-th value range is less than or equal to the lower bound of the (i+1)-th value range, the upper bound of the i-th value range is less than or equal to the upper bound of the (i+1)-th value range, and the i-th value, the i-th value range, and s are related to K.

[0643] Another example is that the value of K1 is related to the range of values ​​to which the value of K belongs. This can include: when the value of K belongs to the j-th value range, the value of K1 is the j-th value; when the value of K belongs to the (j+1)-th value range, the value of K1 is the (j+1)-th value; wherein, j is an integer from 1 to t, t is a positive integer, the j-th value is less than the (j+1)-th value, the lower bound of the j-th value range is less than or equal to the lower bound of the (j+1)-th value range, the upper bound of the j-th value range is less than or equal to the upper bound of the (j+1)-th value range, and the j-th value, the j-th value range, and t are related to N.

[0644] In some implementations, N < 2 K -1, N < 2 N-K -1, K3 < K < N-K2, where K2 and K3 are positive integers.

[0645] For example, 3 <K<N-3。

[0646] Optionally, N1 can take the value of or

[0647] Optionally, max(0,K-N+N1)≤K1≤K / 2.

[0648] In one alternative implementation, the first matrix satisfies:

[0649] Among them, G N Represents the first matrix, Let G represent the first submatrix. N-N1 This represents the second submatrix;

[0650] Where N1≤N-N1, P is A matrix consisting of N1 columns; or,

[0651] If N1 > N-N1, then the matrix formed by the N-N1 columns of P is G. N-N1 .

[0652] In some implementations, N ≥ 17.

[0653] Optional, 17≤N≤32 or 33≤N≤64.

[0654] In another embodiment, when the communication device 1200 is used to implement the function of the second communication device in the above embodiment, the transceiver unit 1201 can be used to acquire the sequence to be decoded; the processing unit 1202 can be used to decode the sequence to be decoded according to the first matrix to obtain the decoded bit sequence; the code length corresponding to the first matrix is ​​N, the number of information bits corresponding to the first matrix is ​​K, and the first matrix is ​​determined based on the first sub-matrix and the second sub-matrix; the code length corresponding to the first sub-matrix is ​​N1, the number of information bits corresponding to the first sub-matrix is ​​K1, the code length corresponding to the second sub-matrix is ​​N-N1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1; wherein, when the value of N is a first value and the value of K is a second value, the first value and the second value together correspond to at least one value of K1; different values ​​of K1 correspond to different first sub-matrixes; N, K, N1 and K1 are positive integers, N is greater than N1, and K is greater than K1.

[0655] In one optional implementation, when the value of N is a first value and the value of K is a second value, the first value and the second value together correspond to at least one value of K1, which may include: when the value of N is the first value and the value of K is the second value, the first value and the second value together correspond to at least two values ​​of K1.

[0656] Optionally, the processing unit 1202 can also be used to: when the value of N is the first value and the value of K is the second value, determine one of the at least two values ​​of K1 according to preset rules and / or channel conditions.

[0657] For example, at least one of N1 and N-N1 is not an integer power of 2.

[0658] In one possible approach, when the value of K is the second value, the value of K1 is related to the range of values ​​to which the value of N belongs; or, when the value of N is the first value, the value of K1 is related to the range of values ​​to which the value of K belongs.

[0659] In one example, the value of K1 is related to the value range to which the value of N belongs, and may include: when the value of N belongs to the i-th value range, the value of K1 is the i-th value; when the value of N belongs to the (i+1)-th value range, the value of K1 is the (i+1)-th value; wherein i is an integer from 1 to s, s is a positive integer, the i-th value is greater than the (i+1)-th value, the lower bound of the i-th value range is less than or equal to the lower bound of the (i+1)-th value range, the upper bound of the i-th value range is less than or equal to the upper bound of the (i+1)-th value range, and the i-th value, the i-th value range, and s are related to K.

[0660] Another example is that the value of K1 is related to the range of values ​​to which the value of K belongs. This can include: when the value of K belongs to the j-th value range, the value of K1 is the j-th value; when the value of K belongs to the (j+1)-th value range, the value of K1 is the (j+1)-th value; wherein, j is an integer from 1 to t, t is a positive integer, the j-th value is less than the (j+1)-th value, the lower bound of the j-th value range is less than or equal to the lower bound of the (j+1)-th value range, the upper bound of the j-th value range is less than or equal to the upper bound of the (j+1)-th value range, and the j-th value, the j-th value range, and t are related to N.

[0661] In some implementations, N < 2 K -1, N < 2 N-K -1, K3 < K < N-K2, where K2 and K3 are positive integers.

[0662] For example, 3 <K<N-3。

[0663] Optionally, N1 can take the value of or

[0664] Optionally, max(0,K-N+N1)≤K1≤K / 2.

[0665] In one alternative implementation, the first matrix satisfies:

[0666] Among them, G N Represents the first matrix, Let G represent the first submatrix. N-N1 This represents the second submatrix;

[0667] Where N1≤N-N1, P is A matrix consisting of N1 columns; or,

[0668] If N1 > N-N1, then the matrix formed by the N-N1 columns of P is G. N-N1 .

[0669] In some implementations, N ≥ 17.

[0670] Optional, 17≤N≤32 or 33≤N≤64.

[0671] It should be noted that the division of units in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The functional units in the 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 units described above can be implemented in hardware or as software functional units.

[0672] 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 technical solution of this application, in essence, or the part that contributes to the prior art, 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.) or processor 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, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0673] Based on the above embodiments, this application also provides a communication device, see below. Figure 13 As shown, the communication device 1300 may include one or more processors 1302. Optionally, the communication device 1300 may also include one or more communication interfaces 1301. Optionally, the communication device 1300 may also include at least one memory 1303. The memory 1303 may be located internally or externally to the communication device 1300. The processor 1302 may control the communication interface 1301 to receive and send information, messages, or data. For example, the communication interface 1301 may be a transceiver, circuit, bus, module, input / output interface, or other types of communication interface.

[0674] Specifically, the processor 1302 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. The processor 1302 may further include a hardware chip. This hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0675] The communication interface 1301, the processor 1302, and the memory 1303 are interconnected. Optionally, the communication interface 1301, the processor 1302, and the memory 1303 are interconnected via a bus 1304; the bus 1304 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0676] In one optional embodiment, the memory 1303 is used to store programs, etc. Specifically, the program may include program code, which includes computer operation instructions. The memory 1303 may include cache, RAM, and may also include non-volatile memory, such as one or more disk storage devices. The processor 1302 executes the application program stored in the memory 1303, and / or, through logic circuits, implements the above functions, thereby realizing the functions of the communication device 1300.

[0677] For example, the communication device 1300 can specifically implement the functions of the first communication device or the second communication device in the above embodiments.

[0678] In one embodiment, when the communication device 1300 implements the functions of the first communication device in the aforementioned method embodiment, the communication interface 1301 can implement the send / receive operations performed by the first communication device in the aforementioned method embodiment; the processor 1302 can implement other operations performed by the first communication device in the aforementioned method embodiment besides the send / receive operations. Specific details can be found in the relevant descriptions in the above method embodiments, and will not be elaborated upon here.

[0679] In another embodiment, when the communication device 1300 implements the functions of the first communication device in the aforementioned method embodiments, the processor 1302 can implement the operations performed by the first communication device in the aforementioned method embodiments. Specific details can be found in the relevant descriptions in the above method embodiments, and will not be elaborated upon here.

[0680] In yet another embodiment, when the communication device 1300 implements the functions of the second communication device in the aforementioned method embodiments, the communication interface 1301 can implement the send / receive operations performed by the second communication device in the aforementioned method embodiments; the processor 1302 can implement other operations performed by the second communication device in the aforementioned method embodiments besides the send / receive operations. Specific details can be found in the relevant descriptions in the above method embodiments, and will not be elaborated upon here.

[0681] In yet another embodiment, when the communication device 1300 implements the functions of the second communication device in the aforementioned method embodiments, the processor 1302 can implement the operations performed by the second communication device in the aforementioned method embodiments. Specific details can be found in the relevant descriptions in the above method embodiments, and will not be elaborated upon here.

[0682] Based on the above embodiments, this application provides a communication system, which may include the first communication device and the second communication device involved in the above embodiments.

[0683] This application also provides a computer-readable storage medium for storing computer programs or instructions. When the computer programs or instructions are executed by a computer, the computer can implement the communication methods provided in the above-described method embodiments.

[0684] This application also provides a computer program product for storing computer programs or instructions. When the computer program or instructions are executed by a computer, the computer can implement the communication method provided in the above method embodiments.

[0685] This application also provides a chip or chip system, including logic circuitry, which is used to execute the communication method provided in the above-described method embodiments.

[0686] This application also provides a chip or chip system, including one or more processors, wherein the one or more processors are coupled to at least one memory, for calling a program in the memory to enable the chip or chip system to implement the communication method provided in the above method embodiments.

[0687] This application also provides a chip or chip system coupled to at least one memory, which is used to implement the communication method provided in the above method embodiments.

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

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

[0690] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0691] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1The steps of the function specified in one or more boxes.

[0692] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A communication method, characterized in that, include: A first matrix is ​​used to polar code encode an information bit sequence of length K to obtain an encoded bit sequence of length N. The first matrix has a code length of N and a number of information bits of length K. The first matrix is ​​determined based on a first sub-matrix and a second sub-matrix. The first sub-matrix has a code length of N1 and a number of information bits of length K1. The second sub-matrix has a code length of N-N1 and a number of information bits of length K-K1. When N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1. Different values ​​of K1 correspond to different first sub-matrixes. N, K, N1, and K1 are positive integers, where N is greater than N1 and K is greater than K1. Output the encoded bit sequence.

2. A communication method, characterized in that, include: Obtain the sequence to be decoded; The sequence to be decoded is decoded according to the first matrix to obtain the decoded bit sequence; The first matrix has a code length of N and a number of information bits of K. The first matrix is ​​determined based on a first sub-matrix and a second sub-matrix. The first sub-matrix has a code length of N1 and a number of information bits of K1. The second sub-matrix has a code length of N-N1 and a number of information bits of K-K1. When N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1. Different values ​​of K1 correspond to different first sub-matrixes. N, K, N1, and K1 are positive integers, where N is greater than N1 and K is greater than K1.

3. The method as described in claim 1 or 2, characterized in that, When N is a first value and K is a second value, the first value and the second value together correspond to at least one value of K1, including: When N is the first value and K is the second value, the first value and the second value together correspond to at least two values ​​of K1.

4. The method as described in claim 3, characterized in that, The method further includes: When N is the first value and K is the second value, one of the at least two values ​​of K1 is determined according to preset rules and / or channel conditions.

5. The method according to any one of claims 1-4, characterized in that, At least one of N1 and N-N1 is not an integer power of 2.

6. The method according to any one of claims 1-5, characterized in that, When the value of K is the second value, the value of K1 is related to the range of values ​​to which the value of N belongs; or When N is the first value, the value of K1 is related to the range of values ​​to which the value of K belongs.

7. The method as described in claim 6, characterized in that, The value of K1 is related to the range of values ​​to which the value of N belongs, including: When the value of N belongs to the i-th value range, the value of K1 is the i-th value; when the value of N belongs to the (i+1)-th value range, the value of K1 is the (i+1)-th value; wherein, i is an integer from 1 to s, s is a positive integer, the i-th value is greater than the (i+1)-th value, the lower bound of the i-th value range is less than or equal to the lower bound of the (i+1)-th value range, the upper bound of the i-th value range is less than or equal to the upper bound of the (i+1)-th value range, and the i-th value, the i-th value range, and s are related to K; or The value of K1 is related to the range of values ​​to which the value of K belongs, including: When the value of K belongs to the j-th value range, the value of K1 is the j-th value; when the value of K belongs to the (j+1)-th value range, the value of K1 is the (j+1)-th value; wherein, j is an integer from 1 to t, t is a positive integer, the j-th value is less than the (j+1)-th value, the lower bound of the j-th value range is less than or equal to the lower bound of the (j+1)-th value range, the upper bound of the j-th value range is less than or equal to the upper bound of the (j+1)-th value range, and the j-th value, the j-th value range, and t are related to N.

8. The method according to any one of claims 1-7, characterized in that, N<2 K -1, N < 2 N-K -1, K3 < K < N-K2, where K2 and K3 are positive integers.

9. The method as described in claim 8, characterized in that, 3 <K<N-3。 10. The method according to any one of claims 1-9, characterized in that, The value of N1 is or 11. The method according to any one of claims 1-10, characterized in that, max(0,K-N+N1)≤K1≤K / 2.

12. The method according to any one of claims 1-11, characterized in that, The first matrix satisfies: Among them, G N Represents the first matrix, Let G represent the first submatrix. N-N1 This represents the second submatrix; Where N1≤N-N1, P is A matrix consisting of N1 columns; or, If N1 > N-N1, then the matrix formed by the N-N1 columns of P is G. N-N1 .

13. The method according to any one of claims 1-12, characterized in that, N≥17。 14. The method as described in claim 13, characterized in that, 17≤N≤32 or 33≤N≤64.

15. A communication device, characterized in that, It includes units or modules for performing the method as described in any one of claims 1, 3-14, or includes units or modules for performing the method as described in any one of claims 2-14.

16. A communication device, characterized in that, Includes a processor configured to cause the communication device to implement the method as described in any one of claims 1, 3-14, or the method as described in any one of claims 2-14, by executing computer programs or instructions, and / or by logic circuitry.

17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed by a communication device, implement the method as described in any one of claims 1, 3-14, or the method as described in any one of claims 2-14.

18. A computer program product, characterized in that, The computer program product includes a computer program or instructions that, when executed by a computer, cause the method as described in any one of claims 1, 3-14 to be implemented, or the method as described in any one of claims 2-14 to be implemented.