U.S. patent application number 13/463445 was filed with the patent office on 2013-05-23 for link adaptation for multimode mimo wireless system.
This patent application is currently assigned to Broadcom Corporation. The applicant listed for this patent is Mrinmoy Jana, Gowrisankar SOMICHETTY, Djordje Tujkovic, Shashidhar Vummintala. Invention is credited to Mrinmoy Jana, Gowrisankar SOMICHETTY, Djordje Tujkovic, Shashidhar Vummintala.
Application Number | 20130128937 13/463445 |
Document ID | / |
Family ID | 48426847 |
Filed Date | 2013-05-23 |
United States Patent
Application |
20130128937 |
Kind Code |
A1 |
SOMICHETTY; Gowrisankar ; et
al. |
May 23, 2013 |
LINK ADAPTATION FOR MULTIMODE MIMO WIRELESS SYSTEM
Abstract
A wireless receiver is disclosed that is capable of efficiently
selecting a preferred transmission/detection scheme for use in
wireless communication. The wireless receiver may be capable of
communicating using any one of several transmission/detection
schemes. Therefore, in order to select a preferred
transmission/detection scheme, the wireless receiver calculates at
least one metric for the transmission/detection schemes. In MIMO
systems, the link adaptation is more complex and the metrics
typically must be more accurate. Because of the potentially
substantial amount of calculation that may be required to calculate
the metric, the wireless receiver is capable of performing the
individual calculations in optimized ways, as well as easily
reducing the total number of metrics required to be calculated so
as to reduce overall complexity.
Inventors: |
SOMICHETTY; Gowrisankar;
(Bangalore, IN) ; Tujkovic; Djordje; (Santa Clara,
CA) ; Vummintala; Shashidhar; (Bangalore, IN)
; Jana; Mrinmoy; (Bangalore, IN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SOMICHETTY; Gowrisankar
Tujkovic; Djordje
Vummintala; Shashidhar
Jana; Mrinmoy |
Bangalore
Santa Clara
Bangalore
Bangalore |
CA |
IN
US
IN
IN |
|
|
Assignee: |
Broadcom Corporation
Irvine
CA
|
Family ID: |
48426847 |
Appl. No.: |
13/463445 |
Filed: |
May 3, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61562196 |
Nov 21, 2011 |
|
|
|
Current U.S.
Class: |
375/224 |
Current CPC
Class: |
Y02D 70/24 20180101;
H03D 7/16 20130101; H04W 52/0216 20130101; H04L 41/0803 20130101;
Y02D 70/1262 20180101; Y02D 70/164 20180101; Y02D 70/23 20180101;
Y02D 70/146 20180101; H04W 28/0263 20130101; Y02D 30/70
20200801 |
Class at
Publication: |
375/224 |
International
Class: |
H04W 24/00 20090101
H04W024/00 |
Claims
1. A wireless receiver capable of communicating with a wireless
transmitter within a wireless communication environment, the
wireless receiver comprising: a measurement module configured to
measure, based on a signal received from the wireless transmitter,
a communication parameter; a memory module configured to store
transmission schemes that may be implemented by the wireless
transmitter; and a link adaptation module configured to select,
from the stored transmission schemes, a preferred transmission
scheme based on the communication parameter, the link adaptation
module including: a constraint module configured to determine a
performance constraint; and a metric computation module configured
to calculate a metric based on the communications parameter by
which to compare each of the transmission schemes that satisfy the
performance constraint.
2. The wireless receiver of claim 1, wherein each of the
transmission schemes is defined by a corresponding combination of
transmission parameters.
3. The wireless receiver of claim 1, wherein the communication
parameter is indicative of a characteristic of a channel over which
the received signal was communicated.
4. The wireless receiver of claim 1, wherein the memory module is
configured to store constraint sets corresponding to at least one
of wireless receiver performance, wireless transmitter
capabilities, and channel conditions, and wherein the constraint
module is configured to determine the performance constraint based
on the stored constraint sets.
5. The wireless receiver of claim 1, wherein the metric computation
module is configured to generate a subset of viable transmission
schemes that satisfy the performance constraint, and wherein the
metric computation module calculates a metric only for each of the
viable transmission schemes.
6. The wireless receiver of claim 5, wherein the metric computation
module is configured to calculate a first metric for a first viable
transmission scheme and to calculate a second metric for a second
viable transmission scheme, wherein the first metric is different
from the second metric.
7. The wireless receiver of claim 1, further comprising a decision
module configured to compare the metrics calculated by the metric
computation module, and to select the preferred transmission scheme
based on the comparison.
8. The wireless receiver of claim 7, wherein the decision module is
configured to select, as the preferred transmission scheme, the
transmission scheme having a preferred metric from among the
transmission schemes.
9. A multilayer wireless receiver capable of communicating with a
wireless transmitter within a wireless communication environment
over multiple layers, the wireless receiver comprising: a metric
computation module configured to determine a plurality of viable
transmission/detection scheme pairs, and to calculate a metric for
each of the viable transmission/detection scheme pairs, wherein the
metric is calculated individually for each of the multiple
layers.
10. The multilayer wireless receiver of claim 9, wherein the metric
includes per layer signal-to-noise ratio.
11. The multilayer wireless receiver of claim 10, wherein the
metric computation module is configured to calculate an average
signal-to-noise ratio across the multiple layers and a channel
differential, and wherein the metric computation module is
configured to calculate the per layer signal-to-noise ratio for a
first channel by adding the calculated channel differential to the
average signal-to-noise ratio, and for a second channel by
subtracting the calculated channel differential from the average
signal-to-noise ratio.
12. The multilayer wireless receiver of claim 9, wherein the at
least one metric includes per layer normalized modulation
constrained capacity.
13. The multilayer wireless receiver of claim 12, wherein the
metric computation module is configured to calculate the normalized
modulation constrained capacity for a first layer based on a
modulation of the first layer, a modulation of a second layer,
effective signal-to-noise ratio of the first layer, signal-to-noise
offset of the second layer with respect to the first layer, and
orthogonality of the first and second layers.
14. The multilayer wireless receiver of claim 12, wherein the
metric computation module is configured to calculate the per layer
normalized modulation constrained capacity based on a conditional
probability of values of a transmitted data symbol based on the
values of a received data symbol corresponding to the transmitted
symbol.
15. The multilayer wireless receiver of claim 14, wherein the
metric computation module calculates the conditional probability as
a combination of sub-probabilities of a plurality of bits of the
transmitted data symbol, and wherein metric computation module is
configured to calculate the sub-probabilities from the log
likelihood ratios of the corresponding bits.
16. A method of selecting a preferred transmission/detection scheme
by a wireless receiver that is capable of communicating with a
wireless transmitter via a wireless communication environment, the
method comprising: measuring a signal received from the wireless
transmitter to obtain a communication parameter; determining a
plurality of viable transmission/detection schemes that fall within
a performance constraint; calculating a metric for each of the
viable transmission/detection schemes based on the communication
parameter; comparing the calculated metrics of the viable
transmission/detection schemes; selecting, based on the comparison,
a preferred transmission/detection scheme; and informing the
wireless transmitter of the preferred transmission/detection
scheme.
17. The method of claim 16, wherein the wireless transmitter and
the wireless receiver communicate over multiple layers, and wherein
the calculating of the metric includes, for each of the viable
transmission/detection schemes, calculating the metric individually
for each of the multiple layers.
18. The method of claim 17, wherein the calculating of the metric
includes calculating a first metric for a first subset of the
viable transmission/detection schemes and calculating a second
metric for a second subset of the viable transmission/detection
schemes.
19. The method of claim 17, wherein each of the multiple layers
includes a plurality of channels, and wherein the calculating of
the metric individually for each of the multiple layers includes
calculating, for each of the multiple layers, the metric
individually for each of the channels.
20. The method of claim 16, wherein the calculating of the metric
includes: calculating a first metric for the viable
transmission/detection schemes; selecting, based on the calculating
of the first metric, a subset of the viable transmission/detection
schemes; and calculating a second metric for the subset of the
viable transmission/detection schemes, wherein the first metric
requires less computation to calculate than the second metric, and
wherein the comparing of the calculated metrics includes comparing
the calculated second metrics.
21. The method of claim 16, wherein the wireless transmitter and
the wireless receiver communicate over multiple layers, and wherein
the calculating of the metric includes: sub-sampling channels for
which the metric can be calculated; and calculating the metric
individually for each of the sub-sampled layers.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application claims the benefit of U.S.
Provisional Patent Application No. 61/562,196, filed Nov. 21, 2011,
entitled "Fourth Generation (4G) Communication Systems," which is
incorporated herein by reference in its entirety.
BACKGROUND
[0002] 1. Field of Invention
[0003] The disclosure relates to wireless communications, and more
specifically to a wireless communication device that is capable
performing link adaptation calculations with reduced complexity
within a MIMO wireless system.
[0004] 2. Related Art
[0005] Wireless communication devices, such as cellular telephones
to provide an example, are becoming commonplace in both personal
and commercial settings. The wireless communication devices provide
users with access to all kinds of information, as well as the
ability to communicate with other such devices across large
distances. For example, a user can access the internet through an
internet browser on the device, download miniature applications
(e.g., "apps") from a digital marketplace, send and receive emails,
or make telephone calls using a voice over internet protocol
(VoIP). Consequently, wireless communication devices provide users
with significant mobility, while allowing them to remain
"connected" to communication channels and information.
[0006] Wireless communication devices communicate with one or more
other wireless communication devices or wireless access points to
send and receive data. Typically, a first wireless communication
device generates and transmits a radio frequency signal modulated
with encoded information. This radio frequency signal is
transmitted into a wireless environment and is received by a second
wireless communication device. The second wireless communication
device demodulates and decodes the received signal to obtain the
information. The second wireless communication device may then
respond in a similar manner. The wireless communication devices can
communicate with each other or with access points using any
well-known modulation scheme, including amplitude modulation (AM),
frequency modulation (FM), quadrature amplitude modulation (QAM),
phase shift keying (PSK), quadrature phase shift keying (QPSK),
and/or orthogonal frequency-division multiplexing (OFDM), as well
as any other communication scheme that is now, or will be,
known.
[0007] The receiving device may perform a link adaptation
calculation in order to determine an optimal transmission scheme to
be used for communication. This conventionally includes selecting a
metric and, for each combination of transmission parameters (e.g.,
for each possible transmission scheme), calculating the metric.
Although this is an acceptable method for simpler systems that do
not include significant numbers of transmission parameters,
performing these calculations can be extremely cumbersome for a
more complex system (such as, for example, a closed loop MIMO
system capable of supporting layers), and therefore may require an
unacceptable amount of processing and/or operating power.
BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES
[0008] Embodiments are described with reference to the accompanying
drawings. In the drawings, like reference numbers indicate
identical or functionally similar elements. Additionally, the left
most digit(s) of a reference number identifies the drawing in which
the reference number first appears.
[0009] FIG. 1 illustrates a block diagram of an exemplary wireless
communication environment;
[0010] FIG. 2 illustrates a block diagram of an exemplary receiver
that is implemented as part of the wireless communication
environment;
[0011] FIG. 3 illustrates an exemplary link adaptation module that
may be implemented within the receiver;
[0012] FIG. 4 illustrates an exemplary method for selecting a
preferred transmission/detection scheme; and
[0013] FIG. 5 illustrates an exemplary computer system that can be
used to implement aspects of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0014] The following Detailed Description refers to accompanying
drawings to illustrate exemplary embodiments consistent with the
invention. References in the Detailed Description to "one exemplary
embodiment," "an exemplary embodiment," "an example exemplary
embodiment," etc., indicate that the exemplary embodiment described
may include a particular feature, structure, or characteristic, but
every exemplary embodiment may not necessarily include the
particular feature, structure, or characteristic. Moreover, such
phrases are not necessarily referring to the same exemplary
embodiment. Further, when a particular feature, structure, or
characteristic is described in connection with an exemplary
embodiment, it is within the knowledge of those skilled in the
relevant art(s) to affect such feature, structure, or
characteristic in connection with other exemplary embodiments
whether or not explicitly described.
[0015] The exemplary embodiments described herein are provided for
illustrative purposes, and are not limiting. Other exemplary
embodiments are possible, and modifications may be made to the
exemplary embodiments within the spirit and scope of the
disclosure. Therefore, the Detailed Description is not meant to
limit the invention. Rather, the scope of the invention is defined
only in accordance with the following claims and their
equivalents.
[0016] Embodiments may be implemented in hardware (e.g., circuits),
firmware, software, or any combination thereof. Embodiments may
also be implemented as instructions stored on a machine-readable
medium, which may be read and executed by one or more processors. A
machine-readable medium may include any mechanism for storing or
transmitting information in a form readable by a machine (e.g., a
computing device). For example, a machine-readable medium may
include read only memory (ROM); random access memory (RAM);
magnetic disk storage media; optical storage media; flash memory
devices; electrical, optical, acoustical or other forms of
propagated signals (e.g., carrier waves, infrared signals, digital
signals, etc.), and others. Further, firmware, software, routines,
instructions may be described herein as performing certain actions.
However, it should be appreciated that such descriptions are merely
for convenience and that such actions in fact results from
computing devices, processors, controllers, or other devices
executing the firmware, software, routines, instructions, etc.
Further, any of the implementation variations may be carried out by
a general purpose computer, as described below.
[0017] For purposes of this discussion, the term "module" shall be
understood to include at least one of software, firmware, and
hardware (such as one or more circuit, microchip, or device, or any
combination thereof), and any combination thereof. In addition, it
will be understood that each module may include one, or more than
one, component within an actual device, and each component that
forms a part of the described module may function either
cooperatively or independently of any other component forming a
part of the module. Conversely, multiple modules described herein
may represent a single component within an actual device. Further,
components within a module may be in a single device or distributed
among multiple devices in a wired or wireless manner.
[0018] The following Detailed Description of the exemplary
embodiments will so fully reveal the general nature of the
invention that others can, by applying knowledge of those skilled
in relevant art(s), readily modify and/or adapt for various
applications such exemplary embodiments, without undue
experimentation, without departing from the spirit and scope of the
disclosure. Therefore, such adaptations and modifications are
intended to be within the meaning and plurality of equivalents of
the exemplary embodiments based upon the teaching and guidance
presented herein. It is to be understood that the phraseology or
terminology herein is for the purpose of description and not of
limitation, such that the terminology or phraseology of the present
specification is to be interpreted by those skilled in relevant
art(s) in light of the teachings herein.
[0019] Although the following description is to be described in
terms of wireless communication (specifically cellular
communication), those skilled in the relevant art(s) will recognize
that this description may also be applicable to other
communications that use wired, optical, or other wireless
communication methods without departing from the spirit and scope
of the present disclosure.
[0020] An Exemplary Wireless Communications Environment
[0021] FIG. 1 illustrates a block diagram of a wireless
communication environment 100 according to an exemplary embodiment
of the disclosure. The wireless communication environment 100
provides wireless communication of information, such as one or more
commands and/or data, between wireless communication devices. The
wireless communication devices may each be implemented as a
standalone or a discrete device, such as a mobile telephone, or may
be incorporated within or coupled to another electrical device or
host device, such as a portable computing device, a camera, or a
Global Positioning System (GPS) unit or another computing device
such as a personal digital assistant, a video gaming device, a
laptop, a desktop computer, or a tablet, a computer peripheral such
as a printer or a portable audio and/or video player to provide
some examples and/or any other suitable electronic device that will
be apparent to those skilled in the relevant art(s) without
departing from the spirit and scope of the invention.
[0022] The exemplary wireless communication environment 100
includes a wireless transmitter 110 and a wireless receiver 120.
Each of the wireless transmitter 110 and the wireless receiver 120
may be included within corresponding wireless communication devices
that are each capable of both wireless transmission and wireless
reception. The wireless transmitter 110 may represent an exemplary
embodiment of a base station, and the wireless receiver 120 may
represent an exemplary embodiment of a user equipment/subscriber
station within a cellular communications network.
[0023] The wireless transmitter 110 includes a scheduler 115 for
preparing outgoing signals for transmission in accordance with a
selected transmission scheme, and includes an antenna 111 for
transmitting the signals into the wireless communication
environment 100. Those skilled in the relevant art(s) will
recognize that the antenna 111 may include an array of N.sub.t
antennas, where N.sub.t is a positive integer, and that the antenna
111 may be capable of both transmitting and receiving signals.
[0024] The wireless receiver 120 includes a link adaptation module
125 configured to perform the link adaptation calculations in
accordance with one or more of the embodiments discussed in the
present disclosure, and includes an antenna 121 for receiving the
signals from the wireless communication environment 100. Those
skilled in the relevant art(s) will recognize that the antenna 121
may include an array of N.sub.r antennas, where N.sub.r is a
positive integer, and that the antenna 121 may be capable of both
transmitting and receiving signals.
[0025] Detailed functionality of the wireless receiver 120 and the
link adaptation module 125 are discussed below, with respect to the
relevant figures.
[0026] Exemplary Wireless Communication Device
[0027] FIG. 2 illustrates a block diagram of an exemplary wireless
receiver 200 that may be implemented as part of the wireless
communication environment 100. The wireless receiver 200 includes a
measurement module 220, a memory module 230, and a link adaptation
module 240, and may represent an exemplary embodiment of the
wireless receiver 120.
[0028] The wireless receiver 200 receives signals from the wireless
communication environment 100 via its antenna 205 connected to an
antenna module 210. Again, the antenna 205 may include N.sub.r
antennas, where N.sub.r is a positive integer. Each of the N.sub.r
antennas may be capable of individually receiving signals from the
wireless communication environment 100. The antenna module 210
forwards the received signals to the measurement module 220.
[0029] The measurement module 220 takes various measurements of the
received signals, which may be needed for performing the link
adaptation calculations. Such measurements may include, for
example, channel estimates (e.g. amplitude and phase response)
and/or noise powers. For example, the measurement module 220 may
measure a channel estimate H.sub.1, H.sub.2, . . . H.sub.M, for
each of M channels, where each channel H will have the size
N.sub.r.times.N.sub.t. The M channels can be distributed over the
frequency domain (e.g., as carriers in an OFDM system) or in the
time domain (e.g., space time codes). Similarly, the measurement
module 220 may calculate per channel noise plus interference powers
(hereinafter "noise power") .sigma..sub.i.sup.2, where i=1, 2, . .
. M. The measurement module 220 forwards the measurements to the
link adaptation module 240 for use in the link adaptation
calculation.
[0030] The measurement module 220 may also forward one or more
measurements and/or information to the memory module 230 for
storage. The memory module 230 stores various aspects and/or
parameters of the system that may be needed by the link adaptation
module 240 to perform the link adaptation calculations. Such
parameters may include a set of transmission schemes .THETA.
available with the current wireless transmitter 110, a set of
detection schemes .LAMBDA. available for use by the wireless
receiver 200, and a constraints set C that dictates various
limitations on the wireless receiver 200 and/or on calculations
performed by the wireless receiver 200, discussed in further detail
below. In an embodiment, these various parameters may be stored in
one or more look-up tables that are accessible by the link
adaptation module.
[0031] The link adaptation module 240 receives the measurements
from the measurement module 220 and the various parameters from the
memory module 230. Using this information, the link adaptation
module 240 performs the link adaptation calculations for the
wireless receiver 200 in order to determine a preferred
transmission scheme to be employed between the wireless transmitter
110 and the wireless receiver 200.
[0032] Once the link adaptation module 240 has determined a
preferred transmission scheme, the link adaptation module 240
informs the antenna module 210 of the preferred transmission
scheme, which forwards a signal to the wireless transmitter 110 via
the antenna 205. Upon receiving the preferred transmission scheme
from the wireless receiver 200, the wireless transmitter 110
instructs its scheduler 115 accordingly, which then employs the
preferred transmission scheme for communicating with the wireless
receiver 200.
[0033] Exemplary Link Adaptation Module
[0034] FIG. 3 illustrates an exemplary link adaptation module 300
that may be implemented within the wireless receiver 200. The link
adaptation module 300 includes a constraint module 310, a metric
computation module 320, and a decision module 330, and may
represent an exemplary embodiment of the link adaptation module
240.
[0035] In the link adaptation module 300, the constraint module 310
receives the constraint sets C from the memory module 230. From
these constraint sets, the constraint module 310 determines the
current constraints on the link adaptation.
[0036] 1. Exemplary Constraints
[0037] As discussed above, there may be several different
constraints on which the constraint module 310 may restrict the
transmission/detection schemes analyzed by the metric computation
module 320.
[0038] In one example, the constraint module 310 calculates a
constraint C.sub.1(H.sub.1, H.sub.1, . . . H.sub.M, .THETA.,
.LAMBDA.), where C.sub.1 denotes the exponent of the complexity of
a detector used in the receiver, under the possible channel model
represented by the channels H and the transmit/receiver pair
.THETA./.LAMBDA.. The constraint module 310 may require C.sub.1 to
be below a predetermined threshold. For example, if the constraint
module 310 requires C.sub.1 to be less than 1, then only linear
receivers will be permitted.
[0039] In another example, the constraint module 310 may restrict
channel uses and/or throughput. For example, the constraint module
310 may calculate the number of channel uses that can be allocated
to a user as constraint C.sub.2, and calculate the inverse of the
throughput that the user is expected to achieve as a part of the
Quality of Service (QoS) as constraint C.sub.3. The constraint
module 310 can then require each of these constraints C.sub.2 and
C.sub.3 to be below corresponding thresholds. In this manner, if
the constraint C.sub.2 is too tight, then the module can bias its
selection towards the higher rate transmission schemes (in terms of
spatial-time-frequency rate).
[0040] In another example, the constraint module 310 may restrict
power consumption. For example, the constraint module 310 may
calculate power consumption and any boundaries on power consumption
(e.g., battery life) as constraint C.sub.4, and may calculate the
inverse of the minimum QoS as constraint C.sub.5. The constraint
module 310 can then require each of these constraints C.sub.4 and
C.sub.5 to be below corresponding thresholds. In this manner, the
constraint module 310 will bias possible transmission/detection
schemes towards those which involve less receiver power
consumption.
[0041] In another example, the constraint module 310 may take into
account the spatial correlation factor. For example, the constraint
module 310 may calculate spatial correlation of the channel and
compare the result with predetermined thresholds to determined
possible transmission/detection schemes. If the spatial correlation
is high, the constraint module 310 will bias possible
transmission/detection schemes towards those that include fewer
layers.
[0042] Once the constraint module 310 has calculated the
constraints, the constraint module forwards the constraints to the
metric computation module 320.
[0043] 2. Exemplary Metric Computation Module
[0044] The metric computation module 320 measures at least one
metric for each applicable transmission and detection scheme. In
order to determine the applicable transmission and detection
schemes, the metric computation module 320 receives the set of
transmission schemes .THETA. and the set of detection schemes
.LAMBDA. from the memory module 230. The metric computation module
320 also receives the constraints from the constraint module 310.
By applying the constraints to the received set of transmission
schemes .THETA. and set of detection schemes .LAMBDA., the metric
module is able to determine the applicable transmission and
detection schemes {.THETA..sub.i, .LAMBDA..sub.i}.
[0045] Once the applicable transmission and detection schemes have
been determined, the metric computation module 320 then calculates
at least one metric for a plurality of these applicable
transmission and detection scheme combinations. The metrics can be
selected based on desired performance characteristics (e.g., signal
quality, power consumption, etc.) and should provide some value or
other means by which to compare the abilities of the transmission
and detection scheme combinations to satisfy the desired
performance characteristics. Examples of such metrics include
Effective signal-to-noise ratio (SNR), effective exponential SNR
mapping (EESM), capacity based SNR metric, and normalized
modulation constrained capacity (NMCC) (also known as "receive bit
information rate (RBIR)"). It will be noted that the metric
computation module 320 need not calculate the same metric for each
of the transmission/detection scheme combinations. Further, the
metric may be represented as a function of the channel estimates,
the noise power, the applicable transmission schemes, and the
applicable detection schemes as .xi.(H.sub.1, H.sub.2, . . .
H.sub.M, .sigma..sup.2, .THETA., .LAMBDA.).
[0046] Once the metrics have been calculated for the plurality of
acceptable transmission and detection schemes, the metric
computation module 320 forwards the calculated metrics to the
decision module 330. The decision module 330 compares the
calculated metrics to each other and selects a preferred
transmission scheme and/or a preferred detection scheme based on
which of the metrics is preferred. In an embodiment, the preferred
metric may be the metric that best satisfies the desired
performance characteristic, and/or which may have the highest or
lowest value from among the similarly-calculated metrics.
[0047] Metric: Per Layer SNR
[0048] In an embodiment, the link adaptation module 300 may
calculate the SNR for each applicable transmission/detection
scheme. Although this calculation is relatively established for a
single-layer system (rank 1 system--a system that communicates only
a single data symbol per channel use), this calculation has
conventionally been unsuited to multi-layer systems due to its
complexity. Therefore, below is provided an exemplary configuration
for calculating a rank 2 (2-layer system) per layer SNR.
[0049] In this configuration, the measurement module 220 measures
the effective channel H between the receive antennas 205 and the
two layers in the rank 2 system. The effective channel H can thus
be represented as a [N.sub.r, 2] matrix. In addition, the
measurement module 220 also measures the average noise power
.sigma..sup.2 at the receive antennas. The measurement module 220
then forwards this information to the metric computation module 320
of the link adaptation module 300.
[0050] The metric computation module 320 first generates a matrix
A=H.sup.H.times.H, where ( ).sup.H represents the Hermitian
(transpose--conjugate)
[ A ( 1 , 1 ) A ( 1 , 2 ) A ( 1 , 2 ) * A ( 2 , 2 ) ] . ( 1 )
##EQU00001##
In this matrix, A(1,1) may represent the power from a first symbol
to all receive antennas, and A(2,2) represents the power from a
second symbol to all the receive antennas. A(1,2) and A(1,2)*
represent the leakage from one layer into the other.
[0051] From this information, the metric computation module 320
calculates the average SNR as:
Avg_Rank.sub.--2_SNR.sub.dB=10 log 10 ( {square root over
(|A|)})-10 log 10(.sigma..sup.2), (2)
where |A| represents the determinant of A. Equation (2) provides
the total SNR averaged over the different channels. However, in
order to obtain more accurate metric measurements, it may be
desired to determine the average SNR on each channel individually.
It has been found that the individual channel averages can be
calculated as functional differences of the Avg.sub.13
Rank.sub.--2_SNR.sub.dB. Therefore, the metric computation module
320 calculates the individual layer SNRs as:
Rank.sub.--2_Layer.sub.--1_SNR.sub.dB=Avg_Rank.sub.--2_SNR.sub.dB+.DELTA-
.(A).sub.dB, and (3)
Rank.sub.--2_Layer.sub.--2_SNR.sub.dB=Avg_Rank.sub.--2_SNR.sub.dB-.DELTA-
.(A).sub.dB, (4)
where .DELTA.(A) is a channel differential and is a function of
A.
[0052] Assuming that the layer 1 SNR is proportional to A(1,1) and
that the layer 2 SNR is proportional to A(2,2), the metric
computation module 320 can then, in one embodiment, calculate
.DELTA.(A).sub.dB as:
.DELTA. ( A ) dB = k * 10 log 10 ( A ( 1 , 1 ) A ( 2 , 2 ) ) , ( 5
) ##EQU00002##
where k is a tuning parameter. During implementation, it was
discovered that k value of 0.5 functioned as a good general
approximation for most multilayer receivers.
[0053] Once the metric computation module has calculated the
.DELTA.(A).sub.dB, the metric computation module 320 enters the
result into equations (3) and (4) in order to obtain the per layer
SNR metrics. The decision module 330 can then compare these
calculated metrics with those of other transmission schemes in
order to select a preferred transmission scheme.
[0054] It should be noted that, if the receiver detection is linear
(e.g., zero forcing (ZF), minimum mean squared error (MMSE), etc.),
the SNR metric for each layer, regardless of the number of layers,
is a direct function of H and .sigma..sup.2. In this case,
computing the SNR metrics is much simpler than in the above
equations. For example, in a zero forcing configuration, the first
layer SNR (SNR.sub.1) and the second layer SNR (SNR.sub.2) can be
calculated as:
SNR 1 = 1 .sigma. 2 .times. A A ( 2 , 2 ) , and ( 6 ) SNR 2 = 1
.sigma. 2 .times. A A ( 1 , 1 ) . ( 7 ) ##EQU00003##
[0055] It should be understood that, although the above equations
are specifically described with respect to a 2-layer system,
similar mathematical principles can be applied to systems having
more than two layers. Therefore, the present disclosure should not
be limited to a system having only two layers.
[0056] Metric: Per Layer NMCC
[0057] In an embodiment, an additional or alternative metric that
the link adaptation module 300 may calculate is the per layer NMCC.
In multilayer systems, multiple different factors may affect the
NMCC. For example, such factors may include the modulation of the
layer under consideration Q, the modulation of the other layer not
under consideration Q', the effective SNR of the layer under
consideration .gamma..sub.dB, layer, a channel orthogonality factor
.OMEGA.(A), and the SNR offset of the other layer with respect to
the layer under consideration .gamma..sub.offset.
[0058] Therefore, in this embodiment, the link adaptation module
300 acquires the modulations Q and Q' from the memory module 230
(the modulations Q and Q' are part of the transmission scheme and
thus can be derived from the information relating to the
transmission scheme). The metric computation module 320 calculates
the effective SNR of the layer under consideration .gamma..sub.dB,
layer using equations (1)-(5), above, and calculates the SNR offset
of the layer not under consideration .gamma..sub.offset by
comparing the calculated SNR of the layer not under consideration
to the SNR of the layer under consideration.
[0059] The metric computation module 320 also calculates the
channel orthogonality factors as:
.OMEGA. ( A ) layer 1 = A ( 1 , 2 ) A ( 1 , 1 ) , and ( 8 ) .OMEGA.
( A ) layer 2 = A ( 1 , 2 ) A ( 2 , 2 ) . ( 9 ) ##EQU00004##
After this information has been calculated, the metric computation
module 320 can then calculate the NMCC as a function of Q, Q',
.OMEGA.(A), .gamma..sub.dB, layer, and .gamma..sub.offset.
[0060] The NMCC, based on these values, can be precomputed
empirically and stored for future use. For example, the precomputed
values can be stored in a look-up table which can then be accessed
based on one or more variables, such as, for example, Q, Q',
.OMEGA.(A), .gamma..sub.dB, layer, and .gamma..sub.offset,
discussed above.
[0061] Metric: Receiver-Specific NMCC
[0062] Although the theoretically calculated per-layer NMCC is
applicable to most receivers, the characteristics of some receivers
may make the "theoretical" NMCC unsuitable. Therefore, rather than
employing the theoretical NMCC calculations, the NMCC can be
calculated and normalized based on the actual implemented receiver.
In other words, the NMCC can be calculated in an offline manner by
employing the implemented receiver and a simulated transmitter. The
pre-calculated NMCC values can be stored as part of look-up tables
in the memory module 230.
[0063] In this embodiment, wireless receiver 200 receives a signal
from the simulated wireless communication environment that includes
a plurality of symbols Y=[y.sub.0, y.sub.1, . . . , y.sub.|L|-1]
contained within a constellation L, where |L| is the size of the
constellation. The measurement module 220 measures the size of a
QAM constellation |L|, and forwards the constellation size |L|, as
well as received symbols Y of the received signal to the link
adaptation module 300.
[0064] Based on the information received from the measurement
module 220, the metric computation module 320 calculates the mutual
information .mu.(X, Y) between the received symbols Y and the
transmitted symbols X=[x.sub.0, x.sub.1, . . . , x.sub.|L|-1]
as:
.mu. ( X , y ) = 1 L x i i = 0 L - 1 E ( log 2 ( M .times. f x i y
( x i | y ) ) ) , ( 10 ) ##EQU00005## where M=log 2(|L|), and
(11)
where E(f.sub.a|b(a|b)) is the expectation of "a" given "b". In
other words, because the receiver knows the values of Y, equations
(10) and (11) calculate, in part, the expectation of a particular
transmitted value based on the received value.
[0065] Once the mutual information .mu.(X, Y) has been calculated,
the metric computation module 320 then calculates the NMCC with
respect to the constellation L as:
NMCC L = .mu. ( X , Y ) log 2 ( L ) . ( 12 ) ##EQU00006##
[0066] After performing the NMCC calculation, the link adaptation
module 300 may store the pre-calculated NMCC as part of look-up
tables within the memory module 230. These pre-calculated NMCC's
can then later be retrieved by the decision module 330 and compared
to one another so as to select a preferred configuration.
[0067] It should be noted that, although the conditioned
probability f.sub.x.sub.i.sub.|y can be easily computed for a rank
1 system, it becomes very difficult to compute for multilayer
systems (e.g., a rank 2 system). Therefore, when using a multilayer
communication configuration, the metric computation module 320
employs a simplified calculation for f.sub.x.sub.i.sub.|y. For
example, if the transmitted symbol x.sub.i has M bits, then the
bits of the transmitted symbol x.sub.i are b.sub.i=[b.sub.i,0,
b.sub.i,1, . . . b.sub.i,M-1]. The metric computation module 320
can then calculate the symbol probability as:
f.sub.x.sub.i.sub.|y=f.sub.b.sub.i,0.sub.|y.times.f.sub.b.sub.i,1.sub.|y
. . . f.sub.b.sub.i,M-1.sub.|y. (13)
[0068] By splitting the computation into individual bit
probabilities, the Log Likelihood Ratios calculated by the wireless
receiver 200 for error correction can be directly applied to easily
compute the conditioned bit probabilities f.sub.b.sub.i.sub.|y.
Consequently, the calculation can be significantly simplified over
conventional methods. Further, by operating on information actually
received by the wireless receiver 200, the multilayer performance
characteristics of the wireless receiver 200 can be taken into
account. As a result, if the receiver is close to optimal, the
calculated NMCC will be close to the theoretical value, whereas if
the receiver is suboptimal, the calculated NMCC will be compensated
for that condition and be less aggressive as a result.
[0069] Exemplary Configurations for Reducing Metric Calculation
Complexity
[0070] As can be seen from the above equations, for systems having
several possible transmission/detection configurations, the
complexity for calculating and comparing the metrics for all
possibilities can be extremely cumbersome. As a result, below are
described several configurations for reducing the complexity of the
computations.
[0071] As described above, some metrics are more complicated than
others to evaluate. In addition, some metrics are more accurate
than others. Therefore, in an embodiment, the metric computation
module 320 can calculate different metrics for selecting different
parameters in the transmission scheme. For example, each
transmission parameter may have a corresponding cardinality (e.g.,
number of options). For a parameter having a larger cardinality,
the metric computation module 320 can calculate metrics having
lower complexity, but also lower accuracy, in order to simplify the
selection process. Conversely, for parameters having smaller
cardinality, the metric computation module 320 can calculate
metrics having a higher accuracy, but also higher complexity.
[0072] In another embodiment, less accurate/low complexity metrics
can be initially calculated in order to reduce the set of values
that may be implemented for a particular transmission parameters.
For example, for a transmission parameter having a high
cardinality, the metric computation module may first calculate a
low-complexity, low accuracy metric for each of its possible
values. From this initial metric calculation, the decision module
330 may filter out only those parameter values whose metric exceeds
some threshold value. This subset of parameter values can then be
forwarded back to the metric computation module 320, which then
calculates a more complex, and more accurate metric for each of the
filtered parameter values. In this manner, simple calculations can
be performed on the large number of values in order to reduce the
number of possibilities, and then the complex calculations need
only be performed on those remaining.
[0073] In another embodiment, a metric computation for a single
transmission scheme can be broken up into more simplistic
calculations based on each individual channel. In particular, in a
MIMO system, due to metric dependencies, one layer may impact other
layers. Therefore, calculating a particular metric over all channel
uses would be extremely complex. Therefore, the metric computation
module 320 can calculate the metric for an M-channel configuration
as:
.xi. ( H 1 , H 2 , H M , .sigma. 2 , .THETA. ) .apprxeq. x = 1 M
.xi. ' ( H x , .sigma. 2 , .THETA. ) . ( 14 ) ##EQU00007##
The metric should be chosen such that the relationship of equation
(14) holds substantially true. One metric that has been found to
substantially satisfy this relationship is NMCC, however, there may
be several other metrics that achieve similar or improved
results.
[0074] In another embodiment, when the metric can be broken up by
channel, as shown in equation (14), it may also be possible to
subsample across the channels. In other words, rather than measure
each individual channel, the metric computation module 320 may be
able to measure only every s.sup.th channel in order to approximate
the metric. For example, the above summation may be further
simplified as:
x = 1 M .xi. ' ( H x , .sigma. 2 , .THETA. ) .apprxeq. k = 1 M / s
.xi. ' ( H sk , .sigma. 2 , .THETA. ) , ( 15 ) ##EQU00008##
where s is a subsampling factor, and H.sub.sk is the subsampled
channel. Using this approximation, the metric calculation for a
MIMO system can be even further simplified.
[0075] Exemplary Method for Selecting a Preferred
Transmission/Detection Scheme
[0076] FIG. 4 illustrates an exemplary method for selecting a
preferred transmission/detection scheme.
[0077] In the method, the wireless receiver receives a signal from
the wireless transmitter (410). The wireless receiver performs
various measurements of this signal, which may include channel
estimations, noise power, etc. (420). In addition, the wireless
receiver also calculates constraints that are to be implemented by
the wireless receiver (430). Such constraints may include power
consumption, complexity, quality of service, etc.
[0078] Once the constraints have been calculated, the wireless
receiver determines, as a subset of all possible
transmission/detection schemes, the acceptable
transmission/detection schemes that fall within the constraints
(440). The wireless receiver then calculates at least one metric
for each of the acceptable transmission/detection schemes (450),
based on the various signal measurements. Such metrics may include
power, SNR, NMCC, EESM, etc.
[0079] After metrics have been calculated, the wireless receiver
compares the calculated metrics to each other and selects, based on
the comparison, a preferred transmission/detection scheme (460).
For example, the preferred transmission/detection scheme may be the
transmission/detection scheme whose calculated metric exceeds the
metrics of all the other transmission/detection schemes. Once the
preferred transmission/detection scheme has been determined, the
wireless receiver transmits at least the preferred transmission
scheme to the wireless transmitter so that it may implement that
preferred transmission scheme for future communication (470).
[0080] Those skilled in the relevant art(s) will recognize that the
method can additionally or alternatively include any of the
functionality of the wireless receiver 200 and/or the link
adaptation module 300 discussed above, and the above description of
the exemplary method should neither be construed to limit the
method nor the description of the wireless receiver 200 or the link
adaptation module 300.
[0081] Exemplary Computer System Implementation
[0082] It will be apparent to persons skilled in the relevant
art(s) that various elements and features of the present
disclosure, as described herein, can be implemented it hardware
using analog and/or digital circuits, in software, through the
execution of instructions by one or more general purpose or
special-purpose processors, or as a combination of hardware and
software.
[0083] The following description of a general purpose computer
system is provided for the sake of completeness. Embodiments of the
present disclosure can be implemented in hardware, or as a
combination of software and hardware. Consequently, embodiments of
the disclosure may be implemented in the environment of a computer
system or other processing system. An example of such a computer
system 500 is shown in FIG. 5. One or more of the modules depicted
in the previous figures can be at least partially implemented on
one or more distinct computer systems 500, including, for example,
the measurement module 220, the link adaptation module 340, and any
of the constraint module 310, the metric computation module 320
and/or the decision module 330 contained therein.
[0084] Computer system 500 includes one or more processors, such as
processor 504. Processor 504 can be a special purpose or a general
purpose digital signal processor. Processor 504 is connected to a
communication infrastructure 502 (for example, a bus or network).
Various software implementations are described in terms of this
exemplary computer system. After reading this description, it will
become apparent to a person skilled in the relevant art(s) how to
implement the disclosure using other computer systems and/or
computer architectures.
[0085] Computer system 500 also includes a main memory 506,
preferably random access memory (RAM), and may also include a
secondary memory 508. Secondary memory 508 may include, for
example, a hard disk drive 510 and/or a removable storage drive
512, representing a floppy disk drive, a magnetic tape drive, an
optical disk drive, or the like. Removable storage drive 512 reads
from and/or writes to a removable storage unit 516 in a well-known
manner. Removable storage unit 516 represents a floppy disk,
magnetic tape, optical disk, or the like, which is read by and
written to by removable storage drive 512. As will be appreciated
by persons skilled in the relevant art(s), removable storage unit
516 includes a computer usable storage medium having stored therein
computer software and/or data.
[0086] In alternative implementations, secondary memory 508 may
include other similar means for allowing computer programs or other
instructions to be loaded into computer system 500. Such means may
include, for example, a removable storage unit 518 and an interface
514. Examples of such means may include a program cartridge and
cartridge interface (such as that found in video game devices), a
removable memory chip (such as an EPROM, or PROM) and associated
socket, a thumb drive and USB port, and other removable storage
units 518 and interfaces 514 which allow software and data to be
transferred from removable storage unit 518 to computer system
500.
[0087] Computer system 500 may also include a communications
interface 520. Communications interface 520 allows software and
data to be transferred between computer system 500 and external
devices. Examples of communications interface 520 may include a
modem, a network interface (such as an Ethernet card), a
communications port, a PCMCIA slot and card, etc. Software and data
transferred via communications interface 520 are in the form of
signals which may be electronic, electromagnetic, optical, or other
signals capable of being received by communications interface 520.
These signals are provided to communications interface 520 via a
communications path 522. Communications path 522 carries signals
and may be implemented using wire or cable, fiber optics, a phone
line, a cellular phone link, an RF link and other communications
channels.
[0088] As used herein, the terms "computer program medium" and
"computer readable medium" are used to generally refer to tangible
storage media such as removable storage units 516 and 518 or a hard
disk installed in hard disk drive 510. These computer program
products are means for providing software to computer system
500.
[0089] Computer programs (also called computer control logic) are
stored in main memory 506 and/or secondary memory 508. Computer
programs may also be received via communications interface 520.
Such computer programs, when executed, enable the computer system
500 to implement the present disclosure as discussed herein. In
particular, the computer programs, when executed, enable processor
504 to implement the processes of the present disclosure, such as
any of the methods described herein. Accordingly, such computer
programs represent controllers of the computer system 500. Where
the disclosure is implemented using software, the software may be
stored in a computer program product and loaded into computer
system 500 using removable storage drive 512, interface 514, or
communications interface 520.
[0090] In another embodiment, features of the disclosure are
implemented primarily in hardware using, for example, hardware
components such as application-specific integrated circuits (ASICs)
and gate arrays. Implementation of a hardware state machine so as
to perform the functions described herein will also be apparent to
persons skilled in the relevant art(s).
Conclusion
[0091] It is to be appreciated that the Detailed Description
section, and not the
[0092] Abstract section, is intended to be used to interpret the
claims. The Abstract section may set forth one or more, but not all
exemplary embodiments, and thus, is not intended to limit the
invention and the appended claims in any way.
[0093] The invention has been described above with the aid of
functional building blocks illustrating the implementation of
specified functions and relationships thereof. The boundaries of
these functional building blocks have been arbitrarily defined
herein for the convenience of the description. Alternate boundaries
may be defined so long as the specified functions and relationships
thereof are appropriately performed.
[0094] It will be apparent to those skilled in the relevant art(s)
that various changes in form and detail can be made therein without
departing from the spirit and scope of the disclosure. Thus, the
invention should not be limited by any of the above-described
exemplary embodiments, but should be defined only in accordance
with the following claims and their equivalents.
* * * * *