Method, apparatus, and system for self-decodable redundancy versions in a low density parity check code for hybrid automatic repeat request

EP4714036A1Pending Publication Date: 2026-03-25HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-12
Publication Date
2026-03-25

Smart Images

  • Figure CN2023118135_28112024_PF_FP_ABST
    Figure CN2023118135_28112024_PF_FP_ABST
Patent Text Reader

Abstract

In an initial transmission, bits from a low density parity check (LDPC) coded bit sequence are transmitted. In a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence are transmitted. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence. When a self-decodable further transmission including the subsets is received, the further transmission can be decoded.
Need to check novelty before this filing date? Find Prior Art

Description

Method, Apparatus, and System for Self-decodable Redundancy Versions in a Low Density Parity Check Code for Hybrid Automatic Repeat Request

[0001] CROSS-REFERENCE TO RELATED APPLICATION

[0002] The present application is related to, and claims priority to, United States provisional patent application Serial No. 63 / 503,296, entitled "Method, Apparatus, and System for Self-decodable Redundancy Versions in a Low Density Parity Check Code for Hybrid Automatic Repeat Request" , filed on May 19, 2023, the entire contents of which are hereby incorporated by reference.TECHNICAL FIELD

[0003] The present application relates to communications, and in particular to low density parity check (LDPC) coding and redundancy versions (RVs) for hybrid automatic repeat request (HARQ) .BACKGROUND

[0004] In fifth generation (5G) new radio (NR) LDPC code, a codeword before rate matching (referred as a mother codeword) typically consists of three disjoint portions or parts, commonly referred to as systematic bits, core parity check bits and extended parity check bits. In NR LDPC code, four different redundancy versions (RVs) including RV0, RV1, RV2 and RV3 are generated after rate matching. In an initial transmission, RV0 is normally selected for the transmission. Most of the systematic bits are included in the set of coded bits that are transmitted in RV0. Depending on the effective code rate, part of the core parity check bits or all of the core parity check bits and extended parity check bits are included in RV0. As a result, RV0 has the highest self-decodable ability ( “self-decodability” ) among all RVs (i.e., RV0 can be self-decodable at a highest code rate) . In retransmission, the transmitter may select RV1, RV2 or RV3. However, only RV3 is self-decodable at a high code rate and, detrimentally, RV1 and RV2 are not self-decodable at high code rate. The main reason for this drawback is that, at some (e.g., high) code rates, RV1 and RV2 may consist of only parity check bits, resulting in a very low likelihood of successfully decoding the RV.

[0005] The following implementations of known LDPC HARQ schemes incur certain disadvantages:

[0006] ● HARQ Chase Combining (CC) : RV0 is always sent in retransmission. Although the RV is self-decodable, it does not achieve any gain from incremental redundancy (IR) combining. The error-correction performance of 5G NR LDPC codes is not fully exploited in this scheme.

[0007] ● HARQ IR: RV2, RV3, RV1 are retransmitted in this respective order. The starting point of each RV is defined in a circular buffer that includes coded bits of a mother codeword. The self-decodability of RV1 and RV2 is reduced or non-existent at high code rates.

[0008] ● Self-decodable RVs proposed in G. Sarkis, J. B. Soriaga and T. Richardson, "Self-Decodability of HARQ Retransmissions for 5G NR LDPC Codes, " 11th ISTC, Montreal, QC, Canada, 2021, pp. 1-5, and United States Patent Application Publication No. 2019 / 0052400 A1: Through an interleaver, core bits are evenly distributed among extended parity check bits so that RV1, RV2 and RV3 have a similar number of core bits, i.e., similar self-decoding ability at each RV. This results in a complicated reordering of mother coded bits before they are placed in a circular buffer. Moreover, some extended parity check bits at the end of the mother codeword are typically included in each RV. It follows that the decoder always operates at low code rate (CR) even when RV0 has high CR, which results in a high decoding complexity at the receiver.

[0009] It is generally desirable to provide an LDPC code with self-decodable RVs, especially if an initial transmission with RV0 is erased in the channel (i.e. not received) . A solution based on, or substantially compatible with, the established 5G NR LDPC codes would be of even further benefit.SUMMARY

[0010] The present disclosure encompasses embodiments related to self-decodable RVs for LDPC codes, such as those standardized in 5G NR, with a good combination of self-decodable ability and IR combining gain.

[0011] According to an aspect of the present disclosure, a method involves transmitting, in an initial transmission, bits from an LDPC coded bit sequence; and transmitting, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0012] Another method involves receiving a further transmission that is self-decodable independently of an initial transmission that includes bits from an LDPC coded bit sequence. The further transmission includes non-sequential subsets of sequential bits from the LDPC coded bit sequence. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence. Such a method may also involve decoding the further transmission.

[0013] An apparatus according to an embodiment includes an encoder and a transmitter coupled to the encoder. The encoder is for encoding an input bit sequence by an LDPC code to obtain an LDPC coded bit sequence. The transmitter is for transmitting, in an initial transmission, bits from the LDPC coded bit sequence, and for transmitting, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0014] According to another embodiment, an apparatus includes a receiver and a decoder coupled to the receiver. The interface is for receiving a further transmission that is self-decodable independently of an initial transmission that includes bits from an LDPC coded bit sequence, and the decoder is for decoding the further transmission. As in other embodiments, the further transmission includes non-sequential subsets of sequential bits from the LDPC coded bit sequence, and the non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0015] In other apparatus embodiments, an apparatus may include a processor configured to cause the apparatus to perform any of the methods as disclosed herein.

[0016] An apparatus may include a processor and a non-transitory computer readable storage medium that is coupled to the processor and stores programming for execution by the processor.

[0017] A storage medium need not necessarily or only be implemented in or in conjunction with such an apparatus. A computer program product, for example, may be or include a non-transitory computer readable medium storing programming for execution by a processor.

[0018] Programming stored by a computer readable storage medium may include instructions to, or to cause a processor to, perform, implement, support, or enable any of the methods disclosed herein.

[0019] A system is also disclosed, and may include a first communication device and a second communication device. The first communication device is configured to transmit, in an initial transmission, bits from an LDPC coded bit sequence, and to transmit, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence. The second communication device is configured to receive the further transmission, and to decode the further transmission. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0020] The present disclosure encompasses these and other aspects or embodiments.BRIEF DESCRIPTION OF THE DRAWINGS

[0021] For a more complete understanding of the present embodiments, and the advantages thereof, reference is now made, by way of example, to the following descriptions taken in conjunction with the accompanying drawings.

[0022] Fig. 1 is a simplified schematic illustration of a communication system.

[0023] Fig. 2 is a block diagram illustration of the example communication system in Fig. 1.

[0024] Fig. 3 illustrates an example electronic device and examples of base stations.

[0025] Fig. 4 illustrates units or modules in a device.

[0026] Fig. 5 illustrates an example of bit selection for systematic bits and parity check bits for self-decodable RVs in an embodiment.

[0027] Fig. 6 illustrates an example of bit selection for systematic bits, core parity check bits and extended parity check bits for self-decodable RVs in another embodiment.

[0028] Fig. 7 illustrates an example of bit selection for systematic bits, core parity check bits and extended parity check bits for self-decodable RVs according to a further embodiment.

[0029] Fig. 8 illustrates a bit allocation or selection method for core parity check bits at each RV.

[0030] Fig. 9 is a flow diagram illustrating more general example methods according to embodiments.

[0031] Fig. 10 is a block diagram illustrating an apparatus according to an embodiment.DETAILED DESCRIPTION

[0032] For illustrative purposes, specific example embodiments will now be explained in greater detail in conjunction with the figures.

[0033] The embodiments set forth herein represent information sufficient to practice the claimed subject matter and illustrate ways of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those of skill in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

[0034] Referring to Fig. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 comprises a radio access network 120. The radio access network 120 may be a next  generation (e.g., sixth generation, “6G, ” or later) radio access network, or a legacy (e.g., 5G, 4G, 3G or 2G) radio access network. One or more communication electric device (ED) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (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 comprises a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.

[0035] Fig. 2 illustrates an example communication system 100. 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, signaling, and / or text, via broadcast, multicast and 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 a terrestrial communication system and a 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 comprising multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing and faster physical layer link switching between terrestrial networks and non-terrestrial networks.

[0036] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown in Fig. 2, the communication system 100 includes electronic devices (ED) 110a, 110b, 110c, 110d (generically referred to as ED 110) , radio access networks (RANs) 120a, 120b, a 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 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.

[0037] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any 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, the ED 110a may communicate an uplink and / or downlink transmission over a terrestrial air interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b, 110c and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, the ED 110d may communicate an uplink and / or downlink transmission over a non-terrestrial air interface 190c with NT-TRP 172.

[0038] 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) , space division multiple access (SDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , Direct Fourier Transform spread OFDMA (DFT-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.

[0039] The non-terrestrial 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 110 and one or multiple NT-TRPs 172 for multicast transmission.

[0040] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a, 110b, 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 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or the EDs 110a, 110b, 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, 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a, 110b, 110c may communicate via wired communication channels to a service provider or switch (not shown) and to the Internet 150. The PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . The 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) , User Datagram Protocol (UDP) . The EDs 110a, 110b, 110c may be multimode devices capable of operation according to multiple radio access technologies and may incorporate multiple transceivers necessary to support such.

[0041] Fig. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. 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) , mixed reality (MR) , metaverse, digital twin, 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.

[0042] 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 IoT device, wearable devices such as a watch, head mounted equipment, a pair of glasses, an industrial device, or apparatus (e.g., communication module, modem, or chip) in the forgoing devices,  among other possibilities. Future generation EDs 110 may be referred to using other terms. Each base station 170a and 170b is a T-TRP and will, hereafter, be referred to as T-TRP 170. Also shown in Fig. 3, a NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to the T-TRP 170 and / or the 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 of more of: connection availability; and connection necessity.

[0043] 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 204 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 the at least one antenna 204 or by a network interface controller (NIC) . The transceiver may also be 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.

[0044] 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 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by one or more processing unit (s) (e.g., a processor 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.

[0045] 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 through operation as a speaker, a microphone, a keypad, a keyboard, a display or a touch screen, including network interface communications.

[0046] The ED 110 includes the processor 210 for performing operations including those operations related to preparing a transmission for uplink transmission to the NT-TRP 172 and / or the T-TRP 170, those operations related to processing downlink transmissions received from the NT-TRP 172 and / or the T-TRP 170, and those operations related to processing sidelink transmission 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 a reference signal transmitted by the NT-TRP 172 and / or by the T-TRP 170. In some embodiments, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, e.g., beam angle information (BAI) , received from the T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g., initial access) and / or downlink synchronization, such as operations relating 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 a reference signal received from the NT-TRP 172 and / or from the T-TRP 170.

[0047] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or part of the receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.

[0048] The processor 210, the processing components of the transmitter 201 and the processing components of the receiver 203 may each be implemented by the same or different one or more 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 processing components 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) , a graphical processing unit (GPU) , a Central Processing Unit (CPU) or an application-specific integrated circuit (ASIC) .

[0049] 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) , a wireless router, a relay station, a terrestrial node, a terrestrial network device, a terrestrial base station, a base band unit (BBU) , a remote radio unit (RRU) , an active antenna unit (AAU) , a remote radio head (RRH) , a central unit (CU) , a distributed unit (DU) , a positioning node, among other possibilities. The T-TRP 170 may be a macro BS, a pico BS, a relay node, a donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forgoing devices or refer to apparatus (e.g., a communication module, a modem or a chip) in the forgoing devices.

[0050] 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 remote from the equipment that houses the antennas 256 for the T-TRP 170, and may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) sometimes known as front haul, such as 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 that houses the antennas 256 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 the use of coordinated multipoint transmissions.

[0051] 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 256 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 uplink transmission received from the ED 110; preparing a transmission for backhaul transmission to the 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., multiple input multiple output (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, demodulating received symbols and decoding received symbols. The processor 260 may also perform operations relating 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 an 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 the 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) .

[0052] 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. The scheduler 253 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 could 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 processor 260.

[0053] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or part of 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.

[0054] The processor 260, the scheduler 253, the processing components of the transmitter 252 and the processing components of the receiver 254 may each be implemented by the same, or different one of, one or more processors that are configured to execute instructions stored in a memory, e.g., in the memory 258. Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252 and the processing components of the receiver 254 may be implemented using dedicated circuitry, such as a FPGA, a GPU or an ASIC.

[0055] Notably, the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form, such as high altitude platforms, satellite, high altitude platform as international mobile telecommunication base stations and unmanned aerial vehicles, which forms will be discussed hereinafter. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial 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, demodulating received signals 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 the 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.

[0056] 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 part of the receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.

[0057] The processor 276, the processing components of the transmitter 272 and the processing components of the receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g., in the memory 278. Alternatively, some or all of the processor 276, the processing components of the transmitter 272 and the processing components of the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a GPU, a CPU 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.

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

[0059] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to Fig. 4. Fig. 4 illustrates units or modules in a device, such as in the ED 110, in the T-TRP 170 or in the NT-TRP 172. For example, a signal may be transmitted by a transmitting unit or by a transmitting module. A signal may be received by a receiving unit or by a receiving module. A signal may be processed by a processing unit or by a processing module. Other steps may be performed by an artificial intelligence (AI) 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, a CPU or an ASIC. It will be appreciated that where the modules are implemented using software for execution by a processor, for example, the modules 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.

[0060] Additional details regarding the EDs 110, the T-TRP 170 and the NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.

[0061] Having considered communications more generally above, attention will now turn to particular example embodiments.

[0062] The present disclosure encompasses embodiments that provide self-decodable RVs for LDPC codes, such as those standardized in 5G NR, with a good combination of self-decodable ability and IR combining gain.

[0063] In some embodiments, each RV may comprise two portions, such as respective portions including systematic bits and parity check bits. Although the present disclosure refers to systematic bits, parity check bits, core bits, core parity check bits, and extended parity check bits, portions of an RV may be referred to more generally, as parts, subsets, sets, segments, or blocks of bits, for example. Systematic bits and parity check bits are examples of bits that may be included in a mother codeword and / or an RV, but embodiments are not restricted only to RVs that include specifically systematic bits, parity check bits, and / or other bits that are referred to using these or any other specific names or designations. For example, systematic bits may also be known as information bits, data bits, payload bits, user bits, and the like. For another example, parity check bits may also be known as parity bits, check bits, redundancy bits, and the like.

[0064] Bit positions or indices / indexes may be used to specify or determine bits that are to be included in an RV, such as the specific portion of systematic bits for an RV, and can be pre-defined in some embodiments.

[0065] An RV may also include other bits, such as parity check bits. Parity check bits of a mother codeword can be written into a circular buffer, for example, and the portion of parity check bits for each RV can be determined based on a starting position (which may also or instead be referred to as a starting point for example) in the circular buffer and the number of parity check bits to be included. The starting position of parity check bits of an RV can be defined based on an ending position (which may also or instead be referred to as an ending point for example) of parity check bits in the circular buffer in a previous RV. Alternatively, the starting position can be defined as a fixed position in the circular buffer for each RV.

[0066] According to another embodiment, each RV may comprise three portions, such as respective portions including systematic bits, core parity check bits and extended parity check bits.

[0067] Bit positions or indices / indexes may be used to specify or determine bits that are to be included in an RV, such as the specific portions of systematic bits and core parity check bits for each RV, and can be pre-defined.

[0068] An RV may also include other bits, such as extended parity check bits of a mother codeword, for example. In some embodiments, these bits can be written into a circular buffer and the portion of extended parity check bits for each RV can be determined based on a starting position in the circular buffer and the number of extended parity check bits to be included. The starting position of extended parity check bits of an RV can be defined based on an ending position of extended parity check bits in the circular buffer in a previous RV. Alternatively, the starting position can be defined as a fixed point or position in the circular buffer for each RV.

[0069] In a further embodiment, in which each RV may comprise two portions, those portions may include core bits and extended parity check bits.

[0070] Core bits of a mother codeword can be written into a circular buffer, for example, and the portion of core bits for each RV can be specified or determined based on a starting position in the circular buffer and the number of selected core bits to be included in the RV. The starting position and number of selected core bits can be fixed and defined for each RV and each LDPC base graph. In some embodiments, one or more bits, such as the coded bits associated with the first two systematic variable nodes of an LDPC graph or the first two columns of an LDPC parity check matrix for example, may be punctured and are not included in the mother codeword.

[0071] Extended parity check bits of the mother codeword can similarly be written into a circular buffer and the portion of extended parity check bits for each RV can be specified or determined based on a starting position in the circular buffer and a number of extended parity check bits to be included. The starting position of extended parity check bits of an RV can be defined based on an ending position of extended parity check bits in the circular buffer in a previous RV. Alternatively, the starting position of extended parity check bits can be defined as a fixed point or position in the circular buffer for each RV.

[0072] These three embodiments (two portions including systematic bits and parity check bits; three portions including systematic bits, core parity check bits and extended parity  check bits; two portions including core bits and extended parity check bits) are described in further detail herein as illustrative examples.

[0073] General procedure to generate self-decodable RVs

[0074] In some applications, after initial transmission of a codeword, it may be preferable for a transmitter to perform a retransmission for that codeword such that the retransmission alone can be separately decoded. (i.e., without the need to combine or join the retransmission with the initial transmission during decoding) . The ability to decode the retransmission on its own is especially useful, for example, if the initial transmission is erased in the channel (i.e., the initial transmission is not received) or suffers high interference.

[0075] In an embodiment, the RV0 in NR LDPC codes is used as a basis because it has the highest self-decodability. A new set of RVs, such as {RV1, RV2, RV3} , different from the RVs in 5G NR, are created to offer a good combination of self-decodability at high code rate and IR combining gain. Hereafter, this disclosure uses the terms RV1, RV2 and RV3 to refer to the proposed RVs according to embodiments, rather than those in 5G NR. The terms NR RV1, NR RV2 and NR RV3 are used to refer to the RV1, RV2 and RV3 in 5G NR LDPC codes. RV0 from NR may be used in some embodiments, and accordingly the term NR RV0 may also refer to RV0 used in the initial transmission in disclosed embodiments.

[0076] Therefore, according to embodiments disclosed herein, an initial transmission may be consistent with NR RV0, and each subsequent retransmission includes non-sequential or non-consecutive subsets of mother code bits of a mother codeword. For each subsequent RV, the bits within each subset are in a sequential or consecutive order (for example in the same order as in the mother codeword, in the initial transmission, or in another order such as ascending order of variable node degree) , but the bits are not sequential or consecutive between subsets. These and other features are described in further detail herein.

[0077] Considering the first embodiment above, each RV comprises two portions, such as a first portion including systematic bits and a second portion including parity check bits. Thus, in general each RV can include systematic bits and parity check bits. To improve the self-decodability of a RV (RV1, RV2 or RV3) , each RV includes a portion of systematic bits of NR RV0. Any of various methods may be used to specify the bit positions or indices / indexes to determine the portion of systematic bits of NR RV0 for each RV (RV1, RV2 or RV3) .

[0078] For example, one possible option is to select a portion or fraction, denoted for ease of reference as F (0<F≤1) , of contiguous systematic bits of NR RV0 that are located on or at the ending-most (i.e., last or highest bit index) positions in the bit sequence. The fraction F can be identical for both LDPC base graph 1 (BG1) and LDPC base graph 2 (BG2) as well as for each RV, for a simple implementation. BG1 and BG2 refer to LDPC base graphs as specified for 5G NR.

[0079] Another possible option is to select a fraction F of contiguous systematic bits of NR RV0 that are located on the or at beginning-most (i.e., first or lowest bit index) positions in the bit sequence.

[0080] Some embodiments may involve re-ordering the systematic bits of NR RV0 in an ascending order of variable node degrees into a bit sequence, and then selecting the first fraction F of contiguous bits of the reordered bit sequence which have fewer or the fewest variable node degrees.

[0081] Other options are also possible. For example, embodiments are not limited to end-most and beginning-most positions. Intermediate or middle positions that do not include an end-most or beginning-most position may be used. Pre-set starting and / or ending positions are another option.

[0082] Beside the systematic bits in this example, the remaining bits of each RV are parity check bits, which are a subset or portion of parity check bits of a mother codeword. Here, the parity check bits of the mother codeword include both all core parity check bits and all extended parity check bits of the mother codeword. All parity check bits of the mother codeword are first written into a circular buffer in some embodiments. Based on a starting position and a number of bits in a parity check portion assigned to each RV, the bits to be included in the portion of parity check bits of each RV can be determined. The number of parity check bits in each RV can be calculated, for example, by subtracting the number of systematic bits from the number of coded bits assigned for each RV. Bit selection may start from a starting position, and may wrap around and restart from the beginning of the circular buffer once the last bit in the parity check bit sequence of the mother codeword is reached.

[0083] One possible option to determine the starting position in the circular buffer for each RV involves starting from NR RV0, and the starting position of an RV is determined as  the next position in the circular buffer right after an ending position in the circular buffer of an RV that is sent in a previous transmission.

[0084] According to another option, the starting position for each RV can be fixed in the circular buffer, for a simple implementation.

[0085] Fig. 5 illustrates an example of selecting portions of systematic bits and parity check bits for self-decodable RVs, including RV1, RV2 and RV3. A mother codeword is shown at the top, and includes systematic bits 502 and parity check bits 504. In this example, shaded parts of the RVs represent the bits to be included in the RVs, and blank parts represent bits that are not included in the RVs. RV1 and RV3 include the fraction 0.8 of systematic bits 512 of NR RV0 that are located in the beginning-most (i.e., first) positions in the bit sequence, as shown at 522, 542, respectively. Other systematic bits are not included in RV1 or RV3, as shown at 524, 544. RV2 includes the fraction 0.8 of systematic bits 512 of NR RV0 that are located in the ending-most (i.e., last) positions in the bit sequence, as shown at 532. Other systematic bits are not included in RV2, as shown at 534. Filler bits 514 represent padding, and are not included in the initial transmission NR RV0 or any of the other RVs.

[0086] The starting position of the parity check bits 516 of the initial transmission NR RV0 is a first position, such as the first position or beginning position of a circular buffer. 518 represents other mother codeword parity check bits that are not included in NR RV0, and are after the ending position of the NR RV0 parity check bits 516.

[0087] The starting position of parity check bits of each subsequent RV is the position right after (immediately following) the ending position of a previous RV.

[0088] The starting position of the parity check bits 528 of RV1 is the position immediately following the ending position of the parity check bits 516 of the preceding RV, which is NR RV0. Other mother codeword parity check bits that are not included in RV1 are indicated at 526, 529. The bits 526 are before the starting position of the RV1 parity check bits 528, and are in effect skipped in selecting parity check bits 528 for RV1. The bits 529 are after the ending position of the RV1 parity check bits 528 and also are not selected for RV1.

[0089] For RV2, the starting position of the parity check bits 539 is the position immediately following the ending position of the parity check bits 528 of the preceding RV, which is RV1. In this example, the parity check bits of RV2 exceed the last bit of parity  check bits 504 of the mother codeword, and thus bit selection and the parity check bits for RV2 wrap around and restart from the beginning of the parity check bits 504 of the mother codeword at 536. In other words, the parity check bits of RV2 are circularly shifted once they reach the last bits of the parity check bits 504 of the mother codeword.

[0090] Other mother codeword parity check bits that are not included in RV2 are indicated at 538. The bits 538 are before the starting position of the RV2 parity check bits 539, and are in effect skipped in selecting parity check bits 539 for RV2. The bits 538 are after the ending position of the RV1 parity check bits 536 and also are not selected for RV2.

[0091] Finally, in the example shown the starting position of the parity check bits 542 of RV3 is the position immediately following the ending position of the parity check bits 536 of the preceding RV, which is RV2. Other mother codeword parity check bits that are not included in RV3 are indicated at 546, 549. The bits 546 are before the starting position of the RV3 parity check bits 548, and are in effect skipped in selecting parity check bits 548 for RV3. The bits 549 are after the ending position of the RV3 parity check bits 548 and also are not selected for RV3.

[0092] According to the second embodiment above, each RV comprises three portions, such as a first portion including systematic bits, a second portion including core parity check bits, and a third portion including extended parity check bits. In the preceding example and selecting parity check bits for each RV as shown in Fig. 5, it is possible that an RV might not include any core parity check bits. To further improve self-decodable ability, each RV (RV1, RV2 and RV3 for example) can include a portion of systematic bits of NR RV0, a portion of core parity check bits of the mother codeword, and a portion of extended parity check bits of the mother codeword. Here, in the context of 5G NR LDPC coding as an example, mother codeword refers to the bit sequence after LDPC encoding by the lifted LDPC base graph (i.e., before rate matching) .

[0093] Regarding systematic bits, based on the methods for selecting a portion of systematic bits of NR RV0 previously discussed with reference to the first embodiment, there are several possible combinations of the selected systematic bits at or in each RV. For example, RV1 and RV3 can include the fraction F of contiguous systematic bits of NR RV0 that are located on the ending-most (i.e., last) positions in the bit sequence, and RV2 can  include the fraction F of contiguous systematic bits of NR RV0 that are located on the beginning-most (i.e., first) positions in the bit sequence.

[0094] According to another possible option, RV1 and RV3 can include the fraction F of contiguous systematic bits of NR RV0 that are located on the beginning-most (i.e., first) positions in the bit sequence, and RV2 can include the fraction F of contiguous systematic bits of NR RV0 that are located on the ending-most (i.e., last) positions in the bit sequence.

[0095] Re-ordering the systematic bits of NR RV0 in an ascending order of variable node degrees into a bit sequence is a further possible option. RV1 and RV3 can include the fraction F of contiguous bits of such re-ordered bit sequence that are located on the beginning-most (i.e., first) positions in the bit sequence, and RV2 can include the fraction F of contiguous bits of such re-ordered bit sequence that are located on the ending-most (i.e., last) positions in the bit sequence.

[0096] Other options are also possible, and examples are provided elsewhere herein.

[0097] Regarding core parity check bits, in both LDPC BG1 and BG2, there are four variable nodes associated with core parity check bits of a mother codeword, and these four variable notes are referred to herein as core parity check nodes.

[0098] One possible approach or method to select the portion of core parity check bits of a mother codeword to include in RVs (RV1, RV2 and RV3) is as follows: puncture (i.e., do not include in the RVs) some bits associated with 3rd and 4th core parity check nodes. In this method, there are two ways to select the core parity check bits for each RV. One is to select the bits associated with the 1st core parity check node to include in the portions of core parity check bits of RV1 and RV3, in which case RV1 and RV3 have the same core parity check bits. Then the bits associated with the 2nd core parity check node are selected to include in the portion of core parity check bits of RV2. The bits associated with the 3rd and 4th core parity check nodes of the mother codeword are punctured in the sense that they are not included in any of the RVs. Another way to select the core parity check bits for each RV is to select the beginning-most (i.e., first) fraction of 1 / 3 of core parity check bits of the mother codeword to be included in RV1 and RV3, in which case as above RV1 and RV3 have the same core parity check bits. RV2 can include the next fraction of 1 / 3 of the core parity check bits of the mother codeword. It follows that the last fraction of 1 / 3 of core parity check bits of mother codeword is punctured in the sense that this fraction is not included in any of the RVs.

[0099] Another possible approach or method to select the portion of core parity check bits of a mother codeword to include in RVs (RV1, RV2 and RV3) is as follows: Select a separate portion of core parity check bits of the mother codeword such that after RV1, RV2 and RV3 are all transmitted, all core parity check bits of the mother codeword are sent. In this method, two ways to select the core parity check bits for each RV include the following: each RV can include contiguous bits associated with a separate fraction of 1 / 3 of core parity check bits of the mother codeword; and the bit sequence of core parity check bits of the mother codeword can be evenly mapped to each RV so that each RV will include the bits from all four core parity check nodes of the mother codeword.

[0100] Regarding extended parity check bits, the extended parity check bits of the mother codeword are first written into a circular buffer in some embodiments. Based on a starting position and a number of bits in an extended parity check portion assigned to each RV, the bits to be included in the portion of extended parity check bits of each RV may be determined. Bit selection starts from a starting position, and may wrap around and restart, from the beginning of the buffer in some embodiments, once the last bit in the extended parity check bit sequence of the mother codeword is reached.

[0101] The following examples provide two ways to determine the starting position in the circular buffer for each RV. Starting from NR RV0, the starting position of an RV is determined as the next position in the circular buffer right after (immediately following) the ending position of RV sent in a previous transmission. As another example, the starting position for each RV can be fixed in the circular buffer, for a simple implementation.

[0102] Examples of bit selection for the proposed self-decodable RVs are now provided with reference to the drawings.

[0103] Fig. 6 illustrates an example of bit selection for the proposed self-decodable RVs (RV1, RV2 and RV3) . In this example, as in Fig. 5, shaded parts of the RVs also represent the bits to be included in the RVs, and blank parts represent bits that are not included in the RVs. A mother codeword is shown at the top, and includes systematic bits 602, core parity check bits 604, and extended parity check bits 606. RV1 and RV3 include the fraction 0.8 of systematic bits 602 of NR RV0 that are located in the ending-most (i.e., last) positions in the bit sequence (as shown at 622, 642, respectively) , and the fraction 1 / 3 of the core parity check bits 604 of the mother codeword that are located in the beginning-most (i.e., first)  positions in the bit sequence (as shown at 624, 644, respectively) . As a result, RV1 and RV3 have the same portions of systematic bits and core parity check bits. Other systematic bits and core parity check bits are not included in RV1 or RV3, as shown by the blank portions next to the shaded portions of systematic bits and core parity check bits for RV1 and RV3. RV2 includes the fraction 0.8 of systematic bits 612 of NR RV0 that are located in the beginning-most (i.e., first) positions in the bit sequence (as shown at 632) , and the next fraction 1 / 3 of the core parity check bits 604 of mother codeword that are located in the beginning-most (i.e., first) positions in the bit sequence (as shown at 634) . Other systematic bits and core parity code bits are not included in RV2, as shown by the blank portions next to the shaded portions of systematic bits and core parity check bits for RV2. As a result, the last fraction 1 / 3 of the core parity check bits of the mother codeword is punctured in the sense that this fraction of the core parity check bits of the mother codeword are not included in any of the RVs RV1, RV2, RV3.

[0104] Selection of extended parity check bits in Fig. 6 is consistent with the selection of parity check bits in Fig. 5, except that in Fig. 6 starting position-based parity check bit selection is for extended parity check bits. The starting position of the extended parity check bits 618 of the initial transmission NR RV0 is a first position, such as the first position or beginning position of a circular buffer, and 619 represents other mother codeword extended parity check bits that are after the ending position of the NR RV0 parity check bits 618 and are not included in NR RV0.

[0105] The extended parity check bits of each subsequent RV are determined based on the ending position of a previous RV, as shown.

[0106] The starting position of the extended parity check bits 628 of RV1 is the position immediately following the ending position of the extended parity check bits 618 of the preceding RV, which is NR RV0, and other mother codeword extended parity check bits that are not included in RV1 are indicated at 627 (these bits are before the starting position of the RV1 parity check bits 628, and are in effect skipped in selecting parity check bits for RV1) and 629 (these bits are after the ending position of the RV1 parity check bits 628 and also are not selected for RV1) . Similarly, for RV2, the starting position of the extended parity check bits 638 is the position immediately following the ending position of the extended parity check bits 628 of the preceding RV (RV1) , and other mother codeword extended parity check bits that are not included in RV2 are indicated at 636 (these bits are before the starting  position of the RV2 parity check bits 638, and are in effect skipped in selecting parity check bits for RV2) and 639 (these bits are after the ending position of the RV1 parity check bits 638 and also are not selected for RV2) . Finally, in the example shown the starting position of the extended parity check bits 649 of RV3 is the position immediately following the ending position of the parity check bits 638 of the preceding RV (RV2) , and other mother codeword extended parity check bits that are not included in RV3 are indicated at 648. The bits 648 are before the starting position of the RV3 extended parity check bits 649 and after the ending position of the RV3 extended parity check bits 646, and are in effect skipped in selecting extended parity check bits 649 for RV3. In this example, the extended parity check bits of RV3 exceed the last bit of the extended parity check bits 606 of the mother codeword, and thus bit selection and the extended parity check bits for RV3 wrap around and restart from the beginning of the extended parity check bits 504 of the mother codeword at 646. In other words, the extended parity check bits of RV3 are circularly shifted once they reach the last bits of the extended parity check bits 606 of the mother codeword.

[0107] Fig. 7 illustrates another example of bit selection for the proposed self-decodable RVs (RV1, RV2 and RV3) . In this example, as in Figs. 5 and 6, shaded parts also represent the bits to be included in the RVs and blank parts represent bits that are not included in the RVs. Fig. 7 is substantially the same as Fig. 6, except that the systematic bits of NR RV0 are first re-ordered into a bit sequence with ascending order of variable node degree. Both RV1 and RV3 include the fraction 0.8 of bits in the re-ordered bit sequence 714 that are located in the beginning-most (i.e., first) positions in the bit sequence, as shown at 722 and 742, respectively. RV2 includes the fraction 0.8 of the bits in the re-ordered sequence 714 that are located in the ending-most (i.e., last) positions in the bit sequence. Each RV includes a separate fraction of 1 / 3 of core parity check bits of the mother codeword, as shown at 724, 734, 744. As a result, after transmissions of RV1, RV2 and RV3, all core parity check bits 604 of the mother codeword are transmitted. Similar to Fig. 5, the extended parity check bits of each RV after NR RV0 are determined based on the ending position of a previous RV.

[0108] Consistent with the second embodiment, self-decodable RVs of 5G NR LDPC codes that keep NR RV0, select specific fractions of systematic and core parity check bits for each subsequent RV (based on variable node selection or puncturing in some examples) , and select extended parity check bits for each subsequent RV from extended parity check bits of a mother codeword written into a circular buffer in some examples.

[0109] In the third embodiment above, each RV consists of core bits and extended parity check bits, or more generally each RV may consist of a portion of core bits and extended parity check bits. Here, the core bits include systematic bits and core parity check bits.

[0110] For example, the core bits of a mother codeword, which include all the systematic bits and core parity check bits of the mother codeword, can first be written into a circular buffer. The portion of core bits for each RV can then be contiguous bits, that are selected from the circular buffer in some embodiments, based on specific respective starting positions and a number of selected core bits that are assigned to each RV. In the process of selecting the core bits, in the circular buffer for example, if filler bits are selected, then they will be ignored (i.e., they will not be included in the RV) .

[0111] Other options for core bit selection include beginning-most  / ending-most selection, or re-ordering based selection. These and other bit selection approaches are described by way of example for systematic bits, but may be applied to core bits including a combination of systematic bits and core parity check bits.

[0112] After selecting the core bits, the remaining bits in each RV are extended parity check bits. The method to select the portion of extended parity check bits can follow a similar procedure represented in connection with the second embodiment above.

[0113] Detailed procedure and design

[0114] Features of embodiments are described generally above, and more detailed procedure and design examples are provided below.

[0115] Suppose that the bit sequence input of a given code block (CB) is denoted by c0, c1, c2, …, cK-1, where K denotes the number of bits to encode. Further, K=22Zc for LDPC base graph 1 (BG1) and K=10Zc for LDPC base graph 2 (BG2) . Among such K bits, c0, c1, c2, …, cK′-1 are the actual information bits, where K′ (K′≤K) denote the number of information or systematic bits. Additionally, the bits cK′, cK′+1, cK′+2, …, cK-1 denote the filler bits, which are typically assigned as <NULL>’s in the bit selection of rate matching in 5G NR or 0’s in the decoder.

[0116] After encoding by LDPC code, the bits are denoted as d0, d1, d2, …, dN-1, where N denotes the length of a mother codeword. Here, the bits d0, d1, d2, …, dN-1 are also  referred as the mother codeword. Additionally, N=66Zc for LDPC BG1 and N=50Zc for LDPC BG2 with Zc being the lifting size. In the bit selection of rate matching in 5G NR, the bits in first two variable columns or variable nodes are always punctured (i.e., not transmitted) . Using the notation introduced above, bits are always punctured. Note that, since LDPC is a systematic code, the remaining bits  would be included in the encoded bits d0, d1, d2, …, dN-1. Without the loss of generality, we can assume that,  where i=0, 1, 2, …, K-2Zc-1, i.e., the systematic bits of the mother codeword are the beginning-most (i.e., first) bits.

[0117] For both LDPC BG1 and BG2, the bits d0, d1, d2, …, dN-1 of a mother codeword comprise three disjoint portions, which are often referred to as systematic bits, core parity check bits, and extended parity check bits.

[0118] Systematic bits, in the notation introduced above, are the bits denoted as  where are the actual information bits and  are the filler bits.

[0119] Regarding core parity check bits, for both LDPC BG1 and BG2, core parity check bits are associated with four variable nodes. It follows that the core parity check bits, in the notation introduced above, can be denoted as

[0120] Extended parity check bits, in the notation introduced above, are the bits denoted as which are the remaining bits after excluding the systematic bits and core parity check bits from coded bits d0, d1, d2, …, dN-1 of the mother codeword.

[0121] For a code block (CB) , suppose that the input bit sequence to rate matching is d0, d1, d2, …, dN-1. The output bit sequence after bit selection of rate matching is denoted as e0, e1, e2, …, eE-1 where E denotes the number of coded bits after bit selection of rate matching. Non-selected bits are punctured or otherwise not included for transmission or output after rate matching.

[0122] Details are provided below by way of example for the first embodiment above, in which each RV comprises two portions, which respectively include systematic bits and parity check bits.

[0123] For a proposed RV (either RV1, RV2 or RV3) , select a subset of systematic bits  to be included in the output bit sequence e0, e1, e2, …, eE-1. Given a fraction or ratio F (0<F≤1) , and denoting L=K′-2Zc for a concise representation, the systematic bit portion having a number of bits can be selected in any of various ways Here,  refers to the ceiling operation of x, i.e., the smallest integer number that is larger than or equal to x. Alternatively, the number of bits in the selected subset can be where  refers to the floor operation of x, i.e., the largest integer number that is smaller than or equal to x.

[0124] In one example of selecting a subset of bits, the selected portion can be contiguous bits located in the ending-most (i.e., last) positions of the bit sequence d0, d1, d2, …, dL-1 (recall that L=K′-2Zc) . As a result, the systematic bits of the selected portion in this example are Moreover, without the loss of generality,  for denotes the systematic bits of the output sequence e0, e1, e2, …, eE-1.

[0125] In another example, the selected portion can be contiguous bits located in the beginning-most (i.e., first) positions of the bit sequence d0, d1, d2, …, dL-1. As a result, the bits of the selected portion in this example are Without the loss of generality, ek= dk, for denotes the systematic bits of the output sequence e0, e1, e2, …, eE-1.

[0126] In a further example, the bits of the selected subset can be associated with the systematic variable nodes that have less (fewer) degrees in the Tanner graph of LDPC codes, i.e., bits associated with systematic variable columns that have less (lower) weights (i.e., total numbers of 1’s in the column) in the parity check matrix (PCM) of LDPC codes. In belief-propagation decoding for LDPC codes, a systematic bit having higher variable node degree is more likely to be correctly decoded because it receives more information from adjacent check nodes. Systematic bits d0, d1, d2, …, dL-1 can be re-ordered with an ascending order of variable node degrees into a re-ordered bit sequence, and then the first bits which have the less (fewer) variable node degrees can be selected. Specifically, re-ordering the bits  d0, d1, d2, …, dL-1 may obtain or generate the re-ordered bit sequence w0, w1, w2, …, wL-1 having ascending order of variable node degrees. The selected portion can be  Then, without the loss of generality assign ek= wk, for as the systematic bits of the output sequence e0, e1, e2, …, eE-1.

[0127] For a simple implementation, the fraction F and equivalently the number of selected systematic bits can be identical for each RV. This may ensure that each RV will have an approximately similar self-decodable ability. For each LDPC base graph, F can be determined based on simulation to obtain a good combination of self-decodable ability at high code rate and IR combining gain for each RV. Increasing F would improve the self-decodable ability yet reduce the IR combining gain because less (fewer) parity check bits are retransmitted. For example, F can be selected so that each RV has a comparable self-decodable ability with NR RV3. Alternatively, fraction F and equivalently the number of selected systematic bits can be different for each RV. This, however, may yield a different self-decodable ability for each RV.

[0128] As mentioned elsewhere herein, beside the systematic bits, the remaining bits of each RV in some embodiments are the parity check bits, which are bits from a portion or subset of all parity check bits of a mother codeword. Recall that parity check bits in the first two-portion embodiment may include both core parity check bits and extended parity check bits. As a result, the bit sequence of parity check bits of the mother codeword can be denoted as Such a bit sequence is first written in a circular buffer in some embodiments. Although a circular shift feature or effect to wrap around for bit selection when the end of a part of a mother codeword (parity check bits in this example) is reached may be provided in other ways, and accordingly a circular buffer as referenced herein is one example of how this circular shift feature or effect may be implemented in some embodiments. A circular buffer is described herein as a convenient example, but embodiments are not in any way limited to circular buffers.

[0129] The length of the circular buffer, denoted as Mcp, is Mcp=N-K+2Zc for the notation introduced above. For an RV (RV1, RV2 or RV3) , let s0 be the starting position for selecting parity check bits for that RV. The bit selection starts from the s0 position, and wraps around and restarts from the beginning of the buffer once it reaches the last bit in parity check bit sequence of the mother codeword. Recall that the  output bit sequence after bit selection of rate matching is denoted as e0, e1, e2, …, eE-1 where E denotes the number of coded bits after bit selection of rate matching. The number of parity check bits in each RV is with being the number of systematic bits in the RV. As a result, the parity check bit sequence of each RV may be denoted  It follows that the bits can be defined as follows: k=0; k=k+1; end while

[0130] Here, mod refers to the modulo operation. Further, s0=0 for NR RV0. The starting position s0 for each RV (RV1, RV2 or RV3) can be determined in different ways, including the following two example methods.

[0131] With a transmission order is NR RV0, RV1, RV2 and RV3, the starting position s0 of the portion of parity check bits in an RV (RV1, RV2 or RV3) can be the next position after (immediately following) the ending position of parity check bits in the RV sent in the previous transmission, which may be referred to as the immediately preceding or previous RV. Specifically, if MP, RVj, j=0, 1, 2, denotes the length of the portion of parity check bits in NR RV0, RV1 and RV2, then the starting position s0 for RVi, i=1, 2, 3, is given by where Mcp is the length of the circular buffer.

[0132] Alternatively, the starting position s0 for each RV (RV1, RV2 or RV3) can be defined, in a wireless standard or specification for example, for a simple implementation. For example, given that Mcp is the length of the circular buffer, such starting position for each RV in a circular buffer can be defined in a table such as Table 1 below.

[0133] Table 1: Starting Positions for RV Parity Check Bits

[0134] In the above table,  refers to the floor operation of x. Alternatively, the ceiling operation can also be used.

[0135] These methods are examples of how starting points may be obtained.

[0136] The following details are provided by way of example for the second embodiment above, in which each RV comprises three portions, which respectively include systematic bits, core parity check bits and extended parity check bits.

[0137] To improve the self-decodable ability, the proposed RVs (RV1, RV2 and RV3) may include three disjoint portions including systematic bits, core parity check bits and extended parity check bits.

[0138] Regarding the bit selection for a portion of systematic bits, the bit selection for the portion of systematic bits for each RV can follow the procedure represented above for the first embodiment. This may be referred to as selecting a portion or subset of systematic bits to be included in each RV.

[0139] In one example, the portion of systematic bits in RV1 and RV3 can be contiguous bits located in the ending-most (i.e., last) positions of the bit sequence d0, d1, d2, …, dL-1 (recall that L=K′-2Zc) . Specifically, the bit sequence in RV1 and RV3 is  in this example. The portion of systematic bits in RV2 can be contiguous bits located in the beginning-most (i.e., first) positions of the bit sequence d0, d1, d2, …, dL-1. Specifically, the systematic bit sequence in RV2 is in this example.

[0140] Alternatively, the portion of systematic bits in RV1 and RV3 can be can be contiguous bits located in the beginning-most (i.e., first) positions of the bit sequence d0, d1, d2, …, dL-1, while the portion of systematic bits in RV2 can be can be contiguous bits located in the ending-most (i.e., last) positions of the bit sequence d0, d1, d2, …, dL-1.

[0141] Selection of other subsets of contiguous bits are also possible, and embodiments are not limited to selecting only beginning-most or ending-most bits.

[0142] In another example, the bits d0, d1, d2, …, dL-1 are first re-ordered to get or obtain a bit sequence w0, w1, w2, …, wL-1 having ascending order of variable node degrees. The portion of systematic bits in RV1 and RV3 can be contiguous bits located in the beginning-most (i.e., first)  positions of the bit sequence w0, w1, w2, …, wL-1. Specifically, the portion of systematic bits in RV1 and RV3 is in this example. The portion of systematic bits in RV2 can be contiguous bits located in the ending-most (i.e., last)  positions of the bit sequence w0, w1, w2, …, wL-1. Specifically, the portion of systematic bits in RV1 and RV3 is in this example.

[0143] Selection of other subsets of bits from a re-ordered sequence are also possible, and embodiments are not limited to selecting only beginning-most or ending-most bits.

[0144] Regarding the bit selection for the portion of an RV that includes core parity check bits, if the number of bits in the portion of systematic bits is fixed, then increasing the number of bits in the portion of core parity check bits in each RV would increase the self-decodability, yet reduce the IR combining gain (due to decreasing number of extended parity check bits) , and vice versa (decreasing the number of bits in the portion of core parity check bits in each RV would reduce the self-decodability, yet increase the IR gain due to increasing number of extended parity check bits) . Without the loss of generality, consider an example in which NR RV0 is sent in initial transmission, and the order of retransmissions is RV1, RV2 and RV3. Two examples of ways to select the bits in the portion of core parity check bits for RV1, RV2 and RV3 are provided below.

[0145] Some core parity check bits, such as those associated with 3rd and 4th core parity check columns or core parity check nodes, can in effect be punctured, i.e., they are not included in any of the proposed RVs (RV1, RV2 or RV3) .

[0146] In one example, RV1 and RV2 include the core parity check bits associated with 1st and 2nd core parity check columns or core parity check nodes, respectively, and RV3 includes the core parity check bits of 1st core parity check column or core parity check node (the bits of RV1 and RV3 are identical in this example) . This means that all bits associated with 3rd and 4th core parity check columns or core parity check nodes are punctured, in the  sense that they are not included in any RV. Specifically, in this example, the bit sequence in the portion of parity check bits for RV1 or RV3 is and the bit sequence in the portion of parity check bits for RV2 is  Also, the bit sequence is punctured, in that bits in this sequence are not included in any RV.

[0147] In another example, RV1 or RV3 may include the beginning-most (i.e., first) fraction of 1 / 3 of core parity check bits. Specifically, the bit sequence in the portion of parity check bits for RV1 or RV3 can be RV2 can include the next fraction of 1 / 3 of core parity check bits, i.e., the bit sequence in the portion of parity check bits for RV1 or RV3 can be  Also, the remaining fraction of core parity check bits is punctured, i.e., the bit sequence  is punctured and is not included in any RV.

[0148] Each RV (RV1, RV2 or RV3) may include a separate portion of core parity check bits such that after RV1, RV2 and RV3 are all transmitted, all core parity check bits are sent.

[0149] In one example, each RV can (approximately) include contiguous bits associated with a separate fraction of 1 / 3 of core parity check bits. Specifically, in this example the bit sequence for RV1 is the bit sequence for RV2 is and the bit sequence for RV3 is

[0150] In another example, the bits associated with each core parity check column or core parity check node can be evenly assigned for each RV such that each RV would have a similar number of bits from each core parity check column or core parity check node. Specifically, the i-th bit of bit sequence of core parity check bits is assigned to the j-th RV (j=1, 2, 3) if (i mod 3) +1=j, where mod refers to the modulo operation. Such a bit allocation or selection procedure is illustrated in Fig. 8.

[0151] Regarding the bit selection for the portion or subset of extended parity check bits for an RV, after the bit selection for the portions of systematic and core parity check bits, the  remaining bits in an RV are assigned to extended parity check bits. Recall that the output bit sequence after bit selection of rate matching is denoted as e0, e1, e2, …, eE-1 where E denotes the number of coded bits after bit selection of rate matching. Let NS, NCP, and NEP denote the number of bits in the portions of systematic bits, core parity check bits and extended parity check bits for an RV (RV1, RV2 or RV3) . After the bit selection for the portions of systematic bits and core parity check bits, the number of bits in the portion of an RV that includes extended parity check bits is given by NEP=E-NS-NCP. In addition, the first NS+ NCP bits in the output bit sequence e0, e1, e2, …, eE-1 of each RV correspond to the portions of systematic and core parity check bits. As a result, the portion of extended parity check bits is

[0152] Details of procedures to select NEP bits from the bit sequence  of extended parity check bits of a mother codeword described by way of example below.

[0153] The extended parity check bit sequence of the mother codeword is first written in a circular buffer in some embodiments. Although a circular shift feature or effect to wrap around for bit selection when the end of a part of a mother codeword (extended parity check bits in this example) is reached may be provided in other ways, and accordingly a circular buffer as referenced herein is one example of how this circular shift feature or effect may be implemented in some embodiments. A circular buffer is described herein as a convenient example, but extended parity check bit embodiments and other embodiments are not in any way limited to circular buffers.

[0154] The length of the circular buffer, denoted as Ncp for the extended parity check bit notation introduced above, is identical to the number of extended parity check bits of the mother codeword, i.e., the length of the circular buffer is Ncp=N-K+2Zc. For an RV (RV1, RV2 or RV3) , let k0 be the starting position for selecting extended parity check bit for that RV. The bit selection starts from the k0 position, and wraps around and restarts from the beginning of the buffer once it reaches the last bit in extended parity check bit sequence  of the mother codeword. Specifically, the extended parity check sequence may be defined as follows: k=0; while k<NEP k=k+1; end while

[0155] Note that k0=0 for NR RV0. The starting position k0 for each RV (RV1, RV2 or RV3) can be determined in different ways, including the following two example methods.

[0156] With a transmission order is NR RV0, RV1, RV2 and RV3, the starting position k0 of the portion of extended parity check bits in an RV (RV1, RV2 or RV3) can be the next position after (immediately following) the ending position of the RV sent in the previous transmission. Specifically, if NEP, RVj, j=0, 1, 2, denotes the length of the portion of extended parity check bits in NR RV0, RV1 and RV2, then the starting position k0 for RVi, i=1, 2, 3, is given by where Ncp is the length of the circular buffer.

[0157] Alternatively, the starting position of each RV (RV1, RV2 or RV3) can be defined, in a wireless standard or specification for example, for a simple implementation. For example, given that Ncp is the length of the circular buffer, such starting position for each RV can be defined as shown in Table 2 below.

[0158] Table 2: Starting Positions for RV Extended Parity Check Bits

[0159] In the above table, recall that refers to the floor operation of x. Alternatively, the ceiling operation can also be used.

[0160] These methods are examples of how starting points for selecting extended parity check bits may be obtained.

[0161] Regarding the third embodiment above, in which each RV comprises core bits and extended parity check bits, the following details are provided by way of example.

[0162] In the third embodiment, each RV comprises a portion or subset of core bits and a portion or subset of extended parity check bits, and the portions or subsets are selected from the core bits and the extended parity check bits of a mother codeword.

[0163] The core bit sequence of the mother codeword may first be written in a circular buffer, but as in other embodiments a circular buffer is not the only way to implement or support a circular shift or wrap around feature in bit selection. The length of the circular buffer, denoted as Lcp, is identical to the number of core bits of the mother codeword, i.e., the length of the circular buffer is Lcp=K+2Zc in this example. For an RV (RV1, RV2 or RV3) , let l0 be the starting position for selection of core bits for that RV. The bit selection starts from l0 position, and wraps around and restarts from the beginning of the buffer once the last bit in the core bit sequence of the mother codeword is reached. Further, if a filler bit is selected, then it will be ignored and not be included in the RV. In the core bit sequence of the mother codeword, filler bits may be assigned as <NULL>’s, for example.

[0164] More specifically, let l0 and L be the starting position and number of selected core bits for a RV. The selected core bit sequence el, l=0, 1, 2, …, L-1, may then be defined as follows:

[0165] The starting position and the number of selected bits can be defined for each RV and each LDPC base graph, in a wireless standard or specification for example, for a simple implementation. For example, given the length of the circular buffer Lcp, such starting position l0 and number of core bits L for each RV and each LDPC base graph can be defined in a table such as Table 3 below.

[0166] Table 3: Starting Positions and Numbers of Bits for RV Core Bits

[0167] After selecting the portion of core bits for each RV, the remaining bits are the extended parity check bits. Such bits can be selected from the extended parity check bits of the mother codeword by following similar methods represented in connection with the second embodiment, for example.

[0168] Example Applications

[0169] In some applications, e.g. low latency required applications such as ultra-reliable low latency communications (URLLC) , the proposed self-decodable RVs may be preferred by a transmitter, or likewise for an encoding device or transmitting device. If a receiver, or likewise a decoding device or receiving device, knows the traffic type is URLLC, which may informed by a transmitter in a control channel (e.g., downlink control information (DCI) , uplink control information (UCI) or sidelink control information (SCI) ) , the receiver can infer that the proposed self-decodable RVs will be used for transmissions that it receives.

[0170] Another possible solution is that the proposed self-decodable RVs may be complementary to other types of RVs such as the current NR RVs. For example, after NR RV0 is sent in an initial transmission and a retransmission is required, a transmitter can have  the option to select either the proposed self-decodable RVs or NR RVs. Any of various conditions or criteria may be used to select between the proposed RVs and other RVs in this type of application. As an example, if the transmitter thinks that the initial transmission is erased (i.e., the receiver does not receive the initial transmission or a transmission grant is missing) or experiences high interference, then the transmitter may select the proposed self-decodable RVs for retransmission (s) . Otherwise, the transmitter can select the NR RVs.

[0171] For example, together with the initial transmission the transmitter can perform channel estimation. After receiving the initial transmission, the receiver can estimate the channel and feed back the channel quality indicator (CQI) index to the transmitter. Typically, low CQI index means bad or relatively worse channel quality and vice versa (typically, high CQI index means good or relatively better channel quality) . A CQI index threshold TCQI can be defined, in a wireless standard or specification for example, so that if the CQI falls below the threshold TCQI, the transmitter can select the proposed self-decodable RVs for retransmissions. Otherwise, if the CQI index exceeds the threshold TCQI, the transmitter can select the NR RVs for retransmissions. In a control channel (e.g., DCI, UCI or SCI) for retransmissions, a new parameter rvMode, which can be represented by 1 bit, can be used to inform the receiver about which set of RVs will be used. For example, rvMode=0 refers to the NR RVs, while rvMode=1 refers to the proposed self-decodable RVs. This is just one example, and other selection conditions and / or signaling options are possible.

[0172] Embodiments that are illustrated and / or described herein disclose, among other features, methods for bit selection in rate matching to generate the RVs for NR LDPC. Some examples for generating the RVs are based on systematic bits and parity check bits; systematic bits, core parity check bits and extended parity check bits; and core bits and extended parity check bits. These embodiments enable a simple design of RVs with a good combination of self-decodability and IR combining gain.

[0173] Overview

[0174] Various aspects of the present disclosure are described herein and shown in the drawings by way of example. Fig. 9 is a flow diagram illustrating more general example methods according to embodiments. At the left, 900 in Fig. 9 illustrates operations or features that may be provided or supported at an encoder or transmitter-side device, and at the right, 950 illustrates operations or features that may be provided or supported at a decoder or  receiver-side device. For ease of reference, in the following description of Fig. 9, a device at which encoding and / or transmitting features may be implemented or supported is called a first communication device, and a device at which decoding and / or receiving features may be implemented or supported is called a second communication device. Embodiments may involve either or both of such devices.

[0175] With reference first to 900, from a transmitting device perspective the transmitting at 906 is intended to represent transmitting bits bits from an LDPC coded bit sequence in an initial transmission. The transmitting at 908 represents transmitting non-sequential subsets of sequential bits from the LDPC coded bit sequence in a further transmission that is self-decodable independently of the initial transmission. An RV as shown in Fig. 9 is an example of a further transmission, and there may be one or more further transmissions as indicated by "RV (s) " at 908. The subsets are subsets of sequential bits, but the subsets ae not sequential. For example, the non-sequential subsets may include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence. The bits in each subset are sequential, or in other words in sequential order according to the LDPC coded bit sequence, but the subsets are separated by one or more bits from the LDPC coded bit sequence and thus are non-sequential.

[0176] In Fig. 5, for example, the mother codeword is an example of an LDPC coded bit sequence, NR RV0 is an initial transmission of bits from that LDPC coded bit sequence, and RV1 is a further self-decodable transmission that includes non-sequential subsets of sequential bits from the LDPC coded bit sequence. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission (shown at 522) , and a second subset of sequential bits from the LDPC coded bit sequence (shown at 526) . The subsets 522, 526 each include sequential bits from the LDPC coded bit sequence, but are non-sequential because they are separated by the bits 526 in the example shown. Other examples of LDPC coded bit sequences (mother codewords) , initial transmissions (NR RV0) , and further transmissions (RV1, RV2, RV3) , and subsets in such further transmissions, are shown in Figs. 5-7. Fig. 8 illustrates a sequence of core parity check bits of a mother codeword, and selected bits as examples of subsets of such bits for further transmissions (RV1, RV2, RV3) .

[0177] The example in Fig. 5 is consistent with a first example or embodiment referenced above, in which an LDPC coded bit sequence comprises parity check bits 504 and code bits other than the parity check bits, which are shown by way of example in Fig. 5 as systematic bits 502. In such embodiments, the first subset referenced above (in a further transmission such as any of RV1-RV3, for example) may include sequential code bits 522, 532, 542 from the LDPC coded bit sequence. The sequential code bits in the first subset may include a fraction or portion of the code bits (0.8 in the example shown) from the LDPC coded bit sequence included at a particular position (beginning-most or end-most in Fig. 5) in the initial transmission.

[0178] In another embodiment, the sequential code bits in the first subset may include a fraction or portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on an ascending order of variable node degree. Node degree order is described in further detail elsewhere herein.

[0179] The second subset includes, in some embodiments such as in the example shown in Fig. 5, sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of parity check bits for a previous transmission. The subset 528, for example, includes sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of the parity check bits 516 for a previous transmission, which is NR RV0. Similarly, the subsets 539, 548 include sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of parity check bits 528, 536, respectively for a previous transmission RV1, RV2, respectively.

[0180] Fixed starting positions are also possible. The second subset may include sequential parity check bits from the LDPC coded bit sequence starting from a fixed starting position of parity check bits for the further transmission. In the case of multiple further transmissions, each further transmission may include a subset of sequential parity check bits from the LDPC coded bit sequence starting from a respective fixed starting position of parity check bits for each further transmission. Fig. 8 illustrates an example with fixed starting positions for each of three RVs.

[0181] A starting position or an ending position referenced above may be a position in an LDPC coded sequence or an initial transmission, or a position in a circular buffer for example.  The parity check bits may be written into a circular buffer, and read out from the circular buffer starting from a starting position and ending at an ending position for each transmission.

[0182] The examples in Figs. 6 and 7 are consistent with a second example or embodiment referenced above, in which an LDPC coded bit sequence includes parity check bits and code bits other than the parity check bits parity check bits, and the parity check bits include a first type (shown by way of example as core parity check bits 604) and a second type (shown by way of example as extended parity check bits 606) . The code bits other than the parity check bits are shown by way of example in Figs. 6 and 7 as systematic bits 602. In such embodiments, the first subset referenced above (in a further transmission such as any of RV1-RV3, for example) may include code bits 622, 632, 642 from the LDPC coded bit sequence.

[0183] As in other embodiments, the code bits in the first subset may include a fraction or portion of the code bits (0.8 in the examples shown in Figs. 6 and 7) from the LDPC coded bit sequence that are included at a particular position (beginning-most or end-most in Figs. 6 and 7) in the initial transmission. This is shown by way of example at 622, 632, 642 in Fig. 6 and 722, 732, 742 in Fig. 7. In the example shown in Fig. 7, the code bits in the first subset 722, 732, 742 include a fraction or portion of the code bits 714 from the LDPC coded bit sequence included in the initial transmission based on an ascending order of variable node degree. Node degree order is described in further detail elsewhere herein.

[0184] The second subset referenced above may include sequential parity check bits of the first type (624, 634, 644 in Fig. 6 or 724, 734, 744 in Fig. 7) from the LDPC coded bit sequence included in the initial transmission (616 in Figs. 6 and 7) , and the non-sequential subsets may also include a third subset of sequential parity check bits of the second type (628, 638, 649 / 646 in Figs. 6 and 7) from the LDPC coded bit sequence. The third subsets in these examples are subsets of the extended parity check bits 606.

[0185] Regarding the second subset, in some embodiments the sequential parity check bits in the second subset include a portion or fraction of the parity check bits of the first type from the LDPC coded bit sequence based on one of the following: a core parity check node (or more generally one or more parity check nodes) associated with the parity check bits of the first type included in the initial transmission; a position (such as beginning-most or end-most) at which the parity check bits of the first type are included in the initial transmission; or  respective portions of the parity check bits of the first type for the further transmission and one or more other self-decodable transmissions that include non-sequential subsets of the sequential bits from the LDPC coded bit sequence. Multiple further transmissions such as RVs may (as in Fig. 7) or may not (as in Fig. 6) together include all of the parity check bits of the first type.

[0186] The third subset referenced above includes parity check bits of the second type. For example, the third subset may include sequential parity check bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity check bits of the second type for a previous transmission; or a fixed starting position of parity check bits of the second type for the further transmission. The subset 628, for example, includes sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of the parity check bits 618 for a previous transmission, which is NR RV0. Similarly, the subsets 638, 649 include sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of parity check bits 628, 638, respectively for a previous transmission RV1, RV2, respectively. Regarding fixed starting positions, Fig. 8 illustrates an example.

[0187] A starting position or an ending position, as described elsewhere herein, may be a position in an LDPC coded sequence or an initial transmission, or positions in a circular buffer for example. Parity check bits of the second type (at 606) in Figs. 6 and 7, for example, may be written into a circular buffers, and read out from the circular buffer starting from a starting position and ending at an ending position for each transmission.

[0188] According to a third example or embodiment referenced herein, parity check bits include a first type and a second type of parity check bits as in the second example or embodiment referenced above, but the first subset includes not only code bits, but also sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission. Such a combination of code bits and a type of parity bits is referred to herein as core bits, and is described by way of example as including systematic bits and core parity bits. The second subset includes sequential parity check bits of the second type, such as extended parity check bits, from the LDPC coded bit sequence.

[0189] Regarding core bits and the first subset referenced above, the sequential code bits and the sequential parity check bits in the first subset may include sequential bits from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of bits from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of bits from the LDPC coded bit sequence for the further transmission.

[0190] In some embodiments, the sequential parity check bits in the second subset similarly include sequential parity bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity bits of the second type from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of parity check bits of the second type from the LDPC coded bit sequence for the further transmission.

[0191] Examples of starting positions immediately following ending positions, and fixed starting positions, are provided at least above.

[0192] Self-decodable RVs as proposed herein may be complementary to other types of RVs such as the current NR RVs. As described elsewhere herein, as an example after NR RV0 is sent in an initial transmission and a retransmission is required (at 908 in Fig. 9 for example) , a transmitter can have the option to select either the proposed self-decodable RVs or NR RVs. Thus, the transmitting at 908 may involve transmitting the non-sequential subsets in a self-decodable further transmission, and the transmitting may be responsive to a determination that the self-decodable further transmission including the non-sequential subsets is preferred over a different further transmission, such as an NR RV.

[0193] Such a determination or selection between a self-decodable RV as a further transmission or a different further transmission may be based on any of various conditions or criteria, examples of which are provided elsewhere herein. A determination that a self-decodable further transmission as proposed herein may be based on any one or more of the following, for example: a latency target (a self-decodable further transmission may be preferred if lower latency is desired for example) ; an application associated with an input bit sequence for encoding to obtain the LDPC coded bit sequence (a self-decodable further transmission may be preferred for low-latency or otherwise time-critical applications for example) ; an expectation as to whether the initial transmission is erased (where, as described at least above, the receiver does not receive the initial transmission or a transmission grant is  missing for example) ; an expectation as to whether the initial transmission experiences high interference; received channel quality feedback such as a CQI index (as described at least above, a receiver can estimate the channel and feed back a CQI index to the transmitter) .

[0194] A method may also involve transmitting an indication as to whether a self-decodable further transmission that includes the non-sequential subsets, or a different further transmission, is to be transmitted. A new parameter rvMode, described at least above, is one example of such an indication that may be transmitted, in a control channel for example.

[0195] Embodiments that are illustrated and / or described herein disclose, among other features, methods for bit selection in rate matching to generate the RVs for NR LDPC. Some examples for generating the RVs are based on systematic bits and parity check bits; systematic bits, core parity check bits and extended parity check bits; and core bits and extended parity check bits. These embodiments enable a simple design of RVs with a good combination of self-decodability and IR combining gain.

[0196] Embodiments consistent with the present disclosure may provide or support other features, and several examples are included in Fig. 9. Encoding of input bits to generate an LDPC coded bit sequence such as a mother codeword is shown at 904. At least parts of such a coded bit sequence are also be transmitted, but encoding 904 and the transmitting at 906, 908 may be performed separately. In some embodiments, a coded bit sequence is obtained or generated by encoding input bits 904 by an LDPC code, and the resultant coded bit sequence may be output by an encoder for further processing or handling, including transmission in the example shown in Fig. 9. The coded bit sequence may be output to memory, for example, and accordingly the transmitting at 906, 908 may involve transmitting bits from a coded bit sequence that was previously generated or generated separately from the transmitting. A device or component that transmits an initial transmission and one or more further transmissions need not itself also encode input bits to generate a coded bit sequence.

[0197] Similarly, obtaining input bits for encoding, as shown at 902 in Fig. 9, may be performed or supported separately from encoding at 904 and / or transmitting at 906, 908. The input bits for encoding may be or include data from different devices and / or data associated with different services, for example. Obtaining the input bits at 902 may involve, for example, collecting or otherwise receiving data outputs from one or more devices and / or services, or accessing data in a memory.

[0198] Some embodiments may involve either or both of obtaining input bits at 902 or generating a coded bit sequence by encoding the input bits at 904. A coded bit sequence that is obtained or generated at 904 may be transmitted at 906, 908 for example, or first output for storage to memory and then transmitted.

[0199] Thus, in some embodiments, a method may involve obtaining input bits as shown at 902, encoding as shown at 904, and transmitting as shown at 906, 908. Other embodiments may involve transmitting as shown at 906, 908, and the obtaining at 902 and / or the encoding at 904 may be performed separately.

[0200] Some embodiments may involve, from an encoder or transmitter perspective, receiving a retransmission request, which may be or include negative acknowledgement signaling or another form of retransmission request, and retransmitting incremental redundancy (IR) information, which may be or include a redundancy version (RV) for example. In an embodiment, a method may involve receiving, by a first communication device from a second communication device for example, a request for retransmission after a decoding failure at 954. There may be multiple cycles of retransmission requests and transmitting RVs at 908.

[0201] Another example of features that may be provided in some embodiments but are not explicitly shown in Fig. 9 relates to signaling. As described at least above, some embodiments may involve transmitting an indication as to whether a self-decodable further transmission or a different further transmission is to be transmitted. More generally, embodiments may involve communicating, in a wireless communication network, signaling indicative of any of various parameters, and an indication as to a type of further transmission is an example of one such parameter. Parameters related to one or both of encoding or decoding may also or instead be indicated in signaling.

[0202] Such communicating of signaling may involve transmitting the signaling by an encoder  / encoding device or a transmitter  / transmitting device that is to transmit codewords, to a decoder  / decoding device or a receiver  / receiving device. The communicating may also or instead involve receiving the signaling by a decoder  / decoding device or a receiver  / receiving device from an encoder  / encoding device or a transmitter  / transmitting device. Signaling need not necessarily be between, or only between, communication devices by which encoded blocks are to be transmitted or received. For example, a network device such  as a gNB or a base station may transmit signaling to configure parameters at one or more communication devices. Therefore, a method may involve a network device transmitting signaling, and an encoder  / encoding device or a transmitter  / transmitting device receiving the signaling from the network device, and / or a decoder  / decoding device or a receiver  / receiving device receiving the signaling from the network device.

[0203] At 950, Fig. 9 illustrates various decoding and / or receiving counterparts of the features shown at 900. From a receiving device perspective, the receiving at 952 is intended to represent receiving encoded bits from an LDPC coded bit sequence. The encoded bits received at 952 may be received in an initial transmission or a further transmission, as described in further detail below.

[0204] As an example, suppose that an initial transmission is received at 952. Decoding is shown at 954, and may or may not be successful. In the event of a decoding failure, a retransmission may be requested at 956, and this may involve transmitting a retransmission request. An RV transmitted at 908 may then be received at 952, and this cycle of 952, 954, 956 may be repeated a number of times or until the decoding at 954 is successful.

[0205] An initial transmission might be erased in a channel and not be received at all at 954, in which case an RV may be transmitted at 908 without an explicit retransmission request having been transmitted at 956. Therefore, at 952 a further transmission may be received without an initial transmission having been received.

[0206] In any case, an initial transmission may be an NR RV0 transmission as described elsewhere herein, and thus from a receiving perspective it may be more compelling to consider receiving a further transmission at 952. The further transmission is self-decodable independently of an initial transmission that includes bits from an LDPC coded bit sequence. The further transmission, as in other embodiments, includes non-sequential subsets of sequential bits from the LDPC coded bit sequence. The non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence. Such a method also involves decoding the further transmission, to recover input bits that were encoded to obtain or generate the LDPC coded bit sequence.

[0207] The LDPC coded bit sequence may include parity check bits and code bits other than the parity check bits.

[0208] In some embodiments, the first subset includes sequential code bits from the LDPC coded bit sequence, and the second subset includes sequential parity check bits from the LDPC coded bit sequence. This is consistent with a first example or embodiment referenced above and shown by way of example in Fig. 5.

[0209] The parity check bits may include a first type and a second type of parity check bits, in which case the first subset may include sequential code bits from the LDPC coded bit sequence, the second subset may include sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission, and the non-sequential subsets may further include a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence. This is consistent with a second example or embodiment referenced above and shown by way of example in Figs. 6 and 7.

[0210] According to other embodiments, consistent with a third example or embodiment referenced above, the first subset may include sequential code bits and sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission, and the second subset may include sequential parity check bits of the second type from the LDPC coded bit sequence.

[0211] Although not explicitly shown in Fig. 9, a receiving or decoding method may also involve receiving an indication as to whether the self-decodable further transmission that includes the non-sequential subsets, or a different further transmission, is to be transmitted. An illustrative examples of such an indication is provided elsewhere herein.

[0212] Another feature that may be provided or supported is determining an estimate of channel quality and transmitting channel quality feedback to a transmitter of the further transmission, to enable a determination by the transmitter as to whether the self-decodable further transmission including the non-sequential subsets or a different further transmission is to be transmitted. For example, after receiving a transmission at 954 a receiver can estimate the channel and feed back a CQI index to a transmitter, and the CQI index may be used in determining whether a self-decodable further transmission or a different further transmission is to be transmitted at 908.

[0213] Other features not explicitly shown in Fig. 9 may be provided or supported, or may at least affect decoding-side or receiving-side operations. Features that are disclosed  herein with reference to encoding or transmitting may have counterpart decoding or receiving features, for example.

[0214] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.

[0215] An apparatus may include a processor that is configured, by executing programming for example, to cause the apparatus to perform a method or operations, or to provide or support features, disclosed herein. An apparatus may also include a non-transitory computer readable storage medium, coupled to the processor, storing programming for execution by the processor. In Fig. 3, for example, the processors 210, 260, 276 may each be or include one or more processors, and each memory 208, 258, 278 is an example of a non-transitory computer readable storage medium, in an ED 110 and a TRP 170, 172. A non-transitory computer readable storage medium need not necessarily be provided only in combination with a processor, and may be provided separately in a computer program product, for example.

[0216] As an illustrative example, programming stored in or on a non-transitory computer readable storage medium may include instructions to or to cause a processor to, or a processor, device, or other component may otherwise be configured to, transmit bits from an LDPC coded bit stream in an initial transmission and transmit non-sequential subsets of sequential bits from the LDPC coded bit stream in a further transmission that is self-decodable independently of the initial transmission.

[0217] Apparatus embodiments are not limited to the foregoing examples, or to processor-based or programming-based embodiments. An apparatus may also or instead include, for example, an encoder for encoding an input bit sequence by an LDPC code to obtain an LDPC coded bit sequence, and a transmitter or an interface, coupled to the encoder, for transmitting bits in an initial transmission and subsets in a further transmission as disclosed herein.

[0218] Fig. 10 is a block diagram illustrating an apparatus according to an embodiment. At 1000, Fig. 10 illustrates components of an example apparatus in which or in conjunction with which transmitting and / or encoding features may be implemented, and components of  an example apparatus in which or in conjunction with which receiving and / or decoding features may be implemented is illustrated at 1050. A controller 1030 may be provided in either of these types of apparatus. In some embodiments, an apparatus may include both transmitting and receiving features, and either or both of encoding features or decoding features. In the example shown in Fig. 10, an apparatus with all of the illustrated components supports both encoding features and decoding features, as well and transmitting features and receiving features.

[0219] For encoding features and transmitting features, the example apparatus in Fig. 10 includes an input interface 1002, an encoder 1004 coupled to the input interface, an output interface shown by way of example as a transmitter 1006 coupled to the encoder, and a controller 1030 coupled to the encoder and the transmitter. An input bit sequence for encoding is shown as an input to the input interface 1002, and encoded bits are shown as outputs from the transmitter 1006. Although shown as a separate component in Fig. 10, the transmitter 1006 or another type of output interface for transmitting or otherwise outputting codewords may be provided by, incorporated into, or coupled to the encoder 1004. Similarly, although shown as a separate input interface 1002 in Fig. 10, an interface through which input bits for encoding are obtained by the encoder 1004 may be provided by, incorporated into, or coupled to the encoder.

[0220] Encode-side or transmit-side features or functions, and other features or functions herein, may be implemented in any of various ways, such as in hardware, firmware, or one or more components that execute software. The present disclosure is not limited to any specific type of implementation, and implementation details may vary between different devices.

[0221] Input bits may be obtained, and coded bit sequences may be transmitted or otherwise output, via any of various types of interface, including a communication interface in the case of transmitting coded bit sequences or receiving input bits for encoding. Embodiments are not in any way restricted to any particular type of interface, the implementation of which may be based at least in part on how input bits are to be obtained and how coded bit sequences are to be output.

[0222] In an embodiment, an apparatus includes an encoder such as the encoder 1004 for encoding an input bit sequence by an LDPC code to obtain an LDPC coded bit sequence. An interface may be provided and coupled to an encoder for outputting a coded bit sequence, and  in the example shown the transmitter 1006 is coupled to the encoder 1004 for transmitting bits and subsets from the LDPC coded bit sequence. In particular, the transmitter 1006 is for transmitting, in an initial transmission, bits from the LDPC coded bit sequence, and for transmitting, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence. As in other embodiments, the non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0223] An apparatus may also include an interface such as the interface 1002 in some embodiments, for receiving input bits.

[0224] More generally, an apparatus or a component thereof such as an encoder 1004 or a processor may be configured to encode (or for encoding) an input bit sequence, or programming may include instructions to encode (or for encoding) an input bit sequence or to cause a processor to encode an input bit sequence, by an LDPC code to obtain or generate an LDPC coded bit sequence. An apparatus or a component thereof such as a transmitter 1006, which may be coupled to the encoder 1004, may be configured to transmit (or for transmitting) or to otherwise output (or for outputting) , or programming may include instructions to transmit (or for transmitting) or to otherwise output (or for outputting) or to cause a processor to transmit or otherwise output, bits and subsets as disclosed herein. Outputting may involve transmitting the bits and subsets by a first communication device to a second communication device in a wireless communication network for example.

[0225] Embodiments related to such apparatus or non-transitory computer readable storage media may include any one or more of the following features, for example, which are also discussed elsewhere herein:

[0226] the LDPC coded bit sequence may include parity check bits and code bits other than the parity check bits, in which case the first subset may include sequential code bits from the LDPC coded bit sequence and the second subset may include sequential parity check bits from the LDPC coded bit sequence -this is consistent with a first example or embodiment referenced above and shown by way of example in Fig. 5;

[0227] the sequential code bits in the first subset may include a portion of the code bits from the LDPC coded bit sequence included at a particular position in the initial transmission;

[0228] the sequential code bits in the first subset may include a portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on ascending order of variable node degree;

[0229] the second subset may include sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of parity check bits for a previous transmission;

[0230] the second subset may include sequential parity check bits from the LDPC coded bit sequence starting from a fixed starting position of parity check bits for the further transmission;

[0231] the parity check bits may include a first type and a second type of parity check bits, in which case the second subset may include sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission and the non-sequential subsets may further include a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence -this is consistent with a second example or embodiment referenced above and shown by way of example in Figs. 6 and 7;

[0232] the sequential code bits in the first subset may include a portion of the code bits from the LDPC coded bit sequence included at a particular position in the initial transmission;

[0233] the sequential code bits in the first subset may include a portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on ascending order of variable node degree;

[0234] the sequential parity check bits in the second subset may include a portion of the parity check bits of the first type from the LDPC sequence based on one of the following: a core parity check node associated with the parity check bits of the first type included in the initial transmission; a position at which the parity check bits of the first type are included in the initial transmission; respective portions of the parity check bits of the first type for the further transmission and one or more other self-decodable transmissions that include non-sequential subsets of the sequential bits from the LDPC coded bit sequence;

[0235] the third subset may include sequential parity check bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an  ending position of parity check bits of the second type for a previous transmission; or a fixed starting position of parity check bits of the second type for the further transmission;

[0236] where the parity check bits include a first type and a second type of parity check bits, the first subset may further include sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission, and the second subset may include sequential parity check bits of the second type from the LDPC coded bit sequence -this is consistent with a third example or embodiment referenced above;

[0237] the sequential code bits and the sequential parity check bits in the first subset may include sequential bits from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of bits from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of bits from the LDPC coded bit sequence for the further transmission;

[0238] the sequential parity check bits in the second subset may include sequential parity bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity bits of the second type from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of parity check bits of the second type from the LDPC coded bit sequence for the further transmission;

[0239] transmitting the non-sequential subsets in the self-decodable further transmission may be responsive to a determination that the self-decodable further transmission including the non-sequential subsets is preferred over a different further transmission -the apparatus or a component thereof such as an encoder 1004, a transmitter 1006, or a controller 1030 may be configured to determine (or for determining) , or programming may include instructions to determine (or for determining) , or to cause a processor to determine whether the self-decodable further transmission including the non-sequential subsets is preferred over a different further transmission;

[0240] this determination may be based on any one or more of the following: a latency target; an application associated with an input bit sequence for encoding to obtain the LDPC coded bit sequence; an expectation as to whether the initial transmission is erased; an expectation as to whether the initial transmission experiences high interference; received channel quality feedback;

[0241] regarding received channel quality feedback, the apparatus or a component thereof such as a receiver 1056 may be configured to receive (or for receiving) , or programming may include instructions to receive (or for receiving) , or to cause a processor to receive such feedback;

[0242] in some embodiments, the controller 1030 controls the encoder 1004 and / or the transmitter 1006, for example, to transmit either the self-decodable further transmission or the different further transmission;

[0243] the apparatus or a component thereof such as an encoder 1004 or a transmitter 1006 may be configured to transmit (or for transmitting) , or programming may include instructions to transmit (or for transmitting) , or to cause a processor to transmit an indication as to whether the self-decodable further transmission comprising the non-sequential subsets or the different further transmission is to be transmitted -the controller 1030 may be involved in controlling the transmitter 1006 to transmit the indication, for example.

[0244] With reference again to Fig. 10, the example apparatus also includes components to provide or support receiving and decoding features. These components may be provided separately in a decoding or receiving device, or together with other components to provide or support decoding or receiving features together with encoding or transmitting features.

[0245] An input interface, shown in the form of a receiver 1056, is coupled to a decoder 1054, and these components are also coupled to the controller 1030. The decoder 1054 is coupled to an output interface 1052. A recovered bit sequence is shown as an output from the output interface 1252, and encoded bits are shown as inputs received by the receiver 1056. The receiver 1056 or another type of interface for receiving or otherwise obtaining encoded bits for decoding may be provided by, incorporated into, or coupled to the decoder 1054, and similarly an interface through which a recovered bit sequence is output by the decoder may be provided by, incorporated into, or coupled to the decoder.

[0246] Decode-side or receive-side features or functions, and other features or functions herein, may be implemented in any of various ways, such as in hardware, firmware, or one or more components that execute software. The present disclosure is not limited to any specific type of implementation, and implementation details may vary between different devices, for example.

[0247] Encoded bits may be received or otherwise obtained, and a recovered bit sequence may be output, via any of various types of interface, including the receiver 1056 or another type of communication interface in the case of receiving encoded bits or transmitting a recovered bit sequence. Embodiments are not in any way restricted to any particular type of receiver or interface, the implementation of which may be based at least in part on how encoded bits for decoding are to be obtained and how a recovered bit sequence is to be output. Encoder and decoder interfaces are shown separately in Fig. 10 to illustrate that encoding and decoding features may be implemented independently. However, it should be appreciated that a single device or equipment may support both encoding and decoding, in which case an encoder and a decoder may be coupled to the same interface (s) at 1002, 1052. For example, the encoder 1004 and the decoder 1054 may be coupled to the same interface (s) to obtain a bit sequence for encoding by the encoder and to output bit sequences recovered by the decoder. The encoder 1004 and the decoder 1054 may also or instead be coupled to the same interface (s) to output coded bit sequences that are generated by the encoder and receive encoded bits for decoding by the decoder.

[0248] In an embodiment, an apparatus includes a decoder such as the decoder 1054 for decoding received transmissions. The receiver 1056 or another interface may be provided, and coupled to a decoder in some embodiments, for receiving at least a self-decodable further transmission as disclosed herein. An apparatus may also include an interface such as the output interface 1052 in some embodiments, for outputting recovered bit sequences. More generally, an apparatus or a component thereof such as a decoder 1054 or a processor may be configured to decode (or for decoding) a further transmission to recover a bit sequence, or programming may include instructions to decode (or for decoding) a further transmission to recover a bit sequence or to cause a processor to decode a further transmission to recover a bit sequence. An apparatus or a component thereof such as a receiver 1056 or an interface coupled to the decoder 1054, may be configured to receive (or for receiving) or to otherwise obtain (or for obtaining) , or programming may include instructions to receive (or for receiving) or to otherwise obtain (or for obtaining) or to cause a processor to receive or otherwise obtain, the further transmission. Receiving, for example, may involve receiving the further transmission from a first communication device by a second communication device in a wireless communication network for example.

[0249] As in other embodiments, the further transmission includes non-sequential subsets of sequential bits from the LDPC coded bit sequence, and the non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0250] Embodiments related to apparatus or non-transitory computer readable storage media may include any one or more of the following features, for example, which are also discussed elsewhere herein:

[0251] the LDPC coded bit sequence may include parity check bits and code bits other than the parity check bits, in which case the first subset may include sequential code bits from the LDPC coded bit sequence and the second subset may include sequential parity check bits from the LDPC coded bit sequence -this is consistent with a first example or embodiment referenced above and shown by way of example in Fig. 5;

[0252] according to another embodiment in which the LDPC coded bit sequence includes parity check bits and code bits other than the parity check bits, the parity check bits include a first type and a second type of parity check bits, the first subset includes sequential code bits from the LDPC coded bit sequence, the second subset comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission, and the non-sequential subsets further include a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence -this is consistent with a second example or embodiment referenced above and shown by way of example in Figs. 6 and 7;

[0253] consistent with a third example or embodiment referenced above, where the LDPC coded bit sequence comprises parity check bits, including a first type and a second type of parity check bits, and code bits other than the parity check bits, the first subset may include sequential code bits and sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission and the second subset includes sequential parity check bits of the second type from the LDPC coded bit sequence;

[0254] the apparatus or a component thereof such as a decoder 1054 or a receiver 1056 may be configured to receive (or for receiving) , or programming may include instructions to receive (or for receiving) , or to cause a processor to receive an indication as to whether the self-decodable further transmission comprising the non-sequential subsets or the different further transmission is to be transmitted;

[0255] the apparatus or a component thereof such as a decoder 1054, a receiver 1056, or a controller 1030 may be configured to determine (or for determining) , or programming may include instructions to determine (or for determining) , or to cause a processor to determine an estimate of channel quality;

[0256] the apparatus or a component thereof such as a transmitter 1006 may be configured to transmit (or for transmitting) , or programming may include instructions to transmit (or for transmitting) , or to cause a processor to transmit channel quality feedback to a transmitter of the further transmission, to enable a determination by the transmitter as to whether the self-decodable further transmission comprising the non-sequential subsets or a different further transmission is to be transmitted.

[0257] Other features disclosed herein may also or instead be provided or supported in apparatus embodiments.

[0258] Apparatus embodiments are not in any way restricted to single devices. A system, for example, may include a first communication device and a second communication device. The first communication device may be configured to transmit (or for transmitting) , in an initial transmission, bits from the LDPC coded bit sequence, and to transmit (or for transmitting) , in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence. The second communication device may be configured to receive (or for receiving) the further transmission, and to decode (or for decoding) the further transmission. As in other embodiments, the non-sequential subsets include a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.

[0259] More generally, other features disclosed herein may also or instead be provided in method, apparatus, and / or system embodiments.

[0260] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.

[0261] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.

[0262] Although aspects of the present invention have been described with reference to specific features and embodiments thereof, various modifications and combinations can be made thereto without departing from the invention. The description and drawings are, accordingly, to be regarded simply as an illustration of some embodiments of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention. Therefore, although embodiments and potential advantages have been described in detail, various changes, substitutions and alterations can be made herein without departing from the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.

[0263] Moreover, any module, component, or device exemplified herein that executes instructions may include or otherwise have access to a non-transitory computer readable or processor readable storage medium or media for storage of information, such as computer readable or processor readable instructions, data structures, program modules, and / or other data. A non-exhaustive list of examples of non-transitory computer readable or processor readable storage media includes magnetic cassettes, magnetic tape, magnetic disk storage or  other magnetic storage devices, optical disks such as compact disc read-only memory (CD-ROM) , digital video discs or digital versatile disc (DVDs) , Blu-ray DiscTM, or other optical storage, volatile and non-volatile, removable and nonremovable media implemented in any method or technology, random-access memory (RAM) , read-only memory (ROM) , electrically erasable programmable read-only memory (EEPROM) , flash memory or other memory technology. Any such non-transitory computer readable or processor readable storage media may be part of a device or accessible or connectable thereto. Any application or module herein described may be implemented using instructions that are readable and executable by a computer or processor may be stored or otherwise held by such non-transitory computer readable or processor readable storage media.

Claims

1.A method comprising:transmitting, in an initial transmission, bits from a low density parity check (LDPC) coded bit sequence; andtransmitting, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence,the non-sequential subsets comprising a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.2.The method of claim 1,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the first subset comprises sequential code bits from the LDPC coded bit sequence.3.The method of claim 2, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included at a particular position in the initial transmission.4.The method of claim 2, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on ascending order of variable node degree.5.The method of any one of claims 2 to 4, wherein the second subset comprises sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of parity check bits for a previous transmission.6.The method of any one of claims 2 to 4, wherein the second subset comprises sequential parity check bits from the LDPC coded bit sequence starting from a fixed starting position of parity check bits for the further transmission.7.The method of claim 2,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the second subset comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the non-sequential subsets further comprise a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence.8.The method of claim 7, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included at a particular position in the initial transmission.9.The method of claim 7, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on ascending order of variable node degree.10.The method of any one of claims 7 to 9, wherein the sequential parity check bits in the second subset comprise a portion of the parity check bits of the first type from the LDPC sequence based on one of the following:a core parity check node associated with the parity check bits of the first type included in the initial transmission;a position at which the parity check bits of the first type are included in the initial transmission;respective portions of the parity check bits of the first type for the further transmission and one or more other self-decodable transmissions that include non-sequential subsets of the sequential bits from the LDPC coded bit sequence.11.The method of any one of claims 7 to 10, wherein the third subset comprises sequential parity check bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity check bits of the second type for a previous transmission; or a fixed starting position of parity check bits of the second type for the further transmission.12.The method of claim 2,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the first subset further comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the second subset comprises sequential parity check bits of the second type from the LDPC coded bit sequence.13.The method of claim 12, wherein the sequential code bits and the sequential parity check bits in the first subset comprise sequential bits from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of bits from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of bits from the LDPC coded bit sequence for the further transmission.14.The method of claim 12 or claim 13, wherein the sequential parity check bits in the second subset comprise sequential parity bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity bits of the second type from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of parity check bits of the second type from the LDPC coded bit sequence for the further transmission.15.The method of any one of claims 1 to 14, wherein transmitting the non-sequential subsets in the self-decodable further transmission is responsive to a determination that the self-decodable further transmission comprising the non-sequential subsets is preferred over a different further transmission.16.The method of claim 15, wherein the determination is based on any one or more of the following:a latency target;an application associated with an input bit sequence for encoding to obtain the LDPC coded bit sequence;an expectation as to whether the initial transmission is erased;an expectation as to whether the initial transmission experiences high interference;received channel quality feedback.17.The method of claim 15 or claim 16, further comprising:transmitting an indication as to whether the self-decodable further transmission comprising the non-sequential subsets or the different further transmission is to be transmitted.18.A method comprising:receiving a further transmission that is self-decodable independently of an initial transmission that comprises bits from a low density parity check (LDPC) coded bit sequence,the further transmission comprising non-sequential subsets of sequential bits from the LDPC coded bit sequence,the non-sequential subsets comprising a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence,the method further comprising:decoding the further transmission.19.The method of claim 18,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the first subset comprises sequential code bits from the LDPC coded bit sequence,wherein the second subset comprises sequential parity check bits from the LDPC coded bit sequence.20.The method of claim 18,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the first subset comprises sequential code bits from the LDPC coded bit sequence,wherein the second subset comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the non-sequential subsets further comprise a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence.21.The method of claim 18,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the first subset comprises sequential code bits and sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the second subset comprises sequential parity check bits of the second type from the LDPC coded bit sequence.22.The method of any one of claims 18 to 21, further comprising:receiving an indication as to whether the self-decodable further transmission comprising the non-sequential subsets or a different further transmission is to be transmitted.23.The method of any one of claims 18 to 21, further comprising:determining an estimate of channel quality and transmitting channel quality feedback to a transmitter of the further transmission, to enable a determination by the transmitter as to whether the self-decodable further transmission comprising the non-sequential subsets or a different further transmission is to be transmitted.24.An apparatus comprising a processor configured to cause the apparatus to perform the method of any one of claims 1 to 17.25.An apparatus comprising:an encoder for encoding an input bit sequence by a low density parity check (LDPC) code to obtain an LDPC coded bit sequence;an interface, coupled to the encoder, for transmitting, in an initial transmission, bits from the LDPC coded bit sequence, and for transmitting, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence,the non-sequential subsets comprising a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence.26.The apparatus of claim 25,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the first subset comprises sequential code bits from the LDPC coded bit sequence.27.The apparatus of claim 26, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included at a particular position in the initial transmission.28.The apparatus of claim 26, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on ascending order of variable node degree.29.The apparatus of any one of claims 26 to 28, wherein the second subset comprises sequential parity check bits from the LDPC coded bit sequence starting from a starting position immediately following an ending position of parity check bits for a previous transmission.30.The apparatus of any one of claims 26 to 28, wherein the second subset comprises sequential parity check bits from the LDPC coded bit sequence starting from a fixed starting position of parity check bits for the further transmission.31.The apparatus of claim 26,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the second subset comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the non-sequential subsets further comprise a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence.32.The apparatus of claim 31, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included at a particular position in the initial transmission.33.The apparatus of claim 31, wherein the sequential code bits in the first subset comprise a portion of the code bits from the LDPC coded bit sequence included in the initial transmission based on ascending order of variable node degree.34.The apparatus of any one of claims 31 to 33, wherein the sequential parity check bits in the second subset comprise a portion of the parity check bits of the first type from the LDPC sequence based on one of the following:a core parity check node associated with the parity check bits of the first type included in the initial transmission;a position at which the parity check bits of the first type are included in the initial transmission;respective portions of the parity check bits of the first type for the further transmission and one or more other self-decodable transmissions that include non-sequential subsets of the sequential bits from the LDPC coded bit sequence.35.The apparatus of any one of claims 31 to 34, wherein the third subset comprises sequential parity check bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity check bits of the second type for a previous transmission; or a fixed starting position of parity check bits of the second type for the further transmission.36.The apparatus of claim 26,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the first subset further comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the second subset comprises sequential parity check bits of the second type from the LDPC coded bit sequence.37.The apparatus of claim 36, wherein the sequential code bits and the sequential parity check bits in the first subset comprise sequential bits from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of bits from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of bits from the LDPC coded bit sequence for the further transmission.38.The apparatus of claim 36 or claim 37, wherein the sequential parity check bits in the second subset comprise sequential parity bits of the second type from the LDPC coded bit sequence starting from either: a starting position immediately following an ending position of parity bits of the second type from the LDPC coded bit sequence for a previous transmission; or a fixed starting position of parity check bits of the second type from the LDPC coded bit sequence for the further transmission.39.The apparatus of any one of claims 25 to 38, wherein transmitting the non-sequential subsets in the self-decodable further transmission is responsive to a determination that the self-decodable further transmission comprising the non-sequential subsets is preferred over a different further transmission.40.The apparatus of claim 39, wherein the determination is based on any one or more of the following:a latency target;an application associated with an input bit sequence for encoding to obtain the LDPC coded bit sequence;an expectation as to whether the initial transmission is erased;an expectation as to whether the initial transmission experiences high interference;received channel quality feedback.41.The apparatus of claim 39 or claim 40, wherein the interface is further configured to transmit an indication as to whether the self-decodable further transmission comprising the non-sequential subsets or the different further transmission is to be transmitted.42.An apparatus comprising a processor configured to cause the apparatus to perform the method of any one of claims 18 to 23.43.An apparatus comprising:an interface for receiving a further transmission that is self-decodable independently of an initial transmission that comprises bits from a low density parity check (LDPC) coded bit sequence,the further transmission comprising non-sequential subsets of sequential bits from the LDPC coded bit sequence,the non-sequential subsets comprising a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence,the apparatus further comprising:a decoder coupled to the interface, for decoding the further transmission.44.The apparatus of claim 43,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the first subset comprises sequential code bits from the LDPC coded bit sequence,wherein the second subset comprises sequential parity check bits from the LDPC coded bit sequence.45.The apparatus of claim 43,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the first subset comprises sequential code bits from the LDPC coded bit sequence,wherein the second subset comprises sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the non-sequential subsets further comprise a third subset of sequential parity check bits of the second type from the LDPC coded bit sequence.46.The apparatus of claim 43,wherein the LDPC coded bit sequence comprises parity check bits and code bits other than the parity check bits,wherein the parity check bits comprise a first type and a second type of parity check bits,wherein the first subset comprises sequential code bits and sequential parity check bits of the first type from the LDPC coded bit sequence included in the initial transmission,wherein the second subset comprises sequential parity check bits of the second type from the LDPC coded bit sequence.47.The apparatus of any one of claims 43 to 46, wherein the interface is further configured to receive an indication as to whether the self-decodable further transmission comprising the non-sequential subsets or a different further transmission is to be transmitted.48.The apparatus of any one of claims 43 to 46,wherein the apparatus is further configured to determine an estimate of channel quality, andwherein the interface is further configured to transmit channel quality feedback to a transmitter of the further transmission, to enable a determination by the transmitter as to whether the self-decodable further transmission comprising the non-sequential subsets or a different further transmission is to be transmitted.49.A computer program comprising programming for execution by a processor, the programming including instructions to perform the method of any one of claims 1 to 23.50.A non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method of any one of claims 1 to 23.51.A system comprising:a first communication device configured to transmit, in an initial transmission, bits from a low density parity check (LDPC) coded bit sequence, and to transmit, in a further transmission that is self-decodable independently of the initial transmission, non-sequential subsets of sequential bits from the LDPC coded bit sequence,the non-sequential subsets comprising a first subset of sequential bits from the LDPC coded bit sequence included in the initial transmission, and a second subset of sequential bits from the LDPC coded bit sequence;the system further comprising:a second communication device configured to receive the further transmission, and to decode the further transmission.