Improved low-density parity check offset decoder
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
- Filing Date
- 2023-07-21
- Publication Date
- 2026-05-27
AI Technical Summary
Current low-density parity check (LDPC) offset decoders face performance issues, particularly in scenarios with different modulation and coding schemes (MCS) and resource allocation sizes, leading to suboptimal performance in terms of physical uplink shared channel (PUSCH) throughput and cell coverage.
The proposed solution optimizes the offset for LDPC decoders based on the number of resource blocks (RBs), modulation and coding schemes (MCS), and the number of transmission layers, allowing for different offsets for various LDPC codes, modulation orders, and signal-to-noise ratio (SNR) ranges.
This approach improves LDPC decoding performance without increasing complexity, enhancing PUSCH throughput by several dBs, especially at the cell edge, and increasing cell coverage significantly.
Smart Images

Figure IB2023057461_30012025_PF_FP_ABST
Abstract
Description
IMPROVED LOW-DENSITY PARITY CHECK OFFSET DECODER TECHNICAL FIELD
[0001] Embodiments of the present disclosure are directed to wireless communications and, more particularly, to a low-density parity check (LDPC) offset decoder with improved performance. BACKGROUND
[0002] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and / or is implied from the context in which it is used. All references to a / an / the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and / or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features, and advantages of the enclosed embodiments will be apparent from the following description.
[0003] Fifth generation (5G) New Radio (NR) is a radio access technology developed by Third Generation Partnership Project (3GPP) for the 5G mobile network. NR uses orthogonal frequency division multiplexing (OFDM) in the downlink (i.e., from a network node, gNB, eNB, or base station, to a user equipment or UE). In the uplink (i.e. from UE to gNB), both discrete Fourier transform (DFT)-spread OFDM and OFDM will be supported.
[0004] FIGURE 1 is a time-frequency grid illustrating the basic NR physical resource, where each resource element corresponds to one OFDM subcarrier during one OFDM symbol interval. Resource allocation in a slot is described in terms of resource blocks (RBs), or physical resource blocks (PRBs), in the frequency domain and number of OFDM symbols in the time domain. An RB corresponds to 12 contiguous subcarriers and a slot consists of 14 OFDM symbols.P107900WO01 PCT APPLICATION 2 of 37
[0005] Different subcarrier spacing values are supported in NR. The supported subcarrier spacing values (also referred to as numerologies) in NR are given by ∆ ^^ = (15 × 2^^) kHz where ^^ is a non-negative integer.
[0006] In the time domain, downlink and uplink transmissions in NR are organized into equally sized subframes like Long Term Evolution (LTE). An example is illustrated in FIGURE 2.
[0007] FIGURE 2 illustrates the NR time-domain structure with 15 kHz subcarrier spacing. A subframe is further divided into slots and the number of slots per subframe is 2^^for a numerology of (15 × 2^^) kHz.
[0008] NR supports “slot based” transmission. In each slot, the gNB transmits downlink control information (DCI) indicating which UEs will receive data and what resources in the current downlink slot the data is transmitted on. The DCI is carried on the physical downlink control channel (PDCCH) and data is carried on physical downlink shared channel (PDSCH).
[0009] The PDCCH is typically transmitted in control resource sets (CORESETs) in the first few OFDM symbols in each slot. A UE first decodes PDCCH and if a PDCCH is decoded successfully, the UE then decodes the corresponding PDSCH based on the decoded DCI in the PDCCH.
[0010] Uplink data transmissions are also dynamically scheduled using PDCCH. Like downlink, a UE first decodes an uplink grant in a DCI carried by PDCCH and then transmits data over the physical uplink shared channel (PUSCH) based on the decoded control information in the uplink grant such as modulation order, coding rate, uplink resource allocation, etc.
[0011] Each UE is assigned a unique cell radio network temporary identifier (C-RNTI) during network connection. The cyclic redundancy check (CRC) bits attached to a DCI for a UE is scrambled by the UE’s C-RNTI. A UE recognizes its own DCI by checking the CRC bits of the DCI against its assigned C-RNTI.
[0012] Section 5.2.2 of 38.212 specifies how a transport block (TB) is segmented into code blocks and specifies what low-density parity check (LDPC) base graph should be chosen. Section 5.3.2 specifies how the LDPC encoding shall be done.
[0013] Sections 5.1.3.1 of 38.214 specifies how the modulation order and target code rate are chosen from different tables. Sections 5.1.3.2 of 38.214 specifies how the transport block size (TBS) is determined. Modulation order varies from quadrature phase shift keying (QPSK) to 256 quadrature amplitude modulation (QAM) and are specified in different tables. EachP107900WO01 PCT APPLICATION 3 of 37 modulation and coding scheme (MCS) corresponds to one specific coding rate, the lowest MCS generally corresponds to QPSK and the highest MCS corresponds to 64QAM or 256QAM depending on the MCS table chosen.
[0014] The new data indicator (NDI) and hybrid automatic repeat request (HARQ) process identifier (ID), as signaled on PDCCH, and the TBS, as determined above, shall be reported to higher layers.
[0015] Each code block on the transmitter side in either uplink (PUSCH from UE) or downlink (PDSCH from gNB to UE) will be encoded by LDPC encoder. On the receiving side at either UE for downlink or gNB from UE for uplink, the code blocks shall be decoded individually by LDPC decoder.
[0016] LDPC codes are easily described through a parity-check matrix (PCM), where the rows and columns correspond to check nodes and variable nodes, respectively. An example is illustrated in FIGURE 3.
[0017] FIGURE 3 illustrates a parity-check matrix and the corresponding bipartite graph. Each edge in the PCM corresponds to an edge between a check node and a variable node.
[0018] The parity check matrix can be mapped to a bipartite graph composed of check nodes and variable nodes, where the rows and columns of the PCM correspond to check nodes and variable nodes, respectively. Each entry H(i,j)=1 in the PCM corresponds to an edge between a check node and a variable node.
[0019] An important class of LDPC codes are quasi-cyclic (QC) LDPC codes. The PCM H of a QC-LDPC code is of size MxN, and can be represented by a base matrix H_base of size mb=M / Z and nb=N / Z, and a lifting factor Z. Each entry of H_base contains either the number -1 or one or more numbers between 0 and Z – 1. Let i and j be integers between 0 and (m / Z-1), and 0 and (n / Z-1) respectively. The submatrix formed from the entries in rows Z*i to Z*(i + 1) - 1 and columns Z*j to Z*(j + 1) - 1, are determined by the entry in row i and column j of H_base as follows.
[0020] If H_base(i,j) = -1, then the submatrix in the expanded binary matrix H is equal to the Z by Z zero matrix. If H_base(i,j) contains one or more integers k1, k2, … kdbetween 0 and Z – 1, the submatrix in the expanded binary matrix H is equal to the sum of the shifted identity matrices P_k1+ P_k2+…+ P_kd, where each ZxZ submatrix P_k is obtained from the Z by Z identity matrix by cyclically shifting the columns to the right k times.P107900WO01 PCT APPLICATION 4 of 37
[0021] The above structure makes the LDPC encoding and decoding implementations simpler by partitioning the PCM into different blocks, because Z rows can be processed in parallel which reduces encoding / decoding latency as well. The processing of a layer comprised of Z rows is less complex because the processing can be implemented with shift registers. Also, the number of rows in PCM should be a multiple of Z for all layers to be of the same size.
[0022] FIGURE 4 illustrates a practical example of base matrix H_base of the quasi-cyclic LDPC codes in IEEE 802.16e. This example is for R = ½, Z = 96 and information block length k = 1152. Note that each block is of dimension 96x96, and each layer is of dimension 96x2304.
[0023] Two base matrices have been designed for the NR data channel to ensure that good performance is achieved for the full range of code rates and information block lengths needed for NR. The parameters of base matrix #1 and base matrix #2 are given in Table 1. Table 1: Base matrix parameters Base matrix #1 Base matrix #2 Max design code rate 22 / 25 2 / 3 Min design code rate 1 / 3 1 / 5 Base matrix size 46 x 68 42 x 52 Max information block size 8448 3840 K
[0024] Base matrix #1 is optimized for long information block lengths and high code rates. It is designed for a maximum code rate of 22 / 25 but may be used for code rates up to 0.95. The corresponding base matrix has 22 systematic columns, which combined with a maximum sub- block size of 384 gives the maximum information block size of 8448 (=22*384).
[0025] Base matrix #2 is optimized for shorter information block lengths and lower code rates than base matrix #1. The base matrix corresponding to base matrix #2 has 10 systematic columns, which combined with a maximum sub-block size of 384 gives the maximum information block size of 3840 (=10*384). Furthermore, base matrix #2 includes code extension down to a code rate of 1 / 5, which means that code rate 1 / 5 can be supported without repetition. This is significantly lower than for the LTE turbo codes, which rely on repetitionP107900WO01 PCT APPLICATION 5 of 37 for code rates below 1 / 3. The NR LDPC codes can thereby achieve high coding gains also at low code rates, which makes them suitable for use cases requiring high reliability.
[0026] The parameters for the two base matrices in Table 1 show that there is a significant overlap both in information block length K and in code rate R where both base matrix #1 and base matrix #2 may be used. For K and R in the overlapping region, the rules for selecting a base matrix based on information block length K and code rate R depend on the performance of the specific LDPC codes. In general, the base matrix with the best performance for a certain range of K and R has been selected.
[0027] However, for example for 2560 < K ≤ 3840, the performance is similar for both base matrices and the selection is instead based on the decoding complexity. Base matrix #2 is favored because its decoding complexity is lower. This in turn depends both on the lower number of systematic columns in base matrix #2, thus larger Z (and higher degree of parallelization) for a given K value, and on the lower number of edges in the base matrix for a given code rate.
[0028] FIGURE 5 illustrates the regions of code rate and transport block size (TBS), including cyclic redundancy check (CRC) bits, for which base matrix #1 and base matrix #2 should beused. With two exceptions, the main rule is that base matrix #2 is used when TBS + CRC ≤3840 and R ≤ 0.67. The two exceptions both lie in regions for which neither of the basematrices has been specifically designed. For very short blocks, base matrix #2 has better performance than base matrix #1 also for the highest code rates, even though it has been designed for lower code rates, and base matrix #2 is therefore used for all code rates when TBS + CRC ≤ 308. The other exception to the main rule is code rates R ≤ 0.25, for which base matrix #2 is used independently of TBS. The reason for using base matrix #2 also for very long block lengths if R ≤ 0.25 is that the benefit of using base matrix #2 with lower design code rate than base matrix #1 (repetition is not needed to achieve code rates 0.2 ≤ R < 1 / 3), exceeds the loss introduced by the additional code block segmentation.
[0029] The specification of the NR LDPC codes is found in Section 5.2.2 and 5.3.2 of 38.212.
[0030] LDPC codes are commonly decoded by a message-passing algorithm, also referred to as belief propagation (BP). The basic belief propagation algorithm is described below. One step in the basic algorithm is however impractical and slow to implement in hardware and several approximations to the basic algorithm have been provided. The two most important approximations are described below.P107900WO01 PCT APPLICATION 6 of 37
[0031] Another important variation of the basic algorithm is the layered decoder which enables updated information from one layer to be used directly in updates of other layers, thereby reducing the number of required decoding iterations to about half. Message passing in layered decoding is further described below.
[0032] The basic belief propagation algorithm is referred to as the sum-product algorithm due to the sum and product operations performed in the check-node update. The product operation that appears in the check-node update when the algorithm is performed in the probability domain is however costly in terms of computational complexity. The algorithm is therefore typically performed in the log domain instead, where the product of probabilities or likelihood ratios becomes a sum, as described below.
[0033] At initialization, each variable node n is assigned an a posteriori log-likelihood ratio (LLR). ^^( ^^^^| ^^^^) = log(^^( ^^ ^^ = 0| ^^ ^^)^^( ^^ )^^ = 1| ^^ ^^)
[0034] For every non-zero element in the PCM ( ^^^^, ^^= 1), initialize the LLR input from variable node n to check node m by: ^^^^→ ^^(^^^^)= ^^(^^^^|^^^^).
[0035] Step 1 is referred to as theupdate (CNU). For each check node m, and for each variable node n that is connected to check node m, denoted by ^^ ∈ ^^( ^^), compute: ^^ ^^ ^^ ^^ )
[0036] Step 2node n, and for each check node m that is connected to variable node n, denoted by ^^ ∈ ℳ( ^^), compute: ^^)
[0037] Step 3 isis connected to variable node n, ^^ ∈ ℳ( ^^), compute: ^^^^^^ = ^^ ^^ ^^ + ^^^^→ ^^^^^^)P107900WO01 PCT APPLICATION 7 of 37
[0038] Quantize Χ = [ ^^̂1, ^^̂2, … , ^^̂ ^^] such that ^^ ^^ = 0 if ^^ ^^( ^^ ^^) ≥ 0, and ^^ ^^ = 1 if ^^ ^^( ^^ ^^) <0. If ^^Χ ^^ = 0, terminate decoding with Χ as the decoder output. Otherwise, go to Step 1. If themaximum number of decoding iterations is reached, decoding is terminated.
[0039] As seen in the sum-product algorithm above, the variable node update is simple, requiring summations only. The check-node update is the difficult step, where tanh(·) and tanh-1(·) functions are involved. It is impractical to implement the true tanh(·) and tanh-1(·) functions. Instead, approximations of these functions are needed for hardware implementation. One alternative is to implement approximations of tanh(·) and tanh-1(·) through, for example, look-up tables. Two other types of approximations as explained below are (a) normalized min- sum and (b) offset min-sum. ^^( ^^)+ ^^( ^^)
[0040] The “tanh rule” can alternatively be represented by ^^( ^^⊕ ^^) = log(1+ ^^^^ ^^( ^^)+ ^^ ^^( ^^) ).^^( ^^⊕ ^^) can thus be expressed by using the Jacobian algorithm twice as:^^(^^⊕ ^^)= sign( ^^(^^))sign( ^^(^^)) ∙ (min(| ^^( ^^)|, | ^^( ^^)|) + log(1 + ^^−| ^^( ^^)+ ^^( ^^)|)− log(1 + ^^−| ^^( ^^)− ^^( ^^)|))
[0041] When rewriting into above format, the last two log(·) areconsidered correction terms to the main component min(·) log(1 + ^^−| ^^( ^^)+ ^^( ^^)|)− log(1 + ^^−| ^^( ^^)− ^^( ^^)|).
[0042] The approximation to the BP algorithm thus discards the correction term and compensates by adjusting the min(·) component.
[0043] The offset min-sum decoding is explained as follows. The term log(1 + ^^−| ^^( ^^)+ ^^( ^^)|)− log(1 + ^^−| ^^( ^^)− ^^( ^^)|) can be approximated to get ^^( ^^⊕ ^^) ≈ sign( ^^( ^^))sign( ^^( ^^)) ∙ ( ^^ ^^ ^^(| ^^( ^^)|, | ^^( ^^)|) − ^^), where c is a constant.
[0044] An approach to capture the net effect of the additive correction term applied to each check-node update core operation is obtained from the min-sum decoding by subtracting a positive constant ^^ (referred to as an offset) as follows: 0}.^^ as follows:P107900WO01 PCT APPLICATION 8 of 37 ^^^^→ ^^( ^^^^) = ^^( ∏sign(^^^^′→ ^^( ^^^^′))) · ^^′∈ m ^^in | ( )| ^^ ^^^^′→ ^^^^^^′.
[0045] normalized) decoder does multiplication while the offset decoder does subtraction. Subtraction is usually 4-7 times faster. For particular embodiments described herein, offset decoder decoding performance improvement is the focus.
[0046] There currently exist certain challenges. For example, a constant offset LDPC decoder is often used for its simplicity (less central processing unit (CPU) usage), but it has some performance issues for some different scenarios.
[0047] When using different MCS and different resources allocation size, e.g. number of PRBs, the actual LDPC code used, as well as the modulation order differs. A practical LDPC decoder uses messages quantized to a certain number of bits. For higher order modulation, the LLR for different coded bits vary in magnitude. This makes the constant offset-min-sum approximation which is optimized for a binary input additive white Gaussian noise (AWGN) channel work poorly. One reason is that for a binary input AWGN channel all received LLRs have the similar magnitude, and the offset can be optimized for this case especially for small allocations at cell edge and at cell center of high modulation order. SUMMARY
[0048] As described above, certain challenges currently exist with low-density parity check (LDPC) offset decoder. Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges. For example, particular embodiments optimize the offset for different modulation and coding schemes (MCS) as well as different allocation sizes and number of layers. This facilitates different offset for different LDPC codes, different modulation orders and different signal to noise ratio (SNR) ranges and thus improves physical uplink shared channel (PUSCH) throughput and increases cell coverage significantly. Particular embodiments may improve PUSCH throughput by a couple of dBs especially at cell edge for coverage or at cell center for 256QAM for peak throughput.
[0049] According to some embodiments, a method is performed by a wireless receiver for decoding an LDPC encoded transport block. The method comprises receiving an LDPCP107900WO01 PCT APPLICATION 9 of 37 encoded transport block and decoding the received transport block using an offset decoder. An offset ^^ used in the decoding is based on one or more of a number of resource blocks (RBs) used for the received transport block, a MCS used for the received transport block, and a number of transmission layers used for the received transport block.
[0050] In particular embodiments, ^^ is constant for a number of RBs used for the received transport block that is above a first threshold value. For a number of RBs used for the received transport block that is equal to or below the first threshold, ^^ may vary based on one or more of the MCS used for the received transport block and the number of transmission layers used for the received transport block.
[0051] In particular embodiments, ^^ is relatively larger for smaller MCS and relatively smaller for larger MCS.
[0052] In particular embodiments, the first threshold is one RB. ^^ may comprise a first value for MCS0-3 and a second value different than the first value for MCS other than MCS0-3 when using MCS index table 1. ^^ may comprise a first value for MCS0-1, a second value different than the first value for MCS26-27 and a third value different than the first and the second value for MCS other than MCS0-1 and MCS26-27 when using MCS index table 2.
[0053] In particular embodiments, ^^ is calculated based on one or more of RBs, MCS, and number of layers for a first transmission of a transport block and the same ^^ is used for a retransmission of the transport block.
[0054] In particular embodiments, the wireless receiver comprises one of a network node and a user equipment.
[0055] According to some embodiments, a wireless receiver comprises processing circuitry operable to perform any of the methods of the wireless receiver described above.
[0056] Also disclosed is a computer program product comprising a non-transitory computer readable medium storing computer readable program code, the computer readable program code operable, when executed by processing circuitry to perform any of the methods performed by the wireless receiver described above.
[0057] Certain embodiments may provide one or more of the following technical advantages. For example, particular embodiments improve LDPC decoding performance without increasing the complexity, such as CPU time or memory. Cell coverage is extended at cell edge and PUSCH throughput is improved for small allocations by a few dBs.P107900WO01 PCT APPLICATION 10 of 37 BRIEF DESCRIPTION OF THE DRAWINGS
[0058] For a more complete understanding of the disclosed embodiments and their features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: FIGURE 1 is a time-frequency grid illustrating the basic NR physical resource; FIGURE 2 illustrates the NR time-domain structure with 15 kHz subcarrier spacing; FIGURE 3 illustrates a parity-check matrix and the corresponding bipartite graph; FIGURE 4 illustrates a practical example of base matrix H_base of the quasi-cyclic LDPC codes in IEEE 802.16e; FIGURE 5 illustrates the regions of code rate and transport block size (TBS), including cyclic redundancy check (CRC) bits, for which base matrix #1 and base matrix #2 should be used; FIGURE 6 is a graph illustrating constant-offset versus scaled decoder: SU-MIMO loss with MCS0 and 8RX for an AWGN channel; FIGURE 7 is a graph illustrating constant-offset versus scaled decoder: SU-MIMO loss with MCS0 and 8RX for a TDLB channel; FIGURE 8 is a graph illustrating constant-offset versus scaled decoder: single layer and two layers for 1RB allocation; FIGURE 9 is a graph illustrating low-band (LB) 5MHz UE one layer versus two layer throughput; FIGURE 10 is a graph illustrating offset decoder performance improvement based on offset function for block error rate (BLER); FIGURE 11 is a graph illustrating offset decoder performance improvement based on offset function for first transmit BLER; FIGURE 12 is a graph illustrating offset decoder performance improvement based on offset function for throughput; FIGURE 13 is a graph illustrating the function based offset BLER gain for 256QAM, MCS27 and one RB; FIGURE 14 is a graph illustrating the function based offset throughput gain for 256QAM, MCS27 and one RB; FIGURE 15 illustrates an example communication system, according to certain embodiments;P107900WO01 PCT APPLICATION 11 of 37 FIGURE 16 illustrates an example user equipment (UE), according to certain embodiments; FIGURE 17 illustrates an example network node, according to certain embodiments; FIGURE 18 illustrates a block diagram of a host, according to certain embodiments; FIGURE 19 illustrates a virtualization environment in which functions implemented by some embodiments may be virtualized, according to certain embodiments; FIGURE 20 illustrates a host communicating via a network node with a UE over a partially wireless connection, according to certain embodiments; and FIGURE 21 illustrates a method performed by a wireless receiver, according to certain embodiments. DETAILED DESCRIPTION
[0059] As described above, certain challenges currently exist with low-density parity check (LDPC) offset decoder. Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges. For example, particular embodiments optimize the offset for different modulation and coding schemes (MCS) as well as different allocation sizes and number of layers. This facilitates different offset for different LDPC codes, different modulation orders and different signal to noise ratio (SNR) ranges and thus improves physical uplink shared channel (PUSCH) throughput and increases cell coverage significantly.
[0060] Particular embodiments are described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject matter disclosed herein, the disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0061] An LDPC offset decoder suffers from some performance problems. For example, for small resource block (RB) allocations, especially one RB with low MCSs (below MCS0-7) or with 256QAM MCS27 (MCS25-27), the constant-offset LDPC decoder underperforms by up to a few dBs for PUSCH block error rate (BLER) or PUSCH throughput. PUSCH link budget is usually the gating budget compared to other channels. Improvement for PUSCH decoding performance thus has significant impact to the system.
[0062] Through simulations of different scenarios, the constant offset decoder performance problem can be seen under the following combining conditions: (a) 2rx, 4rx, 8rx; (b) MCSP107900WO01 PCT APPLICATION 12 of 37 below 7 and 256QAM MCS above 25 to 27; (c) number of RB below 3; (d) with additive white Gaussian noise (AWGN), tap delay line (TDL)-B and TDL-C channels; and (e) one layer, two layer (single-user multiple-input multiple-output (SU-MIMO)).
[0063] The magnitude of the loss depends on the above parameters.8Rx and MCS 0 have the most loss. Two layers (SU-MIMO) loses more than one layer. Some examples are illustrated in the plots of FIGURES 6-9.
[0064] FIGURE 6 is a graph illustrating constant-offset versus scaled decoder: SU-MIMO loss for 1RB allocation and 8RX for an AWGN channel.
[0065] FIGURE 7 is a graph illustrating constant-offset versus scaled decoder: SU-MIMO loss with MCS0 and 8RX for a TDLB channel.
[0066] FIGURE 8 is a graph illustrating constant-offset versus scaled decoder: single layer and two layers for 1RB allocation.
[0067] The losses illustrated in FIGURE 6, FIGURE 7 and FIGURE 8 are for one layer and two layers, AWGN and TDLB channels between constant offset decoder and scaled (or normalized) decoder. Beyond the combining loss conditions, the constant-offset decoder seems to perform similarly to a scaled decoder.
[0068] When a user equipment (UE) is running SU-MIMO (2 Layers), and when the UE is approaching the cell edge, the switching SNR can be very low, MCS 0 is possible. On the other hand, when a UE running a single layer from cell edge to cell center, one layer to two layers switch SNR can be 10dB higher. FIGURE 9 illustrates the ideal switching point.
[0069] FIGURE 9 is a graph illustrating low-band (LB) 5MHz UE one layer versus two layer throughput. As illustrated, a UE is likely to be using two layers even at very low MCS.
[0070] Simulations have been performed for the following conditions: (a) 2rx, 4rx, 8rx; (b) MCS below 7 and 256QAM MCS above 25 to 27; (c) number of RB below 3; (d) with additive white Gaussian noise (AWGN), tap delay line (TDL)-B and TDL-C channels; and (e) one layer, two layer (single-user multiple-input multiple-output (SU-MIMO)). The simulation results indicate that the constant offset ^^ should be improved. Accordingly, in particular embodiments the constant offset ^^ is decided based on the following functions. ^^ = ^^( ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^, ^^ ^^ ^^, ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^, … ) (4)
[0071] The ^^ is calculated based on the first transmission PUSCH allocation parameters and will be used for all retransmissions if there are any.P107900WO01 PCT APPLICATION 13 of 37
[0072] In one embodiment, ^^ is constant for a number of RBs above a threshold, and for a number of RBs below the threshold, ^^ varies with the MCS so that ^^ is larger for small MCS and smaller for large MCS.
[0073] FIGURE 10 is a graph illustrating offset decoder performance improvement based on offset function for block error rate (BLER).
[0074] FIGURE 11 is a graph illustrating offset decoder performance improvement based on offset function for first transmit BLER.
[0075] FIGURE 12 is a graph illustrating offset decoder performance improvement based on offset function for throughput.
[0076] According to particular embodiments, the offset decoder performance may be improved significantly when the UE is at cell edge and scheduled with low MCS and a smaller number of RBs. FIGURE 10 illustrates an approximately 1.2dB improvement at 10% PUSCH BLER target. FIGURE 11 illustrates the improvement in the first transmission BLER, the improvement is approximately one dB. FIGURE 12 illustrates the PUSCH throughput improvement.
[0077] The above improvement at cell edge significantly improves PUSCH coverage, which is usually gating for the link budget. It does not impact central processing unit (CPU) usage for decoding because the ^^ function is calculated outside of the decoder and the ^^ offset is just one input to the decoder.
[0078] For peak throughput case, 256QAM and MCS27 with small RB allocations especially 1RB, the gain is illustrated in FIGURE 13 and FIGURE 14.
[0079] FIGURE 13 is a graph illustrating the function based offset BLER gain for 256QAM, MCS27 and one RB.
[0080] FIGURE 14 is a graph illustrating the function based offset throughput gain for 256QAM, MCS27 and one RB.
[0081] The examples illustrated above indicate that a function based offset decoder, according to particular embodiments, may achieve similar performance as a scaled (normalized) decoder for AWGN and TDLB and TDLC channels. At 95% peak throughput, function based offset decoder has a gain over constant offset decoder of about 1dB for AWGN channel and 2dB for TDLC channel.
[0082] FIGURE 15 illustrates an example of a communication system 100 in accordance with some embodiments. In the example, the communication system 100 includes aP107900WO01 PCT APPLICATION 14 of 37 telecommunication network 102 that includes an access network 104, such as a radio access network (RAN), and a core network 106, which includes one or more core network nodes 108. The access network 104 includes one or more access network nodes, such as network nodes 110a and 110b (one or more of which may be generally referred to as network nodes 110), or any other similar 3rd Generation Partnership Project (3GPP) access node or non-3GPP access point. The network nodes 110 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 112a, 112b, 112c, and 112d (one or more of which may be generally referred to as UEs 112) to the core network 106 over one or more wireless connections.
[0083] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0084] The UEs 112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 110 and other communication devices. Similarly, the network nodes 110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 112 and / or with other network nodes or equipment in the telecommunication network 102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 102.
[0085] In the depicted example, the core network 106 connects the network nodes 110 to one or more hosts, such as host 116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 106 includes one more core network nodes (e.g., core network node 108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 108. Example core network nodes include functions ofP107900WO01 PCT APPLICATION 15 of 37 one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0086] The host 116 may be under the ownership or control of a service provider other than an operator or provider of the access network 104 and / or the telecommunication network 102, and may be operated by the service provider or on behalf of the service provider. The host 116 may host a variety of applications to provide one or more services. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0087] As a whole, the communication system 100 of FIGURE 15 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0088] In some examples, the telecommunication network 102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 102. For example, the telecommunications network 102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive IoT services to yet further UEs.P107900WO01 PCT APPLICATION 16 of 37
[0089] In some examples, the UEs 112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 104. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio – Dual Connectivity (EN-DC).
[0090] In the example, the hub 114 communicates with the access network 104 to facilitate indirect communication between one or more UEs (e.g., UE 112c and / or 112d) and network nodes (e.g., network node 110b). In some examples, the hub 114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 114 may be a broadband router enabling access to the core network 106 for the UEs. As another example, the hub 114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 110, or by executable code, script, process, or other instructions in the hub 114. As another example, the hub 114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 114 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy IoT devices.
[0091] The hub 114 may have a constant / persistent or intermittent connection to the network node 110b. The hub 114 may also allow for a different communication scheme and / or schedule between the hub 114 and UEs (e.g., UE 112c and / or 112d), and between the hub 114 and the core network 106. In other examples, the hub 114 is connected to the core network 106 and / or one or more UEs via a wired connection. Moreover, the hub 114 may be configured to connect to an M2M service provider over the access network 104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the networkP107900WO01 PCT APPLICATION 17 of 37 nodes 110 while still connected via the hub 114 via a wired or wireless connection. In some embodiments, the hub 114 may be a dedicated hub – that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 110b. In other embodiments, the hub 114 may be a non-dedicated hub – that is, a device which is capable of operating to route communications between the UEs and network node 110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0092] FIGURE 16 shows a UE 200 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.
[0093] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle- to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).
[0094] The UE 200 includes processing circuitry 202 that is operatively coupled via a bus 204 to an input / output interface 206, a power source 208, a memory 210, a communication interface 212, and / or any other component, or any combination thereof. Certain UEs may utilize all or aP107900WO01 PCT APPLICATION 18 of 37 subset of the components shown in FIGURE 16. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0095] The processing circuitry 202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 210. The processing circuitry 202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 202 may include multiple central processing units (CPUs).
[0096] In the example, the input / output interface 206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 200. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0097] In some embodiments, the power source 208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 208 may further include power circuitry for delivering power from the power source 208 itself, and / or an external power source, to the various parts of the UE 200 via input circuitry or an interface such as an electricalP107900WO01 PCT APPLICATION 19 of 37 power cable. Delivering power may be, for example, for charging of the power source 208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 208 to make the power suitable for the respective components of the UE 200 to which power is supplied.
[0098] The memory 210 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 210 includes one or more application programs 214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 216. The memory 210 may store, for use by the UE 200, any of a variety of various operating systems or combinations of operating systems.
[0099] The memory 210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 210 may allow the UE 200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 210, which may be or comprise a device-readable storage medium.
[0100] The processing circuitry 202 may be configured to communicate with an access network or other network using the communication interface 212. The communication interface 212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 222. The communication interface 212 may include one or more transceivers used to communicate, such as by communicating with one or moreP107900WO01 PCT APPLICATION 20 of 37 remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 218 and / or a receiver 220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 218 and receiver 220 may be coupled to one or more antennas (e.g., antenna 222) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0101] In the illustrated embodiment, communication functions of the communication interface 212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0102] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).
[0103] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.P107900WO01 PCT APPLICATION 21 of 37
[0104] A UE, when in the form of an Internet of Things (IoT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an IoT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an IoT device comprises circuitry and / or software in dependence of the intended application of the IoT device in addition to other components as described in relation to the UE 200 shown in FIGURE 16.
[0105] As yet another specific example, in an IoT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.
[0106] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of theP107900WO01 PCT APPLICATION 22 of 37 functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.
[0107] FIGURE 17 shows a network node 300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)).
[0108] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).
[0109] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).
[0110] The network node 300 includes a processing circuitry 302, a memory 304, a communication interface 306, and a power source 308. The network node 300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 300 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in someP107900WO01 PCT APPLICATION 23 of 37 instances be considered a single separate network node. In some embodiments, the network node 300 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 304 for different RATs) and some components may be reused (e.g., a same antenna 310 may be shared by different RATs). The network node 300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 300.
[0111] The processing circuitry 302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 300 components, such as the memory 304, to provide network node 300 functionality.
[0112] In some embodiments, the processing circuitry 302 includes a system on a chip (SOC). In some embodiments, the processing circuitry 302 includes one or more of radio frequency (RF) transceiver circuitry 312 and baseband processing circuitry 314. In some embodiments, the radio frequency (RF) transceiver circuitry 312 and the baseband processing circuitry 314 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 312 and baseband processing circuitry 314 may be on the same chip or set of chips, boards, or units.
[0113] The memory 304 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 302. The memory 304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules,P107900WO01 PCT APPLICATION 24 of 37 code, tables, and / or other instructions capable of being executed by the processing circuitry 302 and utilized by the network node 300. The memory 304 may be used to store any calculations made by the processing circuitry 302 and / or any data received via the communication interface 306. In some embodiments, the processing circuitry 302 and memory 304 is integrated.
[0114] The communication interface 306 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 306 comprises port(s) / terminal(s) 316 to send and receive data, for example to and from a network over a wired connection. The communication interface 306 also includes radio front-end circuitry 318 that may be coupled to, or in certain embodiments a part of, the antenna 310. Radio front-end circuitry 318 comprises filters 320 and amplifiers 322. The radio front-end circuitry 318 may be connected to an antenna 310 and processing circuitry 302. The radio front-end circuitry may be configured to condition signals communicated between antenna 310 and processing circuitry 302. The radio front-end circuitry 318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 320 and / or amplifiers 322. The radio signal may then be transmitted via the antenna 310. Similarly, when receiving data, the antenna 310 may collect radio signals which are then converted into digital data by the radio front-end circuitry 318. The digital data may be passed to the processing circuitry 302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0115] In certain alternative embodiments, the network node 300 does not include separate radio front-end circuitry 318, instead, the processing circuitry 302 includes radio front-end circuitry and is connected to the antenna 310. Similarly, in some embodiments, all or some of the RF transceiver circuitry 312 is part of the communication interface 306. In still other embodiments, the communication interface 306 includes one or more ports or terminals 316, the radio front-end circuitry 318, and the RF transceiver circuitry 312, as part of a radio unit (not shown), and the communication interface 306 communicates with the baseband processing circuitry 314, which is part of a digital unit (not shown).
[0116] The antenna 310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 310 may be coupled to the radio front-endP107900WO01 PCT APPLICATION 25 of 37 circuitry 318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 310 is separate from the network node 300 and connectable to the network node 300 through an interface or port.
[0117] The antenna 310, communication interface 306, and / or the processing circuitry 302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 310, the communication interface 306, and / or the processing circuitry 302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.
[0118] The power source 308 provides power to the various components of network node 300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 300 with power for performing the functionality described herein. For example, the network node 300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 308. As a further example, the power source 308 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0119] Embodiments of the network node 300 may include additional components beyond those shown in FIGURE 17 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 300 may include user interface equipment to allow input of information into the network node 300 and to allow output of information from the network node 300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 300.
[0120] FIGURE 18 is a block diagram of a host 400, which may be an embodiment of the host 116 of FIGURE 15, in accordance with various aspects described herein. As used herein, the host 400 may be or comprise various combinations hardware and / or software, including aP107900WO01 PCT APPLICATION 26 of 37 standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 400 may provide one or more services to one or more UEs.
[0121] The host 400 includes processing circuitry 402 that is operatively coupled via a bus 404 to an input / output interface 406, a network interface 408, a power source 410, and a memory 412. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 3 and 4, such that the descriptions thereof are generally applicable to the corresponding components of host 400.
[0122] The memory 412 may include one or more computer programs including one or more host application programs 414 and data 416, which may include user data, e.g., data generated by a UE for the host 400 or data generated by the host 400 for a UE. Embodiments of the host 400 may utilize only a subset or all of the components shown. The host application programs 414 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 414 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 400 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 414 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.
[0123] FIGURE 19 is a block diagram illustrating a virtualization environment 500 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implementedP107900WO01 PCT APPLICATION 27 of 37 as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 500 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized.
[0124] Applications 502 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0125] Hardware 504 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 508a and 508b (one or more of which may be generally referred to as VMs 508), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 506 may present a virtual operating platform that appears like networking hardware to the VMs 508.
[0126] The VMs 508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 506. Different embodiments of the instance of a virtual appliance 502 may be implemented on one or more of VMs 508, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.
[0127] In the context of NFV, a VM 508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 508, and that part of hardware 504 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function isP107900WO01 PCT APPLICATION 28 of 37 responsible for handling specific network functions that run in one or more VMs 508 on top of the hardware 504 and corresponds to the application 502.
[0128] Hardware 504 may be implemented in a standalone network node with generic or specific components. Hardware 504 may implement some functions via virtualization. Alternatively, hardware 504 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 510, which, among others, oversees lifecycle management of applications 502. In some embodiments, hardware 504 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 512 which may alternatively be used for communication between hardware nodes and radio units.
[0129] FIGURE 20 shows a communication diagram of a host 602 communicating via a network node 604 with a UE 606 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 112a of FIGURE 15 and / or UE 200 of FIGURE 16), network node (such as network node 110a of FIGURE 15 and / or network node 300 of FIGURE 17), and host (such as host 116 of FIGURE 15 and / or host 400 of FIGURE 18) discussed in the preceding paragraphs will now be described with reference to FIGURE 20.
[0130] Like host 400, embodiments of host 602 include hardware, such as a communication interface, processing circuitry, and memory. The host 602 also includes software, which is stored in or accessible by the host 602 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 606 connecting via an over-the-top (OTT) connection 650 extending between the UE 606 and host 602. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 650.
[0131] The network node 604 includes hardware enabling it to communicate with the host 602 and UE 606. The connection 660 may be direct or pass through a core network (like core network 106 of FIGURE 15) and / or one or more other intermediate networks, such as one orP107900WO01 PCT APPLICATION 29 of 37 more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.
[0132] The UE 606 includes hardware and software, which is stored in or accessible by UE 606 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 606 with the support of the host 602. In the host 602, an executing host application may communicate with the executing client application via the OTT connection 650 terminating at the UE 606 and host 602. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 650 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 650.
[0133] The OTT connection 650 may extend via a connection 660 between the host 602 and the network node 604 and via a wireless connection 670 between the network node 604 and the UE 606 to provide the connection between the host 602 and the UE 606. The connection 660 and wireless connection 670, over which the OTT connection 650 may be provided, have been drawn abstractly to illustrate the communication between the host 602 and the UE 606 via the network node 604, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
[0134] As an example of transmitting data via the OTT connection 650, in step 608, the host 602 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 606. In other embodiments, the user data is associated with a UE 606 that shares data with the host 602 without explicit human interaction. In step 610, the host 602 initiates a transmission carrying the user data towards the UE 606. The host 602 may initiate the transmission responsive to a request transmitted by the UE 606. The request may be caused by human interaction with the UE 606 or by operation of the client application executing on the UE 606. The transmission may pass via the network node 604, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 612, the network node 604 transmits to the UE 606 the user data that was carried in the transmission that the host 602 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 614, the UE 606 receives the user data carried in the transmission, whichP107900WO01 PCT APPLICATION 30 of 37 may be performed by a client application executed on the UE 606 associated with the host application executed by the host 602.
[0135] In some examples, the UE 606 executes a client application which provides user data to the host 602. The user data may be provided in reaction or response to the data received from the host 602. Accordingly, in step 616, the UE 606 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 606. Regardless of the specific manner in which the user data was provided, the UE 606 initiates, in step 618, transmission of the user data towards the host 602 via the network node 604. In step 620, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 604 receives user data from the UE 606 and initiates transmission of the received user data towards the host 602. In step 622, the host 602 receives the user data carried in the transmission initiated by the UE 606.
[0136] One or more of the various embodiments improve the performance of OTT services provided to the UE 606 using the OTT connection 650, in which the wireless connection 670 forms the last segment. More precisely, the teachings of these embodiments may improve the delay to directly activate an SCell by RRC and power consumption of user equipment and thereby provide benefits such as reduced user waiting time and extended battery lifetime.
[0137] In an example scenario, factory status information may be collected and analyzed by the host 602. As another example, the host 602 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 602 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 602 may store surveillance video uploaded by a UE. As another example, the host 602 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 602 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.
[0138] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connectionP107900WO01 PCT APPLICATION 31 of 37 650 between the host 602 and UE 606, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 602 and / or UE 606. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 650 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 650 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 604. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 602. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 650 while monitoring propagation times, errors, etc.
[0139] FIGURE 21 is a flowchart illustrating an example method in a wireless receiver, according to certain embodiments. In particular embodiments, one or more steps of FIGURE 21 may be performed by UE 200 or network node 300 described with respect to FIGURE 16. The wireless receiver is operable to decode an LDPC encoded transport block.
[0140] The method begins at step 2112, where the wireless receiver (e.g., UE 200, network node 300) receives an LDPC encoded transport block. For example, a network node may receive a physical uplink shared channel (PUSCH) from a wireless device encoded via LDPC.
[0141] At step 2114, the wireless receiver decodes the received transport block using an offset decoder. An offset ^^ used in the decoding is based on one or more of a number of resource blocks (RBs) used for the received transport block, a MCS used for the received transport block, and a number of transmission layers used for the received transport block.
[0142] In particular embodiments, ^^ is constant for a number of RBs used for the received transport block that is above a first threshold value (e.g., 1, 2, or 3 RBs). For a number of RBs used for the received transport block that is equal to or below the first threshold (e.g., 1, 2, or 3 RBs), ^^ may vary based on one or more of the MCS used for the received transport block and the number of transmission layers used for the received transport block.P107900WO01 PCT APPLICATION 32 of 37
[0143] In particular embodiments, ^^ is relatively larger for smaller MCS and relatively smaller for larger MCS.
[0144] In particular embodiments, ^^ may comprise a first value for MCS0-3 and a second value different than the first value for MCS other than MCS0-3 when using MCS index table 1. ^^ may comprise a first value for MCS0-1, a second value different than the first value for MCS26-27, and a third value different than the first and the second value for MCS other than MCS0-1 and MCS26-27 when using MCS index table 2.
[0145] In particular embodiments, ^^ is calculated based on one or more of RBs, MCS, and number of layers for a first transmission of a transport block and the same ^^ is used for a retransmission of the transport block.
[0146] In particular embodiments, the wireless receiver may decode the received transport block according to any of the embodiments and examples described herein, such as those described with respect to FIGURES 10-14 described above.
[0147] Modifications, additions, or omissions may be made to method 2100 of FIGURE 21. Additionally, one or more steps in the method of FIGURE 21 may be performed in parallel or in any suitable order. A particular advantage of the decoding described with respect to FIGURE 21 is optimization of the offset for different MCS as well as different allocation sizes and number of layers. This facilitates a different offset for different LDPC codes, different modulation orders and different SNR ranges and thus improves PUSCH throughput by a couple of dBs especially at cell edge for coverage or at cell center for 256QAM for peak throughput.
[0148] Modifications, additions, or omissions may be made to the methods disclosed herein without departing from the scope of the invention. The methods may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order.
[0149] The foregoing description sets forth numerous specific details. It is understood, however, that embodiments may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.
[0150] References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particularP107900WO01 PCT APPLICATION 33 of 37 feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described.
[0151] Although this disclosure has been described in terms of certain embodiments, alterations and permutations of the embodiments will be apparent to those skilled in the art. Accordingly, the above description of the embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are possible without departing from the scope of this disclosure, as defined by the claims below.
Claims
P107900WO01 PCT APPLICATION 34 of 37 CLAIMS:
1. A method performed by a wireless receiver for decoding a low-density parity check (LDPC) encoded transport block, the method comprising: receiving (2112) an LDPC encoded transport block; and decoding (2114) the received transport block using an offset decoder, wherein an offset ^^ used in the decoding is based on one or more of a number of resource blocks (RBs) used for the received transport block, a modulation and coding scheme (MCS) used for the received transport block, and a number of transmission layers used for the received transport block.
2. The method of claim 1, wherein ^^ is constant for a number of RBs used for the received transport block that is above a first threshold value.
3. The method of claim 2, wherein for a number of RBs used for the received transport block that is equal to or below the first threshold value, ^^ varies based on one or more of the MCS used for the received transport block and the number of transmission layers used for the received transport block.
4. The method of claim 3, wherein ^^ is relatively larger for smaller MCS and relatively smaller for larger MCS.
5. The method of any one of claims 2-4, wherein the first threshold value is one of one, two, and three RBs.
6. The method of any one of claims 2-5, wherein ^^ comprises a first value for MCS0-3 and a second value different than the first value for MCS other than MCS0-3 when using MCS index table 1.
7. The method of any one of claims 2-5, wherein ^^ comprises a first value for MCS0-1, a second value different than the first value for MCS26-27, and a third value different than the first and the second value for MCS other than MCS0-1 and MCS26-27 when using MCS index table 2.P107900WO01 PCT APPLICATION 35 of 37 8. The method of any one of claims 1-7, wherein ^^ is calculated based on one or more of RBs, MCS, and number of layers for a first transmission of a transport block and the same ^^ is used for a retransmission of the transport block.
9. The method of any one of claims 1-8, wherein the wireless receiver comprises one of a network node and a user equipment.
10. A wireless receiver (200, 300) operable to decode a low-density parity check (LDPC) encoded transport block, the wireless receiver comprising processing circuitry (202, 302) operable to: receive an LDPC encoded transport block; and decode the received transport block using an offset decoder, wherein an offset ^^ used in the decoding is based on one or more of a number of resource blocks (RBs) used for the received transport block, a modulation and coding scheme (MCS) used for the received transport block, and a number of transmission layers used for the received transport block.
11. The wireless receiver of claim 10, wherein ^^ is constant for a number of RBs used for the received transport block that is above a first threshold value.
12. The wireless receiver of claim 11, wherein for a number of RBs used for the received transport block that is equal to or below the first threshold value, ^^ varies based on one or more of the MCS used for the received transport block and the number of transmission layers used for the received transport block.
13. The wireless receiver of claim 12, wherein ^^ is relatively larger for smaller MCS and relatively smaller for larger MCS.
14. The wireless receiver of any one of claims 11-13, wherein the first threshold value is one of one, two, and three RBs.
15. The wireless receiver of any one of claims 11-14, wherein ^^ comprises a firstP107900WO01 PCT APPLICATION 36 of 37 value for MCS0-3 and a second value different than the first value for MCS other than MCS0- 3 when using MCS index table 1.
16. The wireless receiver of any one of claims 11-14, wherein ^^ comprises a first value for MCS0-1, a second value different than the first value for MCS26-27, and a third value different than the first and the second value for MCS other than MCS0-1 and MCS26-27 when using MCS index table 2.
17. The wireless receiver of any one of claims 10-16, wherein ^^ is calculated based on one or more of RBs, MCS, and number of layers for a first transmission of a transport block and the same ^^ is used for a retransmission of the transport block.
18. The wireless receiver of any one of claims 10-17, wherein the wireless receiver comprises one of a network node and a user equipment.
19. A computer program product comprising a non-transitory computer readable medium storing computer readable program code, the computer readable program code operable, when executed by processing circuitry, to: receive an LDPC encoded transport block; and decode the received transport block using an offset decoder, wherein an offset ^^ used in the decoding is based on one or more of a number of resource blocks (RBs) used for the received transport block, a modulation and coding scheme (MCS) used for the received transport block, and a number of transmission layers used for the received transport block.
20. The computer program product of claim 19, wherein for a number of RBs used for the received transport block that is equal to or below a first threshold value, ^^ varies based on one or more of the MCS used for the received transport block and the number of transmission layers used for the received transport block.