Decoding method, encoding method and related apparatuses
The decoding method using a Reed-Muller-based generating set with automorphism ensemble decoders addresses the limitations of existing polar code decoding methods, improving performance and reducing latency in modern communication systems.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-02
- Publication Date
- 2026-06-11
AI Technical Summary
Existing decoding methods for polar codes, such as Successive Cancellation List (SCL) and Reduced-Delay Automorphism Ensemble (RD-AE) decoding, face challenges with high computational complexity, increased latency, and limited error-correcting performance, particularly in challenging channel conditions and real-time communication scenarios.
A decoding method utilizing a first generating set based on Reed-Muller codes that excludes a constant monomial, allowing for automorphism ensemble decoders to process a portion of information bits, thereby improving decoding performance and reducing delay by leveraging automorphisms to permute and combine estimates efficiently.
The proposed method enhances decoding performance and reduces latency by utilizing a Reed-Muller-based generating set with automorphism ensemble decoders, enabling faster and more efficient decoding in various communication systems, including 5G and future wireless standards.
Smart Images

Figure RU2024000356_11062026_PF_FP_ABST
Abstract
Description
DECODING METHOD, ENCODING METHOD AND RELATED APPARATUSES TECHNICAL FIELD
[0001] Embodiments of the present application relate to the field of communications, and more specifically, to a decoding method, an encoding method and related apparatuses.BACKGROUND
[0002] Channel coding techniques are fundamental to modern communication systems, playing a pivotal role in enhancing bandwidth spectral efficiency and ensuring the robustness of information transmission. As the demand for faster and more reliable communication increases, and especially with the advent of new wireless technologies, the importance of efficient coding techniques has grown drastically. In this context, polar codes have emerged as a promising candidate for future wireless standards and have already made their mark in the 5G standard. The innovation behind polar codes lies in their ability to achieve channel capacity with low encoding and decoding complexities, which makes the polar codes suitable for high-performance communication systems.
[0003] However, how to improve decoding performance or reduce decoding delay is a problem to be solved.SUMMARY
[0004] Embodiments of the present application provide a decoding method, an encoding method and related apparatuses. The application may improve decoding performance or reduce decoding delay.
[0005] According to a first aspect, an embodiment of the present application provides a decoding method, and the method may be performed by a decoding apparatus, which may be a communication device (for example, a base station or a user equipment (UE)), or may be a chip, a module, a chipset, a circuit, or a processing system configured in the communication device, or may be a functional module (or unit) that may partially or fully implement the functions of the communication device.
[0006] The method includes: acquiring a codeword; and decoding the codeword based on a first generating set and automorphism ensemble decoders. The first generating set includes a plurality of monomials, and the plurality of monomials exclude a constant monomial, and the first generating set is based on a Reed-Muller code.
[0007] According to the above technical solution, a decoding apparatus would decode a codeword based on a first generating set excluding a constant monomial. Therefore, this decoding method could work on any automorphisms to improve decoding performance or reduce decoding delay.
[0008] In a possible design, the first generating set includes at least one layer of monomials. In other words, the first generating set includes monomials of at least one layer. Each monomial belongs to a layer and does not belong to any other layer. In other words, the first generating set includes at least on layer. Each layer includes at least one monomial. Each monomial belongs to one layer and does not belong to any other layer.
[0009] According to the above technical solution, the whole generating set could be divided into multiple layers, and the decoding apparatus could use one or more layers of monomials as the first generating set. Therefore, the above technical solution may provide better granularity than RM codes preserving maximum automorphism variety. It can be understood that the traditional RM codes are only constructed on the whole generating set, resulting in limited rates can be chosen. However, the above technical solution allows to yield more code rates compared to the traditional RM codes, which is more suitable for transmission condition changing.
[0010] In a possible design, each layer of monomials have the same power. In other words, monomials of each layer have the same power. In other words, monomials in the same layer have the same power. In other words, for each layer, all monomials included in the same layer have the same power.
[0011] In a possible design, all possible monomials of the same power are included in one single layer. For example, there is no intersection between any two layers.
[0012] In a possible design, the AE base decoders process a portion of information bits corresponding to the codeword. For example, the AE base decoders process the codeword to obtain a permuted portion of information bits by using the first generating set. It can be understood that the decoding apparatus’ input is the transmitted codeword affected by the noise, thus, the codeword may be more or less corrupted. Therefore, the codeword processed by the decoding apparatus may be a corrupted codeword, which may differ from a codeword determined by the encoding apparatus.
[0013] According to the above technical solution, the AE base decoders do not have to process all of the information bits corresponding to the codeword. The AE base decoders may process a portion of information bits corresponding to the codeword, and permute the portion of information bits into the whole information bits based on automorphisms. The above technical solution may reduce delay of decoding.
[0014] In a possible design, the decoding the codeword based on a first generating set and automorphism ensemble (AE) base decoders, includes: obtaining at least one estimate for each of information bits corresponding to the codeword, by combining a permuted portion of information bits.
[0015] According to a second aspect, an embodiment of the present application provides an encoding method, and the method may be performed by an encoding apparatus, which may be a communication device (for example, a base station or a user equipment (UE)), or may be a chip, a module, a chipset, a circuit, or a processing system configured in the communication device, or may be a functional module (or unit) that may partially or fully implement the functions of the communication device.
[0016] The method includes: encoding information bits based on a first generating set to obtain a codeword; and transmitting the codeword. The first generating set includes a plurality of monomials, and the plurality of monomials exclude a constant monomial, and the first generating set is based on a Reed-Muller code.
[0017] In a possible design, the first generating set includes at least one layer of monomials, and every monomial belongs to a layer and does not belong to any other layer.
[0018] In a possible design, each layer of monomials have the same power. For instance, all monomials included in the same layer have the same power, and each layer of monomials includes all possible monomials of the corresponding power.
[0019] According to a third aspect, a communication apparatus is provided, and configured to perform the method in any possible implementation of the foregoing aspects. Specifically, the apparatus includes a unit configured to perform the method in any possible implementation of the foregoing aspects.
[0020] According to a fourth aspect, another communication apparatus is provided, including a processor. The processor may be configured to execute one or more instructions, to implement the method in any possible implementation of the various aspects.
[0021] The processor can be coupled to a memory, and the processor may be configured to execute the one or more instructions in the memory. The memory may be an on-chip storage unit inside the processor, or may be an off-chip storage unit that is coupled to the memory and located outside the processor.
[0022] In a possible design, the apparatus further includes the memory.
[0023] In a possible design, the apparatus further includes a communication interface, and the processor is coupled to the communication interface.
[0024] In a possible design, the communication apparatus may be a UE, may be a chip, a module, a chipset, a circuit, or a processing system configured in the UE, or may be a device including the UE.
[0025] In a possible design, the communication apparatus may be a base station, may be a chip, a module, a chipset, a circuit, or a processing system configured in the base station, or may be a device including the base station.
[0026] According to a fifth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and when the computer program is executed by a communication apparatus, the communication apparatus is enabled to implement the method in any possible implementation of the foregoing aspects.
[0027] According to a sixth aspect, a computer program product including one or more instructions is provided. When the instructions are executed by a computer, a communication apparatus is enabled to implement the method in any possible implementation of the foregoing aspects.
[0028] According to a seventh aspect, a computer program is provided. When the computer program is executed by a computer, a communication apparatus is enabled to implement the method in any possible implementation of the foregoing aspects.
[0029] According to an eighth aspect, a communication system is provided. The communication system includes a decoding apparatus and / or an encoding apparatus, the decoding apparatus is configured to perform the method in any possible implementation of the first aspect, and the encoding apparatus is configured to perform the method in any possible implementation of the second aspect.
[0030] According to a ninth aspect, an apparatus for implementing the method in any possible implementation of the foregoing aspects is provided.DESCRIPTION OF DRAWINGS
[0031] FIG. 1 is a schematic diagram of an application scenario according to this application;
[0032] FIG. 2 illustrates an example communication system 100;
[0033] FIG. 3 illustrates another example of an electronic device (ED) 110 and a base station 170a, 170b and / or 170c;
[0034] FIG.4 is an example of units or modules in a device;
[0035] FIG. 5 is an example of a decoding method;
[0036] FIG. 6 is a schematic flowchart of a communication method 600 according to an embodiment of this application;
[0037] FIG. 7 is a schematic block diagram of a communication apparatus according to an embodiment of this application;
[0038] FIG. 8 is a schematic block diagram of another communication apparatus according to an embodiment of this application.DESCRIPTION OF EMBODIMENTS
[0039] The following describes technical solutions of the present application with reference to the accompanying drawings.
[0040] The technical solutions in embodiments of this application may be applied to various communication systems,such as a fifth generation (5G) wireless communication system, a new radio (NR) wireless communication system, a Long Term Evolution (LTE) system, an LTE frequency division duplex (FDD) system, an LTE time division duplex (TDD) system, a wireless local area network (WLAN), a satellite communication system, a device to device (D2D) communication system, a vehicle-to-everything (V2X) communication system, a machine to machine (M2M) communication system, a machine type communication (MTC) communication system, an internet of things (loT) communication system, or future network (or future wireless communication system). And the technical solutions in embodiments of this application may also be applied to beam-related communication scenarios, e.g., centimeter wave communication and millimeter wave communication.
[0041] For ease of understanding of the embodiments of this application, a communication system shown in FIG. 1-FIG. 4 is used as an example to describe in detail a communication system to which the embodiments of this application are applicable.
[0042] Referring to FIG. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 includes a radio access network 120. The radio access network 120 may be a next generation radio access network, or a legacy (e.g. 5G, 4G, 3G or 2G) radio access network. One or more communication electronic devices (ED) HOa-HOj (generically referred to as ED 110) may be interconnected to one another or connected to one or more network nodes (such as 170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. Also, the communication system 100 may include a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160.
[0043] Referring to FIG. 2, an example communication system 100 is illustrated. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, or text, via broadcast, multicast or unicast, etc. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications (such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc.). The communication system 100 may provide a high degree of availability and robustness through a joint operation of the terrestrial communication system and / or the non-terrestrial communication system. For example, integrating a non-terrestrial communication system (or components thereof) into a terrestrial communication system can result in what may be considered a heterogeneous network including multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexiblefunctionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.
[0044] The terrestrial communication system and the non-terrestrial communication system may be considered subsystems of the communication system. In the example shown, the communication system 100 includes electronic devices (ED) HOa-HOd (generically referred to as ED 110), radio access networks (RANs) 120a-120b, non-terrestrial communication network 120c, a core network 130, a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160. The RANs 120a-120b include respective base stations (BSs) 170a-170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a-170b. The non-terrestrial communication network 120c includes an access node 120c, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.
[0045] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any other T-TRP 170a-170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, ED 110a may communicate an uplink and / or downlink transmission over an interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate an uplink and / or downlink transmission over an interface 190c with NT-TRP 172.
[0046] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA(OFDMA), or single-carrier FDMA (SC-FDMA) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.
[0047] The air interface 190c can enable communication between the ED 110d and one or multiple NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs and one or multiple NT-TRPs for multicast transmission.
[0048] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown), which may or may not be directly served by core network 130, and may or may not employ the same radio access technology as RAN 1 0a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160). In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wirelesslinks using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto), the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown), and to the Internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS). Internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP), Transmission Control Protocol (TCP), and User Datagram Protocol (UDP). EDs 110a 110b, and 110c may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.
[0049] Referring to FIG. 3, an example of an ED 110 and a base station 170a, 170b and / or 170c is illustrated. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios, for example, cellular communications, device-to-device (D2D), vehicle to everything (V2X), peer-to-peer (P2P), machine-to-machine (M2M), machine-type communications (MTC), internet of things (IOT), virtual reality (VR), augmented reality (AR), industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.
[0050] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to) as a user equipment / device (UE), a wireless transmit / receive unit (WTRU), a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA), a machine type communication (MTC) device, a personal digital assistant (PDA), a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an loT device, an industrial device, or an apparatus (e.g. a communication module, a modem, or a chip) in the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to as other terms. The base station 170a and 170b is a T-TRP and will hereafter be referred to as T-TRP 170. Also, as shown in FIG. 3, an NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 can be dynamically or semi-statically turned on (i.e., established, activated, or enabled), turned off (i.e., released, deactivated, or disabled) and / or configured in response to one or more of: connection availability or connection necessity.
[0051] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC). The transceiver is also configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.
[0052] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 may store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processing unit(s) 210. Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device(s). Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.
[0053] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the Internet 150 in FIG. 1). The input / output devices permit interaction with a user or other devices in the network. Each input / output device includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications.
[0054] The ED 110 further includes a processor 210 for performing operations including those related to preparing a transmission for uplink transmission to the NT-TRP 172 and / or T-TRP 170, those related to processing downlink transmissions received from the NT-TRP 172 and / or T-TRP 170, and those related to processing sidelink transmissions to and from another ED 110. Processing operations related to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the signaling). An example of signaling may be reference signals transmitted by NT-TRP 172 and / or T-TRP 170. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on the indication of beam direction, e.g. beam angle information (BAI), received from T-TRP 170. In some embodiments, the processor 210 may perform operations related to network access (e.g. initial access) and / or downlink synchronization, such as operations related to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using reference signals received from the NT-TRP 172 and / or T-TRP 170.
[0055] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.
[0056] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by one or more identical or different processors that are configured to execute instructions stored in a memory (e.g. in the memory 208). Alternatively, some or all of the processor 210, the processingcomponents of the transmitter 201, and the processing components of the receiver 203 may each be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a hardware accelerator such as a graphics processing unit (GPU) or an artificial intelligence (Al) accelerator.
[0057] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS), a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a Node B, an evolved NodeB (eNodeB or eNB), a Home eNodeB, a next Generation NodeB (gNB), a transmission point (TP), a site controller, an access point (AP), or a wireless router, a relay station, a remote radio head, a terrestrial node, a terrestrial network device, or a terrestrial base station, base band unit (BBU), remote radio unit (RRU), radio unit (RU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distribute unit (DU), positioning node, among other possibilities. The T-TRP 170 may be macro BSs, pico BSs, relay node, donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the foregoing devices or apparatus (e.g. a communication module, a modem, or a chip) in the foregoing devices.
[0058] The CU (or CU-control plane (CP) and CU-user plane (UP)), DU or RU may be known by other names in some implementations. For example, in an open RAN (ORAN) system, the CU may also be referred to as open CU (O-CU), DU may also be referred to as open DU (O-DU), CU-CP may also be referred to as open CU-CP (O-CU-CP), CU-UP may also be referred to as open CU-UP (O-CU-CP), and RU may also be referred to as open RU (O-RU). Any one of the CU (or CU-CP, CU-UP), DU, or RU may be implemented through a software module, a hardware module, or a combination of software and hardware modules.
[0059] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remotely from the equipment housing the antennas of the T-TRP 170, and may be coupled to the equipment housing the antennas over a communication link (not shown) sometimes known as front haul, such as a common public radio interface (CPRI). Therefore, in some embodiments, the term T-TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling), message generation, and encoding / decoding, and that are not necessarily part of the equipment housing the antennas of the T-TRP 170. The modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.
[0060] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplinktransmission received from the ED 110, preparing a transmission for backhaul transmission to NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding), transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, and demodulating and decoding received symbols. The processor 260 may also perform operations related to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs), generating the system information, etc. In some embodiments, the processor 260 also generates the indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the ’processor 260 is sent by the transmitter 252. Note that “signaling”, as used herein, may alternatively be called control signaling. Dynamic signaling may be transmitted in a control channel, e.g. a physical downlink control channel (PDCCH), and static or semi-static higher layer signaling may be included in a packet transmitted in a data channel, e.g. in a physical downlink shared channel (PDSCH).
[0061] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170, which may schedule uplink, downlink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (“configured grant”) resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 may store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and executed by the processor 260.
[0062] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or the receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.
[0063] The processor 260, the scheduler 253, and the processing components of the transmitter 252 and the receiver 254 may each be implemented by one or more identical or different processors that are configured to execute instructions stored in a memory, e.g. in memory 258. Alternatively, some or all of the processor 260, the scheduler 253, and the processing components of the transmitter 252 and the receiver 254 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or Al accelerator), or an ASIC.
[0064] The NT-TRP 172 is illustrated as a drone only as an example. The NT-TRP 172 may be implemented in anysuitable non-terrestrial form. Also, the NT-TRP 172 may be known by other names in some implementations, such as a nonterrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding), transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, and demodulating and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.
[0065] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not illustrated, the processor 276 may form part of the transmitter 272 and / or receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.
[0066] The processor 276 and the processing components of the transmitter 272 and the receiver 274 may each be implemented by one or more identical or different processors that are configured to execute instructions stored in a memory, e.g. in memory 278. Alternatively, some or all of the processor 276 and the processing components of the transmitter 272 and the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a GPU, or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.
[0067] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.
[0068] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to FIG. 4.
[0069] Referring to FIG. 4, an example of units or modules in a device, such as in the ED 110, in the T-TRP 170, or iniithe NT-TRP 172, is illustrated. For example, a signal may be transmitted by a transmitting unit or a transmitting module. A signal may be received by a receiving unit or a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an artificial intelligence (Al) or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be an integrated circuit, such as a programmed FPGA, a GPU, or an ASIC. It will be appreciated that where the modules are implemented using software for execution by a processor for example, they may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.
[0070] While not shown, the transmitting module and the receiving module may be part of, or combined into, a transceiver module. A transceiver module may also be known as an interface module, or simply an interface, for inputting and outputting operations.
[0071] Additional details regarding the EDs 110, T-TRP 170, and NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.
[0072] Hereafter, a base station is used as an example of T-TRP 170 or NT-TRP 172, and the UE is used as an example of ED 110. However, limitation is not made herein.
[0073] Channel coding techniques are fundamental to modern communication systems, playing a pivotal role in enhancing bandwidth spectral efficiency and ensuring the robustness of information transmission. As the demand for faster and more reliable communication increases, and especially with the advent of new wireless technologies, the importance of efficient coding techniques has grown drastically. In this context, polar codes have emerged as a promising candidate for future wireless standards and have already made their mark in the 5G standard. The innovation behind polar codes lies in their ability to achieve channel capacity with low encoding and decoding complexities, which makes the polar codes suitable for high-performance communication systems.
[0074] A Successive Cancellation (SC) decoding method was originally proposed for polar codes. The SC method offers a simple and elegant approach to decode transmitted information. However, the SC decoding method has limited errorcorrecting performance, particularly under challenging channel conditions. As a result, a Successive Cancellation List (SCL) decoding method was developed to better utilize the error-correcting capabilities of polar codes. The SCL decoding method works by maintaining a list of most likely potential codeword candidates, thereby improving the likelihood of accurately recovering the transmitted information. While the SCL decoding method significantly increases error-correcting performance, it also comes with a notable trade-off: the list maintaining has high computational complexity, low hardware implementation chip area efficiency, and increased delay, which can be detrimental in real-time communication scenarios where low latency iscrucial. Another direction to improve the SC decoding method targeted lower delay and complexity. This direction resulted in the development of a simplified SC (SSC) decoding method. However, compared to the SC decoding method, the SSC decoding method only improves latency and complexity, and error-correcting performance of the SSC decoding method is almost the same.
[0075] To address the challenges posed by the SCL decoding method, alternatives such as the Automorphism Ensemble (AE) decoding method were explored. In general, AE decoding method works on an AE decoder. The AE decoder is built on the top of another computationally simple but relatively weak basic decoder, and the AE decoder may improve error-correcting performance of the base decoder by exploiting automorphisms of the code. Delay of a fully parallelized AE decoder is virtually the same as the delay of the base decoder used in this AE decoder. In comparison to the SCL decoding method, the implementations of the AE decoding method provide noticeable delay reduction while keeping comparable error-correcting efficiency for similar overall complexity.
[0076] Although the AE decoding method provides a noticeable delay reduction, overall decoding delay remains the bottleneck for long code regimes. A novel offshoot of the AE decoding method is a Reduced-Delay AE (RD-AE) decoding method, which seeks to minimize latency issues associated with other decoding techniques. The RD-AE decoding method works using one or more base SC / SSC decoders. An RD-AE decoder is designed to allow overall delay of an AE decoder to be smaller than delay of the base decoder corresponding to the AE decoder. Also, the RD-AE decoder allows to trade the errorcorrecting performance for reducing the processing delay required for decoding, which is particularly relevant as communication systems evolve to meet demands of ultra-reliable low-latency communication (URLLC) and other advanced use cases defined in upcoming wireless standards. However, in order to be effective, an RD-AE decoder may utilize certain special code properties, therefore, the development of the RD-AE decoder raises an important question: how to construct suitable codes?
[0077] Addressing this question involves a deep understanding of the interplay between code design, decoding techniques, and the specific requirements of communication channels. Various factors need to be considered, such as the tradeoff between code rate, error correction capability, and decoding complexity, to create codes that can fully leverage the advantages of the RD-AE decoder. It is needed to propose an innovative construction method that can produce codes optimized for usability with reduced-delay decoding and align closely with the needs of modern communication systems.
[0078] Here are some examples of monomial codes.
[0079] Monomial codes were introduced as a generalization of both Reed-Muller (RM) and polar codes. Let Mmdenote the set of all m-variate monomials over F2, and satisfies:
[0080] Mm= [xf1-x*m: btG {0,1}}, i = 1,
[0081] For any monomial xbl•■■x ‘ 6m, powers btcould be put together to form a binary vector b = (bltbm). Thus, monomial x^ -’- x^” and vector b correspond to each other and notation may be used as:
[0082] xb= xb- xb™.
[0083] For each monomial g Gm, an evaluation vector ev(g) 6 F" could be defined as:
[0084] ev(xb) = (ab,...,ab), atG F^,i =
[0085] Here atmay run through all n = 2melements of a linear space FJ1in lexicographical order. Finally, a monomial code with generating set § £mmaybe defined as:
[0086] Cs= span {ev(g)-. g 6 £}).
[0087] The set of all n evaluation vectors {ev g~) g 6 $}) forms a basis of the whole space F". Thus, Cg maybe a (n, | |) code.
[0088] An RM code may include a monomial code (r, m), 0 < r < m, which may be a monomial code generated by a set of all monomials with degree at most r, and may be denoted as:
[0089] R(r,m) = C({g e Mm: deg(^) < r}).
[0090] RM codes provide an excellent spectrum. A (canonical) polar code is a (n, k) monomial code with a generating set that minimizes word error rate (WER) among all (n, k) monomial codes under SC decoding for a given channel. The choice of polar codes frozen set may be excellent for SC decoding.
[0091] Here are some examples of automorphisms and maximum stable partition (MSP) codes.
[0092] Given a permutation it and a vector c of n elements will denote the vector obtained from c by permuting its positions according to n as tr(c), a permutation TT may be an automorphism of a code C if and only if for every permuted codeword c G C is also a codeword tr(c) G C.
[0093] Due to above construction, monomial codes may have automorphisms corresponding to affine transformations of a variables x, obtained as follows. For example, let r be an affine transformation, which can be denoted as x H T( ). Since the above corresponding relationship is one-to-one, ev(T(x)b) is a permutation of ev(xb), which can be denoted as trT. If TTTis an automorphism, rrTcan be regarded as being induced by T, or r -based. Thus, a permutation may be a particular type of affine transformation, and permutation-based automorphisms may be a special class of affine-based automorphisms induced by permutations of variables x,. In general, information bits of a codeword permuted by an affine-based automorphism may be a linear combination of the information bits of original codeword. Permutation-based automorphisms correspond to permutations of positions of information bits of the original codeword.
[0094] In some examples, monomial codes may be constructed with predefined permutation-based automorphisms. For any subgroup of permutations 5, there exists a unique maximum stable partition (MSP) of Mm, which can be used to construct all possible monomial codes with automorphisms induced by S. These codes may be named MSP-based codes.]0095] Here are some examples of AE decoding.
[0096] In some examples, several identical SC or SCL decoders can be used in parallel in combination with automorphisms of monomial codes. In some examples, the above approach can be further developed in the context of Reed-Muller codes. The developed approach can be named as AE decoding. For instance, AE decoding can be based on SC. SCbased AE (AE-SC) decoding presented in FIG. 5 is a variation of AE decoding based on an SC / SSC decoding algorithm. Here P identical base SC / SSC decoders run on P permuted copies of received codewords, where each permutation belongs to the automorphism group of RM codes. The codewords resulting from each decoder are permuted back, and the most likely candidate may be selected. For fully parallelized implementation, overall delay may be virtually equal to the delay of a base decoder, which is O(N) for SC, or O(N1-ε) for simplified SC, where N is code length and e is some constant. For AE decoding it is possible to use RM codes, MSP codes, or Polar codes.
[0097] The RD-AE decoding may use permutation-based automorphisms. Since these automorphisms correspond to permutations of information bits, SC decoders working in parallel on different branches presented in FIG. 5 will make decisions about values of the same information bits, but in different order. This means that the estimations of all information bits might actually be obtained after each parallel decoder processes information bit number Kmin< K. In this case the overall decoding may be finished before individual base decoder finishes decoding. Thus, overall decoding delay can be made smaller than the delay of the base decoder. For such kind of decoder, the question arises: how to construct the appropriate codes?
[0098] Polar codes have a few automorphisms, which makes it harder to exploit AE diversity. RM codes have maximum number of automorphisms; thus, RM codes are well-suited for AE decoding. However, generating sets of traditional RM codes always include a constant monomial, which cannot be permuted with any other monomial by any automorphism. Moreover, an SC decoder will always estimate corresponding information bits last, no matter what automorphism is applied to the input of a decoder. Thus, decoding delay for traditional RM codes cannot be reduced by RD-AE decoding in comparison to AE decoding. Therefore, a new, more specific, narrower class of codes, which will allow to efficiently permute all information bits, is needed to be defined.
[0099] The following describes the embodiments of this application in detail with reference to the accompanying drawings.
[0100] In the following, the process of decoding a codeword described below may be performed by a base station, or may be performed by a UE. The process of encoding information bits may be performed by the UE when the base stationdecodes the codeword, and may be performed by the base station when the UE decodes the codeword. For ease of description, an apparatus that decodes the codeword is herein after referred to as a decoding apparatus and an apparatus that encodes the information bits are herein after referred to as an encoding apparatus.
[0101] In the embodiments of this application, “and / or” describes an association relationship between associated objects and represents that three relationships may exist. For example, A and / or B may represent the following three cases: only A exists, both A and B exist, and only B exists. The character “ / ” generally indicates an “or” relationship between the associated objects. “At least one” means one or more. “At least one of A and B”, similar to “A and / or B”, describes an association relationship between associated objects and represents that three relationships may exist. For example, at least one of A and B may represent the following three cases: only A exists, both A and B exist, and only B exists.
[0102] Referring to FIG. 6, FIG. 6 is a schematic flowchart of a communication method 600 according to an embodiment of this application. The method 600 may include a decoding method and an encoding method. Hereafter, operations of the decoding method would be introduced. The optional operation in the method 600 is shown in dashed lines in FIG. 6.
[0103] At S625, a decoding apparatus acquires a codeword.
[0104] The decoding apparatus may be a communication device (such as a base station or a UE), or a chip, a module, a chipset, a circuit, or a processing system configured in the communication device, or a functional module (or unit) that may partially or fully implement the functions of the communication device.
[0105] If the decoding apparatus is a communication device, the S625 may include that the communication device receives the codeword from an outside device (such as, an encoding apparatus). If the decoding apparatus is a chip, a module, a chipset, a circuit, or a processing system configured in the communication device, or the decoding apparatus is a functional module (or unit) that may partially or fully implement the functions of the communication device, the S625 may include that the decoding apparatus acquires the codeword from some other module that is also in the communication device.
[0106] At S630, the decoding apparatus decodes the codeword based on a first generating set and automorphism ensemble decoders. The first generating set does not include a constant monomial and is based on a Reed-Muller (RM) code.
[0107] In other words, the first generating set may be based on an RM code and exclude constant monomial. For example, given an RM code denotes a monomial code (r, m), supposing r = 2 and m = 3, a traditional generating set based on this RM code may include {l,x1,x2,x3,x1x2,x1x3,x2x3}. However, the first generating set in present application may not include a constant monomial, so in the above example, the first generating set may include {x1,x2,x3,x1x2,x1x3,x2x3}.
[0108] In other words, the first generating set may not include a monomial with a degree (or a power) of zero.
[0109] It can be understood that the first generating set without constant monomials may be suitable for AE decodingand / or RD-AE decoding, since this kind of generating set may achieve permutation by any automorphism.
[0110] The first generating set would result in a new code construction. Thus, the present application can be seen as proposing a new code construction. The code construction applicable to reduced-delay channel decoding may be crucial for various applications that demand real-time communication, minimal latency, or high reliability.
[0111] As an example, the new code construction may be applied in Ultra-Reliable Low-Latency Communication (URLLC), which is a specific communication service defined in the 5G standard. URLLC may support applications that require extremely low latency and high reliability, such as real-time control of autonomous vehicles, industrial automation (including remote monitoring or control of machinery), and medical applications like remote surgeries or telemedicine. In these cases, delay feedback could lead to serious consequences.
[0112] As another example, the new code construction may be applied in autonomous vehicles, which need to communicate with nearby infrastructures, other vehicles, or their surrounding environments through Vehicle-to-Everything (V2X) communication. The application may include haptic feedback systems used in remote surgeries, virtual reality (VR) environments, or augmented reality (AR), where users expect seamless interactive experiences. Telemedicine and remote health monitoring also benefit greatly from reduced-delay communication. Augmented and Virtual Reality (AR / VR) technologies are increasingly utilized in gaming, training simulations, and remote collaborations. The Internet of Things (loT) encompasses a wide array of devices, from home automation systems to industrial sensors. In time-sensitive applications like smart home security (such as alarms and surveillance) or industrial loT (monitoring critical equipment), reduced-latency communication facilitates timely alerts and enables automation processes.
[0113] The new code construction may be applied in other scenario, which is not limited by the present application.
[0114] As an example, S630 may include: the decoding apparatus decodes the codeword based on the first generating set by AE base decoders.
[0115] According to the above technical solution, a decoding apparatus would decode a codeword based on a first generating set excluding a constant monomial. Therefore, this decoding method could work on any automorphisms to improve decoding performance or reduce decoding delay.
[0116] In some examples, the first generating set includes at least one layer of monomials, and every monomial belongs to a layer and does not belong to any other layer. In other words, the first generating set includes monomials of at least one layer.
[0117] The term “layer” can be understood as or be replaced with the term “group”, “set”, “subgroup”, “subset”, “class”, “subclass” or other term similar to layer.
[0118] The code corresponding to the first generating set may be named as “layered code”. For instance, layered codesmay be determined based on the first generating set.
[0119] The first generating set may include one or more layer of monomials. In other words, the decoding apparatus may use the whole generating set based on an RM code without a constant monomial, or use a portion of the generating set based on an RM code without a constant monomial. For ease of reading and understanding, the first generating set could be regarded as a subset of the whole generating set.
[0120] In a generating set (or subset), every monomial belongs to a layer and does not belong to any other layer, which can be also understood as the whole generating set can be divided into multiple layers. For example, monomial#l to monomial#6 may be divided into 3 layers. As a specific example, monomial#! belongs to layer#l, monomial#2 and monomial#3 belong to layer#2, and monomial#4 to monomial#6 belong to layer#3.
[0121] In other words, monomials in a generating set (or subset) would be included / excluded by layers. In some examples, there cannot be a generating set (or subset) including a monomial from half of a layer, and not including a monomial from the other half of this layer.
[0122] According to the above technical solution, the whole generating set could be divided into multiple layers, and the decoding apparatus could use one or more layers of monomials as the first generating set. Therefore, the above technical solution may provide better granularity than RM codes preserving maximum automorphism variety. It can be understood that the traditional RM codes are only constructed on the whole generating set, resulting in limited rates can be chosen. However, the above technical solution allows to yield more code rates compared to the traditional RM codes, which is more suitable for transmission condition changing.
[0123] Granularity may characterize how many codes with different rates R=k / n can be constructed for the same code length. For example, if there exist only m different RM codes of lengths n=2Am, the granularity is low. The above technical solution allows to choose a different generating set (or subset) from the whole generating set based on RM codes and excluding constant monomials, thus, the granularity of the above technical solution is greater.
[0124] In some examples, each layer of monomials has the same power. In other words, monomials of each layer have the same power.
[0125] In other words, the whole generating set may be sorted into layers by power.
[0126] For example, a layered code S(r, m) may be defined by positive integer parameters m, and integer vector parameter r = [ri,r2,...], where 0 < rt< m. It has length 2m. The generating set of S r, m) is chosen to include all monomials from Afmwith degrees r1, r2, --- The term “degree” may be also understood as or replaced with the term “power” or “index”.
[0127] As a specific example, consider 5(r, m)=.2([l, 2], 3). The codes of length 23= 8 may contain all monomialsof degrees 1 and 2. The first generating set for this code maybe {Xi,x2, x3,x1x2,x1x3,x2x3).
[0128] The decoding apparatus could decode the codeword based on parallel base decoders and at least one layer of monomials, which may form the first generating set.
[0129] Hereafter, an example of the parallel base decoders would be introduced.
[0130] For ease of understanding, the following Table 1 illustrates AE (or RD-AE) decoding using 3 parallel base SC decoders (denoted as decoder#! to decoder#3) with 3 automorphisms. For example, after each base decoder computes estimate value for information bit #3, an AE decoder (or an RD-AE decoder) may get at least one estimate value for each of 6 information bits. In particular, at this point one decoder has two estimates for each of the information bits corresponding to monomials {x1x2,x1x3,x2x3} and one estimate for each of the information bits corresponding to monomials {x1,x2,x3}.
[0131] Table 1Information bit SC decoding orderBase decoder Automorphism1 2 3 4 5 6 decoder#! 123decoder #2 312decoder #3 231
[0132] Hereafter, some examples of some monomial layers would be introduced.
[0133] In some examples, the proposed decoding method may allow to construct codes using different monomial layers (that is, subsets of monomials from Mmwith the same degree) for the same code length.
[0134] As an example, the first generating set may correspond to layered codes £([l],m) or £([2],m), etc. It can be understood that using different monomial layers (or different first generating sets) may result in different code rates, different code spectrum properties and different minimum RD-AE delays (if RD-AE decoding is used).
[0135] As specific examples, consider the following layered code constructions using different monomial layers. Two examples are given hereafter.
[0136] 1) S([l], 4). This (n=16, k=4) code contains all monomials of degree 1. The first generating set for this code is {x1,x2,x3, x4). The minimum code distance is 8. The minimum number of processed frozen and information bits for base SC decoder is 8.
[0137] The following Table 2-1 lists vectors b corresponding to frozen and information bits of the designated codes in the order of SC decoder processing. Information bits are marked by bold font and frozen bits are not marked by bold font. The earliest bit, where the base SC decoding can be stopped, is underlined.
[0138] Table 2-1ℒ([1], 4)1111111011011100101110101001100001110110010101000011001000010000
[0139] The earliest bit here may be the first position at which decoders can have estimates for all information bits if the decoders are allowed to use as many automorphisms as possible. All monomials corresponding to information bits may be able to be moved to positions at least as early as this earliest bit by applying some variable permutations (which will be used to generate corresponding automorphisms). For instance, variable permutations do not change the degree of monomials, so these permutations can only exchange positions of monomials with the same degree. So, if the first generating set only includes one layer of a monomial, k variable permutations can be used to move all information bits to the position of the earliest information bit.
[0140] 2) ℒ([2], 4). This (n=16, k=6) code contains all monomials of degree 2. The first generating set for this code is x1x2,x1x3,x1x4,x2x3,x2x4,x3x4]. The minimum code distance is 4. The minimum number of processed frozen and information bits for base SC decoder is 4.
[0141] The following Table 2-2 lists vectors b corresponding to frozen and information bits of the designated codes in the order of SC decoder processing. Information bits are marked by bold font and frozen bits are not marked by bold font. The earliest bit, where the base SC decoding can be stopped, is underlined.
[0142] Table 2-21100101110101001100001110110010101000011001000010000
[0143] In other examples, the proposed decoding method may allow to construct codes using different number of monomial layers (that is, subsets of monomials from with one or more degrees) for the same code length.
[0144] As an example, the first generating set may correspond to layered codes £([1], m) or £([1, 2], m), etc. It can be understood that using different number of monomial layers (or different first generating sets) may result in different code rate, different code spectrum properties and different minimum RD-AE delays (if RD-AE decoding is used). For instance, the minimum number of processed frozen and information bits for base SC decoders may be determined as the index of the first information bit in the last layer: 2m~mm r‘. The parameter “min r” may denote the smallest value of all rt.
[0145] As specific examples, consider the following layered code constructions using different number of monomial layers. Two examples of monomial layers are given hereafter.
[0146] 1) An example for one layer. ℒ([2], 4). This (n=16, k=6) code contains all monomials of degree 2. The first generating set for this code is {x1x2,x1x3, xtx4, x2x3, x2x4, x3x4}. The minimum number of processed frozen and information bits for base SC decoders is 4.
[0147] The following Table 3-1 lists vectors b corresponding to frozen and information bits of the designated codes in the order of SC decoders processing. Information bits are marked by bold font and frozen bits are not marked by bold font. The earliest bit, where the base SC decoding can be stopped, is underlined.
[0148] Table 3-1>£([2], 4)1111mo11011100101110101001100001110110010101000011001000010000
[0149] 2) An example for two layers. ^[1, 2], 4). This (n=16, k=l 0) code contains all monomials of degrees 1 and 2. The first generating set for this code is {x1,x2,x3,x4,x1x2,x1x3,x1x4,x2x3,x2x4,x3x4}. The minimum number of processed frozen and information bits for base SC decoder is 8.
[0150] The following tables list vectors b corresponding to frozen and information bits of the designated codes in the order of SC decoders processing. Information bits are marked by bold font and frozen bits are not marked by bold font. The earliest bit, where the base SC decoding can be stopped, is underlined.
[0151] Table 3-21111111011011100101110101001100001110110010101000011001000010000
[0152] In some other examples, the proposed decoding method may allow to use different automorphism sets with the same layer code (or different layer codes), which results in different minimum RD-AE delay and error-correcting performance (if RD-AE decoding is used).
[0153] As an example, consider layered code,2([1, 2], 4) is constructed using two layers. This (n=16, k=10) code contains all monomials of degrees 1 and 2. The first generating set for this.code is {XJ. XJ, x3,x4,x1x2,x1x3,x1xi,x2x3,x2x4,x3x4}. The following Table 4 illustrates using two different sets of automorphisms, which allows to achieve different minimum number of processed frozen and information bits for base SC decoding. Here permutation-based automorphisms are specified by the permutations of 4 construction variables. Information bits are marked by bold font and frozen bits are not marked by bold font. The earliest bit, where the base SC decoding can be stopped, is underlined.
[0154] Table 41234 12343124 3412 Automorphisms324134121111 11111110 11101101 11011100 11001011 10111010 10101001 1001Frozen and information bits in the order of 1000 1000SC decoder processing 0111 01110110 01100101 01010100 01000011 00110010 00100001 00010000 0000
[0155] A middle column of Table 4 shows an automorphism set of 4 automorphisms, and the minimum number of processed bits for this set of is 8. As an example, a decoder corresponding to automorphism “1234” can get information bits“ 1000”, which can be permuted from information bits “0100” that are obtained by the decoder corresponding to automorphism “3124”, or information bits “0001” that are obtained by the decoder corresponding to automorphism “3241”, or information bits “0010” that are obtained by the decoder corresponding to automorphism “3412”. As another example, a decoder corresponding to automorphism “1234” can get information bits “1100”, which can be permuted from information bits “0110” that are obtained by the decoder corresponding to automorphism “3124”, or information bits “0101” that are obtained by the decoder corresponding to automorphism “3241”, or information bits “OOH” that are obtained by the decoder corresponding to automorphism “3412”.
[0156] The right column of Table 4 shows an automorphism set of 2 automorphisms. The minimum number of processed bits for this set of is 12, since in contrast to the previous example of 4 automorphisms, the example of 2 automorphisms here does not allow to move. For instance, bit 0100 cannot be moved to bit 1000 in the present example, thus, the minimum delay is 12 instead of 8.
[0157] As an example, a decoder corresponding to automorphism “1234” can get information bits “1100”, which can be permuted from information bits “0011” that are obtained by the decoder corresponding to automorphism “3412”. As another example, a decoder corresponding to automorphism “1234” can get information bits “1000”, which can be permuted from information bits “0010” that are obtained by the decoder corresponding to automorphism “3412”. As one more example, a decoder corresponding to automorphism “1234” can get information bits “0100”, which can be permuted from information bits “0001” that are obtained by the decoder corresponding to automorphism “3412”.
[0158] In some examples, the AE base decoders process a portion of information bits corresponding to the codeword.
[0159] In other words, the decoding method may be applied on the RD-AE decoder, which can stop decoding at the proper position.
[0160] As an example, the AE base decoders may stop decoding at the first position where the AE base decoders can stop. For instance, the first position may be the position of the earliest information bit.
[0161] As another example, the AE base decoders may stop decoding at a position after the first position where the AE base decoders can stop.
[0162] It can be understood that if the AE base decoders continue to process an information bit after the earliest information bit, the delay would be bigger, but performance of error correction would be better. Therefore, the technical solution can allow code automorphism set to be configurable to provide delay / complexity trade off.
[0163] According to the above technical solution, the AE base decoders do not have to process all of the information bits corresponding to the codeword. The AE base decoders may process a portion of information bits corresponding to the codeword, and permute the portion of information bits into the whole information bits based on automorphisms. The abovetechnical solution may reduce delay of decoding.
[0164] In some examples, the S630 includes: S640, the decoding apparatus obtains at least one estimate for each of information bits corresponding to the codeword, by combining a permuted portion of information bits processed by the AE base decoders.
[0165] If the AE base decoders only process a portion of information bits corresponding to the codeword, the decoding apparatus may perform S640, to obtain all of information bits.
[0166] In other examples, the AE base decoders process all of information bits corresponding to the codeword.
[0167] In other words, the decoding method may decode up to the last information bit.
[0168] The comparison between different subclasses of monomial codes by spectrum, granularity and other properties is presented in Table 5.
[0169] Table 5Monomial codesMSPPolar RMGeneral MSP New construction Spectrum Good (CA-Polar) Good Varying VaryingGranularity Maximum Low Moderate ModerateSC / SCLExcellent Low Varying - suitabilityNumber ofLow Excellent Varying Many automorphismsAutomorphismsHard Easy (inherent) Easy (by design) Easy (by design) set construct1011Decoding delay High (SCL) High (SCL) High (SCL) High (SCL)Moderate (AE) Moderate (AE) Moderate (AE)Low (RD-AE)
[0170] Referring to Table 5, codes of new construction proposed by the present application have varying code spectrum, moderate granularity, a large number of automorphisms, ease of construction and low decoding delay (if RD-AE decoding is used).
[0171] Hereafter, operations of the encoding method will be introduced.
[0172] In some examples, the encoding method may be performed in a traditional way. For instance, the encoding apparatus may encode information bits into the codeword by a traditional generating set based on an RM code. That is, the encoding apparatus may use a generating set including constant monomials to perform encoding.
[0173] In other examples, the encoding method may include S610.
[0174] At S610, the encoding apparatus encodes information bits based on a first generating set to obtain a codeword. The first generating set does not include a constant monomial, and the first generating set is based on a Reed-Muller code.
[0175] In other words, the encoding apparatus may use the first generating set as described in previous text to encode information bits. Description of the first generating set may refer to the pervious text and is not repeated here again.
[0176] In some examples, the encoding method may include S620. S620 could be performed after S610.
[0177] At S620, the encoding apparatus transmits the codeword. S620 could be performed before S625, or simultaneously with S625.
[0178] If the encoding apparatus is a communication device, the S620 may include that the communication device transmits the codeword to an outside device (such as, a decoding apparatus). If the encoding apparatus is a chip, a module, a chipset, a circuit, or a processing system configured in the communication device, or the encoding apparatus is a functional module (or unit) that may partially or fully implement the functions of the communication device, the S620 may include that the encoding apparatus transmits the codeword to some other module that is also in the communication device.
[0179] The apparatus provided in embodiments of this application is described below in detail with reference to FIGS.7-8. The description of apparatus embodiments corresponds to the description of the method embodiments. Therefore, for content that is not described in detail, refer to the foregoing method embodiments. For brevity, details are not described herein again.
[0180] Referring to FIG. 7, a schematic block diagram of a communication apparatus according to an embodiment of this application is shown. The communication apparatus 800 includes a transceiver unit 810 and a processing unit 820. The transceiver unit 810 may implement a corresponding communication function, and the processing unit 810 is configured to perform data processing. The transceiver unit 810 may also be referred to as a communication interface or a communication unit.
[0181] In some embodiments, the communication apparatus 800 may further include a storage unit. The storage unit may be configured to store instructions and / or data. The processing unit 820 may read instructions and / or data in the storage unit, to enable the communication apparatus to implement the foregoing method embodiments.
[0182] In a possible implementation, the communication apparatus 800 may be configured to perform actions performed by the decoding apparatus in the foregoing method embodiments. In this case, the communication apparatus 800 may be a communication device (for example, a base station or a UE) or a component that can be configured in the communication device. The transceiver unit 810 is configured to perform communicating-related (e.g., receiving / transmitting-related) operations on the decoding apparatus side in the foregoing method embodiments. The processing unit 820 is configured to perform processing-related operations on the decoding apparatus side in the foregoing method embodiments.
[0183] In another possible implementation, the communication apparatus 800 may be configured to perform actions performed by the encoding apparatus in the foregoing method embodiments. In this case, the communication apparatus 800 may be a communication device (for example, a base station or a UE) or a component that can be configured in the communication device. The transceiver unit 810 is configured to perform communicating-related (e.g., receiving / transmitting-related) operations on the encoding apparatus side in the foregoing method embodiments. The processing unit 820 is configured to perform processing-related operations on the encoding apparatus side in the foregoing method embodiments.
[0184] A specific process in which the units perform the foregoing corresponding steps is described in detail in the foregoing method embodiments. For brevity, details are not described herein again.
[0185] Referring to FIG. 8, a schematic block diagram of another communication apparatus according to an embodiment of this application is shown. The communication apparatus 900 includes a processor 910. The processor 910 is coupled to a memory 920. The memory 920 is configured to store a computer program or instructions and / or data. The processor 910 is configured to execute the computer program or instructions and / or data stored in the memory 920, so that the methods in the foregoing method embodiments are executed.
[0186] In some embodiments, the communication apparatus 900 includes one or more processors 910.
[0187] In an example, as shown in FIG. 8, the communication apparatus 900 may further include the memory 920.
[0188] In some embodiments, the communication apparatus 900 may include one or more memories 920.
[0189] In an example, the memory 920 may be integrated with the processor 910, or disposed separately from the processor 910.
[0190] In an example, as shown in FIG. 8, the communication apparatus 900 may further include a transceiver 930, where the transceiver 930 is configured to receive and / or transmit a signal. For example, the processor 910 may be configured to control the transceiver 930 to receive and / or transmit a signal.
[0191] In some embodiments, the communication apparatus 900 may be a communication device (for example, a base station or a UE) or a component that can be configured in the communication device.
[0192] In a solution, the communication apparatus 900 is configured to perform the operations performed by the decoding apparatus in the foregoing method embodiments.
[0193] For example, the processor 910 may be configured to perform a processing-related operation performed by the decoding apparatus in the foregoing method embodiments, and the transceiver 930 may be configured to perform a communicating-related (e.g., receiving / transmitting-related) operation performed by the decoding apparatus in the foregoing method embodiments.
[0194] In another solution, the communication apparatus 900 is configured to perform the operations performed by theencoding apparatus in the foregoing method embodiments.
[0195] For example, the processor 910 may be configured to perform a processing-related operation performed by the encoding apparatus in the foregoing method embodiments, and the transceiver 930 may be configured to perform a communicating-related (e.g., receiving / transmitting-related) operation performed by the encoding apparatus in the foregoing method embodiments.
[0196] An embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer instructions used to implement the method performed by the decoding apparatus or the method performed by the encoding apparatus in the foregoing method embodiments.
[0197] For example, when the computer program is executed by a computer, the computer may be enabled to implement the method performed by the decoding apparatus or the method performed by the encoding apparatus in the foregoing method embodiments.
[0198] An embodiment of this application further provides a computer program product including instructions. When the instructions are executed by a computer, the computer is enabled to implement the method performed by the decoding apparatus or the method performed by the encoding apparatus in the foregoing method embodiments.
[0199] An embodiment of this application further provides a communication system. The communication system includes the decoding apparatus and the encoding apparatus in the foregoing embodiments.
[0200] For explanations and beneficial effects of related content of any communication apparatus provided above, refer to a corresponding method embodiment provided above. Details are not described herein again.
[0201] The processor mentioned in embodiments of this application may be a central processing unit (CPU). The processor may further be another general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another programmable logic device, a discrete gate, a transistor logic device, a discrete hardware component, or the like. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.
[0202] The memory mentioned in embodiments of this application may be a volatile memory or a non-volatile memory, or may include a volatile memory and a non-volatile memory. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (programmable ROM, PROM), an erasable programmable read-only memory (erasable PROM, EPROM), an electrically erasable programmable read-only memory (electrically EPROM, EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM). For example, the RAM may be used as an external cache. By way of example but not limitation, the RAM may include a plurality of forms such as the following: a static random access memory (static RAM, SRAM), a dynamic random access memory (dynamic RAM, DRAM), a synchronous dynamicrandom access memory (synchronous DRAM, SDRAM), a double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), an enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), a synchlink dynamic random access memory (synchlink DRAM, SLDRAM), and a direct rambus random access memory (direct rambus RAM, DR RAM).
[0203] It should be noted that when the processor is a general-purpose processor, a DSP, an ASIC, an FPGA, another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component, the memory (storage module) may be integrated into the processor.
[0204] It should be further noted that the memory described in this specification is intended to include, but is not limited to, these memories and any other memory of a suitable type.
[0205] A person of ordinary skill in the art may be aware that, in combination with the examples described in embodiments disclosed in this specification, units and methods may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the protection scope of this application.
[0206] It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing apparatus and unit, refer to a corresponding process in the foregoing method embodiment. Details are not described herein again.
[0207] In the several embodiments provided in this application, the disclosed apparatuses and methods may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division in an actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic forms, mechanical forms, or other forms.
[0208] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on an actual requirement to implement the solutions provided in this application.
[0209] In addition, function units in embodiments of this application may be integrated into one unit, or each of the units may exist alone physically, or two or more units may be integrated into one unit.All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When the software is used to implement embodiments, all or a part of embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the procedures or functions according to embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable apparatus. For example, the computer may be a personal computer, a server, a network device, or the like. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, and microwave, or the like) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, an SSD), or the like. For example, the usable medium may include but is not limited to any medium that can store program code, such as a USB flash drive, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disc.
[0210] The foregoing description is merely a specific implementation of this application, but is not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims and the specification.
Claims
CLAIMSWhat is claimed is:
1. A decoding method, comprising:acquiring a codeword; anddecoding the codeword based on a first generating set and automorphism ensemble (AE) base decoders, wherein the first generating set comprises a plurality of monomials, and the plurality of monomials exclude a constant monomial, and the first generating set is based on a Reed-Muller code.2 The method according to claim 1, wherein the first generating set comprises monomials of at least one layer, and each monomial belongs to one layer and does not belong to any other layer.
3. The method according to claim 2, wherein monomials in the same layer have the same power.
4. The method according to claim 3, wherein all possible monomials of the same power are comprised in one single layer.
5. The method according to any one of claims 1-4, wherein the AE base decoders process the codeword to obtain a permuted portion of information bits by using the first generating set.
6. The method according to claim 5, wherein the decoding the codeword based on a first generating set and automorphism ensemble (AE) base decoders, comprises:obtaining at least one estimate for each of information bits corresponding to the codeword, by combining the permuted portion of information bits.
7. An encoding method, comprising:encoding information bits based on a first generating set to obtain a codeword, wherein the first generating set comprises a plurality of monomials, and the plurality of monomials exclude a constant monomial, and the first generating set is based on a Reed-Muller code; andtransmitting the codeword.
8. The method according to claim 7, wherein the first generating set comprises monomials of at least one layer, and each monomial belongs to one layer and does not belong to any other layer.
9. The method according to claim 8, wherein monomials in the same layer have the same power.
10. The method according to claim 9, wherein all possible monomials of the same power are comprised in one single layer.
11. An apparatus comprising a processor configured to enable the apparatus to perform the method of any one of claims 1-10.
12. The apparatus according to claim 11, further comprising a memory for storing processor-executable instructions.
13. The apparatus according to claim 11 or 12, further comprising a communication interface configured to input and / or output signals.
14. The apparatus according to any one of claims 11-13, wherein the apparatus is a communication device, an integrated circuit, a system-on-chip, a system-in-package, or a multi-chip module.
15. A computer readable storage medium comprising one or more instructions, wherein when the instructions are executed by a computer, the computer performs the method of any one of claims 1-10.
16. A computer program comprising one or more instructions, wherein when the instructions are executed by a computer, the computer performs the method of any one of claims 1-10.
17. A communication system comprising: a decoding apparatus and an encoding apparatus, wherein:the decoding apparatus is configured to perform the method according to any one of claims 1-6, and the encoding apparatus is configured to perform the method according to any one of claims 7-10.
18. An apparatus for implementing the method according to any one of claims 1-10.