TECHNICAL FIELD OF THE INVENTION
[0001] This disclosure relates in general to wireless communication and, more particularly,
to resource allocation for multi-antenna transmissions.
[0002] In 3GPP TS 36.212 V9.1.0 (2010-03), there is described the multiplexing and channel
coding for the E-UTRA. In particular, this document specifies the coding, multiplexing
and mapping to physical channels for E-UTRA. Here, control data arrives at the coding
unit in the form of channel quality information CQI and/or PMI, HARQ-ACK and rank
indication. Different coding rates for the control information are achieved by allocating
different number of coded symbols for its transmission. When control data is transmitted
in the PUSCH, the channel coding for HARQ-ACK, rank indication and channel quality
information is done independently.
BACKGROUND OF THE INVENTION
[0003] Multi-antenna transmission techniques can significantly increase the data rates and
reliability of wireless communication systems, especially in systems where the transmitter
and the receiver are both equipped with multiple antennas to permit the use of multiple-input
multiple-output (MIMO) transmission techniques. Advanced communication standards such
as Long Term Evolution (LTE) Advanced utilize MIMO transmission techniques that may
permit data to be transmitted over multiple different spatially-multiplexed channels
simultaneously, thereby significantly increasing data throughput.
[0004] While MIMO transmission techniques can significantly increase throughput, such techniques
can greatly increase the complexity of managing radio channels. Additionally, many
advanced communication technologies, such as LTE, rely on a substantial amount of
control signaling to optimize the configuration of transmitting devices and their
use of the shared radio channel. Because of the increased amount of control signaling
in advanced communication technologies, it is often necessary for user data and control
signaling to share transmission resources. For example, in LTE systems, control signaling
and user data are, in certain situations, multiplexed by user equipment ("UE") for
transmission over a physical uplink shared channel ("PUSCH").
[0005] However, conventional solutions for allocating transmission resources are designed
for use with single layer transmission schemes in which only a single code word of
user data is transmitted at a time. As a result, such resource allocation solutions
fail to provide optimal allocation of transmission resources between control information
and user data when MIMO techniques are being utilized to transmit data on multiple
layers simultaneously.
SUMMARY OF THE INVENTION
[0006] In accordance with the present disclosure, certain disadvantages and problems associated
with wireless communication have been substantially reduced or eliminated. In particular,
certain devices and techniques for allocating transmission resources between control
information and user data are described.
[0007] In accordance with one embodiment of the present disclosure, a method for wirelessly
transmitting data using a plurality of transmission layers includes the features of
claim 1.
[0008] In accordance with one embodiment of the present disclosure, a method for receiving
user data and control code words transmitted wirelessly over a plurality of transmission
layers includes the features of claim 7.
[0009] Additional embodiments include apparatuses capable of implementing the above methods
and/or variations thereof, according to claim 12 and 13.
[0010] Important technical advantages of certain embodiments of the present invention include
reducing the overhead associated with transmitting control signaling by matching the
allocation to the quality of the channel indicated by the payloads of the data code
words. Other advantages of the present invention will be readily apparent to one skilled
in the art from the following figures, descriptions, and claims. Moreover, while specific
advantages have been enumerated above, various embodiments may include all, some,
or none of the enumerated advantages.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] For a more complete understanding of the present invention and its advantages, reference
is now made to the following description, taken in conjunction with the accompanying
drawings, in which:
FIGURE 1 is a functional block diagram illustrating a particular embodiment of a multi-antenna
transmitter;
FIGURE 2 is a functional block diagram illustrating a particular embodiment of a carrier
modulator that may be used in the transmitter of FIGURE 1;
FIGURE 3 is a structural block diagram showing the contents of a particular embodiment
of the transmitter;
FIGURE 4 is a flowchart detailing example operation of a particular embodiment of
the transmitted;
FIGURE 5 is a structural block diagram showing the contents of a Network node that
is responsible for receiving and/or scheduling transmissions of the transmitter;
FIGURE 6 is a flowchart showing example operation of a particular embodiment of the
network node of FIGURE 5 in receiving transmissions from the transmitter; and
FIGURE 7 is a flowchart showing example operation of a particular embodiment of the
network node in scheduling transmissions of the transmitter.
DETAILED DESCRIPTION OF THE INVENTION
[0012] FIGURE 1 is a functional block diagram illustrating a particular embodiment of a
multi-antenna transmitter 100. In particular, FIGURE 1 shows a transmitter 100 configured
to multiplex certain control signaling with user data for transmission over a single
radio channel. The illustrated embodiment of transmitter 100 includes a splitter 102,
a plurality of channel interleaves 104, a plurality of scramblers 106, a plurality
of symbol modulators 108, a layer mapper 110, and a carrier modulator 112. Transmitted
100 allocates transmission ressources to control signaling on multiple transmission
layers based on an estimate of the quality of the radio channel over which transmitter
100 will transmit. As described further below, particular embodiments, of transmitter
100 reduce the overhead for transmitted control information by using an estimate of
the data payloads of multiple layers and/or codewords as a measure of the channel
quality.
[0013] Control signaling can have a critical impact on the performance of wireless communication
systems. As used herein, "control signaling" and "control information" refers to any
information communicated between components for purposes of establishing communication,
any parameters to be used by one or both of the components in communicating with one
another (
e,g., parameters relating to modulation, encoding schemes, antenna configurations), any
information indicating receipt or non-receipt of transmissions, and/or any other form
of control information. For example, in LTE systems, control signaling in the uplink
direction includes, for example, Hybrid Automatic Repeat reQuest (HARQ) Acknowledgments/Negative
Acknowledgements (ACK/NAKs), precoder matrix indicators (PMIs), rank indicators (RIs),
and channel quality indicators (CQIs), which are all used by the eNodeB to get confirmation
of successful reception or transport blocks or to improve the performance of downlink
transmissions. Although control signaling is often transmitted on separate control
channels, such as the physical uplink control channel (PUCCH) in LTE, it may be beneficial
or necessary to transmit control signaling on the same channel as other data.
[0014] For example, in LTE systems, when a periodic PUCCH allocation coincides with a scheduling
grant for a user equipment (UE) to transmit user data, the user data and control signaling
share transmission resources to preserve the single-carrier property of the discrete
Fourier transform, spread orthogonal frequency-division multiplexing (
DFTS-
OFDM) transmission techniques used by LTE UEs. Furthermore, when a UE receives a scheduling
grant to transmit data on the physical uplink shared channel (PUSCH) it typically
receives information from the eNodeB related to the characteristics of the uplink
radio propagation channel and other parameters that can be used to improve the efficiency
of PUSCH transmissions. Such information may include modulation and coding scheme
(MCS) indicators as well as, for UEs capable of using multiple transmission antennas,
PMIs or RIs. As a result, UEs may be able to use this information to optimize PUSCH
transmissions for the radio channel, thereby increasing the amount of data that can
be transmitted for a given set of transmission resources. Thus, by multiplexing control
signaling with the user data transmitted on PUSCH, a UE can support significantly
larger control payloads than when transmitting control signaling by itself on PUCCH.
[0015] It may be possible to multiplex control signaling and user data by simply dedicating
a set amount of the time-domain transmission resources to control information and
then perform carrier modulation and preceding of the control signaling along with
the data. In this way control and data are multiplexed and transmitted in parallel
on all sub-carriers. For example, in LTE Release 8, DFTS-OFDM symbols are formed from
a predetermined number of information vector symbols. As used herein, a "vector symbol"
may represent any collection of information that includes an information element associated
with each transmission layer over which the information is to be transmitted. Assuming
a normal cyclic prefix length, fourteen of these DFTS-OFDM symbols can be transmitted
in each uplink subframe. A predetermined number and distribution of these symbols
are used to transmit various types of control signaling and the remaining symbols
may be used to transmit user data.
[0016] However, the amount of control signaling to be multiplexed on a data transmission
is typically much fewer than the amount of user data. Moreover, since control signaling
and user data may each be associated with different block error-rate requirements,
control signaling is often encoded separately and using a different encoding scheme
from user data. For example, user data is often encoded with turbo codes or low-density
parity-check (LDPC) codes that are highly efficient for longer block lengths (
i.e., larger blocks of information bits). Control signaling that uses only a small amount
of information bits, such as HARQ ACK/NAK signaling or rank indicators, is often most
efficiently encoded using a block code. For medium-sized control signaling, such as
larger size CQI reports, a convolutional code (possibly tail biting) often provides
the best performance. Consequently, fixed or predetermined allocations of transmission
resources to control signaling and user data can lead to inefficient use of such resources
as the optimal resource allocation will often depend on numerous factors, inducing
the channel quality, the type of control signaling, and various other considerations.
[0017] The use of multiple transmit antennas can further complicate the allocation of transmission
resources between control signaling and user data when the two types of information
are multiplexed together on a common channel. When MIMO techniques are used to simultaneously
transmit multiple data codewords in parallel, control signaling may be transmitted
on multiple different codewords and/or layers of the transmission scheme. The optimal
avocation of resources in such situations may differ from the optimal allocation under
the same circumstances when a single transmission antenna is used. Moreover, the multiple-antenna
technique used for control signaling may be different from that used for user data.
Control signaling is often encoded for maximum robustness (
e.g., with maximum transmission diversity) rather than for maximum throughput. By contrast,
user data is often combined with a retransmission mechanism that allows for more throughput-aggressive
multiple-antenna encoding techniques. Thus, if transmitter 100 has information indicating
the supported payload of user data, transmitter 100 may not be able to assume the
supported payload for control signaling is the same when determining the optimal allocation
of transmission resources for control signaling. For example, the supported peak spectral
efficiency of the encoded user data may be significantly larger than the supporter
peak spectral efficiency of the encoded control signaling.
[0018] Thus, particular embodiments of transmitter 100 determine an allocation of transmissions
resources across multiple codewords and/or transmission layers for control signaling
on a channel in which control signaling and user data are multiplexed. More specifically,
particular embodiments of transmitter 100 use the data payloads of the multiple layers
or codewords to estimate the spectral efficiency supported by the multi-layer encoding
scheme currently being used by transmitter 100 for control signaling. Based on this
estimated spectral efficiency, transmitter 100 may then determine the amount of transmission
resources (
e.
g., the number of vector symbols) to use for control signaling.
[0019] Turning to the example embodiment illustrated by FIGURE 1, transmitter 100, in operation,
generates or receives control codewords and data codewords (represented, in FIGURE
1, by control codeword 120 and data codewords 122a and 122b, respectively) for transmission
to a receiver over a radio channel. To permit multiplexing of control codewords 120
and data codewords 122 over a common channel, splitter 102 splits control codeword
120 for use by multiple channel interleavers 104. Splitter 102 may split control codeword
120 in any appropriate manner between channel interleavers 104, outputting a complete
copy or some suitable portion on each datapath. As one example, splitter 102 may split
control codeword 120 for use in the multiple datapaths by replicating control codeword
120 on both datapaths, outputting a complete copy of control codeword 120 to each
channel interleaver 104. As another example, splitter 102 may split control codeword
120 by performing serial-to-parallel conversion of control codeword 120, outputting
a unique portion of control codeword 120 to each channel interleaver 104.
[0020] Channel interleavers 104 each interleave a data codeword 122 with control codeword
120 (either a complete copy of control codeword 120, a particular portion of control
codeword 120, or a combination of both, depending on the configuration of splitter
102). Channel interleavers 104 may be configured to interleave data codewords 122
and control codeword 120 so that layer mapper 110 will map them to vector symbols
in a desired manner. The interleaved outputs of channel interleavers 104 are then
scrambled by scramblers 106 and modulated by symbol modulators 108.
[0021] The symbols output by symbol modulators 108 are mapped to transmission layers by
layer mapper 110. Layer mapper 110 outputs a series of vector symbols 124 that are
provided to carrier modulator 112. As an example, for embodiments of transmitter 100
that support LTE, each vector symbol 124 may represent an associated group of modulation
symbols that are to be transmitted simultaneously on different transmission layers.
Each modulation symbol in a particular vector symbol 124 is associated with a specific
layer over which that modulation symbol will be transmitted.
[0022] After layer mapper 110 maps the received symbols into vector symbols 124, carrier
modulator 112 modulates information from the resulting vector symbols 124 onto a plurality
of radiofrequency (RF) subcarrier signals. Depending on the communication technologies
supported by transmitter 100, carrier modulator 112 may also process the vector symbols
124 to prepare them for transmission, such as by precoding vector symbols 124. The
operation of an example embodiment of carrier modulator 112 for LTE implementations
is described in greater detail below with respect to FIGURE 2. After any appropriate
processing, carrier modulator 112 then transmits the modulated subcarriers over a
plurality of transmission antennas 114.
[0023] As explained above, proper allocation of transmission resources to control signaling
and user data may have a significant impact on the performance of Transmitter 100.
In particular embodiments, this allocation of transmissions resources is reflected
in the number of vector symbols 124 transmitter 100 uses to transmit a particular,
control codeword 120. Transmitter 100 may determine the number of vector symbols 124
to use for a particular control codeword 120 based on a measure of the quality of
the channel or some other indication to the livelihood that the receiver well erroneously
detect control codeword 120 after being transmitted over the radio channel. In particular,
certain embodiments of transmitter 100 may use the data payload of the multiple layers
or codewords that will be used to transmit control codewords 120 (or a subset of such
layers/codewords) to estimate the spectral efficiency currently supported by the multi-layer
encoding scheme to be used. In particular embodiments, transmitter 100 determines
a data payload for the multiple layers or codewords based on information included
in a scheduling grant received by transmitter. Such information may include any suitable
information from which transmitter 100 can directly or indirectly determine the data
payload to be used for the multiple layers or codewords. For example, transmitter
100 may receive a scheduling grant that includes a total resource allocation, a coding
rate, and a modulation scheme, and may determine from this information, the data payload
of the transmission layers transmitter 100 will be using for the transmission. Using
the determined payload, transmitter 100 may then determine an estimate of the spectral
efficiency for the current allocation.
[0024] Based on this estimate of the spectral efficiency, transmitter 100 may determine
the number of vector symbols 124 to use in transmitting the relevant control codewords
120. Transmitter 100 may use the data payload of the multiple layers or codewords
and/or the estimated spectral efficiency to determine the number of vector symbols
124 to allocate to control signaling (referred to herein as "control vector symbols")
in any suitable manner. As one example, transmitter 100 may determine the number of
vector symbols 124 to allocate to the transmission of control codewords 120 for a
given time period (assumed here, for purposes of illustration, to be a subframe) based,
at least in part, on the value (
Q') resulting from the following equation:

where O is the number of information bits of control codewords 120 to be transmitted
for the subframe (which may also include cyclic redundancy check (CRC) bits if CRC
is used by the relevant control codewords 120), and

is a function that, given an estimate of the number of vector symbols 124 that will
be allocated to transmitting user data codewords 122 (
Q̂data) (such vector symbols referred to herein as "user data vector symbols"), maps the
data payloads

of each of the
NCW user data codewords 122 into an estimate of the number of vector symbols 124 to be
used for each bit of the control codewords 120 to be transmitted during the subframe.
[0025] As shown by Equation 1, transmitter 100 may utilize a configurable offset

to scale or otherwise adjust the estimated number of vector symbol 124 to be used
for control signaling. (Note that in this context there is a linear ambiguity between
f(·) and

in that a constant scaling can be absorbed either by
f(·) or by

that is, the pair

is considered equivalent to the pair

where

and

Additionally, as also indicated by Equation 1, particular embodiments of transmitted
100 may use a maximum threshold (
Q'max) to limit the maximum amount of transmission resources that may be allocated to control
codewords 120 for the subframe. Furthermore, as indicated by the ┌ ┐ operator in Equation
1, particular embodiments of transmitter 100 may round, truncate, or otherwise map
the estimated (or scaled) number of control vector symbols 124 to an integer value,
such as by applying the ceiling operator to the scaled value as shown.
[0026] As another example of how transmitter 100 may perform this resource allocation, particular
embodiments of transmitter 100 may use a specific version of Equation 1 in which the
value for the data payload per data codeword 122 in the above formula for
f(·) is replaced by the number of data bits per layer. That is, transmitter 100 may
determine, for each data codewords 122 to be transmitted, the product of the data
payload for that data codeword 122 and the number of layers over which the relevant
data codeword 122 will be transmitted. Transmitter 100 may then sum these products
and use a version of
f(·) in which

is replaced by this sum.
[0027] As another example of how transmitter 100 may perform this resource allocation, transmitter
100 may estimate the number (
Q̂data) of vector symbols 124 that will be allocated to the transmission of data codewords
122 by assuming that all transmissions resources available for the relevant subframe
will be used to transmit data codewords 122. Thus, transmitted 100 may input a value
of

into
f(·), where

is the total number of subcarriers scheduled for use by transmitter 100 in the relevant
subframe, and

is the total number of vector symbols 124 scheduled for use by transmitter 100 in
transmitting both control and data in the relevant subframe. If the transmissions
in question is a retransmission of previously transmitted information, the relevant
subframe may be the subframe in which the transmission was originally transmitted
and the values

and

may relate to the transmission resources allocated to transmitter 100 during the
subframe in which the information was originally transmitted. In such embodiments,
transmitter 100 overestimates the amount of resources that will be used for transmitting
control codewords 120 as a tradeoff for simplifying the allocation determination.
[0028] As yet another example, in some embodiments, transmitter 100 may use a specific version
of
f() in which
f() is a function of the total data payload summed over all data codewords 122 to be
transmitted during the subframe. That is:

By using this version of
f(), such embodiments may provide another option for simplifying the avocation determination,
but the estimated number of vector symbols 124 may reflect the total rate that can
be achieved for the user data transmission.
[0029] As another example of how transmitter 100 may implement this resource allocation,
particular embodiments of transmitter 100 may use yet another version of
f(), in which:

where
g(·) is a function whose dependence on

is given by

For example, in particular embodiments:

This version of
f() may provide the advantage that the spectral efficiency of the control vector symbols
124 will be proportional to the spectral efficiency of user vector symbols 124. This
result may be particularly useful when control codewords 120 are encoded using a similar
level of spatial multiplexing as data codewords 122.
[0030] As still another example, particular embodiments of transmitter 100 may use a specific
version of
f(), in which;

where
fmin is a minimum value of
f(·), and
α is a tuning parameter for improved performance. This version of
f() may provide the advantage that when the peak spectral efficiency of the control multi-layer
encoding scheme is lower than that of the data encoding schemes, the spectral efficiency
on the control vector symbols 124 can be made to saturate within a supported level.
As shown by Equation (5), such embodiments may use a value (
α) to scale the estimated spectral efficiency based on relevant considerations For
example, in particular embodiments,
α is a function of the transmission rank transmitter 100 will use for the transmission-that
is,
α -
α(
r). Similarly, in particular embodiments,
α is a function of the total number of layers over which just control codewords will
be transmitted. In alternative embodiments, however,
α is set to an identify value-that is,
α = 1.
[0031] As still another example, certain embodiments of transmitter 100 make the resource
allocation determination based on a minimum payload per layer value. For example,
such embodiments may use a version of
f() such that:

where
lk is the number of layers on which codeword
k is mapped. Certain of such embodiments may use a specific version of
f() such that:

Using the minimum payload per layer to determine resource allocation provides the
benefit of increased robustness as the spectral efficiency for control signaling is
matched to the spectral efficiency of the weakest layer for user data transmission.
[0032] Furthermore, certain embodiments of transmitter 100 determine resource allocation
based only on the payloads of a subset of user data codewords 122. For example, in
particular embodiments,
f(·) is expressed as

where
S denotes a set of codeword indices and |
S| denotes the number of elements in
S, and
S(0),5 ,
S(|
S(0)|-1) is an enumeration of the elements in
S. Using only a subset of the codewords to determine resource allocation may be beneficial
when the control signaling is mapped only to a subset of the transmission layers,
corresponding to the data codewords indicated by
S.
[0033] Thus, transmitter 100 may provide improved resource allocation techniques in a variety
of different forms. Using these resource allocation techniques, certain embodiments
of transmitter 100 may be able to match the allocation of control-signaling transmission
resources to the quality of the relevant radio channel and to account for the use
or multiple codewords or layers in making the allocation. As a result, such embodiments
may reduce the amount of overhead used to transmit control signaling when the control
signaling is multiplexed with user data. Consequently, certain embodiments of transmitter
100 may provide multiple operational benefits. Specific embodiments, however, may
provide some, none, or all of these benefits.
[0034] Although the description above focuses on implementation of the described resource
allocation techniques in a transmitter, the above concepts can also be applied at
a receiver. For example, when decoding transmissions received from transmitter 100,
a receiver may utilize certain aspects of the described techniques to estimate the
amount of transmission resources that have been allocated to control signaling. Furthermore,
the described concepts may be applied for purposed of scheduling use of transmission
resources in wireless communication systems that utilize centralized resource management.
For example, an eNode B may utilize certain aspects of the described techniques to
estimate the amount of transmission resources a UE that incorporates transmitter 100
will allocate to control signaling for a given period of time or for a given amount
of transmitted data. Based on this estimate, the eNode B may determine an appropriate
number of transmission resources to schedule for use by the relevant UE. FIGURES 5-7
describe in greater detail the contents and operation of example devices capable of
performing such receiving and/or scheduling. Additionally, although the description
herein focuses on implementation of the described resource allocation techniques in
wireless communication networks supporting LTE, the described resource allocation
techniques may be utilized in conjunction with any appropriate communication technologies
including, but not limited to LTE, High-Speed Packet Access plus (HSPA+), and Worldwide
Interoperability for Microwave Access (WiMAX).
[0035] FIGURE 2 is a functional block diagram showing in greater detail the operation of
a particular embodiment of carrier modulator 112. In particular, FIGURE 2 illustrates
an embodiment of carrier modulator 112 that might be used by an embodiment of transmitter
100 that utilises DFTS-OFDM as required for uplink transmissions in LTE. Alternative
embodiments may be configured to support any other appropriate type of carrier modulation.
The illustrated embodiment of carrier modulator 112 includes a DFT 202, a precoder
204, an inverse DFT (IDFT) 206, and a plurality of power amplifiers (PAs) 208.
[0036] Carrier modulator 112 receives vector symbols 124 output by layer mapper 110. As
received by carrier modulator 112, vector symbols 124 represent time domain quantities.
DFT 202 maps vector symbols 124 to the frequency domain. The frequency-domain version
of vector symbols 124 are then linearly preceded by precoder 204 using a precoding
matrix,
W, that is (
NT ×
r) in size, where
NT represents the number of transmission antennas 114 to be used by transmitter 100
and
r represents the number of transmissions layers that will be used by transmitter 100.
This precoder matrix combines and maps the
r information streams onto
Nr precoded streams. Precoder 204 then generates a set of frequency-domain transmission
vectors by mapping these precoded frequency-domain symbols onto a set of sub-carriers
that have been allocated to the transmission.
[0037] The frequency-domain transmission vectors are then converted back to the time domain
by IDFT 206. In particular embodiments, IDFT 206 also applies a cyclic prefix (CP)
to the resulting time-domain transmission vectors. The time-domain transmission vectors
are then amplified by power amplifiers 208 and output from carrier modulator 112 to
antennas 114, which are used by transmitter 100 to transmit the time-domain transmission
vectors over a radio channel to a receiver.
[0038] FIGURE 3 is a structural block diagram showing in greater detail the contents of
a particular embodiment of transmitter 100. Transmitter 100 may represent any suitable
device capable of implementing the described resource allocation techniques in wireless
communication. For example, in particular embodiments, transmitter 100 represents
a wireless terminal, such as an LTE user equipment (UE). As shown in FIGURE 3, the
illustrated embodiment of transmitter 100 includes a processor 310, a memory 320,
a transceiver 330, and a plurality of antennas 114.
[0039] Processor 310 may represent or include any form of processing component, including
dedicated microprocessors, general-purpose computers, or other devices capable of
processing electronic information. Examples of processor 310 include field-programmable
gate arrays (FPGAs), programmable microprocessors, digital signal processors (DSPs),
application-specific integrated circuits (ASICs), and any other suitable specific-
or general-purpose processors. Although FIGURE 3 illustrates, for the sake of simplicity,
an embodiment of transmitter 100 that includes a single processor 310, transmitter
100 may include any number of processors 310 configured to intemperate in any appropriate
manner. In particular embodiments, some or all of the functionality described above
with respect to FIGURES 1 and 2 may be implemented by processor 310 executing instructions
and/or operating in accordance with its hardwired logic.
[0040] Memory 320 stores processor instructions, equation parameters, resource allocations,
and/or any other data utilized by transmitter 320 during operation. Memory 320 may
comprise any collection and arrangement of volatile or nonvolatile, local or remote
devices suitable for storing data, such as random access memory (RAM), read only memory
(ROM), magnetic storage, optical storage, or any other suitable type of data storage
components. Although shown as a single element in FIGURE 3, memory 320 may include
one or more physical components local to or remote from transmitter 100.
[0041] Transceiver 330 transmits and receives RF signals over antennas 340a-d. Transceiver
330 may represent any suitable form of RF transceiver. Although, the example embodiment
in FIGURE 3 includes a certain number of antennas 340, alternative embodiments of
transmitter 100 may include any appropriate number of antennas 340. Additionally,
in particular embodiments, transceiver 330 may represent, in whole or in part, a portion
of processor 310.
[0042] FIGURE 4 is a flowchart detailing example operation of a particular embodiment of
transmitter 100. In particular, FIGURE 4 illustrates operation of an embodiment of
transmitter 100 in allocating transmission resources to the transmissions of control
codewords 120. The steps illustrated in FIGURE 4 may be combined, modified, or deleted
where appropriate. Additional steps may also be added to the example operation. Furthermore,
the described steps may be performed in any suitable order.
[0043] Operation begins at step 402 with transmitter 100 estimating a number (
Q̂data) of vector symbols 124 to be allocated to the transmission of user data codewords
122 during a subframe. As discussed above, transmitter 100 may estimate the number
of vector symbols 124 to be allocated to user data codewords 122 in any suitable manner
including, but not limited to, using any of the formulations of
Q̂data discussed above.
[0044] In some embodiments, transmitter 100 may estimate the number of vector symbols 124
to be allocated to user data codewords 122 by assuming that all of the transmission
resources scheduled for use by transmitter 100 (
e.g., based on a scheduling grant received by transmitter 100) during the relevant subframe
will be used to transmit user data codewords 122. Thus, as part of step 404, transmitter
100 may multiply a total number of subcarriers allocated to transmitter 100 (
e.g.,

in certain LTE embodiments) scheduled for use by transmitter 100 in the relevant
subframe, and a total number of vector symbols allocated to transmitter 100 (
e.g., 
) to determine the total capacity allocated to transmitter 100 for the relevant subframe.
If the transmission in question is a retransmission of previously transmitted information,
the relevant values may relate to the total transmission resources allocated to transmitter
100 during the subframe in which the information was originally transmitted. Transmitter
100 may then use the resulting product as an estimate of the number of vector symbols
124 to be allocated to user data codewords 122, as to match the number of bits in
the data codewords, which were generally scheduled with the original number of allocated
vector symbols in mind.
[0045] At step 406, transmitter 100 determines a number of bits in a plurality of the user
data codewords 122 to be transmitted during the subframe. In particular embodiments,
user data codewords 122 may include CRC bits, and transmitter 100 may consider these
CRC bits when counting the bits in the relevant user data codewords 122. Additionally,
in particular embodiments, the plurality of user data codewords counted by transmitter
100 may represent all of the user data codewords 122 to be transmitted during the
subframe. In alternative embodiments, however, this plurality of user data codewords
122 represent only a subset of the total number of user data codewords 122 to be transmitted
during the subframe,
e.g., as indicated by Equation (8) above. For example, in certain embodiments, transmitter
100 may determine the number of bits in step 406 based only on the user data codewords
122 to be transmitted on certain transmission layers. Thus, in such embodiments, transmitter
100 may, as part of step 406, identify the transmission layers over which transmitter
100 will transmit control codewords 120 during the subframe and then determine the
total number of bits in only those user data codewords 122 that are to be transmitter
over the identified transmission layers.
[0046] Transmitter 100 then calculates a number of vector symbols 124 to allocate to control
signaling based at least in part on the estimated number of vector symbols 124 and
the determine number of bits. As noted above, transmitter 100 may consider other appropriate
values as well in marine this calculation, such as the number of transmissions layers
to be used (
e.g., as shown by Equation (6) and (7) above).
[0047] An example of how particular embodiments of transmitter 100 may perform this calculation
is shown at steps 408-412 in FIGURE 4. Specifically, in this example embodiment, transmitter
100, at step 408, determines a nominal number of vector symboles 124 to allocate to
control information based, at least in part, on the estimated number of vector symbols
allocated to user data codewords 122 and the determined number of bits in the control
codewords 120 to be transmitted, In particular embodiments, transmitter 100 may also
multiply this nominal number by an offset value (
e.g.,

in LTE embodiments) as part of calculating a final, number of vector symbols 124
to allocate to control signaling, as shown at step 410. In particular embodiment,
transmitter 100 may also compare the nominal number of control vector symboles (or
the normal number as scared by any offset vague) to a minimum number of control vector
symbols 124 that transmitter 100 is configured to use in transmitting control codewords
120 at step 412. This minimum number of control vector symbol 124 may be a generic
minimum threshold applied to all control codeword 120 transmission or may be a minimum
determined by transmitter 100 for this specific transmission (for example, based on
the pay load of the control codewords 120 to be transmitted). Transmitter 100 may
additionally perform any appropriate post-processing to the number of vector symbols,
such as converting the number to an integer value (
e.g., applying a coiling operation) or reducing the nominal value to satisfy a maximum
permitted allocation for control signaling, as shown in step 414. Transmitter 100
may then use the output of these steps (and of any additional post-processing) as
the final number of vector symbols 124 to allocate to control signaling. Alternatively
or additionally, transmitter 100 may process any of the inputs used to determine the
allocation (
e.g., an estimated spectral efficiency for user data) to resulting a number calculated
for control vector symbols is of an appropriate form (
e.g., integer value) or within a particular range.
[0048] After determining the final number of vector symbols 124 to allocate to control signaling,
transmitter 100 then maps control codewords 120 available for transmission to the
calculated number of vector symbols 124 at step 416. Transmitted 100 may perform any
appropriate processing of the control vector symbols 124 to permit transmission of
the control vector symbols 124 to a receiver is communication with transmitted 100
including, for example, the processing described above with respect to FIGURE 2. After
completing any appropriate processing of vector symbols 124, transmitter 100 then
transmits control vector symbols 124 over a plurality of transmission layers using
the plurality of antennas 114 at step 418. Operation of transmitter 100 with respect
to transmitting these particular control codewords 120 may then end as shown in FIGURE
4.
[0049] FIGURE 5 is a structural block diagram showing the contents of a network node 500
that may serve as a receiver for control codewords 120 transmitted by transmitter
100 and/or that may serve as a scheduler for scheduling transmission or control codewords
120 by transmitter 100. As noted above, the described resource allocation techniques
may also be utilized by devices in decoding transmissions received from transmitter
100 or in determining the appropriate amount of transmission resources to schedule
for use by transmitter 100 in a given subframe. For example, in particular embodiments,
transmitter 100 may represent a wireless terminal (such as an LTE UE) and network
node 500 may represent an element of a radio access network that receives uplink transmission
from the wireless terminal or that is responsibly for scheduling the wireless terminal's
use of transmission resources (such as an LTE eNodeB).
[0050] As shown in FIGURE 5, the illustrated embodiment of network node 500 includes a processor
510, a memory 520, a transceiver 530, and a plurality of antennas 540a-d, Professor
510, memory 520, transceiver 530, and antennas 540 may represent identical or analogous
elements to the similarly-named elements of FIGURE 3. In particular embodiments of
network node 500, some or all of the functionality of network node 500 described bellow
with respect to FIGURES 6 and 7 may be implemented by processor 510 executing instructions
and/or operating in accordance with its hardwired logic.
[0051] FIGURE 6 is a flowchart detailing example operation of a particular embodiment of
network node 500. In particular, FIGURE 6 illustrates operation of an embodiment of
network node 500 in receiving and decoding control codewords 120 received from transmitter
100. The steps illustrated in FIGURE 6 may be combined, modified, or deleted where
appropriate. Additional steps may also be added to the example operation. Furthermore,
the described steps may be performed in any suitable order.
[0052] Operation of network node 500 begins at step 602 with network node 500 receiving
a plurality of vector symbols 124 from transmitter 100. For purposes of decoding the
vector symbols 124, network node 500 may need to determine the manner in which transmitter
100 allocated these vector symbols 124 between control signaling and user data. As
a result, network node 500 may determine the number of the received vector symboles
124 that transmitter 100 used to transmit control codewords 120.
[0053] To properly decode the received vector symbols 124, network node 500 may need to
fellow the same or an analogous procedure to what transmitter 100 used to determines
the resource allocation on the transmitting side. Thus, depending on the configuration
of the relevant transmitter 100, network node 500 may be configured to determine the
number of vector symbols 124 allocated to control codewords 120 (referred to herein
as "control vector symbols,") using any of the techniques describes above. An example
of this process for the example embodiment is shown at steps 604-616 of FIGURES 6.
In particular, FIGURES 6 describe Operation of an embodiments of network node 500
that communicates with the transmitter 100 described by FIGURES 1-3- Thus, network
node 500 performs steps 604-616 in a similar or analogous fashion to that described
above for the similarly-captioned steps in FIGURE 4.
[0054] After Network node 500 has determined the finial number of vector symbols 124 that
transmitter 100 allocated to control codewords. 120, network node 500 decodes the
received vector symbole 124 based on this number at step 618. For example, network
node 500 may use this information to determine which of the received vector symbols
124 are carrying control codewords 120 and which are carrying user data codewords
122. If transmitter 100 has encoded control signaling and user data using different
encoding schemes, network node 500 may then apply a different decoding scheme to the
two types of vector symbols 124. Operation of network node 500 with respect to decoding
the received symbols vectors may then terminate as shown in FIGURE 6.
[0055] FIGURE 7 is a flowchart detailing example operation of a particular embodiment of
Network node 500 responsible for schduling the use of transmission resources by transmitter
100. The steps illustrated in FIGURE 7 may be combined, modifies, or dieted where
appropriate. Additional steps may also be added to the example operation, Furthermore,
the described steps may be performed in any suitable order.
[0056] In FIGURE 7. operation of network node 500 begins at step 702 with network node 500
receiving a request for transmission resources from transmitter 100. This request
may represent any appropriate information indicating network node 500 has information,
including one or both of control signaling, avid user data, to transmit in a geographic
area served by Network node 500. In particular embodiments, Network node 500 may represent
an LTE eNodeB and this request, may represent a scheduling request transmitted by
transmitter 100 on PUCCH. Additionally, Network node 500 may possess information regarding
transmissions transmitter 100 is expected to make during the relevant subframe. For
example, in the relevant subframe, transmitter may expect a HARQ ACK/NACK transmission
from Transmitter 100 responding to a previous transmission from network node 500.
Alternatively or additionally, in particular embodiments, the scheduling request received
by Network node 500 may indicate the amount and/or type of information transmitter
100 is intending, to transmit.
[0057] In response to receiving the request, network node 500 may determine an allocation
of transmission resources to grant to transmitter 100 for use in transmitting the
requested transmission. To determine this avocation, network node 500 may determine
the mount of control information and user data network node 500 expects transmitter
100 to transmit in conjunction with the request. Network node 500 may determine these
amounts based on information included in the request itself, information maintained
locally by network node 500 itself (
e.g., information on expected control information transmissions), and/or information
received from any other suitably source.
[0058] Furthermore, in particular embodiments, network node 500 determines this overall
allocation based on the assumption that transmitted 100 will determine an allocation
for control vector symbols, for the requested transmission based on the techniques
described above. Thus, network node 500 may also use the techniques above to grant
an appropriate amount of transmission resource to transmitter 100 for the requested
transmission. Because the above techniques may involve transmitter 100 determining,
an allocation of control vector symbols that depends in part on the allocation of
user data vector network, node 500 may likewise estimate the control allocation based
on an estimate allocation for use data. This may result in network node 500 determining
a total allocation for transmitter 100 comprised of a user data allocation and a control
information allocation, which itself depends on the user data allocation. Thus, in
particular embodiments, network node 500 may determine the total allocation recursively.
An example, of this is shown by step 704of FIGURE 7.
[0059] At step 704, Network node determines a transmission rank, a total number of vector
symbols to be used by transmitter 100 for the requested transmission, and a number
of bits of user data to be carried by each of a plurality of data codewords to be
transmitted as part of the requested transmissions. In particular embodiments, the
determination of the transmission rank, the total number of vector symbols, and the
number of bits carried by each data codeword accounts for an estimated number of control
vector symbols that will result, from this determination. Thus, as part of step 704,
network node 500 may determine the estimated number of control vector symboles by
estimating the number of user data vector symbols to be used in transmitting the user
data codewords, estimating the number of bits in the control codewords 120 to be transmitter,
and calculating the number of control vector symbols based on the estimated number
of user data vector symbols, the estimated number of bits in control codewords 120,
and the number of bits of user data to be carried by each of the user data codewords.
[0060] Depending on the configuration of transmitter 100, network node 500 may process the
estimated number of control vector symbols in an appropriate manner as described above
before using the value to make the determination of step 704. For example, network
node 500 may calculate a nominal number of control vector symbols based on the estimated
number of data vector symbols, the estimated number of bits of control codewords 120,
and the number of bits of user data to be carried by each of the user data codewords.
Network node 500 may then scale this nominal number by an offset, increase the nominal
number to meet a minimum number, apply a ceiling operation to the nominal, and/or
perform any other appropriate processing ot the nominal number to calculate the final
estimated number of control vector symbols.
[0061] Network node 500 then uses this determination in responding to the request sent by
transmitter 100. In particular embodiments, if network node 500 decides to grant the
request, network node 500 may communicate aspects of the determined allocation to
transmitter 100. Therefore, in particular embodiments, network node 500 may respond
to the request by generating a particular response (
e.g., a scheduling grant) to the request based on the determined allocation and transmitting
the response to transmitter 100, as shown by steps 706-708 of FIGURE 7. For example,
in certain LTE embodiment, network node 500 may generates a scheduling grant that
includes information indicating the determined transmission rank, the determined total
number of vector symbols, and the number of bits to be used for each data codeword
and send this scheduling grant to transmitter 100. Alternatively or additionally,
network node 500 may use the determines allocation in deciding whether to grant the
request or in deciding how to prioritize the request. Operation of network node 500
with respect to scheduling transmitter 100 for this subframe may then terminate as
shown in FIGURE 7.
[0062] Although the present invention has been described with several embodiments, a myriad
of changes, variations, alterations, transformations, and modifications may be suggested
to one skilled in the art, and it is intended that the present invention encompass
such changes, variations, alterations, transformations, and modifications as fall
within the scope of the appended claims.
1. A method for wirelessly transmitting user data and control information using multiple
transmission layers in a MIMO transmission scheme, comprising:
receiving control codewords (120) and user data codewords (122A, 122B) for transmission
over a MIMO channel;
scrambling the control codewords (120) and the user data codewords (122A, 122B) by
scramblers (106A, 106B) thereby producing scrambled outputs; modulating the scrambled
outputs by symbol modulators (108A, 108B) thereby producing modulated outputs; mapping
the modulated outputs to transmission layers of the MIMO transmission scheme for output
of a series of vector symbols (124) to a carrier modulator (112), wherein each vector
symbol (124) represents an associated group of modulation symbols that are transmitted
simultaneously on different transmission layers and each transmission symbol in a
vector symbol (124) is associated with a transmission layer over which the modulation
symbol (124) will be transmitted; comprising estimating a number of vector symbols
(124) to be allocated to transmission of a plurality of user data codewords (122)
during a sub-frame;
determining a number of bits in the plurality of user data codewords (122) to be transmitted
during the sub-frame;
calculating a number of control vector symbols (124) to be allocated to control information
based at least in part on the estimated number of vector symbols (124) and the determined
number of bits;
mapping one or more control codewords (120) to the calculated number of control vector
symbols (124), wherein the one or more control codewords (120) comprise encoded control
information; and
transmitting vector symbols (124) carrying the plurality of user data codewords (122)
and the control codewords (120) over the multiple transmission layers during the sub-frame.
2. The method of Claim 1, wherein determining the number of bits in the plurality of
user data codewords (122) comprises:
identifying transmission layers over which the control codewords (120) will be transmitted
during the sub-frame; and
calculating a total number of bits in a subset of the user data codewords (122) that
will be transmitted over the identified transmission layers.
3. The method of Claim 1, wherein estimating the number of vector symbols (124) to be
allocated to the plurality of user data codewords (122) comprises:
multiplying a total number of subcarriers allocated to the wireless terminal (100)
for transmitting data and control during the sub-frame by a total number of vector
symbols (124) allocated to the wireless terminal (100) for transmitting data and control
during the sub-frame to determine a total amount of transmission resources granted
to the wireless terminal (100) in the corresponding sub-frame; and
estimating the number of vector symbols (124) to be allocated to the plurality of
user data codewords (122) based on the total amount of transmission resources granted
to the wireless terminal (100) in the corresponding sub-frame.
4. The method of Claim 1, wherein calculating the number of control vector symbols (124)
to allocate to control information comprises:
determining a number of transmission layers over which the plurality of user data
codewords (122) will be transmitted; and
calculating the number of control vector symbols (124) to allocate to control information
based, at least in part, on the estimated number of vector symbols (124), the determined
number of bits, and the determined number of transmission layers.
5. The method of Claim 1, wherein calculating the number of control vector symbols (124)
to allocate to control information comprises:
determining a nominal number of control vector symbols (124) to allocate to control
information based, at least in part, on the estimated number of vector symbols (124)
and the determined number of bits; and
determining a final number of control vector symbols (124) by multiplying the nominal
number of control vector symbols (124) and an offset value; wherein
mapping one or more control codewords (120) to the calculated number of control vector
symbols (124) comprises mapping the one or more control codewords (120) to the final
number of control vector symbols (124).
6. The method of Claim 1, wherein calculating a number of control vector symbols (124)
to allocate to control information comprises:
determining, for each of the plurality of user data codewords (122), a payload-per-layer
value by dividing a number of bits in that user data code word (122) by a number of
layers over which that user data code word (122) will be transmitted; and
selecting a lowest of the payload-per-layer values for the plurality of user data
codewords (122); and
determining a number of control vector symbols (124) to allocate to control information
based on the estimated number of vector symbols (124) and the lowest of the payload-per-layer
values for the plurality of user data codewords (122).
7. A method for receiving user data and control information transmitted wirelessly over
multiple transmission layers in a MIMO transmission scheme using a method for wirelessly
transmitting user data and control information according to one of the claims 1 to
6, comprising:
receiving a plurality of vector symbols (124) over multiple transmission layers, wherein
the vector symbols (124) carry a plurality of user data codewords (122) and control
codewords (120);
estimating a number of vector symbols (124) that have been allocated to the plurality
of user data codewords (120);
determining a number of bits in the plurality of user data codewords (120) carried
by the vector symbols (124);
calculating a number of control vector symbols (124) that have been allocated to control
information based at least in part on the estimated number of vector symbols (124)
and the determined number of bits;
decoding the received vector symbols (124) based on the calculated number of control
vector symbols (124).
8. The method of Claim 7, wherein determining the number of bits in plurality of user
data codewords (122) comprises:
identifying the transmission layers over which the control codewords (120) were received;
and
calculating the total number of bits in a subset of the plurality of user data codewords
(122) that were received over the identified transmission layers.
9. The method of Claim 7, wherein calculating the number of control vector symbols (124)
that have been allocated to control information comprises:
determining a number of transmission layers over which the plurality of user data
codewords (122) have been received; and
calculating the number of control vector symbols (124) that have been allocated to
control information based, at least in part, on the estimated number of vector symbols
(124), the determined number of bits, and the determined number of transmission layers.
10. The method of Claim 7, wherein calculating the number of control vector symbols (124)
that have been allocated to control information comprises:
determining a nominal number of control vector symbols (124) based, at least in part,
on the estimated number of vector symbols (124) and the determined number of bits;
and
determining a final number of control vector symbols (124) that have been allocated
to control information by multiplying the nominal number of control vector symbols
(124) and an offset value; wherein
decoding the received vector symbols (124) based on the calculated number of control
vector symbols (124) comprises decoding control information carried by a number of
control vector symbols (124) equal to the final number.
11. The method of Claim 7, wherein calculating a number of control vector symbols (124)
that have been allocated to control information comprises:
determining, for each of the plurality of user data codewords (122), a payload-per-layer
value by dividing a number of bits in that user data code word (122) by a number of
layers over which that user data code word (122) was received;
selecting a lowest of the payload-per-layer values for the plurality of user data
codewords (122); and
determining a number of control vector symbols (124) that have been allocated to control
information based on the estimated number of vector symbols (124) and the lowest of
the payload-per-layer values for the plurality of user data codewords (122).
12. An apparatus for (100) wirelessly transmitting user data and control information using
a plurality of transmission layers in a MIMO transmission scheme, the apparatus comprising:
a plurality of antennas (114);
a transmitter operable (330) to transmit vector symbols (124) over the plurality of
transmission layers using the plurality of antennas (114); and
a processor (310) operable to execute the method according to claim 1.
13. A node (500) for receiving user data and control information transmitted wirelessly
over a plurality of transmission layers in a MIMO transmission scheme, the node comprising:
a plurality of antennas (540);
a receiver (530) operable to transmit vector symbols (124) over the plurality of transmission
layers using the plurality of antennas (540); and
a processor (510) operable to execute a method according to claim 7.
1. Verfahren zum drahtlosen Übertragen von Benutzerdaten und Steuerinformation unter
Verwendung von einer Vielzahl von Übertragungsschichten in einem MIMO-Übertragungsschema,
umfassend:
Empfangen von Steuercodewörtern (120) und Codewörtern der Benutzerdaten (122A, 122B)
zur Übertragung über einen MIMO-Kanal;
Verschlüsseln der Steuercodewörter (120) und der Codewörter der Benutzerdaten (122A,
122B) durch Scrambler (106A, 106B), wodurch verschlüsselte Ausgaben erzeugt werden;
Modulieren der verschlüsselten Ausgaben durch Symbolmodulatoren (108A, 108B), wodurch
modulierte Ausgaben erzeugt werden;
Abbilden der modulierten Ausgaben auf Übertragungsschichten des MIMO-Übertragungsschemas
zur Ausgabe einer Reihe von Vektorsymbolen (124) an einen Trägermodulator (112), wobei
jedes Vektorsymbol (124) eine zugehörige Gruppe von Modulationssymbolen darstellt,
die gleichzeitig auf verschiedenen Übertragungsschichten übertragen werden, und wobei
jedes Übertragungssymbol in einem Vektorsymbol (124) einer Übertragungsschicht zugehörig
ist, über die das Modulationssymbol (124) übertragen wird;
umfassend
Schätzen einer Anzahl von Vektorsymbolen (124), die der Übertragung einer Vielzahl
von Codewörtern der Benutzerdaten (122) während eines Unterrahmens zugeordnet werden
sollen;
Bestimmen einer Anzahl von Bits in der Vielzahl von Codewörtern der Benutzerdaten
(122), die während des Unterrahmens übertragen werden sollen;
Berechnen einer Anzahl von Steuervektorsymbolen (124), die der Steuerinformation zugeordnet
werden sollen, zumindest teilweise auf der Grundlage von der geschätzten Anzahl von
Vektorsymbolen (124) und der bestimmten Anzahl von Bits;
Abbilden eines oder mehrerer Steuercodewörter (120) auf die berechnete Anzahl von
Steuervektorsymbolen (124), wobei das eine oder die mehreren Steuercodewörter (120)
codierte Steuerinformation umfassen; und
Übertragen von Vektorsymbolen (124), die die Vielzahl von Codewörtern der Benutzerdaten
(122) und die Steuercodewörter (120) tragen, über die Vielzahl von Übertragungsschichten
während des Unterrahmens.
2. Verfahren nach Anspruch 1, wobei das Bestimmen der Anzahl von Bits in der Vielzahl
von Codewörtern der Benutzerdaten (122) umfasst:
Identifizieren von Übertragungsschichten, über die die Steuercodewörter (120) während
des Unterrahmens übertragen werden; und
Berechnen einer Gesamtzahl von Bits in einer Untermenge der Codewörter der Benutzerdaten
(122), die über die identifizierten Übertragungsschichten übertragen werden.
3. Verfahren nach Anspruch 1, wobei das Schätzen der Anzahl der Vektorsymbole (124),
die der Vielzahl von Codewörtern der Benutzerdaten (122) zugeordnet werden sollen,
umfasst:
Multiplizieren einer Gesamtzahl von Unterträgern, die dem drahtlosen Endgerät (100)
zugeordnet sind, zum Übertragen von Daten und Steuern während des Unterrahmens durch
eine Gesamtzahl von Vektorsymbolen (124), die dem drahtlosen Endgerät (100) zugeordnet
sind, zum Übertragen von Daten und Steuern während des Unterrahmens, um eine Gesamtmenge
an Übertragungsressourcen zu bestimmen, die dem drahtlosen Endgerät (100) in dem entsprechenden
Unterrahmen zugewiesen sind; und
Schätzen der Anzahl von Vektorsymbolen (124), die der Vielzahl von Codewörtern der
Benutzerdaten (122) zugeordnet werden sollen, auf Grundlage von der Gesamtmenge der
Übertragungsressourcen, die dem drahtlosen Endgerät (100) in dem entsprechenden Unterrahmen
zugewiesen sind.
4. Verfahren nach Anspruch 1, wobei das Berechnen der Anzahl von Steuervektorsymbolen
(124), die der Steuerinformation zugeordnet werden sollen, umfasst:
Bestimmen einer Anzahl von Übertragungsschichten, über die die Vielzahl von Codewörtern
der Benutzerdaten (122) übertragen wird; und
Berechnen der Anzahl von Steuervektorsymbolen (124), die der Steuerinformation zugeordnet
werden sollen, auf Grundlage von zumindest teilweise einer geschätzten Anzahl von
Vektorsymbolen (124), der bestimmten Anzahl von Bits und der bestimmten Anzahl von
Übertragungsschichten.
5. Verfahren nach Anspruch 1, wobei das Berechnen der Anzahl von Steuervektorsymbolen
(124), die der Steuerinformation zugeordnet werden sollen, umfasst:
Bestimmen einer nominellen Anzahl von Steuervektorsymbolen (124), die der Steuerinformation
zugeordnet werden sollen, auf Grundlage von zumindest teilweise der geschätzten Anzahl
von Vektorsymbolen (124) und der bestimmten Anzahl von Bits; und
Bestimmen einer endgültigen Anzahl von Steuervektorsymbolen (124) durch Multiplizieren
der nominalen Anzahl von Steuervektorsymbolen (124) und eines Versatzwertes; wobei
das Abbilden eines oder mehrerer Steuercodewörter (120) auf die berechnete Anzahl
von Steuervektorsymbolen (124) das Abbilden des einen oder der mehreren Steuercodewörter
(120) auf die endgültige Anzahl von Steuervektorsymbolen (124) umfasst.
6. Verfahren nach Anspruch 1, wobei das Berechnen einer Anzahl von Steuervektorsymbolen
(124), die Steuerinformation zugeordnet werden sollen, umfasst:
Bestimmen, für jedes der Vielzahl von Codewörtern der Benutzerdaten (122), eines Werts
der Nutzlast pro Schicht durch Teilen einer Anzahl von Bits in dieses Codewort der
Benutzerdaten (122) durch eine Anzahl von Schichten, über die das Codewort der Benutzerdaten
(122) übertragen werden wird; und
Auswählen eines niedrigsten der Werte der Nutzlast pro Schicht für die Vielzahl von
Codewörtern der Benutzerdaten (122); und
Bestimmen einer Anzahl von Steuervektorsymbolen (124), um Steuerinformation auf Grundlage
von der geschätzten Anzahl von Vektorsymbolen (124) und dem niedrigsten der Werte
der Nutzlast pro Schicht für die Vielzahl von Codewörtern der Benutzerdaten (122)
zuzuordnen.
7. Verfahren zum Empfangen von Benutzerdaten und Steuerinformation, die drahtlos über
mehrfache Übertragungsschichten in einem MIMO-Übertragungsschema unter Verwendung
eines Verfahrens zur drahtlosen Übertragung von Benutzerdaten und Steuerinformation
nach einem der Ansprüche 1 bis 6 übertragen werden, umfassend:
Empfangen einer Vielzahl von Vektorsymbolen (124) über eine Vielzahl von Übertragungsschichten,
wobei die Vektorsymbole (124) eine Vielzahl von Codewörtern der Benutzerdaten (122)
und Steuercodewörtern (120) tragen;
Schätzen einer Anzahl von Vektorsymbolen (124), die der Vielzahl von Codewörtern der
Benutzerdaten (120) zugeordnet worden sind;
Bestimmen einer Anzahl von Bits in der Vielzahl von Codewörtern der Benutzerdaten
(120), die von den Vektorsymbolen (124) getragen werden;
Berechnen einer Anzahl von Steuervektorsymbolen (124), die der Steuerinformation zugeordnet
worden sind, auf Grundlage von zumindest teilweise der geschätzten Anzahl von Vektorsymbolen
(124) und der bestimmten Anzahl von Bits;
Decodieren der empfangenen Vektorsymbole (124) auf Grundlage von der berechneten Anzahl
von Steuervektorsymbolen (124).
8. Verfahren nach Anspruch 7, wobei das Bestimmen der Anzahl der Bits in einer Vielzahl
der Codewörter der Benutzerdaten (122) umfasst:
Identifizieren der Übertragungsschichten, über die Steuercodewörter (120) empfangen
wurden; und
Berechnen der Gesamtzahl der Bits in einer Untermenge der Vielzahl der Codewörter
der Benutzerdaten (122), die über die identifizierten Übertragungsschichten empfangen
wurden.
9. Verfahren nach Anspruch 7, wobei das Berechnen der Anzahl von Steuervektorsymbolen
(124), die der Steuerinformation zugeordnet wurden, umfasst:
Bestimmen einer Anzahl von Übertragungsschichten, über die die Codewörter von Benutzerdaten
(122) empfangen wurden; und
Berechnen der Anzahl von Steuervektorsymbolen (124), die der Steuerinformation zugeordnet
wurden, auf Grundlage von zumindest teilweise der geschätzten Anzahl von Vektorsymbolen
(124), der bestimmten Anzahl von Bits und der bestimmten Anzahl von Übertragungsschichten.
10. Verfahren nach Anspruch 7, wobei das Berechnen der Anzahl von Steuervektorsymbolen
(124), die der Steuerinformation zugeordnet worden sind, umfasst:
Bestimmen einer nominellen Anzahl von Steuervektorsymbolen (124) auf Grundlage von
zumindest teilweise der geschätzten Anzahl von Vektorsymbolen (124) und der bestimmten
Anzahl von Bits; und
Bestimmen einer endgültigen Anzahl von Steuervektorsymbolen (124), die der Steuerinformation
zugeordnet wurden, durch Multiplizieren der nominalen Anzahl von Steuervektorsymbolen
(124) und eines Versatzwertes; wobei
das Decodieren der empfangenen Vektorsymbole (124) auf der Grundlage von der berechneten
Anzahl von Steuervektorsymbolen (124) das Decodieren von Steuerinformation umfasst,
die von einer Anzahl von Steuervektorsymbolen (124), die gleich der endgültigen Anzahl
ist, getragen wird.
11. Verfahren nach Anspruch 7, wobei das Berechnen einer Anzahl von Steuervektorsymbolen
(124), die der Steuerinformation zugeordnet worden sind, umfasst:
Bestimmen, für jedes der Vielzahl von Codewörtern der Benutzerdaten (122), eines Werts
der Nutzlast pro Schicht durch Teilen einer Anzahl von Bits in dieses Codewort der
Benutzerdaten (122) durch eine Anzahl von Schichten, über die das Codewort der Benutzerdaten
(122) empfangen wurde;
Auswählen eines niedrigsten der Werte der Nutzlast pro Schicht für die Vielzahl von
Codewörtern der Benutzerdaten (122); und
Bestimmen einer Anzahl von Steuervektorsymbolen (124), die der Steuerinformation zugeordnet
worden sind, auf Grundlage von der geschätzten Anzahl von Vektorsymbolen (124) und
dem niedrigsten der Werte der Nutzlast pro Schicht für die Vielzahl von Codewörtern
der Benutzerdaten (122).
12. Vorrichtung (100) zum drahtlosen Übertragen von Benutzerdaten und Steuerinformation
unter Verwendung einer Vielzahl von Übertragungsschichten in einem MIMO-Übertragungsschema,
wobei die Vorrichtung umfasst:
eine Vielzahl von Antennen (114);
einen Sender (330), der betreibbar ist, um Vektorsymbole (124) über mehrere Übertragungsschichten
unter Verwendung der Vielzahl von Antennen (114) zu übertragen; und
einen Prozessor (310), der betreibbar ist, um das Verfahren nach Anspruch 1 auszuführen.
13. Knoten zum Empfangen von Benutzerdaten und Steuerinformation, die drahtlos über eine
Vielzahl von Übertragungsschichten in einem MIMO-Übertragungsschema übertragen werden,
wobei der Knoten umfasst:
eine Vielzahl von Antennen (540);
einen Empfänger (530), der betreibbar ist, um Vektorsymbole (124) über mehrere Übertragungsschichten
unter Verwendung der Vielzahl von Antennen (540) zu übertragen; und
einen Prozessor (510), der betreibbar ist, um das Verfahren nach Anspruch 7 auszuführen.
1. Procédé pour transmettre sans fil des données d'utilisateur et une information de
commande à l'aide de couches de transmission multiples dans un mode de transmission
à entrées multiples et sorties multiples (MIMO), comprenant :
la réception de mots de code de commande (120) et de mots de code de données d'utilisateur
(122A, 122B) pour une transmission sur un canal à entrée multiples et sorties multiples
;
le brouillage des mots de code de commande (120) et des mots de code de données d'utilisateur
(122A, 122B) par des brouilleurs (106A, 106B), de façon à produire ainsi des sorties
brouillées ;
la modulation des sorties brouillées par des modulateurs de symboles (108A, 108B),
de façon à produire ainsi des sorties modulées ;
la projection des sorties modulées vers des couches de transmission du mode de transmission
à entrées multiples et sorties multiples pour la délivrance en sortie d'une série
de symboles de vecteur (124) à un modulateur de porteuse (112), chaque symbole de
vecteur (124) représentant un groupe associé de symboles de modulation qui sont transmis
simultanément sur des couches de transmission différentes, et chaque symbole de transmission
dans un symbole de vecteur (124) étant associé à une couche de transmission sur laquelle
le symbole de modulation (124) sera transmis ;
comprenant l'estimation d'un nombre de symboles de vecteur (124) devant être attribués
à la transmission d'une pluralité de mots de code de données d'utilisateur (122) durant
une sous-trame ;
la détermination d'un nombre de bits dans la pluralité de mots de code de données
d'utilisateur (122) devant être transmis durant la sous-trame ;
le calcul d'un nombre de symboles de vecteur de commande (124) devant être attribués
à une information de commande, en fonction, au moins en partie, du nombre estimé de
symboles de vecteur (124) et du nombre déterminé de bits ;
la projection d'un ou de plusieurs mots de code de commande (120) vers le nombre calculé
de symboles de vecteur de commande (124), les mots de code de commande au nombre d'un
ou de plusieurs (120) comprenant une information de commande codée ; et
la transmission de symboles de vecteur (124) acheminant la pluralité de mots de code
de données d'utilisateur (122) et les mots de code de commande (120) sur les multiples
couches de transmission durant la sous-trame.
2. Procédé selon la revendication 1, dans lequel la détermination du nombre de bits dans
la pluralité de mots de code de données d'utilisateur (122) comprend :
l'identification de couches de transmission sur lesquelles les mots de code de commande
(120) seront transmis durant la sous-trame ; et
le calcul d'un nombre total de bits dans un sous-jeu des mots de code de données d'utilisateur
(122) qui sera transmis sur les couches de transmission identifiées.
3. Procédé selon la revendication 1, dans lequel l'estimation du nombre de symboles de
vecteur (124) devant être attribués à la pluralité de mots de code de données d'utilisateur
(122) comprend :
la multiplication d'un nombre total de sous-porteuses attribuées au terminal sans
fil (100) pour transmettre des données et une commande, durant la sous-trame, par
un nombre total de symboles de vecteur (124) attribués au terminal sans fil (100)
pour transmettre des données et une commande, durant la sous-trame, pour déterminer
un nombre total de ressources de transmission accordées au terminal sans fil (100)
dans la sous-trame correspondante ; et
l'estimation du nombre de symboles de vecteurs (124) devant être attribués à la pluralité
de mots de code de données d'utilisateur (122) en fonction du nombre total de ressources
de transmission accordées au terminal sans fil (100) dans la sous-trame correspondante.
4. Procédé selon la revendication 1, dans lequel le calcul du nombre de symboles de vecteur
de commande (124) à attribuer à une information de commande comprend :
la détermination d'un nombre de couches de transmission sur lesquelles la pluralité
de mots de code de données d'utilisateur (122) seront transmis ; et
le calcul du nombre de symboles de vecteur de commande (124) à attribuer à une information
de commande, en fonction, au moins en partie, du nombre estimé de symboles de vecteur
(124), du nombre déterminé de bits, et du nombre déterminé de couches de transmission.
5. Procédé selon la revendication 1, dans lequel le calcul du nombre de symboles de vecteur
de commande (124) à attribuer à une information de commande comprend :
la détermination d'un nombre nominal de symboles de vecteur de commande (124) à attribuer
à une information de commande, en fonction, au moins en partie, du nombre estimé de
symboles de vecteur (124) et du nombre déterminé de bits ; et
la détermination d'un nombre final de symboles de vecteur de commande (124) par la
multiplication du nombre nominal de symboles de vecteur de commande (124) et d'une
valeur de décalage ; dans lequel :
la projection d'un ou de plusieurs mots de code de commande (120) vers le nombre calculé
de symboles de vecteur de commande (124) comprend la projection des mots de code de
commande au nombre d'un ou de plusieurs (120) vers le nombre final de symboles de
vecteur de commande (124).
6. Procédé selon la revendication 1, dans lequel le calcul d'un nombre de symboles de
vecteur de commande (124) à attribuer à une information de commande comprend :
la détermination, pour chacun de la pluralité de mots de code de données d'utilisateur
(122), d'une valeur de charge utile par couche par la division d'un nombre de bits
dans ce mot de code de données d'utilisateur (122) par un nombre de couches sur lesquelles
ce mot de code de données d'utilisateur (122) sera transmis ; et
la sélection de la plus basse des valeurs de charge utile par couche pour la pluralité
de mots de code de données d'utilisateur (122) ; et
la détermination d'un nombre de symboles de vecteur de commande (124) à attribuer
à une information de commande en fonction du nombre estimé de symboles de vecteur
(124) et de la plus basse des valeurs de charge utile par couche pour la pluralité
de mots de code de données d'utilisateur (122).
7. Procédé pour recevoir des données d'utilisateur et une information de commande transmises
sans fil sur des couches de transmission multiples dans un mode de transmission à
entrées multiples et sorties multiples (MIMO) à l'aide d'un procédé pour transmettre
sans fil des données d'utilisateur et une information de commande selon l'une des
revendications 1 à 6, comprenant :
la réception d'une pluralité de symboles de vecteur (124) sur des couches de transmission
multiples, les symboles de vecteur (124) acheminant une pluralité de mots de code
de données d'utilisateur (122) et de mots de code de commande (120) ;
l'estimation d'un nombre de symboles de vecteur (124) qui ont été attribués à la pluralité
de mots de code de données d'utilisateur (120) ;
la détermination d'un nombre de bits dans la pluralité de mots de code de données
d'utilisateur (120) acheminés par les symboles de vecteur (124) ;
le calcul d'un nombre de symboles de vecteur de commande (124) qui ont été attribués
à une information de commande, en fonction, au moins en partie, du nombre estimé de
symboles de vecteur (124) et du nombre déterminé de bits ;
le décodage des symboles de vecteur reçus (124) en fonction du nombre calculé de symboles
de vecteur de commande (124).
8. Procédé selon la revendication 7, dans lequel la détermination du nombre de bits dans
une pluralité de mots de code de données d'utilisateur (122) comprend :
l'identification des couches de transmission sur lesquelles les mots de code (120)
ont été reçus ; et
le calcul du nombre total de bits dans un sous-jeu de la pluralité de mots de code
de données d'utilisateur (122) qui ont été reçus sur les couches de transmission identifiées.
9. Procédé selon la revendication 7, dans lequel le calcul du nombre de symboles de vecteur
de commande (124) qui ont été attribués à une information de commande comprend :
la détermination d'un nombre de couches de transmission sur lesquelles la pluralité
de mots de code de données d'utilisateur (122) ont été reçus ; et
le calcul du nombre de symboles de vecteur de commande (124) qui ont été attribués
à une information de commande, en fonction, au moins en partie, du nombre estimé de
symboles de vecteur (124), du nombre déterminé de bits, et du nombre déterminé de
couches de transmission.
10. Procédé selon la revendication 7, dans lequel le calcul du nombre de symboles de vecteur
de commande (124) qui ont été attribués à une information de commande comprend :
la détermination d'un nombre nominal de symboles de vecteur de commande (124), en
fonction, au moins en partie, du nombre estimé de symboles de vecteur (124) et du
nombre déterminé de bits ; et
la détermination d'un nombre final de symboles de vecteur de commande (124) qui ont
été attribués à une information de commande par la multiplication du nombre nominal
de symboles de vecteur de commande (124) et d'une valeur de décalage ; dans lequel
:
le décodage des symboles de vecteur reçus (124) en fonction du nombre calculé de symboles
de vecteur de commande (124) comprend le décodage d'une information de commande acheminée
par un nombre de symboles de vecteur de commande (124) égal au nombre final.
11. Procédé selon la revendication 7, dans lequel le calcul d'un nombre de symboles de
vecteur de commande (124) qui ont été attribués à une information de commande comprend
:
la détermination, pour chacun de la pluralité de mots de code de données d'utilisateur
(122), d'une valeur de charge utile par couche par la division d'un nombre de bits
dans ce mot de code de données d'utilisateur (122) par un nombre de couches sur lesquelles
ce mot de code de données d'utilisateur (122) a été reçu ;
la sélection de la plus basse des valeurs de charge utile par couche pour la pluralité
de mots de code de données d'utilisateur (122) ; et
la détermination d'un nombre de symboles de vecteur de commande (124) qui ont été
attribués à une information de commande en fonction du nombre estimé de symboles de
vecteur (124) et de la plus basse des valeurs de charge utile par couche pour la pluralité
de mots de code de données d'utilisateur (122).
12. Appareil (100) pour transmettre sans fil des données d'utilisateur et une information
de commande à l'aide d'une pluralité de couches de transmission dans un mode de transmission
à entrées multiples et sorties multiples (MIMO), l'appareil comprenant :
une pluralité d'antennes (114) ;
un dispositif de transmission (330) pouvant fonctionner de façon à transmettre des
symboles de vecteur (124) sur la pluralité de couches de transmission à l'aide de
la pluralité d'antennes (114) ; et
un processeur (310) pouvant fonctionner de façon à exécuter le procédé selon la revendication
1.
13. Noeud (500) pour recevoir des données d'utilisateur et une information de commande
transmises sans fil sur une pluralité de couches de transmission dans un mode de transmission
à entrées multiples et sorties multiples (MIMO), le noeud comprenant :
une pluralité d'antennes (540) ;
un récepteur (530) pouvant fonctionner de façon à transmettre des symboles de vecteur
(124) sur la pluralité de couches de transmission à l'aide de la pluralité d'antennes
(540) ; et
un processeur (510) pouvant fonctionner de façon à exécuter un procédé selon la revendication
7.