U.S. patent application number 14/104234 was filed with the patent office on 2014-04-03 for system and method for allocating transmission resources.
This patent application is currently assigned to Telefonaktiebolaget L M Ericsson (PUBL). The applicant listed for this patent is Telefonaktiebolaget L M Ericsson (PUBL). Invention is credited to David Hammarwall, George Jongren.
Application Number | 20140092876 14/104234 |
Document ID | / |
Family ID | 44514853 |
Filed Date | 2014-04-03 |
United States Patent
Application |
20140092876 |
Kind Code |
A1 |
Hammarwall; David ; et
al. |
April 3, 2014 |
SYSTEM AND METHOD FOR ALLOCATING TRANSMISSION RESOURCES
Abstract
A method for wirelessly transmitting data and control
information using a plurality of transmission layers includes
determining a number of bits in one or more user data codewords to
be transmitted during a subframe and calculating, for each of M
control signals to be transmitted during the subframe, a value
(Q'), based at least in part, on the number of bits in the one or
more user data codewords, and an estimated number of user data
vector symbols onto which the one or more user data codewords will
be mapped. The estimate of the number of user data vector symbols
for a particular one of the M control signals depends, at least in
part, on a number of control vector symbols to be allocated to one
or more others of the M control signals. The method also includes
determining a number of control vector symbols onto which to map
each of the M control signals based on a respective value Q'
calculated for that control signal, mapping the control signals for
that control signal, and transmitting the control vector
symbols.
Inventors: |
Hammarwall; David;
(Vallentuna, SE) ; Jongren; George; (Sundbyberg,
SE) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Telefonaktiebolaget L M Ericsson (PUBL) |
Stockholm |
|
SE |
|
|
Assignee: |
Telefonaktiebolaget L M Ericsson
(PUBL)
Stockholm
SE
|
Family ID: |
44514853 |
Appl. No.: |
14/104234 |
Filed: |
December 12, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13165041 |
Jun 21, 2011 |
8634367 |
|
|
14104234 |
|
|
|
|
61356797 |
Jun 21, 2010 |
|
|
|
Current U.S.
Class: |
370/335 |
Current CPC
Class: |
H04W 72/0466 20130101;
H04L 1/1664 20130101; H04L 1/0079 20130101; H04L 1/003 20130101;
H04W 72/042 20130101; H04L 1/1671 20130101 |
Class at
Publication: |
370/335 |
International
Class: |
H04W 72/04 20060101
H04W072/04 |
Claims
1. A method for wirelessly transmitting data and control
information using a plurality of transmission layers, comprising:
determining a number of bits in one or more user data codewords to
be transmitted during a subframe; calculating, for each of M
control signals to be transmitted during the subframe, a value
(Q'), based at least in part, on: the number of bits in the one or
more user data codewords, and an estimated number of user data
vector symbols onto which the one or more user data codewords will
be mapped, wherein the estimate of the number of user data vector
symbols for a particular one of the M control signals depends, at
least in part, on a number of control vector symbols to be
allocated to one or more others of the M control signals;
determining a number of control vector symbols onto which to map
each of the M control signals based on a respective value Q'
calculated for that control signal; mapping each of the M control
signals to the calculated number of control vector symbols for that
control signal; and transmitting the user data vector symbols and
the control vector symbols over a plurality of transmission layers
during the subframe.
2. The method of claim 1, wherein calculating the value Q' for each
of the M control signals comprises calculating a value Q'.sub.m for
an m-th control signal such that: Q'.sub.m=f.sub.m(P,{circumflex
over (Q)}.sub.data,0(Q), . . . ,{circumflex over
(Q)}.sub.data,N.sub.CW.sub.-1(Q),.beta..sub.offset,m,O.sub.m),
wherein P=.left brkt-bot.P.sub.0, . . . ,
P.sub.N.sub.CW.sub.-1.right brkt-bot. with P.sub.k being a number
of bits in a payload of a k-th codeword of user data to be
transmitted, N.sub.CW is a number of codewords of user data to be
transmitted, Q' is a vector that includes the values Q' associated
with the M control signals, {circumflex over (Q)}.sub.data,k is an
estimate of a number of vector symbols allocated to the k-th
codeword of user data and is dependent on the value Q' associated
with one or more of the M control signals, and O.sub.m is a number
of bits in one or more control codewords to be transmitted for the
m-th control signal.
3. The method of claim 1, wherein the value Q' calculated for each
control signal is further dependent on a number of bits in one or
more other control signals to be transmitted during the
subframe.
4. The method of claim 1, wherein determining the number of control
vector symbols onto which to map each of the M control signals
comprises: scaling the value Q' for each control signal by an
offset (.beta..sub.offset) associated with that control signal to
calculate a final number of control vector symbols for that control
signal.
5. The method of claim 4, wherein the value Q' associated with each
control signal is further dependent on one or more of the offsets
associated with other control signals.
6. The method of claim 1, wherein the estimated number of vector
symbols allocated to the k-th codeword of user data ({circumflex
over (Q)}.sub.data,k(Q')) is equal to: Q all - m = 0 M - 1 .alpha.
k , m Q m ' . ##EQU00031##
7. The method of claim 6, wherein: the k-th codeword of user data
is associated with a set (I.sub.k) of one or more control signals
that are to be multiplexed with the respective codeword; equals 1
for the k-th codeword with respect to the m-th control signal if
the m-th control signal is in the set I.sub.k; and and equals 0 for
the k-th codeword with respect to the m-th control signal if the
m-th control signal is not in the set I.sub.k.
8. The method of claim 1, wherein calculating the value Q' for each
of the M control signals comprises: calculating a value Q' for a
first control signal independently of values Q' for any other of
the other control signals; and successively calculating a value Q'
for each of the other control signals wherein each of the
successive values Q' calculated depend on previously calculated
values Q' but are independent of the values Q' for control signals
for which no values Q' have yet been calculated.
9. The method of claim 1, wherein calculating the value Q' for each
of the M control signals comprises calculating a value Q'.sub.m for
an m-th control signal such that: Q m ' = ( Q all - m ~ = 0 M - 1 Q
m ~ ' ) .times. .beta. offset , m .times. O m k = 0 N CW - 1 P k ,
##EQU00032## and wherein .beta..sub.offset,m is a scaling factor
associated with the m-th control signal.
10. The method of claim 1, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.m for an m-th control signal such that: Q m ' = Q all
.times. .beta. offset , m .times. O m k = 0 N CW - 1 P k + m ~ = 0
M - 1 .beta. ~ offset , m ~ .times. O m ~ , ##EQU00033## and
wherein .beta..sub.offset,m is a first scaling factor associated
with the m-th control signal, and {tilde over
(.beta.)}.sub.offset,m is a second scaling factor associated with
the m-th control signal that differs from .beta..sub.offset,m.
11. The method of claim 1, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.m for an m-th control signal based on a maximum spectral
efficiency associated with the m-th control signal such that: Q m '
= max ( Q all - m ~ = 0 M - 1 Q m ~ ' k = 0 N CW - 1 P k , 1 s max
, m ) .times. O m ##EQU00034##
12. The method of claim 1, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.m for an m-th control signal by: determining a number of
codewords of user data with which the m-th control signal will be
multiplexed; and based on the number of codewords with which the
m-th control signal will be multiplexed, selecting a formula for
calculating the value Q'.sub.m.
13. The method of claim 1, wherein calculating a value Q' for each
of the M control signals comprises: calculating a value Q'.sub.CQI
for one or more control signals associated with a channel quality
indicator (CQI); calculating a value Q'.sub.RI for one or more
control signals associated with a rank indicator (RI); and
calculating a value Q'.sub.HARQ-ACK for one or more control signals
associated with a hybrid automatic repeat request
acknowledgement/negative-acknowledgement (HARQ-ACK).
14. The method of claim 13, wherein a CQI payload is to be
multiplexed with a single codeword of user data and a HARQ-ACK
payload and an RI payload are to be multiplexed with all codewords
of user data, and wherein: Q CQI ' = ( Q all - Q HARQ - ACK ' - Q
RI ' ) .times. .beta. offset CQI .times. O CQI P k CQI + .beta.
offset CQI .times. O CQI ##EQU00035## Q HARQ - ACK ' = Q all
.times. .beta. offset HARQ - ACK .times. O HARQ - ACK k = 0 N CW P
k + .beta. offset CQI .times. O CQI + .beta. offset HARQ - ACK
.times. O HARQ - ACK + .beta. offset RI .times. O RI ##EQU00035.2##
Q RI ' = Q all .times. .beta. offset RI .times. O RI k = 0 N CW P k
+ .beta. offset CQI .times. O CQI + .beta. offset HARQ - ACK
.times. O HARQ - ACK + .beta. offset RI .times. O RI ,
##EQU00035.3## wherein P.sub.k.sub.CQI is a number of bits in a
payload of the codeword of user data with which the CQI payload is
to be multiplexed and .beta..sub.offset.sup.CQI,
.beta..sub.offset.sup.HARQ-ACK, and .beta..sub.offset.sup.RI are
offsets associated with the CQI payload, the HARQ-ACK payload, and
the RI payload, respectively.
15. The method of claim 13, wherein a CQI payload is to be
multiplexed with a single codeword of user data and a HARQ-ACK
payload and a RI payload are to be multiplexed with all codewords
of user data, and wherein Q'.sub.CQI and Q'.sub.RI are calculated
independently of Q'.sub.HARQ-ACK, such that: Q CQI ' = ( Q all - Q
RI ' ) .times. .beta. offset CQI .times. O CQI P k CQI + .beta.
offset CQI .times. O CQI , and ##EQU00036## Q RI ' = Q all .times.
.beta. offset RI .times. O RI k = 0 N CW P k + .beta. offset CQI
.times. O CQI + .beta. offset RI .times. O RI , ##EQU00036.2##
wherein P.sub.k.sub.CQI is a number of bits in a payload of the
codeword of user data with which the CQI payload is to be
multiplexed and .beta..sub.offset.sup.CQI and
.beta..sub.offset.sup.RI are offsets associated with the CQI
payload and the RI payload, respectively.
16. The method of claim 15, wherein: Q HARQ - ACK ' = Q all .times.
.beta. offset HARQ - ACK .times. O HARQ - ACK k = 0 N CW P k +
.beta. offset CQI .times. O CQI + .beta. offset RI .times. O RI .
##EQU00037##
17. A method for receiving user data and control information
transmitted wirelessly over a plurality of transmission layers,
comprising: receiving a plurality of vector symbols over a
plurality of transmission layers, wherein the vector symbols carry
encoded user data and encoded control information; determining a
number of bits in one or more user data codewords carried by the
vector symbols; calculating, for each of M control signals received
for the subframe, a value (Q'), based at least in part, on: the
number of bits in the one or more user data codewords, and an
estimated number of user data vector symbols onto which the one or
more user data codewords have been mapped, wherein the estimate of
the number of user data vector symbols for a particular one of the
M control signals depends, at least in part, on a number of control
vector symbols to be allocated to one or more others of the M
control signals; and decoding the received vector symbols based on
the calculated number of control vector symbols.
18. The method of claim 17, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.m for an m-th control signal such that:
Q'.sub.m=f.sub.m(P,{circumflex over (Q)}.sub.data,0(Q), . . .
,{circumflex over
(Q)}.sub.data,N.sub.CW.sub.-1(Q),.beta..sub.offset,m,O.sub.m),
Equation (1) and wherein P=.left brkt-bot.P.sub.0, . . . ,
P.sub.N.sub.CW.sub.-1.right brkt-bot. with P.sub.k being a number
of bits in a payload of a k-th codeword of user data received,
N.sub.CW is a number of codewords of user data received, Q' is a
vector that includes the values Q' associated with the M control
signals, {circumflex over (Q)}.sub.data,k is an estimate of a
number of vector symbols allocated to the k-th codeword of user
data and is dependent on the value Q' associated with one or more
of the M control signals, and O.sub.m is a number of bits in one or
more control codewords received for the m-th control signal.
19. The method of claim 17, wherein the value Q' calculated for
each control signal is further dependent on a number of bits in one
or more other control signals received during the subframe.
20. The method of claim 17, wherein decoding the received vector
symbols based on the value Q' comprises scaling the value Q' for
each control signal by an offset (.beta..sub.offset) associated
with that control signal to calculate a final number of control
vector symbols for that control signal.
21. The method of claim 20, wherein the value Q' associated with
each control signal is further dependent on one or more of the
offsets associated with other control signals.
22. The method of claim 17, wherein the estimated number of vector
symbols onto which the k-th codeword of user data ({circumflex over
(Q)}.sub.data,k(Q')) has been mapped is equal to: Q all - m = 0 M -
1 .alpha. k , m Q m ' . ##EQU00038##
23. The method of claim 22, wherein: the k-th codeword of user data
is associated with a set (I.sub.k) of one or more control signals
that have been multiplexed with the respective codeword;
.alpha..sub.k,m equals 1 for the k-th codeword with respect to the
m-th control signal if the m-th control signal is in the set
I.sub.k; and .alpha..sub.k,m equals 0 for the k-th codeword with
respect to the m-th control signal if the m-th control signal is
not in the set I.sub.k.
24. The method of claim 17, wherein calculating a value Q' for each
of the M control signals received comprises: calculating a value Q'
for a first control signal independently of values Q' for any other
of the other control signals; and successively calculating a value
Q' for each of the other control signals wherein each of the
successive values Q' calculated depend on previously calculated
values Q' but are independent of the values Q' for control signals
for which no values Q' have yet been calculated.
25. The method of claim 17, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.m for an m-th control signal such that: Q m ' = ( Q all - m
~ = 0 M - 1 Q m ~ ' ) .times. .beta. offset , m .times. O m k = 0 N
CW - 1 P k , ##EQU00039## and wherein .beta..sub.offset,m is a
scaling factor associated with the m-th control signal.
26. The method of claim 17, wherein: Q m ' = Q all .times. .beta.
offset , m .times. O m k = 0 N CW - 1 P k + m ~ = 0 M - 1 .beta. ~
offset , m ~ .times. O m ~ , ##EQU00040## and wherein
.beta..sub.offset,m is a first scaling factor associated with the
m-th control signal, and {tilde over (.beta.)}.sub.offset,m is a
second scaling factor associated with the m-th control signal that
differs from .beta..sub.offset,m.
27. The method of claim 17, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.m for an m-th control signal such that: Q m ' = max ( Q all
- m ~ = 0 M - 1 Q m ~ ' k = 0 N CW - 1 P k , 1 s max , m ) .times.
O m . ##EQU00041##
28. The method of claim 17, wherein calculating the value Q' for
each of the M control signals comprises calculating a value
Q'.sub.n, for an m-th control signal by: determining a number of
codewords of user data with which the m-th control signal will be
multiplexed; and selecting a formula for calculating the value
Q'.sub.m based on the number of codewords with which the m-th
control signal will be multiplexed.
29. The method of claim 17, wherein calculating the value Q' for
each of the M control signals comprises: calculating a value
Q'.sub.CQI for one or more control signals associated with a
channel quality indicator (CQI); calculating a value Q'.sub.RI for
one or more control signals associated with a rank indicator (RI);
and calculating a value Q'.sub.HARQ-ACK for one or more control
signals associated with a hybrid automatic repeat request
acknowledgement/negative-acknowledgement (HARQ-ACK).
30. The method of claim 29, wherein a CQI payload has been
multiplexed with a single codeword of user data and a HARQ-ACK
payload and an RI payload have been multiplexed with all codewords
of user data, and wherein: Q CQI ' = ( Q all - Q HARQ - ACK ' - Q
RI ' ) .times. .beta. offset CQI .times. O CQI P k CQI + .beta.
offset CQI .times. O CQI ##EQU00042## Q HARQ - ACK ' = Q all
.times. .beta. offset HARQ - ACK .times. O HARQ - ACK k = 0 N CW P
k + .beta. offset CQI .times. O CQI + .beta. offset HARQ - ACK
.times. O HARQ - ACK + .beta. offset RI .times. O RI ##EQU00042.2##
Q RI ' = Q all .times. .beta. offset RI .times. O RI k = 0 N CW P k
+ .beta. offset CQI .times. O CQI + .beta. offset HARQ - ACK
.times. O HARQ - ACK + .beta. offset RI .times. O RI ,
##EQU00042.3## wherein P.sub.k.sub.CQI is a number of bits in a
payload of the codeword of user data with which the CQI has been
multiplexed and .beta..sub.offset.sup.CQI,
.beta..sub.offset.sup.HARQ-ACK, and .beta..sub.offset.sup.RI are
offsets associated with the CQI payload, the HARQ-ACK payload, and
the RI payload, respectively.
31. The method of claim 29, wherein a CQI payload has been
multiplexed with a single codeword of user data and a HARQ-ACK
payload and an RI payload have been multiplexed with all codewords
of user data, and wherein Q'.sub.CQI and Q'.sub.RI are calculated
independently of Q'.sup.HARQ-ACK, such that: Q CQI ' = ( Q all - Q
RI ' ) .times. .beta. offset CQI .times. O CQI P k CQI + .beta.
offset CQI .times. O CQI , and ##EQU00043## Q RI ' = Q all .times.
.beta. offset RI .times. O RI k = 0 N CW P k + .beta. offset CQI
.times. O CQI + .beta. offset RI .times. O RI , ##EQU00043.2##
wherein P.sub.k.sub.CQI is a number of bits in a payload of the
codeword of user data with which the CQI payload has been
multiplexed and .beta..sub.offset.sup.CQI and
.beta..sub.offset.sup.RI are offsets associated with the CQI
payload and the RI payload, respectively.
32. The method of claim 31, wherein: Q HARQ - ACK ' = Q all .times.
.beta. offset HARQ - ACK .times. O HARQ - ACK k = 0 N CW P k +
.beta. offset CQI .times. O CQI + .beta. offset RI .times. O RI .
##EQU00044##
33. An apparatus for wirelessly transmitting user data and control
information using a plurality of transmission layers, the apparatus
comprising: a plurality of antennas; a transceiver operable to
transmit vector symbols over a plurality of transmission layers
using the plurality of antennas; and a processor operable to:
determine a number of bits in one or more user data codewords to be
transmitted during a subframe; calculate, for each of M control
signals to be transmitted during the subframe, a value (Q'), based
at least in part, on: the number of bits in the one or more user
data codewords, and an estimated number of user data vector symbols
onto which the one or more user data codewords will be mapped,
wherein the estimate of the number of user data vector symbols for
a particular one of the M control signals depends, at least in
part, on a number of control vector symbols to be allocated to one
or more others of the M control signals; determine a number of
control vector symbols onto which to map each of the M control
signals based on a respective value Q' calculated for that control
signal; map each of the M control signals to the calculated number
of control vector symbols for that control signal; and transmit the
user data vector symbols and the control vector symbols over a
plurality of transmission layers during the subframe using the
transceiver.
34. A node for receiving user data and control information
transmitted wirelessly over a plurality of transmission layers, the
node comprising: a plurality of antennas; a transceiver operable to
receive vector symbols over a plurality of transmission layers
using the plurality of antennas; and a processor operable to:
receive a plurality of vector symbols over a plurality of
transmission layers using the transceiver, wherein the vector
symbols carry encoded user data and encoded control information;
determine a number of bits in one or more user data codewords
carried by the vector symbols; calculate, for each of M control
signals received for the subframe, a value (Q'), based at least in
part, on: the number of bits in the one or more user data
codewords, and an estimated number of user data vector symbols onto
which the one or more user data codewords have been mapped, wherein
the estimate of the number of user data vector symbols for a
particular one of the M control signals depends, at least in part,
on a number of control vector symbols to be allocated to one or
more others of the M control signals; and decode the received
vector symbols based on the calculated number of control vector
symbols.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 13/165,041, filed Jun. 21, 2011, pending, which claims the
benefit of U.S. Provisional Application No. 61/356,797, filed Jun.
21, 2010, the disclosure of which is incorporated herein by
reference.
TECHNICAL FIELD OF THE INVENTION
[0002] This disclosure relates in general to wireless communication
and, more particularly, to resource allocation for multi-antenna
transmissions.
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 codeword of user data is transmitted
at a time. Additionally, conventional solutions may not consider
the size of the control information to be transmitted, when
determining the number of vector symbols to allocate to each bit of
control information. 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, especially when a large amount of control
information must be transmitted.
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 and control information
using a plurality of transmission layers includes determining a
number of bits in one or more user data codewords to be transmitted
during a subframe and calculating, for each of M control signals to
be transmitted during the subframe, a value (Q'), based at least in
part, on the number of bits in the one or more user data codewords,
and an estimated number of user data vector symbols onto which the
one or more user data codewords will be mapped. The estimate of the
number of user data vector symbols for a particular one of the M
control signals depends, at least in part, on a number of control
vector symbols to be allocated to one or more others of the M
control signals. The method also includes determining a number of
control vector symbols onto which to map each of the M control
signals based on a respective value Q' calculated for that control
signal, mapping the control signals for that control signal, and
transmitting the control vector symbols.
[0008] In accordance with another embodiment, a method for
receiving user data and control information transmitted wirelessly
over a plurality of transmission layers, includes receiving a
plurality of vector symbols over a plurality of transmission
layers. The vector symbols carry encoded user data and encoded
control information. The method also includes determining a number
of bits in one or more user data codewords carried by the vector
symbols and calculating, for each of M control signals received for
the subframe, a value (Q'). The value Q' calculated based, at least
in part, on the number of bits in the one or more user data
codewords and an estimated number of user data vector symbols onto
which the one or more user data codewords will be mapped.
Additionally, the estimate of the number of user data vector
symbols for a particular one of the M control signals depends, at
least in part, on a number of control vector symbols to be
allocated to one or more others of the M control signals. The
method also includes decoding the received vector symbols based on
the calculated number of control vector symbols.
[0009] Additional embodiments include apparatuses capable of
implementing the above methods and/or variations thereof.
[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
codewords. Particular embodiments may provide additional benefits
by accounting for the amount and type of control information to be
transmitted when determining how much transmission resources to use
in transmitting each bit of control information, as well as by
providing differentiated treatment of different types of control
information. 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:
[0012] FIG. 1 is a functional block diagram illustrating a
particular embodiment of a multi-antenna transmitter;
[0013] FIG. 2 is a functional block diagram illustrating a
particular embodiment of a carrier modulator that may be used in
the transmitter of FIG. 1;
[0014] FIG. 3 is a structural block diagram showing the contents of
a particular embodiment of the transmitter;
[0015] FIG. 4 is a flowchart detailing example operation of a
particular embodiment of the transmitter;
[0016] FIG. 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;
[0017] FIG. 6 is a flowchart showing example operation of a
particular embodiment of the network node of FIG. 5 in receiving
transmissions from the transmitter; and
[0018] FIG. 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
[0019] FIG. 1 is a functional block diagram illustrating a
particular embodiment of a multi-antenna transmitter 100. In
particular, FIG. 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 interleavers 104, a
plurality of scramblers 106, a plurality of symbol modulators 108,
a layer mapper 110, and a carrier modulator 112. Transmitter 100
allocates transmission resources 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.
[0020] 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 of 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.
[0021] 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.
[0022] 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 precoding 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.
[0023] 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, including the
channel quality, the type of control signaling, and various other
considerations.
[0024] In addition, it may be beneficial to allocate different
types of control information differently. Different types of
control information may have different robustness requirements.
Furthermore, certain types of control signaling may be replicated
and multiplexed with every codeword of user data transmitted during
a subframe, while other types may only be multiplexed with one or a
subset of the user data codewords transmitted during the subframe.
As a result, the optimal allocation for specific types of control
information may differ.
[0025] 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
allocation 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 supported peak spectral efficiency of the encoded control
signaling.
[0026] In many circumstances, it may be desirable to determine the
amount of transmission resources to use for each bit of control
signaling based on the quality of the channel over which the
multiplexed control signaling will be transmitted. As part of this
process, transmitter 100 may estimate an inverse spectral
efficiency for the user data to be transmitted, based on the data
payloads of one or more of the user control codewords to be
transmitted, and use this estimate to determine the amount of
transmission resources to use for each bit of control signaling. In
such situations, it may be acceptable for transmitter 100 to
determine the amount of transmission resources to devote to each
bit of control signaling using an estimated spectral efficiency for
user data without accounting for the fact that some of the
transmission resources will ultimately be allocated to control
signaling.
[0027] While this manner of allocating may be acceptable in many
situations, the impact that neglecting the differences between
specific types of control signaling has on this estimate can become
significant when a large amount of control signaling must be
transmitted. Consequently, the effectiveness of the resulting
allocation may be greatly diminished. Specifically, this may result
in inaccurate estimates of the inverse spectral efficiency for user
data, causing transmission resources to be sub-optimally allocated
to the various types of control signaling. The result may be
especially detrimental as the amount of control signaling increases
to satisfy the requirements of advanced communication technologies,
such as LTE-Advanced. As the amount of control signaling increases,
control overhead may, in effect, grow approximately quadratic with
the control payload, rather than linearly.
[0028] To address this problem, particular embodiments of
transmitter 100 determine an allocation of transmission resources
per bit of control codeword 120 that takes into consideration the
amount of control signaling to be transmitted under the allocation
and the different manner in which the various types of control
signaling will be transmitted. More specifically, particular
embodiments of transmitter 100 estimate the inverse spectral
efficiency supported by the current multi-layer encoding scheme to
determine an appropriate allocation of transmission resources
between user data and control signaling. As part of estimating the
spectral efficiency, transmitter 100 estimates the amount of
transmission resources to be allocated to user data, and in doing
so, considers the amount of transmission resources that transmitter
100 would allocate to different types of control signaling given
the estimated inverse spectral efficiency that would result in
actuality from this user data allocation. Transmitter 100 may then
transmit the relevant control signaling using an amount of
transmission resources that corresponds to this estimated spectral
efficiency.
[0029] Turning to the example embodiment illustrated by FIG. 1,
transmitter 100, in operation, generates or receives control
codewords and data codewords (represented, in FIG. 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.
[0030] Channel interleavers 104 each interleave a data codeword 122
with control codeword 120 (a complete copy of control codeword 120,
a particular portion of control codeword 120, or some combination
of both). 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.
[0031] 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.
[0032] 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 FIG. 2. After any appropriate processing, carrier modulator 112
then transmits the modulated subcarriers over a plurality of
transmission antennas 114.
[0033] 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 transmission resources is reflected
in the number of vector symbols 124 transmitter 100 uses to
transmit control codewords 120 (such vector symbols referred to
herein as "control vector symbols"). 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 of the likelihood that the receiver will
erroneously detect control codeword 120 after being transmitted
over the radio channel.
[0034] 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 signals 120 (or a subset of such
layers/codewords) to estimate the inverse spectral efficiency
currently supported by the multi-layer encoding scheme to be used.
Certain embodiments may also consider the type of control
information to be transmitted and may account for differing amounts
of overhead associated with the various types. As a result, such
embodiments may be able to more effectively allocate transmission
resources to both user data and control information.
[0035] More specifically, 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 100. 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.
[0036] Additionally, the estimate of the inverse spectral
efficiency used by transmitter 100 to determine the number of
control vector symbols 124 may itself depend, in turn, on the
number of control vector symbols 124 that would result from the
estimate. Moreover, in particular embodiments, transmitter 100
takes the overhead of multiple control signals into consideration
in performing the resource allocation by, for example, accounting
for the multiple control signals when forming a nominal inverse
spectral efficiency estimate. As part of this process, transmitter
100 may consider the types of control information to be transmitted
as well as the manner in which each type will be transmitted.
[0037] In general, transmitter 100 may determine the inverse
spectral efficiency estimate and the corresponding number of
control vector symbols 124 in any suitable manner. In particular
embodiments, transmitter 100 may base the nominal inverse spectral
efficiency estimate for the radio channel on an estimate of the
number of vector symbols 124 that will be allocated to user data
(for a particular codeword k), {circumflex over (Q)}.sub.data,k
where {circumflex over (Q)}.sub.data,k is itself a function of the
respective allocations for M different control signals to be
transmitted during the subframe. Specifically, transmitter 100 may
determine a value Q'.sub.m for each of the M control signals such
that:
Q'.sub.m=f.sub.m(P,{circumflex over (Q)}.sub.data,0(Q), . . .
,{circumflex over
(Q)}.sub.data,N.sub.CW.sub.-1(Q),.beta..sub.offset,m,O.sub.m),
Equation (1)
In Equation (1), Q'=[Q'.sub.0, . . . , Q'.sub.M-1].sup.T and
P=[P.sub.0, . . . , P.sub.N.sub.CW.sub.-1] with P.sub.k being the
payload of the k-th data codeword (e.g.,
P k = r = 0 C n , k - 1 K k , r ##EQU00001##
for certain LTE embodiments, in which K.sub.k,r represents the
number of bits of the r-th code block in the k-th user data
codeword, and C.sub.n,k is the number of code blocks in the k-th
user data codeword). Additionally, in Equation (1),
.beta..sub.offset,m is an offset value specific to the m-th control
signal that can be predetermined or dynamically configured to scale
the value of Q.sub.m' determined for that control signal, and
O.sub.m is the number of bits in the m-th control signal.
[0038] In particular embodiments, the implementation of Equation
(1) may result in transmitter 100 using a recursive process to
determine the appropriate allocation size for the various control
signals, since {circumflex over (Q)}.sub.data,k itself depends on
Q'.sub.m, and may also introduce a coupling between the resource
allocation of different control signals. In other words, in such
embodiments, transmitter 100 may, in allocating resources to a
particular control signal, account for the overhead of all other
control signals. As a result, in such embodiments, the estimation
of the inverse spectral efficiency of the data may be based on the
actual amount of resources allocated to user data (or an improved
estimate thereof).
[0039] In particular embodiments, the resource allocation can be
performed using the generic formulation in Equation (1) by solving
the system of equations. Alternatively, if the system of equations
is unsolvable, the resource allocation may be determined by
optimization algorithms that, for example, minimize the total
overhead, subject to the constraints:
Q m ' .gtoreq. f m ( Q ^ data , 0 ( Q ' ) , r = 0 C n , 0 - 1 K 0 ,
r , , Q ^ data , N CW - 1 ( Q ' ) , r = 0 C n , N CW - 1 K N CW - 1
, r , .beta. offset , O m ) . Eq . ( 2 ) ##EQU00002##
In particular embodiments, the allocation may also be corrected or
otherwise processed to ensure a certain type of result (such as to
ensure integer-valued results and/or results within a particular
range). For example, the Q'.sub.m value for one or more control
signals may be rounded to an integer-value or adjusted to satisfy a
maximum or minimum value. The value Q'.sub.m (and/or the result of
any such post-processing performed on Q'.sub.m) for each control
signal may then be used by transmitter 100 as an indication of the
amount of transmission resources to use in transmitting that
particular (i.e., the m-th) control signal.
[0040] In alternative embodiments, transmitter 100 may solve for
Q'.sub.m using a closed form equation that likewise takes the
overhead for multiple control signals into account. For example,
transmitter 100 may use an estimate of the nominal inverse spectral
efficiency that depends on one or a plurality of O.sub.0, . . . ,
O.sub.M-1 and/or one or a plurality of .beta..sub.offset,0, . . . ,
.beta..sub.offset,M-1. That is, the estimate may depend on
O=[O.sub.0, . . . , O.sub.M-1] and/or B.sub.offset=.left
brkt-bot..beta..sub.offset,0, . . . , .beta..sub.offset,M-1.right
brkt-bot..
[0041] Transmitter 100 may determine such closed form expressions
by, for example, solving for Q' in Equation (1). In particular
embodiments, the overhead of a control signal affects the overhead
of a codeword linearly, in which case {circumflex over
(Q)}.sub.data,k(Q') can be expressed as:
Q ^ data , k ( Q ' ) = Q all - m = 0 M - 1 .alpha. k , m Q m '
Equation ( 3 ) ##EQU00003##
where .alpha..sub.k,m are linear (typically, non-negative) weights.
One specific example is given by:
Q ^ data , k ( Q ' ) = Q all - m Q m ' .delta. m .di-elect cons. I
k , Equation ( 4 ) ##EQU00004##
where .alpha..sub.k,m=.delta..sub.m.epsilon.I.sub.k equals 1 if
m.epsilon.I.sub.k, and zero otherwise, and I.sub.k is the set of
control signals (or indices thereof) that affect the k-th
codeword.
[0042] In certain embodiments, transmitter 100 allocates control
signals iteratively as Q'.sub.M-1, Q'.sub.M-2, . . . , Q'.sub.0
wherein the allocation of Q'.sub.M-1 is given in a closed form,
Q'.sub.M-2 only depends on Q'.sub.M-1, and, in general, Q'.sub.n
only depends on Q'.sub.n+1, . . . , Q'.sub.M-1. For example, in
particular embodiments, transmitter 100 does not account for the
overhead of any other control signals in Q'.sub.M-1, accounts for
only the overhead in Q'.sub.M-1 in Q'.sub.M-2, and, in general,
when determining Q'.sub.n, accounts for only the overhead of
Q'.sub.n+1, . . . , Q'.sub.M-1.
[0043] As one example, transmitter 100 may use an expression for
f.sub.m(.cndot.) such that:
Q m ' = ( Q all - m ~ = 0 M - 1 .alpha. ~ m , m ~ Q m ~ ' ) .beta.
offset , m O m g m ( P ) , for all m Equation ( 5 )
##EQU00005##
In such embodiments, Q'.sub.0, . . . , Q'.sub.M-1 can be expressed
in terms of the matrix [A].sub.m,{tilde over (m)}={tilde over
(.alpha.)}.sub.m,{tilde over (m)}, and the diagonal matrices
[G].sub.m,m=g.sub.m(P) and [C].sub.m,m=.beta..sub.offset,mO.sub.m
as
(CA+G)Q'=Q.sub.all(C1Q'=Q.sub.all(CA+G).sup.-1C1 Equation (6)
where [X].sub.m,n denotes the element on row m (index starting at
0) and column n of a matrix X.
[0044] As another example, transmitter 100 may use an expression
for f.sub.m(.cndot.) that is further simplified such that:
Q m ' = ( Q all - m ~ = 0 M - 1 Q m ~ ' ) .beta. offset , m O m k =
0 N CW - 1 P k , Equation ( 7 ) ##EQU00006##
In such embodiments, transmitter 100 can solve for Q'.sub.m, from
the system of equations, as:
Q m ' = ( Q all - m ~ = m + 1 M - 1 Q m ~ ' ) .beta. offset , m O m
k = 0 N CW - 1 P k + m ~ = 0 m .beta. offset , m ~ O k = Q all
.beta. offset , m O m k = 0 N CW - 1 P k + m ~ = 0 M - 1 .beta.
offset , m ~ O m ~ , Equation ( 8 ) ##EQU00007##
Transmitter 100 may use the first equality to triangularize the
system of equations, so that transmitter 10 can then solve
Q'.sub.M-1 in closed form, solve for a value of Q'.sub.M-2 that
only depends on Q'.sub.M-1 and. in general, solve for a value of
Q'.sub.n that only depends on Q'.sub.n+1, . . . , Q'.sub.M-1. The
second equation is useful since transmitter 100 can obtain Q'.sub.m
in a closed form in which the nominal inverse spectral efficiency
estimate,
Q all k = 0 N CW - 1 P k + m ~ = 0 M - 1 .beta. offset , m ~ O m ~
, ##EQU00008##
depends on O and B.sub.offset.
[0045] In particular embodiments, transmitter 100 may determine the
values for Q'.sub.m from Equations (7) and/or (8) by first solving
for Q'.sub.0 in the allocation equation for Q'.sub.0. Transmitter
100 may then substitute the so obtained expression for Q'.sub.0 in
all equations for Q'.sub.1, . . . , Q'.sub.M-1 such that the
dependence on Q'.sub.0 is eliminated from all equations.
Transmitter 100 may then repeat the process for Q'.sub.1, and so
on. When computing Q'.sub.n possible post-processing (such as
rounding to integer values, capping to maximum value, etc.) of
Q'.sub.n+1, . . . , Q'.sub.M-1 may or may not be included.
Moreover, in triangularized formulas below where Q'.sub.n may
depend on Q'.sub.n+1, . . . , Q'.sub.M-1, post-processing of the
latter may or may not be applied prior to computing Q'.sub.n.
[0046] Additionally, to provide greater control over the
allocation, transmitter 100 may use a second offset parameter,
{tilde over (.beta.)}.sub.offset,m for the nominal inverse spectral
efficiency estimation that differs from .beta..sub.offset,m. In
particular embodiments, {tilde over (.beta.)}.sub.offset, m may be
independently configurable, or may be a configurable function of
.beta..sub.offset,m. As one example, in particular embodiments,
transmitter 100 may use a value of {tilde over
(.beta.)}.sub.offset,m such that {tilde over
(.beta.)}.sub.offset,m=a.sub.m.beta..sub.offset,m, where a.sub.m
can be configured to be zero or one. As another example,
transmitter 100 may estimate the nominal inverse spectral
efficiency as:
Q all k = 0 N CW - 1 P k + m ~ = 0 M - 1 .beta. ~ offset , m ~ O m
~ ##EQU00009##
[0047] Furthermore, transmitter 100 may calculate the values
Q'.sub.m using an expression for f.sub.m(.cndot.) that is designed
not to exceed a certain maximum spectral efficiency,
s.sub.max,m,
Q m ' = max ( Q all - m ~ = 0 M - 1 Q m ~ ' k = 0 N CW - 1 P k , 1
s max , m ) .beta. offset , m O m Equation ( 9 ) ##EQU00010##
Moreover, transmitter 100 may determine the various values of
Q'.sub.m such that s.sub.max,m.gtoreq.s.sub.max,m+1.A-inverted.m.
In such embodiments, then transmitter 100 can triangularize the
system of equations in a similar fashion to that described above
with respect to Equations (7) and (8) based on the fact that if
( Q all - m ~ = 0 M - 1 Q m ~ ' ) / k = 0 N CW - 1 P k .ltoreq. 1 /
s max , m ##EQU00011## then ##EQU00011.2## Q m ~ ' = .beta. offset
, m ~ O m ~ ( Q all - m ~ = 0 M - 1 Q m ~ ' ) / k = 0 N CW - 1 P k
, .A-inverted. m ~ .ltoreq. m . ##EQU00011.3##
Thus, the dependence on Q'.sub.{tilde over (m)}, in {tilde over
(m)}.ltoreq.m can be eliminated using the same process as for the
case without the max(.) operator. By doing so, transmitter 100 can,
in such embodiments, triangularize Equation (9) to produce an
expression for Q'.sub.m:
Q m ' = max ( Q all - m ~ = m + 1 M - 1 Q m ~ ' k = 0 N CW - 1 P k
+ m ~ = 0 m .beta. offset , m ~ O m ~ , 1 s max , m ) .beta. offset
, m O m , Equation ( 10 ) ##EQU00012##
such that the nominal inverse spectral efficiency depends on
Q'.sub.{tilde over (m)}, {tilde over (m)}>m, and
.beta..sub.offset,{tilde over (m)}O.sub.{tilde over (m)}, {tilde
over (m)}.ltoreq.m. For the special case where
s.sub.max=s.sub.max.A-inverted.m.gtoreq.{tilde over (M)} then
.A-inverted. m .gtoreq. M ~ : Q m ' = max ( Q all k = 0 N CW - 1 P
k + m ~ = 0 M - 1 .beta. offset , m ~ O m ~ , 1 s max ) .beta.
offset , m O m , Eq . ( 11 ) ##EQU00013##
with a special case being s.sub.max=.infin..
[0048] Particular embodiments of transmitter 100 may use a
different offset parameter (e.g., {tilde over
(.beta.)}.sub.offset,m) in determining the nominal inverse spectral
efficiency estimation as well as setting a maximum value for the
spectral efficiency. As a specific example, transmitter 100 may
calculate a nominal inverse spectral efficiency estimation such
that:
Q m ' = max ( Q all - m ~ = m + 1 M - 1 Q m ~ ' k = 0 N CW - 1 P k
+ m ~ = 0 m .beta. ~ offset , m ~ O m ~ , 1 s max , m ) .beta.
offset , m O m , Equation ( 12 ) ##EQU00014##
and similarly a different {tilde over (.beta.)}.sub.offset,m can be
used in the nominal inverse spectral efficiency estimate above for
s.sub.max,m=s.sub.max.A-inverted.m.gtoreq.{tilde over (M)}.
[0049] For particular embodiments of transmitter 100, it may be
especially useful to utilize the above formulas when all control
signals affect each codeword equally--i.e., the control signals are
all multiplexed with all user data codewords. However, in scenarios
in which different control signals affect the codewords
differently, transmitter 100 may be configured to take such
asymmetries into account when estimating the nominal inverse
spectral efficiency.
[0050] If the control signals (or the overhead of the control
signals) are indexed as (m,k):0.ltoreq.k.ltoreq.N.sub.CW,
0.ltoreq.m<M.sub.k, where the overhead of a control signal
(m,k), k<N.sub.CW, only affects the k-th data codeword (i.e., it
is multiplexed only with the k-th user data codeword), and
(m,N.sub.CW) denotes a control signal that affects all data
codewords equally (i.e., it is multiplexed with all user data
codewords). M.sub.k denotes the number of control signals that
affect the overhead of the k-th user data codeword (or that affects
all user data codewords for k=N.sub.CW).
[0051] If the allocation of resources that transmitter 100
calculates satisfies the following set of equations (e.g., if the
control signals are spatially multiplexed along with the user
data):
k < N cw : Q m , k ' = ( Q all - m ~ = 0 M k - 1 Q m ~ , k ' - m
~ = 0 M N CW - 1 Q m ~ , N CW ' ) .beta. offset , ( m , k ) O m , k
P k Eq . ( 13 ) k = N CW : Q m , N CW ' = .beta. offset , ( m , N
CW ) O m k = 0 N CW - 1 P k ( Q all - m ~ = 0 M k - 1 Q m ~ , k ' -
m ~ = 0 M N CW - 1 Q m ~ , N CW ' ) Eq . ( 14 ) ##EQU00015##
Then, transmitter 100 can be triangularize the set of equations
as:
k < N CW : Q m , k ' = ( Q all - m ~ = 0 M N CW - 1 Q m ~ , N CW
' ) .beta. offset , ( m , k ) O m , k P k + m ~ = 0 M k - 1 .beta.
offset , ( m ~ , k ) O m ~ , k Eq . ( 15 ) k = N CW : Q m , N CW '
= ( Q all - m ~ = m + 1 M N CW - 1 Q m ~ , N CW ' ) .beta. offset ,
( m , N CW ) O m , N CW k = 0 N CW - 1 ( P k + m ~ = 0 M k - 1
.beta. offset , ( m ~ , k ) O m ~ , k ) + m ~ = 0 m .beta. offset ,
( m ~ , N CW ) O m ~ , k = Q all .beta. offset , ( m , N CW ) O m ,
N CW k = 0 N CW - 1 ( P k + m ~ = 0 M k - 1 .beta. offset , ( m ~ ,
k ) O m ~ , k ) + m ~ = 0 M N CW - 1 .beta. offset , ( m ~ , N CW )
O m ~ , k Eq . ( 16 ) ##EQU00016##
where the expressions for Q'.sub.m,k, k<N.sub.CW only depend on
Q'.sub.m,N.sub.CW, which transmitter 100 can compute in closed form
or from a triangularized set of equations. As noted above,
transmitter 100 may use a different offset parameter, {tilde over
(.beta.)}.sub.offset,m, in the above nominal inverse spectral
efficiency estimations.
[0052] A special case with particular importance to technologies
such as LTE-Advanced is the resource allocation for such control
signals as Channel Quality Indication (CQI)/Precorder Matrix
Indication (PMI), Hybrid Automatic Repeat reQuest (HARD)
Acknowledgement (ACK)/Negative Acknowledgement (NAK), and Rank
Indication (RI). In particular embodiments, transmitter 100
multiplexes CQI/PMI only with one user data codeword,
k.sub.CQI.epsilon.{0,1}, (let k.sub.CQI=1-k.sub.CQI denote the
complementary user data codeword) but multiplexes HARQ-ACK and RI
with all user data codewords. Formulas for determining values of Q'
(using, in each case, the nominal spectral efficiencies) for the
various control signals could then be expressed as:
Q CQI ' = ( Q all - Q CQI ' - Q HARQ - ACK ' - Q RI ' ) .beta.
offset CQI O CQI P k CQI Eq . ( 17 ) Q HARQ - ACK ' = .beta. offset
HARQ - ACK O HARQ - ACK P k CQI Q all - Q CQI ' - Q HARQ - ACK ' -
Q RI ' + P k CQI _ Q all - Q HARQ - ACK ' - Q RI ' Eq . ( 18 ) Q RI
' = .beta. offset RI O RI P k CQI Q all - Q CQI ' - Q HARQ - ACK '
- Q RI ' + P k CQI _ Q all - Q HARQ - ACK ' - Q RI ' Eq . ( 19 )
##EQU00017##
Accordingly, to perform such a resource allocation, transmitter 100
can use allocation formulas which can be expressed in closed form
(triangularized) as:
Q CQI ' = ( Q all - Q HARQ - ACK ' - Q RI ' ) .beta. offset CQI O
CQI P k CQI + .beta. offset CQI O CQI Eq . ( 20 ) Q HARQ - ACK ' =
( Q all - Q RI ' ) .beta. offset HARQ - ACK O HARQ - ACK k = 0 N CW
P k + .beta. offset CQI O CQI + .beta. offset HARQ - ACK O HARQ -
ACK = Q all .beta. offset HARQ - ACK O HARQ - ACK k = 0 N CW P k +
.beta. offset CQI O CQI + .beta. offset HARQ - ACK O HARQ - ACK +
.beta. offset RI O RI Eq . ( 21 ) Q RI ' = ( Q all - Q HARQ - ACK '
) .beta. offset RI O RI k = 0 N CW P k + .beta. offset CQI O CQI +
.beta. offset RI O RI = Q all .beta. offset RI O RI k = 0 N CW P k
+ .beta. offset CQI O CQI + .beta. offset HARQ - ACK O HARQ - ACK +
.beta. offset RI O RI Eq . ( 22 ) ##EQU00018##
[0053] As noted above, in particular embodiments, transmitter 100
may utilize a different offset parameter, {tilde over
(.beta.)}.sub.offset,m, in the nominal inverse spectral efficiency
estimation of the large control signal payload compensation.
Additionally, the resource allocation formulas above can likewise
be generalized to cope with a maximum allowed spectral efficiency
for each of the control signals that affects all codewords, or for
any other suitable subset of control signals. In other words, if
transmitter 100 performs the allocation such that:
k < N CW : Q m , k ' = ( Q all - m ~ = 0 M k - 1 Q m ~ , k ' - m
~ = 0 M N CW - 1 Q m ~ , N CW ' ) .beta. offset , ( m , k ) O m , k
P k and Eq . ( 23 ) k = N CW : Q m , N CW ' = max ( .beta. offset ,
( m , N CW ) O m k = 0 N CW P k ( Q all - m ~ = 0 M k - 1 Q m ~ , k
' - m ~ = 0 M N CW - 1 Q m ~ , N CW ' ) , 1 s max ( m , N CW ) ) ,
Eq . ( 24 ) ##EQU00019##
then transmitter 100 can utilize a set of equations to perform the
allocation that can be triangularized (and solved) as:
k = N CW : Q m , N CW ' = max ( ( Q all - m ~ = m + 1 M N CW - 1 Q
m ~ , N CW ' ) .beta. offset , ( m , N CW ) O m , N CW k = 0 N CW -
1 ( P k + m ~ = 0 M k - 1 .beta. offset , ( m ~ , k ) O m ~ , k ) +
m ~ = 0 m .beta. offset , ( m ~ , N CW ) O m ~ , N CW , 1 s max , (
m , N CW ) ) Eq . ( 25 ) ##EQU00020##
where the control signals are ordered such that
s.sub.max,(m,N.sub.CW.sub.).gtoreq.s.sub.max,(m+1,N.sub.CW.sub.).A-invert-
ed.m and the values Q'.sub.m,k, k<N.sub.CW are obtained from
Equation (15).
[0054] If in addition the allocation of Q'.sub.m,k, k<N.sub.CW
are to ensured to be non-negative:
k < N CW : Q m , k ' = max ( ( Q all - m ~ = 0 M k - 1 Q m ~ , k
' - m ~ = 0 M N CW - 1 Q m ~ , N CW ' ) .beta. offset , ( m , k ) O
m , k P k , 0 ) then Eq . ( 26 ) k < N CW : Q m , k ' = max ( (
Q all - m ~ = 0 M N CW - 1 Q m ~ , N CW ' ) .beta. offset , ( m , k
) O m , k P k + m ~ = 0 M k - 1 .beta. offset , ( m ~ , k ) O m ~ ,
k , 0 ) Eq . ( 27 ) ##EQU00021##
and Q'.sub.m,N.sub.CW are still given by Equation (25).
[0055] In particular embodiments (such as, for example, certain
embodiments implementing LTE-Advanced), transmitter 100 may utilize
the following equations in situations in which a rank one diversity
encoding is used for RI and HARQ-ACK, allowing only the maximum
spectral efficiency of a layer one transmission, while CQI/PMI is
spatially multiplexed with a single user data codeword, providing
the same peak spectral efficiency as the user data codeword it is
multiplexed with (limited, however, to infinity).
Q CQI ' = max ( ( Q all - Q CQI ' - Q HARQ - ACK ' - Q RI ' ) P k
CQI , 0 ) .beta. offset CQI O CQI ##EQU00022## Q HARQ - ACK ' = max
( 1 P k CQI Q all - Q CQI ' - Q HARQ - ACK ' - Q RI ' P k CQI _ Q
all - Q HARQ - ACK ' - Q RI ' + , 1 s max ) .beta. offset HARQ -
ACK O HARQ - ACK ##EQU00022.2## Q RI ' = max ( 1 P k CQI Q all - Q
CQI ' - Q HARQ - ACK ' - Q RI ' + P k CQI _ Q all - Q HARQ - ACK '
- Q RI ' , 1 s max ) .beta. offset RI O RI ##EQU00022.3##
The above expression can be rewritten as:
Q CQI ' = max ( Q all - Q HARQ - ACK ' - Q RI ' P k CQI + .beta.
offset CQI O CQI , 0 ) .beta. offset CQI O CQI Eq . ( 28 ) Q HARQ -
ACK ' = max ( Q all - Q RI ' k = 0 N CW P k + .beta. offset CQI O
CQI + , 1 s max .beta. offset HARQ - ACK O HARQ - ACK ) .beta.
offset HARD - ACK O HARQ - ACK = max ( Q all k = 0 N CW P k +
.beta. offset CQI O CQI + .beta. offset HARQ - ACK O HARQ - ACK +
.beta. offset RI O RI , 1 s max ) .beta. offset HARD - ACK O HARQ -
ACK Eq . ( 29 ) Q RI ' = max ( Q all - Q HARQ - ACK ' k = 0 N CW P
k + .beta. offset CQI O CQI + .beta. offset RI O RI , 1 s max )
.beta. offset RI O RI = max ( Q all k = 0 N CW P k + .beta. offset
CQI O CQI + .beta. offset HARQ - ACK O HARQ - ACK + .beta. offset
RI O RI , 1 s max ) .beta. offset RI O RI Eq . ( 30 )
##EQU00023##
[0056] As explained above, a different offset parameter, {tilde
over (.beta.)}.sub.offset,m, may be used in the large control
payload compensation in the nominal inverse spectral efficiency
estimation.
[0057] Additionally, in particular embodiments, transmitter 100 may
ignore the overhead of the HARQ-ACK when performing the allocation
for RI and CQI/PMI. This may provide the advantage that the
O.sup.HARQ-ACK determined by transmitter 100 may not be perfectly
known at the relevant receiver, due for example to downlink grants
that where missed by transmitter 100. It may therefore be
detrimental to introduce a dependence on O.sup.HARQ-ACK into the
allocation for the other control signals. Hence, transmitter 100
may use values for Q'.sub.CQI and Q'.sub.RI that can be expressed
as
Q CQI ' = max ( Q all - Q CQI ' - Q RI ' P k CQI , 0 ) .beta.
offset CQI O CQI ##EQU00024## Q RI ' = max ( 1 P k CQI Q all - Q
CQI ' - Q RI ' + P k CQI _ Q all - Q RI ' , 1 s max ) .beta. offset
RI O RI ##EQU00024.2##
from which Q'.sub.CQI and Q'.sub.RI can be solved in closed
(triangularized) form as:
Q RI ' = max ( Q all k = 0 N CW P k + .beta. offset CQI O CQI +
.beta. offset RI O RI , 1 s max ) .beta. offset RI O RI Equation (
31 ) Q RI ' = max ( Q all k = 0 N CW P k + .beta. offset CQI O CQI
+ .beta. offset RI O RI , 1 s max ) .beta. offset RI O RI Equation
( 32 ) ##EQU00025##
[0058] However, the asymmetry introduced by ignoring the overhead
of Q'.sub.HARQ-ACK in the expressions Q'.sub.CQI and Q'.sub.RI
makes it more difficult to derive a closed-form expression for
Q'.sub.HARQ-ACK. Nonetheless, transmitter 100 may use any of
several closed-form allocation formulas for Q'.sub.HARQ-ACK that
closely approximate the desired allocation. One technique for doing
so is to also ignore the overhead of Q'.sub.HARQ-ACK in the
estimate of the nominal inverse spectral efficiency for the
allocation of Q'.sub.HARQ-ACK such that:
Q HARD - ACK ' = max ( 1 P k CQI Q all - Q CQI ' - Q RI ' + P k CQI
_ Q all - Q RI ' , 1 s max ) .beta. offset HARQ - ACK O HARQ - ACK
Eq . ( 33 ) ##EQU00026##
In such embodiments, transmitter 100 may obtain a closed-form
expression for Q'.sub.HARQ-ACK in a similar manner to Q'.sub.RI.
That is, transmitter 100 may use the following expression:
Q HARD - ACK ' = max ( Q all k = 0 N CW P k + .beta. offset CQI O
CQI + .beta. offset RI O RI , 1 s max ) .beta. offset HARQ - ACK O
HARQ - ACK . Eq . ( 34 ) ##EQU00027##
As one alternative, particular embodiments of transmitter 100 may
use the following expression for Q'.sub.HARQ-ACK:
Q HARD - ACK ' = max ( Q all k = 0 N CW P k + .beta. offset HARQ -
ACK O HARQ - ACK + .beta. offset CQI O CQI + .beta. offset RI O RI
, 1 s max ) .beta. offset HARQ - ACK O HARQ - ACK Eq . ( 35 )
##EQU00028##
which is motivated by the inequality:
Q HARQ - ACK ' = max ( Q all k = 0 N CW P k + .beta. offset HARQ -
ACK O HARQ - ACK + .beta. offset CQI O CQI + .beta. offset RI O RI
, 1 s max ) .beta. offset HARQ - ACK O HARQ - ACK .gtoreq. max ( 1
P k CQI Q all - Q CQI ' - Q HARQ - ACK ' - Q RI ' + P k CQI _ Q all
- Q HARQ - ACK ' - Q RI ' , 1 s max ) .beta. offset HARQ - ACK O
HARQ - ACK ##EQU00029##
The inequality results from the fact that, if the overhead of
Q'.sub.HARQ-ACK was accounted for when computing Q'.sub.CQI and
Q'.sub.RI, the equality would hold. By accounting for the overhead,
Q'.sub.CQI and Q'.sub.RI are reduced, which yields the inequality.
If no maximum spectral efficiency cap is required, transmitter 100
may perform the allocation using the formulas above but forgoing
the max( ) operation.
[0059] 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 of multiple codewords or layers in
making the allocation. Additionally, certain embodiments accurately
account for the amount of transmission resources that will be used
for control signaling when estimating the supported inverse
spectral efficiency of the transmission channel, resulting in a
more accurate estimate and, thus, an improved 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.
[0060] 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. FIGS. 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).
[0061] FIG. 2 is a functional block diagram showing in greater
detail the operation of a particular embodiment of carrier
modulator 112. In particular, FIG. 2 illustrates an embodiment of
carrier modulator 112 that might be used by an embodiment of
transmitter 100 that utilizes 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.
[0062] 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 precoded by precoder 204
using a precoding matrix, W, that is (N.sub.T.times.r) in size,
where N.sub.T represents the number of transmission antennas 114 to
be used by transmitter 100 and r represents the number of
transmission layers that will be used by transmitter 100. This
precoder matrix combines and maps the r information streams onto
N.sub.T 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.
[0063] 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.
[0064] FIG. 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 FIG. 3, the illustrated embodiment of
transmitter 100 includes a processor 310, a memory 320, a
transceiver 330, and a plurality of antennas 114.
[0065] 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 FIG. 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
interoperate in any appropriate manner. In particular embodiments,
some or all of the functionality described above with respect to
FIGS. 1 and 2 may be implemented by processor 310 executing
instructions and/or operating in accordance with its hardwired
logic.
[0066] 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 non-volatile, 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 FIG. 3, memory 320 may
include one or more physical components local to or remote from
transmitter 100.
[0067] 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 FIG. 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.
[0068] FIG. 4 is a flowchart detailing example operation of a
particular embodiment of transmitter 100. In particular, FIG. 4
illustrates operation of an embodiment of transmitter 100 in
allocating transmission resources to the transmission of control
codewords 120 conveying M different control signals. The steps
illustrated in FIG. 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.
[0069] Operation begins at step 402 with transmitter 100
determining a number of bits in one or more user data codewords 122
to be transmitted during a 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 or only a subset of those user data codewords
122. For example, in certain embodiments, transmitter 100 may
determine the number of bits in step 402 based only on the user
data codewords 122 to be transmitted on certain transmission
layers.
[0070] In particular embodiments, transmitter 100 may be configured
to selectively utilize the techniques described above to provide
more accurate estimates of the optimal allocation for control
signaling. For example, in particular embodiments, transmitter 100
may utilize the above described techniques when a compensation
feature of transmitter 100 has been activated (e.g., as a result of
instructions from a serving base station). Therefore, in such
embodiments, transmitter 100 may determine whether a compensation
feature of transmitter 100 is activated as part of allocating
vector symbols to user data and control signaling. For the
illustrated example, it is assumed that transmitter 100 determines
that the compensation feature is activated as shown at step 404. In
the illustrated embodiment, transmitter 100 will then use the
resource allocation techniques described above, because the
compensation feature is activated, rather than using an alternative
allocation technique that does not account for the effect of
control signaling allocation on the available resources for
transmitting user data or does not account for each of the control
signals separately. Alternative embodiments of transmitter 100 may
be configured to always use such compensation.
[0071] At step 406, transmitter 100 then uses the number of bits of
user data codewords 122 to be transmitted during the subframe to
calculate a number of vector symbols 124 to allocate to the payload
of each of the M control signals. As discussed above, transmitter
100 also bases this calculation in part on an estimate of the
number of user data vector symbols onto which the user data
codewords 122 will be mapped (e.g., as reflected by an estimated
inverse spectral efficiency for user data). In particular
embodiments, the estimated number of user data vector symbols
depends on the number of control vector symbols that would result
if the calculated number of user data vector symbols were in
actuality allocated to the transmission of user data. The estimated
number of user data vector symbols also depends on the amount of
transmission resources allocated to the payload for at least one
other of the M control information signals. As discussed above, in
particular embodiments, the estimated number of user data vector
symbols may depend on the transmission resources allocated to the
payload of a particular subset of control signals selected based on
how the relevant control signals are multiplexed with and/or
affects the overhead of the various user data codewords to be
transmitted during the subframe in question.
[0072] For the purposes of the example in FIG. 4, transmitter 100
calculates a nominal number of control vector symbols (Q') for each
of the M control signals such that:
Q'.sub.m=f.sub.m(P,{circumflex over (Q)}.sub.data,0(Q), . . .
,{circumflex over
(Q)}.sub.data,N.sub.CW.sub.-1(Q),.beta..sub.offset,m,O.sub.m)
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 discussed above. Because Q'.sub.m is a function of
{circumflex over (Q)}.sub.data,k, which itself depends on Q'.sub.m,
in particular embodiments, transmitter 100 may solve for the values
of Q'.sub.m and {circumflex over (Q)}.sub.data,k recursively.
Alternatively, transmitter 100 may utilize a formulation that
permits Q'.sub.m for each control signal to be expressed in a
closed form, and thereby enables transmitter 100 to solve for
Q'.sub.m explicitly. For example, as part of step 406, transmitter
100 may estimate {circumflex over (Q)}.sub.data as:
Q ^ data , k ( Q ' ) = Q all - m = 0 M - 1 .alpha. k , m Q m ' ,
##EQU00030##
where .alpha..sub.km are linear, typically non-negative,
weights.
[0073] In particular embodiments, Q'.sub.m may represent a nominal
number of control vector symbols for the m-th control signal, and
transmitter 100 may apply certain additional processing steps to
this nominal number of control vector symbols to produce an
appropriate final number of control vector symbols 124 for the
transmission. Non-limiting examples of this processing are shown in
steps 408-412. For example, the illustrated embodiment of
transmitter 100 compares the nominal number of control vector
symbols 124 for each of the control signals to a minimum number
that transmitter 100 is configured to use in transmitting control
codewords 120 at step 408. This minimum number of control vector
symbols 124 may be a generic minimum threshold applied to all
control codeword 120 transmissions or may be a minimum determined
by transmitter 100 for this specific transmission (for example,
based on the payload of the control codewords 120 to be
transmitted). Transmitter 100 may then select the greater of the
nominal calculated number and the minimum number as the number of
vector symbols 124 to allocate to control information, as shown at
step 410.
[0074] In addition, or as an alternative, to ensuring a minimum
allocation, transmitter 100 may be configured to perform any other
appropriate post-processing to the nominal number of vector symbols
124 for each of the M control signals, such as converting these
nominal numbers to integer values (e.g., by applying a ceiling
operation) or otherwise increasing or decreasing the nominal
numbers to ensure a final number for each control signal within a
certain range, as represented by step 412. Transmitter 100 may then
use the respective nominal number or the output of any additional
post-processing as the final number of vector symbols 124 to
allocate to a particular control signal.
[0075] After determining the final number of vector symbols 124 to
allocate to each of the M control signals, transmitter 100 then
maps each of the M control codewords 120 available for transmission
to the calculated final number of vector symbols 124 for that
particular control codeword at step 414. Transmitter 100 may
perform any appropriate processing of the control vector symbols
124 to permit transmission of the control vector symbols 124 to a
receiver in communication with transmitter 100 including, for
example, the processing described above with respect to FIG. 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 416. Operation of transmitter 100 with respect to
transmitting these particular control codewords 120 may then end as
shown in FIG. 4.
[0076] FIG. 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 of 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 responsible for scheduling the
wireless terminal's use of transmission resources (such as an LTE
eNodeB).
[0077] As shown in FIG. 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. Processor 510, memory 520,
transceiver 530, and antennas 540 may represent identical or
analogous elements to the similarly-named elements of FIG. 3. In
particular embodiments of network node 500, some or all of the
functionality of network node 500 described below with respect to
FIGS. 6 and 7 may be implemented by processor 510 executing
instructions and/or operating in accordance with its hardwired
logic.
[0078] FIG. 6 is a flowchart detailing example operation of a
particular embodiment of network node 500. In particular, FIG. 6
illustrates operation of an embodiment of network node 500 in
receiving and decoding control codewords 120 for M different
control signals received from transmitter 100. The steps
illustrated in FIG. 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.
[0079] Operation of network node 500 begins at step 602 with
network node 500 receiving a plurality of vector symbols 124 from
transmitter 100. The plurality of vector symbols 124 include vector
symbols 124 carrying control associated with M different control
signals. 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 user data and the
various control signals. As a result, network node 500 may
determine the number of the received vector symbols 124 that
transmitter 100 used to transmit control codewords 120 for each of
the M control signals.
[0080] To properly decode the received vector symbols 124, network
node 500 may need to follow the same or an analogous procedure to
what transmitter 100 used to determine 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") for
each of the M control signals using any of the techniques described
above. An example of this process for the example embodiment is
shown at steps 604-608 of FIG. 6. In particular, FIG. 6 describes
operation of an embodiment of network node 500 that communicates
with the transmitter 100 described by FIGS. 1-3. Thus, network node
500 performs steps 604-614 in a similar or analogous fashion to
that described above for the similarly-captioned steps in FIG.
3.
[0081] After network node 500 has determined the final number of
vector symbols 124 that transmitter 100 allocated to control
codewords 120 for each of the M control signals, network node 500
decodes vector symbols 124 received for each control signal based
on this number at step 616. 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 and/or which control signal a particular vector
symbols 124 is carrying information for. If transmitter 100 has
encoded control signaling and/or user data using different encoding
schemes, network node 500 may then apply a different decoding
scheme to the two types of vector symbols 124 or to the vector
symbols carrying the various control signals. Operation of network
node 500 with respect to decoding the received symbol vectors may
then terminate as shown in FIG. 6.
[0082] FIG. 7 is a flowchart detailing example operation of a
particular embodiment of network node 500 responsible for
scheduling the use of transmission resources by transmitter 100.
The steps illustrated in FIG. 7 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.
[0083] In FIG. 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 and 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.
[0084] 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 allocation, network node 500 may determine the
amount 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 suitable source.
[0085] Furthermore, in particular embodiments, network node 500
determines this overall allocation based on the assumption that
transmitter 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 resources 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 symbols, network node 500 may likewise estimate
the control allocation based on an estimated allocation for user
data. Furthermore, in determining a total allocation for
transmitter 100, network node 500 may also account for the fact
that, as described above, transmitter 100 will consider the
resulting control vector symbol allocation when allocating vector
symbols 124 to user 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
are dependent upon one another. Thus, in particular embodiments,
network node 500 may determine the total allocation recursively. An
example of this is shown by step 704 of FIG. 7.
[0086] 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 for each of M control
signals, 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 to the nominal number to
calculate the final estimated number of control vector symbols.
[0087] 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 FIG. 7. For example, in certain LTE embodiments, network
node 500 may generate 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
determined 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 FIG. 7.
[0088] 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.
* * * * *