A coding method, device and system
Patent Information
- Application Number
- CN202510405684.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2026-10-16
AI Technical Summary
[0003]当前广泛采用的极化码是Arikan极化码(基于Arikan极化核的极化码),在理论上严格达到香农极限,但实际译码性能仍存在局限性
Smart Images

Figure CN122932687A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a coding / decoding method, apparatus, and system. Background Technology
[0002] In the field of channel coding, polar codes are one of the more mature and widely used coding schemes. Polar codes were selected as the control channel coding method in the 5th generation (5G) communication standard.
[0003] The most widely used polar codes currently are Arikan polar codes (polar codes based on Arikan polar kernels), which theoretically strictly reach the Shannon limit, but their practical decoding performance still has limitations. Therefore, how to improve the decoding performance of polar codes still requires further research. Summary of the Invention
[0004] This application provides a coding and decoding method, apparatus, and system that can improve the decoding performance of polar codes.
[0005] In a first aspect, embodiments of this application provide an encoding method, which can be executed by a first communication device (or encoding device). Unless otherwise specified, the "first communication device" in this application can refer to a communication device (e.g., a network device, a terminal device, an encoding device, etc.), a component used in the communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software capable of implementing all or part of the functions of the communication device. The component used in the communication device can be a component within the communication device, or it can be independent of the communication device but coupled to it. For example, in the method provided in the first aspect, the first communication device obtains a first sequence corresponding to code length N. The first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels. The value corresponding to sub-channel x in the N sub-channels is determined according to the value of the i-th element among the N0 elements included in the second sequence, where i = x mod N0 + 1, N0 is a positive integer power of 2, and N = N0 * 2. n n is an integer greater than or equal to 1, x = 0, 1, 2, ..., N-1; determine a first matrix based on the number of information bits to be encoded K and the first sequence, wherein the row weight of at least one row of the first matrix is not an integer power of 2, and K is an integer greater than or equal to 1 and less than or equal to N; polarize the K information bits according to the first matrix; output the encoded bit sequence.
[0006] Secondly, embodiments of this application provide a decoding method, which can be executed by a second communication device (or decoding device). Unless otherwise specified, the "second communication device" in this application can refer to a communication device (e.g., a terminal device, a network device, a decoding device, etc.), a component used in the communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software that can implement all or part of the functions of the communication device. The component used in the communication device can be a component in the communication device, or it can be independent of the communication device but coupled to the communication device. For example, in the method provided in the second aspect, the second communication device obtains a first sequence corresponding to the code length N. The first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels. The value corresponding to sub-channel x in the N sub-channels is determined according to the value of the i-th element among the N0 elements included in the second sequence, i = x mod N0 + 1, N0 is a positive integer power of 2, and N = N0 * 2. n n is an integer greater than or equal to 1, x = 0, 1, 2, ..., N-1; based on the number of information bits K and the first sequence, determine the first matrix, where the row weight of at least one row of the first matrix is not an integer power of 2, and K is an integer greater than or equal to 1 and less than or equal to N; based on the first matrix, decode the bit sequence to be decoded to obtain K information bits.
[0007] Based on the above scheme, this application provides a specific implementation for determining the encoding matrix of a polar code. Specifically, a first matrix is determined based on the number of information bits and a first sequence, and then encoding and decoding are performed based on the first matrix. Compared to using the same encoding matrix for the same code length N, this approach improves the decoding performance of polar codes. Furthermore, the first sequence is obtained from a second sequence, which has lower complexity compared to determining the reliability sequence through methods such as Gaussian approximation.
[0008] Based on the first or second aspect mentioned above, there are one or more possible designs as follows:
[0009] In one possible design, the value corresponding to sub-channel x among the N sub-channels is determined based on the value of the i-th element among the N0 elements included in the second sequence, including:
[0010]
[0011]
[0012] Among them, W x a represents the value corresponding to the sub-channel x. i β represents the value of the i-th element in the second sequence, where β is greater than 0 and less than 1.
[0013] Thus, the value corresponding to sub-channel x is obtained by adjusting the PW calculation formula according to the second sequence, which has low implementation complexity.
[0014] In one possible design, at least two of the N0 elements in the second sequence have different values.
[0015] In one possible design, when N0 = 16, the second sequence is [0 0.3 0.45 0.5 0.35 0.5 0.45 0.65 0.4 0.55 0.65 0.55 0.5 0.95 0.35 0.5]; or, when N0 = 8, the second sequence is [0 0.95 0.15 0.25 0.75 0.25 0.5 0.5].
[0016] In one possible design, the second sequence is determined based on a second matrix and N0 third matrices, both of which are of size N0*N0. The row weight of each row in the second matrix is a power of 2. The N0 third matrices include P third matrices, where the row weight of at least one row in each of the P third matrices is not a power of 2. The N0 third matrices correspond to different numbers of information bits.
[0017] In one possible design, the second sequence is determined based on a second matrix and N0 third matrices, including: the value of the i-th element in the second sequence is used to indicate: when the number of information bits is i, the decoding performance gain of the first polar code compared to the decoding performance of the second polar code; wherein, the first polar code is obtained by encoding i information bits according to the second matrix, and the second polar code is obtained by encoding the i information bits according to the third matrix corresponding to the number of information bits i.
[0018] Thus, the embodiments of this application provide a specific implementation for determining the second sequence. This implementation takes into account the decoding performance of the second matrix and the decoding performance of the N0 third matrices corresponding to different numbers of information bits, thereby making the first sequence obtained from the second sequence applicable to different numbers of information bits, which facilitates the construction of encoding matrices corresponding to different numbers of information bits.
[0019] In one possible design, the decoding performance of the first polar code is the signal-to-noise ratio of the first polar code at a first block error rate, and the decoding performance of the second polar code is the signal-to-noise ratio of the second polar code at the first block error rate.
[0020] Thus, since the embodiments of this application consider the signal-to-noise ratio of the first polar code and the second polar code under the same block error rate, the polar code obtained by the first matrix encoding according to the embodiments of this application has a lower signal-to-noise ratio under the same block error rate compared with the polar code obtained by using the same encoding matrix for the same code length N.
[0021] In one possible design, the value of the i-th element in the second sequence is determined based on the values of the i-th elements in the third and fourth sequences, including:
[0022] a i =γ(v1(i)-v2(i))
[0023] Among them, a i Let v1(i) represent the value of the i-th element in the second sequence, v2(i) represent the decoding performance of the first polar code, v2(i) represent the decoding performance of the second polar code, and γ is greater than 0.
[0024] In one possible design, the decoding performance of the first polar code is the block error rate of the first polar code at a first signal-to-noise ratio, and the decoding performance of the second polar code is the block error rate of the second polar code at the first signal-to-noise ratio.
[0025] Thus, since the embodiments of this application consider the block error rates of the first polar code and the second polar code under the same signal-to-noise ratio, the polar code obtained by the first matrix encoding according to the embodiments of this application has a lower block error rate under the same signal-to-noise ratio compared with the polar code obtained by using the same encoding matrix for the same code length N.
[0026] In one possible design, the value of the i-th element in the second sequence is determined based on the values of the i-th elements in the third and fourth sequences, including:
[0027] a i =γ′(u1(i) / u2(i))
[0028] Among them, a i Let u1(i) represent the value of the i-th element in the second sequence, u2(i) represent the decoding performance of the first polar code, u2(i) represent the decoding performance of the second polar code, and γ′ is greater than 0.
[0029] In one possible design, determining the first matrix based on the number of information bits K and the first sequence includes: determining K target sub-channels from the first sequence based on the number of information bits K, wherein the K target sub-channels belong to m sub-blocks, and sub-channel y among the K target sub-channels belongs to the nth sub-block in N / N0 sub-blocks. There are m sub-blocks, where y is an integer greater than or equal to 1 and less than or equal to N. Based on the number of target sub-channels included in each of the m sub-blocks, m matrices are determined. The number of information bits corresponding to the r-th matrix among the m matrices is equal to the number of target sub-channels included in the r-th sub-block, where r = 1, 2, ..., m. Based on the m matrices, the first matrix is determined. The m matrices can also be m third matrices.
[0030] Thus, based on K and the first sequence, the number of information bits in each sub-block can be determined. Then, based on the number of information bits in each sub-block, the third matrix corresponding to each sub-block can be determined. The number of information bits is different, and the corresponding third matrix is also different. Therefore, the first matrix can be constructed from multiple third matrices, which is convenient for improving the decoding performance of polar codes.
[0031] In one possible design, the method further includes: obtaining the reliability sequence corresponding to the r-th matrix; and determining Kr sub-channels for carrying information bits from the N0 sub-channels corresponding to the r-th matrix based on the reliability sequence.
[0032]
[0033] Thus, based on the reliability sequence corresponding to each matrix, a sub-channel with higher reliability can be selected as the sub-channel used to carry information bits, which facilitates the improvement of the decoding performance of polar codes.
[0034] Thirdly, this application provides a communication device that performs the functions described in the first or second aspect above. For example, the communication device includes modules, units, or means corresponding to the operations described in the first or second aspect above. The functions, units, or means can be implemented by software, hardware, or hardware executing corresponding software.
[0035] In one possible design, the communication device includes a processing unit and a communication unit, wherein the communication unit can be used to transmit and receive signals to enable communication between the communication device and other devices; the processing unit can be used to perform some internal operations of the communication device. The functions performed by the processing unit and the communication unit can correspond to the operations involved in the first or second aspect described above.
[0036] In one possible design, the communication device includes a processor that can be coupled to a memory. The memory can store necessary computer programs or instructions for implementing the functions described in the first or second aspect above. The processor can execute the computer programs or instructions stored in the memory, causing the communication device to implement the methods in any possible design or implementation of the first or second aspect above, when the computer programs or instructions are executed.
[0037] In one possible design, the communication device includes a processor and a memory, the memory of which may store necessary computer programs or instructions for implementing the functions involved in the first or second aspect described above. The processor may execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, cause the communication device to implement the methods in any possible design or implementation of the first or second aspect described above.
[0038] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor is configured to communicate with other devices via the interface circuit and to perform the methods in any possible design or implementation of the first or second aspect described above.
[0039] Understandably, in the third aspect described above, the processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. Furthermore, there can be one or more processors, and one or more memories. The memory can be integrated with the processor or separated from it. In specific implementations, the memory can be integrated with the processor on the same chip or disposed on different chips. This application does not limit the type of memory or the arrangement of the memory and processor.
[0040] Fourthly, this application provides a communication system, which may include a first communication device and a second communication device; wherein the first communication device is used to perform the method described in the first aspect, and the second communication device is used to perform the method described in the second aspect.
[0041] Fifthly, this application provides a computer-readable storage medium storing a computer program (or computer-readable instructions) in which, when a computer reads and executes some or all of the computer-readable instructions, the method in any of the possible designs in the first or second aspect described above is executed.
[0042] For example, a computer-readable storage medium can be any available medium that a computer can access. This includes, but is not limited to, non-transient computer-readable media, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disc storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.
[0043] Sixthly, this application provides a computer program product that, when read and executed by a computer, causes the method in any of the possible designs of the first or second aspect described above to be performed.
[0044] In a seventh aspect, this application provides a chip (or chip system) including a processor coupled to a memory storing a computer program; the processor is configured to invoke part or all of the computer program in the memory, such that the method in any of the possible designs in the first or second aspect described above is executed. Attached Figure Description
[0045] Figure 1 This is a schematic diagram of the architecture of a communication system applicable to the embodiments of this application;
[0046] Figure 2 This is a schematic diagram of the information transmission process provided in the embodiments of this application;
[0047] Figure 3 A schematic diagram illustrating the coupling process of polar codes provided in an embodiment of this application;
[0048] Figure 4 A schematic diagram illustrating the generation process of non-regular polarization nuclei provided in an embodiment of this application;
[0049] Figure 5A An 8×8 polarization transformation matrix is provided for an embodiment of this application;
[0050] Figure 5B This is a schematic diagram of the decoding calculation process provided in the embodiments of this application;
[0051] Figure 6 This is a flowchart illustrating the method provided in the embodiments of this application;
[0052] Figure 7A A schematic diagram illustrating the decoding performance of a polar code provided in an embodiment of this application;
[0053] Figure 7B A schematic diagram illustrating the decoding performance of another polar code provided in an embodiment of this application;
[0054] Figure 7C A schematic diagram illustrating the decoding performance of another polar code provided in an embodiment of this application;
[0055] Figure 8 This is an exemplary block diagram of the apparatus involved in the embodiments of this application;
[0056] Figure 9 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0057] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings. This application will focus on various aspects, embodiments, or features of a system that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these solutions may also be used.
[0058] In the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.
[0059] The technical solutions of this application can be applied to various wireless communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, Wireless Fidelity (Wi-Fi), Bluetooth, etc.), wired networks, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Worldwide Interoperability for Microwave Access (WiMAX) communication systems, 5G mobile communication systems (such as New Radio (NR) systems), Future Communications systems, or other similar communication systems, and are not limited thereto. The embodiments of this application use... Figure 1 The 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.
[0060] 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 1The 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.
[0061] (1) Network equipment
[0062] 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.
[0063] Network 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.
[0064] Network 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) layers 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 control plane (CP) (CU-CP) and a user plane (UP) (CU-UP). The DU performs the functions of the radio link control (RLC) and media access control (MAC) layers of the base station, and can also perform some or all of the physical layer functions. For specific descriptions of the above protocol layers, please refer to the relevant 3GPP technical specifications. The CU and DU can be set up separately or included in the same network element, such as in a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, and RU can also be called O-RU. Any of the 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.
[0065] 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.
[0066] (2) Terminal equipment
[0067] 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. They can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle equipment (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point of sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, and flying equipment (such as smart robots, hot air balloons, drones, airplanes), etc. The terminal device can also be a vehicle device (such as a complete vehicle device, vehicle module, vehicle chip, on-board unit (OBU), or telematics box (T-BOX), etc.). In the embodiments of this application, the device used to implement the function of the terminal device can be the terminal device itself, or it can be a device that supports the terminal device in implementing the function, such as a chip system or a combination of devices or components that can implement the function 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.
[0068] In this embodiment of the application, the functions of the terminal device can also be performed by modules (such as chips or modems) in the terminal device, or by a device that includes the functions of the terminal device.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] (1) Channel coding and channel decoding
[0075] Figure 2 This is a schematic diagram of an information transmission process. For example... Figure 2 As shown, the transmitting end (i.e., the source) obtains the bit sequence to be encoded (i.e., the information bit sequence) through source coding, and then performs channel coding on the information bit sequence to obtain the encoded bit sequence. Correspondingly, after the receiving end (i.e., the sink) obtains the symbol sequence to be decoded, it performs channel decoding on the symbol sequence to be decoded to obtain the information bit sequence, and then performs source recovery on the information bit sequence to obtain useful information.
[0076] Since source coding does not consider interference resistance, if the bit sequence output by source coding is directly transmitted through the channel, bit errors will occur due to noise interference in the channel, reducing communication reliability. Therefore, channel coding, which encodes the bit sequence output by source coding again, can improve communication reliability. Channel decoding is the inverse process of channel coding. There are various channel coding methods, such as polar codes. Polar codes are 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.
[0077] Here, the information bit sequence refers to a sequence of multiple 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.
[0078] (2) Polar nuclei of polar codes
[0079] The polar kernel of a polar code is the basic unit for constructing the encoding matrix, which can also be called the generator matrix. Assuming the polar kernel is an N0*N0 binary matrix (N0 is greater than or equal to 2), larger encoding matrices can be generated from the polar kernel, such as N*N encoding matrices (N = N0 * 2). n (where n is an integer greater than or equal to 1). For example, G... N G is called a polar code of length N (i.e., an N*N matrix). N This can be viewed as the result of coupling two polarization nuclei of length N / 2, and a polarization nucleus of length N / 2 can be viewed as the result of coupling two polarization nuclei of length N / 4. For an example, see... Figure 3 As shown, a polar code of length 32 is obtained by coupling two polar nuclei of length 16, and a polar nuclei of length 16 is obtained by coupling two polar nuclei of length 8.
[0080] The classic polarization nucleus is the Arikan polarization nucleus, whose matrix representation is as follows: The encoding matrix is G N It equals the Kronecker product of log₂N matrices F². Here, we take an Arikan polarization kernel with a length of 2 as an example. The Arikan polarization kernel can also have other possible lengths, such as 4, 8, 16, etc., without limitation. The row weight of each row in the Arikan polarization kernel is an integer power of 2, and the code length of the encoding matrix generated by the Arikan polarization kernel is an integer power of 2. The polarization process is strictly recursive, and the Arikan polarization kernel can also be called a regular polarization kernel.
[0081] Since the choice of polarization kernel affects the performance of polar codes—for example, using different polarization kernels may lead to different channel reliability rankings, thus affecting the selection of information bits and the final bit error rate performance—the design of polarization kernels is an important direction in polar code research. This application provides another type of polarization kernel, which can be called an irregular polarization kernel. At least one row of the irregular polarization kernel has a row weight that is not an integer power of 2. The code length of the coding matrix generated by the irregular polarization kernel can be any integer (usually greater than 2), and it does not strictly follow the recursive construction rules of the Arikan polarization kernel, thus offering greater flexibility. Furthermore, the irregular polarization kernel can flexibly adjust the polarization grid connection structure according to the channel state or the number of information bits, thereby facilitating the construction of sparse large-scale polarization matrices and maintaining the original decoding complexity while reducing the number of polarization recursions, thus accelerating the channel polarization process.
[0082] When the length of the non-regular polarization kernel is N0, different values of K (K represents the number of information bits) will construct different non-regular polarization kernels (unlike the Arikan polarization kernel, when the length of the Arikan polarization kernel is N0, different values of K will not affect the constructed Arikan polarization kernel, that is, no matter what value K is, the Arikan polarization kernel with a length of N0 is fixed).
[0083] For example, when N0 = 5 and K = 3, the non-canonical polarization kernel is obtained through multiple stages of operation. Each stage includes at least one integer pair, and the integer pairs included in the multiple stages are {(3,4)}, {(3,5),(1,2)}, and {(1,3),(2,5)}. Specifically, stage 1 includes the integer pairs (4,5) and (2,3), stage 2 includes the integer pair (1,3), and stage 3 includes the integer pairs (3,5) and (1,4). (Reference) Figure 4 The multi-stage operation includes the following steps:
[0084] Operation 1 corresponding to (4,5): Add the 5th column of the 5x5 identity matrix to the 4th column, resulting in the following... Figure 4 The matrix shown is #1.
[0085] Operation 2 corresponding to (2,3): Add the 3rd column of matrix #1 to the 2nd column, resulting in the following... Figure 4 The matrix shown is #2.
[0086] Operation 3 corresponding to (1,3): Add the 3rd column of matrix #2 to the 1st column, resulting in the following... Figure 4 The matrix shown is #3.
[0087] Operation 4 corresponding to (3,5): Add the 5th column of matrix #3 to the 3rd column, resulting in the following... Figure 4 The matrix shown is #4.
[0088] Operation 5 corresponding to (1,4): Add the 4th column of matrix #4 to the 1st column, resulting in the following... Figure 4 The matrix shown is #5, which corresponds to the non-canonical polarization nucleus when N0=5 and K=3.
[0089] For example, when N0 = 5 and K = 2, the non-canonical polarization kernel is obtained through multiple stages of operation. The multiple stages include integer pairs {(3,4)}, {(3,5),(1,2)}, and {(1,3),(2,5)}. Among them, the first stage includes integer pairs (3,4), the second stage includes integer pairs (3,5) and (1,2), and the third stage includes integer pairs (1,3) and (2,5).
[0090] For example, when N0 = 4 and K = 2, the non-canonical polarization kernel is obtained through multiple stages of operation, with the integer pairs included in these stages being {(2,3)}, {(2,4)}, and {(1,2)}. Specifically, the first stage includes the integer pair (2,3), the second stage includes the integer pair (2,4), and the third stage includes the integer pair (1,2).
[0091] (3) Reliability sequence of polar codes
[0092] The reliability sequence of a polar code is obtained by sorting the indices of multiple sub-channels of the polar code according to their reliability from low to high or from high to low. High-reliability sub-channels can be used to transmit information bits (i.e., information bit positions), while low-reliability sub-channels are used to transmit frozen bits (i.e., frozen bit positions). In the embodiments of this application, "bit position" and "sub-channel" can be used interchangeably.
[0093] For an Arikan polarization kernel, given a length N0, the reliability sequence of the Arikan polarization kernel is also fixed. For example, if N0 = 8, the reliability sequence of the Arikan polarization kernel is [0 1 2 4 3 5 6 7]. There are several ways to determine the reliability of a subchannel for an Arikan polarization kernel or Arikan polarization code. One implementation is based on the polarization weight (PW) formula to determine the reliability of the subchannel, specifically:
[0094]
[0095]
[0096] Among them, W x This indicates the reliability of subchannel x.
[0097] For example, when x = 13, its binary representation is 1101, then the reliability W of sub-channel 13 is... 13 =2 3 / 4 +2 2 / 4 +2 0 / 4 .
[0098] For a non-canonical polarization nucleus, given a length N0, different values of K can result in different reliability sequences for the constructed non-canonical polarization nucleus. For example, a non-canonical polarization nucleus with N0=5 and K=3 corresponds to reliability sequence 1, while a non-canonical polarization nucleus with N0=5 and K=2 corresponds to reliability sequence 2. Reliability sequence 1 and reliability sequence 2 are different.
[0099] (4) Polar code encoding
[0100] Polar codes employ a noiseless channel to transmit useful information, while using a noisy channel to transmit predetermined information or no information at all. Assume the generator matrix, or encoding matrix, of the polar code is G. N Its encoding process is as follows It is a binary row vector with length N; x1 N These are the encoded bits (also called codewords). With the generating matrix G N Multiplying them together yields the encoded bits; the process of multiplication is the encoding process.
[0101] 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, and the set of its bit indices is denoted by the complement of A, denoted as 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.
[0102] The frozen bits and information bits can be determined based on the reliability sequence corresponding to the code length. Taking Arikan polar codes as an example, assuming a code length of 8, the reliability sequence is [0 1 2 4 3 5 6 7]. This means the reliability of the bits from largest to smallest (or from highest to lowest) is: the bit corresponding to bit number 8, the bit corresponding to bit number 7, ..., the bit corresponding to bit number 2, and the bit corresponding to bit number 1. A bit can be understood as a sub-channel of bits. A bit number can be understood as an index or identifier of a bit. For example, when constructing a polar code with a master code length of 8 and an information length of 5, the bits corresponding to bit number 8, bit number 7, bit number 6, and bit number 4 are selected from the end to the beginning as information bits, while the bits corresponding to bit number 5, bit number 3, bit number 2, and bit number 1 are selected as frozen bits.
[0103] Figure 5A An 8×8 polarization transformation matrix is shown, where the left side can be understood as the encoding side, with bits on the left denoted by u, and the right side can be understood as the encoding side (or codeword side), with bits on the right denoted by x. The process from left to right represents the encoding of the bit sequence at the transmitting end. The information bits to be encoded are represented by the sequence u(0, 0, 0, 0, 0, 0, 1, 1). After the polarization transformation matrix, the encoded bits are represented by the sequence x(0, 1, 0, 1, 0, 1, 0, 1). Mapping x to modulation symbols allows transmission through channel W. Bits corresponding to high channel reliability are used to map information bits, while bits corresponding to low channel reliability are used to map frozen bits. For example... Figure 5A As shown, {u0, u1, u2, u4} are frozen bits, i.e., the positions of the frozen bits, and {u3, u5, u6, u7} are information bits, i.e., the positions of the information bits. In this embodiment of the application, the information bits are also called information bits. The frozen bits are also called frozen positions.
[0104] See Figure 5A 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).
[0105] (5) Polar code decoding
[0106] There are various methods for decoding polar codes, such as successive cancellation (SC) decoding. SC decoding involves calculating the LLR of each decoded bit based on the log likelihood ratio (LLR) sequence corresponding to the bit sequence to be decoded, and then making a bit-by-bit decision. When the decoded bit is an information bit, if the LLR of the decoded bit is greater than 0, then the decoded bit is 0; if the LLR of the decoded bit is less than 0, then the decoded bit is 1. When the decoded bit is a fixed bit, the decoding result is always set to 0 regardless of the LLR value. Figure 5B This is a schematic diagram of the SC decoding calculation process, taking 4 decoding bits as an example. Figure 5B There are a total of 8 computation nodes, including 4 F nodes and 4 G nodes. The F nodes correspond to F operations and the G nodes to G operations, respectively. An F node operation requires two LLR inputs to its right, and a G node operation requires two LLR inputs to its right as well as the output of the previous level as input. The output can only be calculated after all inputs have been computed. According to these computation rules... Figure 5B Starting from the right, the decoded bits are calculated sequentially as ①→②→③→④, and the decoding is now complete.
[0107] Based on the above-mentioned terminology, this application will study the implementation of how to improve the decoding performance of polar codes.
[0108] The most widely used polar codes currently are Arikan polar codes (polar codes based on Arikan polar kernels). Although they theoretically meet the Shannon limit, their practical decoding performance still has limitations, such as the inability to guarantee excellent performance across different numbers of information bits. In contrast, irregular polar codes (polar codes based on irregular polar kernels) offer greater flexibility, allowing for the construction of corresponding polar kernels for different numbers of information bits, thus possessing the potential to improve decoding performance. However, how to construct the encoding matrix of irregular polar codes to improve decoding performance still requires further research.
[0109] Based on this, embodiments of this application provide a coding and decoding method, which determines the encoding matrix of the non-regular polar code according to the number of information bits and the first sequence, and then performs coding and decoding based on the encoding matrix of the non-regular polar code, thereby improving the decoding performance of the polar code.
[0110] The method provided in this application embodiment will be described in detail below with reference to specific embodiments. The method provided in this application embodiment involves a first communication device and / or a second communication device. The first communication device is a signal transmitting end, and the second communication device is a signal receiving end. Unless otherwise specified, the "first communication device" in this application can refer to a communication device (e.g., a network device, a terminal device, an encoding device, etc.), a component used in the communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software capable of implementing all or part of the functions of the communication device; the "second communication device" in this application can refer to a communication device (e.g., a terminal device, a network device, a decoding device, etc.), a component used in the communication device (e.g., a processor, a chip, or a chip system, etc.), or a logic module or software capable of implementing all or part of the functions of the communication device. For example, the first communication device is a network device, and the second communication device is a terminal device; or, the first communication device is a terminal device, and the second communication device is a network device.
[0111] Figure 6 This is a flowchart illustrating the method provided in the embodiments of this application. Figure 6 As shown, the process may include:
[0112] S601, the first communication device acquires the first sequence corresponding to the code length N.
[0113] The first sequence is obtained based on the second sequence. For example, the first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels, and the values corresponding to the N sub-channels are obtained based on the second sequence.
[0114] (1) Introduce the second sequence.
[0115] The second sequence comprises N0 elements, at least two of which have different values. The values of the N0 elements are greater than or equal to 0 and less than 1, where N0 is a positive integer power of 2, and N = N0 * 2. n , where n is an integer greater than or equal to 1.
[0116] Implementation method 1: The second sequence is determined based on the second matrix and N0 third matrices.
[0117] The second matrix: The size of the second matrix is N0*N0. The row weight of each row of the second matrix is an integer power of 2, which means that the second matrix can be an Arikan polarization kernel.
[0118] The third matrix consists of N0 third matrices, each of size N0*N0. The number of information bits corresponding to the N0 third matrices differs. For example, if the N0 third matrices are designated as third matrix 1 to third matrix N0, then third matrix 1 corresponds to 1 information bit, third matrix 2 corresponds to 2 information bits, and so on. The N0 third matrices also include P third matrices, where the row weight of at least one row in each of the P third matrices is not a power of 2. In other words, the P third matrices form a non-regular polarization kernel.
[0119] Specifically, when the number of information bits is any value from 1 to N0, the decoding performance gain of the first polar code compared to the decoding performance of the second polar code is greater than or equal to 0. The first and second polar codes are described below. That is, the decoding performance corresponding to the N0 third matrices is equal to or better than the decoding performance corresponding to the second matrix. When the length of the polarization kernel is N0, there are N0 possible numbers of information bits, namely 1, 2...N0. Assuming that different numbers of information bits correspond to different non-regular polarization kernels, there are a total of N0 non-regular polarization kernels, that is, all N0 third matrices are non-regular polarization kernels. Considering that some numbers of information bits may correspond to Arikan polarization kernels (for example, when the number of information bits is 1, the polarization kernel with the best decoding performance is the Arikan polarization kernel, therefore, the polarization kernel corresponding to the number of information bits 1 is the Arikan polarization kernel), that is, some of the N0 third matrices are non-regular polarization kernels, and the other part are regular polarization kernels. Therefore, P above is an integer greater than or equal to 1 and less than or equal to N0.
[0120] For example, the value of the i-th element in the second sequence indicates the gain in decoding performance of the first polar code compared to the second polar code when the number of information bits is i, where i = 1, 2, ..., N0. The first polar code is obtained by encoding i information bits using the second matrix, and the second polar code is obtained by encoding i information bits using the third matrix corresponding to the number of information bits i.
[0121] Alternatively, the value of the i-th element in the second sequence is determined based on the values of the i-th elements in the third and fourth sequences. The third sequence is determined based on the second matrix; for example, the value of the i-th element in the third sequence indicates the decoding performance of the first polar code obtained by encoding i information bits using the second matrix when the number of information bits is i. The fourth sequence is determined based on N0 third matrices; for example, the value of the i-th element in the fourth sequence indicates the decoding performance of the second polar code obtained by encoding i information bits using the third matrix corresponding to the number of information bits i when the number of information bits is i.
[0122] The following section will further illustrate this point using Examples 1 and 2.
[0123] Example 1:
[0124] The decoding performance of the first polar code is its signal-to-noise ratio (SNR) at the first block error ratio (BLER). In this case, the value of the i-th element in the third sequence can be: when the number of information bits is i, the SNR of the first polar code obtained by encoding i information bits according to the second matrix at the first BLER. For example, N0 = 8, the third sequence is denoted as v1, v1 = [2.3804 5.8167 6.3559 6.8387 9.2213 9.7247 10.0679 12.5942].
[0125] The decoding performance of the second polar code is its signal-to-noise ratio (SNR) at the first block error rate (BLER). In this case, the value of the i-th element in the fourth sequence can be: when the number of information bits is i, the SNR of the second polar code obtained by encoding i information bits according to the third matrix corresponding to the number of information bits i under the first BLER is given. For example, N0 = 8, the fourth sequence is denoted as v2, v2 = [2.3804 4.86526.2343 6.8328 8.5709 9.4698 10.037812.5141].
[0126] The value of the i-th element in the second sequence satisfies the following formula:
[0127] a i =γ(v1(i)-v2(i))
[0128] Among them, a iLet v1(i) represent the value of the i-th element in the second sequence, v2(i) represent the decoding performance of the first polar code (i.e., the value of the i-th element in the third sequence), v2(i) represent the decoding performance of the second polar code (i.e., the value of the i-th element in the fourth sequence), and γ be a coefficient greater than 0, which can be understood as a scaling factor used to adjust the magnitude of the difference (adjusting a without changing the relative difference between v1(i) and v2(i)). i (absolute size), the specific value of γ is not limited in this embodiment. When γ = 1, the above formula can also be replaced by: a i = v1(i)-v2(i).
[0129] Example 2:
[0130] The decoding performance of the first polar code is the block error rate of the first polar code at the first signal-to-noise ratio. In this case, the value of the i-th element in the third sequence can be: when the number of information bits is i, the BLER of the first polar code obtained by encoding i information bits according to the second matrix at the first SNR.
[0131] The decoding performance of the second polar code is the block error rate (BLER) of the second polar code at the first signal-to-noise ratio (SNR). In this case, the value of the i-th element in the fourth sequence can be: when the number of information bits is i, the BLER of the second polar code at the first SNR is obtained by encoding i information bits according to the third matrix corresponding to the number of information bits i.
[0132] The value of the i-th element in the second sequence satisfies the following formula:
[0133] a i =γ′(u1(i) / u2(i))
[0134] Among them, a i Let u1(i) represent the value of the i-th element in the second sequence, u2(i) represent the value of the i-th element in the third sequence, u2(i) represent the value of the i-th element in the fourth sequence, and γ′ be a coefficient greater than 0. This coefficient can be understood as a scaling factor, used to adjust the magnitude of the difference (adjusting a without changing the relative proportion of u1(i) / u2(i)). i (absolute size), the specific value of γ′ is not limited in this embodiment. When γ′=1, the above formula can also be replaced by: a i = u1(i) / u2(i).
[0135] Implementation Method 2: The values of the N0 elements included in the second sequence are obtained through computational search. For example, when N0 = 16, the second sequence is [0 0.3 0.45 0.5 0.35 0.5 0.45 0.65 0.4 0.55 0.65 0.55 0.5 0.95 0.35 0.5]; and when N0 = 8, the second sequence is [0 0.95 0.15 0.25 0.75 0.25 0.5 0.5].
[0136] (2) The specific implementation of obtaining the first sequence from the second sequence is introduced.
[0137] For example, the value corresponding to subchannel x in N subchannels is determined based on the value of the i-th element among the N0 elements included in the second sequence, i = x mod N0+1, x = 0, 1, 2…N-1.
[0138] The sorting according to the values corresponding to the N sub-channels can refer to sorting the values from low to high, or it can refer to sorting the values from high to low. This embodiment will use the example of "the first sequence being obtained by sorting the indices of the N sub-channels from low to high according to their corresponding values" as an example. This embodiment uses sub-channel indices starting from 0 as an example, for instance, the indices of the N sub-channels are 0 to N-1. In other examples, the sub-channel indices can also start from 1, in which case the indices of the N sub-channels are 1 to N.
[0139] For example, if N0 = 8 and N = 16, then: the value corresponding to subchannel 0 in the N subchannels is determined by the first element of the 8 elements included in the second sequence; the value corresponding to subchannel 1 in the N subchannels is determined by the second element of the 8 elements included in the second sequence; and so on. The value corresponding to subchannel 7 in the N subchannels is determined by the eighth element of the 8 elements included in the second sequence; the value corresponding to subchannel 8 in the N subchannels is determined by the first element of the 8 elements included in the second sequence; the value corresponding to subchannel 9 in the N subchannels is determined by the second element of the 8 elements included in the second sequence; and so on. The value corresponding to subchannel 15 in the N subchannels is determined by the eighth element of the 8 elements included in the second sequence.
[0140] Furthermore, the value corresponding to sub-channel x among the N sub-channels is obtained based on the value of the i-th element among the N0 elements included in the second sequence and the reliability of sub-channel x in the Arikan polar code. There are multiple ways to calculate the reliability of sub-channel x in the Arikan polar code, and no specific method is limited. For example, the value corresponding to sub-channel x among the N sub-channels satisfies the following formula:
[0141]
[0142] Among them, W x a represents the value corresponding to sub-channel x. i This represents the value of the i-th element in the second sequence, where β is an optimization parameter greater than 0 and less than 1, such as β = 1 / 4. This represents the reliability of subchannel x in the Arikan polar code. In other words, the value corresponding to subchannel x is obtained by adjusting the PW calculation formula according to the second sequence.
[0143] Based on Example 1 above, assume N = 16 (i.e., t = 4), N0 = 8, and γ = 1.
[0144] When x = 0, its binary representation is 0000, then W1 = 0 + γ(v1(1) - v2(1)) = 0 + (2.3804 - 2.3804) = 0;
[0145] When x = 1, its binary representation is 0001, then W1 = 2. 0 / 4 +γ(v1(2)-v2(2))=1+(5.8167-4.8652)=1.9515;
[0146] Following this logic, we can obtain W. x = [0 1.9515 1.3108 1.4201 2.8396 2.6691 2.6335 3.6835 1.6818 3.6333 2.9926 3.1019 4.5214 4.3509 4.3153 5.3653], x = 0, 1, ... 15. Further, according to W... x The first sequence obtained by sorting the indices of the N sub-channels is [0 2 3 8 1 6 5 4 10 11 97 14 13 12 15].
[0147] The above example uses the PW calculation formula to obtain the first sequence. In this embodiment, other formulas for calculating reliability can also be adjusted to obtain the first sequence, and no specific limitation is made.
[0148] It is understandable that the first sequence in the embodiment itself has a nested nature. For example, when the code length is halved from N to N / 2, the first sequence corresponding to code length N / 2 is equal to the subsequence of the first sequence corresponding to code length N, including the indices of the first N / 2 sub-channels. For example, the first sequence corresponding to code length 16 is [0 2 3 8 1 6 5 4 10 11 9 7 14 13 1215], and the first sequence corresponding to code length 8 is [0 2 3 1 6 5 4 7]. This characteristic allows for the reuse of the first sequence corresponding to the longer code length without recalculating the first sequence corresponding to the shorter code length, thereby reducing processing complexity.
[0149] Furthermore, the first sequence can be predefined, preconfigured, or configured, allowing the first communication device to directly acquire it. Alternatively, the second sequence can be predefined, preconfigured, or configured, allowing the first communication device to calculate W based on the second sequence. x Thus, the first sequence is obtained.
[0150] S602, the first communication device determines a first matrix based on the number K of information bits to be encoded and a first sequence, where K is an integer greater than or equal to 1 and less than or equal to N.
[0151] The size of the first matrix is N*N, and the row weight of at least one row of the first matrix is not an integer power of 2. That is, the first matrix is the encoding matrix of a non-regular polar code with a code length of N.
[0152] For example, the first communication device determines K target sub-channels from the first sequence based on the number K of information bits to be encoded. The K target sub-channels belong to m sub-blocks, and sub-channel y among the K target sub-channels belongs to the nth sub-block in N / N0 sub-blocks. There are m sub-blocks, where y is an integer greater than or equal to 1 and less than or equal to N. For example, when N0 = 8 and N = 16, sub-channels 1 to 8 belong to sub-block 1, and sub-channels 9 to 16 belong to sub-block 2. Further, the first communication device determines m matrices based on the number of target sub-channels included in each of the m sub-blocks; where the number of information bits corresponding to the r-th matrix in the m matrices is equal to the number of target sub-channels included in the r-th sub-block in the m sub-blocks, r = 1, 2, ..., m; based on the m matrices, a first matrix is determined. Here, the m matrices refer to the m third matrices among the aforementioned N0 third matrices.
[0153] Taking Example 1 above as an example, assuming K = 11, 11 target sub-channels are selected from the first sequence (i.e., [0 2 3 8 1 6 5 4 10 11 9 7 14 13 12 15]) from back to front. The indices of the selected 11 target sub-channels include {6 54 10 11 9 7 14 13 12 15}. These 11 target sub-channels belong to two sub-blocks (i.e., m = 2), of which 4 sub-channels belong to sub-block 1 and 7 sub-channels belong to sub-block 2. Therefore, the m matrices include the third matrix 4 (corresponding to 4 information bits) and the third matrix 7 (corresponding to 7 information bits). Furthermore, the first matrix can be obtained by coupling the third matrix 4 and the third matrix 7; the specific coupling method is not limited. For example, one possible coupling method is: the first matrix... G1 represents the third matrix 4, and G2 represents the third matrix 7.
[0154] S603, the first communication device performs polarization encoding on K information bits according to the first matrix.
[0155] For example, the first communication device obtains the reliability sequence corresponding to the r-th matrix among m matrices, and determines Kr sub-channels for carrying information bits from the N0 sub-channels corresponding to the r-th matrix based on the reliability sequence. The first communication device performs polarization coding on the K information bits according to the first matrix and the K sub-channels used to carry the K information bits.
[0156] For example, following the above example, the m matrices include the third matrix 4 and the third matrix 7. The first communication device obtains the reliability sequence corresponding to the third matrix 4, and determines 4 sub-channels for carrying information bits from the N0 sub-channels corresponding to the third matrix 4; and obtains the reliability sequence corresponding to the third matrix 7, and determines 7 sub-channels for carrying information bits from the N0 sub-channels corresponding to the third matrix 7. Then, the first communication device places the 11 information bits to be encoded into the 11 sub-channels for carrying information bits, and performs polar coding on the 11 information bits according to the first matrix.
[0157] S604, the first communication device outputs the encoded bit sequence; correspondingly, the second communication device acquires the bit sequence to be decoded.
[0158] For example, the first communication device can modulate the encoded bit sequence to obtain multiple modulation symbols and output the multiple modulation symbols; correspondingly, the second communication device can acquire the multiple modulation symbols and obtain the bit sequence to be decoded by demodulation.
[0159] Optionally, rate matching and other steps may be performed before the encoded bits are modulated, but this application does not limit this.
[0160] Optionally, the above method further includes S605 to S607, where S605 to S607 are the contents of the second communication device. S605 to S607 can be implemented in combination with S601 to S604, or S605 to S607 can be implemented independently, and there is no specific limitation.
[0161] S605, the second communication device obtains the first sequence corresponding to the code length N, the first sequence being obtained by sorting the indices of the N sub-channels according to the values corresponding to the N sub-channels.
[0162] For example, the specific implementation of S605 can be referred to the description of S601.
[0163] S606, the second communication device determines the first matrix based on the number of information bits K and the first sequence, where K is an integer greater than or equal to 1 and less than or equal to N.
[0164] For example, the specific implementation of S606 can be referred to the description of S602.
[0165] S607, the second communication device decodes the bit sequence to be decoded according to the first matrix to obtain K information bits.
[0166] For example, the second communication device acquires the reliability sequence corresponding to the r-th matrix, and determines Kr sub-channels for carrying information bits from the N0 sub-channels corresponding to the r-th matrix based on the reliability sequence. Then, the second communication device decodes the bit sequence to be decoded based on the first matrix and the K sub-channels for carrying information bits to obtain a decoded bit sequence; and, based on the K sub-channels for carrying information bits, obtains K information bits from the decoded bit sequence, that is, the K bits located in the K sub-channels of the decoded bit sequence are taken as the K information bits.
[0167] The method described in this application provides a specific implementation for determining the encoding matrix of an irregular polar code. Specifically, it determines the encoding matrix of the irregular polar code based on the number of information bits and a first sequence, and then performs encoding and decoding based on the encoding matrix, thereby improving the decoding performance of the polar code. Furthermore, since the first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels, and the values corresponding to the N sub-channels are determined based on a second sequence, for example, by adjusting the PW calculation formula, the first sequence is made more suitable for irregular polar codes, thus improving the decoding performance of the polar code. In addition, compared to other methods (such as using Gaussian approximation to determine the reliability of sub-channels of the irregular polar code online, and then selecting information bits based on the reliability sequence), the method provided in this application effectively reduces processing complexity.
[0168] The decoding performance of Scheme 1 and Scheme 2 is compared below using simulation examples. Scheme 1, as described above in this application embodiment, determines the encoding matrix of the non-regular polar code based on the number of information bits and a first sequence (the first sequence is obtained by adjusting the PW calculation formula according to the second sequence in Implementation 1 or Implementation 2), and then performs encoding based on the encoding matrix of the non-regular polar code. Scheme 2: Determines the encoding matrix of the non-regular polar code based on the number of information bits and a fifth sequence, and then performs encoding and decoding on the encoding matrix of the non-regular polar code; wherein, the fifth sequence is obtained according to the PW calculation formula, that is, the reliability of each sub-channel is calculated according to the PW calculation formula, and then the sub-channels are sorted from low to high according to the reliability to obtain the fifth sequence.
[0169] See Figure 7A , Figure 7A In the illustrated scheme 1, the first sequence is obtained by adjusting the PW calculation formula based on the second sequence in implementation method 1 above. When the code length N = 1024 and the number of information bits K = 544, in the same BLER (e.g., 10... -1 10 -2 10 -3 Under the same SNR (e.g., 2.6, 2.8), the SNR of the polar code obtained by Scheme 1 is lower than that of the polar code obtained by Scheme 2. In other words, under the same SNR (e.g., 2.6, 2.8), the BLER of the polar code obtained by Scheme 1 is lower than that of the polar code obtained by Scheme 2. That is, the decoding performance of the polar code obtained by Scheme 1 is better than that of the polar code obtained by Scheme 2.
[0170] See Figure 7B As shown, Figure 7B In the illustrated scheme 1, the first sequence is obtained by adjusting the PW calculation formula based on the second sequence in implementation method 2 (i.e., [0 0.3 0.45 0.5 0.35 0.5 0.45 0.65 0.4 0.55 0.65 0.55 0.5 0.95 0.35 0.5]). When the code length N = 1024 and the number of information bits K = 736, in the same BLER (e.g., 10... -1 10 -2 10 -3 Under the same SNR (e.g., 4.6, 4.7), the SNR of the polar code obtained by Scheme 1 is lower than that of the polar code obtained by Scheme 2. In other words, under the same SNR (e.g., 4.6, 4.7), the BLER of the polar code obtained by Scheme 1 is lower than that of the polar code obtained by Scheme 2. That is, the decoding performance of the polar code obtained by Scheme 1 is better than that of the polar code obtained by Scheme 2.
[0171] See Figure 7C As shown, Figure 7CIn the illustrated scheme 1, the first sequence is obtained by adjusting the PW calculation formula based on the second sequence (i.e., [0 0.95 0.15 0.25 0.75 0.25 0.5 0.5]) in the above implementation method 2. When the code length N = 1024 and the number of information bits K = 736, in the same BLER (e.g., 10... -2 10 -3 Under the same SNR (e.g., 2.6, 2.8), the SNR of the polar code obtained by Scheme 1 is lower than that of the polar code obtained by Scheme 2. In other words, under the same SNR (e.g., 2.6, 2.8), the BLER of the polar code obtained by Scheme 1 is lower than that of the polar code obtained by Scheme 2. That is, the decoding performance of the polar code obtained by Scheme 1 is better than that of the polar code obtained by Scheme 2.
[0172] The above mainly describes the solution provided by the embodiments of this application from the perspective of the interaction between the first communication device and the second communication device. It is understood that, in order to achieve the above functions, the first communication device and the second communication device may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0173] In this application embodiment, the first communication device and the second communication device can be divided into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0174] When using integrated units, Figure 8 A possible exemplary block diagram of the apparatus involved in an embodiment of this application is shown. For example... Figure 8 As shown, the device 800 may include a processing unit 802 and a communication unit 803. The processing unit 802 is used to control and manage the operation of the device 800. The communication unit 803 is used to support communication between the device 800 and other devices. Optionally, the communication unit 803 is also called a transceiver unit, and may include a receiving unit and / or a transmitting unit, respectively used to perform receiving and transmitting operations. The device 800 may also include a storage unit 801 for storing the program code and / or data of the device 800.
[0175] (1) The device 800 can be the first communication device in the above embodiments. The processing unit 802 can support the device 800 in performing the actions of the first communication device in the above method embodiments. Alternatively, the processing unit 802 mainly performs the internal actions of the first communication device in the method embodiments, and the communication unit 803 can support communication between the device 800 and other devices.
[0176] For example, in one embodiment, the processing unit 802 is configured to: obtain a first sequence corresponding to code length N, wherein the first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels, and the value corresponding to sub-channel x in the N sub-channels is determined according to the value of the i-th element among the N0 elements included in the second sequence, i = x mod N0 + 1, N0 is a positive integer power of 2, and N = N0 * 2. n n is an integer greater than or equal to 1, x = 0, 1, 2…N-1; a first matrix is determined based on the number of information bits to be encoded K and the first sequence, wherein the row weight of at least one row of the first matrix is not an integer power of 2, and K is an integer greater than or equal to 1 and less than or equal to N; polar coding is performed on the K information bits based on the first matrix; the communication unit 803 is used to output the encoded bit sequence.
[0177] Other further technical features can be found in the description of the above method embodiments.
[0178] (2) The device 800 can be the second communication device in the above embodiments. The processing unit 802 can support the device 800 in performing the actions of the second communication device in the above method embodiments. Alternatively, the processing unit 802 mainly performs the internal actions of the second communication device in the method embodiments, and the communication unit 803 can support communication between the device 800 and other devices.
[0179] For example, in one embodiment, the processing unit 802 is configured to: obtain a first sequence corresponding to code length N, wherein the first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels, and the value corresponding to sub-channel x in the N sub-channels is determined according to the value of the i-th element among the N0 elements included in the second sequence, i = x mod N0 + 1, N0 is a positive integer power of 2, and N = N0 * 2. n n is an integer greater than or equal to 1, x = 0, 1, 2, ..., N-1; based on the number of information bits K and the first sequence, determine the first matrix, where the row weight of at least one row of the first matrix is not an integer power of 2, and K is an integer greater than or equal to 1 and less than or equal to N; based on the first matrix, decode the bit sequence to be decoded to obtain K information bits.
[0180] In one possible design, the communication unit 803 is used to acquire the sequence of bits to be decoded.
[0181] Other further technical features can be found in the description of the above method embodiments.
[0182] It should be understood that the division of units in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, and some units can be implemented in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element mentioned here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, the operations of the above methods or the various units mentioned above can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.
[0183] In one example, a unit in any of the above devices can be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. As another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general-purpose central processing unit (CPU), or other processor capable of calling programs. Furthermore, these units can be integrated together and implemented as a System-on-a-Chip (SoC).
[0184] The receiving unit described above is an interface circuit of the device, used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is an interface circuit for the chip to receive signals from other chips or devices. The transmitting unit described above is an interface circuit of the device, used to transmit signals to other devices. For example, when the device is implemented as a chip, the transmitting unit is an interface circuit for the chip to transmit signals to other chips or devices.
[0185] Based on the same technical concept, embodiments of this application also provide a communication device, which is used to implement the functions of the first or second communication device in the above embodiments. For example... Figure 9 As shown, the device can be a communication device or a component within a communication device (e.g., a processor, chip, or chip system). The device includes a processor 901 and a communication interface 902, and optionally, a memory 903. The memory 903 can be independent of the processor 901 or integrated into the processor 901; no specific limitation is made. It is understood that... Figure 9 Only the main components of the communication device are shown. Furthermore, the communication device may further include input / output devices (not shown in the figure).
[0186] The processor 901 is used to execute the program code stored in the memory 903, specifically to perform the actions of the processing unit 802 described above, which will not be described in detail here. The communication interface 902 is specifically used to perform the actions of the communication unit 803 described above, which will not be described in detail here.
[0187] Processor 901 can be a CPU, a digital processing unit, etc. Processor 901 can be used to process communication protocols and communication data, control the entire communication device, execute software programs, and process software program data, such as, but not limited to, baseband-related processing. Communication interface 902 can be used for transmitting and receiving signals, such as, but not limited to, radio frequency transceiver. The above-mentioned devices can be disposed on separate chips, or at least partially or entirely on the same chip. For example, processor 901 can be further divided into an analog baseband processor and a digital baseband processor. The analog baseband processor can be integrated with the transceiver on the same chip, while the digital baseband processor can be disposed on a separate chip. With the continuous development of integrated circuit technology, more and more devices can be integrated on the same chip. For example, a digital baseband processor can be integrated with multiple application processors (such as, but not limited to, graphics processors, multimedia processors, etc.) on the same chip. Such a chip can be called a system-on-a-chip (SoC). Whether the various devices are disposed independently on different chips or integrated on one or more chips often depends on the specific needs of the product design. This embodiment of the invention does not limit the specific implementation of the above-mentioned devices.
[0188] The communication interface 902 can be a transceiver, an interface circuit such as a transceiver circuit, or a transceiver chip, etc. Optionally, the communication interface 902 may include radio frequency (RF) circuitry and an antenna. The RF circuitry is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used for receiving user input data and outputting data to the user.
[0189] Memory 903 is used to store programs executed by processor 901. Memory 903 can be non-volatile memory, such as a hard disk drive (HDD) or solid-state drive (SSD), or it can be volatile memory, such as cache or random-access memory (RAM). Memory 903 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited to this.
[0190] When the communication device is powered on, the processor 901 can read the software program in the memory 903, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 901 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 901. The processor 901 converts the baseband signal into data and processes the data.
[0191] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0192] This application embodiment does not limit the specific connection medium between the communication interface 902, processor 901, and memory 903. This application embodiment... Figure 9 The memory 903, processor 901, and communication interface 902 are connected via a bus 904. Figure 9 The connections between other components are shown in bold lines only and are not intended to be limiting. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, Figure 9The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0193] Optionally, the communication device described above can be a standalone device or part of a larger device. For example, the communication device can be:
[0194] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;
[0195] (2) A collection of one or more ICs, optionally including a storage component for storing data and instructions;
[0196] (3) Application-specific integrated circuit (ASIC), such as modem;
[0197] (4) Modules that can be embedded in other devices;
[0198] (5) Receivers, smart terminals, wireless devices, handheld devices, mobile units, vehicle-mounted devices, cloud devices, artificial intelligence devices, etc.;
[0199] (6) Others, etc.
[0200] In this application embodiment, "multiple" can refer to two or more. Therefore, in this application embodiment, "multiple" can also be understood as "at least two". "At least one" can be understood as one or more, such as one, two, or more. For example, "including at least one" means including one, two, or more. For example, including at least one of A, B, and C, then it could include A, B, C, A and B, A and C, B and C, or A, B, and C. "And / or" describes the association relationship between related objects. Specifically, there can be three relationships. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / ", unless otherwise specified, generally indicates that the preceding and following related objects have an "or" relationship.
[0201] Furthermore, the terms "system" and "network" in the embodiments of this application can be used interchangeably, as can "according to" and "based on". The ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are generally used to distinguish different objects and are not used to limit the order, sequence, priority, or importance of multiple objects. For example, the first communication device and the second communication device in the embodiments of this application are used to distinguish between two communication devices, and do not limit the priority or importance of these two communication devices.
[0202] 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.
[0203] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0204] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0205] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
Claims
1. An encoding method, characterized in that, The method includes: Obtain the first sequence corresponding to code length N. The first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels. The value corresponding to sub-channel x in the N sub-channels is determined according to the value of the i-th element among the N0 elements included in the second sequence, where i = x mod N0 + 1, N0 is a positive integer power of 2, and N = N0 * 2. n n is an integer greater than or equal to 1, x = 0, 1, 2, ..., N-1; Based on the number of information bits K to be encoded and the first sequence, a first matrix is determined, wherein the row weight of at least one row of the first matrix is not an integer power of 2, and K is an integer greater than or equal to 1 and less than or equal to N. Based on the first matrix, polar coding is performed on the K information bits; Output the encoded bit sequence.
2. A decoding method, characterized in that, The method includes: Obtain the first sequence corresponding to code length N. The first sequence is obtained by sorting the indices of N sub-channels according to the values corresponding to the N sub-channels. The value corresponding to sub-channel x in the N sub-channels is determined according to the value of the i-th element among the N0 elements included in the second sequence, where i = x mod N0 + 1, N0 is a positive integer power of 2, and N = N0 * 2. n n is an integer greater than or equal to 1, x = 0, 1, 2, ..., N-1; Based on the number of information bits K and the first sequence, a first matrix is determined, wherein the row weight of at least one row of the first matrix is not an integer power of 2, and K is an integer greater than or equal to 1 and less than or equal to N. Based on the first matrix, the bit sequence to be decoded is decoded to obtain K information bits.
3. The method according to claim 1 or 2, characterized in that, The value corresponding to subchannel x among the N subchannels is determined based on the value of the i-th element among the N0 elements included in the second sequence, including: Among them, W x a represents the value corresponding to the sub-channel x. i β represents the value of the i-th element in the second sequence, where β is greater than 0 and less than 1.
4. The method according to any one of claims 1 to 3, characterized in that, The second sequence contains N0 elements, at least two of which have different values.
5. The method according to any one of claims 1 to 4, characterized in that, When N0 = 16, the second sequence is [0 0.3 0.45 0.5 0.35 0.5 0.45 0.65 0.4 0.55 0.65 0.55 0.5 0.95 0.35 0.5]; or, When N0 = 8, the second sequence is [0 0.95 0.15 0.25 0.75 0.25 0.5 0.5].
6. The method according to any one of claims 1 to 4, characterized in that, The second sequence is determined based on a second matrix and N0 third matrices. The size of the second matrix and the third matrix is N0*N0. The row weight of each row of the second matrix is an integer power of 2. The N0 third matrices include P third matrices. The row weight of at least one row of each of the P third matrices is not an integer power of 2. The number of information bits corresponding to the N0 third matrices is different.
7. The method according to claim 6, characterized in that, The second sequence is determined based on the second matrix and N0 third matrices, including: The value of the i-th element in the second sequence is used to indicate the gain of the decoding performance of the first polar code compared to the decoding performance of the second polar code when the number of information bits is i; wherein, the first polar code is obtained by encoding i information bits according to the second matrix, and the second polar code is obtained by encoding the i information bits according to the third matrix corresponding to the number of information bits i.
8. The method according to claim 7, characterized in that, The decoding performance of the first polar code is the signal-to-noise ratio of the first polar code at the first block error rate, and the decoding performance of the second polar code is the signal-to-noise ratio of the second polar code at the first block error rate.
9. The method according to claim 8, characterized in that, The value of the i-th element in the second sequence is determined based on the values of the i-th element in the third sequence and the i-th element in the fourth sequence, including: a i =γ(v1(i)-v2(i)) Among them, a i Let v1(i) represent the value of the i-th element in the second sequence, v2(i) represent the decoding performance of the first polar code, v2(i) represent the decoding performance of the second polar code, and γ is greater than 0.
10. The method according to claim 7, characterized in that, The decoding performance of the first polar code is the block error rate of the first polar code at the first signal-to-noise ratio, and the decoding performance of the second polar code is the block error rate of the second polar code at the first signal-to-noise ratio.
11. The method according to claim 10, characterized in that, The value of the i-th element in the second sequence is determined based on the values of the i-th element in the third sequence and the i-th element in the fourth sequence, including: a i =γ′(u1(i) / u2(i)) Among them, a i Let u1(i) represent the value of the i-th element in the second sequence, u2(i) represent the decoding performance of the first polar code, u2(i) represent the decoding performance of the second polar code, and γ′ is greater than 0.
12. The method according to any one of claims 1 to 11, characterized in that, Based on the number of information bits K and the first sequence, a first matrix is determined, including: Based on the number of information bits K, K target sub-channels are determined from the first sequence. These K target sub-channels belong to m sub-blocks, and sub-channel y among these K target sub-channels belongs to the th sub-channel in N / N0 sub-blocks. There are several sub-blocks, where y is an integer greater than or equal to 1 and less than or equal to N; Based on the number of target sub-channels included in each of the m sub-blocks, m matrices are determined; wherein, the number of information bits corresponding to the r-th matrix in the m matrices is equal to the number of target sub-channels included in the r-th sub-block in the m sub-blocks, r = 1, 2, ..., m; The first matrix is determined based on the m matrices.
13. The method according to claim 12, characterized in that, The method further includes: Obtain the reliability sequence corresponding to the r-th matrix; Based on the reliability sequence corresponding to the r-th matrix, Kr sub-channels for carrying information bits are determined from the N0 sub-channels corresponding to the r-th matrix.
14. A communication device, characterized in that, It includes a processor and an interface circuit, the processor being used to communicate with other devices through the interface circuit and to implement the method of any one of claims 1, 3 to 13, or to implement the method of any one of claims 2 to 13.
15. The apparatus as claimed in claim 14, characterized in that, The communication device further includes a memory for storing computer programs or instructions, which, when executed by the processor, implement the method of any one of claims 1, 3 to 13, or the method of any one of claims 2 to 13.
16. A communication system, characterized in that, The communication system includes a first communication device and a second communication device; wherein the first communication device is used to perform the method as described in any one of claims 1, 3 to 13, and the second communication device is used to perform the method as described in any one of claims 2 to 13.
17. A computer program product, characterized in that, The computer program product includes instructions that, when executed, implement the method of any one of claims 1 to 13.
18. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed, implement the method described in any one of claims 1 to 13.
19. A chip, characterized in that, The chip includes a processor for implementing the method of any one of claims 1 to 13.