U.S. patent application number 17/656273 was filed with the patent office on 2022-07-07 for transport block size determination for equal size code blocks.
The applicant listed for this patent is Telefonaktiebolaget LM Ericsson (publ). Invention is credited to Mattias Andersson, Yufei Blankenship, Sara Sandberg.
Application Number | 20220216941 17/656273 |
Document ID | / |
Family ID | |
Filed Date | 2022-07-07 |
United States Patent
Application |
20220216941 |
Kind Code |
A1 |
Andersson; Mattias ; et
al. |
July 7, 2022 |
TRANSPORT BLOCK SIZE DETERMINATION FOR EQUAL SIZE CODE BLOCKS
Abstract
According to some embodiments, a method for use in a wireless
receiver comprises determining a transport block size, TBS, for a
transport block to be communicated between the wireless transmitter
and a wireless receiver via a physical channel transmission. The
TBS determination uses a formula accounting for cyclic redundancy
check, CRC, bits. The method further comprises transmitting the
transport block according to the determined TBS. In particular
embodiments the formula is based on an approximate transport block
size, a number of code blocks, at least one of a number of CRC bits
attached to the transport block, and a number of CRC bits added to
each of the C code blocks.
Inventors: |
Andersson; Mattias;
(Sundbyberg, SE) ; Blankenship; Yufei; (Kildeer,
IL) ; Sandberg; Sara; (Lulea, SE) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Telefonaktiebolaget LM Ericsson (publ) |
Stockholm |
|
SE |
|
|
Appl. No.: |
17/656273 |
Filed: |
March 24, 2022 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
16791086 |
Feb 14, 2020 |
11290210 |
|
|
17656273 |
|
|
|
|
16229848 |
Dec 21, 2018 |
10615915 |
|
|
16791086 |
|
|
|
|
16088282 |
Sep 25, 2018 |
11115152 |
|
|
PCT/IB2018/056060 |
Aug 10, 2018 |
|
|
|
16229848 |
|
|
|
|
62544727 |
Aug 11, 2017 |
|
|
|
International
Class: |
H04L 1/00 20060101
H04L001/00; H04W 72/04 20060101 H04W072/04; H04L 5/00 20060101
H04L005/00 |
Claims
1.-66. (canceled)
67. A wireless transmitter comprising processing circuitry operable
to: determine a transport block size, TBS, for a transport block to
be communicated between the wireless transmitter and a wireless
receiver via a physical channel transmission, the TBS determination
using a formula accounting for cyclic redundancy check, CRC, bits
wherein the formula is based on an approximate transport block size
not accounting for CRC bits; and transmit the transport block
according to the determined TBS.
68. The wireless transmitter of claim 67, wherein the formula is
based on an approximate transport block size, TBS0, a number of
code blocks, C, at least one of a number of CRC bits attached to
the transport block, L2, and a number of CRC bits added to each of
the C code blocks, L3.
69. The wireless transmitter of claim 68, wherein the formula is
based on a comparison of TBS0 plus a number of CRC bits attached to
the transport block with a threshold size, Z.
70. The wireless transmitter of claim 69, wherein when TBS0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing TBS0+L2 by C,
rounding up to the nearest integer, and multiplying the result by
C.
71. The wireless transmitter of claim 69, wherein when TBS0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing TBS0+L2 by
C*A, rounding up to the nearest integer, and multiplying the result
by C*A, where A is a constant.
72. The wireless transmitter of claim 69, wherein when TBS0 plus a
number of CRC bits attached to the transport block is less than the
threshold size, Z, the formula includes calculating A*ceil(TBS0/A)
for a constant A, wherein A is one of 1 and 8.
73. The wireless transmitter of claim 69, wherein the formula
includes determining C based on dividing TBS0 plus L2 by Z minus
L3, and rounding up to the nearest integer.
74. A method for use in a wireless transmitter, the method
comprising: determining a transport block size, TBS, for a
transport block to be communicated between the wireless transmitter
and a wireless receiver via a physical channel transmission, the
TBS determination using a formula accounting for cyclic redundancy
check, CRC, bits wherein the formula is based on an approximate
transport block size not accounting for CRC bits; and transmitting
the transport block according to the determined TBS.
75. The method of claim 74, wherein the formula is based on an
approximate transport block size, TBS0, a number of code blocks, C,
at least one of a number of CRC bits attached to the transport
block, L2, and a number of CRC bits added to each of the C code
blocks, L3.
76. The method of claim 75, wherein the formula is based on a
comparison of TBS0 plus a number of CRC bits attached to the
transport block with a threshold size, Z.
77. The method of claim 76, wherein when TBS0 plus a number of CRC
bits attached to the transport block is greater than the threshold
size, Z, the formula includes dividing TBS0+L2 by C, rounding up to
the nearest integer, and multiplying the result by C.
78. The method of claim 75, wherein when TBS0 plus a number of CRC
bits attached to the transport block is greater than the threshold
size, Z, the formula includes dividing TBS0+L2 by C*A, rounding up
to the nearest integer, and multiplying the result by C*A, where A
is a constant.
79. The method of claim 76, wherein when TBS0 plus a number of CRC
bits attached to the transport block is less than the threshold
size, Z, the formula includes calculating A*ceil(TBS0/A) for a
constant A, wherein A is one of 1 and 8.
80. The method of claim 76, wherein the formula includes
determining C based on dividing TBS0 plus L2 by Z minus L3, and
rounding up to the nearest integer.
81. A wireless receiver comprising processing circuitry operable
to: receive a wireless signal via a physical channel transmission
from a wireless transmitter, the wireless signal corresponding to a
transport block; determine a transport block size, TBS, using a
formula accounting for cyclic redundancy check, CRC, bits wherein
the formula is based on an approximate transport block size not
accounting for CRC bits; and decode the wireless signal to obtain
the transport block.
82. The wireless receiver of claim 81, wherein the formula is based
on an approximate transport block size, TBS0, a number of code
blocks, C, at least one of a number of CRC bits attached to the
transport block, L2, and a number of CRC bits added to each of the
C code blocks, L3.
83. The wireless receiver of claim 82, wherein the formula is based
on a comparison of TBS0 plus a number of CRC bits attached to the
transport block with a threshold size, Z.
84. The wireless receiver of claim 83, wherein when TBS0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing TBS0+L2 by C,
rounding up to the nearest integer, and multiplying the result by
C.
85. The wireless receiver of claim 83, wherein when TBS0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing TBS0+L2 by
C*A, rounding up to the nearest integer, and multiplying the result
by C*A, where A is a constant
86. The wireless receiver of claim 83, wherein the formula includes
determining C based on dividing TBS0 plus L2 by Z minus L3, and
rounding up to the nearest integer.
87. The wireless receiver of claim 83, wherein when TBS0 plus a
number of CRC bits attached to the transport block is less than the
threshold size, Z, the formula includes calculating A*ceil(TBS0/A)
for a constant A, wherein A is one of 1 and 8.
88. A method for use in a wireless receiver, the method comprising:
receiving a wireless signal via a physical channel transmission
from a wireless transmitter, the wireless signal corresponding to a
transport block; determining a transport block size, TBS, using a
formula accounting for cyclic redundancy check, CRC, bits wherein
the formula is based on an approximate transport block size not
accounting for CRC bits; and decoding the wireless signal to obtain
the transport block.
89. The method of claim 88, wherein the formula is based on an
approximate transport block size, TBS0, a number of code blocks, C,
at least one of a number of CRC bits attached to the transport
block, L2, and a number of CRC bits added to each of the C code
blocks, L3.
90. The method of claim 89, wherein the formula is based on a
comparison of TBS0 plus a number of CRC bits attached to the
transport block with a threshold size, Z.
91. The method of claim 90, wherein when TBS0 plus a number of CRC
bits attached to the transport block is greater than the threshold
size, Z, the formula includes dividing TBS0+L2 by C, rounding up to
the nearest integer, and multiplying the result by C.
92. The method of claim 90, wherein when TBS0 plus a number of CRC
bits attached to the transport block is greater than the threshold
size, Z, the formula includes dividing TBS0+L2 by C*A, rounding up
to the nearest integer, and multiplying the result by C*A, where A
is a constant
93. The method of claim 90, wherein the formula includes
determining C based on dividing TBS0 plus L2 by Z minus L3, and
rounding up to the nearest integer.
94. The method of claim 90, wherein when TBS0 plus a number of CRC
bits attached to the transport block is less than the threshold
size, Z, the formula includes calculating A*ceil(TBS0/A) for a
constant A, wherein A is one of 1 and 8.
Description
TECHNICAL FIELD
[0001] Particular embodiments are directed to wireless
communications and, more particularly, to determining a transport
block size for equal size code blocks.
BACKGROUND
[0002] The terms UE (User Equipment), terminal, handset, etc. may
be used interchangeably to denote a device that communicates with
the network infrastructure. The term should not be construed as to
mean any specific type of device, it applies to them all, and the
embodiments described herein are applicable to all devices that may
use the embodiments to solve the problems as described.
[0003] Similarly, a base-station is intended to denote a node in
the network infrastructure that communicates with the UE. Different
names may be applicable, and the functionality of the base-station
may also be distributed in various ways. For example, a radio head
may terminate parts of the radio protocols and a centralized unit
may terminate other parts of the radio protocols. This disclosure
does not distinguish such implementations herein. The term
base-station refers to all alternative architectures that can
implement the embodiments described herein.
[0004] Third Generation Partnership Project (3GPP) describes a new
radio (NR) interface for fifth generation (5G) networks. Terms for
denoting this new and next generation technology have not yet
converged, so the terms NR and 5G may be used interchangeably.
Moreover, a base-station can be referred to as gNB instead of eNB.
Alternatively, the term Transmission-Receive-Point (TRP) can also
be used.
[0005] An NR radio slot consists of several orthogonal frequency
division multiplexed (OFDM) symbols. The slot includes either 7 or
14 symbols with OFDM subcarrier spacing .ltoreq.60 kHz and 14
symbols for OFDM subcarrier spacing >60 kHz. FIG. 1 illustrates
a subframe with 14 OFDM symbols. In FIG. 1, T.sub.s and T.sub.symb
denote the slot and OFDM symbol duration, respectively. In
addition, a slot may be shortened to accommodate downlink/uplink
transient periods or both downlink and uplink transmissions.
Potential variations are illustrated in FIG. 2.
[0006] Furthermore, NR also defines mini-slots. Mini-slots are
shorter than slots (according to current agreements, mini-slots
include from 1 or 2 symbols up to the number of symbols in a slot
minus one) and can start at any symbol. Mini-slots are used if the
transmission duration of a slot is too long or the occurrence of
the next slot start (slot alignment) is too late. Applications of
mini-slots include, among others, latency critical transmissions
(in this case both mini-slot length and frequent opportunity of
mini-slot are important) and unlicensed spectrum where a
transmission should start immediately after listen-before-talk
succeeded (here the frequent opportunity of mini-slot is especially
important). An example of mini-slots is illustrated in FIG. 3.
[0007] PDCCHs (physical downlink control channels) are used in NR
for downlink control information (DCI), e.g. downlink scheduling
assignments and uplink scheduling grants. The PDCCHs are in general
transmitted at the beginning of a slot and relate to data in the
same or a later slot (for mini-slots PDCCH can also be transmitted
within a regular slot). Different formats (sizes) of the PDCCHs are
possible to handle different DCI payload sizes and different
aggregation levels (i.e., different code rate for a given payload
size). A UE is configured (implicitly and/or explicitly) to monitor
(or search) for a number of PDCCH candidates of different
aggregation levels and DCI payload sizes. Upon detecting a valid
DCI message (i.e., the decoding of a candidate is successful and
the DCI contains an ID the UE is told to monitor) the UE follows
the DCI (e.g., receives the corresponding downlink data or
transmits in the uplink).
[0008] NR may include a broadcasted control channel to be received
by multiple UEs. The channel has may be referred to as group common
PDCCH. One example of information that might be put in such a
channel is information about the slot format (i.e., whether a
certain slot is uplink or downlink, which portion of a slot is
uplink or downlink, information that can be useful in a dynamic
time division duplex (TDD) system, etc.).
[0009] The downlink control information (DCI) carries several
parameters to instruct the UE how to receive the downlink
transmission or to transmit in the uplink. For example, the
frequency division duplex (FDD) long term evolution (LTE) DCI
format 1A carries parameter such as localized/distributed virtual
resource block (VRB) assignment flag, resource block assignment,
modulation and coding scheme (MCS), hybrid automatic repeat request
(HARQ) process number, new data indicator (NDI), redundancy version
and transmission power control (TPC) command for physical uplink
control channel (PUCCH).
[0010] One of the key parameter for the UE to receive or transmit
in the system is the size of the data block (called transport block
size) to be channel coded and modulated. In LTE, this is determined
as follows. The UE uses an MCS given by the DCI to read a transport
block size (TBS) index I.sub.TBS from a MCS table. An example of
the MCS table is shown in Table 1 below. The UE determines the
number of physical resource blocks (PRBs) as N.sub.PRB from the
resource block assignment in the DCI. The UE uses the TBS index
I.sub.TBS and the number of PRBs N.sub.PRB to read the actual
transport block size from a TBS table. A portion of the TBS table
is shown in Table 2 below as an example.
TABLE-US-00001 TABLE 1 LTE modulation and coding scheme (MCS) table
MCS Modulation TBS Index Order Index I.sub.MCS Q.sub.m I.sub.TBS 0
2 0 1 2 1 2 2 2 3 2 3 4 2 4 5 2 5 6 2 6 7 2 7 8 2 8 9 2 9 10 4 9 11
4 10 12 4 11 13 4 12 14 4 13 15 4 14 16 4 15 17 6 15 18 6 16 19 6
17 20 6 18 21 6 19 22 6 20 23 6 21 24 6 22 25 6 23 26 6 24 27 6 25
28 6 26 29 2 reserved 30 4 31 6
TABLE-US-00002 TABLE 2 LTE transport block size (TBS) table
(dimension is 27 .times. 110) N.sub.PRB I.sub.TBS 1 2 3 4 5 6 7 8 9
0 16 32 56 88 120 152 176 208 224 1 24 56 88 144 176 208 224 256
328 2 32 72 144 176 208 256 296 328 376 3 40 104 176 208 256 328
392 440 504 4 56 120 208 256 328 408 488 552 632 5 72 144 224 328
424 504 600 680 776 6 328 176 256 392 504 600 712 808 936 7 104 224
328 472 584 712 840 968 1096 8 120 256 392 536 680 808 968 1096
1256 9 136 296 456 616 776 936 1096 1256 1416 10 144 328 504 680
872 1032 1224 1384 1544 11 176 376 584 776 1000 1192 1384 1608 1800
12 208 440 680 904 1128 1352 1608 1800 2024 13 224 488 744 1000
1256 1544 1800 2024 2280 14 256 552 840 1128 1416 1736 1992 2280
2600 15 280 600 904 1224 1544 1800 2152 2472 2728 16 328 632 968
1288 1608 1928 2280 2600 2984 17 336 696 1064 1416 1800 2152 2536
2856 3240 18 376 776 1160 1544 1992 2344 2792 3112 3624 19 408 840
1288 1736 2152 2600 2984 3496 3880 20 440 904 1384 1864 2344 2792
3240 3752 4136 21 488 1000 1480 1992 2472 2984 3496 4008 4584 22
520 1064 1608 2152 2664 3240 3752 4264 4776 23 552 1128 1736 2280
2856 3496 4008 4584 5160 24 584 1192 1800 2408 2984 3624 4264 4968
5544 25 616 1256 1864 2536 3112 3752 4392 5160 5736 26 712 1480
2216 2984 3752 4392 5160 5992 6712
[0011] The LTE approach has a few problems described in the
following. A first problem is that the LTE TBS table was originally
designed with specific assumptions on the number of resource
elements (REs) available within each allocated PRB as well as the
number of OFDM symbols for data transmissions. When different
transmission modes with different amounts of reference symbol
overheads were introduced later in LTE, it became difficult to
define another TBS table to optimize for the new transmission
modes. The 3GPP participants compromised to introduce a few new
rows in the LTE TBS table to optimize for a few limited cases. The
explicit TBS table approach, however, hinders continual evolution
and improvement of the LTE system.
[0012] Another problem is that the existing approach of determining
the data block size does not provide high performance operation
with different slot sizes or structures. This is a known problem in
LTE systems because a subframe in LTE may be of various sizes. A
regular subframe may have different sizes of control region and
thus leaves different sizes for the data region. TDD LTE supports
different sizes in the downlink part (DwPTS) of a TDD special
subframe. Various different sizes of subframe are summarized in
Table 3 below.
[0013] The LTE MCS and TBS tables are designed, however, based on
the assumption that 11 OFDM symbols are available for the data
transmission. When the actual number of available OFDM symbols for
physical downlink shared channel (PDSCH) is different than 11, the
spectral efficiency of the transmission will deviate from those
shown in Table 4 below.
[0014] First, the code rate becomes excessively high when the
actual number of OFDM symbols for PDSCH is substantially less than
the assumed 11 symbols. These cases are highlighted with bold type
in Table 4. In LTE, the UE is not expected to decode any PDSCH
transmission with effective code rate higher than 0.930. Because
the mobile station will not be able to decode such high code rates,
transmissions based on these bold type MCSs will fail and
retransmissions will be needed.
[0015] Second, with the mismatch of radio resource assumption, code
rates for some of the MCSs deviate out of the optimal range for the
wideband wireless system. Based on extensive link performance
evaluation for the downlink transmission as an example, the code
rates for QPSK and 16QAM should not be higher than 0.70.
Furthermore, the code rates for 16QAM and 64QAM should not be lower
than 0.32 and 0.40, respectively. As illustrated with underlined
type, some of the MCSs in Table 4 result in sub-optimal code
rate.
[0016] Because data throughput is reduced when transmissions are
based on unsuitable or sub-optimal code rates, a good scheduling
implementation in the base station should avoid using any bold or
underlined MCSs shown in Table 4. Thus, the number of usable MCSs
shrink significantly when the actual number of OFDM symbols for
PDSCH deviates from the assumed 11 symbols.
TABLE-US-00003 TABLE 3 Available number of OFDM symbols for PDSCH
(N.sub.OS) in LTE Number of OFDM symbols for control information
Operation mode 1 2 3 4 FDD, TDD Normal CP 13 12 11 10 Extended CP
11 10 9 8 TDD DwPTS configurations 1, 6 8 7 6 5 normal CP
configurations 2, 7 9 8 7 6 configurations 3, 8 10 9 8 7
configuration 4 11 10 9 8 TDD DwPTS configurations 1, 5 7 6 5 4
extended CP configurations 2, 6 8 7 6 5 configuration 3 9 8 7 6
TABLE-US-00004 TABLE 4 Code rate with different number of OFDM
symbols for data transmission in LTE MCS index Available number of
OFDM symbols for PDSCH (N.sub.OS) (I.sub.MCS) Modulation 13 12 11
10 9 8 7 6 5 0 QPSK 0.10 0.11 0.12 0.13 0.14 0.16 0.18 0.21 0.25 1
QPSK 0.13 0.14 0.16 0.17 0.19 0.21 0.24 0.28 0.34 2 QPSK 0.16 0.17
0.19 0.21 0.23 0.26 0.30 0.35 0.42 3 QPSK 0.21 0.22 0.25 0.27 0.30
0.34 0.39 0.45 0.54 4 QPSK 0.25 0.28 0.30 0.33 0.37 0.41 0.47 0.55
0.66 5 QPSK 0.31 0.34 0.37 0.41 0.45 0.51 0.58 0.68 0.81 6 QPSK
0.37 0.40 0.44 0.48 0.54 0.61 0.69 0.81 0.97 7 QPSK 0.44 0.47 0.52
0.57 0.63 0.71 0.81 0.94 1.13 8 QPSK 0.50 0.54 0.59 0.65 0.72 0.81
0.93 1.08 1.30 9 QPSK 0.56 0.61 0.67 0.73 0.81 0.91 1.05 1.22 1.46
10 16 QAM 0.28 0.30 0.33 0.37 0.41 0.46 0.52 0.61 0.73 11 16 QAM
0.31 0.34 0.37 0.41 0.45 0.51 0.58 0.68 0.81 12 16 QAM 0.36 0.39
0.43 0.47 0.52 0.58 0.67 0.78 0.94 13 16 QAM 0.40 0.44 0.48 0.53
0.58 0.66 0.75 0.88 1.05 14 16 QAM 0.46 0.50 0.54 0.59 0.66 0.74
0.85 0.99 1.19 15 16 QAM 0.51 0.55 0.60 0.66 0.74 0.83 0.95 1.10
1.33 16 16 QAM 0.54 0.59 0.64 0.71 0.79 0.88 1.01 1.18 1.41 17 64
QAM 0.36 0.39 0.43 0.47 0.52 0.59 0.67 0.79 0.94 18 64 QAM 0.39
0.42 0.46 0.50 0.56 0.63 0.72 0.83 1.00 19 64 QAM 0.43 0.46 0.51
0.56 0.62 0.69 0.79 0.93 1.11 20 64 QAM 0.47 0.51 0.55 0.61 0.68
0.76 0.87 1.01 1.22 21 64 QAM 0.51 0.55 0.60 0.66 0.74 0.83 0.95
1.10 1.32 22 64 QAM 0.55 0.60 0.65 0.72 0.79 0.89 1.02 1.19 1.43 23
64 QAM 0.59 0.64 0.70 0.77 0.86 0.96 1.10 1.29 1.54 24 64 QAM 0.64
0.69 0.75 0.83 0.92 1.04 1.18 1.38 1.66 25 64 QAM 0.68 0.74 0.80
0.88 0.98 1.10 1.26 1.47 1.77 26 64 QAM 0.72 0.78 0.85 0.94 1.04
1.17 1.34 1.56 1.88 27 64 QAM 0.75 0.81 0.89 0.98 1.09 1.22 1.40
1.63 1.95 28 64 QAM 0.88 0.95 1.04 1.15 1.27 1.43 1.64 1.91
2.29
[0017] As mentioned above, the slot structure for NR tends to be
more flexible than LTE with much larger range of the amount of
allocated resources for UE to receive or transmit. The benefit of
designing a TBS table diminishes significantly.
[0018] To solve these problems, suggestions have been made to
determine the TBS through a formula instead of a table. One example
determines the TBS as follows:
TBS .times. = A .times. N P .times. R .times. B N R .times. E DL ,
PRB v Q m R A ##EQU00001##
where [0019] .nu. is number of layers the codeword is mapped onto
[0020] N.sub.RE.sup.DL,PRB is the number of REs per PRB per
slot/mini-slot available for carrying the PDSCH. [0021] N.sub.PRB
is the number of allocated PRBs [0022] modulation order, Q.sub.m,
and target code rate, R, are read from a MCS table based on
I.sub.MCS signalled in the DCI. [0023] an example value of A is 8,
to ensure that TBS is a multiple of 8.
[0024] Here N.sub.PRB, N.sub.RE.sup.DL,PRB, .upsilon., Q.sub.m, R
are signaled through DCI or are configured through higher
layers.
[0025] A problem with existing solutions is that the LTE transport
block size (TBS) table is designed so that when code block
segmentation is performed, all code blocks have the same size after
segmentation. This property is desirable since it makes
implementation easier. When a formula such as the one described
above is applied, however, this property is not necessarily
fulfilled.
SUMMARY
[0026] The embodiments described herein modify the formula for
transport block size (TBS) determination to ensure that all code
blocks have the same size. According to some embodiments, a
wireless transmitter (e.g., network node, user equipment (UE),
etc.) comprises processing circuitry operable to determine a TBS
for a transport block to be communicated between the wireless
transmitter and a wireless receiver via a physical channel
transmission. The TBS determination uses a formula accounting for
CRC bits. The processing circuitry is further operable to transmit
the transport block according to the determined TBS.
[0027] In particular embodiments, the processing circuitry is
further configured to segment the transport block of size TBS into
C equally sized code blocks. The processing circuitry is operable
to transmit the transport block according to the determined TBS by
transmitting the C equally sized code blocks to a wireless
receiver.
[0028] According to some embodiments, a method for use in a
wireless transmitter comprises determining a TBS for a transport
block to be communicated between the wireless transmitter and a
wireless receiver via a physical channel transmission. The TBS
determination uses a formula accounting for CRC bits. The method
further comprises transmitting the transport block according to the
determined TBS.
[0029] In particular embodiments, the method further comprises
segmenting the transport block of size TBS into C equally sized
code blocks. Transmitting the transport block comprises
transmitting the C equally sized code blocks to a wireless
receiver.
[0030] In particular embodiments, the CRC bits include at least one
of transport block CRC bits and code segmentation CRC bits. The
formula may be based on an approximate transport block size,
TBS.sub.0, a number of code blocks, C, at least one of a number of
CRC bits attached to the transport block, L.sub.2, and a number of
CRC bits added to each of the C code blocks, L.sub.3.
[0031] In particular embodiments, the formula is based on a
comparison of TBS.sub.0 plus a number of CRC bits attached to the
transport block with a threshold size, Z. When TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C, rounding up to the nearest integer, and
multiplying the result by C. Alternatively, when TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C*A|, rounding up to the nearest integer, and
multiplying the result by C*A, where A is a constant.
[0032] When TBS.sub.0 plus a number of CRC bits attached to the
transport block is less than the threshold size, Z, the formula
includes calculating A*ceil(TBS0/A) for a constant A, wherein,
optionally, A=8.
[0033] In particular embodiments, the formula includes determining
C based on dividing TBS.sub.0 plus L.sub.2 by Z minus L.sub.3, and
rounding up to the nearest integer. The formula may include
determining the TBS by subtracting L.sub.2. A may be one of 1 and
8. L.sub.2 may be one of 0, 8, 16, and 24. L.sub.3 may be one of 0,
8, 16, and 24. Z may be one of 3840 and 8448.
[0034] In particular embodiments, the formula includes determining
TBS.sub.0 based on available transmission resources by determining
the approximate transport block size based on a function of one or
more of a number of physical resource blocks, a number of resource
elements per physical resource block, a number of layers, a
modulation order, and a code rate. In some embodiments, the formula
includes determining TBS.sub.0 based on available transmission
resources by determining the approximate transport block size based
on a number of symbols available for transmission and a lookup
table.
[0035] In particular embodiments, the wireless transmitter is a
network node (e.g., base station) or a wireless device (e.g.,
UE).
[0036] According to some embodiments, a wireless receiver comprises
processing circuitry operable to receive a wireless signal via a
physical channel transmission from a wireless transmitter. The
wireless signal corresponds to a transport block. The processing
circuitry is operable to determine a TBS using a formula accounting
for CRC bits and decode the wireless signal to obtain the transport
block.
[0037] In particular embodiments, the processing circuitry is
further operable to segment the transport block of size TBS into C
equally sized code blocks. The processing circuitry is operable to
decode the wireless signal by decoding the C equally sized code
blocks and combining the decoded code blocks into the transport
block.
[0038] According to some embodiments, a method for use in a
wireless receiver comprises receiving a wireless signal via a
physical channel transmission from a wireless transmitter. The
wireless signal corresponds to a transport block. The method
further comprises determining a TBS using a formula accounting for
CRC bits and decoding the wireless signal to obtain the transport
block.
[0039] In particular embodiments, the method further comprises
segmenting the transport block of size TBS into C equally sized
code blocks. Decoding the wireless signal comprises decoding the C
equally sized code blocks and combining the decoded code blocks
into the transport block.
[0040] In particular embodiments, the CRC bits include at least one
of transport block CRC bits and code segmentation CRC bits. The
formula may be based on an approximate transport block size,
TBS.sub.0, a number of code blocks, C, at least one of a number of
CRC bits attached to the transport block, L.sub.2, and a number of
CRC bits added to each of the C code blocks, L.sub.3.
[0041] In particular embodiments, the formula is based on a
comparison of TBS.sub.0 plus a number of CRC bits attached to the
transport block with a threshold size, Z. When TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C, rounding up to the nearest integer, and
multiplying the result by C. Alternatively, when TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C*A|, rounding up to the nearest integer, and
multiplying the result by C*A, where A is a constant.
[0042] When TBS.sub.0 plus a number of CRC bits attached to the
transport block is less than the threshold size, Z, the formula
includes calculating A*ceil(TBS0/A) for a constant A, wherein,
optionally, A=8.
[0043] In particular embodiments, the formula includes determining
C based on dividing TBS.sub.0 plus L.sub.2 by Z minus L.sub.3, and
rounding up to the nearest integer. The formula may include
determining the TBS by subtracting L.sub.2. A may be one of 1 and
8. L.sub.2 may be one of 0, 8, 16, and 24. L.sub.3 may be one of 0,
8, 16, and 24. Z may be one of 3840 and 8448.
[0044] In particular embodiments, the formula includes determining
TBS.sub.0 based on available transmission resources by determining
the approximate transport block size based on a function of one or
more of a number of physical resource blocks, a number of resource
elements per physical resource block, a number of layers, a
modulation order, and a code rate. In some embodiments, the formula
includes determining TBS.sub.0 based on available transmission
resources by determining the approximate transport block size based
on a number of symbols available for transmission and a lookup
table.
[0045] In particular embodiments, the wireless receiver is a
network node (e.g., base station) or a wireless device (e.g.,
UE).
[0046] According to some embodiments, a wireless transmitter
comprises a determining module and a transmitting module. The
determining module is operable to determine a TBS for a transport
block to be communicated between the wireless transmitter and a
wireless receiver via a physical channel transmission. The TBS
determination uses a formula accounting for CRC bits. The
transmitting module is operable to transmit the transport block
according to the determined TBS.
[0047] According to some embodiments, a wireless receiver comprises
a receiving module and a determining module. The receiving module
is operable to receive a wireless signal via a physical channel
transmission from a wireless transmitter. The wireless signal
corresponds to a transport block. The determining module is
operable to determine a TBS using a formula accounting for CRC bits
and decode the wireless signal to obtain the transport block.
[0048] Also disclosed is a computer program product. The computer
program product comprises instructions stored on non-transient
computer-readable media which, when executed by a processor,
perform the step of determining a TBS for a transport block to be
communicated between the wireless transmitter and a wireless
receiver via a physical channel transmission. The TBS determination
uses a formula accounting for CRC bits. The instructions further
perform the step of transmitting the transport block according to
the determined TBS.
[0049] Another computer program product comprises instructions
stored on non-transient computer-readable media which, when
executed by a processor, perform the step of receiving a wireless
signal via a physical channel transmission from a wireless
transmitter. The wireless signal corresponds to a transport block.
The instructions further perform the step of determining a TBS
using a formula accounting for CRC bits and decoding the wireless
signal to obtain the transport block.
[0050] Particular embodiments may include some, all, or none of the
following advantages. Particular embodiments ensure that all code
blocks have the same size, which makes implementation of the
encoder and decoder simpler. By adjusting the TBS instead of
padding zeros before code block segmentation, more efficient use of
resources is achieved, e.g. in full buffer scenarios. Some
embodiments may include additional or other advantages.
BRIEF DESCRIPTION OF THE DRAWINGS
[0051] For a more complete understanding of the embodiments and
their features and advantages, reference is now made to the
following description, taken in conjunction with the accompanying
drawings, in which:
[0052] FIG. 1 illustrates an example LTE slot;
[0053] FIG. 2 illustrates examples of slot variations in LTE;
[0054] FIG. 3 illustrates a mini-slot with 2 OFDM symbols;
[0055] FIG. 4 is a block diagram illustrating an example wireless
network, according to a particular embodiment;
[0056] FIG. 5 is a flow diagram illustrating an example method in a
wireless transmitter;
[0057] FIG. 6 is a flow diagram illustrating an example method in a
wireless receiver;
[0058] FIG. 7A is a block diagram illustrating an example
embodiment of a wireless device;
[0059] FIG. 7B is a block diagram illustrating example components
of a wireless device;
[0060] FIG. 8A is a block diagram illustrating an example
embodiment of a network node; and
[0061] FIG. 8B is a block diagram illustrating example components
of a network node.
DETAILED DESCRIPTION
[0062] Third Generation Partnership Project (3GPP) long term
evolution (LTE) uses code block segmentation for transport blocks
that are larger than the largest possible code block size. For
example, if after adding any CRC bits to a transport block, the
transport block is larger than the largest possible code block
size, the transport block needs to be segmented into several code
blocks. The procedure in LTE is described in 3GPP TS 36.212 V13.2.0
(2016 June) Section 5.1.2. NR may include a similar procedure.
[0063] As noted above, a problem with existing solutions is that
the LTE transport block size (TBS) table is designed so that when
code block segmentation is performed, all code blocks have the same
size after segmentation. This property is desirable since it makes
implementation easier. When a formula such as the one described
above is applied, however, this property is not necessarily
fulfilled.
[0064] One way of achieving equal size code blocks is to zero pad
the transport block before code block segmentation. This has some
drawbacks. If the padded zeros are marked as <NULL> and
removed before transmission, this leads to different code blocks
having different code rates, which is inefficient. If the padded
zeros are not removed before transmission, it leads to transmission
of useless bits, which is inefficient.
[0065] Particular embodiments obviate the problems described above
and modify the formula for TBS determination to ensure that all
code blocks have the same size. Particular embodiments ensure that
all code blocks have the same size, which makes implementation of
the encoder and decoder simpler. By adjusting the TBS instead of
padding zeros before code block segmentation, more efficient use of
resources is achieved (e.g., in full buffer scenarios).
[0066] The following description sets forth numerous specific
details. It is understood, however, that embodiments may be
practiced without the 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.
[0067] 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 particular 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.
[0068] Particular embodiments are described with reference to FIGS.
4-8B of the drawings, like numerals being used for like and
corresponding parts of the various drawings. LTE and new radio (NR)
are used throughout this disclosure as an example cellular system,
but the ideas presented herein may apply to other wireless
communication systems as well.
[0069] FIG. 4 is a block diagram illustrating an example wireless
network, according to a particular embodiment. Wireless network 100
includes one or more wireless devices 110 (such as mobile phones,
smart phones, laptop computers, tablet computers, MTC devices, or
any other devices that can provide wireless communication) and a
plurality of network nodes 120 (such as base stations or eNodeBs).
Wireless device 110 may also be referred to as a UE. Network node
120 serves coverage area 115 (also referred to as cell 115).
[0070] In general, wireless devices 110 that are within coverage of
network node 120 (e.g., within cell 115 served by network node 120)
communicate with network node 120 by transmitting and receiving
wireless signals 130. For example, wireless devices 110 and network
node 120 may communicate wireless signals 130 containing voice
traffic, data traffic, and/or control signals. A network node 120
communicating voice traffic, data traffic, and/or control signals
to wireless device 110 may be referred to as a serving network node
120 for the wireless device 110. Communication between wireless
device 110 and network node 120 may be referred to as cellular
communication. Wireless signals 130 may include both downlink
transmissions (from network node 120 to wireless devices 110) and
uplink transmissions (from wireless devices 110 to network node
120).
[0071] Each network node 120 may have a single transmitter or
multiple transmitters for transmitting signals 130 to wireless
devices 110. In some embodiments, network node 120 may comprise a
multi-input multi-output (MIMO) system. Wireless signal 130 may
comprise one or more beams. Particular beams may be beamformed in a
particular direction. Each wireless device 110 may have a single
receiver or multiple receivers for receiving signals 130 from
network nodes 120 or other wireless devices 110. Wireless device
110 may receive one or more beams comprising wireless signal
130.
[0072] Wireless signals 130 may be transmitted on time-frequency
resources. The time-frequency resources may be partitioned into
radio frames, subframes, slots, and/or mini-slots, such as those
described with respect to FIGS. 1-3. Network node 120 may
dynamically schedule subframes/slots/mini-slots as uplink,
downlink, or a combination uplink and downlink Different wireless
signals 130 may comprise different transmission processing
times.
[0073] Network node 120 may operate in a licensed frequency
spectrum, such as an LTE spectrum. Network node 120 may also
operate in an unlicensed frequency spectrum, such as a 5 GHz Wi-Fi
spectrum. In an unlicensed frequency spectrum, network node 120 may
coexist with other devices such as IEEE 802.11 access points and
terminals. To share the unlicensed spectrum, network node 120 may
perform listen-before-talk (LBT) protocols before transmitting or
receiving wireless signals 130. Wireless device 110 may also
operate in one or both of licensed or unlicensed spectrum and in
some embodiments may also perform LBT protocols before transmitting
wireless signals 130. Both network node 120 and wireless device 110
may also operate in licensed shared spectrum.
[0074] For example, network node 120a may operate in a licensed
spectrum and network node 120b may operate in an unlicensed
spectrum. Wireless device 110 may operate in both licensed and
unlicensed spectrum. In particular embodiments, network nodes 120a
and 120b may be configurable to operate in a licensed spectrum, an
unlicensed spectrum, a licensed shared spectrum, or any
combination. Although the coverage area of cell 115b is illustrated
as included in the coverage area of cell 115a, in particular
embodiments the coverage areas of cells 115a and 115b may overlap
partially, or may not overlap at all.
[0075] In particular embodiments, wireless device 110 and network
nodes 120 may perform carrier aggregation. For example, network
node 120a may serve wireless device 110 as a PCell and network node
120b may serve wireless device 110 as a SCell. Network nodes 120
may perform self-scheduling or cross-scheduling. If network node
120a is operating in licensed spectrum and network node 120b is
operating in unlicensed spectrum, network node 120a may provide
license assisted access (LAA) to the unlicensed spectrum (i.e.,
network node 120a is a LAA PCell and network node 120b is a LAA
SCell).
[0076] In particular embodiments, wireless signals 130 may be
transmitted using transport blocks. Transport blocks may be divided
in one or more code blocks. Network node 120 and wireless device
110 may segment transport blocks into equal sized code blocks
according to any of the examples and embodiments described in more
detail below.
[0077] For example, network node 120 or wireless device 110 may
determine a TBS for a transport block to be communicated between
the wireless transmitter and a wireless receiver via a physical
channel transmission. The TBS determination uses a formula
accounting for CRC bits. Network node 110 or wireless device 110
may transmit the transport block according to the determined TBS.
In particular embodiments the formula is based on an approximate
transport block size, a number of code blocks, at least one of a
number of CRC bits attached to the transport block, and a number of
CRC bits added to each of the C code blocks. Wireless device 110
and network node 120 may determine a TBS and a number of equal size
code blocks using a similar formula when receiving a transport
block. Additional examples are described below.
[0078] In wireless network 100, each network node 120 may use any
suitable radio access technology, such as long term evolution
(LTE), LTE-Advanced, UMTS, HSPA, GSM, cdma2000, NR, WiMax, WiFi,
and/or other suitable radio access technology. Wireless network 100
may include any suitable combination of one or more radio access
technologies. For purposes of example, various embodiments may be
described within the context of certain radio access technologies.
However, the scope of the disclosure is not limited to the examples
and other embodiments could use different radio access
technologies.
[0079] As described above, embodiments of a wireless network may
include one or more wireless devices and one or more different
types of radio network nodes capable of communicating with the
wireless devices. The network may also include any additional
elements suitable to support communication between wireless devices
or between a wireless device and another communication device (such
as a landline telephone). A wireless device may include any
suitable combination of hardware and/or software. For example, in
particular embodiments, a wireless device, such as wireless device
110, may include the components described with respect to FIG. 7A
below. Similarly, a network node may include any suitable
combination of hardware and/or software. For example, in particular
embodiments, a network node, such as network node 120, may include
the components described with respect to FIG. 8A below.
[0080] Particular embodiments obviate the problems described above
and modify the formula for TBS determination to ensure that all
code blocks have the same size. Particular embodiments ensure that
all code blocks have the same size, which simplifies implementation
of the encoder and decoder. By adjusting the TBS instead of padding
zeros before code block segmentation, more efficient use of
resources is achieved.
[0081] Consider the formula above:
T .times. BS = 8 .times. N P .times. R .times. B N R .times. E DL ,
PRB v Q m R 8 ##EQU00002##
The formula can also be described as
TBS .times. = 8 .times. T .times. B .times. S 0 8 ##EQU00003##
where TBS.sub.0 is determined according to scheduling resources,
MCS, and MIMO configuration:
T .times. B .times. S 0 = N P .times. R .times. B N R .times. E DLJ
, RB v Q m R ##EQU00004##
[0082] In general, TBS.sub.0 can be any formula for a desired
approximate TBS. Another non-limiting example of how to determine
TBS.sub.0 is to find it in a look up table such as the LTE TBS
table.
[0083] TBS.sub.0 can be adjusted slightly to facilitate the code
block segmentation procedure. The adjustment is done so that each
of the code block segments have the same code block size (CBS),
thus guaranteeing that the same shift size is used for the LDPC
code. The adjustment also ensures that zero padding is not
necessary in code block segmentation, similar to that of LTE turbo
codes.
[0084] Assume that the number of code blocks C is determined in the
following manner, which is similar to LTE:
[0085] Total number of code blocks C, and the CBS, are in general
determined by:
TABLE-US-00005 if .sup.TBS + L.sub.1 .ltoreq. Z Number of code
blocks: C = 1 CBS = TBS; else Number of code blocks: C = [(TBS +
L.sub.2)/(Z - L.sub.3)] CBS = [(TBS + L.sub.2)/C] end if
[0086] If C=1:
[0087] In the above, variable L.sub.1 is the number of CRC bits
that are attached to the TBS when TBS is above a threshold
TBS.sub.thrsh, TBS.sub.thrsh.ltoreq.Z, Z=8448. L.sub.1 CRC bits are
attached to each transport block, without code block level CRC
bits. Typical value of L.sub.1 is L.sub.1=24. In the above,
variable Z is the maximum information block size that is accepted
at the input of an LDPC encoder. When L.sub.1 CRC bits are attached
to the length-TBS information payload before sending it to the
input of LDPC encoder, then the block of (TBS+L.sub.1) bits is
composed of (a) TBS information payload bits, and (b) L.sub.1 CRC
bits.
[0088] When TBS+L.sub.1.ltoreq.Z, only TB-level CRC is attached,
and no code block level CRC is attached. The L.sub.1 CRC bits are
generated to protect the TBS information payload bits.
[0089] If C>1
[0090] L.sub.2 CRC bits are attached to each transport block and
L.sub.3 additional CRC bits are attached to each CB after
segmentation.
[0091] Some example values of L.sub.1, L.sub.2, and L.sub.3 are 0,
8, 16, or 24. Some or all of L.sub.1, L.sub.2, and L.sub.3 might be
equal. One example is L.sub.1=L.sub.2=24 (bits), L.sub.3=16
(bits).
[0092] In one non-limiting embodiment, the TBS is determined as
follows:
TABLE-US-00006 If C = 1 TBS = A .times. T .times. B .times. S 0 A
##EQU00005## Else TBS = C .times. A .times. T .times. B .times. S 0
+ L 2 C .times. A - L 2 ##EQU00006## End if.
[0093] An example value of A is 8, to ensure that TBS is a multiple
of 8 (i.e., byte-aligned). Another example is A=1 if TBS is not
required to be byte-aligned.
[0094] Combining the TBS determination above with the CBS
determination procedure results in the following procedure with
TBS.sub.0 as input.
TABLE-US-00007 if .times. .times. A .times. T .times. B .times. S 0
A + L 1 .ltoreq. Z ##EQU00007## Number of code blocks: C = 1
Transport .times. .times. block .times. .times. size .times.
.times. ( TBS ) .times. : .times. .times. TBS = A .times. T .times.
B .times. S 0 A .times. .times. ( bits ) ##EQU00008## Length of
information block to LDPC encoder = (TBS + L.sub.1) (bits) else
Number of code blocks: C = .left brkt-top.(TBS.sub.0 + L.sub.2)/(Z
- L.sub.3).right brkt-bot. Transport .times. .times. block .times.
.times. size .times. .times. ( TBS ) .times. : .times. .times. TBS
.times. = C .times. A .times. T .times. B .times. S 0 + L 2 C
.times. A - L 2 ##EQU00009## (bits) Code .times. .times. block
.times. .times. size .times. : .times. .times. CBS = A .times. T
.times. B .times. S 0 + L 2 C .times. A .times. .times. ( bits )
##EQU00010## Length of information block to LDPC encoder = (CBS +
L.sub.3) (bits) end if
[0095] In another non-limiting embodiment, the TBS is determined as
follows:
TABLE-US-00008 If C = 1 TBS = A .times. T .times. B .times. S 0 A
##EQU00011## Else TBS = lcm .function. ( C , A ) .times. T .times.
B .times. S 0 + L 2 l .times. c .times. m .function. ( C , A ) - L
2 ##EQU00012## End if.
[0096] Here lcm(C, A) is the least common multiple of A and C. An
example value of A is 8, to ensure that TBS is a multiple of 8.
Another example is 1.
[0097] Combining the TBS determination above with the CBS
determination procedure results in the following procedure with
TBS.sub.0 as input.
TABLE-US-00009 if .times. .times. A .times. T .times. B .times. S 0
A + L 1 .ltoreq. Z ##EQU00013## Number of code blocks: C = 1
Transport .times. .times. block .times. .times. size .times.
.times. ( TBS ) .times. : .times. .times. TBS = A .times. T .times.
B .times. S 0 A .times. .times. ( bits ) ##EQU00014## Length of
information block to LDPC encoder = (TBS + L.sub.1) (bits) else
Number of code blocks: C = .left brkt-top.(TBS.sub.0 + L.sub.2)/(Z
- L.sub.3).right brkt-bot. Transport .times. .times. block .times.
.times. size .times. .times. ( TBS ) .times. : .times. .times. TBS
= lcm .function. ( C , A ) .times. T .times. B .times. S 0 + L 2
lcm .function. ( C , A ) - L 2 ##EQU00015## (bits) Code .times.
.times. block .times. .times. size .times. : .times. .times. CBS =
TBS + L 2 C .times. .times. ( bits ) ##EQU00016## Length of
information block to LDPC encoder = (CBS + L.sub.3) (bits) end
if
[0098] Other non-limiting embodiments are obtained by replacing
.left brkt-top. .right brkt-bot. with .left brkt-bot. .right
brkt-bot. in some or all of the expressions above.
[0099] FIG. 5 is a flow diagram illustrating an example method in a
wireless transmitter, according to particular embodiments. In
particular embodiments, one or more steps of FIG. 5 may be
performed by network node 120 or wireless device 110 of network 100
described with respect to FIG. 4.
[0100] The method begins at step 512, where the wireless
transmitter determines a TBS for a transport block to be
communicated between the wireless transmitter and a wireless
receiver via a physical channel transmission. The TBS determination
uses a formula accounting for CRC bits. For example, network node
120 may determine a TBS for a transport block to be communicated
from network node 120 to wireless device 110.
[0101] In particular embodiments, the CRC bits include at least one
of transport block CRC bits and code segmentation CRC bits. The
formula may be based on an approximate transport block size,
TBS.sub.0, a number of code blocks, C, at least one of a number of
CRC bits attached to the transport block, L.sub.2, and a number of
CRC bits added to each of the C code blocks, L.sub.3.
[0102] In particular embodiments, the formula is based on a
comparison of TBS.sub.0 plus a number of CRC bits attached to the
transport block with a threshold size, Z. When TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C, rounding up to the nearest integer, and
multiplying the result by C. Alternatively, when TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C*A|, rounding up to the nearest integer, and
multiplying the result by C*A, where A is a constant.
[0103] When TBS.sub.0 plus a number of CRC bits attached to the
transport block is less than the threshold size, Z, the formula
includes dividing TBS.sub.0+L.sub.2 by C, rounding up to the
nearest integer, and multiplying the result by C, wherein C=1.
[0104] In particular embodiments, the formula includes determining
C based on dividing
[0105] TBS.sub.0 plus L.sub.2 by Z minus L.sub.3, and rounding up
to the nearest integer. The formula may include determining the TBS
by subtracting L.sub.2. A may be one of 1 and 8. L.sub.2 may be one
of 0, 8, 16, and 24. L.sub.3 may be one of 0, 8, 16, and 24. Z may
be one of 3840 and 8448.
[0106] In particular embodiments, the formula includes determining
TBS.sub.0 based on available transmission resources by determining
the approximate transport block size based on a function of one or
more of a number of physical resource blocks, a number of resource
elements per physical resource block, a number of layers, a
modulation order, and a code rate. In some embodiments, the formula
includes determining TBS.sub.0 based on available transmission
resources by determining the approximate transport block size based
on a number of symbols available for transmission and a lookup
table. In particular embodiments, the formula may include any of
the formulas described above.
[0107] At step 514, the wireless transmitter may segment the
transport block of size TBS into C equally sized code blocks. For
example if the approximate transport block size plus a number of
CRC bits is greater than a threshold, then network node 120 may
segment the transport block into C equally sized code blocks
according to any of the formulas described above.
[0108] At step 516, the wireless transmitter transmits the
transport block according to the determined TBS. For example,
network node 120 may transmit the transport block to wireless
device 110 by transmitting the C equally sized code blocks.
[0109] Modifications, additions, or omissions may be made to method
500 of FIG. 5. Additionally, one or more steps in the method of
FIG. 5 may be performed in parallel or in any suitable order. The
steps may be repeated over time as necessary.
[0110] FIG. 6 is a flow diagram illustrating an example method in a
wireless receiver, according to particular embodiments. In
particular embodiments, one or more steps of FIG. 6 may be
performed by network node 120 or wireless device 110 of network 100
described with respect to FIG. 4.
[0111] The method begins at step 612, where the wireless receiver
receives a wireless signal via a physical channel transmission from
a wireless transmitter. The wireless signal corresponds to a
transport block. For example, wireless device 110 may receive a
wireless signal from network node 120 corresponding to the
transport block transmitted in method 500.
[0112] At step 614, the wireless receiver determines a TBS using a
formula accounting for CRC bits. For example, network node 120 may
determine a TBS for the received transport block according to any
of the formulas described above.
[0113] In particular embodiments, the CRC bits include at least one
of transport block CRC bits and code segmentation CRC bits. The
formula may be based on an approximate transport block size,
TBS.sub.0, a number of code blocks, C, at least one of a number of
CRC bits attached to the transport block, L.sub.2, and a number of
CRC bits added to each of the C code blocks, L.sub.3.
[0114] In particular embodiments, the formula is based on a
comparison of TBS.sub.0 plus a number of CRC bits attached to the
transport block with a threshold size, Z. When TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C, rounding up to the nearest integer, and
multiplying the result by C. Alternatively, when TBS.sub.0 plus a
number of CRC bits attached to the transport block is greater than
the threshold size, Z, the formula includes dividing
TBS.sub.0+L.sub.2 by C*A|, rounding up to the nearest integer, and
multiplying the result by C*A, where A is a constant.
[0115] When TBS.sub.0 plus a number of CRC bits attached to the
transport block is less than the threshold size, Z, the formula
includes calculating A*ceil(TBS0/A) for a constant A, wherein,
optionally, A=8.
[0116] In particular embodiments, the formula includes determining
C based on dividing TBS.sub.0 plus L.sub.2 by Z minus L.sub.3, and
rounding up to the nearest integer. The formula may include
determining the TBS by subtracting L.sub.2. The formula may include
determining the TBS by multiplying C by a constant, A, to ensure
that the TBS is a multiple of A. A may be one of 1 and 8. L.sub.2
may be one of 0, 8, 16, and 24. L.sub.3 may be one of 0, 8, 16, and
24. Z may be one of 3840 and 8448.
[0117] In particular embodiments, the formula includes determining
TBS.sub.0 based on available transmission resources by determining
the approximate transport block size based on a function of one or
more of a number of physical resource blocks, a number of resource
elements per physical resource block, a number of layers, a
modulation order, and a code rate. In some embodiments, the formula
includes determining TBS.sub.0 based on available transmission
resources by determining the approximate transport block size based
on a number of symbols available for transmission and a lookup
table.
[0118] At step 616, the wireless receiver may segment the transport
block of size TBS into C equally sized code blocks. For example if
the approximate transport block size plus a number of CRC bits is
greater than a threshold, then network node 120 may segment the
transport block into C equally sized code blocks according to any
of the formulas described above.
[0119] At step 618, the wireless receiver decodes the wireless
signal to obtain the transport block. For example, wireless device
110 may decode the wireless signal by decoding the C equally sized
code blocks and combining the decoded code blocks into the
transport block.
[0120] Modifications, additions, or omissions may be made to method
600 of FIG. 6. Additionally, one or more steps in the method of
FIG. 6 may be performed in parallel or in any suitable order. The
steps may be repeated over time as necessary.
[0121] FIG. 7A is a block diagram illustrating an example
embodiment of a wireless device. The wireless device is an example
of the wireless devices 110 illustrated in FIG. 4. In particular
embodiments, the wireless device is capable of segmenting a
transport block into equally sized code blocks according to any of
the embodiments described above.
[0122] Particular examples of a wireless device include a mobile
phone, a smart phone, a PDA (Personal Digital Assistant), a
portable computer (e.g., laptop, tablet), a sensor, a modem, a
machine type (MTC) device/machine to machine (M2M) device, laptop
embedded equipment (LEE), laptop mounted equipment (LME), USB
dongles, a device-to-device capable device, a vehicle-to-vehicle
device, or any other device that can provide wireless
communication. The wireless device includes transceiver 1310,
processing circuitry 1320, memory 1330, and power source 1340. In
some embodiments, transceiver 1310 facilitates transmitting
wireless signals to and receiving wireless signals from wireless
network node 120 (e.g., via an antenna), processing circuitry 1320
executes instructions to provide some or all of the functionality
described herein as provided by the wireless device, and memory
1330 stores the instructions executed by processing circuitry 1320.
Power source 1340 supplies electrical power to one or more of the
components of wireless device 110, such as transceiver 1310,
processing circuitry 1320, and/or memory 1330.
[0123] Processing circuitry 1320 includes any suitable combination
of hardware and software implemented in one or more integrated
circuits or modules to execute instructions and manipulate data to
perform some or all of the described functions of the wireless
device. In some embodiments, processing circuitry 1320 may include,
for example, one or more computers, one more programmable logic
devices, one or more central processing units (CPUs), one or more
microprocessors, one or more applications, and/or other logic,
and/or any suitable combination of the preceding. Processing
circuitry 1320 may include analog and/or digital circuitry
configured to perform some or all of the described functions of
wireless device 110. For example, processing circuitry 1320 may
include resistors, capacitors, inductors, transistors, diodes,
and/or any other suitable circuit components.
[0124] Memory 1330 is generally operable to store computer
executable code and data. Examples of memory 1330 include computer
memory (e.g., Random Access Memory (RAM) or Read Only Memory
(ROM)), mass storage media (e.g., a hard disk), removable storage
media (e.g., a Compact Disk (CD) or a Digital Video Disk (DVD)),
and/or or any other volatile or non-volatile, non-transitory
computer-readable and/or computer-executable memory devices that
store information.
[0125] Power source 1340 is generally operable to supply electrical
power to the components of wireless device 110. Power source 1340
may include any suitable type of battery, such as lithium-ion,
lithium-air, lithium polymer, nickel cadmium, nickel metal hydride,
or any other suitable type of battery for supplying power to a
wireless device.
[0126] Other embodiments of the wireless device may include
additional components (beyond those shown in FIG. 7A) responsible
for providing certain aspects of the wireless device's
functionality, including any of the functionality described above
and/or any additional functionality (including any functionality
necessary to support the solution described above).
[0127] FIG. 7B is a block diagram illustrating example components
of a wireless device 110. The components may include receiving
module 1350, transmitting module 1352, and determining module
1354.
[0128] Receiving module 1350 may perform the receiving functions of
wireless device 110. For example, receiving module 1350 may receive
a transport block segmented into equally sized code blocks.
Receiving module 1350 may perform the receiving functions according
to any of the examples and embodiments described above. In certain
embodiments, receiving module 1350 may include or be included in
processing circuitry 1320. In particular embodiments, receiving
module 1350 may communicate with transmitting module 1352 and
determining module 1354.
[0129] Transmitting module 1352 may perform the transmitting
functions of wireless device 110. For example, transmitting module
1352 may transmit a transport block segmented into equally sized
code blocks according to any of the embodiments described above. In
certain embodiments, transmitting module 1352 may include or be
included in processing circuitry 1320. In particular embodiments,
transmitting module 1352 may communicate with receiving module 1350
and determining module 1354.
[0130] Determining module 1354 may perform the determining
functions of wireless device 110. For example, determining module
1354 may determine equally sized code blocks for a transport block
according to any of the embodiments described above. In certain
embodiments, determining module 1354 may include or be included in
processing circuitry 1320. In particular embodiments, determining
module 1354 may communicate with receiving module 1350 and
transmitting module 1352.
[0131] FIG. 8A is a block diagram illustrating an example
embodiment of a network node. The network node is an example of the
network node 120 illustrated in FIG. 4. In particular embodiments,
the network node is capable of segmenting a transport block into
equally sized code blocks according to any of the embodiments
described above.
[0132] Network node 120 can be an eNodeB, a nodeB, a base station,
a wireless access point (e.g., a Wi-Fi access point), a low power
node, a base transceiver station (BTS), a transmission point or
node, a remote RF unit (RRU), a remote radio head (RRH), or other
radio access node. The network node includes at least one
transceiver 1410, at least one processing circuitry 1420, at least
one memory 1430, and at least one network interface 1440.
Transceiver 1410 facilitates transmitting wireless signals to and
receiving wireless signals from a wireless device, such as wireless
devices 110 (e.g., via an antenna); processing circuitry 1420
executes instructions to provide some or all of the functionality
described above as being provided by a network node 120; memory
1430 stores the instructions executed by processing circuitry 1420;
and network interface 1440 communicates signals to backend network
components, such as a gateway, switch, router, Internet, Public
Switched Telephone Network (PSTN), controller, and/or other network
nodes 120. Processing circuitry 1420 and memory 1430 can be of the
same types as described with respect to processing circuitry 1320
and memory 1330 of FIG. 7A above.
[0133] In some embodiments, network interface 1440 is
communicatively coupled to processing circuitry 1420 and refers to
any suitable device operable to receive input for network node 120,
send output from network node 120, perform suitable processing of
the input or output or both, communicate to other devices, or any
combination of the preceding. Network interface 1440 includes
appropriate hardware (e.g., port, modem, network interface card,
etc.) and software, including protocol conversion and data
processing capabilities, to communicate through a network.
[0134] FIG. 8B is a block diagram illustrating example components
of a network node 120. The components may include receiving module
1450, transmitting module 1452, and determining module 1454.
[0135] Receiving module 1450 may perform the receiving functions of
network node 120. For example, receiving module 1450 may receive a
transport block segmented into equally sized code blocks according
to any of the embodiments described above. In certain embodiments,
receiving module 1450 may include or be included in processing
circuitry 1420. In particular embodiments, receiving module 1450
may communicate with transmitting module 1452 and determining
module 1454.
[0136] Transmitting module 1452 may perform the transmitting
functions of network node 120. For example, transmitting module
1452 may transmit a transport block segmented into equally sized
code blocks according to any of the embodiments described above. In
certain embodiments, transmitting module 1452 may include or be
included in processing circuitry 1420. In particular embodiments,
transmitting module 1452 may communicate with receiving module 1450
and determining module 1454.
[0137] Determining module 1454 may perform the determining
functions of network node 120. For example, determining module 1454
may determine equally sized code blocks for a transport block
according to any of the embodiments described above. In certain
embodiments, determining module 1454 may include or be included in
processing circuitry 1420. In particular embodiments, determining
module 1454 may communicate with receiving module 1450 and
transmitting module 1452.
[0138] Modifications, additions, or omissions may be made to the
systems and apparatuses disclosed herein without departing from the
scope of the invention. The components of the systems and
apparatuses may be integrated or separated. Moreover, the
operations of the systems and apparatuses may be performed by more,
fewer, or other components. Additionally, operations of the systems
and apparatuses may be performed using any suitable logic
comprising software, hardware, and/or other logic. As used in this
document, "each" refers to each member of a set or each member of a
subset of a set.
[0139] A first node and a second node are sometimes described as
two nodes. An example of a first node could be a network node,
which could be a more general term and can correspond to any type
of radio network node or any network node, which communicates with
a UE and/or with another network node. Examples of network nodes
are NodeB, base station (BS), multi-standard radio (MSR) radio node
such as MSR BS, eNodeB, gNodeB. MeNB, SeNB, network controller,
radio network controller (RNC), base station controller (BSC),
relay, donor node controlling relay, base transceiver station
(BTS), access point (AP), transmission points, transmission nodes,
RRU, RRH, nodes in distributed antenna system (DAS), core network
node (e.g. MSC, MME, etc.), O&M, OSS, SON, positioning node
(e.g. E-SMLC), MDT etc.
[0140] Another example of a node could be user equipment, this is a
non-limiting term user equipment (UE) and it refers to any type of
wireless device communicating with a network node and/or with
another UE in a cellular or mobile communication system. Examples
of UE are target device, device to device (D2D) UE, machine type UE
or UE capable of machine to machine (M2M) communication, PDA, iPad,
Tablet, mobile terminals, smart phone, laptop embedded equipped
(LEE), laptop mounted equipment (LME), USB dongles etc.
[0141] In some embodiments generic terminology, "radio network
node" or simply "network node (NW node)", is used. It can be any
kind of network node which may comprise of base station, radio base
station, base transceiver station, base station controller, network
controller, evolved Node B (eNB), Node B, relay node, access point,
radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH)
etc.
[0142] In this invention, any of the above mentioned nodes could
become "the first node" and/or "the second node".
[0143] The term radio access technology, or RAT, may refer to any
RAT e.g. UTRA, E-UTRA, narrow band internet of things (NB-IoT),
WiFi, Bluetooth, next generation RAT (NR), 4G, 5G, etc. Any of the
first and the second nodes may be capable of supporting a single or
multiple RATs.
[0144] The following list provides non-limiting examples of how
certain aspects of the proposed solutions could be implemented. The
examples are merely intended to illustrate how certain aspects of
the proposed solutions could be implemented, however, the proposed
solutions could also be implemented in other suitable manners.
Examples include:
[0145] 1. A method for use in a wireless transmitter of segmenting
a transport block so that the resulting code blocks are all the
same size, the method comprising:
[0146] adjusting a transport block according to the following
formula:
TABLE-US-00010 If C = 1 TBS = A .times. T .times. B .times. S 0 A
##EQU00017## Else TBS = C .times. A .times. T .times. B .times. S 0
+ L 2 C .times. A - L 2 ##EQU00018## End if. and; determining a
code block size according to the following formula: if .times.
.times. A .times. T .times. B .times. S 0 A + L 1 .ltoreq. Z
##EQU00019## Number of code blocks: C = 1 Transport .times. .times.
block .times. .times. size .times. .times. ( TBS ) .times. :
.times. .times. TBS = A .times. T .times. B .times. S 0 A .times.
.times. ( bits ) ##EQU00020## Length of information block to LDPC
encoder = (TBS + L.sub.1) (bits) else Number of code blocks: C =
.left brkt-top.(TBS.sub.0 + L.sub.2)/(Z - L.sub.3).right brkt-bot.
Transport .times. .times. block .times. .times. size .times.
.times. ( TBS ) .times. : .times. .times. TBS .times. = C .times. A
.times. T .times. B .times. S 0 + L 2 C .times. A - L 2
##EQU00021## (bits) Code .times. .times. block .times. .times. size
.times. : .times. .times. CBS = A .times. T .times. B .times. S 0 +
L 2 C .times. A .times. .times. ( bits ) ##EQU00022## Length of
information block to LDPC encoder = (CBS + L.sub.3) (bits) end
if
[0147] 2. A method for use in a wireless transmitter of segmenting
a transport block so that the resulting code blocks are all the
same size, the method comprising:
[0148] adjusting a transport block according to the following
formula:
TABLE-US-00011 If C = 1 TBS = A .times. T .times. B .times. S 0 A
##EQU00023## Else TBS = lcm .function. ( C , A ) .times. T .times.
B .times. S 0 + L 2 lcm .function. ( C , A ) - L 2 ##EQU00024## End
if. and; determining a code block size according to the following
formula: if .times. .times. A .times. T .times. B .times. S 0 A + L
1 .ltoreq. Z ##EQU00025## Number of code blocks: C = 1 Transport
.times. .times. block .times. .times. size .times. .times. ( TBS )
.times. : .times. .times. TBS = A .times. T .times. B .times. S 0 A
.times. .times. ( bits ) ##EQU00026## Length of information block
to LDPC encoder = (TBS + L.sub.1) (bits) else Number of code
blocks: C = .left brkt-top.(TBS.sub.0 + L.sub.2)/(Z -
L.sub.3).right brkt-bot. Transport .times. .times. block .times.
.times. size .times. .times. ( TBS ) .times. : .times. .times. TBS
= lcm .function. ( C , A ) .times. T .times. B .times. S 0 + L 2
lcm .function. ( C , A ) - L 2 .times. .times. ( bits )
##EQU00027## Code .times. .times. block .times. .times. size
.times. : .times. .times. CBS = TBS + L 2 C .times. .times. ( bits
) ##EQU00028## Length of information block to LDPC encoder = (CBS +
L.sub.3) (bits) end if
[0149] 3. The method of any of embodiments 1-2, wherein A=8.
[0150] 4. The method of any of embodiments 1-2, wherein A=1.
[0151] 5. A network node comprising processing circuitry operable
to perform the method of any of embodiments 1-4.
[0152] 6. A wireless device comprising processing circuitry
operable to perform the method of any of embodiments 1-4.
[0153] 7. A computer program comprising computer-readable
instructions for causing at least one programmable processor to
perform the method of any of embodiments 1-4.
[0154] 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.
[0155] 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 spirit and
scope of this disclosure, as defined by the claims below.
[0156] Abbreviations used in the preceding description include:
[0157] 3GPP Third Generation Partnership Project
[0158] BBU Baseband Unit
[0159] BTS Base Transceiver Station
[0160] CC Component Carrier
[0161] CQI Channel Quality Information
[0162] CSI Channel State Information
[0163] D2D Device to Device
[0164] DFT Discrete Fourier Transform
[0165] eNB eNodeB
[0166] FDD Frequency Division Duplex
[0167] gNB Next-generation NodeB
[0168] LAA Licensed-Assisted Access
[0169] LBT Listen-before-talk
[0170] LTE Long Term Evolution
[0171] LTE-U LTE in Unlicensed Spectrum
[0172] M2M Machine to Machine
[0173] MIMO Multi-Input Multi-Output
[0174] MTC Machine Type Communication
[0175] NR New Radio
[0176] OFDM Orthogonal Frequency Division Multiplexing
[0177] RAN Radio Access Network
[0178] RAT Radio Access Technology
[0179] RBS Radio Base Station
[0180] RNC Radio Network Controller
[0181] RRC Radio Resource Control
[0182] RRH Remote Radio Head
[0183] RRU Remote Radio Unit
[0184] SCell Secondary Cell
[0185] TB Transport Block
[0186] TBS Transport Block Size
[0187] sTTI Short TTI
[0188] TDD Time Division Duplex
[0189] TTI Transmission Time Interval
[0190] UE User Equipment
[0191] UL Uplink
[0192] UTRAN Universal Terrestrial Radio Access Network
[0193] WAN Wireless Access Network
* * * * *