A communication method and apparatus

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

Patent Information

Application Number
CN202510372208.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

[0040]以上第三方面至第十方面所带来的技术效果可参见上述第一方面至第二方面中相应方案有益效果的描述,此处不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122845018A_ABST
    Figure CN122845018A_ABST
Patent Text Reader

Abstract

A communication method and apparatus are disclosed to rationally determine the polarization kernel operation mode based on the code length and information bit length, thereby improving encoding and decoding performance. The method includes: a first device acquiring an information bit sequence; the first device performing polarization encoding on the information bit sequence according to a first matrix to obtain a polarized encoded bit sequence, wherein the first matrix is ​​obtained based on a first sub-matrix of size N1*N1 and a second sub-matrix of size (N-N1)*(N-N1), the first sub-matrix corresponding to the number of information bits is K1, and the second sub-matrix corresponding to the number of information bits is K-K1, wherein N1 is determined based on N and / or K, and K1 is determined based on N and / or K; the first device outputting the polarized encoded bit sequence; N and K satisfy: N < 2. K -1 or K≤K2, where K2 is a positive integer less than K; and N<2 N‑K -1 or K≥N-K3, where K3 is a positive integer less than K.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Polar codes were 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" Shannon channel capacity, and have advantages such as good decoding performance and low complexity. The polar coding process includes polar kernel operations. Each polar kernel operation requires multiplying multiple input bits with the matrix corresponding to the polar kernel to obtain output bits. The output bits of different polar kernel operations are coupled to obtain the polar coding result.

[0003] Currently, how to perform polarization kernel operations on code length and information bit length 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 for rationally determining the polarization kernel operation mode based on the code length and information bit length.

[0005] In a first aspect, embodiments of this application provide an encoding method, which can be executed by a first device. Unless otherwise specified, the "first device" in this application can refer to the first device itself (e.g., a terminal, terminal device, or network device), a component used in the first device (e.g., a functional module, communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first device. The component used in the first device can be within the first device or independent of it. The first device can be a transmitting device, and correspondingly, the receiving device is a second device.

[0006] Taking the first device as the executing entity as an example, the method includes:

[0007] The first device acquires an information bit sequence; the first device performs polar coding on the information bit sequence according to a first matrix to obtain a polar-coded bit sequence, the length of the information bit sequence is K, and the code length is N. The first matrix is ​​obtained by a first sub-matrix of size N1*N1 and a second sub-matrix of size (N-N1)*(N-N1). The number of information bits corresponding to the first sub-matrix is ​​K1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1, where K, N, N1, and K1 are positive integers, N is greater than N1, K is greater than K1, N1 is determined based on N and / or K, and K1 is determined based on N and / or K; the first device outputs the polar-coded bit sequence; where N and K satisfy: N < 2 K -1 or K≤K2, where K2 is a positive integer less than K; and N<2 N-K -1 or K≥N-K3, where K3 is a positive integer less than K.

[0008] Based on this implementation method, the first matrix can be reasonably determined according to the code length N and the information bit length K. The first matrix can determine the polarization kernel operation mode, thus enabling the reasonable determination of the polarization kernel operation mode and improving the encoding and decoding performance.

[0009] Secondly, embodiments of this application provide a decoding method, which can be executed by a second device. Unless otherwise specified, the "second device" in this application can refer to the second device itself (e.g., a terminal, terminal equipment, or network device), a component within the second device (e.g., a functional module, communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the second device. The components used in the second device can be within the second device or independent of it. The second device can be a receiving device.

[0010] Taking the second device as the executing entity as an example, the method includes:

[0011] The second device acquires the sequence of symbols to be decoded; the second device performs polarization decoding on the sequence of symbols to be decoded according to the first matrix to obtain the decoding result. The length of the information bit sequence is K, and the code length is N. The first matrix is ​​obtained by a first submatrix of size N1*N1 and a second submatrix of size (N-N1)*(N-N1). The number of information bits corresponding to the first submatrix is ​​K1, and the number of information bits corresponding to the second submatrix is ​​K-K1. Wherein, K, N, N1, and K1 are positive integers, N is greater than N1, K is greater than K1, N1 is determined based on N and / or K, and K1 is determined based on N and / or K. Wherein, N and K satisfy: N < 2 K -1 or K≤K2, where K2 is a positive integer less than K; and N<2 N-K-1 or K≥N-K3, where K3 is a positive integer less than K.

[0012] In one possible implementation of the first aspect and / or the second aspect, the first matrix satisfies:

[0013] Among them, G N Represents the first matrix, Denotes the first submatrix. This represents the second submatrix;

[0014] N1≤N-N1, P is G N-N1 The matrix consisting of the 1st, 2nd, ..., N1st columns; or,

[0015] If N1>N-N1, the matrix formed by the 1st, 2nd, ..., N-N1th columns of P is:

[0016] Based on this implementation, the first matrix can be obtained by coupling the topmost min{N1,N-N1} rows of the first and second submatrices, thus enabling polar coding based on the first matrix. This approach offers superior performance compared to using regular polar kernels, allowing for flexible determination of the first matrix. Therefore, the first and / or second devices can store the first and second submatrices and determine the first matrix based on them, without needing to store the first matrix itself. Since storing the first matrix incurs greater storage overhead than storing both the first and second submatrices, this implementation reduces storage costs.

[0017] In one possible implementation of the first and / or second aspect, the value of N1 is... or

[0018] Based on this implementation, the value of N1 is... or This approach allows for the proper determination of the first matrix, thereby improving encoding and decoding performance. Furthermore, this implementation method can reduce the design complexity of the first matrix.

[0019] In one possible implementation of the first aspect and / or the second aspect, max(0,K-N+N1)≤K1≤K / 2.

[0020] Based on this implementation, when the value of K1 meets the above range, better encoding and decoding performance can be obtained.

[0021] In one possible implementation of the first and / or second aspect, N ≤ 16, and the value of K1 is... or

[0022] Based on this implementation, when the value of K1 meets the above range, better encoding and decoding performance can be obtained.

[0023] In one possible implementation of the first aspect and / or the second aspect, N ≤ 64.

[0024] Based on this implementation method, if the value of N satisfies the above range, a first matrix with a code length less than or equal to 64 can be constructed, reducing the implementation complexity.

[0025] Thirdly, a communication device is provided. The device can implement the methods described in any one of the first to second aspects and any possible implementations thereof. The device possesses the functions of the first or second communication device described above. The device is, for example, a terminal device, a functional module within a terminal device, a network device, or a functional module within a network device, etc.

[0026] In one optional implementation, the device may include modules corresponding one-to-one with the methods / operations / steps / actions described in any of the first to second aspects and any possible implementations thereof. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In another optional implementation, the device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a transceiver module, communication module, etc.). The transceiver unit is capable of both sending and receiving functions. When the transceiver unit performs the sending function, it may be called a sending unit (sometimes also called a sending module); when it performs the receiving function, it may be called a receiving unit (sometimes also called a receiving module). The sending unit and the receiving unit may be the same functional module, referred to as the transceiver unit, which performs both sending and receiving functions; or, the sending unit and the receiving unit may be different functional modules, with the transceiver unit being a collective term for these functional modules.

[0027] For example, when the apparatus is used to perform the method described in any one of the first to second aspects, the apparatus may include a communication unit and a processing unit.

[0028] Fourthly, embodiments of this application also provide a communication device, including a processor for executing a computer program (or computer-executable instructions) stored in a memory, which, when executed, causes the device to perform the method as described in any one of the first to second aspects and any possible implementation thereof.

[0029] In one possible implementation, the processor and memory are integrated together, or the memory and processor are independent;

[0030] In another possible implementation, the memory is located outside the communication device.

[0031] The communication device also includes a communication interface for communicating with other devices, such as sending or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.

[0032] Fifthly, a computer-readable storage medium is provided for storing a computer program or instructions that, when executed, cause the methods described in any of the first to second aspects and any possible implementations thereof, and the methods shown in any possible implementations thereof, to be implemented.

[0033] A sixth aspect provides a computer program product containing instructions that, when run on a computer, enables the method described in any of the first to second aspects and any possible implementation thereof to be implemented.

[0034] In a seventh aspect, embodiments of this application also provide a communication device for performing the method described in any one of the first to second aspects and any possible implementation thereof.

[0035] Eighthly, a chip system is provided, comprising logic circuitry (or, as understood, a processor, which may include logic circuitry, etc.), and further comprising input / output interfaces. The input / output interfaces can be used to input messages or to output messages. The input / output interfaces can be the same interface, i.e., the same interface can implement both sending and receiving functions; or, the input / output interface includes an input interface and an output interface, the input interface being used to implement the receiving function, i.e., to receive messages; and the output interface being used to implement the sending function, i.e., to send messages. The logic circuitry can be used to perform operations other than the sending and receiving functions in the methods described in any of the first to second aspects and any possible implementations thereof; the logic circuitry can also be used to transmit messages to the input / output interfaces or to receive messages from other communication devices from the input / output interfaces. The chip system can be used to implement the methods described in any of the first to second aspects and any possible implementations thereof. The chip system can be composed of chips or can include chips and other discrete devices.

[0036] Optionally, the chip system may also include a memory, which can be used to store instructions, and the logic circuits can call the instructions stored in the memory to implement the corresponding functions.

[0037] For example, the chip or chip system can be a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip or system-in-package (SIP) chip containing a modem core.

[0038] Ninth aspect, a communication method is provided, which may include the method implemented by a first communication device as shown in the first aspect and any possible implementation thereof, and the method implemented by a second communication device as shown in the second aspect and any possible implementation thereof.

[0039] A tenth aspect provides a communication system that may include a first communication device and a second communication device. The first communication device may be used to implement the method shown in the first aspect and any possible implementation thereof, and the second communication device may be used to implement the method shown in the second aspect and any possible implementation thereof.

[0040] The technical effects brought about by the third to tenth aspects above can be found in the descriptions of the beneficial effects of the corresponding solutions in the first and second aspects above, and will not be repeated here. Attached Figure Description

[0041] Figure 1 This application provides a schematic diagram of the architecture of a wireless communication system.

[0042] Figure 2 A schematic diagram illustrating an encoding and decoding process provided for an embodiment of this application;

[0043] Figure 3(a) is a schematic diagram of a polarization coding provided in an embodiment of this application;

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

[0045] Figure 3(c) is a schematic diagram of an SCL decoding method provided in an embodiment of this application;

[0046] Figure 4 and Figure 5 These are schematic diagrams of matrices corresponding to a non-regular polarization kernel provided in the embodiments of this application;

[0047] Figure 6 and Figure 7 These are schematic flowcharts illustrating a communication method provided in an embodiment of this application;

[0048] Figure 8 A schematic diagram of a simplex code provided for an embodiment of this application;

[0049] Figure 9A schematic diagram of an encoding matrix based on simplex code extension provided in an embodiment of this application;

[0050] Figure 10 A schematic diagram of a Hamming code provided for an embodiment of this application;

[0051] Figure 11 A schematic diagram of an encoding matrix based on Hamming code extension provided for an embodiment of this application;

[0052] Figure 12 and Figure 13 These are schematic diagrams of a communication device provided in the embodiments of this application. Detailed Implementation

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

[0054] The technical solutions of this application can be applied to various wireless communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, Wireless Fidelity (Wi-Fi), Bluetooth, etc.), wired networks, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5G mobile communication systems (such as New Radio (NR) systems), Future Communications systems, or other similar communication systems, and are not limited thereto. The embodiments of this application use... Figure 1The communication system shown is used as an example for description. When the technical solutions of the embodiments of this application are applied to other communication systems, the devices, components, modules, etc. in the embodiments can be replaced with corresponding devices, components, modules in other communication systems without limitation.

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

[0056] The communication system provided in this application may also include AI network elements for implementing some or all AI-related operations. AI network elements can also be referred to as AI nodes, AI devices, AI entities, AI modules, AI models, or AI units, etc. The AI ​​network elements may be built into the network elements of the communication system. For example, an 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 core network equipment and / or access network equipment. Alternatively, the AI ​​network element may also be an independently configured network element in the communication system. Optionally, the terminal or its built-in chip may also include AI entities for implementing AI-related functions.

[0057] (1) Network equipment

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

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

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

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

[0062] (2) Terminal equipment

[0063] A terminal device is a user-side device with wireless transceiver capabilities. Terminal devices can also be called terminals, user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as D2D communication, V2X communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicle devices (such as vehicle units, in-vehicle modules, in-vehicle chips, onboard units (OBUs) or telematics boxes (T-BOXs)), drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, satellite terminals, Internet of Things (IoT) 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 UE (REDCAP UE), etc. In the embodiments of this application, the device used to implement the functions of the terminal device can be the terminal device itself, or a device capable of supporting the terminal device in implementing that function, such as a chip system or a combination of devices or components capable of implementing the functions of the terminal device. This device can be installed in the terminal device. The embodiments of this application do not limit the specific technology or specific device form used in the terminal device.

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

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

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

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

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

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

[0070] (1) Channel coding and channel decoding

[0071] Figure 2 This is a schematic diagram illustrating a processing flow between the information source and the information sink. For example... Figure 2As 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.

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

[0073] There are various channel coding methods, such as polar coding and LDPC coding. Polar codes were selected as the control channel coding method in the 5G standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, and have the advantages of good decoding performance and low complexity. LDPC codes were selected as the data channel coding method in the 5G standard. LDPC codes are linear block codes with a sparse parity-check matrix, which not only have good performance approaching the Shannon limit, but also have low decoding complexity and flexible structure.

[0074] (2) Modulation and demodulation

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

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

[0077] (3) Information bit sequence

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

[0079] (4) Code length

[0080] 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, E represents the code length.

[0081] (5) Bitrate

[0082] 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, therefore R = K / E.

[0083] 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 devices. For example, the transmitting and receiving devices 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 devices 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).

[0084] (6) Rate matching

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

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

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

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

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

[0090] Taking polar codes as an example, 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.

[0091] (7) Polar codes

[0092] (7.1) Polar coding

[0093] Polar code coding strategies utilize noiseless channels to transmit useful user information, and utilize noisy channels to transmit agreed-upon information or no information at all.

[0094] Information. The generator matrix of the polar code is G. N Its encoding process is as follows It is a binary row vector with length N; and Defined as the Kronecker product of log₂N matrices F₂, x₁ N It is the encoded bit sequence (also called a codeword). With the generating matrix G N Multiplying the bits yields the encoded bit sequence; the multiplication process is the encoding process. G N Also known as an Arikan polarization nucleus or a canonical polarization nucleus of length N.

[0095] During the encoding process of polar codes, A portion of the bits are used to carry information, called the information bit set, and the set of indices of these bits is denoted as A; the other portion of the bits are set to fixed values ​​agreed upon in advance by the receiver and the 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 of A, A''. c These freeze bits are typically set to 0, but they can be set arbitrarily as long as the receiver and sender agree in advance.

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

[0097] Figure 3(a) shows an 8×8 polarization transformation matrix, where the left side can be understood as the side to be encoded, and the bits on the left are represented by u. The right side can be understood as the encoding side (or codeword side), and the bits on the right are represented by x. The process from left to right is the process of the transmitter encoding the bit sequence to be encoded. 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 a modulation symbol for transmission in channel W. The bits corresponding to high channel reliability are used to map information bits, and the bits corresponding to low channel reliability are used to map frozen bits. As shown in Figure 3(a), {u0, u1, u2, u4} are frozen bits, i.e., the positions of frozen bits, and {u3, u5, u6, u7} are information bits, i.e., the positions of information bits. In this embodiment, information bits are also called information bits, and frozen bits are also called frozen bits.

[0098] It is understandable that the value of the frozen bit can be 0 or 1. Figure 3(a) is used as an example where all the frozen bits are 0, that is, in Figure 3(a), u0 = 0, u1 = 0, u2 = 0, u4 = 0.

[0099] Referring to Figure 3(a), 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).

[0100] (7.2) Polarized nuclei

[0101] Polar coding involves several polarization kernel operations. Taking Figure 3(a) as an example, any dashed rectangle represents one polarization kernel operation. The polarization kernel operation can be understood as multiplying multiple input bits by the matrix corresponding to the polarization kernel to obtain the output bits. The polarization kernel in Figure 3(a) is the Arikan polarization kernel, and the matrix corresponding to this kernel is... That is, in each polarization kernel operation in Figure 3(a), two input bits are multiplied by the polarization kernel to obtain two output bits. Based on Figure 3(a), the polar codes can be considered as recursively constructed. For example, taking an information bit length K = 4 and a code length N = 8, the 8-length polar code [01010101] can be seen as a coupling of 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 be considered as being obtained by coupling two 2-length polar codes, which are the output bits of the four polarization kernels in Figure 3(a).

[0102] Arikan polarization nuclei can also be called canonical polarization nuclei.

[0103] (7.3) Polarization Decoding

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

[0105] The SC decoding method refers to calculating the LLR of each decoded bit sequentially based on the LLR sequence corresponding to the bit sequence to be decoded, and 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 set to 0 regardless of the LLR value. Figure 3(b) is a schematic diagram of the SC decoding calculation process. Taking 4 decoded bits as an example, there are 8 calculation nodes in Figure 3(b), including 4 f nodes and 4 g nodes. The f nodes and g nodes correspond to the f operation and the g operation, respectively. The operation of the f node requires the two LLR inputs on its right side, and the operation of the g node requires the two LLR inputs on its right side and the output of the previous stage as inputs. Only after the input items are calculated can the output be calculated. According to the above calculation rules, the decoded bits obtained by calculating sequentially from the right side in Figure 3(b) are ①→②→③→④, and the decoding is completed.

[0106] When using the Arikan polarization kernel, the SCL decoding method refers to using the LLR sequence corresponding to the bit sequence to be decoded. When decoding each information bit, the decoding results corresponding to 0 and 1 are saved as two branch decoding paths (referred to as path splitting). Figure 3(c) shows a schematic diagram of the decoding paths in the SCL decoding method. As shown in Figure 3(c), 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 is further developed 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 from smallest to largest, and the correct path is selected by the PM value. This process is repeated until the last bit is decoded.

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

[0108] It can be considered that, when using the Arikan polarization kernel, a polar code of length N can be viewed as the result of coupling two polar codes of length N / 2. Furthermore, a polar code of length N / 2 can be viewed as the result of coupling two polar codes of length N / 4, and so on. Using the Arikan polarization 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. Currently, the polarization speed of the Arikan polarization kernel needs improvement, requiring a longer code length to achieve channel polarization. Therefore, the coding error correction performance needs improvement when the code length is short.

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

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

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

[0112] For example, the coupling mode can be defined by s = (s1, ..., s i )express.

[0113] 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 s1-th bit in the coupling, The second bit in The s2nd bit in the array is coupled, and so on.

[0114] The matrix C corresponding to this coupling method N,K Constructed as in, represent In matrix form,

[0115] represent In matrix form, P is The s1,…,s i A submatrix composed of columns.

[0116] Taking N=5 and K=2 as an example, Figure 4 The [5,2] non-normal polarization nucleus shown in (1) is obtained by coupling the [2,0] non-normal polarization nucleus and the [3,2] non-normal 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 4 As shown in (2).

[0117] Additionally, if N1 > N - N1, and and The coupling method is In this coupling mode,

[0118] 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 s1-th bit in the coupling, The second bit in The s2nd bit in the coupling 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.

[0119] Taking N=5 and K=3 as an example, such as Figure 5 The [5,2] non-regular polarization nucleus shown in (1) 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 5 As shown in (2).

[0120] Currently, how to perform polarization kernel operations on N and K to improve encoding and decoding performance is a pressing technical problem. Specifically, when using non-regular polarization kernel operations, the matrix corresponding to the non-regular polarization kernel when N is an integer power of 2 has only one coupling mode, making it impossible to 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.

[0121] To address the above technical problems, this application provides a communication method. Figure 6 This is a flowchart illustrating a communication method provided in an embodiment of this application. The method is executed by a first device. Unless otherwise specified, "first device" in this application can refer to a first equipment (e.g., a terminal or access network node), a component (e.g., a communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first equipment. A component can also be replaced by a device or function. The component can be located within the first equipment. "Second device" can refer to a second equipment (e.g., a terminal or access network node), a component (e.g., a communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the second equipment. A component can also be replaced by a device or function. The component can be located within the second equipment.

[0122] In this application, the first device can act as a transmitting device, and the second device can act as a receiving device. For example, the first device can send data to the second device. Specifically, during uplink communication, the transmitting device can be a terminal, and the receiving device can be an access network device; during downlink communication, the transmitting device can be an access network device, and the receiving device can be a terminal. Furthermore, this application does not exclude applications in terminal-to-terminal communication scenarios, in which case the transmitting device and the receiving device can each be a terminal.

[0123] like Figure 6 As shown, with the first device as the executing entity, the method may include the following steps:

[0124] S101: The first device acquires the information bit sequence.

[0125] In this application, 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.

[0126] 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 3(a), if the information bits are u3 = 0, u5 = 0, u6 = 1, and u7 = 1, then the information bit sequence could be 0011.

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

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

[0129] S102: The first device performs polar coding on the information bit sequence according to the first matrix to obtain the polar-coded bit sequence.

[0130] In this code, the length of the information bit sequence is K, and the length of the bit sequence obtained after polar coding is N, which is also the code length N. N is a positive integer, for example, N is a positive integer less than or equal to 64. K is a positive integer.

[0131] The first matrix is ​​obtained from a first submatrix of size N1*N1 and a second submatrix of size (N-N1)*(N-N1). The number of information bits corresponding to the first submatrix is ​​K1, and the number of information bits corresponding to the second submatrix is ​​K-K1. Here, K, N, N1, and K1 are positive integers, N is greater than N1, and K is greater than K1.

[0132] Where N and K satisfy conditions 1 and 2:

[0133] Condition 1, N<2 K-1 or K≤K2, where K2 is a positive integer less than K.

[0134] Condition 2, N<2 N-K -1 or K≥N-K3, where K3 is a positive integer less than K.

[0135] That is, if conditions 1 and 2 are met, S102 can be executed.

[0136] Optionally, 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 size of the first sub-submatrix is ​​i1*i1, the size of the second sub-submatrix is ​​i2*i2, and N1 = i1 + i2. Similarly, the second submatrix can be obtained by coupling a third sub-submatrix and a fourth sub-submatrix, where the size of the third sub-submatrix is ​​i3*i3, the size of the fourth sub-submatrix is ​​i4*i4, and N - N1 = i3 + i4. The coupling methods between multiple sub-submatrices can be referenced from the coupling methods of multiple submatrices, and will not be elaborated further. Alternatively, submatrices can still be obtained from matrices of even smaller dimensions, and so on. Therefore, the first and / or second devices do not need to store matrices of larger dimensions, but only matrices of smaller dimensions, and can obtain matrices of larger dimensions through nested coupling using matrices of smaller dimensions, thus reducing storage overhead.

[0137] In this context, the minimum-dimensional matrix can be considered predefined, and larger-dimensional matrices can be obtained by coupling from it. For example, the minimum-dimensional matrix can be predefined by a standard, pre-configured by the network, or determined by signaling between the first and second devices. For instance, a 2x2 matrix or a matrix of other sizes can be set as the minimum-dimensional matrix.

[0138] Therefore, it can also be considered that the first matrix can be obtained through nested coupling of submatrices. Optionally, when the first matrix is ​​obtained through nested coupling, the correspondence between the second information and the first matrix can also include the correspondence between the second information and the submatrices, subsubmatrices, and / or smaller-dimensional matrices used to couple and obtain the first matrix.

[0139] The method for determining N1 and K1 is explained below.

[0140] In this application, N1 is determined based on N and / or K. Alternatively, it can be said that N1 relates to N and / or K, or that N1 corresponds to N and / or K.

[0141] In one possible implementation, the first device can determine N1 corresponding to N and / or K based on N and / or K, and based on the correspondence between N1 and N and / or K. This correspondence can be determined based on performance simulation results.

[0142] For example, when N≤64, N1 and N and / or K satisfy the correspondence shown in Table 1, Table 2 or Table 3.

[0143] Table 1

[0144]

[0145] Table 2

[0146]

[0147]

[0148] Table 3

[0149]

[0150]

[0151] In Tables 1 to 3 above, "-" indicates that there is no N1 corresponding to N and / or K. Tables 1 to 3 above are exemplary correspondences, and the correspondence between N1 and N and / or K in this application is not limited to these.

[0152] Alternatively, it can be assumed that N1 satisfies a computational relationship with N and / or K, such as a function, and therefore N1 can be determined by calculation based on N and / or K. This correspondence can be determined based on performance simulation results. Therefore, the first device can calculate N1 using N and / or K.

[0153] For example, N1 and N satisfy: or in, Rounding up to the nearest integer. This represents rounding down to the nearest integer.

[0154] The formulas above relating N1 to N and / or K are exemplary, and the functional relationship between N1 and N and / or K is not limited thereto.

[0155] Optionally, the correspondence between N1 and N and / or K can be determined based on calculations such as functions. For example, the correspondences shown in Tables 1 to 3 satisfy the formulas related to N1 and N mentioned above.

[0156] Similarly, K1 is determined based on N and K. Or, to put it another way, K1 is related to N and / or K, or K1 corresponds to N and / or K.

[0157] In one possible implementation, the first device can determine K1 corresponding to N and / or K based on N and / or K and based on the correspondence between K1 and N and / or K. This correspondence can be determined based on performance simulation results.

[0158] Specifically, max(0,K-N+N1)≤K1≤K / 2, thus achieving better communication performance.

[0159] For example, when N≤64, K1 satisfies the correspondence between N and / or K as shown in Table 4, Table 5 or Table 6.

[0160] Table 4

[0161]

[0162]

[0163] Table 5

[0164]

[0165]

[0166] Table 6

[0167]

[0168]

[0169] In Tables 4 to 6 above, "-" indicates that there is no K1 corresponding to N and / or K. Tables 4 to 6 above are exemplary correspondences, and the correspondence between K1 and N and / or K in this application is not limited to these.

[0170] Alternatively, it can be assumed that K1 satisfies a computational relationship such as a function with N and / or K, so the first device can determine K1 by calculation based on N and / or K.

[0171] For example, when N≤16, K1 and K satisfy: or or in, Rounding up to the nearest integer. This represents rounding down to the nearest integer.

[0172] The formulas above relating K1 to N and / or K are exemplary, and the functional relationship between K1 and N and / or K is not limited thereto.

[0173] Optionally, the correspondence between K1 and N and / or K can be determined based on calculations such as functions. For example, the correspondences shown in Tables 4 to 6 satisfy the formulas related to K1 and K mentioned above.

[0174] The correspondences between N1 and N and / or K (as shown in Tables 1 to 4), the functional relationships between N1 and N and / or K, and the functional relationships between K1 and N and / or K (as shown in Tables 4 to 6) can be predefined by the standard, pre-configured by the network, or determined through signaling interaction between the first and second devices. Determined through signaling interaction between the first and second devices can mean that the first device indicates the correspondence to the second device via signaling, or vice versa. The signaling can be, for example, RRC messages, MAC control elements (CE), or downlink control information (DCI), and is not specifically limited.

[0175] The method for determining K2 and K3 is explained below.

[0176] In this application, K2 and / or K3 are positive integers. For example, K2 = K3 = 3, or K2 and / or K3 are other values.

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

[0178] The following describes how the first matrix is ​​obtained by coupling the first submatrix and the second submatrix.

[0179] Optionally, the first matrix can 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 can be non-canonical polarization matrices.

[0180] As an example, the first matrix G N satisfy:

[0181] in, Denotes the first submatrix. This represents the second submatrix.

[0182] When N1 ≤ N - N1, P is The matrix consisting of the 1st, 2nd, ..., N1st columns.

[0183] Furthermore, when N1 > N-N1, the matrix formed by the 1st, 2nd, ..., N-N1th columns of P is:

[0184] As can be seen, the first matrix G shown in Formula 1 above... N It can be the matrix obtained by coupling the topmost min{N1,N-N1} rows of the first submatrix and the second submatrix. Here, min{,} represents taking the minimum value. Alternatively, it can be said that the first matrix G shown in Formula 1 above... N It 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 the coupling relationship, the first submatrix is ​​the one above the second submatrix.

[0185] Therefore, the first matrix can be obtained by coupling the top min{N1,N-N1} rows of the first submatrix and the second submatrix, and polar coding can be performed based on the first matrix, which has better performance than coding using regular polar kernels.

[0186] For example, if Then the first submatrix The output bits and the first part of the second submatrix The output bits are coupled sequentially. For example, the first output bit of the first submatrix is ​​coupled to the first output bit of the second submatrix, the first output bit of the first submatrix is ​​coupled to the second output bit of the second submatrix, and so on, until the first output bit of the first submatrix is ​​coupled to the second output bit of the second submatrix. The output bit and the second submatrix Each output bit is coupled.

[0187] like Then the first submatrix The output bits and the second submatrix The output bits are coupled sequentially. For example, the first output bit of the first submatrix is ​​coupled to the first output bit of the second submatrix, the first output bit of the first submatrix is ​​coupled to the second output bit of the second submatrix, and so on, until the first output bit of the first submatrix is ​​coupled to the second output bit of the second submatrix. The output bit and the second submatrix Each output bit is coupled.

[0188] The following describes a possible implementation of polar coding of the information bit sequence based on the first matrix.

[0189] One possible implementation is that the first device can determine the information bit index set based on 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., in the relevant description of Figure 3(a)). 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.

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

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

[0192] S103: The first device outputs the polarized encoded bit sequence.

[0193] In S103, the first device can output the polarized encoded bit sequence after operations such as rate matching and / or modulation.

[0194] In S103, "output" can refer to output via the air interface or output to other devices or modules via the internal interface of the device.

[0195] based on Figure 6 The method shown allows the first device to perform polar coding based on a first matrix, which is related to N and K. Therefore, the first matrix can be determined based on N and K, which helps to select an appropriate coding matrix based on the code length and the information bit length, in order to improve coding and decoding performance.

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

[0197] S201: The second device acquires the sequence of symbols to be decoded.

[0198] The sequence of symbols to be decoded can be the decoding information obtained by the second device. The decoded symbol sequence corresponds to the polar-coded bit sequence.

[0199] In one implementation method, the second device acquires the sequence of symbols to be decoded by receiving physical signals over an air interface and obtaining the sequence by parsing the physical signals. Alternatively, the second device can acquire the sequence of symbols to be decoded locally through an internal interface. This acquisition can be obtained by parsing physical signals from other local devices, components, or modules. The aforementioned physical signals can carry the polar-coded bit sequence sent by the first device. The generation process of the polar-coded bit sequence can be referred to... Figure 6 The operation of the first device in the process is that the first device can generate a polar-coded bit sequence based on the information bit sequence.

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

[0201] S202: The second device performs polarization decoding on the sequence of symbols to be decoded according to the first matrix to obtain the decoding result.

[0202] Wherein, if conditions 1 to 2 above are met, the second device may determine the first matrix in accordance with the manner shown in S102. That is, the description of the first matrix can be found in the relevant description in S102, and the description of the manner in which the second device determines the first matrix can be found in the manner in which the first device determines the first matrix in S102, and will not be repeated here.

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

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

[0205] Taking SCL decoding as an example, the second 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 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 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 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 device can further determine the candidate path whose corresponding codeword is closest to the codeword contained in the symbol sequence to be decoded among all 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 in S202.

[0206] In this application, the decoding result may include the information bit sequence recovered by the second device, which corresponds to the information bit sequence obtained by the first device in S101.

[0207] In one possible embodiment, if at least one of conditions 1 to 2 shown in S102 is not satisfied, the first device may perform polar coding in a manner other than S102. Alternatively, if conditions 1 to 2 are not satisfied, the first device may perform polar coding based on a matrix other than the first matrix and output the encoded bit sequence.

[0208] For example, when N and K satisfy condition 4, the first device can perform polar coding using the second matrix to obtain a polar-coded bit sequence. The first device can then output this bit sequence. The second matrix can be a matrix determined based on a matrix extension method of simplex code. Condition 4 is, for example, N≥2. K -1 and K≤K2. Alternatively, if condition 1 is not satisfied, the first device can perform polar coding using the second matrix to obtain the polar-coded bit sequence. Correspondingly, if condition 4 is satisfied, the second device can perform decoding using the second matrix.

[0209] Encoding based on the second matrix when N and K satisfy condition 4 can improve decoding performance.

[0210] The method for determining the second matrix will be explained in the following text using simplex codes, but will not be elaborated on here.

[0211] For example, when N and K satisfy condition 5, the first device can perform polar coding using the third matrix to obtain the polar-coded bit sequence. The first device can then output this bit sequence. The third matrix can be a matrix determined based on a matrix extension method using Hamming code. Condition 5 is, for example, N≥2. N-K -1 and K≥N-K3. Alternatively, if condition 2 is not satisfied, the first device can perform polar coding using the third matrix to obtain the polar-coded bit sequence. Correspondingly, if condition 5 is satisfied, the second device can perform decoding using the third matrix.

[0212] Encoding based on the second matrix when N and K satisfy condition 5 can improve decoding performance.

[0213] The method for determining the second matrix will be explained in the following text using Hamming codes, but will not be elaborated on here.

[0214] It is understandable that [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 the two are dual codes. Simplex codes and Hamming codes have advantages such as large minimum distance and low decoding error rate. In addition, code lengths E≥2 can be constructed based on simplex codes. l -1. A kernel with 1 information bits, and a length E≥2 constructed based on Hamming code extension. 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 a network, or determined by signaling between the first and second devices.

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

[0216] 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 s Bit, 0≤s≤l-1. Based on [2]l The simplex code [-1,l] can be extended to obtain [t(2] l The encoding matrix of [-1), l]. Where, the [1, (t-1)(2]... l -1)] column and [1,(t-1)(2 l The submatrix formed by rows [k(2)] is the identity matrix. For 0 ≤ k ≤ t-1, the submatrix formed by rows [k(2)] is the identity matrix. l -1)+1,(k+1)(2 l -1)] column and [(t-1)(2 l -1)+1,t(2 l The submatrix formed by rows -1) is [2 l 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 (t-1)(2) l -1). If the length of the encoding matrix is ​​(t-1)(2) l -1)+q,1≤q≤2 l -2, and q is an integer, then the matrix can be obtained from [t(2 l The encoding matrix of [2] (-1), l] l -q,t(2 l -1)] column and [2] l -q,t(2 l The submatrix is ​​obtained by forming rows [-1). Figure 9 For based on Figure 8 The encoding matrix of the [7,3] simplex code obtained by expanding it to [E=16,3] is shown, where the lower right corner [7,3] is the encoding matrix of the simplex code before expansion.

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

[0218] 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. s Bit, 0≤s≤l-1. Based on [2] l -1,2 l Hamming code -l-1] can be extended to obtain [t(2] l -1),t(2 l The encoding matrix of [k(2)-l]. Where, for 1≤k≤t-1, the [k(2)-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 l The Hamming code encoding matrix is ​​[-l-1]. The information bits are [2]. l -1,2 l -l-1] Information bit sequence number of the Hamming code. If the length of the coding matrix is ​​(t-1)(2 l -1)+q, 1≤q≤2 l -2, and q is an integer, then the matrix can be obtained from [t(2 l -1),t(2 l The encoding matrix of [1,(t-1)(2] is [1,(t-1)(2]]. l -1)+q] column and [1,(t-1)(2 l The submatrix is ​​obtained by forming rows [-1)+q].

[0219] Figure 11 For based on Figure 10 The code matrix of the [7,4] Hamming code extended to [16,13] is shown, where the upper left corner is the code matrix of the [7,4] Hamming code.

[0220] The following are possible embodiments of determining N1 and K1 based on N and K in this application.

[0221] As an example, to achieve better decoding performance, if NK = 4 when N ≤ 16, or if N = 13 and K = 5, then Additionally, if NK≠4, and N≠13 and / or K≠5, then The following embodiment provides an example of pseudocode for determining N1 based on N and K, but this application is not limited to this implementation.

[0222] When N≤16, the pseudocode example for determining N1 based on N and K is as follows:

[0223]

[0224] As an example, to achieve better decoding performance, when N ≤ 16, if the remainder of K divided by 2 is 1 or K = 4, and N and K satisfy: N = 16 and K = 4, K = 7, or K = 9, then If the remainder when K is divided by 2 is 1, and K = 3, then If the remainder when K is divided by 2 is 1 or K = 4, and N and K do not satisfy: N = 16 and K = 4, K = 7, or K = 9, then Where K ≠ 3. If the remainder of K divided by 2 is not 1 and K ≠ 4, then if NK > 5, then Otherwise, if NK≥5, then The following embodiment provides an example of pseudocode for determining K1 based on N and K, but this application is not limited to this implementation.

[0225] When N≤16, the pseudocode example for determining K1 based on N and K is as follows:

[0226]

[0227]

[0228] In this embodiment, N and N can be considered to be the same symbol. Taking a reliability sequence containing N elements starting from 0 and ending at N-1 as an example, the N elements from 0 to N-1 represent the indices of N polarization channels. For example, N is λ². n , λ m 2 n or λ2 p In fact, the indices of the N polarization channels can also start from 1 and end with N, by simply adding 1 to each number in the above sequence. This is also the indices format used in the calculation methods described above. Of course, other methods can also be used to represent the indices or identifiers of the polarization channels mentioned above; the specific representation does not affect the specific location of the polarization channels represented in the sequence.

[0229] It should be noted that the sequences or methods of determining sequences shown in this application are merely examples, and their application in the Polar encoding process can help improve the encoding and decoding performance of Polar codes, such as supporting longer Polar codes. In any of the example sequences, adjustments or equivalent substitutions can be made, including but not limited to the following, without affecting the overall effect:

[0230] 1. Swapping the positions of a few elements in a sequence. For example, the position of an index can be adjusted within a set range. For instance, if the set range is 5, the position of the element with index 10 can be adjusted within 5 positions to the left or right.

[0231] 2. Some element values ​​in the sequence are adjusted, but the set of channels selected based on the sequence for transmitting information bit sequences is consistent or similar.

[0232] 3. The sequence contains N elements starting from 0 and ending at N-1, representing the indices of the N polarization channels. In practice, the indices of the N polarization channels can also start from 1 and end at N; simply add 1 to each indice in the above sequence. This is the indice format used in the calculation methods described above. Of course, other methods can also be used to represent the indices or identifiers of the polarization channels; this specific representation does not affect the specific positions of the polarization channels represented in the sequence. The indices of the polarization channels can be the position numbers or indexes of the bits to be encoded.

[0233] 4. The N polarization channels in the above sequence are arranged in ascending order of reliability. Selecting K polarization channels from high to low reliability is equivalent to selecting the polarization channels corresponding to the last K numbers in any of the above sequences. In fact, the N polarization channels can also be arranged in descending order of reliability by reversing or reversing the order of the elements in the above sequence. In this case, selecting K polarization channels from high to low reliability is equivalent to selecting the polarization channels corresponding to the first K numbers.

[0234] 5. The above sequence can also be characterized using the normalized reliability or equivalent reliability sequence of each channel. For example, if a channel is in the order n of the above sequence (the leftmost one is denoted as 1), then the reliability of the channel can be expressed as n or normalized n / N, where N is the length of the sequence.

[0235] In the embodiments of this application, "transmission" includes "output" and / or "input". "Output" and "input" represent the direction of signal transmission. For example, "outputting information to XX" can be understood as the destination of the information being XX, which may include directly sending information via an air interface or other interface, or indirectly sending information from other units or modules. "Inputting information from YY" can be understood as the source of the information being YY, which may include directly receiving information from YY via an air interface or other interface, or indirectly inputting information from YY from other units or modules. "Output" can also be understood as "sending" through a chip interface, and "input" can also be understood as "receiving" through a chip interface. In other words, output and input can occur between devices, for example, between an access network node and a terminal. Output and input can also occur within a device, for example, sending or receiving information between components, modules, chips, software modules, or hardware modules within the device via a bus, wiring, or interface.

[0236] It is understood that the first device mentioned above can be a terminal, a chip (or other component) in the terminal, and the second device can be a base station or a chip (or other component (such as CU, DU, or RU) in the base station). Alternatively, the second device can be a terminal, a chip (or other component) in the terminal, and the first device can be a base station or a chip (or other component (such as CU, DU, or RU) in the base station).

[0237] It is understood that, in order to achieve the functions in the above embodiments, the terminal device or network device includes hardware structures and / or software modules corresponding to perform each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in the form of hardware, computer software, or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0238] Figure 12 and Figure 13 The diagram illustrates the possible structures of communication devices provided in the embodiments of this application. These communication devices can be used to implement the functions of the first or second device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In the embodiments of this application, the communication device can be a terminal device or a network device, or it can be a module (such as a chip) applied to a terminal device or a network device.

[0239] Figure 12 The communication device 1200 shown includes a processing unit 1210 and a transceiver unit 1220. The communication device 1200 is used to implement the functions of the first or second device in the above method embodiments. For example, the functions of the first device can be found in [reference needed]. Figure 6 For a description of the relevant content, please refer to the description of the function of the second device. Figure 7 Description of the relevant content.

[0240] When the communication device 1200 is used to implement the function of the first device in the above method embodiment, the processing unit 1210 and / or the transceiver unit 1220 can be used to acquire the information bit sequence, perform polar coding on the information bit sequence according to the first matrix, and obtain the polar-coded bit sequence. The transceiver unit 1220 can be used to output the polar-coded bit sequence.

[0241] When the communication device 1200 is used to implement the function of the second device in the above method embodiment, the processing unit 1210 and / or the transceiver unit 1220 can be used to obtain the symbol sequence to be decoded, and decode the symbol sequence to be decoded according to the first matrix to obtain the decoding result.

[0242] For a more detailed description of the processing unit 1210 and the transceiver unit 1220, please refer directly to the relevant descriptions in the above method embodiments, which will not be repeated here.

[0243] Figure 13 The communication device 1300 shown includes a processor 1310 and an interface circuit 1320. The processor 1310 and the interface circuit 1320 are coupled to each other. It is understood that the interface circuit 1320 can be a transceiver or an input / output interface. Optionally, the communication device 1300 may also include a memory 1330 for storing instructions executed by the processor 1310, or storing input data required by the processor 1310 to execute instructions, or storing data generated after the processor 1310 executes instructions.

[0244] When the communication device 1300 is used to implement the above method embodiment, the processor 1310 is used to implement the function of the processing unit 1210, and the interface circuit 1320 is used to implement the function of the transceiver unit 1220.

[0245] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), microprocessors without interlocked piped stages architecture (MIPS), advanced instruction set computers (RISC) machines (ARM), network processors (NPs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.

[0246] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Furthermore, the ASIC can reside in a first device or a second device. Alternatively, the processor and storage medium can exist as discrete components in the first device or the second device.

[0247] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. A computer program is a set of instructions that instruct an electronic computer or other device having a first or second device to perform any step of its operation. It is typically written in a programming language and runs on a target architecture. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be volatile or non-volatile, or it can include both types of storage media.

[0248] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium, including a program or instructions, which, when run on a computer, cause the methods in the above method embodiments to be executed.

[0249] Based on the same technical concept, embodiments of this application also provide a computer program product, including instructions that, when run on a computer, cause the methods in the above method embodiments to be executed.

[0250] Based on the same technical concept, embodiments of this application also provide a communication system, which may include a first device and a second device. In this communication system, the first device and the second device may be respectively used to implement… Figure 6 and Figure 7 The method flow is described in the text. As an example, the first device can be a terminal, and the second device can be a network device (such as a base station). As another example, the first device can be a network device, and the second device can be a terminal.

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

[0252] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0253] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates an "or" relationship between the preceding and following related objects; in the formulas of this application, the character " / " indicates a "division" relationship between the preceding and following related objects.

[0254] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.

Claims

1. A communication method, characterized in that, include: Obtain the information bit sequence; The information bit sequence is polar-coded according to the first matrix to obtain a polar-coded bit sequence. The length of the information bit sequence is K and the code length is N. The first matrix is ​​obtained by a first sub-matrix of size N1*N1 and a second sub-matrix of size (N-N1)*(N-N1). The number of information bits corresponding to the first sub-matrix is ​​K1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1. Wherein, K, N, N1, and K1 are positive integers, N is greater than N1, K is greater than K1, N1 is determined according to N and / or K, and K1 is determined according to N and / or K. Output the polar-coded bit sequence; Where N and K satisfy: N<2 K -1 or K≤K2, where K2 is a positive integer less than K; and, N<2 N-K -1 or K≥N-K3, where K3 is a positive integer less than K.

2. A communication method, characterized in that, include: Obtain the sequence of symbols to be decoded; Polar decoding is performed on the sequence of symbols to be decoded according to the first matrix to obtain the decoding result. The length of the information bit sequence is K and the code length is N. The first matrix is ​​obtained by a first sub-matrix of size N1*N1 and a second sub-matrix of size (N-N1)*(N-N1). The number of information bits corresponding to the first sub-matrix is ​​K1, and the number of information bits corresponding to the second sub-matrix is ​​K-K1. Wherein, K, N, N1, and K1 are positive integers, N is greater than N1, K is greater than K1, N1 is determined according to N and / or K, and K1 is determined according to N and / or K. Where N and K satisfy: N<2 K -1 or K≤K2, where K2 is a positive integer less than K; and, N<2 N-K -1 or K≥N-K3, where K3 is a positive integer less than K.

3. The method as described in claim 1 or 2, characterized in that, The first matrix satisfies: Among them, G N Represents the first matrix, Denotes the first submatrix. This represents the second submatrix; N1≤N-N1, P is The matrix consisting of the 1st, 2nd, ..., N1st columns; or, If N1>N-N1, the matrix formed by the 1st, 2nd, ..., N-N1th columns of P is:

4. The method according to any one of claims 1-3, characterized in that, The value of N1 is or 5. The method according to any one of claims 1-4, characterized in that, max(0,K-N+N1)≤K1≤K / 2.

6. The method according to any one of claims 1-5, characterized in that, N≤16, the value of K1 is or 7. The method according to any one of claims 1-6, characterized in that, N≤64。 8. A communication device, characterized in that, Includes units or modules for performing the method as described in any one of claims 1-7.

9. A communication device, characterized in that, Includes a processor for executing computer programs or instructions to implement the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, and when the computer program or instructions are executed by a communication device, the method as described in any one of claims 1-7 is implemented.

11. A computer program product, characterized in that, When the computer program product is executed by a computer, the computer performs the method as described in any one of claims 1-7.