WO2022056807A1 - Rateless coding over a packet data convergence protocol layer - Google Patents

Rateless coding over a packet data convergence protocol layer Download PDF

Info

Publication number
WO2022056807A1
WO2022056807A1 PCT/CN2020/116080 CN2020116080W WO2022056807A1 WO 2022056807 A1 WO2022056807 A1 WO 2022056807A1 CN 2020116080 W CN2020116080 W CN 2020116080W WO 2022056807 A1 WO2022056807 A1 WO 2022056807A1
Authority
WO
WIPO (PCT)
Prior art keywords
packets
encoded
pdcp
sub
pdcp sub
Prior art date
Application number
PCT/CN2020/116080
Other languages
French (fr)
Inventor
Jian Li
Changlong Xu
Kangqi LIU
Ruiming Zheng
Liangming WU
Hao Xu
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Priority to PCT/CN2020/116080 priority Critical patent/WO2022056807A1/en
Publication of WO2022056807A1 publication Critical patent/WO2022056807A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Definitions

  • the following relates to wireless communications, including rateless coding over a packet data convergence protocol (PDCP) layer.
  • PDCP packet data convergence protocol
  • Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power) .
  • Examples of such multiple-access systems include fourth generation (4G) systems such as Long Term Evolution (LTE) systems, LTE-Advanced (LTE-A) systems, or LTE-A Pro systems, and fifth generation (5G) systems which may be referred to as New Radio (NR) systems.
  • 4G systems such as Long Term Evolution (LTE) systems, LTE-Advanced (LTE-A) systems, or LTE-A Pro systems
  • 5G systems which may be referred to as New Radio (NR) systems.
  • a wireless multiple-access communications system may include one or more base stations or one or more network access nodes, each simultaneously supporting communication for multiple communication devices, which may be otherwise known as user equipment (UE) .
  • UE user equipment
  • Some wireless networks may support various different encoding procedures to encode data for transmission in the network. Techniques to support enhancements in such encoding procedures is desired.
  • the described techniques relate to improved methods, systems, devices, and apparatuses that support rateless coding over a packet data convergence protocol (PDCP) layer.
  • PDCP packet data convergence protocol
  • the described techniques provide support for the use of fountain codes for encoding communications data.
  • Fountain codes are rateless codes such that a coded packet may be comprised of a potentially limitless sequence of encoding symbols generated from a given set of source symbols. Examples of fountain codes may utilize Luby transform (LT) codes, Raptor codes, and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
  • RaptorQ codes are forward error correction codes that provide application-layer protection against network packet loss, and offer increased error performance compared to other Raptor codes. In some cases, RaptorQ techniques may be used as an erasure-correction coding at the application and packet data convergence protocol (PDCP) layers of a device.
  • PDCP packet data convergence protocol
  • a transmitting device may apply a RaptorQ coding procedure at a PDCP layer over one PDCP data packet.
  • the transmitting device may segment one PDCP into equal size sub-packets, and may use a RaptorQ code to encode the sub-packets, producing a rateless encoded output of encoded symbols.
  • the transmitting device may add a number of encoded symbol ID (ESI) bits and cyclic redundancy check (CRC) bits to each encoded symbol, and may apply a secondary encoding by applying using low-density parity check (LDPC) encoding to encode each of the symbols including the ESI and CRC bits.
  • LDPC low-density parity check
  • the transmitting device may transmit a threshold number of encoded data packets to a receiving device or continue transmitting encoded data packets until receiving a feedback message (e.g., an ACK) from the receiving device.
  • a feedback message e.g., an ACK
  • a method of wireless communications at a transmitting device may include segmenting a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generating a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generating a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmitting the second set of encoded PDCP sub-packets over a wireless channel.
  • the apparatus may include a processor, memory coupled with the processor, and instructions stored in the memory.
  • the instructions may be executable by the processor to cause the apparatus to segment a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packe
  • the apparatus may include means for segmenting a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generating a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generating a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmitting the second set of encoded PDCP sub-packets over a wireless channel.
  • a non-transitory computer-readable medium storing code for wireless communications at a transmitting device is described.
  • the code may include instructions executable by a processor to segment a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • segmenting the PDCP data packet further may include operations, features, means, or instructions for comparing an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof, and determining a number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
  • segmenting the PDCP data packet further may include operations, features, means, or instructions for allocating an equal number of bits to each sub-packet of the set of PDCP sub-packets.
  • a size of the second set of encoded PDCP sub-packets may be greater than a size of the first set of encoded PDCP sub-packets.
  • generating the second set of encoded PDCP sub-packets further may include operations, features, means, or instructions for generating a coding block for applying the error check code based on the encoding, applying the error check code to the generated coding block, and generating the second set of encoded PDCP sub-packets in accordance with the error check code.
  • the error check code includes a low-density parity-check LDPC code.
  • transmitting the second set of encoded PDCP sub-packets further may include operations, features, means, or instructions for , and continuing to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets may be satisfied, or a feedback message from a receiving device may be received, or both.
  • the threshold number of encoded PDCP sub-packets may be based on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  • the feedback message includes a positive ACK feedback message.
  • the rateless code includes a rapid tornado (Raptor) code.
  • a method of wireless communications at a receiving device may include receiving, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decoding the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
  • the apparatus may include a processor, memory coupled with the processor, and instructions stored in the memory.
  • the instructions may be executable by the processor to cause the apparatus to receive, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
  • the apparatus may include means for receiving, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decoding the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
  • a non-transitory computer-readable medium storing code for wireless communications at a receiving device is described.
  • the code may include instructions executable by a processor to receive, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
  • Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for comparing an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof, decoding the set of encoded PDCP sub-packets based on the comparison, and determining a number of sub-packets allocated to the set of encoded PDCP sub-packets based on the decoding.
  • a number of bits may be allocated to each sub-packet of the set of encoded PDCP sub-packets.
  • Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for decoding the set of encoded PDCP sub-packets on a coding block in accordance with the error check code.
  • the error check code includes a low-density parity-check LDPC code.
  • a threshold number of encoded PDCP sub-packets may be satisfied, or based on a transmission of a feedback message to a transmitting device, or both.
  • the threshold number of encoded PDCP sub-packets may be based on a number of encoded PDCP sub-packets allocated to the set of encoded PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  • the feedback message includes a positive ACK feedback message.
  • the rateless code includes a rapid tornado (Raptor) code.
  • FIG. 1 illustrates an example of a system for wireless communications that supports rateless coding over a packet data convergence protocol (PDCP) layer in accordance with aspects of the present disclosure.
  • PDCP packet data convergence protocol
  • FIG. 2 illustrates an example of a wireless communications system that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIG. 3 illustrates an example of an encoding procedure that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIG. 4 illustrates an example of a process flow that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIGs. 5 and 6 show block diagrams of devices that support rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIG. 7 shows a block diagram of a communications manager that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIG. 8 shows a diagram of a system including a device that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIGs. 9 and 10 show block diagrams of devices that support rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIG. 11 shows a block diagram of a communications manager that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIG. 12 shows a diagram of a system including a device that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • FIGs. 13 through 17 show flowcharts illustrating methods that support rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • Some wireless network may support the use of fountain codes that wireless devices may use to encode data for transmission.
  • Fountain codes are rateless codes in the sense that each coded packet produced may contain a potentially limitless sequence of encoding symbols generated from a given set of source symbols. Such encoding may allow for transmitted data packets to be recovered at a receiving device in cases where the number of received packets is slightly larger than that of the source packets.
  • fountain codes include Luby transform (LT) codes, Raptor codes (an enhanced code based on variations of low-density parity-check (LDPC) and LT codes) , and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
  • Raptor Q codes are forward error correction codes that provide application-layer protection against network packet loss, and offer increased error performance compared to other Raptor codes.
  • a sender application generates encoded data from source data using a RaptorQ encoder. The encoded data is sent over a network to a receiving device, which decodes the data using the RaptorQ decoder. In cases where a threshold amount of encoded data arrives at the receiving device, error-free decoding may be achieved independent of the pattern of packet loss.
  • a device may encode and decode a source block of data which is partitioned into equal-size source symbols.
  • An encoder generates repair symbols from the source symbols of a source block, where the repair symbols are the same size as the source symbols. Raptor codes may be used as an erasure-correction coding at the application and packet data convergence protocol (PDCP) layers of a device.
  • PDCP packet data convergence protocol
  • a transmitting device such as a base station, user equipment (UE) , or other wireless device, the may apply a RaptorQ coding procedure at a PDCP layer over one PDCP data packet.
  • the transmitting device may apply a RaptorQ code.
  • the transmitting device may segment one PDCP into a number (e.g., K) of equal size sub-packets, each sub-packet consisting of P bytes.
  • the transmitting device may use a RaptorQ code to encode the segmented PDCP over sub-packets, which may produce a rateless encoded output of encoded symbols.
  • the transmitting device may add a number of encoding symbol ID (ESI) bits and cyclic redundancy check (CRC) bits to each encoded symbol, and the transmitting device may apply a secondary encoding by applying using an error check code (e.g., a low-density parity check (LDPC) code) to encode each of the symbols including the ESI and CRC bits. Then, the transmitting device may transmit at least K encoded data packets to a receiving device, or the transmitting device may transmit encoded packets until receiving a feedback message (e.g., an ACK) from the receiving device.
  • a feedback message e.g., an ACK
  • aspects of the disclosure are initially described in the context of wireless communications systems. For example, aspects of the disclosure may be described in the context of communications between a transmitting device and a receiving device capable of supporting rateless coding. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, encoding procedures, system diagrams, process flows, and flowcharts that relate to rateless coding over a PDCP layer.
  • FIG. 1 illustrates an example of a wireless communications system 100 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the wireless communications system 100 may include one or more base stations 105, one or more UEs 115, and a core network 130.
  • the wireless communications system 100 may be a Long Term Evolution (LTE) network, an LTE-Advanced (LTE-A) network, an LTE-A Pro network, or a New Radio (NR) network.
  • LTE Long Term Evolution
  • LTE-A LTE-Advanced
  • LTE-A Pro LTE-A Pro
  • NR New Radio
  • the wireless communications system 100 may support enhanced broadband communications, ultra-reliable (e.g., mission critical) communications, low latency communications, communications with low-cost and low-complexity devices, or any combination thereof.
  • ultra-reliable e.g., mission critical
  • the base stations 105 may be dispersed throughout a geographic area to form the wireless communications system 100 and may be devices in different forms or having different capabilities.
  • the base stations 105 and the UEs 115 may wirelessly communicate via one or more communication links 125.
  • Each base station 105 may provide a coverage area 110 over which the UEs 115 and the base station 105 may establish one or more communication links 125.
  • the coverage area 110 may be an example of a geographic area over which a base station 105 and a UE 115 may support the communication of signals according to one or more radio access technologies.
  • the UEs 115 may be dispersed throughout a coverage area 110 of the wireless communications system 100, and each UE 115 may be stationary, or mobile, or both at different times.
  • the UEs 115 may be devices in different forms or having different capabilities. Some example UEs 115 are illustrated in FIG. 1.
  • the UEs 115 described herein may be able to communicate with various types of devices, such as other UEs 115, the base stations 105, or network equipment (e.g., core network nodes, relay devices, integrated access and backhaul (IAB) nodes, or other network equipment) , as shown in FIG. 1.
  • network equipment e.g., core network nodes, relay devices, integrated access and backhaul (IAB) nodes, or other network equipment
  • the base stations 105 may communicate with the core network 130, or with one another, or both.
  • the base stations 105 may interface with the core network 130 through one or more backhaul links 120 (e.g., via an S1, N2, N3, or other interface) .
  • the base stations 105 may communicate with one another over the backhaul links 120 (e.g., via an X2, Xn, or other interface) either directly (e.g., directly between base stations 105) , or indirectly (e.g., via core network 130) , or both.
  • the backhaul links 120 may be or include one or more wireless links.
  • One or more of the base stations 105 described herein may include or may be referred to by a person having ordinary skill in the art as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, an eNodeB (eNB) , a next-generation NodeB or a giga-NodeB (either of which may be referred to as a gNB) , a Home NodeB, a Home eNodeB, or other suitable terminology.
  • a base transceiver station a radio base station
  • an access point a radio transceiver
  • a NodeB an eNodeB (eNB)
  • eNB eNodeB
  • a next-generation NodeB or a giga-NodeB either of which may be referred to as a gNB
  • gNB giga-NodeB
  • a UE 115 may include or may be referred to as a mobile device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where the “device” may also be referred to as a unit, a station, a terminal, or a client, among other examples.
  • a UE 115 may also include or may be referred to as a personal electronic device such as a cellular phone, a personal digital assistant (PDA) , a tablet computer, a laptop computer, or a personal computer.
  • PDA personal digital assistant
  • a UE 115 may include or be referred to as a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, or a machine type communications (MTC) device, among other examples, which may be implemented in various objects such as appliances, or vehicles, meters, among other examples.
  • WLL wireless local loop
  • IoT Internet of Things
  • IoE Internet of Everything
  • MTC machine type communications
  • the UEs 115 described herein may be able to communicate with various types of devices, such as other UEs 115 that may sometimes act as relays as well as the base stations 105 and the network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations, among other examples, as shown in FIG. 1.
  • devices such as other UEs 115 that may sometimes act as relays as well as the base stations 105 and the network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations, among other examples, as shown in FIG. 1.
  • the UEs 115 and the base stations 105 may wirelessly communicate with one another via one or more communication links 125 over one or more carriers.
  • the term “carrier” may refer to a set of radio frequency spectrum resources having a defined physical layer structure for supporting the communication links 125.
  • a carrier used for a communication link 125 may include a portion of a radio frequency spectrum band (e.g., a bandwidth part (BWP) ) that is operated according to one or more physical layer channels for a given radio access technology (e.g., LTE, LTE-A, LTE-A Pro, NR) .
  • BWP bandwidth part
  • Each physical layer channel may carry acquisition signaling (e.g., synchronization signals, system information) , control signaling that coordinates operation for the carrier, user data, or other signaling.
  • the wireless communications system 100 may support communication with a UE 115 using carrier aggregation or multi-carrier operation.
  • a UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers according to a carrier aggregation configuration.
  • Carrier aggregation may be used with both frequency division duplexing (FDD) and time division duplexing (TDD) component carriers.
  • FDD frequency division duplexing
  • TDD time division duplexing
  • a carrier may also have acquisition signaling or control signaling that coordinates operations for other carriers.
  • a carrier may be associated with a frequency channel (e.g., an evolved universal mobile telecommunication system terrestrial radio access (E-UTRA) absolute radio frequency channel number (EARFCN) ) and may be positioned according to a channel raster for discovery by the UEs 115.
  • E-UTRA evolved universal mobile telecommunication system terrestrial radio access
  • a carrier may be operated in a standalone mode where initial acquisition and connection may be conducted by the UEs 115 via the carrier, or the carrier may be operated in a non-standalone mode where a connection is anchored using a different carrier (e.g., of the same or a different radio access technology) .
  • the communication links 125 shown in the wireless communications system 100 may include uplink transmissions from a UE 115 to a base station 105, or downlink transmissions from a base station 105 to a UE 115.
  • Carriers may carry downlink or uplink communications (e.g., in an FDD mode) or may be configured to carry downlink and uplink communications (e.g., in a TDD mode) .
  • a carrier may be associated with a particular bandwidth of the radio frequency spectrum, and in some examples the carrier bandwidth may be referred to as a “system bandwidth” of the carrier or the wireless communications system 100.
  • the carrier bandwidth may be one of a number of determined bandwidths for carriers of a particular radio access technology (e.g., 1.4, 3, 5, 10, 15, 20, 40, or 80 megahertz (MHz) ) .
  • Devices of the wireless communications system 100 e.g., the base stations 105, the UEs 115, or both
  • the wireless communications system 100 may include base stations 105 or UEs 115 that support simultaneous communications via carriers associated with multiple carrier bandwidths.
  • each served UE 115 may be configured for operating over portions (e.g., a sub-band, a BWP) or all of a carrier bandwidth.
  • Signal waveforms transmitted over a carrier may be made up of multiple subcarriers (e.g., using multi-carrier modulation (MCM) techniques such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM) ) .
  • MCM multi-carrier modulation
  • OFDM orthogonal frequency division multiplexing
  • DFT-S-OFDM discrete Fourier transform spread OFDM
  • a resource element may consist of one symbol period (e.g., a duration of one modulation symbol) and one subcarrier, where the symbol period and subcarrier spacing are inversely related.
  • the number of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the coding rate of the modulation scheme, or both) .
  • a wireless communications resource may refer to a combination of a radio frequency spectrum resource, a time resource, and a spatial resource (e.g., spatial layers or beams) , and the use of multiple spatial layers may further increase the data rate or data integrity for communications with a UE 115.
  • One or more numerologies for a carrier may be supported, where a numerology may include a subcarrier spacing ( ⁇ f) and a cyclic prefix.
  • a carrier may be divided into one or more BWPs having the same or different numerologies.
  • a UE 115 may be configured with multiple BWPs.
  • a single BWP for a carrier may be active at a given time and communications for the UE 115 may be restricted to one or more active BWPs.
  • Time intervals of a communications resource may be organized according to radio frames each having a specified duration (e.g., 10 milliseconds (ms) ) .
  • Each radio frame may be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023) .
  • SFN system frame number
  • Each frame may include multiple consecutively numbered subframes or slots, and each subframe or slot may have the same duration.
  • a frame may be divided (e.g., in the time domain) into subframes, and each subframe may be further divided into a number of slots.
  • each frame may include a variable number of slots, and the number of slots may depend on subcarrier spacing.
  • Each slot may include a number of symbol periods (e.g., depending on the length of the cyclic prefix prepended to each symbol period) .
  • a slot may further be divided into multiple mini-slots containing one or more symbols. Excluding the cyclic prefix, each symbol period may contain one or more (e.g., N f ) sampling periods. The duration of a symbol period may depend on the subcarrier spacing or frequency band of operation.
  • a subframe, a slot, a mini-slot, or a symbol may be the smallest scheduling unit (e.g., in the time domain) of the wireless communications system 100 and may be referred to as a transmission time interval (TTI) .
  • TTI duration e.g., the number of symbol periods in a TTI
  • the smallest scheduling unit of the wireless communications system 100 may be dynamically selected (e.g., in bursts of shortened TTIs (sTTIs) ) .
  • Physical channels may be multiplexed on a carrier according to various techniques.
  • a physical control channel and a physical data channel may be multiplexed on a downlink carrier, for example, using one or more of time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques.
  • a control region e.g., a control resource set (CORESET)
  • CORESET control resource set
  • a control region for a physical control channel may be defined by a number of symbol periods and may extend across the system bandwidth or a subset of the system bandwidth of the carrier.
  • One or more control regions (e.g., CORESETs) may be configured for a set of the UEs 115.
  • one or more of the UEs 115 may monitor or search control regions for control information according to one or more search space sets, and each search space set may include one or multiple control channel candidates in one or more aggregation levels arranged in a cascaded manner.
  • An aggregation level for a control channel candidate may refer to a number of control channel resources (e.g., control channel elements (CCEs) ) associated with encoded information for a control information format having a given payload size.
  • Search space sets may include common search space sets configured for sending control information to multiple UEs 115 and UE-specific search space sets for sending control information to a specific UE 115.
  • Each base station 105 may provide communication coverage via one or more cells, for example a macro cell, a small cell, a hot spot, or other types of cells, or any combination thereof.
  • the term “cell” may refer to a logical communication entity used for communication with a base station 105 (e.g., over a carrier) and may be associated with an identifier for distinguishing neighboring cells (e.g., a physical cell identifier (PCID) , a virtual cell identifier (VCID) , or others) .
  • a cell may also refer to a geographic coverage area 110 or a portion of a geographic coverage area 110 (e.g., a sector) over which the logical communication entity operates.
  • Such cells may range from smaller areas (e.g., a structure, a subset of structure) to larger areas depending on various factors such as the capabilities of the base station 105.
  • a cell may be or include a building, a subset of a building, or exterior spaces between or overlapping with geographic coverage areas 110, among other examples.
  • a macro cell generally covers a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by the UEs 115 with service subscriptions with the network provider supporting the macro cell.
  • a small cell may be associated with a lower-powered base station 105, as compared with a macro cell, and a small cell may operate in the same or different (e.g., licensed, unlicensed) frequency bands as macro cells.
  • Small cells may provide unrestricted access to the UEs 115 with service subscriptions with the network provider or may provide restricted access to the UEs 115 having an association with the small cell (e.g., the UEs 115 in a closed subscriber group (CSG) , the UEs 115 associated with users in a home or office) .
  • a base station 105 may support one or multiple cells and may also support communications over the one or more cells using one or multiple component carriers.
  • a carrier may support multiple cells, and different cells may be configured according to different protocol types (e.g., MTC, narrowband IoT (NB-IoT) , enhanced mobile broadband (eMBB) ) that may provide access for different types of devices.
  • protocol types e.g., MTC, narrowband IoT (NB-IoT) , enhanced mobile broadband (eMBB)
  • NB-IoT narrowband IoT
  • eMBB enhanced mobile broadband
  • a base station 105 may be movable and therefore provide communication coverage for a moving geographic coverage area 110.
  • different geographic coverage areas 110 associated with different technologies may overlap, but the different geographic coverage areas 110 may be supported by the same base station 105.
  • the overlapping geographic coverage areas 110 associated with different technologies may be supported by different base stations 105.
  • the wireless communications system 100 may include, for example, a heterogeneous network in which different types of the base stations 105 provide coverage for various geographic coverage areas 110 using the same or different radio access technologies.
  • the wireless communications system 100 may support synchronous or asynchronous operation.
  • the base stations 105 may have similar frame timings, and transmissions from different base stations 105 may be approximately aligned in time.
  • the base stations 105 may have different frame timings, and transmissions from different base stations 105 may, in some examples, not be aligned in time.
  • the techniques described herein may be used for either synchronous or asynchronous operations.
  • Some UEs 115 may be low cost or low complexity devices and may provide for automated communication between machines (e.g., via Machine-to-Machine (M2M) communication) .
  • M2M communication or MTC may refer to data communication technologies that allow devices to communicate with one another or a base station 105 without human intervention.
  • M2M communication or MTC may include communications from devices that integrate sensors or meters to measure or capture information and relay such information to a central server or application program that makes use of the information or presents the information to humans interacting with the application program.
  • Some UEs 115 may be designed to collect information or enable automated behavior of machines or other devices. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business charging.
  • Some UEs 115 may be configured to employ operating modes that reduce power consumption, such as half-duplex communications (e.g., a mode that supports one-way communication via transmission or reception, but not transmission and reception simultaneously) .
  • half-duplex communications may be performed at a reduced peak rate.
  • Other power conservation techniques for the UEs 115 include entering a power saving deep sleep mode when not engaging in active communications, operating over a limited bandwidth (e.g., according to narrowband communications) , or a combination of these techniques.
  • some UEs 115 may be configured for operation using a narrowband protocol type that is associated with a defined portion or range (e.g., set of subcarriers or resource blocks (RBs) ) within a carrier, within a guard-band of a carrier, or outside of a carrier.
  • a narrowband protocol type that is associated with a defined portion or range (e.g., set of subcarriers or resource blocks (RBs) ) within a carrier, within a guard-band of a carrier, or outside of a carrier.
  • the wireless communications system 100 may be configured to support ultra-reliable communications or low-latency communications, or various combinations thereof.
  • the wireless communications system 100 may be configured to support ultra-reliable low-latency communications (URLLC) or mission critical communications.
  • the UEs 115 may be designed to support ultra-reliable, low-latency, or critical functions (e.g., mission critical functions) .
  • Ultra-reliable communications may include private communication or group communication and may be supported by one or more mission critical services such as mission critical push-to-talk (MCPTT) , mission critical video (MCVideo) , or mission critical data (MCData) .
  • MCPTT mission critical push-to-talk
  • MCVideo mission critical video
  • MCData mission critical data
  • Support for mission critical functions may include prioritization of services, and mission critical services may be used for public safety or general commercial applications.
  • the terms ultra-reliable, low-latency, mission critical, and ultra-reliable low-latency may be used interchangeably herein.
  • a UE 115 may also be able to communicate directly with other UEs 115 over a device-to-device (D2D) communication link 135 (e.g., using a peer-to-peer (P2P) or D2D protocol) .
  • D2D device-to-device
  • P2P peer-to-peer
  • One or more UEs 115 utilizing D2D communications may be within the geographic coverage area 110 of a base station 105.
  • Other UEs 115 in such a group may be outside the geographic coverage area 110 of a base station 105 or be otherwise unable to receive transmissions from a base station 105.
  • groups of the UEs 115 communicating via D2D communications may utilize a one-to-many (1: M) system in which each UE 115 transmits to every other UE 115 in the group.
  • a base station 105 facilitates the scheduling of resources for D2D communications. In other cases, D2D communications are carried out between the UEs 115 without the involvement of a base station 105.
  • the D2D communication link 135 may be an example of a communication channel, such as a sidelink communication channel, between vehicles (e.g., UEs 115) .
  • vehicles may communicate using vehicle-to-everything (V2X) communications, vehicle-to-vehicle (V2V) communications, or some combination of these.
  • V2X vehicle-to-everything
  • V2V vehicle-to-vehicle
  • a vehicle may signal information related to traffic conditions, signal scheduling, weather, safety, emergencies, or any other information relevant to a V2X system.
  • vehicles in a V2X system may communicate with roadside infrastructure, such as roadside units, or with the network via one or more network nodes (e.g., base stations 105) using vehicle-to-network (V2N) communications, or with both.
  • V2N vehicle-to-network
  • the core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions.
  • the core network 130 may be an evolved packet core (EPC) or 5G core (5GC) , which may include at least one control plane entity that manages access and mobility (e.g., a mobility management entity (MME) , an access and mobility management function (AMF) ) and at least one user plane entity that routes packets or interconnects to external networks (e.g., a serving gateway (S-GW) , a Packet Data Network (PDN) gateway (P-GW) , or a user plane function (UPF) ) .
  • EPC evolved packet core
  • 5GC 5G core
  • MME mobility management entity
  • AMF access and mobility management function
  • S-GW serving gateway
  • PDN Packet Data Network gateway
  • UPF user plane function
  • the control plane entity may manage non-access stratum (NAS) functions such as mobility, authentication, and bearer management for the UEs 115 served by the base stations 105 associated with the core network 130.
  • NAS non-access stratum
  • User IP packets may be transferred through the user plane entity, which may provide IP address allocation as well as other functions.
  • the user plane entity may be connected to the network operators IP services 150.
  • the network operators IP services 150 may include access to the Internet, Intranet (s) , an IP Multimedia Subsystem (IMS) , or a Packet-Switched Streaming Service.
  • Some of the network devices may include subcomponents such as an access network entity 140, which may be an example of an access node controller (ANC) .
  • Each access network entity 140 may communicate with the UEs 115 through one or more other access network transmission entities 145, which may be referred to as radio heads, smart radio heads, or transmission/reception points (TRPs) .
  • Each access network transmission entity 145 may include one or more antenna panels.
  • various functions of each access network entity 140 or base station 105 may be distributed across various network devices (e.g., radio heads and ANCs) or consolidated into a single network device (e.g., a base station 105) .
  • the wireless communications system 100 may operate using one or more frequency bands, typically in the range of 300 megahertz (MHz) to 300 gigahertz (GHz) .
  • the region from 300 MHz to 3 GHz is known as the ultra-high frequency (UHF) region or decimeter band because the wavelengths range from approximately one decimeter to one meter in length.
  • UHF waves may be blocked or redirected by buildings and environmental features, but the waves may penetrate structures sufficiently for a macro cell to provide service to the UEs 115 located indoors.
  • the transmission of UHF waves may be associated with smaller antennas and shorter ranges (e.g., less than 100 kilometers) compared to transmission using the smaller frequencies and longer waves of the high frequency (HF) or very high frequency (VHF) portion of the spectrum below 300 MHz.
  • HF high frequency
  • VHF very high frequency
  • the wireless communications system 100 may also operate in a super high frequency (SHF) region using frequency bands from 3 GHz to 30 GHz, also known as the centimeter band, or in an extremely high frequency (EHF) region of the spectrum (e.g., from 30 GHz to 300 GHz) , also known as the millimeter band.
  • SHF super high frequency
  • EHF extremely high frequency
  • the wireless communications system 100 may support millimeter wave (mmW) communications between the UEs 115 and the base stations 105, and EHF antennas of the respective devices may be smaller and more closely spaced than UHF antennas. In some examples, this may facilitate use of antenna arrays within a device.
  • mmW millimeter wave
  • the propagation of EHF transmissions may be subject to even greater atmospheric attenuation and shorter range than SHF or UHF transmissions.
  • the techniques disclosed herein may be employed across transmissions that use one or more different frequency regions, and designated use of bands across these frequency regions may differ by country or regulating body.
  • the wireless communications system 100 may utilize both licensed and unlicensed radio frequency spectrum bands.
  • the wireless communications system 100 may employ License Assisted Access (LAA) , LTE-Unlicensed (LTE-U) radio access technology, or NR technology in an unlicensed band such as the 5 GHz industrial, scientific, and medical (ISM) band.
  • LAA License Assisted Access
  • LTE-U LTE-Unlicensed
  • NR NR technology
  • an unlicensed band such as the 5 GHz industrial, scientific, and medical (ISM) band.
  • devices such as the base stations 105 and the UEs 115 may employ carrier sensing for collision detection and avoidance.
  • operations in unlicensed bands may be based on a carrier aggregation configuration in conjunction with component carriers operating in a licensed band (e.g., LAA) .
  • Operations in unlicensed spectrum may include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among other examples.
  • a base station 105 or a UE 115 may be equipped with multiple antennas, which may be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communications, or beamforming.
  • the antennas of a base station 105 or a UE 115 may be located within one or more antenna arrays or antenna panels, which may support MIMO operations or transmit or receive beamforming.
  • one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower.
  • antennas or antenna arrays associated with a base station 105 may be located in diverse geographic locations.
  • a base station 105 may have an antenna array with a number of rows and columns of antenna ports that the base station 105 may use to support beamforming of communications with a UE 115.
  • a UE 115 may have one or more antenna arrays that may support various MIMO or beamforming operations.
  • an antenna panel may support radio frequency beamforming for a signal transmitted via an antenna port.
  • the base stations 105 or the UEs 115 may use MIMO communications to exploit multipath signal propagation and increase the spectral efficiency by transmitting or receiving multiple signals via different spatial layers. Such techniques may be referred to as spatial multiplexing.
  • the multiple signals may, for example, be transmitted by the transmitting device via different antennas or different combinations of antennas. Likewise, the multiple signals may be received by the receiving device via different antennas or different combinations of antennas.
  • Each of the multiple signals may be referred to as a separate spatial stream and may carry bits associated with the same data stream (e.g., the same codeword) or different data streams (e.g., different codewords) .
  • Different spatial layers may be associated with different antenna ports used for channel measurement and reporting.
  • MIMO techniques include single-user MIMO (SU-MIMO) , where multiple spatial layers are transmitted to the same receiving device, and multiple-user MIMO (MU-MIMO) , where multiple spatial layers are transmitted to multiple devices.
  • SU-MIMO single-user MIMO
  • Beamforming which may also be referred to as spatial filtering, directional transmission, or directional reception, is a signal processing technique that may be used at a transmitting device or a receiving device (e.g., a base station 105, a UE 115) to shape or steer an antenna beam (e.g., a transmit beam, a receive beam) along a spatial path between the transmitting device and the receiving device.
  • Beamforming may be achieved by combining the signals communicated via antenna elements of an antenna array such that some signals propagating at particular orientations with respect to an antenna array experience constructive interference while others experience destructive interference.
  • the adjustment of signals communicated via the antenna elements may include a transmitting device or a receiving device applying amplitude offsets, phase offsets, or both to signals carried via the antenna elements associated with the device.
  • the adjustments associated with each of the antenna elements may be defined by a beamforming weight set associated with a particular orientation (e.g., with respect to the antenna array of the transmitting device or receiving device, or with respect to some other orientation) .
  • a base station 105 or a UE 115 may use beam sweeping techniques as part of beam forming operations.
  • a base station 105 may use multiple antennas or antenna arrays (e.g., antenna panels) to conduct beamforming operations for directional communications with a UE 115.
  • Some signals e.g., synchronization signals, reference signals, beam selection signals, or other control signals
  • the base station 105 may transmit a signal according to different beamforming weight sets associated with different directions of transmission.
  • Transmissions in different beam directions may be used to identify (e.g., by a transmitting device, such as a base station 105, or by a receiving device, such as a UE 115) a beam direction for later transmission or reception by the base station 105.
  • a transmitting device such as a base station 105
  • a receiving device such as a UE 115
  • Some signals may be transmitted by a base station 105 in a single beam direction (e.g., a direction associated with the receiving device, such as a UE 115) .
  • the beam direction associated with transmissions along a single beam direction may be determined based on a signal that was transmitted in one or more beam directions.
  • a UE 115 may receive one or more of the signals transmitted by the base station 105 in different directions and may report to the base station 105 an indication of the signal that the UE 115 received with a highest signal quality or an otherwise acceptable signal quality.
  • transmissions by a device may be performed using multiple beam directions, and the device may use a combination of digital precoding or radio frequency beamforming to generate a combined beam for transmission (e.g., from a base station 105 to a UE 115) .
  • the UE 115 may report feedback that indicates precoding weights for one or more beam directions, and the feedback may correspond to a configured number of beams across a system bandwidth or one or more sub-bands.
  • the base station 105 may transmit a reference signal (e.g., a cell-specific reference signal (CRS) , a channel state information reference signal (CSI-RS) ) , which may be precoded or unprecoded.
  • a reference signal e.g., a cell-specific reference signal (CRS) , a channel state information reference signal (CSI-RS)
  • CRS cell-specific reference signal
  • CSI-RS channel state information reference signal
  • the UE 115 may provide feedback for beam selection, which may be a precoding matrix indicator (PMI) or codebook-based feedback (e.g., a multi-panel type codebook, a linear combination type codebook, a port selection type codebook) .
  • PMI precoding matrix indicator
  • codebook-based feedback e.g., a multi-panel type codebook, a linear combination type codebook, a port selection type codebook
  • a UE 115 may employ similar techniques for transmitting signals multiple times in different directions (e.g., for identifying a beam direction for subsequent transmission or reception by the UE 115) or for transmitting a signal in a single direction (e.g., for transmitting data to a receiving device) .
  • a receiving device may try multiple receive configurations (e.g., directional listening) when receiving various signals from the base station 105, such as synchronization signals, reference signals, beam selection signals, or other control signals.
  • receive configurations e.g., directional listening
  • a receiving device may try multiple receive directions by receiving via different antenna subarrays, by processing received signals according to different antenna subarrays, by receiving according to different receive beamforming weight sets (e.g., different directional listening weight sets) applied to signals received at multiple antenna elements of an antenna array, or by processing received signals according to different receive beamforming weight sets applied to signals received at multiple antenna elements of an antenna array, any of which may be referred to as “listening” according to different receive configurations or receive directions.
  • receive beamforming weight sets e.g., different directional listening weight sets
  • a receiving device may use a single receive configuration to receive along a single beam direction (e.g., when receiving a data signal) .
  • the single receive configuration may be aligned in a beam direction determined based on listening according to different receive configuration directions (e.g., a beam direction determined to have a highest signal strength, highest signal-to-noise ratio (SNR) , or otherwise acceptable signal quality based on listening according to multiple beam directions) .
  • SNR signal-to-noise ratio
  • the wireless communications system 100 may be a packet-based network that operates according to a layered protocol stack.
  • communications at the bearer or PDCP layer may be IP-based.
  • a Radio Link Control (RLC) layer may perform packet segmentation and reassembly to communicate over logical channels.
  • RLC Radio Link Control
  • a Medium Access Control (MAC) layer may perform priority handling and multiplexing of logical channels into transport channels.
  • the MAC layer may also use error detection techniques, error correction techniques, or both to support retransmissions at the MAC layer to improve link efficiency.
  • the Radio Resource Control (RRC) protocol layer may provide establishment, configuration, and maintenance of an RRC connection between a UE 115 and a base station 105 or a core network 130 supporting radio bearers for user plane data.
  • transport channels may be mapped to physical channels.
  • the UEs 115 and the base stations 105 may support retransmissions of data to increase the likelihood that data is received successfully.
  • Hybrid automatic repeat request (HARQ) feedback is one technique for increasing the likelihood that data is received correctly over a communication link 125.
  • HARQ may include a combination of error detection (e.g., using a cyclic redundancy check (CRC) ) , forward error correction (FEC) , and retransmission (e.g., automatic repeat request (ARQ) ) .
  • FEC forward error correction
  • ARQ automatic repeat request
  • HARQ may improve throughput at the MAC layer in poor radio conditions (e.g., low signal-to-noise conditions) .
  • a device may support same-slot HARQ feedback, where the device may provide HARQ feedback in a specific slot for data received in a previous symbol in the slot. In other cases, the device may provide HARQ feedback in a subsequent slot, or according to some other time interval.
  • Some wireless network may support the use of fountain codes for encoding communications data.
  • Fountain codes are rateless codes in the sense that a coded packet that is produced may be comprised of a potentially limitless sequence of encoding symbols generated from a given set of source symbols. Examples of fountain codes typically utilize LT codes, Raptor codes, and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
  • Raptor Q codes are forward error correction codes that provide application-layer protection against network packet loss, and offer increased error performance compared to other Raptor codes.
  • a sender application such as a UE 115 generates encoded data from source data using a RaptorQ encoder. The encoded data is sent over a network to receiver applications such as one or more base stations 105, and the one or more base stations 105 decode the data using a RaptorQ decoder.
  • Such RaptorQ techniques may allow for error-free decoding regardless of the pattern of packet loss and in some cases may be used as an erasure-correction coding at the application and packet data convergence protocol (PDCP) layers of a device.
  • PDCP packet data convergence protocol
  • a UE 115 may apply a RaptorQ coding procedure at a PDCP layer over one PDCP data packet. For each PDCP PDU, the UE 115 may apply one RaptorQ code. To encode the PDCP packet at the PDCP layer, the UE 115 may segment one PDCP into equal size sub-packets. The UE 115 may use a RaptorQ code to encode the segmented PDCP over the sub-packets, which may produce a rateless encoded output of encoded symbols.
  • the UE 115 may add a number of ESI and CRC bits to each encoded symbol, and the UE 115 may apply a secondary encoding by applying using LDPC encoding to encode each of the symbols including the ESI and CRC bits. Then, the UE 115 may transmit a threshold number of encoded data packets to a base station 105, or the UE 115 may transmit encoded packets until receiving a feedback message (e.g., an ACK) from the base station 105.
  • a feedback message e.g., an ACK
  • FIG. 2 illustrates an example of a wireless communications system 200 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • wireless communications system 200 may implement aspects of wireless communications system 100.
  • wireless communications system 200 may include a base station 105-a and a UE 115-a, which may be examples of UEs 115 and base stations 105 described herein.
  • UE 115-a may be configured or otherwise acting as a transmitting device performing a wireless transmission to base station 105-a, which may be configured or otherwise acting as a receiving device.
  • UE 115-a may implement various aspects of the described techniques when acting as or otherwise configured as a receiving device performing a wireless transmission to base station 105-a, which would be configured or otherwise acting as a transmitting device.
  • Some devices in a wireless network may employ the use of fountain codes to encode data for transmission.
  • Fountain codes are rateless codes in the sense that the coded packet is comprised of a potentially limitless sequence of encoding symbols that can be generated from a given set of source symbols. Such encoding may allow for transmitted data packets to be recovered at a receiving device as long as the number of received packets is slightly larger than that of the source packets.
  • Examples of fountain codes typically utilize a Luby transform (LT) codes, Raptor codes (an enhanced code based on variations of low-density parity-check (LDPC) and LT codes) , and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
  • Raptor Q codes are forward error correction codes that provide application-layer protection against network packet loss.
  • a sender application generates encoded data from source data using the RaptorQ encoder. The encoded data is sent over a network to receiver applications, and in some cases, some of the encoded data may be lost before it arrives at a receiver application.
  • the receiver application decodes the data using the RaptorQ decoder. As long as enough encoded data arrives at the receiver application, error-free decoding may be achieved, independent of the pattern of loss.
  • a device may encode and decode a source block of data which is partitioned into equal-size source symbols. An encoder generates repair symbols from the source symbols of a source block, where the repair symbols are the same size as the source symbols. Raptor codes may be used as an erasure-correction coding, particularly at the application layer. Accordingly, each encoded symbol would either be decoded correctly or discarded by the base station 105-a.
  • a transmitting device such as the UE 115-a may apply a RaptorQ coding procedure 210 at the PDCP layer over one PDCP data packet.
  • the UE 115-a may apply one RaptorQ code.
  • the UE 115-a may segment one PDCP into a number (e.g., K) of sub-packets, each sub-packet consisting of P bytes.
  • the UE 115-a may segment the PDCP such that each sub-packet is equal in size.
  • the UE 115-a may use a RaptorQ code to encode the segmented PDCP over K symbols (e.g., where each symbol is the sub-packet) . Applying the RaptorQ code to produce a rateless encoded output of encoded symbols.
  • the UE 115-a may identify a number of ESI and CRC bits to add to each output of encoded symbols. Upon the addition of the ESI and CRC bits, each output may consist of M bytes where the number of bytes after the addition of the ESI and CRC bits is greater than the number of bytes of the original sub-packet (e.g., M>P) .
  • the UE 115-a may apply a secondary encoding by applying an error check code (e.g., an LDPC code) to encode each of the sub-packets including the ESI and CRC bits, (e.g., 8*M bits) .
  • the UE 115-a may transmit at least K encoded data packets or codewords, or may transmit a threshold number of data packets, or until the UE 115-a receives a feedback message (e.g., an ACK) from the base station 105-a.
  • an error check code e.g., an LDPC code
  • a PDCP data packet may include 9000 bytes of data, which may be segmented into 18 equal size sub-packets consisting of 500 bytes each.
  • RaptorQ coding may be used to encode over 18 symbols (e.g., where each symbol is a 500 byte subpacket) to produce the rateless encoded output.
  • the RaptorQ encoder at the UE 115-a may add 2 bytes of encoding symbol IDs (ESI) and 3 bytes of cyclic redundancy check (CRC) to the encoded output, such that the encoded output is 505 bytes.
  • low-density parity check codes may be used to encode each 4040 bits (505 bytes) by setting the LDPC code block size to 4040 bits, and applying LDPC to encode.
  • the UE 115-a may transmit least 18 codewords (e.g., each 505 bytes are equal to an LDPC codeword) to the base station (e.g., via packet transmission 205) , and up to the number of codewords until ACK is received or the maximum number of codewords are transmitted.
  • the number of symbols in which the PDCP is segmented may be dynamically selected by the UE 115-a, or may be selected based on a number of system factors.
  • the parameter K may be dependent on the amount of overhead or the error performance of the RaptorQ code (e.g., ) .
  • the LDPC encoding for example, LDPC code has lower error performance with large code length.
  • there is may be a selection tradeoff for K. For example, in examples where K is large, the RaptorQ code overhead is relatively small, the ESI and CRC overhead is relatively large, and LDPC codelength is small.
  • the RaptorQ code overhead may be relatively large, the ESI and CRC overhead is relatively small, and LDPC codelength is large.
  • the UE 115-a may select values of K based on the tradeoff or based on system requirements.
  • FIG. 3 illustrates an example of an encoding procedure 300 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the encoding procedure 300 may implement aspects of wireless communications system 100. Encoding procedure 300 may be performed at a transmitting device or a receiving device such as a UE 115 and base station 105 which may be examples of the corresponding devices described herein.
  • Encoding procedure 300 may utilize fountain codes, which are rateless codes in that may be used to encode a given source block of data consisting of a number k of equal size symbols into a potentially limitless sequence of encoding symbols.
  • the transmitted packets 305 may be recovered at the receiver side so long as the number of received packets 310 is slightly larger than the number of source packets (regardless of which packets are received and successfully decoded) .
  • rateless codes include Luby transform (LT) codes, Raptor codes (an enhanced code based on variations of low-density parity-check (LDPC) and LT codes) , and RaptorQ codes.
  • Fountain codes may also be referred to as network codes because they may be applied to the network/application layer (e.g., for MBMS, IAB, and the like) .
  • each encoded symbol may be either be decoded correctly or discarded (e.g., the encoded packet (s) transmitted during a symbol) .
  • This approach permits a source block number (SBN) , a symbol identifier (ESI) , or a number of CSI bits associated with the packet (s) to be added to the encoded symbols.
  • SBN generally corresponds to an integer identifier for the source block (e.g., the column of the original generator matrix 315) that the encoded symbols within the packet relate to.
  • the ESI generally corresponds to an integer identifier for the encoding symbols within the packet.
  • Each encoded packet may include the SBN (e.g., the first 16 bits) , the ESI (e.g., the last 16 bits) , and the encoding symbol (s) .
  • the transmitting device and receiving device may determine which source symbols (e.g., which column of the original generator matrix 315) were selected to generate the encoded symbol.
  • fountain codes are rateless codes with an unlimited number of columns in the original generator matrix 315 generated by the transmitting device.
  • the transmitting device may have K symbols 320 for transmission to the receiving device.
  • the original generator matrix 315 may therefore be generated with K rows (corresponding to the K symbols 320) and, as the fountain code is a rateless code, a potentially infinite number of columns.
  • the number of transmitted packets may correspond to the formula:
  • the original generator matrix 315 may begin with the unit matrix.
  • the recovered packets (e.g., the received packets 310) may correspond to the formula:
  • G′ may be invertible or the rank of G′ being K.
  • a design rule for the original generator matrix 315 is that G′ is invertible with minimum N.
  • the encoding process for each encoding symbol may include the transmitting device randomly choosing a degree d i from a degree distribution and randomly choosing d i distinct source symbols with uniform distribution and performing an exclusive or (XOR) function to encode the symbols.
  • XOR exclusive or
  • Raptor codes generally reduce the encoding and decoding complexity of LT codes.
  • a device may encode and decode a source block of data which is partitioned into equal-size source symbols.
  • An encoder generates repair symbols from the source symbols of a source block, where the repair symbols are the same size as the source symbols and the encoded symbols that can be sent consist of the combination of the source symbols and the repair symbols.
  • Raptor codes may be used as an erasure-correction coding, particularly at the application layer. Accordingly, each encoded symbol would either be decoded correctly or discarded by the receiving device.
  • Raptor codes may have lower error performance as compared to LT codes or other Raptor codes.
  • a Raptor code may be associated with an error performance metric equal to while a RaptorQ code may have an error equal to where ⁇ is the number of associated overhead symbols (e.g., a ratio of output symbols to input symbols) .
  • a UE may encode a packet for transmission to a base station (the receiving device in this example) using rateless codes (e.g., such as a RaptorQ code) at a PDCP layer, which may increase link reliability without causing significant latency issues and/or protocol change.
  • rateless codes e.g., such as a RaptorQ code
  • the UE may segment one PDCP into K equal size sub-packets, each sub-packet consisting of P bytes.
  • the UE may apply a RaptorQ code to encode over K symbols (where each symbol is the subpacket) , suing encoding procedure 300 to produce a rateless encoded output.
  • the UE may add additional ESI and CRC bits to each encoded output, therefore each output is M bytes (where M>P) , and may use an LDPC to encode each output.
  • the UE may transmit at least K codewords, or transmit codewords until a feedback message (e.g., ACK) is received or until a threshold number of transmissions is achieved.
  • a feedback message e.g., ACK
  • FIG. 4 illustrates an example of a process flow 400 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • process flow 400 may implement aspects of wireless communications system 100.
  • wireless communications system 200 may include a base station 105-b and a UE 115-b, which may be examples of UEs 115 and base stations 105 described herein.
  • the UE 115-b is shown as the transmitter, and the base station 105-b is shown as the receiver.
  • either type of device can act as a transmitter or receiver, and other types of wireless devices may also act as a transmitter or receiver according to the process flow 400.
  • UE 115-b may be configured or otherwise acting as a transmitting device performing a wireless transmission to base station 105-b, which may be configured or otherwise acting as a receiving device.
  • UE 115-b may implement various aspects of the described techniques when acting as or otherwise configured as a receiving device performing a wireless transmission to base station 105-b, which would be configured or otherwise acting as a transmitting device.
  • a PDCP data packet may be segmented into a set of PDCP sub-packets at a PDCP layer of the UE 115-b, where each PDCP sub-packet contains a number of data bits.
  • a PDCP packet may contain a number of bytes (e.g., 9000 bytes) .
  • the UE 115-b may allocate an equal number of bits to each sub-packet of the set of PDCP sub-packets. For example, the UE 115-b may segment the 9000 byte PDCP packet into 18 equal size (e.g., 500 byte) sub-packets. In some other examples, the UE 115-b may segment the PDCP into a number of different size sub-packets.
  • the UE 115-b may identify an overhead value associated with the rateless code (e.g., a ratio of output symbols to input symbols of the rateless code) , and may compare the overhead value with a value of ESI bits and CRC bits. The UE 115-b may determine the number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
  • an overhead value associated with the rateless code e.g., a ratio of output symbols to input symbols of the rateless code
  • the UE 115-b may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets with a rateless code (e.g., a RaptorQ code) .
  • the UE 115-b may use the rateless code to encode over the PDCP subpackets to produce a rateless encoded output based on the rateless encoding.
  • the UE 115-b may use the RaptorQ code to encode over the 18 equal size PDCP sub-packets.
  • the UE 115-b may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI bits and CRC bits in accordance with an error check code. For example, the UE 115-b may add a number of bytes of ESI (e.g., 2 bytes ESI) and CRC (e.g., 3 bytes CRC) to each rateless encoded PDCP sub-packet.
  • ESI e.g., 2 bytes ESI
  • CRC e.g., 3 bytes CRC
  • the addition of the ESI and CRC bytes may increase the encoded output size to 505 bytes, and the UE 115-b may apply an error check code such as an LDPC code to encode the first set of encoded PDCP sub-packets to generate the second set of encoded PDCP sub-packets.
  • an error check code such as an LDPC code
  • the size of the second set of encoded PDCP sub-packets is greater than the size of the first set of encoded PDCP sub-packets (e.g., the second set of sub-packets includes a larger number of bits relative to the first set of sub-packets) .
  • the UE 115-b may generate a coding block for applying the error check code to the first encoded output. For example, in cases where an LDPC code is used, the UE 115-b may set an LDPC code block size equal to the size of the encoded output (with ESI and CRC bits) . The UE 115-b may apply the error check code to the generated coding block, and may generate the second set of encoded PDCP sub-packets in accordance with the error check code.
  • the UE 115-b may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the UE 115-b may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of a threshold number of encoded PDCP sub-packets is satisfied.
  • the threshold number of encoded PDCP sub-packets may be based on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  • the UE 115-b may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until a feedback message (e.g., an acknowledgement (ACK) message) from a receiving device such as base station 105-b is received.
  • a feedback message e.g., an acknowledgement (ACK) message
  • base station 105-b may receive, at a PDCP layer, an encoded packet data convergence protocol (PDCP) data packet comprising a set of encoded sub-packets, where each sub-packet of the set of encoded PDCP sub-packets comprises a number of bits.
  • PDCP packet data convergence protocol
  • the base station may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with the respective sets of ESI bits and CRC bits.
  • FIG. 5 shows a block diagram 500 of a device 505 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the device 505 may be an example of, or implement aspects of, a UE 115 or a base station 105 as described herein.
  • the device 505 may include a receiver 510, a communications manager 515, and a transmitter 520.
  • the device 505 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
  • the receiver 510 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 505.
  • the receiver 510 may be an example of aspects of the transceiver 820 described with reference to FIG. 8.
  • the receiver 510 may utilize a single antenna or a set of antennas.
  • the communications manager 515 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the communications manager 515 may be an example of aspects of the communications manager 810 described herein.
  • the communications manager 515 may be implemented in hardware, code (e.g., software or firmware) executed by a processor, or any combination thereof. If implemented in code executed by a processor, the functions of the communications manager 515, or its sub-components may be executed by a general-purpose processor, a DSP, an application-specific integrated circuit (ASIC) , a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.
  • code e.g., software or firmware
  • ASIC application-specific integrated circuit
  • the communications manager 515 may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical components.
  • the communications manager 515, or its sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure.
  • the communications manager 515, or its sub-components may be combined with one or more other hardware components, including but not limited to an input/output (I/O) component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
  • I/O input/output
  • the transmitter 520 may transmit signals generated by other components of the device 505.
  • the transmitter 520 may be collocated with a receiver 510 in a transceiver module.
  • the transmitter 520 may be an example of aspects of the transceiver 820 described with reference to FIG. 8.
  • the transmitter 520 may utilize a single antenna or a set of antennas.
  • communications manager 515 may be implemented as an integrated circuit or chipset for a mobile device modem, and the receiver 510 and transmitter 520 may be implemented as analog components (e.g., amplifiers, filters, and antennas) coupled with the mobile device modem to enable wireless transmission and reception.
  • analog components e.g., amplifiers, filters, and antennas
  • the communications manager 515 as described herein may be implemented to realize one or more potential advantages. At least one implementation may enable communications manager 515 to effectively implement techniques of rateless coding such as RaptorQ encoding at the PDCP layer of a device. In some other implementations, the communications manager 515 may apply additional error encoding techniques such as LDPC encoding at a PDCP layer of the device. By implementing rateless coding, wireless throughput may be increased and the overhead associated with control signaling, such as acknowledgment/negative acknowledgment HARQ feedback and the scheduling of retransmissions, may be reduced.
  • rateless coding wireless throughput may be increased and the overhead associated with control signaling, such as acknowledgment/negative acknowledgment HARQ feedback and the scheduling of retransmissions, may be reduced.
  • one or more processors of the device 505 may provide application-layer and PDCP-layer protection against network packet loss.
  • processors of the device 505 may provide application-layer and PDCP-layer protection against network packet loss.
  • RaptorQ code By applying a RaptorQ code, a device may be able recover data lost in transmission and reconstruct the data.
  • Such techniques may allow for high quality-of-service (QoS) and communications efficiency in the wireless network.
  • FIG. 6 shows a block diagram 600 of a device 605 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the device 605 may be an example of aspects of a device 505, or a UE 115 as described herein.
  • the device 605 may include a receiver 610, a communications manager 615, and a transmitter 635.
  • the device 605 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
  • the receiver 610 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 605.
  • the receiver 610 may be an example of aspects of the transceiver 820 described with reference to FIG. 8.
  • the receiver 610 may utilize a single antenna or a set of antennas.
  • the communications manager 615 may be an example of aspects of the communications manager 515 as described herein.
  • the communications manager 615 may include a PDCP segmenting component 620, a PDCP sub-packet encoding component 625, and a PDCP sub-packet transmission component 630.
  • the communications manager 615 may be an example of aspects of the communications manager 810 described herein.
  • the PDCP segmenting component 620 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the PDCP sub-packet encoding component 625 may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code and generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code.
  • the PDCP sub-packet transmission component 630 may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the transmitter 635 may transmit signals generated by other components of the device 605.
  • the transmitter 635 may be collocated with a receiver 610 in a transceiver module.
  • the transmitter 635 may be an example of aspects of the transceiver 820 described with reference to FIG. 8.
  • the transmitter 635 may utilize a single antenna or a set of antennas.
  • FIG. 7 shows a block diagram 700 of a communications manager 705 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the communications manager 705 may be an example of aspects of a communications manager 515, a communications manager 615, or a communications manager 810 described herein.
  • the communications manager 705 may include a PDCP segmenting component 710, a PDCP sub-packet encoding component 715, a PDCP sub-packet transmission component 720, an overhead component 725, a coding block generation component 730, an error check code application component 735, a feedback component 740, and a raptor coding component 745.
  • Each of these modules may communicate, directly or indirectly, with one another (e.g., via one or more buses) .
  • the PDCP segmenting component 710 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the PDCP segmenting component 710 may allocate an equal number of bits to each sub-packet of the set of PDCP sub-packets. In some cases, a size of the second set of encoded PDCP sub-packets is greater than a size of the first set of encoded PDCP sub-packets.
  • the PDCP sub-packet encoding component 715 may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code.
  • the Raptor coding component 745 may identify the rateless code as a rapid tornado (Raptor) code.
  • the PDCP sub-packet encoding component 715 may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID (ESI) and CRC bits in accordance with an error check code.
  • ESE encoding symbol ID
  • the overhead component 725 may compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof.
  • the PDCP segmenting component 710 may determine a number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
  • the PDCP sub-packet encoding component 715 may generate the second set of encoded PDCP sub-packets in accordance with the error check code.
  • the PDCP sub-packet transmission component 720 may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the PDCP sub-packet encoding component 715 may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or a feedback message from a receiving device is received, or both.
  • the feedback component 740 may identify the feedback message as including a positive ACK feedback message.
  • the threshold number of encoded PDCP sub-packets is based on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  • the coding block generation component 730 may generate a coding block for applying the error check code based on the encoding.
  • the error check code application component 735 may apply the error check code to the generated coding block.
  • the error check code includes a low-density parity-check (LDPC) code.
  • FIG. 8 shows a diagram of a system 800 including a device 805 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the device 805 may be an example of or include the components of device 505, device 605, or a UE 115 as described herein.
  • the device 805 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including a communications manager 810, an I/O controller 815, a transceiver 820, an antenna 825, memory 830, and a processor 840. These components may be in electronic communication via one or more buses (e.g., bus 845) .
  • buses e.g., bus 845
  • the communications manager 810 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the I/O controller 815 may manage input and output signals for the device 805.
  • the I/O controller 815 may also manage peripherals not integrated into the device 805.
  • the I/O controller 815 may represent a physical connection or port to an external peripheral.
  • the I/O controller 815 may utilize an operating system such as or another known operating system.
  • the I/O controller 815 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device.
  • the I/O controller 815 may be implemented as part of a processor.
  • a user may interact with the device 805 via the I/O controller 815 or via hardware components controlled by the I/O controller 815.
  • the transceiver 820 may communicate bi-directionally, via one or more antennas, wired, or wireless links as described above.
  • the transceiver 820 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver.
  • the transceiver 820 may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.
  • the wireless device may include a single antenna 825. However, in some cases the device may have more than one antenna 825, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.
  • the memory 830 may include RAM and ROM.
  • the memory 830 may store computer-readable, computer-executable code 835 including instructions that, when executed, cause the processor to perform various functions described herein.
  • the memory 830 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
  • the processor 840 may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) .
  • the processor 840 may be configured to operate a memory array using a memory controller.
  • a memory controller may be integrated into the processor 840.
  • the processor 840 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 830) to cause the device 805 to perform various functions (e.g., functions or tasks supporting rateless coding over a PDCP layer) .
  • the code 835 may include instructions to implement aspects of the present disclosure, including instructions to support wireless communications.
  • the code 835 may be stored in a non-transitory computer-readable medium such as system memory or other type of memory.
  • the code 835 may not be directly executable by the processor 840 but may cause a computer (e.g., when compiled and executed) to perform functions described herein.
  • FIG. 9 shows a block diagram 900 of a device 905 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the device 905 may be an example of, or may implement aspects of, a UE 115 or base station 105 as described herein.
  • the device 905 may include a receiver 910, a communications manager 915, and a transmitter 920.
  • the device 905 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
  • the receiver 910 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 905.
  • the receiver 910 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12.
  • the receiver 910 may utilize a single antenna or a set of antennas.
  • the communications manager 915 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
  • the communications manager 915 may be an example of aspects of the communications manager 1210 described herein.
  • the communications manager 915 may be implemented in hardware, code (e.g., software or firmware) executed by a processor, or any combination thereof. If implemented in code executed by a processor, the functions of the communications manager 915, or its sub-components may be executed by a general-purpose processor, a DSP, an application-specific integrated circuit (ASIC) , a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.
  • code e.g., software or firmware
  • ASIC application-specific integrated circuit
  • the communications manager 915 may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical components.
  • the communications manager 915, or its sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure.
  • the communications manager 915, or its sub-components may be combined with one or more other hardware components, including but not limited to an input/output (I/O) component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
  • I/O input/output
  • the transmitter 920 may transmit signals generated by other components of the device 905.
  • the transmitter 920 may be collocated with a receiver 910 in a transceiver module.
  • the transmitter 920 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12.
  • the transmitter 920 may utilize a single antenna or a set of antennas.
  • communications manager 915 may be implemented as an integrated circuit or chipset for a mobile device modem, and the receiver 910 and transmitter 920 may be implemented as analog components (e.g., amplifiers, filters, and antennas) coupled with the mobile device modem to enable wireless transmission and reception.
  • analog components e.g., amplifiers, filters, and antennas
  • the communications manager 915 as described herein may be implemented to realize one or more potential advantages. At least one implementation may enable communications manager 915 to effectively implement techniques of rateless coding such as decoding RaptorQ encoded data. In some other implementations, the communications manager 915 may be able to reproduce packets that may be lost in transmission from the transmitting device. By implementing rateless coding, wireless throughput may be increased and the overhead associated with control signaling, such as acknowledgment/negative acknowledgment HARQ feedback and the scheduling of retransmissions, may be reduced.
  • rateless coding wireless throughput may be increased and the overhead associated with control signaling, such as acknowledgment/negative acknowledgment HARQ feedback and the scheduling of retransmissions, may be reduced.
  • one or more processors of the device 905 may provide application-layer and PDCP-layer protection against network packet loss.
  • processors of the device 905 may provide application-layer and PDCP-layer protection against network packet loss.
  • a receiving device may be able recover data lost in transmission and reconstruct the data.
  • Such techniques may allow for high quality-of-service (QoS) and communications efficiency in the wireless network.
  • FIG. 10 shows a block diagram 1000 of a device 1005 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the device 1005 may be an example of aspects of a device 905, or a base station 105 as described herein.
  • the device 1005 may include a receiver 1010, a communications manager 1015, and a transmitter 1030.
  • the device 1005 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
  • the receiver 1010 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 1005.
  • the receiver 1010 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12.
  • the receiver 1010 may utilize a single antenna or a set of antennas.
  • the communications manager 1015 may be an example of aspects of the communications manager 915 as described herein.
  • the communications manager 1015 may include an encoded PDCP sub-packet receiver 1020 and an encoded PDCP sub-packet decoder 1025.
  • the communications manager 1015 may be an example of aspects of the communications manager 1210 described herein.
  • the encoded PDCP sub-packet receiver 1020 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the encoded PDCP sub-packet decoder 1025 may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
  • the transmitter 1030 may transmit signals generated by other components of the device 1005.
  • the transmitter 1030 may be collocated with a receiver 1010 in a transceiver module.
  • the transmitter 1030 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12.
  • the transmitter 1030 may utilize a single antenna or a set of antennas.
  • FIG. 11 shows a block diagram 1100 of a communications manager 1105 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the communications manager 1105 may be an example of aspects of a communications manager 915, a communications manager 1015, or a communications manager 1210 described herein.
  • the communications manager 1105 may include an encoded PDCP sub-packet receiver 1110, an encoded PDCP sub-packet decoder 1115, an overhead component 1120, an error check code decoding component 1125, a feedback component 1130, and a raptor coding component 1135. Each of these modules may communicate, directly or indirectly, with one another (e.g., via one or more buses) .
  • the encoded PDCP sub-packet receiver 1110 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits. In some cases, a number of bits is allocated to each sub-packet of the set of PDCP sub-packets.
  • the encoded PDCP sub-packet decoder 1115 may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
  • the Raptor coding component 1135 may identify the rateless code as a rapid tornado (Raptor) code.
  • the encoded PDCP sub-packet decoder 1115 may determine a number of sub-packets allocated to the set of encoded PDCP sub-packets based on the decoding. In some examples, the encoded PDCP sub-packet decoder 1115 may continue to receive and decode encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or based on a transmission of a feedback message to the transmitting device, or both. The feedback component 1130 may identify the feedback message as a positive ACK feedback message.
  • the threshold number of encoded PDCP sub-packets is based on a number of encoded PDCP sub-packets allocated to the set of encoded PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  • the overhead component 1120 may compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof.
  • the encoded PDCP sub-packet decoder 1115 may decode the set of encoded PDCP sub-packets based on the comparison.
  • the error check code decoding component 1125 may decode the set of encoded PDCP sub-packets on a coding block in accordance with the error check code.
  • the error check code includes a low-density parity-check (LDPC) code.
  • FIG. 12 shows a diagram of a system 1200 including a device 1205 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the device 1205 may be an example of or include the components of device 905, device 1005, or a base station 105 as described herein.
  • the device 1205 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including a communications manager 1210, a network communications manager 1215, a transceiver 1220, an antenna 1225, memory 1230, a processor 1240, and an inter-station communications manager 1245. These components may be in electronic communication via one or more buses (e.g., bus 1250) .
  • buses e.g., bus 1250
  • the communications manager 1210 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
  • the network communications manager 1215 may manage communications with the core network (e.g., via one or more wired backhaul links) .
  • the network communications manager 1215 may manage the transfer of data communications for client devices, such as one or more UEs 115.
  • the transceiver 1220 may communicate bi-directionally, via one or more antennas, wired, or wireless links as described above.
  • the transceiver 1220 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver.
  • the transceiver 1220 may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.
  • the wireless device may include a single antenna 1225. However, in some cases the device may have more than one antenna 1225, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.
  • the memory 1230 may include RAM, ROM, or a combination thereof.
  • the memory 1230 may store computer-readable code 1235 including instructions that, when executed by a processor (e.g., the processor 1240) cause the device to perform various functions described herein.
  • a processor e.g., the processor 1240
  • the memory 1230 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
  • the processor 1240 may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) .
  • the processor 1240 may be configured to operate a memory array using a memory controller.
  • a memory controller may be integrated into processor 1240.
  • the processor 1240 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 1230) to cause the device 1205 to perform various functions (e.g., functions or tasks supporting rateless coding over a PDCP layer) .
  • the inter-station communications manager 1245 may manage communications with other base station 105, and may include a controller or scheduler for controlling communications with UEs 115 in cooperation with other base stations 105. For example, the inter-station communications manager 1245 may coordinate scheduling for transmissions to UEs 115 for various interference mitigation techniques such as beamforming or joint transmission. In some examples, the inter-station communications manager 1245 may provide an X2 interface within a wireless communication network technology to provide communication between base stations 105.
  • the code 1235 may include instructions to implement aspects of the present disclosure, including instructions to support wireless communications.
  • the code 1235 may be stored in a non-transitory computer-readable medium such as system memory or other type of memory. In some cases, the code 1235 may not be directly executable by the processor 1240 but may cause a computer (e.g., when compiled and executed) to perform functions described herein.
  • FIG. 13 shows a flowchart illustrating a method 1300 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the operations of method 1300 may be implemented by a UE 115 or its components as described herein.
  • the operations of method 1300 may be performed by a communications manager as described with reference to FIGs. 5 through 8.
  • a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
  • the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the operations of 1305 may be performed according to the methods described herein. In some examples, aspects of the operations of 1305 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
  • the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code.
  • the operations of 1310 may be performed according to the methods described herein. In some examples, aspects of the operations of 1310 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code.
  • the operations of 1315 may be performed according to the methods described herein. In some examples, aspects of the operations of 1315 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the operations of 1320 may be performed according to the methods described herein. In some examples, aspects of the operations of 1320 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
  • FIG. 14 shows a flowchart illustrating a method 1400 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the operations of method 1400 may be implemented by a UE 115 or its components as described herein.
  • the operations of method 1400 may be performed by a communications manager as described with reference to FIGs. 5 through 8.
  • a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
  • the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the operations of 1405 may be performed according to the methods described herein. In some examples, aspects of the operations of 1405 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
  • the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code.
  • the operations of 1410 may be performed according to the methods described herein. In some examples, aspects of the operations of 1410 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code.
  • the operations of 1415 may be performed according to the methods described herein. In some examples, aspects of the operations of 1415 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof.
  • the operations of 1420 may be performed according to the methods described herein. In some examples, aspects of the operations of 1420 may be performed by an overhead component as described with reference to FIGs. 5 through 8.
  • the UE may determine a number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
  • the operations of 1425 may be performed according to the methods described herein. In some examples, aspects of the operations of 1425 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
  • the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the operations of 1430 may be performed according to the methods described herein. In some examples, aspects of the operations of 1430 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
  • FIG. 15 shows a flowchart illustrating a method 1500 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the operations of method 1500 may be implemented by a UE 115 or its components as described herein.
  • the operations of method 1500 may be performed by a communications manager as described with reference to FIGs. 5 through 8.
  • a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
  • the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the operations of 1505 may be performed according to the methods described herein. In some examples, aspects of the operations of 1505 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
  • the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code.
  • the operations of 1510 may be performed according to the methods described herein. In some examples, aspects of the operations of 1510 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code.
  • the operations of 1515 may be performed according to the methods described herein. In some examples, aspects of the operations of 1515 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may generate a coding block for applying the error check code based on the encoding.
  • the operations of 1520 may be performed according to the methods described herein. In some examples, aspects of the operations of 1520 may be performed by a coding block generation component as described with reference to FIGs. 5 through 8.
  • the UE may apply the error check code to the generated coding block.
  • the operations of 1525 may be performed according to the methods described herein. In some examples, aspects of the operations of 1525 may be performed by an error check code application component as described with reference to FIGs. 5 through 8.
  • the UE may generate the second set of encoded PDCP sub-packets in accordance with the error check code.
  • the operations of 1530 may be performed according to the methods described herein. In some examples, aspects of the operations of 1530 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the operations of 1535 may be performed according to the methods described herein. In some examples, aspects of the operations of 1535 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
  • FIG. 16 shows a flowchart illustrating a method 1600 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the operations of method 1600 may be implemented by a UE 115 or its components as described herein.
  • the operations of method 1600 may be performed by a communications manager as described with reference to FIGs. 5 through 8.
  • a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
  • the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the operations of 1605 may be performed according to the methods described herein. In some examples, aspects of the operations of 1605 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
  • the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code.
  • the operations of 1610 may be performed according to the methods described herein. In some examples, aspects of the operations of 1610 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code.
  • the operations of 1615 may be performed according to the methods described herein. In some examples, aspects of the operations of 1615 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel.
  • the operations of 1620 may be performed according to the methods described herein. In some examples, aspects of the operations of 1620 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
  • the UE may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or a feedback message from a receiving device is received, or both.
  • the operations of 1625 may be performed according to the methods described herein. In some examples, aspects of the operations of 1625 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
  • FIG. 17 shows a flowchart illustrating a method 1700 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
  • the operations of method 1700 may be implemented by a base station 105 or its components as described herein.
  • the operations of method 1700 may be performed by a communications manager as described with reference to FIGs. 9 through 12.
  • a base station may execute a set of instructions to control the functional elements of the base station to perform the functions described below. Additionally or alternatively, a base station may perform aspects of the functions described below using special-purpose hardware.
  • the base station may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits.
  • the operations of 1705 may be performed according to the methods described herein. In some examples, aspects of the operations of 1705 may be performed by an encoded PDCP sub-packet receiver as described with reference to FIGs. 9 through 12.
  • the base station may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
  • the operations of 1710 may be performed according to the methods described herein. In some examples, aspects of the operations of 1710 may be performed by an encoded PDCP sub-packet decoder as described with reference to FIGs. 9 through 12.
  • LTE, LTE-A, LTE-A Pro, or NR may be described for purposes of example, and LTE, LTE-A, LTE-A Pro, or NR terminology may be used in much of the description, the techniques described herein are applicable beyond LTE, LTE-A, LTE-A Pro, or NR networks.
  • the described techniques may be applicable to various other wireless communications systems such as Ultra Mobile Broadband (UMB) , Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20, Flash-OFDM, as well as other systems and radio technologies not explicitly mentioned herein.
  • UMB Ultra Mobile Broadband
  • IEEE Institute of Electrical and Electronics Engineers
  • Wi-Fi Institute of Electrical and Electronics Engineers
  • WiMAX IEEE 802.16
  • IEEE 802.20 Flash-OFDM
  • Information and signals described herein may be represented using any of a variety of different technologies and techniques.
  • data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
  • a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration) .
  • the functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein may be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
  • Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a non-transitory storage medium may be any available medium that may be accessed by a general-purpose or special-purpose computer.
  • non-transitory computer-readable media may include random- access memory (RAM) , read-only memory (ROM) , electrically erasable programmable ROM (EEPROM) , flash memory, compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium.
  • RAM random- access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable ROM
  • flash memory compact disk (CD) ROM or other optical disk storage
  • CD compact disk
  • magnetic disk storage or other magnetic storage devices or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer,
  • Disk and disc include CD, laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Methods, systems, and devices for wireless communications are described. A transmitting device may employ rateless codes or Raptor codes for erasure-correction coding at the packet data convergence protocol (PDCP) layer of a device. A transmitting device may apply a rateless coding procedure at a PDCP layer over one PDCP data packet. To encode the PDCP packet at the PDCP layer, the transmitting device may segment a PDCP into equal size sub-packets, and may use a rateless code to encode the sub-packets. The transmitting device may add a number of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits to each encoded symbol, and may apply low-density parity check (LDPC) code to encode each of the symbols including the ESI and CRC bits. The transmitting device may transmit a threshold number of encoded data packets to a receiving device, or until receiving a feedback message from the receiving device.

Description

RATELESS CODING OVER A PACKET DATA CONVERGENCE PROTOCOL LAYER
FIELD OF TECHNOLOGY
The following relates to wireless communications, including rateless coding over a packet data convergence protocol (PDCP) layer.
BACKGROUND
Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power) . Examples of such multiple-access systems include fourth generation (4G) systems such as Long Term Evolution (LTE) systems, LTE-Advanced (LTE-A) systems, or LTE-A Pro systems, and fifth generation (5G) systems which may be referred to as New Radio (NR) systems. These systems may employ technologies such as code division multiple access (CDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal frequency division multiple access (OFDMA) , or discrete Fourier transform spread orthogonal frequency division multiplexing (DFT-S-OFDM) . A wireless multiple-access communications system may include one or more base stations or one or more network access nodes, each simultaneously supporting communication for multiple communication devices, which may be otherwise known as user equipment (UE) .
Some wireless networks may support various different encoding procedures to encode data for transmission in the network. Techniques to support enhancements in such encoding procedures is desired.
SUMMARY
The described techniques relate to improved methods, systems, devices, and apparatuses that support rateless coding over a packet data convergence protocol (PDCP) layer. Generally, the described techniques provide support for the use of fountain codes for encoding communications data. Fountain codes are rateless codes such that a coded packet may be comprised of a potentially limitless sequence of encoding symbols generated from a  given set of source symbols. Examples of fountain codes may utilize Luby transform (LT) codes, Raptor codes, and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance. RaptorQ codes are forward error correction codes that provide application-layer protection against network packet loss, and offer increased error performance compared to other Raptor codes. In some cases, RaptorQ techniques may be used as an erasure-correction coding at the application and packet data convergence protocol (PDCP) layers of a device.
In some examples, a transmitting device may apply a RaptorQ coding procedure at a PDCP layer over one PDCP data packet. To encode the PDCP packet at the PDCP layer, the transmitting device may segment one PDCP into equal size sub-packets, and may use a RaptorQ code to encode the sub-packets, producing a rateless encoded output of encoded symbols. The transmitting device may add a number of encoded symbol ID (ESI) bits and cyclic redundancy check (CRC) bits to each encoded symbol, and may apply a secondary encoding by applying using low-density parity check (LDPC) encoding to encode each of the symbols including the ESI and CRC bits. Then, the transmitting device may transmit a threshold number of encoded data packets to a receiving device or continue transmitting encoded data packets until receiving a feedback message (e.g., an ACK) from the receiving device.
A method of wireless communications at a transmitting device is described. The method may include segmenting a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generating a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generating a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmitting the second set of encoded PDCP sub-packets over a wireless channel.
An apparatus for wireless communications at a transmitting device is described. The apparatus may include a processor, memory coupled with the processor, and instructions stored in the memory. The instructions may be executable by the processor to cause the apparatus to segment a packet data convergence protocol PDCP data packet into a set of  PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel.
Another apparatus for wireless communications at a transmitting device is described. The apparatus may include means for segmenting a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generating a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generating a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmitting the second set of encoded PDCP sub-packets over a wireless channel.
A non-transitory computer-readable medium storing code for wireless communications at a transmitting device is described. The code may include instructions executable by a processor to segment a packet data convergence protocol PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, segmenting the PDCP data packet further may include operations, features, means, or instructions for comparing an overhead associated with the  rateless code, the ESI bits, the CRC bits, or any combination thereof, and determining a number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, segmenting the PDCP data packet further may include operations, features, means, or instructions for allocating an equal number of bits to each sub-packet of the set of PDCP sub-packets.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, a size of the second set of encoded PDCP sub-packets may be greater than a size of the first set of encoded PDCP sub-packets.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, generating the second set of encoded PDCP sub-packets further may include operations, features, means, or instructions for generating a coding block for applying the error check code based on the encoding, applying the error check code to the generated coding block, and generating the second set of encoded PDCP sub-packets in accordance with the error check code.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the error check code includes a low-density parity-check LDPC code.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, transmitting the second set of encoded PDCP sub-packets further may include operations, features, means, or instructions for , and continuing to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets may be satisfied, or a feedback message from a receiving device may be received, or both.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the threshold number of encoded PDCP sub-packets may be based on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the feedback message includes a positive ACK feedback message.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the rateless code includes a rapid tornado (Raptor) code.
A method of wireless communications at a receiving device is described. The method may include receiving, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decoding the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
An apparatus for wireless communications at a receiving device is described. The apparatus may include a processor, memory coupled with the processor, and instructions stored in the memory. The instructions may be executable by the processor to cause the apparatus to receive, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
Another apparatus for wireless communications at a receiving device is described. The apparatus may include means for receiving, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decoding the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded  PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
A non-transitory computer-readable medium storing code for wireless communications at a receiving device is described. The code may include instructions executable by a processor to receive, at a packet data convergence protocol PDCP layer of the receiving device, an encoded PDCP data packet including a set of encoded PDCP sub-packets, where each encoded PDCP sub-packet of the set of encoded PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID ESI and CRC bits.
Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for comparing an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof, decoding the set of encoded PDCP sub-packets based on the comparison, and determining a number of sub-packets allocated to the set of encoded PDCP sub-packets based on the decoding.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, a number of bits may be allocated to each sub-packet of the set of encoded PDCP sub-packets.
Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for decoding the set of encoded PDCP sub-packets on a coding block in accordance with the error check code.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the error check code includes a low-density parity-check LDPC code.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, , and continuing to receive and decode encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded  PDCP sub-packets may be satisfied, or based on a transmission of a feedback message to a transmitting device, or both.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the threshold number of encoded PDCP sub-packets may be based on a number of encoded PDCP sub-packets allocated to the set of encoded PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the feedback message includes a positive ACK feedback message.
In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the rateless code includes a rapid tornado (Raptor) code.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example of a system for wireless communications that supports rateless coding over a packet data convergence protocol (PDCP) layer in accordance with aspects of the present disclosure.
FIG. 2 illustrates an example of a wireless communications system that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIG. 3 illustrates an example of an encoding procedure that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIG. 4 illustrates an example of a process flow that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIGs. 5 and 6 show block diagrams of devices that support rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIG. 7 shows a block diagram of a communications manager that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIG. 8 shows a diagram of a system including a device that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIGs. 9 and 10 show block diagrams of devices that support rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIG. 11 shows a block diagram of a communications manager that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIG. 12 shows a diagram of a system including a device that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
FIGs. 13 through 17 show flowcharts illustrating methods that support rateless coding over a PDCP layer in accordance with aspects of the present disclosure.
DETAILED DESCRIPTION
Some wireless network may support the use of fountain codes that wireless devices may use to encode data for transmission. Fountain codes are rateless codes in the sense that each coded packet produced may contain a potentially limitless sequence of encoding symbols generated from a given set of source symbols. Such encoding may allow for transmitted data packets to be recovered at a receiving device in cases where the number of received packets is slightly larger than that of the source packets. Examples of fountain codes include Luby transform (LT) codes, Raptor codes (an enhanced code based on variations of low-density parity-check (LDPC) and LT codes) , and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
Raptor Q codes are forward error correction codes that provide application-layer protection against network packet loss, and offer increased error performance compared to other Raptor codes. A sender application generates encoded data from source data using a RaptorQ encoder. The encoded data is sent over a network to a receiving device, which decodes the data using the RaptorQ decoder. In cases where a threshold amount of encoded data arrives at the receiving device, error-free decoding may be achieved independent of the pattern of packet loss. For example, using Raptor coding, a device may encode and decode a source block of data which is partitioned into equal-size source symbols. An encoder generates repair symbols from the source symbols of a source block, where the repair symbols are the same size as the source symbols. Raptor codes may be used as an erasure-correction coding at the application and packet data convergence protocol (PDCP) layers of a device.
In some examples, a transmitting device, such as a base station, user equipment (UE) , or other wireless device, the may apply a RaptorQ coding procedure at a PDCP layer over one PDCP data packet. For each PDCP protocol data unit (PDU) , the transmitting device may apply a RaptorQ code. To encode the PDCP packet at the PDCP layer, the transmitting device may segment one PDCP into a number (e.g., K) of equal size sub-packets, each sub-packet consisting of P bytes. The transmitting device may use a RaptorQ code to encode the segmented PDCP over sub-packets, which may produce a rateless encoded output of encoded symbols. The transmitting device may add a number of encoding symbol ID (ESI) bits and cyclic redundancy check (CRC) bits to each encoded symbol, and the transmitting device may apply a secondary encoding by applying using an error check code (e.g., a low-density parity check (LDPC) code) to encode each of the symbols including the ESI and CRC bits. Then, the transmitting device may transmit at least K encoded data packets to a receiving device, or the transmitting device may transmit encoded packets until receiving a feedback message (e.g., an ACK) from the receiving device.
Aspects of the disclosure are initially described in the context of wireless communications systems. For example, aspects of the disclosure may be described in the context of communications between a transmitting device and a receiving device capable of supporting rateless coding. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, encoding procedures, system diagrams, process flows, and flowcharts that relate to rateless coding over a PDCP layer.
FIG. 1 illustrates an example of a wireless communications system 100 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The wireless communications system 100 may include one or more base stations 105, one or more UEs 115, and a core network 130. In some examples, the wireless communications system 100 may be a Long Term Evolution (LTE) network, an LTE-Advanced (LTE-A) network, an LTE-A Pro network, or a New Radio (NR) network. In some examples, the wireless communications system 100 may support enhanced broadband communications, ultra-reliable (e.g., mission critical) communications, low latency communications, communications with low-cost and low-complexity devices, or any combination thereof.
The base stations 105 may be dispersed throughout a geographic area to form the wireless communications system 100 and may be devices in different forms or having different capabilities. The base stations 105 and the UEs 115 may wirelessly communicate via one or more communication links 125. Each base station 105 may provide a coverage area 110 over which the UEs 115 and the base station 105 may establish one or more communication links 125. The coverage area 110 may be an example of a geographic area over which a base station 105 and a UE 115 may support the communication of signals according to one or more radio access technologies.
The UEs 115 may be dispersed throughout a coverage area 110 of the wireless communications system 100, and each UE 115 may be stationary, or mobile, or both at different times. The UEs 115 may be devices in different forms or having different capabilities. Some example UEs 115 are illustrated in FIG. 1. The UEs 115 described herein may be able to communicate with various types of devices, such as other UEs 115, the base stations 105, or network equipment (e.g., core network nodes, relay devices, integrated access and backhaul (IAB) nodes, or other network equipment) , as shown in FIG. 1.
The base stations 105 may communicate with the core network 130, or with one another, or both. For example, the base stations 105 may interface with the core network 130 through one or more backhaul links 120 (e.g., via an S1, N2, N3, or other interface) . The base stations 105 may communicate with one another over the backhaul links 120 (e.g., via an X2, Xn, or other interface) either directly (e.g., directly between base stations 105) , or indirectly (e.g., via core network 130) , or both. In some examples, the backhaul links 120 may be or include one or more wireless links.
One or more of the base stations 105 described herein may include or may be referred to by a person having ordinary skill in the art as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, an eNodeB (eNB) , a next-generation NodeB or a giga-NodeB (either of which may be referred to as a gNB) , a Home NodeB, a Home eNodeB, or other suitable terminology.
UE 115 may include or may be referred to as a mobile device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where the “device” may also be referred to as a unit, a station, a terminal, or a client, among other examples. A UE 115 may also include or may be referred to as a personal  electronic device such as a cellular phone, a personal digital assistant (PDA) , a tablet computer, a laptop computer, or a personal computer. In some examples, a UE 115 may include or be referred to as a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, or a machine type communications (MTC) device, among other examples, which may be implemented in various objects such as appliances, or vehicles, meters, among other examples.
The UEs 115 described herein may be able to communicate with various types of devices, such as other UEs 115 that may sometimes act as relays as well as the base stations 105 and the network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations, among other examples, as shown in FIG. 1.
The UEs 115 and the base stations 105 may wirelessly communicate with one another via one or more communication links 125 over one or more carriers. The term “carrier” may refer to a set of radio frequency spectrum resources having a defined physical layer structure for supporting the communication links 125. For example, a carrier used for a communication link 125 may include a portion of a radio frequency spectrum band (e.g., a bandwidth part (BWP) ) that is operated according to one or more physical layer channels for a given radio access technology (e.g., LTE, LTE-A, LTE-A Pro, NR) . Each physical layer channel may carry acquisition signaling (e.g., synchronization signals, system information) , control signaling that coordinates operation for the carrier, user data, or other signaling. The wireless communications system 100 may support communication with a UE 115 using carrier aggregation or multi-carrier operation. A UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers according to a carrier aggregation configuration. Carrier aggregation may be used with both frequency division duplexing (FDD) and time division duplexing (TDD) component carriers.
In some examples (e.g., in a carrier aggregation configuration) , a carrier may also have acquisition signaling or control signaling that coordinates operations for other carriers. A carrier may be associated with a frequency channel (e.g., an evolved universal mobile telecommunication system terrestrial radio access (E-UTRA) absolute radio frequency channel number (EARFCN) ) and may be positioned according to a channel raster for discovery by the UEs 115. A carrier may be operated in a standalone mode where initial acquisition and connection may be conducted by the UEs 115 via the carrier, or the carrier  may be operated in a non-standalone mode where a connection is anchored using a different carrier (e.g., of the same or a different radio access technology) .
The communication links 125 shown in the wireless communications system 100 may include uplink transmissions from a UE 115 to a base station 105, or downlink transmissions from a base station 105 to a UE 115. Carriers may carry downlink or uplink communications (e.g., in an FDD mode) or may be configured to carry downlink and uplink communications (e.g., in a TDD mode) .
A carrier may be associated with a particular bandwidth of the radio frequency spectrum, and in some examples the carrier bandwidth may be referred to as a “system bandwidth” of the carrier or the wireless communications system 100. For example, the carrier bandwidth may be one of a number of determined bandwidths for carriers of a particular radio access technology (e.g., 1.4, 3, 5, 10, 15, 20, 40, or 80 megahertz (MHz) ) . Devices of the wireless communications system 100 (e.g., the base stations 105, the UEs 115, or both) may have hardware configurations that support communications over a particular carrier bandwidth or may be configurable to support communications over one of a set of carrier bandwidths. In some examples, the wireless communications system 100 may include base stations 105 or UEs 115 that support simultaneous communications via carriers associated with multiple carrier bandwidths. In some examples, each served UE 115 may be configured for operating over portions (e.g., a sub-band, a BWP) or all of a carrier bandwidth.
Signal waveforms transmitted over a carrier may be made up of multiple subcarriers (e.g., using multi-carrier modulation (MCM) techniques such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM) ) . In a system employing MCM techniques, a resource element may consist of one symbol period (e.g., a duration of one modulation symbol) and one subcarrier, where the symbol period and subcarrier spacing are inversely related. The number of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the coding rate of the modulation scheme, or both) . Thus, the more resource elements that a UE 115 receives and the higher the order of the modulation scheme, the higher the data rate may be for the UE 115. A wireless communications resource may refer to a combination of a radio frequency spectrum resource, a time resource, and a spatial  resource (e.g., spatial layers or beams) , and the use of multiple spatial layers may further increase the data rate or data integrity for communications with a UE 115.
One or more numerologies for a carrier may be supported, where a numerology may include a subcarrier spacing (Δf) and a cyclic prefix. A carrier may be divided into one or more BWPs having the same or different numerologies. In some examples, a UE 115 may be configured with multiple BWPs. In some examples, a single BWP for a carrier may be active at a given time and communications for the UE 115 may be restricted to one or more active BWPs.
The time intervals for the base stations 105 or the UEs 115 may be expressed in multiples of a basic time unit which may, for example, refer to a sampling period of T s=1/ (Δf max·N f) seconds, where Δf max may represent the maximum supported subcarrier spacing, and N f may represent the maximum supported discrete Fourier transform (DFT) size. Time intervals of a communications resource may be organized according to radio frames each having a specified duration (e.g., 10 milliseconds (ms) ) . Each radio frame may be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023) .
Each frame may include multiple consecutively numbered subframes or slots, and each subframe or slot may have the same duration. In some examples, a frame may be divided (e.g., in the time domain) into subframes, and each subframe may be further divided into a number of slots. Alternatively, each frame may include a variable number of slots, and the number of slots may depend on subcarrier spacing. Each slot may include a number of symbol periods (e.g., depending on the length of the cyclic prefix prepended to each symbol period) . In some wireless communications systems 100, a slot may further be divided into multiple mini-slots containing one or more symbols. Excluding the cyclic prefix, each symbol period may contain one or more (e.g., N f) sampling periods. The duration of a symbol period may depend on the subcarrier spacing or frequency band of operation.
A subframe, a slot, a mini-slot, or a symbol may be the smallest scheduling unit (e.g., in the time domain) of the wireless communications system 100 and may be referred to as a transmission time interval (TTI) . In some examples, the TTI duration (e.g., the number of symbol periods in a TTI) may be variable. Additionally or alternatively, the smallest scheduling unit of the wireless communications system 100 may be dynamically selected (e.g., in bursts of shortened TTIs (sTTIs) ) .
Physical channels may be multiplexed on a carrier according to various techniques. A physical control channel and a physical data channel may be multiplexed on a downlink carrier, for example, using one or more of time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques. A control region (e.g., a control resource set (CORESET) ) for a physical control channel may be defined by a number of symbol periods and may extend across the system bandwidth or a subset of the system bandwidth of the carrier. One or more control regions (e.g., CORESETs) may be configured for a set of the UEs 115. For example, one or more of the UEs 115 may monitor or search control regions for control information according to one or more search space sets, and each search space set may include one or multiple control channel candidates in one or more aggregation levels arranged in a cascaded manner. An aggregation level for a control channel candidate may refer to a number of control channel resources (e.g., control channel elements (CCEs) ) associated with encoded information for a control information format having a given payload size. Search space sets may include common search space sets configured for sending control information to multiple UEs 115 and UE-specific search space sets for sending control information to a specific UE 115.
Each base station 105 may provide communication coverage via one or more cells, for example a macro cell, a small cell, a hot spot, or other types of cells, or any combination thereof. The term “cell” may refer to a logical communication entity used for communication with a base station 105 (e.g., over a carrier) and may be associated with an identifier for distinguishing neighboring cells (e.g., a physical cell identifier (PCID) , a virtual cell identifier (VCID) , or others) . In some examples, a cell may also refer to a geographic coverage area 110 or a portion of a geographic coverage area 110 (e.g., a sector) over which the logical communication entity operates. Such cells may range from smaller areas (e.g., a structure, a subset of structure) to larger areas depending on various factors such as the capabilities of the base station 105. For example, a cell may be or include a building, a subset of a building, or exterior spaces between or overlapping with geographic coverage areas 110, among other examples.
A macro cell generally covers a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by the UEs 115 with service subscriptions with the network provider supporting the macro cell. A small cell may be associated with a lower-powered base station 105, as compared with a macro cell, and a small  cell may operate in the same or different (e.g., licensed, unlicensed) frequency bands as macro cells. Small cells may provide unrestricted access to the UEs 115 with service subscriptions with the network provider or may provide restricted access to the UEs 115 having an association with the small cell (e.g., the UEs 115 in a closed subscriber group (CSG) , the UEs 115 associated with users in a home or office) . A base station 105 may support one or multiple cells and may also support communications over the one or more cells using one or multiple component carriers.
In some examples, a carrier may support multiple cells, and different cells may be configured according to different protocol types (e.g., MTC, narrowband IoT (NB-IoT) , enhanced mobile broadband (eMBB) ) that may provide access for different types of devices.
In some examples, a base station 105 may be movable and therefore provide communication coverage for a moving geographic coverage area 110. In some examples, different geographic coverage areas 110 associated with different technologies may overlap, but the different geographic coverage areas 110 may be supported by the same base station 105. In other examples, the overlapping geographic coverage areas 110 associated with different technologies may be supported by different base stations 105. The wireless communications system 100 may include, for example, a heterogeneous network in which different types of the base stations 105 provide coverage for various geographic coverage areas 110 using the same or different radio access technologies.
The wireless communications system 100 may support synchronous or asynchronous operation. For synchronous operation, the base stations 105 may have similar frame timings, and transmissions from different base stations 105 may be approximately aligned in time. For asynchronous operation, the base stations 105 may have different frame timings, and transmissions from different base stations 105 may, in some examples, not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operations.
Some UEs 115, such as MTC or IoT devices, may be low cost or low complexity devices and may provide for automated communication between machines (e.g., via Machine-to-Machine (M2M) communication) . M2M communication or MTC may refer to data communication technologies that allow devices to communicate with one another or a base station 105 without human intervention. In some examples, M2M communication or  MTC may include communications from devices that integrate sensors or meters to measure or capture information and relay such information to a central server or application program that makes use of the information or presents the information to humans interacting with the application program. Some UEs 115 may be designed to collect information or enable automated behavior of machines or other devices. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business charging.
Some UEs 115 may be configured to employ operating modes that reduce power consumption, such as half-duplex communications (e.g., a mode that supports one-way communication via transmission or reception, but not transmission and reception simultaneously) . In some examples, half-duplex communications may be performed at a reduced peak rate. Other power conservation techniques for the UEs 115 include entering a power saving deep sleep mode when not engaging in active communications, operating over a limited bandwidth (e.g., according to narrowband communications) , or a combination of these techniques. For example, some UEs 115 may be configured for operation using a narrowband protocol type that is associated with a defined portion or range (e.g., set of subcarriers or resource blocks (RBs) ) within a carrier, within a guard-band of a carrier, or outside of a carrier.
The wireless communications system 100 may be configured to support ultra-reliable communications or low-latency communications, or various combinations thereof. For example, the wireless communications system 100 may be configured to support ultra-reliable low-latency communications (URLLC) or mission critical communications. The UEs 115 may be designed to support ultra-reliable, low-latency, or critical functions (e.g., mission critical functions) . Ultra-reliable communications may include private communication or group communication and may be supported by one or more mission critical services such as mission critical push-to-talk (MCPTT) , mission critical video (MCVideo) , or mission critical data (MCData) . Support for mission critical functions may include prioritization of services, and mission critical services may be used for public safety or general commercial applications. The terms ultra-reliable, low-latency, mission critical, and ultra-reliable low-latency may be used interchangeably herein.
In some examples, a UE 115 may also be able to communicate directly with other UEs 115 over a device-to-device (D2D) communication link 135 (e.g., using a peer-to-peer (P2P) or D2D protocol) . One or more UEs 115 utilizing D2D communications may be within the geographic coverage area 110 of a base station 105. Other UEs 115 in such a group may be outside the geographic coverage area 110 of a base station 105 or be otherwise unable to receive transmissions from a base station 105. In some examples, groups of the UEs 115 communicating via D2D communications may utilize a one-to-many (1: M) system in which each UE 115 transmits to every other UE 115 in the group. In some examples, a base station 105 facilitates the scheduling of resources for D2D communications. In other cases, D2D communications are carried out between the UEs 115 without the involvement of a base station 105.
In some systems, the D2D communication link 135 may be an example of a communication channel, such as a sidelink communication channel, between vehicles (e.g., UEs 115) . In some examples, vehicles may communicate using vehicle-to-everything (V2X) communications, vehicle-to-vehicle (V2V) communications, or some combination of these. A vehicle may signal information related to traffic conditions, signal scheduling, weather, safety, emergencies, or any other information relevant to a V2X system. In some examples, vehicles in a V2X system may communicate with roadside infrastructure, such as roadside units, or with the network via one or more network nodes (e.g., base stations 105) using vehicle-to-network (V2N) communications, or with both.
The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The core network 130 may be an evolved packet core (EPC) or 5G core (5GC) , which may include at least one control plane entity that manages access and mobility (e.g., a mobility management entity (MME) , an access and mobility management function (AMF) ) and at least one user plane entity that routes packets or interconnects to external networks (e.g., a serving gateway (S-GW) , a Packet Data Network (PDN) gateway (P-GW) , or a user plane function (UPF) ) . The control plane entity may manage non-access stratum (NAS) functions such as mobility, authentication, and bearer management for the UEs 115 served by the base stations 105 associated with the core network 130. User IP packets may be transferred through the user plane entity, which may provide IP address allocation as well as other functions. The user plane entity may be connected to the network operators IP services 150.  The network operators IP services 150 may include access to the Internet, Intranet (s) , an IP Multimedia Subsystem (IMS) , or a Packet-Switched Streaming Service.
Some of the network devices, such as a base station 105, may include subcomponents such as an access network entity 140, which may be an example of an access node controller (ANC) . Each access network entity 140 may communicate with the UEs 115 through one or more other access network transmission entities 145, which may be referred to as radio heads, smart radio heads, or transmission/reception points (TRPs) . Each access network transmission entity 145 may include one or more antenna panels. In some configurations, various functions of each access network entity 140 or base station 105 may be distributed across various network devices (e.g., radio heads and ANCs) or consolidated into a single network device (e.g., a base station 105) .
The wireless communications system 100 may operate using one or more frequency bands, typically in the range of 300 megahertz (MHz) to 300 gigahertz (GHz) . Generally, the region from 300 MHz to 3 GHz is known as the ultra-high frequency (UHF) region or decimeter band because the wavelengths range from approximately one decimeter to one meter in length. The UHF waves may be blocked or redirected by buildings and environmental features, but the waves may penetrate structures sufficiently for a macro cell to provide service to the UEs 115 located indoors. The transmission of UHF waves may be associated with smaller antennas and shorter ranges (e.g., less than 100 kilometers) compared to transmission using the smaller frequencies and longer waves of the high frequency (HF) or very high frequency (VHF) portion of the spectrum below 300 MHz.
The wireless communications system 100 may also operate in a super high frequency (SHF) region using frequency bands from 3 GHz to 30 GHz, also known as the centimeter band, or in an extremely high frequency (EHF) region of the spectrum (e.g., from 30 GHz to 300 GHz) , also known as the millimeter band. In some examples, the wireless communications system 100 may support millimeter wave (mmW) communications between the UEs 115 and the base stations 105, and EHF antennas of the respective devices may be smaller and more closely spaced than UHF antennas. In some examples, this may facilitate use of antenna arrays within a device. The propagation of EHF transmissions, however, may be subject to even greater atmospheric attenuation and shorter range than SHF or UHF transmissions. The techniques disclosed herein may be employed across transmissions that  use one or more different frequency regions, and designated use of bands across these frequency regions may differ by country or regulating body.
The wireless communications system 100 may utilize both licensed and unlicensed radio frequency spectrum bands. For example, the wireless communications system 100 may employ License Assisted Access (LAA) , LTE-Unlicensed (LTE-U) radio access technology, or NR technology in an unlicensed band such as the 5 GHz industrial, scientific, and medical (ISM) band. When operating in unlicensed radio frequency spectrum bands, devices such as the base stations 105 and the UEs 115 may employ carrier sensing for collision detection and avoidance. In some examples, operations in unlicensed bands may be based on a carrier aggregation configuration in conjunction with component carriers operating in a licensed band (e.g., LAA) . Operations in unlicensed spectrum may include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among other examples.
base station 105 or a UE 115 may be equipped with multiple antennas, which may be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communications, or beamforming. The antennas of a base station 105 or a UE 115 may be located within one or more antenna arrays or antenna panels, which may support MIMO operations or transmit or receive beamforming. For example, one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower. In some examples, antennas or antenna arrays associated with a base station 105 may be located in diverse geographic locations. A base station 105 may have an antenna array with a number of rows and columns of antenna ports that the base station 105 may use to support beamforming of communications with a UE 115. Likewise, a UE 115 may have one or more antenna arrays that may support various MIMO or beamforming operations. Additionally or alternatively, an antenna panel may support radio frequency beamforming for a signal transmitted via an antenna port.
The base stations 105 or the UEs 115 may use MIMO communications to exploit multipath signal propagation and increase the spectral efficiency by transmitting or receiving multiple signals via different spatial layers. Such techniques may be referred to as spatial multiplexing. The multiple signals may, for example, be transmitted by the transmitting device via different antennas or different combinations of antennas. Likewise, the multiple  signals may be received by the receiving device via different antennas or different combinations of antennas. Each of the multiple signals may be referred to as a separate spatial stream and may carry bits associated with the same data stream (e.g., the same codeword) or different data streams (e.g., different codewords) . Different spatial layers may be associated with different antenna ports used for channel measurement and reporting. MIMO techniques include single-user MIMO (SU-MIMO) , where multiple spatial layers are transmitted to the same receiving device, and multiple-user MIMO (MU-MIMO) , where multiple spatial layers are transmitted to multiple devices.
Beamforming, which may also be referred to as spatial filtering, directional transmission, or directional reception, is a signal processing technique that may be used at a transmitting device or a receiving device (e.g., a base station 105, a UE 115) to shape or steer an antenna beam (e.g., a transmit beam, a receive beam) along a spatial path between the transmitting device and the receiving device. Beamforming may be achieved by combining the signals communicated via antenna elements of an antenna array such that some signals propagating at particular orientations with respect to an antenna array experience constructive interference while others experience destructive interference. The adjustment of signals communicated via the antenna elements may include a transmitting device or a receiving device applying amplitude offsets, phase offsets, or both to signals carried via the antenna elements associated with the device. The adjustments associated with each of the antenna elements may be defined by a beamforming weight set associated with a particular orientation (e.g., with respect to the antenna array of the transmitting device or receiving device, or with respect to some other orientation) .
base station 105 or a UE 115 may use beam sweeping techniques as part of beam forming operations. For example, a base station 105 may use multiple antennas or antenna arrays (e.g., antenna panels) to conduct beamforming operations for directional communications with a UE 115. Some signals (e.g., synchronization signals, reference signals, beam selection signals, or other control signals) may be transmitted by a base station 105 multiple times in different directions. For example, the base station 105 may transmit a signal according to different beamforming weight sets associated with different directions of transmission. Transmissions in different beam directions may be used to identify (e.g., by a transmitting device, such as a base station 105, or by a receiving device, such as a UE 115) a beam direction for later transmission or reception by the base station 105.
Some signals, such as data signals associated with a particular receiving device, may be transmitted by a base station 105 in a single beam direction (e.g., a direction associated with the receiving device, such as a UE 115) . In some examples, the beam direction associated with transmissions along a single beam direction may be determined based on a signal that was transmitted in one or more beam directions. For example, a UE 115 may receive one or more of the signals transmitted by the base station 105 in different directions and may report to the base station 105 an indication of the signal that the UE 115 received with a highest signal quality or an otherwise acceptable signal quality.
In some examples, transmissions by a device (e.g., by a base station 105 or a UE 115) may be performed using multiple beam directions, and the device may use a combination of digital precoding or radio frequency beamforming to generate a combined beam for transmission (e.g., from a base station 105 to a UE 115) . The UE 115 may report feedback that indicates precoding weights for one or more beam directions, and the feedback may correspond to a configured number of beams across a system bandwidth or one or more sub-bands. The base station 105 may transmit a reference signal (e.g., a cell-specific reference signal (CRS) , a channel state information reference signal (CSI-RS) ) , which may be precoded or unprecoded. The UE 115 may provide feedback for beam selection, which may be a precoding matrix indicator (PMI) or codebook-based feedback (e.g., a multi-panel type codebook, a linear combination type codebook, a port selection type codebook) . Although these techniques are described with reference to signals transmitted in one or more directions by a base station 105, a UE 115 may employ similar techniques for transmitting signals multiple times in different directions (e.g., for identifying a beam direction for subsequent transmission or reception by the UE 115) or for transmitting a signal in a single direction (e.g., for transmitting data to a receiving device) .
A receiving device (e.g., a UE 115) may try multiple receive configurations (e.g., directional listening) when receiving various signals from the base station 105, such as synchronization signals, reference signals, beam selection signals, or other control signals. For example, a receiving device may try multiple receive directions by receiving via different antenna subarrays, by processing received signals according to different antenna subarrays, by receiving according to different receive beamforming weight sets (e.g., different directional listening weight sets) applied to signals received at multiple antenna elements of an antenna array, or by processing received signals according to different receive  beamforming weight sets applied to signals received at multiple antenna elements of an antenna array, any of which may be referred to as “listening” according to different receive configurations or receive directions. In some examples, a receiving device may use a single receive configuration to receive along a single beam direction (e.g., when receiving a data signal) . The single receive configuration may be aligned in a beam direction determined based on listening according to different receive configuration directions (e.g., a beam direction determined to have a highest signal strength, highest signal-to-noise ratio (SNR) , or otherwise acceptable signal quality based on listening according to multiple beam directions) .
The wireless communications system 100 may be a packet-based network that operates according to a layered protocol stack. In the user plane, communications at the bearer or PDCP layer may be IP-based. A Radio Link Control (RLC) layer may perform packet segmentation and reassembly to communicate over logical channels. A Medium Access Control (MAC) layer may perform priority handling and multiplexing of logical channels into transport channels. The MAC layer may also use error detection techniques, error correction techniques, or both to support retransmissions at the MAC layer to improve link efficiency. In the control plane, the Radio Resource Control (RRC) protocol layer may provide establishment, configuration, and maintenance of an RRC connection between a UE 115 and a base station 105 or a core network 130 supporting radio bearers for user plane data. At the physical layer, transport channels may be mapped to physical channels.
The UEs 115 and the base stations 105 may support retransmissions of data to increase the likelihood that data is received successfully. Hybrid automatic repeat request (HARQ) feedback is one technique for increasing the likelihood that data is received correctly over a communication link 125. HARQ may include a combination of error detection (e.g., using a cyclic redundancy check (CRC) ) , forward error correction (FEC) , and retransmission (e.g., automatic repeat request (ARQ) ) . HARQ may improve throughput at the MAC layer in poor radio conditions (e.g., low signal-to-noise conditions) . In some examples, a device may support same-slot HARQ feedback, where the device may provide HARQ feedback in a specific slot for data received in a previous symbol in the slot. In other cases, the device may provide HARQ feedback in a subsequent slot, or according to some other time interval.
Some wireless network may support the use of fountain codes for encoding communications data. Fountain codes are rateless codes in the sense that a coded packet that is produced may be comprised of a potentially limitless sequence of encoding symbols generated from a given set of source symbols. Examples of fountain codes typically utilize LT codes, Raptor codes, and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
Raptor Q codes are forward error correction codes that provide application-layer protection against network packet loss, and offer increased error performance compared to other Raptor codes. A sender application such as a UE 115 generates encoded data from source data using a RaptorQ encoder. The encoded data is sent over a network to receiver applications such as one or more base stations 105, and the one or more base stations 105 decode the data using a RaptorQ decoder. Such RaptorQ techniques may allow for error-free decoding regardless of the pattern of packet loss and in some cases may be used as an erasure-correction coding at the application and packet data convergence protocol (PDCP) layers of a device.
In some examples, a UE 115 may apply a RaptorQ coding procedure at a PDCP layer over one PDCP data packet. For each PDCP PDU, the UE 115 may apply one RaptorQ code. To encode the PDCP packet at the PDCP layer, the UE 115 may segment one PDCP into equal size sub-packets. The UE 115 may use a RaptorQ code to encode the segmented PDCP over the sub-packets, which may produce a rateless encoded output of encoded symbols. The UE 115 may add a number of ESI and CRC bits to each encoded symbol, and the UE 115 may apply a secondary encoding by applying using LDPC encoding to encode each of the symbols including the ESI and CRC bits. Then, the UE 115 may transmit a threshold number of encoded data packets to a base station 105, or the UE 115 may transmit encoded packets until receiving a feedback message (e.g., an ACK) from the base station 105.
FIG. 2 illustrates an example of a wireless communications system 200 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. In some examples, wireless communications system 200 may implement aspects of wireless communications system 100. For example, wireless communications system 200 may include a base station 105-a and a UE 115-a, which may be examples of UEs 115 and base stations 105 described herein.
In some aspects, UE 115-a may be configured or otherwise acting as a transmitting device performing a wireless transmission to base station 105-a, which may be configured or otherwise acting as a receiving device. However, it is to be understood that UE 115-a may implement various aspects of the described techniques when acting as or otherwise configured as a receiving device performing a wireless transmission to base station 105-a, which would be configured or otherwise acting as a transmitting device.
Some devices in a wireless network may employ the use of fountain codes to encode data for transmission. Fountain codes are rateless codes in the sense that the coded packet is comprised of a potentially limitless sequence of encoding symbols that can be generated from a given set of source symbols. Such encoding may allow for transmitted data packets to be recovered at a receiving device as long as the number of received packets is slightly larger than that of the source packets. Examples of fountain codes typically utilize a Luby transform (LT) codes, Raptor codes (an enhanced code based on variations of low-density parity-check (LDPC) and LT codes) , and RaptorQ codes, which offer increased efficiency for encoding data and enhanced error performance.
Raptor Q codes are forward error correction codes that provide application-layer protection against network packet loss. A sender application generates encoded data from source data using the RaptorQ encoder. The encoded data is sent over a network to receiver applications, and in some cases, some of the encoded data may be lost before it arrives at a receiver application. The receiver application decodes the data using the RaptorQ decoder. As long as enough encoded data arrives at the receiver application, error-free decoding may be achieved, independent of the pattern of loss. For example, using Raptor coding, a device may encode and decode a source block of data which is partitioned into equal-size source symbols. An encoder generates repair symbols from the source symbols of a source block, where the repair symbols are the same size as the source symbols. Raptor codes may be used as an erasure-correction coding, particularly at the application layer. Accordingly, each encoded symbol would either be decoded correctly or discarded by the base station 105-a.
In some examples, a transmitting device such as the UE 115-a may apply a RaptorQ coding procedure 210 at the PDCP layer over one PDCP data packet. For each PDCP protocol data unit (PDU) , the UE 115-a may apply one RaptorQ code. To encode the PDCP packet at the PDCP layer, the UE 115-a may segment one PDCP into a number (e.g.,  K) of sub-packets, each sub-packet consisting of P bytes. In some examples, the UE 115-a may segment the PDCP such that each sub-packet is equal in size. The UE 115-a may use a RaptorQ code to encode the segmented PDCP over K symbols (e.g., where each symbol is the sub-packet) . Applying the RaptorQ code to produce a rateless encoded output of encoded symbols. The UE 115-a may identify a number of ESI and CRC bits to add to each output of encoded symbols. Upon the addition of the ESI and CRC bits, each output may consist of M bytes where the number of bytes after the addition of the ESI and CRC bits is greater than the number of bytes of the original sub-packet (e.g., M>P) . The UE 115-a may apply a secondary encoding by applying an error check code (e.g., an LDPC code) to encode each of the sub-packets including the ESI and CRC bits, (e.g., 8*M bits) . The UE 115-a may transmit at least K encoded data packets or codewords, or may transmit a threshold number of data packets, or until the UE 115-a receives a feedback message (e.g., an ACK) from the base station 105-a.
In one example, a PDCP data packet may include 9000 bytes of data, which may be segmented into 18 equal size sub-packets consisting of 500 bytes each. RaptorQ coding may be used to encode over 18 symbols (e.g., where each symbol is a 500 byte subpacket) to produce the rateless encoded output. In some cases, the RaptorQ encoder at the UE 115-a may add 2 bytes of encoding symbol IDs (ESI) and 3 bytes of cyclic redundancy check (CRC) to the encoded output, such that the encoded output is 505 bytes. Then, low-density parity check codes may be used to encode each 4040 bits (505 bytes) by setting the LDPC code block size to 4040 bits, and applying LDPC to encode. The UE 115-a may transmit least 18 codewords (e.g., each 505 bytes are equal to an LDPC codeword) to the base station (e.g., via packet transmission 205) , and up to the number of codewords until ACK is received or the maximum number of codewords are transmitted.
In some examples, the number of symbols in which the PDCP is segmented (e.g., K symbols) may be dynamically selected by the UE 115-a, or may be selected based on a number of system factors. In some examples, the parameter K may be dependent on the amount of overhead or the error performance of the RaptorQ code (e.g., 
Figure PCTCN2020116080-appb-000001
) . the LDPC encoding, for example, LDPC code has lower error performance with large code length. In cases where the PDCP size is fixed, there is may be a selection tradeoff for K. For example, in examples where K is large, the RaptorQ code overhead is relatively small, the ESI and CRC overhead is relatively large, and LDPC codelength is small. In cases where K is small,  the RaptorQ code overhead may be relatively large, the ESI and CRC overhead is relatively small, and LDPC codelength is large. The UE 115-a may select values of K based on the tradeoff or based on system requirements.
FIG. 3 illustrates an example of an encoding procedure 300 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. In some examples, the encoding procedure 300 may implement aspects of wireless communications system 100. Encoding procedure 300 may be performed at a transmitting device or a receiving device such as a UE 115 and base station 105 which may be examples of the corresponding devices described herein.
Encoding procedure 300 may utilize fountain codes, which are rateless codes in that may be used to encode a given source block of data consisting of a number k of equal size symbols into a potentially limitless sequence of encoding symbols. For example, the transmitted packets 305 may be recovered at the receiver side so long as the number of received packets 310 is slightly larger than the number of source packets (regardless of which packets are received and successfully decoded) . Examples of such rateless codes include Luby transform (LT) codes, Raptor codes (an enhanced code based on variations of low-density parity-check (LDPC) and LT codes) , and RaptorQ codes.
Fountain codes may also be referred to as network codes because they may be applied to the network/application layer (e.g., for MBMS, IAB, and the like) . At the receiving side, each encoded symbol may be either be decoded correctly or discarded (e.g., the encoded packet (s) transmitted during a symbol) . This approach permits a source block number (SBN) , a symbol identifier (ESI) , or a number of CSI bits associated with the packet (s) to be added to the encoded symbols. The SBN generally corresponds to an integer identifier for the source block (e.g., the column of the original generator matrix 315) that the encoded symbols within the packet relate to. The ESI generally corresponds to an integer identifier for the encoding symbols within the packet. Each encoded packet may include the SBN (e.g., the first 16 bits) , the ESI (e.g., the last 16 bits) , and the encoding symbol (s) . Based on the SBN and ESI, the transmitting device and receiving device may determine which source symbols (e.g., which column of the original generator matrix 315) were selected to generate the encoded symbol.
Accordingly, fountain codes are rateless codes with an unlimited number of columns in the original generator matrix 315 generated by the transmitting device. For  example, the transmitting device may have K symbols 320 for transmission to the receiving device. The original generator matrix 315 may therefore be generated with K rows (corresponding to the K symbols 320) and, as the fountain code is a rateless code, a potentially infinite number of columns. The number of transmitted packets may correspond to the formula:
Figure PCTCN2020116080-appb-000002
For a conventional ARQ, the original generator matrix 315 may begin with the unit matrix.
The recovered packets (e.g., the received packets 310) may correspond to the formula:
Figure PCTCN2020116080-appb-000003
For the receiving device to recover the packets, G′ may be invertible or the rank of G′ being K. A design rule for the original generator matrix 315 is that G′ is invertible with minimum N.
With respect to LT codes, efficient methods may be utilized to realize the function of fountain codes. For example, the encoding process for each encoding symbol may include the transmitting device randomly choosing a degree d i from a degree distribution and randomly choosing d i distinct source symbols with uniform distribution and performing an exclusive or (XOR) function to encode the symbols.
Raptor codes (e.g., RaptorQ codes) generally reduce the encoding and decoding complexity of LT codes. For example, using Raptor coding, a device may encode and decode a source block of data which is partitioned into equal-size source symbols. An encoder generates repair symbols from the source symbols of a source block, where the repair symbols are the same size as the source symbols and the encoded symbols that can be sent consist of the combination of the source symbols and the repair symbols. Raptor codes may be used as an erasure-correction coding, particularly at the application layer. Accordingly, each encoded symbol would either be decoded correctly or discarded by the receiving device.
In addition, some Raptor codes may have lower error performance as compared to LT codes or other Raptor codes. For example, a Raptor code may be associated with an error performance metric equal to
Figure PCTCN2020116080-appb-000004
while a RaptorQ code may have an error equal to
Figure PCTCN2020116080-appb-000005
where Δ is the number of associated overhead symbols (e.g., a ratio of output symbols to input symbols) .
In some examples, A UE (the transmitting device in this example) may encode a packet for transmission to a base station (the receiving device in this example) using rateless codes (e.g., such as a RaptorQ code) at a PDCP layer, which may increase link reliability without causing significant latency issues and/or protocol change. In some examples, the UE may segment one PDCP into K equal size sub-packets, each sub-packet consisting of P bytes. At the PDCP layer, the UE may apply a RaptorQ code to encode over K symbols (where each symbol is the subpacket) , suing encoding procedure 300 to produce a rateless encoded output. As an additional encoding procedure, the UE may add additional ESI and CRC bits to each encoded output, therefore each output is M bytes (where M>P) , and may use an LDPC to encode each output. After completion of the encoding procedure 300, the UE may transmit at least K codewords, or transmit codewords until a feedback message (e.g., ACK) is received or until a threshold number of transmissions is achieved.
FIG. 4 illustrates an example of a process flow 400 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. In some examples, process flow 400 may implement aspects of wireless communications system 100. For example, wireless communications system 200 may include a base station 105-b and a UE 115-b, which may be examples of UEs 115 and base stations 105 described herein. In the present example, the UE 115-b is shown as the transmitter, and the base station 105-b is shown as the receiver. However, either type of device can act as a transmitter or receiver, and other types of wireless devices may also act as a transmitter or receiver according to the process flow 400.
In some aspects, UE 115-b may be configured or otherwise acting as a transmitting device performing a wireless transmission to base station 105-b, which may be configured or otherwise acting as a receiving device. However, it is to be understood that UE 115-b may implement various aspects of the described techniques when acting as or  otherwise configured as a receiving device performing a wireless transmission to base station 105-b, which would be configured or otherwise acting as a transmitting device.
At 405, a PDCP data packet may be segmented into a set of PDCP sub-packets at a PDCP layer of the UE 115-b, where each PDCP sub-packet contains a number of data bits. A PDCP packet may contain a number of bytes (e.g., 9000 bytes) . In some examples, the UE 115-b may allocate an equal number of bits to each sub-packet of the set of PDCP sub-packets. For example, the UE 115-b may segment the 9000 byte PDCP packet into 18 equal size (e.g., 500 byte) sub-packets. In some other examples, the UE 115-b may segment the PDCP into a number of different size sub-packets.
In some other cases, the UE 115-b may identify an overhead value associated with the rateless code (e.g., a ratio of output symbols to input symbols of the rateless code) , and may compare the overhead value with a value of ESI bits and CRC bits. The UE 115-b may determine the number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
At 410, the UE 115-b may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets with a rateless code (e.g., a RaptorQ code) . The UE 115-b may use the rateless code to encode over the PDCP subpackets to produce a rateless encoded output based on the rateless encoding. In the example above, the UE 115-b may use the RaptorQ code to encode over the 18 equal size PDCP sub-packets.
At 415, the UE 115-b may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI bits and CRC bits in accordance with an error check code. For example, the UE 115-b may add a number of bytes of ESI (e.g., 2 bytes ESI) and CRC (e.g., 3 bytes CRC) to each rateless encoded PDCP sub-packet. The addition of the ESI and CRC bytes may increase the encoded output size to 505 bytes, and the UE 115-b may apply an error check code such as an LDPC code to encode the first set of encoded PDCP sub-packets to generate the second set of encoded PDCP sub-packets.
In some examples, the size of the second set of encoded PDCP sub-packets is greater than the size of the first set of encoded PDCP sub-packets (e.g., the second set of sub-packets includes a larger number of bits relative to the first set of sub-packets) .
In some examples, the UE 115-b may generate a coding block for applying the error check code to the first encoded output. For example, in cases where an LDPC code is used, the UE 115-b may set an LDPC code block size equal to the size of the encoded output (with ESI and CRC bits) . The UE 115-b may apply the error check code to the generated coding block, and may generate the second set of encoded PDCP sub-packets in accordance with the error check code.
At 420, the UE 115-b may transmit the second set of encoded PDCP sub-packets over a wireless channel. In some examples, the UE 115-b may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of a threshold number of encoded PDCP sub-packets is satisfied. In some cases, the threshold number of encoded PDCP sub-packets may be based on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
In some other examples, the UE 115-b may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until a feedback message (e.g., an acknowledgement (ACK) message) from a receiving device such as base station 105-b is received.
At 420, base station 105-b may receive, at a PDCP layer, an encoded packet data convergence protocol (PDCP) data packet comprising a set of encoded sub-packets, where each sub-packet of the set of encoded PDCP sub-packets comprises a number of bits.
At 425, the base station may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with the respective sets of ESI bits and CRC bits.
FIG. 5 shows a block diagram 500 of a device 505 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The device 505 may be an example of, or implement aspects of, a UE 115 or a base station 105 as described herein. The device 505 may include a receiver 510, a communications manager 515, and a transmitter 520. The device 505 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
The receiver 510 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 505. The receiver 510 may be an example of aspects of the transceiver 820 described with reference to FIG. 8. The receiver 510 may utilize a single antenna or a set of antennas.
The communications manager 515 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel. The communications manager 515 may be an example of aspects of the communications manager 810 described herein.
The communications manager 515, or its sub-components, may be implemented in hardware, code (e.g., software or firmware) executed by a processor, or any combination thereof. If implemented in code executed by a processor, the functions of the communications manager 515, or its sub-components may be executed by a general-purpose processor, a DSP, an application-specific integrated circuit (ASIC) , a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.
The communications manager 515, or its sub-components, may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical components. In some examples, the communications manager 515, or its sub-components, may be a separate and distinct component in accordance with various aspects of the present disclosure. In some examples, the communications manager 515, or its sub-components, may be combined with one or more other hardware components, including but not limited to an input/output (I/O) component, a transceiver, a network server, another computing device, one or more other  components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
The transmitter 520 may transmit signals generated by other components of the device 505. In some examples, the transmitter 520 may be collocated with a receiver 510 in a transceiver module. For example, the transmitter 520 may be an example of aspects of the transceiver 820 described with reference to FIG. 8. The transmitter 520 may utilize a single antenna or a set of antennas.
In some examples, communications manager 515 may be implemented as an integrated circuit or chipset for a mobile device modem, and the receiver 510 and transmitter 520 may be implemented as analog components (e.g., amplifiers, filters, and antennas) coupled with the mobile device modem to enable wireless transmission and reception.
The communications manager 515 as described herein may be implemented to realize one or more potential advantages. At least one implementation may enable communications manager 515 to effectively implement techniques of rateless coding such as RaptorQ encoding at the PDCP layer of a device. In some other implementations, the communications manager 515 may apply additional error encoding techniques such as LDPC encoding at a PDCP layer of the device. By implementing rateless coding, wireless throughput may be increased and the overhead associated with control signaling, such as acknowledgment/negative acknowledgment HARQ feedback and the scheduling of retransmissions, may be reduced.
Based on implementing the rateless encoding techniques as described herein, one or more processors of the device 505 (e.g., processor (s) controlling or incorporated with one or more of receiver 510, communications manager 515, and transmitter 520) may provide application-layer and PDCP-layer protection against network packet loss. By applying a RaptorQ code, a device may be able recover data lost in transmission and reconstruct the data. Such techniques may allow for high quality-of-service (QoS) and communications efficiency in the wireless network.
FIG. 6 shows a block diagram 600 of a device 605 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The device 605 may be an example of aspects of a device 505, or a UE 115 as described herein. The device 605 may include a receiver 610, a communications manager 615, and a transmitter 635. The  device 605 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
The receiver 610 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 605. The receiver 610 may be an example of aspects of the transceiver 820 described with reference to FIG. 8. The receiver 610 may utilize a single antenna or a set of antennas.
The communications manager 615 may be an example of aspects of the communications manager 515 as described herein. The communications manager 615 may include a PDCP segmenting component 620, a PDCP sub-packet encoding component 625, and a PDCP sub-packet transmission component 630. The communications manager 615 may be an example of aspects of the communications manager 810 described herein.
The PDCP segmenting component 620 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
The PDCP sub-packet encoding component 625 may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code and generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code.
The PDCP sub-packet transmission component 630 may transmit the second set of encoded PDCP sub-packets over a wireless channel.
The transmitter 635 may transmit signals generated by other components of the device 605. In some examples, the transmitter 635 may be collocated with a receiver 610 in a transceiver module. For example, the transmitter 635 may be an example of aspects of the transceiver 820 described with reference to FIG. 8. The transmitter 635 may utilize a single antenna or a set of antennas.
FIG. 7 shows a block diagram 700 of a communications manager 705 that supports rateless coding over a PDCP layer in accordance with aspects of the present  disclosure. The communications manager 705 may be an example of aspects of a communications manager 515, a communications manager 615, or a communications manager 810 described herein. The communications manager 705 may include a PDCP segmenting component 710, a PDCP sub-packet encoding component 715, a PDCP sub-packet transmission component 720, an overhead component 725, a coding block generation component 730, an error check code application component 735, a feedback component 740, and a raptor coding component 745. Each of these modules may communicate, directly or indirectly, with one another (e.g., via one or more buses) .
The PDCP segmenting component 710 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits.
In some examples, the PDCP segmenting component 710 may allocate an equal number of bits to each sub-packet of the set of PDCP sub-packets. In some cases, a size of the second set of encoded PDCP sub-packets is greater than a size of the first set of encoded PDCP sub-packets.
The PDCP sub-packet encoding component 715 may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code. The Raptor coding component 745 may identify the rateless code as a rapid tornado (Raptor) code.
In some examples, the PDCP sub-packet encoding component 715 may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID (ESI) and CRC bits in accordance with an error check code.
The overhead component 725 may compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof. In some examples, the PDCP segmenting component 710 may determine a number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison.
In some examples, the PDCP sub-packet encoding component 715 may generate the second set of encoded PDCP sub-packets in accordance with the error check code. The  PDCP sub-packet transmission component 720 may transmit the second set of encoded PDCP sub-packets over a wireless channel.
In some examples, the PDCP sub-packet encoding component 715 may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or a feedback message from a receiving device is received, or both. The feedback component 740 may identify the feedback message as including a positive ACK feedback message.
In some cases, the threshold number of encoded PDCP sub-packets is based on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
The coding block generation component 730 may generate a coding block for applying the error check code based on the encoding. The error check code application component 735 may apply the error check code to the generated coding block. In some cases, the error check code includes a low-density parity-check (LDPC) code.
FIG. 8 shows a diagram of a system 800 including a device 805 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The device 805 may be an example of or include the components of device 505, device 605, or a UE 115 as described herein. The device 805 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including a communications manager 810, an I/O controller 815, a transceiver 820, an antenna 825, memory 830, and a processor 840. These components may be in electronic communication via one or more buses (e.g., bus 845) .
The communications manager 810 may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits, generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code, generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code, and transmit the second set of encoded PDCP sub-packets over a wireless channel.
The I/O controller 815 may manage input and output signals for the device 805. The I/O controller 815 may also manage peripherals not integrated into the device 805. In some cases, the I/O controller 815 may represent a physical connection or port to an external peripheral. In some cases, the I/O controller 815 may utilize an operating system such as 
Figure PCTCN2020116080-appb-000006
or another known operating system. In other cases, the I/O controller 815 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, the I/O controller 815 may be implemented as part of a processor. In some cases, a user may interact with the device 805 via the I/O controller 815 or via hardware components controlled by the I/O controller 815.
The transceiver 820 may communicate bi-directionally, via one or more antennas, wired, or wireless links as described above. For example, the transceiver 820 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 820 may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.
In some cases, the wireless device may include a single antenna 825. However, in some cases the device may have more than one antenna 825, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.
The memory 830 may include RAM and ROM. The memory 830 may store computer-readable, computer-executable code 835 including instructions that, when executed, cause the processor to perform various functions described herein. In some cases, the memory 830 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
The processor 840 may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) . In some cases, the processor 840 may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into the processor 840. The processor 840 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 830) to cause the device 805 to  perform various functions (e.g., functions or tasks supporting rateless coding over a PDCP layer) .
The code 835 may include instructions to implement aspects of the present disclosure, including instructions to support wireless communications. The code 835 may be stored in a non-transitory computer-readable medium such as system memory or other type of memory. In some cases, the code 835 may not be directly executable by the processor 840 but may cause a computer (e.g., when compiled and executed) to perform functions described herein.
FIG. 9 shows a block diagram 900 of a device 905 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The device 905 may be an example of, or may implement aspects of, a UE 115 or base station 105 as described herein. The device 905 may include a receiver 910, a communications manager 915, and a transmitter 920. The device 905 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
The receiver 910 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 905. The receiver 910 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12. The receiver 910 may utilize a single antenna or a set of antennas.
The communications manager 915 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits. The communications manager 915 may be an example of aspects of the communications manager 1210 described herein.
The communications manager 915, or its sub-components, may be implemented in hardware, code (e.g., software or firmware) executed by a processor, or any combination thereof. If implemented in code executed by a processor, the functions of the communications manager 915, or its sub-components may be executed by a general-purpose processor, a DSP,  an application-specific integrated circuit (ASIC) , a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.
The communications manager 915, or its sub-components, may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical components. In some examples, the communications manager 915, or its sub-components, may be a separate and distinct component in accordance with various aspects of the present disclosure. In some examples, the communications manager 915, or its sub-components, may be combined with one or more other hardware components, including but not limited to an input/output (I/O) component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
The transmitter 920 may transmit signals generated by other components of the device 905. In some examples, the transmitter 920 may be collocated with a receiver 910 in a transceiver module. For example, the transmitter 920 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12. The transmitter 920 may utilize a single antenna or a set of antennas.
In some examples, communications manager 915 may be implemented as an integrated circuit or chipset for a mobile device modem, and the receiver 910 and transmitter 920 may be implemented as analog components (e.g., amplifiers, filters, and antennas) coupled with the mobile device modem to enable wireless transmission and reception.
The communications manager 915 as described herein may be implemented to realize one or more potential advantages. At least one implementation may enable communications manager 915 to effectively implement techniques of rateless coding such as decoding RaptorQ encoded data. In some other implementations, the communications manager 915 may be able to reproduce packets that may be lost in transmission from the transmitting device. By implementing rateless coding, wireless throughput may be increased and the overhead associated with control signaling, such as acknowledgment/negative acknowledgment HARQ feedback and the scheduling of retransmissions, may be reduced.
Based on implementing the rateless encoding techniques as described herein, one or more processors of the device 905 (e.g., processor (s) controlling or incorporated with one or more of receiver 910, communications manager 915, and transmitter 920) may provide application-layer and PDCP-layer protection against network packet loss. By applying a RaptorQ code, a receiving device may be able recover data lost in transmission and reconstruct the data. Such techniques may allow for high quality-of-service (QoS) and communications efficiency in the wireless network.
FIG. 10 shows a block diagram 1000 of a device 1005 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The device 1005 may be an example of aspects of a device 905, or a base station 105 as described herein. The device 1005 may include a receiver 1010, a communications manager 1015, and a transmitter 1030. The device 1005 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
The receiver 1010 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless coding over a PDCP layer) . Information may be passed on to other components of the device 1005. The receiver 1010 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12. The receiver 1010 may utilize a single antenna or a set of antennas.
The communications manager 1015 may be an example of aspects of the communications manager 915 as described herein. The communications manager 1015 may include an encoded PDCP sub-packet receiver 1020 and an encoded PDCP sub-packet decoder 1025. The communications manager 1015 may be an example of aspects of the communications manager 1210 described herein.
The encoded PDCP sub-packet receiver 1020 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits.
The encoded PDCP sub-packet decoder 1025 may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
The transmitter 1030 may transmit signals generated by other components of the device 1005. In some examples, the transmitter 1030 may be collocated with a receiver 1010 in a transceiver module. For example, the transmitter 1030 may be an example of aspects of the transceiver 1220 described with reference to FIG. 12. The transmitter 1030 may utilize a single antenna or a set of antennas.
FIG. 11 shows a block diagram 1100 of a communications manager 1105 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The communications manager 1105 may be an example of aspects of a communications manager 915, a communications manager 1015, or a communications manager 1210 described herein. The communications manager 1105 may include an encoded PDCP sub-packet receiver 1110, an encoded PDCP sub-packet decoder 1115, an overhead component 1120, an error check code decoding component 1125, a feedback component 1130, and a raptor coding component 1135. Each of these modules may communicate, directly or indirectly, with one another (e.g., via one or more buses) .
The encoded PDCP sub-packet receiver 1110 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits. In some cases, a number of bits is allocated to each sub-packet of the set of PDCP sub-packets.
The encoded PDCP sub-packet decoder 1115 may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits. The Raptor coding component 1135 may identify the rateless code as a rapid tornado (Raptor) code.
In some examples, the encoded PDCP sub-packet decoder 1115 may determine a number of sub-packets allocated to the set of encoded PDCP sub-packets based on the decoding. In some examples, the encoded PDCP sub-packet decoder 1115 may continue to receive and decode encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or based on a transmission of a feedback message to the transmitting device, or both. The feedback component 1130 may identify the feedback message as a positive ACK feedback message.
In some cases, the threshold number of encoded PDCP sub-packets is based on a number of encoded PDCP sub-packets allocated to the set of encoded PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
The overhead component 1120 may compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof. In some examples, the encoded PDCP sub-packet decoder 1115 may decode the set of encoded PDCP sub-packets based on the comparison.
The error check code decoding component 1125 may decode the set of encoded PDCP sub-packets on a coding block in accordance with the error check code. In some cases, the error check code includes a low-density parity-check (LDPC) code.
FIG. 12 shows a diagram of a system 1200 including a device 1205 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The device 1205 may be an example of or include the components of device 905, device 1005, or a base station 105 as described herein. The device 1205 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including a communications manager 1210, a network communications manager 1215, a transceiver 1220, an antenna 1225, memory 1230, a processor 1240, and an inter-station communications manager 1245. These components may be in electronic communication via one or more buses (e.g., bus 1250) .
The communications manager 1210 may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits and decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits.
The network communications manager 1215 may manage communications with the core network (e.g., via one or more wired backhaul links) . For example, the network communications manager 1215 may manage the transfer of data communications for client devices, such as one or more UEs 115.
The transceiver 1220 may communicate bi-directionally, via one or more antennas, wired, or wireless links as described above. For example, the transceiver 1220 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 1220 may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.
In some cases, the wireless device may include a single antenna 1225. However, in some cases the device may have more than one antenna 1225, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.
The memory 1230 may include RAM, ROM, or a combination thereof. The memory 1230 may store computer-readable code 1235 including instructions that, when executed by a processor (e.g., the processor 1240) cause the device to perform various functions described herein. In some cases, the memory 1230 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
The processor 1240 may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) . In some cases, the processor 1240 may be configured to operate a memory array using a memory controller. In some cases, a memory controller may be integrated into processor 1240. The processor 1240 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 1230) to cause the device 1205 to perform various functions (e.g., functions or tasks supporting rateless coding over a PDCP layer) .
The inter-station communications manager 1245 may manage communications with other base station 105, and may include a controller or scheduler for controlling communications with UEs 115 in cooperation with other base stations 105. For example, the inter-station communications manager 1245 may coordinate scheduling for transmissions to UEs 115 for various interference mitigation techniques such as beamforming or joint transmission. In some examples, the inter-station communications manager 1245 may  provide an X2 interface within a wireless communication network technology to provide communication between base stations 105.
The code 1235 may include instructions to implement aspects of the present disclosure, including instructions to support wireless communications. The code 1235 may be stored in a non-transitory computer-readable medium such as system memory or other type of memory. In some cases, the code 1235 may not be directly executable by the processor 1240 but may cause a computer (e.g., when compiled and executed) to perform functions described herein.
FIG. 13 shows a flowchart illustrating a method 1300 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The operations of method 1300 may be implemented by a UE 115 or its components as described herein. For example, the operations of method 1300 may be performed by a communications manager as described with reference to FIGs. 5 through 8. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
At 1305, the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits. The operations of 1305 may be performed according to the methods described herein. In some examples, aspects of the operations of 1305 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
At 1310, the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code. The operations of 1310 may be performed according to the methods described herein. In some examples, aspects of the operations of 1310 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1315, the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code. The operations of 1315 may be performed according to the methods described herein. In some examples,  aspects of the operations of 1315 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1320, the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel. The operations of 1320 may be performed according to the methods described herein. In some examples, aspects of the operations of 1320 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
FIG. 14 shows a flowchart illustrating a method 1400 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The operations of method 1400 may be implemented by a UE 115 or its components as described herein. For example, the operations of method 1400 may be performed by a communications manager as described with reference to FIGs. 5 through 8. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
At 1405, the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits. The operations of 1405 may be performed according to the methods described herein. In some examples, aspects of the operations of 1405 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
At 1410, the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code. The operations of 1410 may be performed according to the methods described herein. In some examples, aspects of the operations of 1410 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1415, the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code. The operations of 1415 may be performed according to the methods described herein. In some examples, aspects of the operations of 1415 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1420, the UE may compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof. The operations of 1420 may be performed according to the methods described herein. In some examples, aspects of the operations of 1420 may be performed by an overhead component as described with reference to FIGs. 5 through 8.
At 1425, the UE may determine a number of sub-packets to allocate to the set of PDCP sub-packets based on the comparison. The operations of 1425 may be performed according to the methods described herein. In some examples, aspects of the operations of 1425 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
At 1430, the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel. The operations of 1430 may be performed according to the methods described herein. In some examples, aspects of the operations of 1430 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
FIG. 15 shows a flowchart illustrating a method 1500 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The operations of method 1500 may be implemented by a UE 115 or its components as described herein. For example, the operations of method 1500 may be performed by a communications manager as described with reference to FIGs. 5 through 8. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
At 1505, the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits. The operations of 1505 may be performed according to the methods described herein. In some examples, aspects of the operations of 1505 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
At 1510, the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code. The operations of 1510 may be performed according to the methods described herein. In  some examples, aspects of the operations of 1510 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1515, the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code. The operations of 1515 may be performed according to the methods described herein. In some examples, aspects of the operations of 1515 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1520, the UE may generate a coding block for applying the error check code based on the encoding. The operations of 1520 may be performed according to the methods described herein. In some examples, aspects of the operations of 1520 may be performed by a coding block generation component as described with reference to FIGs. 5 through 8.
At 1525, the UE may apply the error check code to the generated coding block. The operations of 1525 may be performed according to the methods described herein. In some examples, aspects of the operations of 1525 may be performed by an error check code application component as described with reference to FIGs. 5 through 8.
At 1530, the UE may generate the second set of encoded PDCP sub-packets in accordance with the error check code. The operations of 1530 may be performed according to the methods described herein. In some examples, aspects of the operations of 1530 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1535, the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel. The operations of 1535 may be performed according to the methods described herein. In some examples, aspects of the operations of 1535 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
FIG. 16 shows a flowchart illustrating a method 1600 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The operations of method 1600 may be implemented by a UE 115 or its components as described herein. For example, the operations of method 1600 may be performed by a communications manager as described with reference to FIGs. 5 through 8. In some examples, a UE may  execute a set of instructions to control the functional elements of the UE to perform the functions described below. Additionally or alternatively, a UE may perform aspects of the functions described below using special-purpose hardware.
At 1605, the UE may segment a PDCP data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, where each PDCP sub-packet of the set of PDCP sub-packets includes a number of bits. The operations of 1605 may be performed according to the methods described herein. In some examples, aspects of the operations of 1605 may be performed by a PDCP segmenting component as described with reference to FIGs. 5 through 8.
At 1610, the UE may generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code. The operations of 1610 may be performed according to the methods described herein. In some examples, aspects of the operations of 1610 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1615, the UE may generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of ESI and CRC bits in accordance with an error check code. The operations of 1615 may be performed according to the methods described herein. In some examples, aspects of the operations of 1615 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
At 1620, the UE may transmit the second set of encoded PDCP sub-packets over a wireless channel. The operations of 1620 may be performed according to the methods described herein. In some examples, aspects of the operations of 1620 may be performed by a PDCP sub-packet transmission component as described with reference to FIGs. 5 through 8.
At 1625, the UE may continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or a feedback message from a receiving device is received, or both. The operations of 1625 may be performed according to the methods described herein. In some examples, aspects of the operations of 1625 may be performed by a PDCP sub-packet encoding component as described with reference to FIGs. 5 through 8.
FIG. 17 shows a flowchart illustrating a method 1700 that supports rateless coding over a PDCP layer in accordance with aspects of the present disclosure. The operations of method 1700 may be implemented by a base station 105 or its components as described herein. For example, the operations of method 1700 may be performed by a communications manager as described with reference to FIGs. 9 through 12. In some examples, a base station may execute a set of instructions to control the functional elements of the base station to perform the functions described below. Additionally or alternatively, a base station may perform aspects of the functions described below using special-purpose hardware.
At 1705, the base station may receive, at a PDCP layer of the receiving device, an encoded PDCP data packet including a set of sub-packets, where each sub-packet of the set of PDCP sub-packets includes a number of bits. The operations of 1705 may be performed according to the methods described herein. In some examples, aspects of the operations of 1705 may be performed by an encoded PDCP sub-packet receiver as described with reference to FIGs. 9 through 12.
At 1710, the base station may decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet in accordance with a rateless code and an error check code, the encoded PDCP sub-packets being encoded with a respective set of ESI and CRC bits. The operations of 1710 may be performed according to the methods described herein. In some examples, aspects of the operations of 1710 may be performed by an encoded PDCP sub-packet decoder as described with reference to FIGs. 9 through 12.
It should be noted that the methods described herein describe possible implementations, and that the operations and the steps may be rearranged or otherwise modified and that other implementations are possible. Further, aspects from two or more of the methods may be combined.
Although aspects of an LTE, LTE-A, LTE-A Pro, or NR system may be described for purposes of example, and LTE, LTE-A, LTE-A Pro, or NR terminology may be used in much of the description, the techniques described herein are applicable beyond LTE, LTE-A, LTE-A Pro, or NR networks. For example, the described techniques may be applicable to various other wireless communications systems such as Ultra Mobile Broadband (UMB) , Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi) , IEEE 802.16  (WiMAX) , IEEE 802.20, Flash-OFDM, as well as other systems and radio technologies not explicitly mentioned herein.
Information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The various illustrative blocks and components described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a DSP, an ASIC, a CPU, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration) .
The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein may be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A non-transitory storage medium may be any available medium that may be accessed by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media may include random- access memory (RAM) , read-only memory (ROM) , electrically erasable programmable ROM (EEPROM) , flash memory, compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) , or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of computer-readable medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
As used herein, including in the claims, “or” as used in a list of items (e.g., a list of items prefaced by a phrase such as “at least one of” or “one or more of” ) indicates an inclusive list such that, for example, a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C) . Also, as used herein, the phrase “based on” shall not be construed as a reference to a closed set of conditions. For example, an example step that is described as “based on condition A” may be based on both a condition A and a condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase “based on” shall be construed in the same manner as the phrase “based at least in part on. ”
In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If just the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label, or other subsequent reference label.
The description set forth herein, in connection with the appended drawings, describes example configurations and does not represent all the examples that may be implemented or that are within the scope of the claims. The term “example” used herein means “serving as an example, instance, or illustration, ” and not “preferred” or “advantageous over other examples. ” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, may be practiced without these specific details. In some instances, known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.
The description herein is provided to enable a person having ordinary skill in the art to make or use the disclosure. Various modifications to the disclosure will be apparent to a person having ordinary skill in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not limited to the examples and designs described herein, but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.

Claims (42)

  1. A method for wireless communications at a transmitting device, comprising:
    segmenting a packet data convergence protocol (PDCP) data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, wherein each PDCP sub-packet of the set of PDCP sub-packets comprises a number of bits;
    generating a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code;
    generating a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits in accordance with an error check code; and
    transmitting the second set of encoded PDCP sub-packets over a wireless channel.
  2. The method of claim 1, wherein segmenting the PDCP data packet further comprises:
    comparing an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof; and
    determining a number of sub-packets to allocate to the set of PDCP sub-packets based at least in part on the comparison.
  3. The method of claim 1, wherein segmenting the PDCP data packet further comprises:
    allocating an equal number of bits to each sub-packet of the set of PDCP sub-packets.
  4. The method of claim 1, wherein a size of the second set of encoded PDCP sub-packets is greater than a size of the first set of encoded PDCP sub-packets.
  5. The method of claim 1, wherein generating the second set of encoded PDCP sub-packets further comprises:
    generating a coding block for applying the error check code based at least in part on the encoding;
    applying the error check code to the generated coding block; and
    generating the second set of encoded PDCP sub-packets in accordance with the error check code.
  6. The method of claim 5, wherein the error check code comprises a low-density parity-check (LDPC) code.
  7. The method of claim 1, wherein transmitting the second set of encoded PDCP sub-packets further comprises:
    continuing to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or a feedback message from a receiving device is received, or both.
  8. The method of claim 7, wherein the threshold number of encoded PDCP sub-packets is based at least in part on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  9. The method of claim 7, wherein the feedback message comprises a positive acknowledgement (ACK) feedback message.
  10. The method of claim 1, wherein the rateless code comprises a rapid tornado (Raptor) code.
  11. A method for wireless communications at a receiving device, comprising:
    receiving, at a packet data convergence protocol (PDCP) layer of the receiving device, an encoded PDCP data packet comprising a set of encoded PDCP sub-packets, wherein each encoded PDCP sub-packet of the set of encoded PDCP sub-packets comprises a number of bits; and
    decoding the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub- packets being encoded with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits.
  12. The method of claim 11, further comprising:
    comparing an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof;
    decoding the set of encoded PDCP sub-packets based at least in part on the comparison; and
    determining a number of sub-packets allocated to the set of encoded PDCP sub-packets based at least in part on the decoding.
  13. The method of claim 11, wherein a number of bits is allocated to each sub-packet of the set of encoded PDCP sub-packets.
  14. The method of claim 11, further comprising:
    decoding the set of encoded PDCP sub-packets on a coding block in accordance with the error check code.
  15. The method of claim 14, wherein the error check code comprises a low-density parity-check (LDPC) code.
  16. The method of claim 11, further comprising:
    continuing to receive and decode encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or based on a transmission of a feedback message to a transmitting device, or both.
  17. The method of claim 16, wherein the threshold number of encoded PDCP sub-packets is based at least in part on a number of encoded PDCP sub-packets allocated to the set of encoded PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  18. The method of claim 16, wherein the feedback message comprises a positive acknowledgement (ACK) feedback message.
  19. The method of claim 11, wherein the rateless code comprises a rapid tornado (Raptor) code.
  20. An apparatus for wireless communications at a transmitting device, comprising:
    a processor,
    memory coupled with the processor; and
    instructions stored in the memory and executable by the processor to cause the apparatus to:
    segment a packet data convergence protocol (PDCP) data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, wherein each PDCP sub-packet of the set of PDCP sub-packets comprises a number of bits;
    generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code;
    generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits in accordance with an error check code; and
    transmit the second set of encoded PDCP sub-packets over a wireless channel.
  21. The apparatus of claim 20, wherein the instructions to segment the PDCP data packet further are executable by the processor to cause the apparatus to:
    compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof; and
    determine a number of sub-packets to allocate to the set of PDCP sub-packets based at least in part on the comparison.
  22. The apparatus of claim 20, wherein the instructions to segment the PDCP data packet further are executable by the processor to cause the apparatus to:
    allocate an equal number of bits to each sub-packet of the set of PDCP sub-packets.
  23. The apparatus of claim 20, wherein a size of the second set of encoded PDCP sub-packets is greater than a size of the first set of encoded PDCP sub-packets.
  24. The apparatus of claim 20, wherein the instructions to generate a second set of encoded PDCP sub-packets further are executable by the processor to cause the apparatus to:
    generate a coding block for applying the error check code based at least in part on the encoding;
    apply the error check code to the generated coding block; and
    generate the second set of encoded PDCP sub-packets in accordance with the error check code.
  25. The apparatus of claim 24, wherein the error check code comprises a low-density parity-check (LDPC) code.
  26. The apparatus of claim 20, wherein the instructions to transmit the second set of encoded PDCP sub-packets further are executable by the processor to cause the apparatus to:
    continue to generate and transmit sub-packets in the second set of encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or a feedback message from a receiving device is received, or both.
  27. The apparatus of claim 26, wherein the threshold number of encoded PDCP sub-packets is based at least in part on a number of PDCP sub-packets allocated to the set of PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  28. The apparatus of claim 26, wherein the feedback message comprises a positive acknowledgement (ACK) feedback message.
  29. The apparatus of claim 20, wherein the rateless code comprises a rapid tornado (Raptor) code.
  30. An apparatus for wireless communications at a receiving device, comprising:
    a processor,
    memory coupled with the processor; and
    instructions stored in the memory and executable by the processor to cause the apparatus to:
    receive, at a packet data convergence protocol (PDCP) layer of the receiving device, an encoded PDCP data packet comprising a set of encoded PDCP sub-packets, wherein each encoded PDCP sub-packet of the set of encoded PDCP sub-packets comprises a number of bits; and
    decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits.
  31. The apparatus of claim 30, wherein the instructions are further executable by the processor to cause the apparatus to:
    compare an overhead associated with the rateless code, the ESI bits, the CRC bits, or any combination thereof;
    decode the set of encoded PDCP sub-packets based at least in part on the comparison; and
    determine a number of sub-packets allocated to the set of encoded PDCP sub-packets based at least in part on the decoding.
  32. The apparatus of claim 30, wherein a number of bits is allocated to each sub-packet of the set of encoded PDCP sub-packets.
  33. The apparatus of claim 30, wherein the instructions are further are executable by the processor to cause the apparatus to:
    decode the set of encoded PDCP sub-packets on a coding block in accordance with the error check code.
  34. The apparatus of claim 33, wherein the error check code comprises a low-density parity-check (LDPC) code.
  35. The apparatus of claim 30, wherein the instructions to transmit the second set of encoded PDCP sub-packets further are executable by the processor to cause the apparatus to:
    continue to receive and decode encoded PDCP sub-packets using the rateless code until one or more of: a threshold number of encoded PDCP sub-packets is satisfied, or based on a transmission of a feedback message to a transmitting device, or both.
  36. The apparatus of claim 35, wherein the threshold number of encoded PDCP sub-packets is based at least in part on a number of encoded PDCP sub-packets allocated to the set of encoded PDCP sub-packets, a maximum number of encoded PDCP sub-packets, or both.
  37. The apparatus of claim 35, wherein the feedback message comprises a positive acknowledgement (ACK) feedback message.
  38. The apparatus of claim 30, wherein the rateless code comprises a rapid tornado (Raptor) code.
  39. An apparatus for wireless communications at a transmitting device, comprising:
    means for segmenting a packet data convergence protocol (PDCP) data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, wherein each PDCP sub-packet of the set of PDCP sub-packets comprises a number of bits;
    means for generating a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code;
    means for generating a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits in accordance with an error check code; and
    means for transmitting the second set of encoded PDCP sub-packets over a wireless channel.
  40. An apparatus for wireless communications at a receiving device, comprising:
    means for receiving, at a packet data convergence protocol (PDCP) layer of the receiving device, an encoded PDCP data packet comprising a set of encoded PDCP sub-packets, wherein each encoded PDCP sub-packet of the set of encoded PDCP sub-packets comprises a number of bits; and
    means for decoding the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits.
  41. A non-transitory computer-readable medium storing code for wireless communications at a transmitting device, the code comprising instructions executable by a processor to:
    segment a packet data convergence protocol (PDCP) data packet into a set of PDCP sub-packets at a PDCP layer of the transmitting device, wherein each PDCP sub-packet of the set of PDCP sub-packets comprises a number of bits;
    generate a first set of encoded PDCP sub-packets by encoding the set of PDCP sub-packets at the PDCP layer in accordance with a rateless code;
    generate a second set of encoded PDCP sub-packets by encoding each PDCP sub-packet of the first set of encoded PDCP sub-packets with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits in accordance with an error check code; and
    transmit the second set of encoded PDCP sub-packets over a wireless channel.
  42. A non-transitory computer-readable medium storing code for wireless communications at a receiving device, the code comprising instructions executable by a processor to:
    receive, at a packet data convergence protocol (PDCP) layer of the receiving device, an encoded PDCP comprising a set of encoded PDCP sub-packets, wherein each encoded PDCP sub-packet of the set of encoded PDCP sub-packets comprises a number of bits; and
    decode the set of encoded PDCP sub-packets by decoding each encoded PDCP sub-packet of the set of encoded PDCP sub-packets in accordance with a rateless code and an error check code, each encoded PDCP sub-packet of the set of encoded PDCP sub-packets being encoded with a respective set of encoding symbol ID (ESI) and cyclic redundancy check (CRC) bits.
PCT/CN2020/116080 2020-09-18 2020-09-18 Rateless coding over a packet data convergence protocol layer WO2022056807A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/116080 WO2022056807A1 (en) 2020-09-18 2020-09-18 Rateless coding over a packet data convergence protocol layer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/116080 WO2022056807A1 (en) 2020-09-18 2020-09-18 Rateless coding over a packet data convergence protocol layer

Publications (1)

Publication Number Publication Date
WO2022056807A1 true WO2022056807A1 (en) 2022-03-24

Family

ID=80777341

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/116080 WO2022056807A1 (en) 2020-09-18 2020-09-18 Rateless coding over a packet data convergence protocol layer

Country Status (1)

Country Link
WO (1) WO2022056807A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018177253A1 (en) * 2017-03-31 2018-10-04 华为技术有限公司 Communication method and device
US20190081746A1 (en) * 2016-05-11 2019-03-14 Huawei Technologies Co., Ltd. Data Transmission Method, Device, and System
US20190357196A1 (en) * 2018-05-17 2019-11-21 At&T Intellectual Property I, L.P. Network coding for bandwidth efficient reliability improvement for urllc service
CN111525982A (en) * 2019-02-02 2020-08-11 华为技术有限公司 Method and apparatus for wireless communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081746A1 (en) * 2016-05-11 2019-03-14 Huawei Technologies Co., Ltd. Data Transmission Method, Device, and System
WO2018177253A1 (en) * 2017-03-31 2018-10-04 华为技术有限公司 Communication method and device
US20190357196A1 (en) * 2018-05-17 2019-11-21 At&T Intellectual Property I, L.P. Network coding for bandwidth efficient reliability improvement for urllc service
CN111525982A (en) * 2019-02-02 2020-08-11 华为技术有限公司 Method and apparatus for wireless communication

Similar Documents

Publication Publication Date Title
US11595943B2 (en) Outer coding schemes in downlink control information
EP4079066A1 (en) Concurrent sidelink and uplink transmission
WO2022016488A1 (en) Rateless coding at a packet data convergence protocol layer
WO2022016489A1 (en) Polling and status reporting for network coding
WO2022041187A1 (en) Degree selection schemes for rapid tornado (raptor) codes in multicast and broadcast services and in unicast services
WO2022056807A1 (en) Rateless coding over a packet data convergence protocol layer
WO2022067837A1 (en) Control signaling for rateless codes with feedback
WO2022006850A1 (en) Transmitting encoding symbol identifier of raptor codes using control channel coding
US11963031B2 (en) Techniques for receiver-specific network coding redundancy
WO2022042623A1 (en) Indication scheme for rateless codes transmissions without feedback information
US11844102B2 (en) Adaptive network coding for sidelink communications
US11996934B2 (en) Broadcasting packets using network coding with feedback
US20230254092A1 (en) Flexible feedback with outer coding
US11722265B2 (en) Feedback design for network coding termination in broadcasting
US20230139023A1 (en) Adaptive rateless coding for sidelink communications
US20220303047A1 (en) Network coding to mitigate blockage with spatial division multiplexing beams
WO2023097562A1 (en) Scrambling for probabilistic constellation schemes in wireless communications
WO2021184184A1 (en) Modulation and coding scheme indication for multi-slot transmissions
US20230145149A1 (en) Dynamic coding for wireless systems
US20210385003A1 (en) Broadcasting packets using network coding with feedback
WO2022261847A1 (en) Distribution matching for probabilistic constellation shaping in wireless communications
WO2022032612A1 (en) Network coding for control channels
WO2022016501A1 (en) Outer coding at a packet data convergence protocol layer
WO2022104587A1 (en) Constellation shaping configuration and feedback
WO2022261845A1 (en) Variable-to-fixed distribution matching for probabilistic constellation shaping in wireless communications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20953665

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20953665

Country of ref document: EP

Kind code of ref document: A1