The invention generally relates to a method for selecting transmission parameters for a data transmission and a data transmission controller.
Adaptive modulation and coding (AMC) is an efficient tool to counteract fading and enhance the performance of wireless communication systems. The task of AMC is to select the best modulation and coding scheme (MCS) on the basis of channel state information (CSI) about the communication channel between a transmitter and a receiver so as to achieve higher data throughput of the communication system. Each MCS is associated with a coding rate and constellation size, which has a given bit rate. The packet error rate (PER) of the data transmission between the transmitter and the receiver can be used as a basis for a Quality of Service (QoS) constraint to select the best MCS for the current condition of the communication channel. The PER determines the number of retransmissions required which affects both throughput and delivery delay.
A method for selecting transmission parameters for a data transmission is provided comprising determining, for each of a plurality of transmission parameter settings, a data throughput that is expected when the transmission parameter setting is used for data transmission, wherein the data throughput is determined using a pre-generated mapping of transmission parameter settings to data throughputs and selecting a transmission parameter setting based on the determined expected data throughputs.
Illustrative embodiments of the invention are explained below with reference to the drawings.
The communication system 100 includes a transmitter 101 and a receiver 102. The transmitter 101 includes a plurality of transmit antennas 103, each transmit antenna 103 being coupled with a respective sending circuit 104.
Each sending circuit 104 is supplied with a component of a Nt×1 signal vector s=[s1, s2, . . . , sN
Since Nr and Nt are assumed to be bigger than one, the communication system 100 is a MIMO (multiple-input multiple-output) system, for example with Nt=Nr=4 or 8.
Each receive antenna 105 receives one component of the received signal vector r and the respective component is output by the receiving circuit 106.
For example, the communication system 100 is a communication system according to Wifi IEEE 802.11n, WiMax IEEE 802.16, or 3GPP LTE (Third Generation Partnership Project Long Term Evolution).
In one embodiment, the communication system 100 is a MIMO system associated with orthogonal frequency division multiplexing (OFDM). Various transmission modes can be considered for a given multiple antenna setting. These transmission modes include the space-time coding (STC), spatial division multiplexing (SDM), and hybrid SDM-STC modes.
The various transmission modes can be classified as open loop or closed loop. It is known as an open loop transmission mode when the channel state information about the communication channel 108 is known only to the receiver 102. When certain channel knowledge is known at the transmitter 101, the transmission mode is a closed loop transmission mode. When the transmitter 101 operates in closed-loop mode there is the possibility of performing a singular value decomposition (SVD) of the channel matrix to diagonalize the channel for each OFDM subcarrier as will be explained in more detail below.
In the embodiments described in the following, it is assumed that the communication system 100 uses SDM transmission mode designed for open loop and closed loop operation. However, in other embodiments, other modes (STC and hybrid SDM-STC) may be used. Uneven MCS, i.e., different modulation schemes for different spatial streams, and other error correction coding, e.g., low density parity check (LDPC) codes, Turbo codes, etc., can also be included into the system model.
The setting of a MCS (modulation and coding scheme) is for example the setting of a constellation, a coding rate and a transmission mode.
In one embodiment, the receiver 102 runs an adaptive modulation and coding algorithm which determines the best MCS available for the multiple antenna setting. The adaptive modulation and coding algorithm for example tries to maximize the bit rate of the data transmission between the transmitter 101 and the receiver 102 under a PER constraint, e.g. a maximum allowed PER.
The PER is a function of the MCS, the CSI and the packet length, i.e. the number of bits included in a data packet. The number of parameters in this function is usually very high. To reduce the complexity of the PER prediction, these parameters may be mapped onto a Link Quality Metric (LQM), which can then be mapped directly to PER by a look-up table. For each MCS, it is possible to define a range of LQM values over which the MCS maximizes the data throughput of the communication system 100.
The most common LQM used is the instantaneous signal-to-noise ratio (SNR). It is defined as the ratio of the average of the squared modulus of the received signal to the noise power.
However, the PER of a given MCS may vary significantly for different channel realizations with the same instantaneous SNR. There may exist some bad channels in which the AMC selects a MCS which has a PER that is much higher than the target PER. This leads to a broken link for the duration dependent on the channel coherence time. A solution to this problem is to shift the SNR thresholds with a safety margin for a more robust MCS selection. However, this results in a reduction in throughput of the system.
In order to reduce this safety margin, the PER-indicator and the exponential effective SNR mapping (Exp-ESM) method may be used to predict the PER performance. In both cases, a scalar is computed based on the knowledge of CSI. The PER-indicator method is based on the observation that the PER curves of all the channel realizations are nearly parallel. An indicator is computed which is mapped to the corresponding distance (in dB) from the PER performance in an additive white Gaussian noise (AWGN) channel. This mapping is done by curve fitting for each combination of the code rate, the modulation and the information block size. For the (Exp-ESM) method, it consists of deriving a scalar LQM called exponential effective SNR. This is the SNR that would be required on an AWGN channel to obtain the same PER as the communication system 100. The way to obtain this effective SNR is to fit the model over a large-enough number of independent channel realizations according to certain criteria. In general, it is difficult to characterize the PER performance by a scalar parameter.
Multiple parameters may be used to predict the PER performance. For example, a method based on using the post-detection SNRs may be used to predict PER performance in MIMO-OFDM systems where each stream is encoded separately.
The effective SNR for each stream is then mapped into the corresponding PER which is used in predicting the overall PER.
Recently, there has been a lot of emphasis on joint detection and decoding of coded wireless systems by the iterative decoding which is based on the Turbo principle. It is an efficient and powerful method for decoding wireless systems since it approaches the limit of the optimum decoder. It has been applied to the wireless systems with intersymbol interference, multiple antennas, multicarrier and multiple users. Such systems are essentially serial concatenation schemes. For any particular channel realization, it is possible to characterize the BER (bit error rate) performance of the iterative decoding using extrinsic information transfer (EXIT) functions.
AMC may also be implemented in MIMO systems using iterative receivers with perfect CSI, wherein the approximation of the BER performance of the receivers is based on an EXIT analysis. If the error probability of each bit is conditionally independent from errors in other bits, the PER can be determined by
PER=1−(1−BER)B (1)
where B is the number of bits in the packet. However, for coded systems, the BER is usually correlated, i.e. the probability of an error in a bit is not independent from errors in other bits. Therefore, (1) is only a coarse approximation of the PER.
In the following, a quasi-static block fading model for the MIMO-OFDM communication system 100 is assumed. It is further assumed that there are Nf sub-carriers in each OFDM symbol and Np OFDM symbols per packet. The fading channels are assumed to remain static during each packet transmission. The quasi-static assumption of the channel is not essential. The embodiments described in the following can also be used with regular update CSI.
According to OFDM, the sending circuits 104 perform an inverse fast Fourier transform (IFFT) on the signal vector s. Further, a cyclic prefix is inserted (cyclic insertion) by the sending circuits 104 before sending the IFFT-transformed signal vector s via the transmit antennas 103. The signal vector s is for example generated from an input data stream which is processed by encoding, interleaving and modulation and then demultiplexed to the sending circuits 104. Optionally, a transmit spatial processing may be carried out after demultiplexing.
Accordingly, the receiving circuits 106 remove the cyclic prefix, and perform an FFT. In the case that there is a transmit spatial processing the receiver 102 carries out the corresponding inverse operation on the output of the receiving circuits 106, i.e. a receive spatial processing, on the received signal vector r. The received signal vector r (or the result of the receive spatial processing if there is one) is multiplexed, demodulated, deinterleaved, and decoded such that a reconstructed data stream corresponding to the input data stream is generated.
The frequency domain channel response matrix at the k-th (k=0, . . . , Nf−1) subcarrier and the p-th (p=0, . . . , Np−1) OFDM slot is given by
where Rl=Rl1/2Rl1/2 and Sl=Sl1/2Sl1/2 represent the receive and transmit spatial correlation matrices, which are determined by the spacing and the angle spread of the MIMO antennas 103, 105. L is the number of resolvable paths of the frequency selective fading channels between the transmit antennas 103 and the receive antennas 105. Hl are matrices with elements being independent and identically circularly symmetric complex Gaussian distributed according to Nc(0, αl2) and are assumed to be independent for different values of l.
The power of Hl is assumed to be normalized by
In this model, it is assumed that there are uniform linear arrays at both the transmitter 101 and the receiver 102. Let the relative antenna spacing between the antennas 103, 105 (measured in number of wavelengths) be dr for the receive antennas 105 and dt for the transmit antennas 103. In addition, let the mean angle of arrival (AoA), mean angle of departure (AoD), receive angle spread and transmit angle spread be denoted as θr, θt, σr2, and σt2, respectively. The actual AoA and AoD are denoted by θr=θr+{circumflex over (θ)}r □and θt=θt+{circumflex over (θ)}t, with {circumflex over (θ)}r˜N(0, σr2) and {circumflex over (θ)}t˜N(0, σt2).
With these definitions, the (i,j)-th elements of R and S are given by
R
i,j=exp[−j2π(j−i)dr cos(θr)−(2π(j−i)dr sin(θr)σr)2/2],
S
i,j=exp[−j2π(i−j)dt cos(θt)−(2π(i−j)dt sin(θt)σt)2/2]. (3)
When it is assumed that there is proper cyclic insertion and sampling, the MIMO-OFDM-communication system 100 decouples the frequency selective channels into Nf correlated flat fading channels according to
r
k
[p]=H
k
A
k
s
k
[p]+n
k
[p] (4)
The output of the receive spatial processing (if there is one) can be written as
yk[p]=Bkrk[p], (5)
where Bk is a transformation representing the receive spatial processing.
In the following, for simplicity of notation, the indices k and p are omitted for the channel matrix H, the received signal vector r, etc.
If there was full knowledge of the channel state information at the transmitter 101, the communication channel 108 (associated with a certain subcarrier) could be decomposed into orthogonal spatial channels by means of a singular value decomposition. However, in practice, the knowledge of the channel state information at the transmitter 101 is never perfect. Thus,
H=Ĥ+Ξ, (6)
where Ĥ is the estimated channel matrix obtained by zero-forcing or according to MMSE channel estimation and Ξ is the estimation error matrix. Ĥ and Ξ are uncorrelated due to the property of zero-forcing or MMSE channel estimation. Each element of Ξ is i.i.d. with Nc(0, σe2), where the variance is given by σe2=E[|Hi,j−Ĥi,j|2]. The estimated channel matrix for each subcarrier can be diagonalized by singular value decomposition as
Ĥ=Û{circumflex over (D)}{circumflex over (V)}H (7)
where ÛεN
In the example that the communication system 100 is based on singular value decomposition, the symbol vector (transmit signal vector) s is transformed by multiplying it with the matrix {circumflex over (V)}:
x={circumflex over (V)}s (9)
i.e. the vector s fed to the sending circuits 104 is replaced by the vector x. The resulting received signal vector r is given by
r=Û{circumflex over (D)}s+Ξ{circumflex over (V)}s+n (10)
The receive spatial processing consists of multiplying r with ÛH, which results in the form
y=({circumflex over (D)}+{circumflex over (Ξ)})s+z (11)
Due to the orthonormality of ÛH, the noise vector z remains Gaussian with mean 0 and variance N0I. The components of y are given by
For perfect knowledge of CSI, (12) shows that the transmission can be seen as taking place on a set of Nm parallel equivalent (virtual) channels. However, when there is imperfect knowledge of CSI, these channels are no longer independent due to the fact that {circumflex over (D)}+{circumflex over (Ξ)} is not diagonal. In other words, there exists not only AWGN, but also cochannel interference (CCI) from other channels.
It is assumed that the CCI term
is Gaussian distributed. The signal-to-noise ratio (SNR) γi for the i-th channel (i=1, . . . , Nm) is defined as
In one embodiment, the receiver 102 uses iterative decoding for decoding the received signal vector processed by receive spatial processing y. Iterative decoding for coded MIMO-OFDM systems is based on exchanging extrinsic soft information between the MIMO receiver (demodulator) at each subcarrier and the soft-input soft-output (SISO) decoder. For each subcarrier, there are mNm transmitted coded bits associated with the vector y in (11), where m=log2(M) denotes the bits per M-ary QAM modulation symbol (assuming that QAM is used for modulation). The receiver (demodulator) generates extrinsic log-ratio on each coded bit which is given by
where pa(ci,l) is the a priori probability of the coded bit ci,l obtained from the output of the SISO decoder. This extrinsic information is then passed on to the SISO decoder as a priori input information. The SISO decoder for example uses the BCJR algorithm, and outputs extrinsic information for the coded bits, which is then forwarded to the MIMO receiver (demodulator). This completes an iteration stage of the iterative decoding.
Without singular value decomposition, the maximum a posteriori (MAP) receiver for the received signal vector r at each subcarrier is given by
The exponential computational complexity of (15) has led to research on suboptimal, low complexity SISO receivers based on soft interference cancellation. These receivers are based on the combination of a linear filter and an interference canceller. For each transmit antenna i, the soft estimates for si may be computed by
where pa(si) is the a priori probability which is fed back by the decoder. After cancellation is performed, the soft output is given by
{circumflex over (r)}
i
=Ĥ(s−ŝi)+Ξs+n, (17)
where ŝi=[=ŝ1, . . . , ŝi−1, 0,ŝi+1, . . . , ŝN
A popular choice of such a linear filter is the MMSE filter. However, the following analysis and the embodiments of the invention described in the following are also applicable to the maximum ratio combining (or the matched filter) receiver where wi=Ĥei.
The MMSE filter is designed such that it minimizes the mean square error E[|wiHri−si|2]. As a result, the filter vector wi □is obtained as
w
i=(ĤViĤH+N0I)−1Ĥei, (18)
where Vi=Diag(σ12, . . . , σi−12, 1, σi+i2, . . . , σN
The output of the i-th filter is then approximated by an equivalent AWGN channel having si as its input symbol. This equivalent channel is represented as
r
i
=a
i
s
i
+b
i
, (20)
where ai is the equivalent amplitude of the signal and the noise term bi is a Gaussian random variable with zero mean and variance σb
ai=wiHĤei, (21)
and
σb
The SNR γi □for the channel is
Extrinsic information is given as
In one embodiment of the invention, an adaptive modulation and coding algorithm is carried out. This algorithm is based on a packet error rate prediction wherein the channel estimation error may or may not be taken into account.
A method for selecting transmission parameters for a data transmission according to an embodiment of the invention is illustrated in
In 201, a data throughput is determined, for each of a plurality of transmission parameter settings, that is expected when the transmission parameter setting is used for data transmission, wherein the data throughput is determined using a pre-generated mapping of transmission parameter settings to data throughputs.
In 202, a transmission parameter setting is selected based on the determined expected data throughputs.
The transmission parameter setting is for example selected such that the expected throughput is maximized. In one embodiment, the data throughput is determined from an error rate that is expected when the transmission parameter setting is used for data transmission.
The error rate is for example determined using a pre-generated mapping of transmission parameter settings to error rates.
The transmission parameter setting may be selected subject to a target error rate constraint of the data transmission. The target error rate constraint is for example obtained from a Quality of Service constraint of the data transmission.
The target error rate constraint is for example a limit of the probability that the actual error rate exceeds a pre-specified target error rate.
In one embodiment, the pre-generated mapping of transmission parameter settings to error rates is implemented by using a look up table pre-generated from the simulation results.
A data transmission is for example carried out using the selected transmission parameter setting.
The transmission parameter setting for example defines at least one of a data transmission mode, a coding rate, a constellation size, a modulation type, and a coding type.
In one embodiment, the expected error rate for a transmission parameter setting is an expected packet error rate for the transmission parameter setting.
The pre-generated mapping of transmission parameter settings to error rates is for example pre-generated based on an analysis of extrinsic information transfer in a receiver receiving data according to the respective transmission parameter settings.
For example, the pre-generated mapping of transmission parameter settings to error rates is pre-generated by simulation. The pre-generated mapping of transmission parameter settings to error rates is for example pre-generated from the simulation results by curve-fitting, e.g. by fitting a polynomial function to the simulation results.
Different curve fitting functions may be used for different transmission parameter settings. In one embodiment, different curve fitting functions are used for different signal-to-noise ratio regions for the same transmission parameter setting.
In one embodiment, the transmission parameter setting is selected by a first communication device and a specification of the selected transmission parameter setting is signaled by the first communication device to a second communication device to be used for a data transmission from the second communication device to the first communication device.
The data transmission is for example a data transmission in a radio communication system, e.g. a multiple-input multiple-output communication (MIMO) system, a multicarrier (e.g. OFDM) system, a multiple user system (e.g. OFDMA or CDMA) or any wireless communication system with intersymbol interference (ISI).
In one embodiment, the transmission parameter setting specifies a number of spatial streams to be selected for the data transmission and the transmission parameter setting is selected based on a previously selected transmission parameter setting and a pre-determined switching table associated with the previously selected transmission parameter setting, wherein the switching table includes information about characteristics of the data transmission when a different number of spatial streams is used than according to the previously selected transmission parameter setting.
For example, the characteristics of the data transmission is the robustness of the data transmission or the expected throughput of the data transmission.
The transmission parameter setting is for example selected from a set of candidate transmission parameter settings generated based on a look-up table which is generated based on at least one of a transmission parameter setting used for the transmission of a received data packet, the signal-to-noise ratio of a communication channel via which a data packet has been received, the number of transmit antennas and receive antennas used for the data transmission, and the capability of the transmitter and the receiver involved in the data transmission.
In one embodiment, the pre-determined mapping function uses a post-detection signal-to-noise ratio as input. For example, a plurality of spatial streams are used for the data transmission and the determination of the post-detection signal-to-noise ratio comprises at least one of grouping, sorting or averaging the signal-to-noise ratios of the spatial streams.
In another embodiment, a plurality of transmit antennas and a plurality of receive antennas are used for the data transmission and, if the number of transmit antennas is different from the number of receive antennas, a signal-to-noise ratio offset is used for determining the post-detection signal-to-noise ratio.
The method described with reference to
The data transmission controller 300 includes a determining circuit 301 configured to determine, for each of a plurality of transmission parameter settings, a data throughput (e.g. based on an expected error rate) that is expected when the transmission parameter setting is used for a data transmission, wherein the data throughput is determined using a pre-generated mapping of transmission parameter settings to data throughputs.
The data transmission controller 300 further includes a selecting circuit configured to select a transmission parameter setting based on the determined expected data throughputs.
A circuit can be a hardware circuit, e.g. an integrated circuit, designed for the respective functionality or also a programmable unit, such as a processor, programmed for the respective functionality. A processor may for example be a RISC (reduced instruction set computer) processor or a CISC (complex instruction set computer).
The data transmission controller 300 is for example part of a communication device 303, for example a communication device of a radio communication system, e.g. a MIMO OFDM communication system.
The data transmission controller 300 (or the communication device 303) may further include a transmitter transmitting data according to the selected transmission parameter setting or signaling the selected transmission parameter setting to another communication device as transmission parameter setting to be used for a data transmission by the other communication device.
In the following, an embodiment is described where for determining the expected data throughputs, expected error rates are determined, which are in this example expected packet error rates (PERs). For this, the processing of the received signal vector r is described in more detail with reference to
The demodulation/decoding system 400 is for example part of the receiver 102. It receives as input 401 the received signal vector r from the receiving circuits 106, or, if there is receive spatial processing, the spatial processed received signal vector y.
The demodulation/decoding system 400 includes a demodulator 402 and a decoder 403. The input 401 is fed to the demodulator 402 and the output of the demodulator 402 is fed to the decoder 403. Note that there may be a de-interleaver processing the output of the demodulator 402 before it is fed to the decoder 403. This is omitted for simplicity.
The demodulator 402 is for example a MIMO demodulator and the decoder 403 is for example a SISO decoder.
The demodulation/decoding system 400 may perform an iterative processing of the input 401.
A convenient graphical description of the convergence behavior of an iterative decoding algorithm is given by extrinsic information transfer (EXIT) charts. The demodulator 402 and the decoder 403 may each be characterized by a non-linear EXIT function of mutual information for a coded bit.
For both SVD and MMSE based MIMO-OFDM systems, the output of the receiving circuits 106, explained above, can be modeled as multiple virtual AWGN channels with SNR given by (13) and (23), respectively. Given the distribution of the extrinsic information of the decoder 403, the EXIT function of these virtual channels is described by
d
e
=f(da,γ) (25)
where de is the extrinsic mutual information of the demodulator 402, da is the a priori mutual information which may be from the decoder 403, and γ is the SNR of the respective virtual channel.
The EXIT function f is for example obtained by Monte-Carlo simulation.
Examples for EXIT functions for different modulations are shown in
The function graphs 501, 502, 503 are shown in a coordinate system 500 including an x-axis 504 and a y-axis 505. The x-axis coordinate corresponds to the SNR and the y-axis coordinate corresponds to de. The first function graph 501 gives a mapping from SNR to de for an AWGN channel (i.e. a channel with additive white Gaussian noise) for which QPSK and Gray mapping are used, the second function graph 502 gives a mapping from SNR to de for an AWGN channel for which 16 QAM and Gray mapping are used and the third function graph 503 gives a mapping from SNR to de for an AWGN channel for which 64 QAM and Gray mapping are used. da is assumed to be zero.
Together, the function graphs 501, 502, 503 can be seen as a mapping from type of modulation and SNR to de.
The EXIT function of the decoder 403 is given by
c
e
=g(ca) (26)
where ca is the a priori mutual information from the demodulator 402.
The information from the demodulator ca is a vector because the output of the demodulator corresponds to the multiple virtual AWGN channels whose EXIT functions are given in (25).
Hence, the distribution of the a priori log-likelihood ratios is a Gaussian mixture
where c=±1 denotes the bit value, μi=J−1(cai)/2 and J(2μ) □is defined by
J(2μ)=1−∫exp[−(z−μ)2/4/μ] log2[1+exp(−z)]dz (28)
Therefore, the mutual information is a consistent Gaussian random variable Λ|x□N(xμ, 2μ) where x is an equiprobable binary random variable xε{±1}.
Furthermore, the performance of the iterative decoding may be evaluated by relating it to ca. For example, the coding is done by convolutional codes. The packet error rate (PER) may then be approximated by
PER=1−(1=CBER)B/υ (29)
where B is the length of a data packet and CBER is the coded bit error rate (BER). In this example, only the error event with length υ is considered. The CBER function is related to ca by
CBER=fCBER(ca)(30)
The function fCBER(ca) is obtained by simulation followed by curve fitting. To be able to describe the function approximately with reasonable complexity, the dimension of ca or the SNR is reduced. Reduction in dimensions (in other words, resolution or accuracy) is for example done by using a uniform quantization of four levels. This method is more accurate than just taking the mean of ca.
According to one embodiment, a mapping of transmission parameters to packet error rate is pre-generated. For example, the mapping of the type of the modulation to de as illustrated in
For this, for example, the function fCBER is pre-generated, as mentioned for example by simulation and curve-fitting, and may then be used to determine the CBER for a certain transmission parameter setting. From the CBER the expected packet error rate may then be calculated using (29).
As an example, the case is considered that the communication system 100 is a MIMO-OFDM system with a rate 1/2 convolutional code with 16QAM. The interleavers are randomly chosen. The packet length is either 4090 or 8186 bits. There are Nf=64 subcarriers and the channels have L=6 resolvable multipaths. For the correlation matrices S and R, it is assumed that dr=dt=1/2, θr=θt=π/2 and 2σt2=σr2=π/16 for all paths.
Two channel realizations are considered which are fixed throughout the packet transmission. Simulations of these realizations with SVD, in which the average PER performance is determined, show that the simulated PER performance follows closely the performance predicted by the EXIT analysis (GM-4). When the channel estimation error is included, there is an error margin of around 0.4 dB. This error margin is caused mainly by the Gaussian approximation of the CCI in (12). Similar observations can be made when MMSE receivers are used.
As another example, the case is considered that each packet transmission encounters a channel realization which is chosen randomly and independently. The PER performance gained from simulations again follows closely the performance predicted in the above embodiment using EXIT analysis when perfect CSI is assumed. When the channel estimation error is considered, an error margin of around 0.35 dB can be observed. Moreover, the above observations also hold for the MMSE receivers.
Finally, the case of SVD-based MIMO-OFDM systems with uneven modulation is considered. The stronger streams are modulated by 64QAM and the weaker ones by 16QAM. Perfect channel estimation is assumed. From simulations where the PER performance for different packet length and number of antennas is measured it can be seen that the simulated PER performance follows closely the performance predicted by the EXIT analysis according to the embodiment described above.
An example for the selection of transmission parameters according to an embodiment of the invention is described in the following.
For example, the setting of transmission parameters is carried out by the receiver 102 and the transmission parameters relate to the usage of the communication channel 108, for example the type of modulation used, the type of code or the code rate, constellation size, or transmission mode.
The method for setting the transmission parameters in this embodiment is a link adaptation algorithm that uses an AMC (adaptive modulation and coding) algorithm whose objective is to maximize the throughput (data rate) of the communication channel 108 under the condition that the PER is below a certain threshold and that the data rate is greater than a certain limit. A flow for determining the appropriate transmission parameter setting (also denoted as MCS for modulation and coding scheme) is described in the following with reference to
The constraint that the PER is below a certain threshold and that the data rate is above a certain threshold may be seen as QoS (quality of service) constraint.
In 601, a set of MCSs is selected based on the QoS constraint and the estimated receive SNR and/or noise power. This is for example done by a rough estimation of the number of spatial streams and the transmission mode using a lookup table.
In 602, for each MCS in the set of MCSs, the PER is approximated, for example based on EXIT analysis as described above The expected throughput is then computed using this PER approximation.
In 603, the MCS providing the largest throughput is selected. Each MCS has for example an index and the index of the selected MCS is transmitted to the transmitter 101 via a feedback channel.
The determination of the PER for a MCS in 602 is based on a pre-generated mapping of MCS (transmission parameter setting) to PER. An example for this PER prediction method is described in the following with reference to
In 701, the inputs of the PER prediction method are provided. These are the channel estimate Ĥ, the channel estimate error σe2, the estimated noise power N0 and a MCS (transmission parameter setting) for which the expected PER should be determined.
The output of the receiving circuits 106 is modeled as multiple virtual AWGN channels with SNR γ given by (13) (in case of SVD) or (23) (in case of MMSE).
In 702, the extrinsic mutual information of the output for each virtual channel is determined according to (25).
In 703, the extrinsic mutual information ca (including the extrinsic mutual information of all virtual channels) is used to approximate the PER according to (29) where CBER is given by (30). The function fCBER depends on the code that is used. It is pre-generated by simulation followed by curve fitting. To describe the function fCBER approximately with reasonable complexity, the dimension of ca may be reduced. Reduction in dimensions is for example done by using a uniform quantizer.
In the following, two examples of a link adaptation carried out by two communication devices according to an embodiment of the invention are described with reference to
In the example described with reference to
A first communication device 801, e.g. an access point (AP), and a second communication device 802, e.g. a mobile station (STA), participate in the flow.
The first communication device 801 and the second communication device 802 have a communication connection via a communication channel that is reciprocal, e.g. according to TDD (time division duplex) mode. This means that there is a downlink channel from the first communication device 801 to the second communication device 802 and an uplink channel from the second communication device 802 to the first communication device 801. The reciprocal property of the communication channel is used for this link adaptation method. The downlink channel is used to select a MCS for the uplink channel and vice versa.
In 803 (time t0), the first communication device 801 transmits a first data frame 811 according to a first MCS (MCS A) that it has for example initially selected.
In 805 (time t1), the second communication device 802 receives the first data frame 811 and (now acting as transmitter) selects, in 805, a second MCS (MCS B) for data transmission to the first communication device 801 using the information it has from receiving the first data frame 811 (e.g. channel state information about the downlink channel). This means that the second communication device 802 selects an MCS for the uplink channel based on the downlink channel.
In 806 (time t2) the second communication device 802 transmits a second data frame 812 according to the second MCS.
In 807 (time t3), the first communication device 801 receives the second data frame 812 and, in 808, (now acting as transmitter) selects a third MCS (MCS C) for the downlink transmission using the information it has from receiving the second data frame 812.
In 809, the first communication device 801 transmits a third data frame 813 according to the third MCS which is received by the second communication device 802 (time t5) and so on.
In the example described with reference to
Similarly to
The first communication device 901 and the second communication device 902 have a communication connection via a communication channel that is, in contrast to the scenario according to
In 903 (time t0), the first communication device 901 transmits a first data frame 911 according to a first MCS (MCS X) to the second communication device 901. The first data frame 911 includes the specification of a second MCS (MCS X1) recommended for the second communication device 902 feedback (FB) rate of MCS X1. This specification can be considered as initial feedback.
In 904 (time t1), the second communication device 902 receives the first data frame 911 and, in 905, selects a third MCS (MCS Y) to be used by the first communication device 901 for the next data transmission from the first communication device 901 to the second communication device 902 as MCS. This means that the receiver (in this case the second communication device 902) instructs the transmitter (in this case the first communication device 901) according to which MCS it should (or it is recommended to) transmit data.
In 906 (time t2), the second communication device 905 transmits a second data frame 912 according to the second MCS X1 that was recommended by the first communication device 901 in the first data frame 911. The second data frame 912 includes a specification of the third MCS, e.g. in a feedback (FB) field of the second data frame 912.
In 907 (time t3), the first communication device the second data frame 912 and, in 908, selects a fourth MCS (MCS Z) that it recommends for the next data transmission from the second communication device 902 to the first communication device 901. In 909 (time t4), a third data frame 913 is transmitted from the first communication device 901 to the second communication device 902 according to the third MCS that includes a specification of the fourth MCS and is received by the second communication device 902 (time t5) and so on.
According to one embodiment of the invention, the MCS selection algorithm is used for solving the following optimization problem:
max rMCS(1−PERMCS)
s.t. Pr(PERMCS>PERt arg et)≦0.05
rMCSεMCSset, (31)
where the maximization is done over all MCSs form a given (e.g. pre-selected) set MCSset of MCSs and rMCS is the data rate and PERMCS is the packet error rate of the respective MCS.
For example, the outage probability Pr(PERMCS>PERt arg et) is set to be less than 5%.
In the following, an example for an MCS selection algorithm carried out by the communication devices shown in
In this example, the MCS selection algorithm consists of three parts: the construction of an MCS set, the MCS search algorithm, and the MCS switching algorithm.
In 1001, the common available MCS set for the two communication devices 801, 901, 802, 902 is constructed (e.g. in the form of a MCS table). For this, system parameters may be taken into account that are extracted in 1006. This set can be quite huge as it may contain MCSs with different numbers of spatial streams. To reduce the size of the MCS search, the search is in one embodiment started from the (sub-)set of MCSs according to which the same number of spatial stream is used as according to the MCS which was used for the previous data transmission, e.g. which was used for the transmission of the last received data packet. For those MCSs with duplicate rate, the MCS set implemented may be simplified by choosing the one with the best PER performance among all MCSs with the same rate.
If there are MCSs with the same data rate (theoretical, i.e. not taking into account packet errors), the MCS set implemented may be simplified by choosing the MCS with the best PER performance among all MCSs with the same data rate.
To search the optimum MCS in the MCS set, several different approaches can be implemented. For example, an exhaustive search maybe carried out if the MCS set is small. Following the direction of search in the MCS set, every MCS is tested with a PER prediction algorithm, for example the one described with reference to
One simplification is to arrange the MCSs in a table such that their data rates are in descending order. The search is for example started from the middle entry of the table or at the MCS that has been selected for the previous data transmission.
The MCS search may be limited to the MCSs with the same spatial stream number for complexity reduction. In order to further increase the throughput performance, the chosen MCS might be switched to another MCS according to which a different stream number should be used. In this case, first, throughput performance curves are generated for all the MCSs with the same spatial stream number. Based on these curves, switching is implemented by a look-up table. A MCS of a lower number of spatial streams might be able to replace the chosen MCS to increase the throughput. On the other hand, a MCS of the lower numbers of streams may be chosen for improving robustness while maintaining the same throughput. With switching, the size of the MCS search is smaller and the complexity is reduced because there is no longer required to estimate the PER performance of multiple spatial streams.
The prediction of the PER depends on the channel coherence time and estimation reliability. The PER is a function given by
PER=f(MCS,N0,H,L), (32)
where N0 is the noise variance, H is the channel matrix giving the current transmission characteristics of the communication channel and L is the packet length.
The PER is for example predicted for the MCS scheme described above and for example used by the communication devices 801, 901, 802, 902 as follows. For MMSE detection, in 1005, the SNR γi is determined based on the channel estimation that is carried out, in 1003, after synchronization in 1004, e.g. by a MIMO module, one for each spatial stream and subcarrier.
The channel estimation error is included to provide a more accurate estimate of the PER. An offset may be added in the SNR calculation. This offset is a function of the filter of the detector and the noise variance. To reduce the complexity of the PER prediction, these values are mapped onto the average SNR
For beamforming mode, uneven modulation can be used. Here, the modulation schemes for different spatial streams may be different. In this case, sorting is not required.
For transmitter based link adaptation, safety margins are required when the number of transmit and receive antennas are different. This is to account for the using of the uplink channel for MCS selection of the downlink channel and vice versa. For example, in a system where the access point has 4 antennas and the mobile station has 3 antennas, the uplink will experience receive diversity, whilst the downlink experiences transmit diversity. Safety margins are required for the difference in diversity.
For example, for transmitter-based link adaptation and asymmetric configurations, an SNR offset may be used.
The output of the detector is modeled as multiple virtual AWGN channels with SNR given by
c
ai
=p
3γi3+p2γi2+p1γi+p0, (33)
where pj are predetermined coefficients. Note that γi is given in dB. The polynomial coefficients pj are determined from simulations and can take on different values for different types of modulation. The values of pj can also be different for the same modulation at different SNR values. The mutual information cai thus generated from the
The behavior of the decoder can also be modeled by a third order polynomial mapping function from the extrinsic information
This polynomial function is also obtained offline (i.e. is pre-generated) by Monte-Carlo simulations. Pre-generated look-up tables can also be used instead of the polynomial function. For each code rate and type of decoder used, there is a corresponding mapping function. The packet error rate is subsequently estimated from the CBER. For convolutional codes, the PER is approximated by
PER≈1−(1−CBER)L/v (35)
For block code like LDPC, the PER is approximated by
PER≈1−(1−PERB)L/n (36)
where PERB is the PER of the block code used, and n is the length of the codeword. PERB is related to
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SG07/00389 | 11/13/2007 | WO | 00 | 7/29/2009 |
Number | Date | Country | |
---|---|---|---|
60865536 | Nov 2006 | US |