An encoding method, a decoding method, a communication device, and a communication system
Patent Information
- Application Number
- CN202510406531.9
- 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
[0004]极化码的译码性能与速率匹配方式相关,目前的极化码速率匹配方案的译码性能有待提升
Smart Images

Figure CN122932689A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to an encoding method, a decoding method, a communication device, and a communication system. Background Technology
[0002] Polar codes were selected as the control channel coding scheme in the 5th generation (5G) communication 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.
[0003] Currently, in polar coding, a coding matrix of size N*N is generally constructed using the mother code length N, and the information bit sequence is polar-coded using this matrix to obtain a encoded bit sequence of length N. Here, N is 2 to the power of n, and n is an integer greater than or equal to 1. Due to factors such as channel conditions and available transmission resources, the actual transmittable length E of the encoded bit sequence may not be equal to N. Therefore, rate matching is required for the encoded bit sequence of length N to obtain an encoded bit sequence of length E for transmission. Here, E is also called the code length or coding code length.
[0004] The decoding performance of polar codes is related to the rate matching method, and the decoding performance of current polar code rate matching schemes needs to be improved. Summary of the Invention
[0005] This application provides an encoding method, a decoding method, a communication device, and a communication system to improve decoding performance.
[0006] In a first aspect, embodiments of this application provide an encoding method, which can be executed by a first communication 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, 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. The method includes: polar encoding a first bit sequence according to an encoding matrix to obtain a second bit sequence; modulating the second bit sequence to obtain modulation symbol information; and outputting the modulation symbol information. The encoding matrix is determined according to encoding parameters and a first rate matching method. The encoding parameters include code length and the number of information bits. The first rate matching method indicates the puncturing or shortening method of the master code corresponding to the encoding matrix, and the first rate matching method satisfies the following condition: the size of the master code is 2. l+1The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, and the length of the mother code is 2. m The first sub-channel index set of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The second sub-channel index set of the lower half of the p-th sub-block is [(2p+1)·2]. l +
[0007] 1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers.
[0008] Based on the above scheme, since the coding matrix used for polar coding is determined according to the first rate matching method, and this first rate matching method satisfies: the size of the mother code is 2 l+1 If the difference between the rate matching number of the upper half and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, the complexity of the rate matching method can be reduced, the flexibility of constructing the coding matrix can be improved, and a coding matrix with fast polarization capability can be constructed, thereby improving decoding performance. Furthermore, this first rate matching method can affect the code length, number of information bits, and information bit position of the upper and lower halves of each sub-block, further enhancing the flexibility of constructing the coding matrix and improving decoding performance.
[0009] Secondly, embodiments of this application provide a decoding method, which can be executed by a second communication device. Unless otherwise specified, the "second communication device" in this application can refer to a communication device (e.g., a terminal device, network device, etc.), a component used in the communication device (e.g., a processor, chip, or 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. The method includes: acquiring modulation symbol information; demodulating the modulation symbol information to obtain a sequence to be decoded; and performing polarization decoding on the sequence to be decoded according to an encoding matrix to obtain a decoding result. The encoding matrix is determined based on encoding parameters and a first rate matching method. The encoding parameters include code length and the number of information bits. The first rate matching method indicates the puncturing or shortening method of the master code corresponding to the encoding matrix, and the first rate matching method satisfies the following condition: the size of the master code is 2. l+1The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, and the length of the mother code is 2. m The first sub-channel index set of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The second sub-channel index set of the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers.
[0010] Based on the above scheme, since the coding matrix used for polar coding is determined according to the first rate matching method, and this first rate matching method satisfies: the size of the mother code is 2 l+1 If the difference between the rate matching number of the upper half and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, the complexity of the rate matching method can be reduced, the flexibility of constructing the coding matrix can be improved, and a coding matrix with fast polarization capability can be constructed, thereby improving decoding performance. Furthermore, this first rate matching method can affect the code length, number of information bits, and information bit position of the upper and lower halves of each sub-block, further enhancing the flexibility of constructing the coding matrix and improving decoding performance.
[0011] Based on the first or second aspect mentioned above, there are one or more possible implementation methods as follows:
[0012] In one possible implementation, the first rate matching mode is used to indicate the puncturing mode of the master code, and the rate matching number is the number of punctured bits; the second puncturing position set of the lower half of the p-th sub-block is a subset of the first puncturing position set of the upper half of the p-th sub-block, the first puncturing position set is a subset of the first sub-channel index set, and the second puncturing position set is a subset of the second sub-channel index set.
[0013] Based on the above scheme, various puncturing methods can be obtained, thus improving the flexibility of constructing the encoding matrix. This allows for the construction of an encoding matrix with fast polarization capability, further enhancing decoding performance. Specifically, limiting the second puncturing position set of the lower half of the p-th sub-block to a subset of the first puncturing position set of the upper half of the p-th sub-block helps improve decoding accuracy, thereby enhancing decoding performance.
[0014] In one possible implementation, the second rate matching method for the upper half of the p-th sub-block is sequential punching, and the third rate matching method for the lower half of the p-th sub-block is sequential punching.
[0015] Based on the above scheme, a punching method with good decoding performance can be obtained, and then a coding matrix with fast polarization capability can be constructed.
[0016] In one possible implementation, the size of the master code is 16, the code length is 11, the first threshold is 2, and the set of punch positions indicated by the first rate matching method is {1,2,5,9,13} or {1,3,5,9,11}.
[0017] Based on the above scheme, a punching method with good decoding performance can be obtained, and then a coding matrix with fast polarization capability can be constructed.
[0018] In one possible implementation, the first rate matching mode is used to indicate the shortening mode of the master code, and the rate matching number is the number of shortened bits; the first shortening position set of the upper half of the p-th sub-block is a subset of the second shortening position set of the lower half of the p-th sub-block, the first shortening position set is a subset of the first sub-channel index set, and the second shortening position set is a subset of the second sub-channel index set.
[0019] Based on the above scheme, various shortening methods can be obtained, thus improving the flexibility of constructing the encoding matrix. This allows for the construction of encoding matrices with fast polarization capabilities, further enhancing decoding performance. Specifically, limiting the first shortening position set of the upper half of the p-th sub-block to a subset of the second shortening position set of the lower half of the p-th sub-block helps improve decoding accuracy, thereby enhancing decoding performance.
[0020] In one possible implementation, the second rate matching method for the upper half of the p-th sub-block is sequential shortening, and the third rate matching method for the lower half of the p-th sub-block is sequential shortening.
[0021] Based on the above scheme, a shortening method with good decoding performance can be obtained, and then a coding matrix with fast polarization capability can be constructed.
[0022] In one possible implementation, the size of the mother code is 16, the code length is 11, and the set of shortened positions indicated by the first rate matching method is {7,8,12,15,16} or {8,10,12,14,16}.
[0023] Based on the above scheme, a shortening method with good decoding performance can be obtained, and then a coding matrix with fast polarization capability can be constructed.
[0024] In one possible implementation, the second rate matching method for the upper half of the p-th sub-block is bit reverse shortening, and the third rate matching method for the lower half of the p-th sub-block is bit reverse shortening.
[0025] Based on the above scheme, a shortening method with good decoding performance can be obtained, and then a coding matrix with fast polarization capability can be constructed.
[0026] In one possible implementation, the value of the first threshold is related to one or more of the size of the encoding matrix, the size of the p-th sub-block, or the length of the mother code.
[0027] Based on the above scheme, a shortening method with good decoding performance can be obtained, and then a coding matrix with fast polarization capability can be constructed.
[0028] In one possible implementation, n is less than 6.
[0029] Based on the above scheme, by limiting l to n and n to less than 6, the value of l can be made smaller, so that the difference between the rate matching number of the upper half and the rate matching number of the lower half of the smaller sub-block is less than or equal to the first threshold. This helps to provide more rate matching methods to choose from and further improves the decoding performance.
[0030] In one possible implementation, E represents the code length. This represents the function for rounding up.
[0031] Based on the above scheme, the first rate matching method satisfies that the difference between the rate matching number of the upper half of the sub-blocks of multiple lengths in the mother code and the rate matching number of the lower half of the sub-blocks is less than or equal to the first threshold, thus improving the flexibility of constructing the coding matrix.
[0032] In one possible implementation, the code length is not an integer power of 2.
[0033] In one possible implementation, the encoding matrix is obtained by coupling multiple sub-matrices, and the encoding parameters also include information about the multiple sub-matrices.
[0034] Based on the above scheme, non-regular kernel polar codes based on rate matching can be obtained, thus improving decoding performance.
[0035] Thirdly, this application provides a communication device that has the functions involved in implementing the first aspect or any implementation method of the first aspect. For example, the communication device includes modules, units, or means corresponding to performing the operations involved in the first aspect or any implementation method of the first aspect. The functions, units, or means can be implemented by software, or by hardware, or by hardware executing corresponding software.
[0036] 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 aspect described above.
[0037] In one possible design, the communication device includes a processor that may be coupled to a memory. The memory may store computer programs or instructions that implement the functions described in the first 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 aspect above, when the computer programs or instructions are executed.
[0038] In one possible design, the communication device includes a processor and a memory, the memory of which can store computer programs or instructions that implement the functions involved in the first aspect or any implementation method of the first aspect described above. The processor can 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 first aspect or any implementation method of the first aspect described above.
[0039] 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 execute the first aspect or any implementation thereof described above. Optionally, the communication device further includes a memory for storing computer programs or instructions that, when executed by the processor, implement the first aspect or any implementation thereof described above.
[0040] Understandably, the processor in the third aspect 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.
[0041] Fourthly, this application provides a communication device that has the functions involved in implementing the second aspect or any implementation method of the second aspect. For example, the communication device includes modules, units, or means corresponding to performing the operations involved in the second aspect or any implementation method of the second aspect. The functions, units, or means can be implemented by software, or by hardware, or by hardware executing corresponding software.
[0042] 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 second aspect or any implementation method of the second aspect described above.
[0043] In one possible design, the communication device includes a processor that may be coupled to a memory. The memory may store computer programs or instructions that implement the functions described in the second aspect above. The processor can execute the computer programs or instructions stored in the memory, causing the communication device to implement the second aspect or any implementation thereof when the computer programs or instructions are executed.
[0044] In one possible design, the communication device includes a processor and a memory, the memory of which can store computer programs or instructions for implementing the functions described in the second and / or fourth aspects above. The processor can 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 second aspect or any implementation method of the second aspect above.
[0045] 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 execute the second aspect or any implementation thereof described above. Optionally, the communication device further includes a memory for storing computer programs or instructions that, when executed by the processor, implement the second aspect or any implementation thereof described above.
[0046] Understandably, the processor in the fourth aspect 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 the memory and processor can be separate. In specific implementations, the memory can be integrated with the processor on the same chip, or they can be set on different chips. This application does not limit the type of memory or the way the memory and processor are set.
[0047] Fifthly, 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 execute the first aspect or any possible implementation of the first aspect, and the second communication device is used to execute the second aspect or any possible implementation of the second aspect.
[0048] Sixthly, 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 to second aspects described above is executed.
[0049] 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) or other optical disk storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.
[0050] In a seventh aspect, this application provides a computer program product that, when read and executed by a computer, causes any of the possible designs in the first to second aspects described above to be performed.
[0051] Eighthly, 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 any of the possible designs in the first to second aspects described above are executed. Attached Figure Description
[0052] Figure 1 This is a schematic diagram of the architecture of a communication system applicable to the embodiments of this application;
[0053] Figure 2 This is a schematic diagram of a processing flow for the information source and the information sink in an embodiment of this application;
[0054] Figure 3(a) shows an 8×8 polarization transformation matrix provided in an embodiment of this application;
[0055] Figure 3(b) is a schematic diagram of the serial cancellation decoding calculation process provided in the embodiment of this application;
[0056] Figure 3(c) is a schematic diagram of the decoding path in the serial cancellation list decoding method provided in the embodiments of this application;
[0057] Figure 4 A flowchart illustrating the encoding method provided in an embodiment of this application;
[0058] Figure 5(a) is a schematic diagram of the punching positions provided in the embodiments of this application;
[0059] Figure 5(b) is a schematic diagram of the shortened position provided in the embodiment of this application;
[0060] Figure 6(a) is a schematic diagram of decoding simulation provided in an embodiment of this application;
[0061] Figure 6(b) is a schematic diagram of decoding simulation provided in the embodiment of this application;
[0062] Figure 7 This is a schematic diagram of a non-regular matrix;
[0063] Figure 8 This is a schematic diagram illustrating the expansion of the generator matrix provided in an embodiment of this application;
[0064] Figure 9 This is a schematic diagram illustrating the expansion of the generator matrix provided in an embodiment of this application;
[0065] Figure 10A schematic diagram for constructing the encoding matrix;
[0066] Figure 11 A flowchart illustrating the decoding method provided in an embodiment of this application;
[0067] Figure 12 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0068] Figure 13 This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0069] In the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.
[0070] The technical solutions of this application can be applied to various wireless communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, Wireless Fidelity (Wi-Fi), Bluetooth, etc.), wired networks, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5G mobile communication systems (such as New Radio (NR) systems), Future Communications systems, or other similar communication systems, and are not limited thereto. The embodiments of this application use... Figure 1The communication system shown is used as an example for description. When the technical solutions of the embodiments of this application are applied to other communication systems, the devices, components, modules, etc. in the embodiments can be replaced with corresponding devices, components, modules in other communication systems without limitation.
[0071] Figure 1 This is a schematic diagram of the architecture of the communication system used in the embodiments of this application. Figure 1 As shown, the communication system includes an access network 100. Optionally, the communication system may also include a core network 200 and an Internet 300. The access network 100 may include at least one network device, such as... Figure 1 110a and 110b may also include at least one terminal device, such as Figure 1 The series consists of 120a-120j. Specifically, 110a is a base station, 110b is a micro-station, 120a, 120e, 120f, and 120j are mobile phones, 120b is a car, 120c is a fuel dispenser, 120d is a home access point (HAP) deployed indoors or outdoors, 120g is a laptop, 120h is a printer, and 120i is a drone. The same terminal device or network device can provide different functions in different application scenarios. For example... Figure 1 The mobile phones included are 120a, 120e, 120f, and 120j. Mobile phone 120a can access base station 110a, connect to car 120b, communicate directly with mobile phone 120e, and access HAP. Car 120b can access HAP and communicate directly with mobile phone 120a. Mobile phone 120f can connect to micro-station 110b, connect to laptop 120g, and connect to printer 120h. Mobile phone 120j can control drone 120i.
[0072] The communication system provided in this application may also include AI network elements for implementing some or all AI-related operations. AI network elements can also be referred to as AI nodes, AI devices, AI entities, AI modules, AI models, or AI units, etc. The AI network elements may be built into the network elements of the communication system. For example, an AI network element may be an AI module built into: access network equipment, core network equipment, cloud server, or operation, administration, and maintenance (OAM) to implement AI-related functions. The OAM may act as the network management system for core network equipment and / or access network equipment. Alternatively, the AI network element may also be an independently configured network element in the communication system. Optionally, the terminal or its built-in chip may also include AI entities for implementing AI-related functions.
[0073] (1) Network equipment
[0074] 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.
[0075] RAN equipment can also be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc.
[0076] RAN equipment can also be modules or units that perform some of the functions of a base station. For example, it can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). The CU performs the functions of the radio resource control (RRC) and packet data convergence protocol (PDCP) of the base station, and can also perform the functions of the service data adaptation protocol (SDAP). The CU can be further divided into a CU control plane (CP) (i.e., CU-CP) and a CU user plane (UP) (i.e., CU-UP). The DU performs the functions of the radio link control (RLC) layer and medium access control (MAC) layer of the base station, and can also perform some or all of the physical layer functions. For specific descriptions of the above protocol layers, please refer to the relevant 3GPP technical specifications. The CU and DU can be set up separately, or they can be included in the same network element, such as in the baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. RAN equipment can be a macro base station (such as...) Figure 1 110a in the text), can also be a micro base station or an indoor station (such as... Figure 1 In 110b), it can also be a relay node or a donor node, etc. The embodiments of this application do not limit the specific technology or device form used in the network equipment.
[0077] 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.
[0078] (2) Terminal equipment
[0079] A terminal device is a user-side device with wireless transceiver capabilities. Terminal devices can also be called terminals, user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as D2D communication, V2X communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicle devices (such as vehicle units, in-vehicle modules, in-vehicle chips, onboard units (OBUs) or telematics boxes (T-BOXs)), drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, satellite terminals, Internet of Things (IoT) terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability UE (REDCAP UE), etc. In the embodiments of this application, the device used to implement the functions of the terminal device can be the terminal device itself, or a device capable of supporting the terminal device in implementing that function, such as a chip system or a combination of devices or components capable of implementing the functions of the terminal device. This device can be installed in the terminal device. The embodiments of this application do not limit the specific technology or specific device form used in the terminal device.
[0080] In this embodiment of the application, the functions of the terminal device can also be performed by modules (such as chips or modems) in the terminal device, or by a device containing the functions of the terminal device.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] (1) Channel coding and channel decoding
[0087] Figure 2 This is a schematic diagram illustrating a processing flow between the information source and the information sink. For example... Figure 2As shown, the transmitting end (i.e., the source) obtains the bit sequence to be encoded (i.e., the information bit sequence) through source coding, and then performs channel coding on the bit sequence to be encoded to obtain the encoded bit sequence. Correspondingly, after the receiving end (i.e., the sink) obtains the symbol sequence to be decoded, it performs channel decoding on the symbol sequence to be decoded to obtain the information bit sequence, and then performs source recovery on the information bit sequence to obtain useful information.
[0088] Since source coding does not consider interference resistance, if the bit sequence output from source coding is directly transmitted through the channel, noise interference in the channel will cause bit errors, reducing communication reliability. Therefore, channel coding, which encodes the bit sequence output from source coding again, can improve communication reliability. Channel decoding is the inverse process of channel coding.
[0089] There are various channel coding methods, such as polar coding or LDPC coding. Polar codes were selected as the control channel coding method in the 5G standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, and have the advantages of good decoding performance and low complexity. LDPC codes were selected as the data channel coding method in the 5G standard. LDPC codes are linear block codes with a sparse parity-check matrix, exhibiting good performance approaching the Shannon limit, low decoding complexity, and flexible structure.
[0090] (2) Modulation and demodulation
[0091] See Figure 2 As shown, the transmitting end can also map the encoded bit sequence to the modulation symbol sequence, and then transmit the modulation symbol sequence; correspondingly, the receiving end can receive the modulation symbol sequence and then demodulate it to obtain the symbol sequence to be decoded.
[0092] Modulation refers to the process by which the transmitting end maps the encoded bit sequence to a constellation based on a constellation diagram to obtain a modulated symbol sequence. Demodulation is the inverse process of modulation. Common modulation methods include quadrature amplitude modulation (QAM) and amplitude shift keying (ASK) modulation.
[0093] (3) Information bit sequence
[0094] An information bit sequence refers to a sequence of bits to be transmitted. For example, if the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the resulting information bit sequence is 10101100101. In this application, K represents the length of the information bit sequence. The information bits may include payload bits. Optionally, the information bits may also include check bits, such as a cyclic redundancy check (CRC) code.
[0095] (4) Code length
[0096] Code length refers to the length of the bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence. In this application, E represents the code length.
[0097] (5) Bitrate
[0098] The code rate is the ratio of the length of the information bit sequence to the code length. In this application, R represents the code rate, therefore R = K / E.
[0099] The length, code length, and code rate of the information bit sequence can be pre-configured by higher-layer signaling, MAC layer signaling, or downlink physical layer signals, and can also be obtained or calculated by the transmitting and receiving devices. For example, the transmitting and receiving devices can determine the code length based on the coding method, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting and receiving devices can obtain the code rate based on higher-layer signaling, MAC layer signaling, or downlink physical layer signals, or determine the code rate based on the modulation and coding scheme (MCS), or determine the code rate based on the length and code length of the information bit sequence.
[0100] (6) Rate matching
[0101] Rate matching refers to removing some bits from the encoded bit sequence without transmitting them, or repeating some bits.
[0102] The rate matching method will be further explained in three categories below.
[0103] Punching: Punching refers to directly creating holes in certain bit positions within the encoded bit sequence without transmitting them, thus generating bit sequences of arbitrary length. On the decoding side, since there is no information at the corresponding punctured positions, the log-likelihood ratio (LLR) of the corresponding bit is set to 0.
[0104] Shortening: Shortening involves fixing certain bit positions in the encoded bit sequence so that they do not need to be transmitted. On the decoding side, since the corresponding "shortened" positions are known at the receiver (usually 0), the LLR of the corresponding bit is set to infinity.
[0105] Repetition: "Repetition" refers to obtaining a longer bit sequence by repeatedly sending a portion of the encoded bit sequence.
[0106] Taking polar codes as an example, the encoding length (i.e., the mother code length) of a polar code is an integer power of 2. In practical applications, the required length may be a non-encoded length. In this case, it is necessary to remove some bits from the encoded bit sequence without transmitting them, or to repeatedly transmit some bits.
[0107] (7) Polar codes
[0108] (7.1) Polarization coding and polarization nuclei
[0109] Referring to Figure 3(a), in the encoding process, two adjacent columns constitute a coding layer. The left column of bits represents the input bits of the coding layer, and the right column represents the output bits. For example, in the leftmost coding layer, the input bit sequence is (0, 0, 0, 0, 0, 0, 1, 1), and the output bit sequence is (0, 0, 0, 0, 0, 0, 0, 1). The operation symbols in the middle of the coding layer... This represents the XOR operation, specifically... express The bits in the current row and A single XOR operation between the bits in the row. The bits on the right represent the result of the operation. For example, in the leftmost coding layer, the first input bit (value 0) and the second input bit (value 0) are processed... The operation yields the first output bit (with a value of 0).
[0110] The polar coding process involves several polarization kernel operations. Taking Figure 3(a) as an example, the polarization kernel operation can be understood as multiplying multiple input bits by the matrix corresponding to the polarization kernel to obtain the output bits. For example, the polarization kernel in Figure 3(a) is the Arikan polarization kernel, and the matrix corresponding to this polarization kernel is... That is, in each polarization kernel operation in Figure 3(a), two input bits are multiplied by the polarization kernel to obtain two output bits. Based on Figure 3(a), the polar codes can be considered as recursively constructed. For example, taking an information bit length of K=4 and a code length of N=8, the 8-length polar code [01010101] can be seen as a coupling of two 4-length polar codes. As shown, these two 4-length polar codes are the polar codes
[0000] corresponding to u0 to u3 and
[0101] corresponding to u4 to u7, respectively. Furthermore, these two 4-length polar codes can be considered as being obtained by coupling two 2-length polar codes, which are the output bits of the four polarization kernels in Figure 3(a).
[0111] The Arikan polarization kernel is a type of regular polarization kernel. Taking a regular polarization kernel as an example, the generator matrix of a polar code can be represented as: Defined as the Kronecker product of log₂N matrices F₂, where F₂ is... The G N It can also be called an Arikan polarization nucleus or a canonical polarization nucleus of length N.
[0112] Another type of polarization kernel is the non-regular polarization kernel. A non-regular polarization kernel is constructed by arranging the polarization trellis connection method according to the channel state or the specific number of information bits K. It can accelerate polarization without increasing decoding complexity. The size of the matrix corresponding to the non-regular polarization kernel can be N*N, where N is the code length, and the value of N does not have to be an integer power of 2. The non-regular polarization kernel can be associated with the information bit length K; that is, the connection method of an N*N non-regular polarization kernel can vary for different information bit lengths. Therefore, compared to the regular polarization kernel, the non-regular polarization kernel can select the connection method according to the information bit length K to improve the reliability of K information bits, thereby achieving better coding error correction performance. In this application, the size of the matrix can refer to the dimension of the matrix, that is, the number of rows and columns of the matrix.
[0113] Among them, the non-canonical polarization nucleus corresponds to K, or in other words, the non-canonical polarization nucleus corresponds to [N,K]. The non-canonical polarization nucleus C N,K This can represent a non-canonical polarization nucleus corresponding to [N,K]. C N,K It can be composed of non-canonical polarized nuclei corresponding to [N1, K1]. and the non-canonical polarized nuclei corresponding to [N-N1, K-K1]. The coupling is obtained, where N1 and K1 are positive integers, N1 < N, K1 < K.
[0114] (7.2) Polarization Decoding
[0115] There are several methods for decoding polar codes, such as successive cancellation (SC) decoding and successive cancellation list (SCL) decoding.
[0116] The SC decoding method refers to calculating the LLR of each decoded bit sequentially based on the LLR sequence corresponding to the bit sequence to be decoded, and making a bit-by-bit decision. When the decoded bit is an information bit, if the LLR of the decoded bit is greater than 0, then the decoded bit is 0; if the LLR of the decoded bit is less than 0, then the decoded bit is 1. When the decoded bit is a fixed bit, the decoding result is set to 0 regardless of the LLR value. Figure 3(b) is a schematic diagram of the SC decoding calculation process. Taking 4 decoded bits as an example, there are 8 calculation nodes in Figure 3(b), including 4 f nodes and 4 g nodes. The f nodes and g nodes correspond to the f operation and the g operation, respectively. The operation of the f node requires the two LLR inputs on its right side, and the operation of the g node requires the two LLR inputs on its right side and the output of the previous stage as inputs. Only after the input items are calculated can the output be calculated. According to the above calculation rules, the decoded bits obtained by calculating sequentially from the right side in Figure 3(b) are ①→②→③→④, and the decoding is completed.
[0117] The SCL decoding method refers to using the LLR sequence corresponding to the bit sequence to be decoded. When decoding each information bit, the decoding results corresponding to 0 and 1 are saved as two branch decoding paths (referred to as path splitting). Figure 3(c) shows a schematic diagram of the decoding paths in the SCL decoding method. As shown in Figure 3(c), each level represents one decoded bit. If the decoding result is 0, the path is developed along the left subtree; if the decoding result is 1, the path is developed along the right subtree. When the total number of decoding paths exceeds the preset path width L (generally L = 2, 4, 8, 16, or 32), the L paths with the best path metric (PM) value are selected, saved, and the path is further developed to decode subsequent bits. The PM value is used to judge the quality of the path, and the PM value is calculated using LLR. For each level of decoded bits, the PM values of the L paths are sorted in ascending order, and the correct path is selected based on the PM value. This process is repeated until the last bit is decoded.
[0118] Currently, in polar coding, a coding matrix of size N*N is generally constructed using the mother code length N, and the information bit sequence is polar-coded using this matrix to obtain a encoded bit sequence of length N. Here, N is 2 to the power of n, and n is an integer greater than or equal to 1. Due to factors such as channel conditions and available transmission resources, the actual transmittable length E of the encoded bit sequence may not be equal to N. Therefore, rate matching is required for the encoded bit sequence of length N to obtain an encoded bit sequence of length E for transmission. Here, E is also called the code length or coding code length.
[0119] The decoding performance of polar codes is related to the rate matching method, and the decoding performance of current polar code rate matching schemes needs to be improved.
[0120] To address the aforementioned issues, this application provides corresponding solutions.
[0121] The methods provided in the embodiments of this application are described in detail below. The methods provided in the embodiments of this application involve a first communication device and / or a second communication device. The first communication device is a signal transmitter, and the second communication device is a signal receiver. Unless otherwise specified, the "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. Similarly, 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 it can be 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. 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.
[0122] Figure 4 This is a flowchart illustrating an encoding method provided in an embodiment of this application. The method is an implementation method on the encoding side, and includes the following steps:
[0123] Step 401: The first communication device performs polar coding on the first bit sequence according to the coding matrix to obtain the second bit sequence.
[0124] This encoding matrix is a non-regular encoding matrix, or the encoding matrix corresponding to a non-regular polarization kernel. A regular encoding matrix refers to an encoding matrix constructed from a regular polarization kernel (or Arikan polarization kernel), for example, the structure shown in Figure 3(a) is a regular polarization kernel. A non-regular encoding matrix refers to an encoding matrix other than a regular encoding matrix.
[0125] The characteristic of a regular encoding matrix is that the row weight of each row is a power of 2. The characteristic of a non-regular encoding matrix is that the row weight of at least one row is not a power of 2. Here, row weight refers to the number of non-zero elements in a row of the matrix.
[0126] The encoding matrix in this embodiment includes multiple coupled sub-matrices. This encoding matrix is determined based on encoding parameters and a first rate matching method. The encoding parameters include the code length (denoted by E) and the number of information bits (denoted by K). Optionally, the encoding parameters may also include information about the multiple sub-matrices.
[0127] The code length is the code length corresponding to the encoding matrix, and the number of information bits is the same as the length of the first bit sequence. The code length can be an integer power of 2, or it can be a non-integer power of 2.
[0128] The first rate matching method is used to indicate the puncturing or shortening method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfies the following condition: the size of the mother code is 2. l+1 The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to the first threshold, and the length of the mother code is 2. m The set of the first sub-channel indices of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The set of second sub-channel indices for the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers. Here, sub-blocks refer to sub-blocks before polar coding.
[0129] For example, the value of the first threshold is related to one or more of the size of the encoding matrix, the size of the p-th sub-block, or the length of the mother code.
[0130] This application is not limited to the value of n; for example, n is less than 6. Based on the above scheme, limiting l to n ≥ n and n to less than 6 allows the value of l to be smaller, thereby ensuring that the difference between the rate matching number of the upper half and the rate matching number of the lower half of the smaller sub-block is less than or equal to the first threshold. This helps to provide more rate matching methods to choose from, further improving decoding performance.
[0131] For example, E indicates the code length. This represents the function for rounding up.
[0132] For example, the value of the first threshold may depend on the complexity and performance requirements of encoding and decoding. Generally, a larger first threshold results in higher decoding complexity but a lower decoding error rate. In practical applications, the size of the first threshold can be selected according to the actual situation.
[0133] As one implementation method, the first communication device performs polar coding on the first bit sequence according to the coding matrix. For example, the first communication device may place the first bit sequence in the information bit position and add frozen bits in the pre-frozen bit position to obtain the bit sequence to be encoded. The bit sequence to be encoded is then multiplied by the coding matrix to obtain the second bit sequence. The specific implementation method for determining the information bit position can be found in the following explanation (related to...). Figures 7-10 ).
[0134] Step 402: The first communication device modulates the second bit sequence to obtain modulation symbol information.
[0135] This application does not limit the modulation method. For specific implementation methods of modulation, please refer to the description of related technologies.
[0136] Step 403: The first communication device outputs modulation symbol information.
[0137] The output modulation symbol information here can be sent to the second communication device via the air interface, or it can be output to the transceiver of the first communication device via the input / output interface, and the transceiver can then send the corresponding signal to the second communication device via the air interface.
[0138] Based on the above scheme, since the coding matrix used for polar coding is determined according to the first rate matching method, and this first rate matching method satisfies: the size of the mother code is 2 l+1If the difference between the rate matching number of the upper half and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, the complexity of the rate matching method can be reduced, the flexibility of constructing the coding matrix can be improved, and a coding matrix with fast polarization capability can be constructed, thereby improving decoding performance. Furthermore, this first rate matching method can affect the code length, number of information bits, and information bit position of the upper and lower halves of each sub-block, further enhancing the flexibility of constructing the coding matrix and improving decoding performance.
[0139] The specific implementation method for determining the first rate matching mode in the embodiments of this application will be described below.
[0140] In the first implementation method, the first rate matching method is used to indicate the puncturing method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfies the following condition: the size of the mother code is 2. l+1 The difference between the number of punctured bits in the upper half and the number of punctured bits in the lower half of the p-th sub-block is less than or equal to the first threshold (denoted by h), and the length of the mother code is 2. m The set of the first sub-channel indices of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The set of second sub-channel indices for the lower half of the p-th sub-block is [(2p+1)·2]. l +
[0141] 1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l The set of second punch positions in the lower half of the p-th sub-block is a subset of the set of first punch positions in the upper half of the p-th sub-block, the set of first punch positions is a subset of the set of first sub-channel indices, and the set of second punch positions is a subset of the set of second sub-channel indices.
[0142] For example, the second rate matching method for the upper half of the p-th sub-block is sequential punching, and the third rate matching method for the lower half of the p-th sub-block is sequential punching.
[0143] For example, the first threshold can be a preset fixed value. Based on this method, the complexity of the search rate matching method is reduced, which helps to speed up the determination of the encoding matrix with fast polarization capability.
[0144] For example, the value of the first threshold can also be dynamically changed. For instance, if the first threshold is set to l or l-1, then the first threshold changes as l changes. Based on this method, the dynamic change of the first threshold value can improve the flexibility of constructing the encoding matrix, thereby constructing an encoding matrix with fast polarization capability and improving decoding performance.
[0145] The following section will illustrate this implementation method with specific examples.
[0146] Example 1
[0147] The code length E = 11, the size of the mother code is 16 (i.e., m = 4), the first threshold h = 2, n = 1, and the length is 2. l+1 The difference in the number of punched bits between the upper and lower halves of the p-th sub-block is less than or equal to 2, and the second punched position set of the lower half of the p-th sub-block is a subset of the first punched position set of the upper half of the p-th sub-block.
[0148] That is, for all 3≥l≥1, 0≤p<2 3-l , [(2p+1)·2 l +1,(2p+2)·2 l The set of the second punch positions within [2p·2] (denoted by P2) is [2p·2] l +1,(2p+1)·2 l The first set of punching positions (denoted by P1) is a subset of the second set of punching positions, and |P1|-|P2|≤2. Here, |P1| represents the number of punching positions in the first set of punching positions, and |P2| represents the number of punching positions in the second set of punching positions.
[0149] Figure 5(a) is a schematic diagram of the punching positions. In this example, the punching positions indicated by the first rate matching method are {1,2,5,9,13}.
[0150] When l = 3, 0 ≤ p < 1, and p takes the value 0, the upper half of sub-block [1,16] is sub-block [1,8], and the set of punching positions within sub-block [1,8] is P. [1,8] Given {1,2,5}, the lower half of sub-block [1,16] is sub-block [9,16], and the set of punch positions P within sub-block [9,16] is... [9,16] For {1,5}, P [9,16] It is P [1,8] A subset of P, satisfying: |P [1,8] |-|P [9,16] |≤2, where |P [1,8] |=3,|P [9,16]|=2. Here, [a,b] refers to a sub-block composed of sub-channels a, a+1, ..., b of the polar code. For example, sub-block [1,16] represents a sub-block composed of sub-channels 1,2, ...,16, and sub-block [1,8] represents a sub-block composed of sub-channels 1,2, ...,8. This is explained uniformly here and will not be repeated later. Where, |P [1,8] | refers to the set of punching locations P [1,8] The number of elements in |P [9,16] | refers to the set of punching locations P [9,16] The number of elements in the array is the same for other cases, and will not be explained in detail hereafter.
[0151] When l = 2, 0 ≤ p < 2, and p takes the value 0, the upper half of sub-block [1,8] is sub-block [1,4], and the set of punching positions within sub-block [1,4] is P. [1,4] Given {1,2}, the lower half of sub-block [1,8] is sub-block [5,8], and the set of punch positions P within sub-block [5,8] is... [5,8] For {1}, P [5,8] It is P [1,4] A subset of P, satisfying: |P [1,4] |-|P [5,8] |≤2, where |P [1,4] |=2,|P [5,8] |=1. When p is 1, the upper half of sub-block [9,16] is sub-block [9,12], and the set of punch positions P within sub-block [9,12] is... [9,12] Let {1} be the sub-block [9,16], and the lower half of the sub-block [9,16] be the sub-block [13,16]. The set of punch positions P within the sub-block [13,16] is... [13,16] For {1}, P [13,16] It is P [9,12] A subset of P, satisfying: |P [9,12] |-|P [13,16] |≤2, where |P [9,12] |=1,|P [13,16] |=1.
[0152] When l = 1, 0 ≤ p < 4, and p takes the value 0, the upper half of sub-block [1,4] is sub-block [1,2], and the set of punch positions within sub-block [1,4] is P. [1,2] Given {1,2}, the lower half of sub-block [1,4] is sub-block [3,4], and the set of punch positions P within sub-block [3,4] is... [3,4] For {} (i.e., the empty set), P [3,4] It is P [1,2] A subset of P, satisfying: |P [1,2] |-|P [3,4] |≤2, where |P [1,2] |=2,|P [3,4]|=0. When p is 1, the upper half of sub-block [5,8] is sub-block [5,6], and the set of punching positions P within sub-block [5,6] is... [5,6]] Let {1} be the sub-block [5,8]. The lower half of the sub-block [5,8] is the sub-block [7,8]. The set of punch positions P within the sub-block [7,8] is... [7,8] For {} (i.e., the empty set), P [7,8] It is P [5,6] A subset of P, satisfying: |P [5,6] |-|P [7,8] |≤2, where |P [5,6] |=1,|P [7,8] |=0. When p is 2, the upper half of sub-block [9,12] is sub-block [9,10], and the set of punching positions P within sub-block [9,10] is... [9,10] Let {1} be the sub-block [9,12], and the lower half of the sub-block [9,12] be the sub-block [11,12]. The set of punch positions P within the sub-block [11,12] is... [11,12] For {} (i.e., the empty set), P [11,12] It is P [9,10] A subset of P, satisfying: |P [9,10] |-|P [11,12] |≤2, where |P [9,10] |=1,|P [11,12] |=0. When p is 3, the upper half of sub-block [13,16] is sub-block [13,14], and the set of punching positions P within sub-block [13,14] is... [13,14] Let {1} be the sub-block [13,16], and the lower half of the sub-block [15,16] be the sub-block [15,16]. The set of punch positions P within the sub-block [15,16] is... [15,16] For {} (i.e., the empty set), P [15,16] It is P [13,14] A subset of P, satisfying: |P [13,14] |-|P [15,16] |≤2, where |P [13,14] |=1,|P [15,16] |=0.
[0153] As can be seen from Figure 5(a), the punching positions indicated by the first rate matching method are {1,2,5,9,13}.
[0154] Furthermore, for scenarios where the mother code size is 16 (i.e., m=4), code length E=11, first threshold h=2, and n=1, other punching methods that meet the conditions can exist. For example, the punching position set can also be {1,3,5,9,13}, {1,3,5,9,11}, or {1,2,5,9,10}, etc. In practical applications, simulations can be performed on each punching position set that meets the conditions, and the punching position set with the best performance can be selected to generate the first rate matching method.
[0155] In the second implementation method, the first rate matching method is used to indicate the shortening method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfies the following condition: the size of the mother code is 2. l+1 The difference between the number of shortened bits in the lower half of the p-th sub-block and the number of shortened bits in the upper half of the p-th sub-block is less than or equal to the first threshold, and the length of the mother code is 2. m The set of the first sub-channel indices of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The set of second sub-channel indices for the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l The integer. And, the first shortened position set of the upper half of the p-th sub-block is a subset of the second shortened position set of the lower half of the p-th sub-block, the first shortened position set is a subset of the first sub-channel index set, and the second shortened position set is a subset of the second sub-channel index set.
[0156] For example, the second rate matching method for the upper half of the p-th sub-block is sequential shortening, and the third rate matching method for the lower half of the p-th sub-block is sequential shortening.
[0157] For example, the second rate matching method for the upper half of the p-th sub-block is bit reverse shortening, and the third rate matching method for the lower half of the p-th sub-block is bit reverse shortening.
[0158] For example, the value of the first threshold can be a preset fixed value or a dynamically changing value. For example, if the first threshold is set to be equal to l or l-1, then the first threshold will change as l changes.
[0159] The second implementation method will be explained below with specific examples.
[0160] Example 2
[0161] The mother code has a size of 16 (i.e., m = 4), a code length of E = 11, a first threshold of h = 2, n = 1, and a required length of 2. l+1 The difference in the number of punched bits between the upper and lower halves of the p-th sub-block is less than or equal to 2, and the first shortened position set of the upper half of the p-th sub-block is a subset of the second shortened position set of the lower half of the sub-block.
[0162] That is, for all 3≥l≥1, 0≤p<23-l , [2p·2 l +1,(2p+1)·2 l The first set of shortened positions (denoted by P1) is [(2p+1)·2 l +1,(2p+2)·2 l The first shortened position set is a subset of the second shortened position set (denoted by P2) within the first shortened position set, and |P2|-|P1|≤2. Here, |P1| represents the number of shortened positions within the first shortened position set, and |P2| represents the number of shortened positions within the second shortened position set.
[0163] Figure 5(b) is a schematic diagram of the shortening position. In this example, the shortening position indicated by the first rate matching method is {7,8,12,15,16}.
[0164] When l = 3, 0 ≤ p < 1, and p takes the value 0, the upper half of sub-block [1,16] is sub-block [1,8], and the set of shortened positions within sub-block [1,8] is P. [1,8] Given {7,8}, the lower half of sub-block [1,16] is sub-block [9,16], and the set of shortened positions within sub-block [9,16] is P. [9,16] Given {4,7,8}, P [1,8] It is P [9,16] A subset of P, satisfying: |P [9,16] |-|P [1,8] |≤2, where |P [1,8] |=2,|P [9,16] |=3. Where, |P [1,8] | refers to shortening the set of positions P [1,8] The number of elements in |P [9,16] | refers to shortening the set of positions P [9,16] The number of elements in the array is the same for other cases, and will not be explained in detail hereafter.
[0165] When l = 2, 0 ≤ p < 2, and p takes the value 0, the upper half of sub-block [1,8] is sub-block [1,4], and the set of shortened positions within sub-block [1,4] is P. [1,4] Let {} be an empty set, the lower half of sub-block [1,8] is sub-block [5,8], and the set of shortened positions within sub-block [5,8] is P. [5,8] For {3,4}, P [1,4] It is P [5,8] A subset of P, satisfying: |P [5,8] |-|P [1,4] |≤2, where |P [1,4] |=0,|P [5,8] |=2. When p is 1, the upper half of sub-block [9,16] is sub-block [9,12], and the set of shortened positions within sub-block [9,12] is P. [9,12]Given {4}, the lower half of sub-block [9,16] is sub-block [13,16], and the set of shortened positions within sub-block [13,16] is P. [13,16] For {3,4}, P [9,12] It is P [13,16] A subset of P, satisfying: |P [13,16] |-|P [9,12] |≤2, where |P [9,12] |=1,|P [13,16] |=2.
[0166] When l = 1, 0 ≤ p < 4, and p takes the value 0, the upper half of sub-block [1,4] is sub-block [1,2], and the set of shortened positions within sub-block [1,4] is P. [1,2] Let {} be an empty set, the lower half of sub-block [1,4] is sub-block [3,4], and the set of shortened positions within sub-block [3,4] is P. [3,4] For {} (i.e., the empty set), P [1,2] It is P [3,4] A subset of P, satisfying: |P [3,4] |-|P [1,2] |≤2, where |P [1,2] |=0,|P [3,4] |=0. When p is 1, the upper half of sub-block [5,8] is sub-block [5,6], and the set of shortened positions within sub-block [5,6] is P. [5,6]] Let {} be an empty set. The lower half of sub-block [5,8] is sub-block [7,8]. The set of shortened positions within sub-block [7,8] is P. [7,8] For {1,2}, P [5,6] It is P [7,8] A subset of P, satisfying: |P [7,8] |-|P [5,6] |≤2, where |P [5,6] |=0,|P [7,8] |=2. When p is 2, the upper half of sub-block [9,12] is sub-block [9,10], and the set of shortened positions within sub-block [9,10] is P. [9,10] Let {} be an empty set. The lower half of sub-block [9,12] is sub-block [11,12]. The set of shortened positions within sub-block [11,12] is P. [11,12] For {2}, P [9,10] It is P [11,12] A subset of P, satisfying: |P [11,12] |-|P [9,10] |≤2, where |P [9,10] |=0,|P [11,12] |=1. When p is 3, the upper half of sub-block [13,16] is sub-block [13,14], and the set of shortened positions within sub-block [13,14] is P. [13,14]Let {} be an empty set. The lower half of sub-block [13,16] is sub-block [15,16]. The set of shortened positions within sub-block [15,16] is P. [15,16] For {1,2}, P [13,14] It is P [15,16] A subset of P, satisfying: |P [15,16] |-|P [13,14] |≤2, where |P [13,14] |=0,|P [15,16] |=2.
[0167] As can be seen from Figure 5(b), the shortening position indicated by the first rate matching mode is {7,8,12,15,16}.
[0168] Furthermore, for scenarios where the mother code size is 16 (i.e., m=4), code length E=11, first threshold h=2, and n=1, other shortening methods that meet the conditions can exist. For example, the shortening position set can also be {8, 10, 12, 14, 16}, etc. In practical applications, simulations can be performed on each shortening position set that meets the conditions, and the one with the best performance can be selected to generate the first rate matching method.
[0169] In this embodiment of the application, as described above, the value of the first threshold h may affect the decoding error rate. This will be illustrated below with two specific examples.
[0170] Figure 6(a) is a decoding simulation diagram provided in an embodiment of this application. In this example, the first rate matching method is determined using the above-described implementation method, and the size of the mother code is 64 (i.e., m = 6), the code length E = 35, the number of information bits K = 17, and n = 1. The decoding method uses successive cancellation (SC) decoding. The horizontal axis in the figure represents the signal-to-noise ratio (SNR), and the vertical axis represents the block error ratio (BLER). It can be seen that when using the above-described implementation method, compared to the existing Arikan sequential puncturing method, a smaller BLER is achieved at the same SNR. Therefore, the encoding method provided in this embodiment of the application has better decoding performance. Furthermore, at the same SNR, the larger the first threshold h, the smaller the BLER.
[0171] Figure 6(b) is a decoding simulation diagram provided by an embodiment of this application. In this example, the first rate matching method is determined using the above-described implementation method two, and the size of the mother code is 64 (i.e., m = 6), the code length E = 44, the number of information bits K = 22, and n = 1. The decoding method uses the SC method. The horizontal axis in the figure represents SNR, and the vertical axis represents BLER. It can be seen that when using the above-described implementation method two, compared with the existing Arikan sequential puncturing method, a smaller BLER is achieved for the same SNR. Therefore, the encoding method provided by this embodiment has better decoding performance. Furthermore, for the same SNR, the larger the first threshold h, the smaller the BLER.
[0172] It can be seen that the larger the value of the first threshold, the lower the decoding error rate (e.g., BLER), but the decoding complexity may also be higher. Therefore, in practical applications, the size of the first threshold can be selected according to the actual situation.
[0173] The following example illustrates the process of constructing the encoding matrix after determining the first rate matching method.
[0174] Assuming a code length E = 11, a mother code length of 16, and 7 information bits K, the first rate matching method indicates that the puncture positions of the mother code are 1, 3, 5, 9, 13. Furthermore, by consulting a pre-stored table, the encoding matrix corresponding to E = 11 and K = 7 is determined to be obtained by coupling the first sub-matrix corresponding to code length E1 = 5 and the second sub-matrix corresponding to code length E2 = 6. Here, E = E1 + E2. That is, the code length of the first sub-matrix is E1, and the code length of the second sub-matrix is E2.
[0175] Next, based on the reliability sequence of the master code, the number of information bits in the first sub-matrix and the second sub-matrix are determined. The reliability sequence represents the reliability ranking of each sub-channel in the master code. For example, a reliability sequence of [1,2,3,5,9,4,6,10,7,11,13,8,12,14,15,16] indicates that each number in the reliability sequence represents a sub-channel (or bit position) of the master code, and the reliability of a later-ranked sub-channel is greater than that of an earlier-ranked sub-channel. Puncture positions 1,3,5,9,13 are removed (or pre-frozen) from the reliability sequence, resulting in the sequence [2,4,6,10,7,11,8,12,14,15,16]. Then, K information bit positions (i.e., 7 bits) are read from back to front, resulting in 7,11,8,12,14,15,16. As can be seen, since 7 and 8 are located in the upper half of the mother code and their number is 2, the number of information bits (i.e., K1) of the first sub-matrix corresponding to the upper half of the mother code is equal to 2. Since 11, 12, 14, 15, and 16 are located in the lower half of the mother code and their number is 5, the number of information bits (i.e., K2) of the second sub-matrix corresponding to the lower half of the mother code is equal to 5.
[0176] Then, the generator matrix is determined. For example, Table 1 defines the correspondence between the code length and information bit count of the submatrix and the generator matrix. In Table 1, E represents the code length of the submatrix, and K represents the information bit count of the submatrix. It can be seen that the generator matrices given in the table include: a regular matrix (i.e., the matrix corresponding to the Arikan polarization kernel, abbreviated as Arikan), a matrix obtained by shortening the regular matrix (abbreviated as Arikan shortening), a matrix obtained by puncturing the regular matrix (abbreviated as Arikan puncturing), and other predefined non-regular matrices (e.g., G). 8,6 G 8,5 G 7,5 wait).
[0177] Table 1
[0178] E=8 E=7 E=6 E=5 E=4 K=8 Arikan K=7 Arikan Arikan shortened K=6 <![CDATA[G 8,6 ]]> Arikan shortened Arikan shortened K=5 <![CDATA[G 8,5 ]]> <![CDATA[G 7,5 ]]> Arikan shortened Arikan shortened K=4 Arikan Arikan punch <![CDATA[G 6,3 ]]> Arikan shortened Arikan K=3 <![CDATA[G 8,3 ]]> Arikan shortened <![CDATA[G 6,3 ]]> <![CDATA[G 5,3 ]]> Arikan K=2 <![CDATA[G 8,2 ]]> <![CDATA[G 7,2 ]]> <![CDATA[G 6,3 ]]> <![CDATA[G 5,2 ]]> <![CDATA[G 4,2 ]]> K=1 Arikan Arikan punch Arikan punch Arikan punch Arikan K=0 Arikan Arikan punch Arikan punch Arikan punch Arikan
[0179] The specific element values for each non-regular matrix shown in Table 1 can be found by referring to... Figure 7 .
[0180] Based on the preceding description, E=11 and K=7 correspond to two generator matrices (i.e., the first generator matrix and the second generator matrix). The code length corresponding to the first generator matrix is E1=5, and the number of information bits is K1=2. By looking up Table 1, the generator matrix corresponding to E1=5 and K1=2 is determined to be G. 5,2(Hereinafter referred to as F1); The code length of the second generator matrix is E2=6, and the corresponding number of information bits is K2=5. By looking up Table 1, the generator matrix corresponding to E2=6 and K2=5 is determined to be a generator matrix corresponding to the shortened Arikan matrix (hereinafter referred to as F2). Specifically, F2 is obtained by shortening the 8*8 Arikan matrix.
[0181] Next, the encoding matrix is constructed using the generator matrices F1 and F2. (See reference) Figure 8 The generated matrix F1 is expanded into an 8x8 matrix Q1, where the punched bits in Q1 are 1, 3, and 5. Therefore, the rows and columns in Q1 corresponding to these punched bits can be called the expanded rows and expanded columns. Bits 1-5 of F1 correspond to bits 2, 4, 6, 7, and 8 of Q1, and the information bits in Q1 are 7 and 8. (Reference) Figure 9 The generator matrix F2 is expanded into an 8x8 matrix Q2, where the punched bits in Q2 are 1 and 5. Therefore, the rows and columns in Q2 corresponding to the punched bits can be called the expanded rows and columns. Bits 1-6 of F2 correspond to bits 2, 3, 4, 6, 7, and 8 of Q2, and the information bits in Q2 are 3, 4, 6, 7, and 8. Then, Q1 and Q2 are coupled into a 16x16 target matrix according to the rules of Arikan polar codes (see reference). Figure 10 Then, according to the first rate matching method, rate matching is performed on the target matrix to obtain a coding matrix with code length E=11 and K=7. The first rate matching method indicates that rows 1, 3, 5, 9, and 13 of the target matrix are punctured.
[0182] Figure 11 This is a flowchart illustrating a decoding method provided in an embodiment of this application. The method is an implementation method on the decoding side, and includes the following steps:
[0183] Step 1101: The second communication device acquires modulation symbol information.
[0184] For example, the second communication device receives modulation symbol information from the first communication device via an air interface, or receives a signal from the first communication device and obtains modulation symbol information based on the signal.
[0185] Step 1102: The second communication device demodulates the modulation symbol information to obtain the sequence to be decoded.
[0186] This application does not limit the demodulation method. For specific implementation methods of demodulation, please refer to the description of related technologies.
[0187] Step 1103: The second communication device performs polarization decoding on the sequence to be decoded according to the encoding matrix to obtain the decoding result.
[0188] The encoding matrix is the same as the aforementioned Figure 4 The encoding matrix in the embodiments is the same, and can be referred to the foregoing description.
[0189] For example, the decoding result is the same as the aforementioned Figure 4 The first bit sequence is the same as in the embodiments, or the decoding result contains a portion of the bits in the first bit sequence.
[0190] Based on the above scheme, since the coding matrix used for polar coding is determined according to the first rate matching method, and this first rate matching method satisfies: the size of the mother code is 2 l+1 If the difference between the rate matching number of the upper half and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, the complexity of the rate matching method can be reduced, the flexibility of constructing the coding matrix can be improved, and a coding matrix with fast polarization capability can be constructed, thereby improving decoding performance. Furthermore, this first rate matching method can affect the code length, number of information bits, and information bit position of the upper and lower halves of each sub-block, further enhancing the flexibility of constructing the coding matrix and improving decoding performance.
[0191] 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.
[0192] 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.
[0193] When using integrated units, Figure 12 A possible exemplary block diagram of the apparatus involved in an embodiment of this application is shown. For example... Figure 12As shown, device 1200 may include a processing unit 1202 and a communication unit 1203. The processing unit 1202 is used to control and manage the operation of device 1200. The communication unit 1203 is used to support communication between device 1200 and other devices. Optionally, the communication unit 1203, also called a transceiver unit, may include a receiving unit and / or a transmitting unit, respectively used to perform receiving and transmitting operations. Device 1200 may also include a storage unit 1201 for storing program code and / or data of device 1200.
[0194] The device 1200 can be the first communication device in the above embodiments. The processing unit 1202 can support the device 1200 in performing the operations of the first communication device in the above method embodiments. Alternatively, the processing unit 1202 mainly performs the internal operations of the first communication device in the method embodiments, and the communication unit 1203 can support communication between the device 1200 and other devices.
[0195] For example, in one embodiment, processing unit 1202 is used to polarize the first bit sequence according to the encoding matrix to obtain a second bit sequence; and to modulate the second bit sequence to obtain modulation symbol information; communication unit 1203 is used to output the modulation symbol information; wherein, the encoding matrix is determined according to encoding parameters and a first rate matching method, the encoding parameters include code length and number of information bits, the first rate matching method is used to indicate the puncturing or shortening method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfies the following condition: the size of the mother code is 2. l+1 The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, and the length of the mother code is 2. m The first sub-channel index set of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The second sub-channel index set of the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers.
[0196] The device 1200 can be the second communication device in the above embodiments. The processing unit 1202 can support the device 1200 in performing the operations of the second communication device in the above method embodiments. Alternatively, the processing unit 1202 mainly performs the internal operations of the second communication device in the method embodiments, and the communication unit 1203 can support communication between the device 1200 and other devices.
[0197] For example, in one embodiment, a communication unit 1203 is used to acquire modulation symbol information; a processing unit 1202 is used to demodulate the modulation symbol information to obtain a sequence to be decoded; and to perform polarization decoding on the sequence to be decoded according to the encoding matrix to obtain a decoding result; wherein the encoding matrix is determined according to encoding parameters and a first rate matching method, the encoding parameters including code length and number of information bits, the first rate matching method being used to indicate the puncturing or shortening method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfying the following condition: the size of the mother code is 2. l+1 The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, and the length of the mother code is 2. m The first sub-channel index set of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The second sub-channel index set of the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers.
[0198] 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.
[0199] 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).
[0200] 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.
[0201] 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 13As shown, the device can be a communication device or a component for the communication device (e.g., a processor, chip, or chip system). The component for the communication device can be a component within the communication device, or it can be independent of the communication device. The device includes a processor 1301 and a communication interface 1302, and optionally, it also includes a memory 1303. The memory 1303 can be independent of the processor 1301, or it can be integrated into the processor 1301; the specifics are not limited. It is understood that... Figure 13 Only the main components of the communication device are shown. In one possible implementation, the communication device may further include input / output devices (not shown in the figure).
[0202] The processor 1301 is used to execute the program code stored in the memory 1303, specifically to perform the actions of the processing unit 1202, which will not be described in detail here. The communication interface 1302 is specifically used to perform the actions of the communication unit 1203, which will not be described in detail here.
[0203] Processor 1301 can be a CPU, a digital processing unit, etc. Processor 1301 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 1302 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 1301 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 to dispose of individual devices independently on different chips or integrate them on one or more chips often depends on the specific needs of the product design. The embodiments of this application do not limit the specific implementation of the above-mentioned devices.
[0204] The communication interface 1302 can be a transceiver, an interface circuit such as a transceiver circuit, or a transceiver chip, etc. Optionally, the communication interface 1302 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. Optionally, the communication interface 1302 can be an input / output interface or a chip pin.
[0205] Input / output devices, such as touchscreens, displays, and keyboards, are primarily used to receive user input data and output data to the user.
[0206] Memory 1303 is used to store programs executed by processor 1301. Memory 1303 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 1303 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.
[0207] When the communication device is powered on, the processor 1301 can read the software program in the memory 1303, 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 1301 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit then performs RF processing on 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 1301. The processor 1301 converts the baseband signal into data and processes the data.
[0208] 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.
[0209] This application embodiment does not limit the specific connection medium between the communication interface 1302, processor 1301, and memory 1303. This application embodiment... Figure 13 The memory 1303, processor 1301, and communication interface 1302 are connected via a bus 1304. Figure 13 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 13 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0210] Optionally, the communication device described above can be a standalone device or part of a larger device. For example, the communication device can be:
[0211] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;
[0212] (2) A collection of one or more ICs, optionally including a storage component for storing data and instructions;
[0213] (3) Application-specific integrated circuit (ASIC), such as modem;
[0214] (4) Modules that can be embedded in other devices;
[0215] (5) Receivers, smart terminals, wireless devices, handheld devices, mobile units, vehicle-mounted devices, cloud devices, artificial intelligence devices, etc.;
[0216] (6) Others, etc.
[0217] This application provides a chip (or chip system) including a processor for implementing any of the above-described method embodiments.
[0218] This application provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement any of the above-described method embodiments.
[0219] This application provides a computer program product, which includes a computer program or instructions that, when executed, implement any of the above-described method embodiments.
[0220] This application provides a communication system, including a first communication device and a second communication device in the above method embodiments.
[0221] 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.
[0222] 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.
[0223] 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.
[0224] 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.
[0225] 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.
[0226] 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, include: Based on the encoding matrix, the first bit sequence is polar-coded to obtain the second bit sequence; The second bit sequence is modulated to obtain modulation symbol information; Output the modulation symbol information; The encoding matrix is determined based on encoding parameters and a first rate matching method. The encoding parameters include code length and number of information bits. The first rate matching method indicates the puncturing or shortening method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfies the following conditions: The size of the mother code is 2. l+1 The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, and the length of the mother code is 2. m The first sub-channel index set of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The second sub-channel index set of the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers.
2. A decoding method, characterized in that, include: Obtain modulation symbol information; The modulation symbol information is demodulated to obtain the sequence to be decoded; Based on the encoding matrix, polarization decoding is performed on the sequence to be decoded to obtain the decoding result; The encoding matrix is determined based on encoding parameters and a first rate matching method. The encoding parameters include code length and number of information bits. The first rate matching method indicates the puncturing or shortening method of the mother code corresponding to the encoding matrix, and the first rate matching method satisfies the following conditions: The size of the mother code is 2. l+1 The difference between the rate matching number of the upper half of the p-th sub-block and the rate matching number of the lower half of the p-th sub-block is less than or equal to a first threshold, and the length of the mother code is 2. m The first sub-channel index set of the upper half of the p-th sub-block is [2p·2]. l +1,(2p+1)·2 l The second sub-channel index set of the lower half of the p-th sub-block is [(2p+1)·2]. l +1,(2p+2)·2 l ], 0≤p<2 m-l-1 , m-1≥l≥n, where n is a preset integer greater than or equal to 0, m is a preset integer greater than 1, and the first threshold is greater than or equal to 0 and less than or equal to 2. l Integers.
3. The method as described in claim 1 or 2, characterized in that, The first rate matching method is used to indicate the puncturing method of the master code, and the rate matching number is the number of punctured bits; The second punch position set of the lower half of the p-th sub-block is a subset of the first punch position set of the upper half of the p-th sub-block, the first punch position set is a subset of the first sub-channel index set, and the second punch position set is a subset of the second sub-channel index set.
4. The method as described in claim 3, characterized in that, The second rate matching method for the upper half of the p-th sub-block is sequential punching, and the third rate matching method for the lower half of the p-th sub-block is sequential punching.
5. The method as described in claim 3 or 4, characterized in that, The size of the master code is 16, the code length is 11, the first threshold is 2, and the set of punch positions indicated by the first rate matching method is {1,2,5,9,13} or {1,3,5,9,11}.
6. The method as described in claim 1 or 2, characterized in that, The first rate matching method is used to indicate the shortening method of the mother code, and the rate matching number is the number of shortened bits; The first shortened position set of the upper half of the p-th sub-block is a subset of the second shortened position set of the lower half of the p-th sub-block, the first shortened position set is a subset of the first sub-channel index set, and the second shortened position set is a subset of the second sub-channel index set.
7. The method as described in claim 6, characterized in that, The second rate matching method for the upper half of the p-th sub-block is sequential shortening, and the third rate matching method for the lower half of the p-th sub-block is sequential shortening.
8. The method as described in claim 6 or 7, characterized in that, The size of the mother code is 16, the code length is 11, and the set of shortened positions indicated by the first rate matching method is {7,8,12,15,16} or {8,10,12,14,16}.
9. The method as described in claim 6, characterized in that, The second rate matching method for the upper half of the p-th sub-block is bit reverse shortening, and the third rate matching method for the lower half of the p-th sub-block is bit reverse shortening.
10. The method according to any one of claims 1 to 9, characterized in that, The value of the first threshold is related to one or more of the size of the encoding matrix, the size of the p-th sub-block, or the length of the mother code.
11. The method according to any one of claims 1 to 10, characterized in that, n is less than 6.
12. The method according to any one of claims 1 to 11, characterized in that, E represents the code length. This represents the function for rounding up.
13. The method according to any one of claims 1 to 12, characterized in that, The code length is not a power of 2.
14. The method according to any one of claims 1 to 13, characterized in that, The encoding matrix is obtained by coupling multiple sub-matrices, and the encoding parameters also include information from the multiple sub-matrices.
15. 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 14, or to implement the method of any one of claims 2 to 14.
16. The apparatus as claimed in claim 15, 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 14, or the method of any one of claims 2 to 14.
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 14.
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 14.
19. A chip, characterized in that, The chip includes a processor for implementing the method according to any one of claims 1 to 14.