 Research
 Open
 Published:
System valuebased optimum spreading sequence selection for highspeed downlink packet access (HSDPA) MIMO
EURASIP Journal on Wireless Communications and Networkingvolume 2013, Article number: 74 (2013)
Abstract
This article proposes the use of system valuebased optimization with a symbollevel minimum mean square error equalizer and a successive interference cancellation which achieves a system value upper bound (UB) close to the Gaussian UB for the highspeed downlink packet access system without affecting any significant computational cost. It is shown that by removing multicode channels with low gains, the available energy is more efficiently used, and a higher system throughput is observed close to the system value UB. The performance of this developed method will be comparable to the orthogonal frequency division multiplexingbased longterm evolution scheme, without the need to build any additional infrastructure. Hence, reduce the cost of the system to both operators and consumers without sacrificing quality.
1 Introduction
Wireless communication systems known as multipleinput multipleoutput (MIMO) systems, which have multiple transmit and receive antennas, can be used to exploit the diversity and the multiplexing gains of wireless channels to increase their spectral efficiency. As an extension to Shannon’s capacity [1], the MIMO channel capacity bound was obtained by Foschini and Gans [2] and Telatar [3] independently. Assuming that perfect channel state information (CSI) is available at the transmitter, the MIMO system capacity upper bound (UB) can be obtained using the eigen modes of the MIMO channel matrix by performing waterfilling (WF) over the spatial subchannels. An important MIMO system design consideration is to operate the system close to its capacity UB. The objective of this article is to show how the highspeed downlink packet access (HSDPA) MIMO system can operate close to its capacity UB.
The third generation partnership project (3GPP) has developed the HSDPA system, given in the Release 5 specification [4] of the Universal Mobile Telecommunications System, as a multicode wideband code division multiple access (CDMA) system. To further increase the data rate, the HSDPA system introduced new features [5] such as adaptive modulation and coding and fast scheduling. The standardization of the Dual Stream Transmit Diversity (DTxAA) HSDPA MIMO system for a singleuser in 3GPP Release 7 [6] further improved the downlink throughput without requiring a new spectrum or any additional bandwidth.
In [7], measurements are carried out to evaluate the performance of the standardized 3G HSDPA MIMO system with a CDMA transmission. It is shown that the current systems are utilizing only about 40% of the available downlink capacity. The capacity curve is approximately 10 dB away from the capacity UB [8] at high signal to noise ratios. There is an opportunity to improve the HSDPA system capacity, when operating over frequency selective channels, by enhancing the HSDPA MIMO standard of the equal energy allocation scheme as is specified in [6].
The frequency selectivity problem, which causes a large drop in throughput for the HSDPA due the intersymbol interference (ISI) problem, is not a major problem for the orthogonal frequency division multiplexing (OFDM)based systems [longterm evolution (LTE) advanced and WiMAX] as they use a guard period to deal with the ISI problem. If the throughput reduction problem is not solved in the HSDPA system, the OFDMbased systems will have the upper hand over the HSDPA system in urban environments. The HSDPA singleinput singleoutput (SISO) system has been the main focus of the study in [9], which provides tools to combat frequency selectivity, when bringing the HSDPA SISO performance close to the OFDMbased systems. Should the ISI problem be solved for the HSDPA MIMObased systems, the current HSDPA MIMO system would achieve throughputs close to the LTE advanced without the need to change the whole infrastructure by using throughput optimization methods. This is the focus of the current investigation.
2 Current investigation and related work
The downlink throughput optimization for the HSDPA multicode CDMA system [10] considers the signature sequence and the power allocation for downlink users. 3GPP standardized an approach to spread the transmission symbols by using a given fixed set size of orthogonal variable spreading factor (OVSF) signature sequences. A MIMO system requires a signature sequence set size higher than the given single set of OVSF signature sequences available for a SISO system. 3GPP standardized a method to increase the OVSF set size by multiplying the given set with precoding weights and then concatenating the weighted sets of the spreading sequences. Each concatenated spreading sequence is used to transmit one symbol and is orthogonal to the remaining set of spreading sequences available at the transmitter for the transmission of other symbols. However, the spreading sequences’ orthogonality is lost at the receiving end after transmission over frequency selective multipath channels. In [11, 12], it is proposed that a linear minimum mean square error (MMSE) equalizer followed by a despreader could be used to restore partial orthogonality between the receiver despreading and the matched filter sequences in the detection process after receiving signals transmitted over a multipath channel. Recent developments have shown that linear MMSE equalizers suffer from a selfinterference (SI) problem caused by ISI and multiple access interference, when operating over multipath channels.
SI reduces the system throughput performance, but good receiver design will minimize the degradation caused by the SI. When encountering SI various versions of interference cancellers could be used in conjunction with nonoptimal receivers to improve the system throughput for the HSDPA system over frequency selective parallel channels. In [13], it is shown that a successive interference cancellation (SIC) scheme performs better than a parallel interference cancellation scheme, when the signaltonoise ratio (SNR) differs over each frequency selective parallel channel. The works reported in [14–16] focus on the use of linear MMSE equalizers and SIC in reduction of the overall SI.
A twostage SIC detection scheme with transmitter power optimization is examined in [16, 17] to improve the throughput performance for multicode downlink transmission. In [18], the power at the transmitter and a twostage SIC receiver are jointly and iteratively optimized for a multicode MIMO system. However, at each iteration of the SIC, the equalizer coefficient and the power allocation calculations require an inversion of a covariance matrix for the received signal. The dimension of the covariance matrix is usually large and, as such, the iterative power allocation, the linear MMSE equalizer and the SIC implementations at the receiver become computationally expensive.
The focus of the article is on an HSDPA MIMObased radio downlink system, which has a number of parallel SISO or MIMO frequency selective channels over which data are transmitted. The data are represented by a number of data symbols, which are spread by a group of spreading sequences when using the HSDPA system either with or without a SIC scheme. A set of signature sequences generated from the OVSF codes with precoding, as specified in the 3GPP Release 7, will be considered. A receiver with a symbollevel linear MMSE equalizer will be examined to jointly optimize the transmission energy allocation and the receiver for a single user system either with or without a SIC.
At the receiver each spreading sequence ${\underset{\xaf}{s}}_{k}$ has a system value λ_{ k }, which is associated with the SNR γ_{ k } at the output of each despreading unit. The system value λ_{ k } for each spreading sequence depends on the transmission multipath channel and also on the availability of the SIC scheme. The implementation of each HSDPA MIMO system can be a nonSIC scheme as shown in Figure 1 or a SICbased receiver scheme as shown in Figure 2. The nonSIC and the SICbased receivers have different ways of determining the system values for a given number of spreading sequences, a given frequency selective multipath channel and a total transmission energy. This article will outline MIMO transceiver structures for the nonSIC and SICbased receivers to introduce the system value concept. The system value UB for the HSDPA MIMO system will be presented. This system value capacity UB is close to the capacity of an additive white Gaussian noise channel. It will also be shown how the system values will be used to determine the total transmission rates for both the nonSIC and the SICbased SISO and MIMO systems to maximize the total transmission rate.
The objective of the total transmission rate maximization for a given total number of spreading sequences will be to bring the downlink throughput close to the system value UB. This will be achieved by retaining the spreading sequences with the highest system values for a given total received SNR corresponding to a given total transmission energy E_{ T }. A given number of sequences will be ordered so that the corresponding system values are used at the transmitter in ascending order. The optimum number K^{∗} of signature sequences will be determined to select the first K^{∗}ordered signature sequences, which maximize the transmission throughput. The receivers will operate in a sequence, where the detection is ordered in the descending order of the corresponding system values for the SICbased systems.
As shown in [19], the WF optimization is generally used for parallel channels with different subchannel gains to provide optimum subchannel selection, energy distribution, and also channel ordering. The iterative WF sumcapacity optimization is extensively examined in [20–23] and is proven to converge to the sum capacity UB of the multipleaccess channel [20] to provide an UB for nondiscrete rates. Other subchannel removal methods have been studied in [24–26] to determine the number of active data streams. In [24], the eigen decomposition of the covariance matrix is used to isolate the “bad” data streams so that the sum MSE is minimized. In [25], it is suggested that low signaltointerference and noise ratio (SINR) streams will be switched off to focus the available power on the remaining streams during the iterative power allocation process. In [26], the removal of subchannels is proposed to improve the capacity when the rounding of the discrete rate does not improve the system throughput. The WF and channel removal schemes do not use the system value concept for signature sequence selection nor use rate adjustment to maximize the total throughput.
In this article, three bit rate adjustment methods will be considered with the appropriate energy allocation schemes. These methods will be applicable to both SIC and nonSICbased receivers, when using discrete and nondiscrete rates. Initially, an iterative WF algorithm will be proposed with a subchannel removal for the selection of signature sequences. The system values will be used to maximize the throughput for nondiscrete rate allocation by accounting for the channel SINRs corresponding to the received signature sequences instead of using only the channel gains to find the water levels. When using discrete rates the signature sequence selection scheme will be further extended to optimize the total rate for the HSDPA system downlink. The system values will be used to select an optimum number of spreading signature sequences from a given total number of sequences without any prior energy allocation. The chosen optimum number of sequences will be loaded with discrete rates using both the equal SINR allocation methods proposed in this article and the equal energy allocation schemes as specified in the current HSDPA standard. The equal SINR and energy loading schemes will use the mean and the minimum of system values for a given total energy to transmit the symbols at the required discrete rates. These three methods will be named as the iterative WFbased continuous bit loading method, the mean system valuebased discrete bit loading method, and the minimum system valuebased discrete bit loading method.
The mean and minimum system valuebased methods will require different and equal transmission energy allocations, respectively. The iterative energy allocation methods will be described for the mean system valuebased discrete bit loading systems.
The link throughput improvements for these three methods will be described, when considering the receiver design, power control, and signature sequence selection algorithms. A complexity reduction method will be presented for covariance matrix inversions. The results show that the HSDPA MIMO system, using the optimization methods proposed in this article, achieve a system throughput close to the system value capacity UB for the frequency selective channels. The results are then comparable with the LTE system, without incurring the cost of building new infrastructures.
In Section 3, two HSDPA MIMO system models will be described for receivers with the nonSIC and the SICbased MMSE despreading units. In Section 4, the system value formulation will be presented and the MMSE filter coefficient calculations will be given. The system value UB concept for both the nonSIC and the SICbased receivers will be presented in Section 5. The formulation of a simplified iterative covariance matrix for use in the design of the SICbased receivers with MMSE equalizers will be described in Appendix Appendix 2 to support the material presented in Section 5. The system valuebased sum capacity/throughput maximization methods for optimum signature sequence selection, energy allocation, and rate maximization methods will be described in Section 6. These schemes will be based on the iterative WF and the mean and the minimum system value optimization methods. Finally, the results will be described in Section 7 before the conclusions are given in Section 8.
3 System model
3.1 Notation
a is a scalar, $\underset{\xaf}{a}$ is a column vector, and A is a matrix. The identity matrix with dimension L is given as I_{ L }.
3.2 Transmitter and a nonSICBased receiver model
The HSDPA MIMO system model used in the following sections will be briefly described in this section for both the nonSIC and the SICbased receivers. Initially, a nonSICbased multicode CDMA MIMO downlink transmission system will be considered with N_{ T } transmit antennas and N_{ R } receive antennas with their respective indices represented by N_{ T } and N_{ R }. Given the spreading factor N of the system, the maximum number K of spreading sequences satisfies the relationship K≤ min(N_{ T },N_{ R })N where each spreading sequence index is represented by k. When selecting the optimum number K^{∗} of spreading sequences, weak channels corresponding to a specific set of signature sequences will be excluded to maximize the total rate. The system under consideration will operate with the selected optimum number K^{∗} of spreading sequences. Each spreading sequence will transmit a symbol operating at a discrete rate chosen from a set of rates according to the CSI updated at regular transmission time intervals (TTIs). In the system model, each parallel binary bit packet ${\underset{\xaf}{u}}_{k}$ for k=1,…,K^{∗} of length N_{ U } will be encoded to produce a length B vector ${\underset{\xaf}{d}}_{k}$ and mapped to quadrature amplitude modulation (QAM) symbols each carrying b= log2M bits, where M is the chosen constellation size. The encoding rate ${r}_{\text{code}}=\frac{{N}_{U}}{B}$ will be used to obtain a realizable discrete rate of b_{ p }=r_{code}× log2M bits per symbol where p=1,…,P are the different discrete bit indices available. The bit rate for each spreading sequence is represented by ${b}_{{p}_{k}}$ for k=1,…,K^{∗}.
A nonSICbased system model is shown in Figure 1. In the CDMA system, the number of symbols transmitted per packet is given by ${N}^{\left(x\right)}=\frac{\text{TTI}}{N{T}_{c}}$ where T_{ c } is the chip period and N T_{ c } is the symbol period. In each parallel channel, the mapped packet of symbols corresponding to ${\underset{\xaf}{d}}_{k}$ over 1 TTI is represented by an N^{(x)} long vector ${\underset{\xaf}{x}}_{k}$ for k=1,…,K^{∗}, where each symbol in ${\underset{\xaf}{x}}_{k}$ carries unity average energy. The symbols over K^{∗} parallel channels are stored in an N^{(x)}×K dimensional matrix $\mathbf{X}=[{\underset{\xaf}{x}}_{1},\dots ,{\underset{\xaf}{x}}_{K}]$ which is also expressed as $\mathbf{X}=\mathbf{\left[}\underset{\xaf}{y}\right(1),\dots ,\underset{\xaf}{y}(\rho ),\dots ,\underset{\xaf}{y}({N}^{\left(x\right)}){]}^{T}$ where the length K^{∗} vector $\underset{\xaf}{y}\left(\rho \right)={\left[{x}_{1}\right(\rho ),\dots ,{x}_{{K}^{\ast}}(\rho \left)\right]}^{T}$ contains symbols over the symbol periods of ρ=1,…,N^{(x)}.
Each spreading sequence will have an energy allocated, where the assigned energies are stored in a K^{∗}×K^{∗} dimensional amplitude matrix $\mathbf{A}=\text{diag}\left(\sqrt{{E}_{1}},\sqrt{{E}_{2}},\dots ,\sqrt{{E}_{{K}^{\ast}}}\right)$. The energy weighted symbols will then be spread by signature sequences (spreading codes) and are represented by an (N_{ T }N)×K^{∗} signature sequence matrix
where ${\underset{\xaf}{s}}_{k}{}^{2}=1$ and ${\mathbf{S}}_{{n}_{t}}=[{\underset{\xaf}{s}}_{1,{n}_{t}},{\underset{\xaf}{s}}_{2,{n}_{t}},\dots ,{\underset{\xaf}{s}}_{{K}^{\ast},{n}_{t}}]$ is a N×K^{∗} spreading sequence matrix of the N_{ T }th antenna. The length N transmit signal vector at antenna N_{ T } is given by ${\underset{\xaf}{z}}_{{n}_{t}}\left(\rho \right)={\mathbf{S}}_{{n}_{t}}\mathbf{A}\underset{\xaf}{y}\left(\rho \right)$ for the symbol period ρ. The vector ${\underset{\xaf}{z}}_{{n}_{t}}\left(\rho \right)$ will then be fed to a pulse shaping filter at integer multiples of T_{ c } before up converting to the desired carrier frequency. The length N×N_{ T } MIMO transmit signal vector is given by$\underset{\xaf}{z}\left(\rho \right)={\left[{\underset{\xaf}{z}}_{1}^{T}\left(\rho \right),\dots ,{\underset{\xaf}{z}}_{{n}_{t}}^{T}\left(\rho \right),\dots ,{\underset{\xaf}{z}}_{{N}_{T}}^{T}\left(\rho \right)\right]}^{T}.$
Assuming the clocks at the transmitter and the receiver are fully synchronized, the signals arriving at the receive antennas will be firstly down converted to the baseband before sampling at every T_{ c } at the output of the receiver chip match filter.
The receiver matched filtered signal vector $\underset{\xaf}{r}\left(\rho \right)$ for each symbol period will be represented by an N_{ R }(N+L−1) long vector $\underset{\xaf}{r}\left(\rho \right)={\left[{\underset{\xaf}{r}}_{1}^{T}\right(\rho ),\dots ,{\underset{\xaf}{r}}_{{n}_{r}}^{T}(\rho ),\dots ,{\underset{\xaf}{r}}_{{N}_{R}}^{T}\left(\rho \right)]}^{T}$, where L is the number of resolvable paths in a multipath wireless channel. The samples at the output of the chip match filter of the N_{ R }th antenna are represented by an (N+L−1)length vector ${\underset{\xaf}{r}}_{{n}_{r}}\left(\rho \right)=[{\underset{\xaf}{r}}_{{n}_{r,1}}\left(\rho \right),\dots ,{\underset{\xaf}{r}}_{{n}_{r},(N+L1)}(\rho \left)\right]$. The N_{ R }(N+L−1)×N^{(x)}dimensional matched filter matrix R is formed by taking $\underset{\xaf}{r}\left(\rho \right)$ as its ρ thcolumn such that $\mathbf{R}=\left[\underset{\xaf}{r}\right(1),\dots ,\underset{\xaf}{r}(\rho ),\dots ,\underset{\xaf}{r}({N}^{\left(x\right)}\left)\right]$. With $\underset{\xaf}{r}\left(\rho \right)$ and the N_{ R }(N+L−1)×K^{∗}dimensional MMSE linear despreading filter matrix $\mathbf{W}=\left[{\underset{\xaf}{w}}_{1},\dots ,{\underset{\xaf}{w}}_{{K}^{\ast}}\right]$ containing despreading filter coefficients ${\underset{\xaf}{w}}_{k}$ each of which is calculated using (10) for k=1,…,K^{∗}. The estimate $\hat{\underset{\xaf}{y}}\left(\rho \right)$ of the transmitted symbol $\underset{\xaf}{y}\left(\rho \right)$ can be found as follows:
The vector $\hat{\underset{\xaf}{y}}\left(\rho \right)$ is used to form the N^{(x)}×Kdimensional despread signal matrix $\widehat{\mathbf{X}}=[{\hat{\underset{\xaf}{x}}}_{1},\dots ,{\hat{\underset{\xaf}{x}}}_{{K}^{\ast}}]$ or alternatively $\widehat{\mathbf{X}}={\left[\hat{\underset{\xaf}{y}}\right(1),\dots ,\hat{\underset{\xaf}{y}}(\rho ),\dots ,\hat{\underset{\xaf}{y}}({N}^{\left(x\right)}\left)\right]}^{T}$ by using ${\hat{\underset{\xaf}{x}}}_{k}^{T}={\underset{\xaf}{w}}_{k}^{H}\mathbf{R}$ to despread the received signal vector of the k th channel. The despread signals pass through the decision device, where the signals are quantized, demapped and decoded to form binary data vectors ${\underset{\xaf}{u}}_{k,D}$ for k=1,…,K.
At the output of each receiver, the mean square error (MSE) between the transmitted symbol y_{ k }(ρ) and the estimated symbol ${\u0177}_{k}\left(\rho \right)$ is given as ${\u03f5}_{k}=E\left({\left{\u0177}_{k}\left(\rho \right){y}_{k}\left(\rho \right)\right}^{2}\right)$. When the MSE is minimized, it has a relationship with the SINR γ_{ k } and the system value λ_{ k } as ${\u03f5}_{k}=\frac{1}{1+{\gamma}_{k}}=1{\lambda}_{k}$. Therefore, the system value is given by
3.3 The SICbased receiver model
Figure 2 illustrates the system model for a SICbased receiver, which collects the received signals ${\underset{\xaf}{r}}_{1}\left(\rho \right)$ to ${\underset{\xaf}{r}}_{{N}_{R}}\left(\rho \right)$ to formulate the received signal vector $\underset{\xaf}{r}\left(\rho \right).$ The receiver processes and cancels the signals channel by channel to ensure that the SI is minimized. Starting from channel K^{∗} and by setting the received signal matrix ${\mathbf{R}}_{{K}^{\ast}}=\mathbf{R}=\left[\underset{\xaf}{r}\left(1\right),\dots ,\underset{\xaf}{r}\left({N}^{\left(x\right)}\right)\right]$, the N_{ R }(N+L−1)×N^{(x)}dimensional reduced data matrix R_{k−1} will iteratively be calculated using ${\mathbf{R}}_{k1}={\mathbf{R}}_{k}\sqrt{{E}_{k}}{\mathrm{\Phi}}_{k}$ from k=K^{∗} to k=1 where $\sqrt{{E}_{k}}$ is the allocated energy of the k th channel. The matrix Φ_{ k } of dimension N_{ R }(N+L−1)×N^{(x)} will be constructed as ${\mathrm{\Phi}}_{k}={\underset{\xaf}{q}}_{k}{\underset{\xaf}{x}}_{k,D}^{T}+{\underset{\xaf}{q}}_{k,1}{\underset{\xaf}{x}}_{k,D1}^{T}+{\underset{\xaf}{q}}_{k,2}{\underset{\xaf}{x}}_{k,D2}^{T}$, where the length N^{(x)} vectors ${\underset{\xaf}{x}}_{k,D}$, ${\underset{\xaf}{x}}_{k,D1}\phantom{\rule{0.3em}{0ex}}={\mathbf{J}}_{{N}^{\left(x\right)}}{\underset{\xaf}{x}}_{k,D}$ and ${\underset{\xaf}{x}}_{k,D2}\phantom{\rule{0.3em}{0ex}}={\mathbf{J}}_{{N}^{\left(x\right)}}^{T}{\underset{\xaf}{x}}_{k,D}$ are the detected stream of the current symbol period, the detected streams with ISI symbols received in the previous and the next symbol periods, respectively. The N_{ R }(N+L−1)dimensional receiver matched filter sequences ${\underset{\xaf}{q}}_{k},{\underset{\xaf}{q}}_{k,1}$ and ${\underset{\xaf}{q}}_{k,2}$ are given in (8), (31), and (32) for the current, previous, and next symbols, respectively.
At each k th channel, the estimated symbol vector ${\underset{\xaf}{x}}_{k,D}$ is generated by using each MMSE despreading vector ${\underset{\xaf}{w}}_{k}$ from (15) to yield a despread signal vector of $\phantom{\rule{1em}{0ex}}{\hat{\underset{\xaf}{x}}}_{k}^{T}={\underset{\xaf}{w}}_{k}^{H}{\mathbf{R}}_{k}$ and an estimated bit stream ${\underset{\xaf}{u}}_{k,D}.$ The decoded bit vector ${\underset{\xaf}{u}}_{k,D}$ is recoded at the receiver and remodulated to regenerate the transmit symbol vector ${\underset{\xaf}{x}}_{k,D}$ at the output of the decision device. The vector ${\underset{\xaf}{x}}_{k,D}$ is used to form Φ_{ k } which is required to generate R_{k−1} for the next channel. This process of cancelling the detected symbols continues from k=K^{∗} to k=1. The next section will introduce the system value and the despreading filter coefficient calculations for both the SIC and the nonSICbased systems.
4 System value and MMSE despreading filter coefficient formulations
In this section, the system values and the corresponding MMSE despreading filter coefficients are expressed in terms of the received signal vector $\underset{\xaf}{r}\left(\rho \right)$.
4.1 System values for a nonSICbased receiver
The received signal vector $\underset{\xaf}{r}\left(\rho \right)$ over the symbol period ρ is given in terms of the transmitted signal vector $\underset{\xaf}{z}\left(\rho \right)$ as
and the received signal matrix is given by $\mathbf{R}=\left[\underset{\xaf}{r}\left(1\right),\dots ,\underset{\xaf}{r}\left({N}^{\left(x\right)}\right)\right]$. The N_{ R }(N+L−1)dimensional vector $\underset{\xaf}{n}\left(\rho \right)$ contains the concatenated noise samples at the output of the receiver chip matched filters. The N_{ R }(N+L−1)×N_{ T }N matrix H represents the overall MIMO channel convolution matrix formed as follows:
The channel convolution matrix between the pair of antennas ${\mathbf{H}}^{\left({n}_{r},{n}_{t}\right)}$ is determined by their channel impulse response ${\underset{\xaf}{h}}^{({n}_{r},{n}_{t})}={\left[{h}_{0}^{({n}_{r},{n}_{t})},\dots ,{h}_{L1}^{({n}_{r},{n}_{t})}\right]}^{T}$ of dimension L×1. It is assumed that the signals from each N_{ T }th transmit antenna to each N_{ R }th receive antenna undergo the same channel condition for the packet duration with L resolvable paths, and the channel conditions obtained from the feedback of pilot signals. The corresponding channel convolution matrix between the pair of antennas is formed as
The spatiotemporal MIMO channel matrix for the previous symbol block and the next symbol block are given as
where J is a vector shifting matrix. The notation J_{N+L−1} is the shift matrix of dimension (N+L−1)×(N+L−1) defined as ${\mathbf{J}}_{N+L1}=\left[\begin{array}{cc}{\underset{\xaf}{0}}_{(N+L1)1}^{T}& 0\\ {\mathbf{I}}_{(N+L1)1}& {\underset{\xaf}{0}}_{(N+L1)1}\end{array}\right]$. When multiplied with a matrix, ${\left({\mathbf{J}}_{N+L1}^{T}\right)}^{N}$ shifts the columns of the matrix up by N chips and fills the empty contents with zeros, while ${\mathbf{J}}_{N+L1}^{N}$ shifts the columns of the matrix down by N chips and fills the empty contents with zeros.
The N_{ R }(N+L−1)×K^{∗}dimensional receiver matched filter signature sequence matrix Q is calculated as follows:
The system value for the spread spectrum system based on a receiver without the SIC scheme is given by
where $\mathbf{C}=E\left(\underset{\xaf}{r}\left(\rho \right){\underset{\xaf}{r}}^{H}\left(\rho \right)\right)$ is an N_{ R }(N+L−1)×N_{ R }(N+L−1)dimensional covariance matrix of the received signal vector $\underset{\xaf}{r}\left(\rho \right)$. In (9), the covariance matrix C is calculated using (30) in terms of Q and the noise covariance matrix $E\left(\underset{\xaf}{n}\left(\rho \right){\underset{\xaf}{n}}^{H}\left(\rho \right)\right)$ as shown in Appendix Appendix 1.
The normalized MMSE despreading coefficients ${\underset{\xaf}{w}}_{k}$ for k=1,…,K^{∗} when the MSE per channel is minimized can be formed in terms of C , as shown below:
These coefficients are then stored in a matrix $\mathbf{W}=\left[{\underset{\xaf}{w}}_{1},\dots ,{\underset{\xaf}{w}}_{k},\dots ,{\underset{\xaf}{w}}_{{K}^{\ast}}\right]$ of dimension N_{ R }(N+L−1)×K^{∗}.
4.2 System values and MMSE despreading filter coefficients for a SICbased receiver
Similar to the received signal vector $\underset{\xaf}{r}\left(\rho \right)$ which is constructed in (4), a SICbased received signal vector is formed to improve the SINR at the output of each receiver. For the SIC scheme, the system value λ_{ k } for k=1,…,K^{∗} is determined using the following equation:
where ${\underset{\xaf}{q}}_{k}$ is the k th column of (8). The covariance matrix C_{ k } is initialized as ${\mathbf{C}}_{0}=2{\sigma}^{2}{\mathbf{I}}_{{N}_{R}(N+L1)}$ and then iteratively constructed for k=1,…,K^{∗} using the following relationship:
where
After all iterations k=1,…,K^{∗} have been completed the covariance matrix given in (30) is set to be $\mathbf{C}={\mathbf{C}}_{{K}^{\ast}}$.
When calculating the system values for the SIC scheme, each system value λ_{ k } in (11) for k=1,…,K^{∗} involves one matrix inversion ${\mathbf{C}}_{k}^{1}$, which requires high computational complexity. By applying the matrix inversion lemma (A+U B V)^{−1}=A^{−1}−A^{−1}U(B^{−1}+V A^{−1}U)V A^{−1} on D_{ k } in (13) and C_{ k } in (12), an iterative covariance matrix inversion method is formed by constructing the inverse matrices ${\mathbf{C}}_{k}^{1}$ and ${\mathbf{D}}_{k}^{1}$ using (33) and (34), respectively, as a function of ${\mathbf{C}}_{k1}^{1}$ as shown in Appendix Appendix 2 so that the total number of matrix inversions required to obtain λ_{ k } for k=1,…,K^{∗} reduces to 1.
The inverse matrices ${\mathbf{C}}_{k}^{1}$ and the corresponding system values, λ_{ k }, are calculated iteratively so that the system value λ_{ k } given in (11) is reorganized using (34) to simplify the SINR γ_{ k } at the output of the k th SIC receiver to the following form
using the steps in (35) to (38) given in Appendix Appendix 2. Therefore, γ_{ k } can be calculated when ${\mathbf{D}}_{k}^{1}$ is obtained using (33).
The MMSE linear equalizer despreading filter coefficients ${\underset{\xaf}{w}}_{k}$ for the k th SIC receiver in (10) is expressed in terms of C_{ k } as
for k=1,…,K^{∗}.
5 Sum capacity optimization using system values
The main focus of this article is to find the optimum number K^{∗} of spreading sequences, which maximizes the total rate, where K^{∗} is a subset of the total number K of spreading sequences used for transmission. The total rate ${b}_{T}=\sum _{k=1}^{{K}^{\ast}}{b}_{{p}_{k}}$ is maximized by minimizing the total MSE ${\u03f5}_{T}=\sum _{k=1}^{{K}^{\ast}}{\u03f5}_{k},$ where ${b}_{{p}_{k}}$ is the number of bits allocated to each spreading sequence symbol for k=1,…,K^{∗}. The total MSE minimization criterion has been studied in [24, 27, 28] and can be expressed in terms of the Lagrangian dual objective function:
where λ is the Lagrangian multiplier. The minimization of the total MSE using the above equation provides solutions for E_{ k } and the Lagrangian multiplier λ, subject to the energy constraint $\sum _{k=1}^{{K}^{\ast}}{E}_{k}\le {E}_{T}$. Since ${b}_{{p}_{k}}$ is expressed as a function of ϵ_{ k } and E_{ k }, ${b}_{T}=\sum _{k=1}^{{K}^{\ast}}{b}_{{p}_{k}}$ will be determined only after energy allocation, which could be computationally expensive, when an iterative energy calculation is required. Therefore, this article uses the system value optimization originally presented in [9], where the system value λ_{ k } of the k th channel is calculated using (9) and (11) for the nonSIC and the SICbased receivers, respectively. Differing from [9], in this article a method is proposed to calculate the discrete rate for each spreading sequence using the mean system value λ_{mean} prior to allocating the energy for each sequence.
The mean system value λ_{mean} is calculated by allocating energies equally such that ${E}_{k}=\frac{{E}_{T}}{{K}^{\ast}}$ and then obtaining the system value λ_{ k } from (9) for the nonSIC receiver or (11) for the SIC receiver, using the following equation
The total system capacities for the MMSE receivers for both the SIC and the nonSICbased receivers are then given as
where Γ is the gap value. To relate the system values to discrete bit rate optimization, one can use the discrete bit rate and its SINR relationship ${b}_{{p}_{k}}=\underset{2}{log}\left(1+\frac{{\gamma}_{k}}{\Gamma}\right)$. Thus, the target SINR can be expressed as a function of the discrete rate ${b}_{{p}_{k}}$ as follows:
and the corresponding target system value ${\lambda}_{k}^{\ast}$ expressed as a function of ${b}_{{p}_{k}}$ can be obtained using
The next section will provide a detailed description of the system value based throughput optimization methods for both the nonSIC and the SICbased spread spectrum MIMO systems.
6 System valuebased discrete and WF algorithmbased nondiscrete bit loading
In this section, an iterative WF algorithm and two discrete bit loading algorithms will be presented using the system value approach. These methods operate with a given total energy E_{ T } when implemented with or without the proposed SIC receiver. First, the iterative WF algorithms will be presented for continuous bit loading. Two iterative discrete bit loading methods will then be proposed to maximize the total rate without the need for any prior energy allocation. These discrete bit loading methods maximize the total rate by jointly allocating the discrete rate and then selecting the optimum number K^{∗} of ordered spreading sequences. The first discrete bit loading algorithm will use the mean system value λ_{mean} to determine the optimum number K^{∗} of spreading sequences and to select the sequences prior to allocating the energy for each sequence. The second discrete bit loading method will use the minimum system value λ_{min} to select the optimum number of sequences.
The system values will be ordered in an ascending order for all combinations of K_{opt}=K,…,1 for both discrete bit loading methods prior to selecting the optimum number of signature sequences. The temporary number K_{opt} of optimum spreading sequences is used as an initial value for each loop in an iterative sequence number optimization process.
For the discrete bit loading methods with λ_{mean} and λ_{min}, margin adaptive (MA) loading (equal rate) algorithms will be considered initially so that all spreading sequences have the same rate ${b}_{p}={b}_{{p}_{k}}$ for k=1,…,K^{∗} by using the target system values identified in (19) in terms of the available discrete rates. The total transmission rate is R_{ T }=K^{∗}b_{ p }. Then, the twogroup (TG) rate adaptive optimization will be described for both cases to use the wasted (residual) energy caused by quantization loss, by loading a certain number of channels, m, with the next discrete rate b_{p+1} to further increase the total rate to R_{T,T G}=(K^{∗}−m)b_{ p }+m b_{p+1}.
6.1 Iterative WFbased continuous bit loading
The iterative WF was originally developed to remove subchannels, which contain negative energies, and to maximize the total rate. This section describes the iterative WF optimization, which finds the optimum subchannels ${K}_{\text{WF}}^{\ast}$ using the system values for continuous unequal bit loading. This iterative WF algorithm can also be applied to the HSDPA system with and without SIC by using the system value λ_{ k } formulation given in (9) and (11), respectively. The algorithm first allocates energies to the channels before the rates and the optimum number of channels are determined. The iterative WF starts with K_{opt}=K, where K_{opt} is the temporary optimum number of codes. In each K_{opt}th iteration, the WF calculates the channel SINR per energy unit vector ${\left[\underset{\xaf}{g}\right]}_{k}$ and assigns energies E_{ k } for k=1,…,K_{opt}. The signature sequences are reordered starting with those signature sequences which have the lowest channel SINR. The first subchannel is removed if it was assigned with a negative energy. When there are no more subchannels with negative energies, energies are allocated iteratively until they converge. This continues unless a channel with negative energy is detected during the process. With the later case, the corresponding subchannel will be removed and energies are recalculated as before. The algorithm will return the optimum number of coded channels K^{∗}, their respective allocated energies and signature sequences, covariance matrix C or C_{ k } and the MMSE receiver coefficient.
The iterative WF algorithm initializes K_{opt}=K and the procedure is summarized as follows:

1.
Initialize the loop counter as I=1. The number of energies E _{ k } is K _{opt} and vectors ${\underset{\xaf}{q}}_{k},{\underset{\xaf}{q}}_{k,1},{\underset{\xaf}{q}}_{k,2}$, and ${\underset{\xaf}{k}}_{\text{order}}$ are of length K _{opt}.

2.
Perform energy allocation:

(a)
Calculate the channel SINR per energy unit vector ${\left[\phantom{\rule{0.3em}{0ex}}\underset{\xaf}{g}\phantom{\rule{0.3em}{0ex}}\right]}_{k}=\frac{{\lambda}_{k}}{{E}_{k}\left(1{\lambda}_{k}\right)}$ by finding λ_{ k } from (9) for nonSIC or (11) when using the SIC receiver.

(b)
Determine the WF constant ${K}_{\text{WF}}=\frac{1}{{K}^{\ast}}\left({E}_{T}+\Gamma \sum _{k=1}^{{K}^{\ast}}\frac{1}{{\left[\phantom{\rule{0.3em}{0ex}}\underset{\xaf}{g}\phantom{\rule{0.3em}{0ex}}\right]}_{k}}\right)$ and energy allocations ${E}_{k}={K}_{\text{WF}}\frac{\Gamma}{{\left[\phantom{\rule{0.3em}{0ex}}\underset{\xaf}{g}\phantom{\rule{0.3em}{0ex}}\right]}_{k}}$ for k=1,…,K _{opt}.

(a)

3.
Perform signature sequence reordering procedure:

(a)
Find the term c _{ k }, the indices of the k th smallest element of $\underset{\xaf}{g}$. Store it in the vector ${\underset{\xaf}{k}}_{\text{WF}}$.

(b)
Reorder vectors ${\left[\mathbf{Q}\right]}_{k}={\left[\mathbf{Q}\right]}_{{c}_{k}}$, ${\left[{\mathbf{Q}}_{1}\right]}_{k}={\left[{\mathbf{Q}}_{1}\right]}_{{c}_{k}}$, and ${\left[{\mathbf{Q}}_{2}\right]}_{k}={\left[{\mathbf{Q}}_{2}\right]}_{{c}_{k}}$ as well as energies ${E}_{k}={E}_{{a}_{k}}$ for k=1,…,K _{opt}.

(a)

4.
Carry out the channel removal process:If E _{1}< 0, remove this channel by setting K _{opt}=K _{opt}−1. Set ${E}_{k}={E}_{k+1},{\underset{\xaf}{q}}_{k}={\underset{\xaf}{q}}_{k+1},{\underset{\xaf}{q}}_{k,1}={\underset{\xaf}{q}}_{\left(k+1\right),1}\mathbf{,}{\underset{\xaf}{q}}_{k,2}={\underset{\xaf}{q}}_{\left(k+1\right),2}$ and ${\left[{\underset{\xaf}{k}}_{\mathit{\text{WF}}}\right]}_{k}={\left[{\underset{\xaf}{k}}_{\text{WF}}\right]}_{k+1}$ for k=1,…,K ^{∗}. Form Q _{ e }=[Q , Q _{1},Q _{2}]. Repeat the process from step 1.Otherwise, K ^{∗}=K _{opt}, set counter I=I+1 and repeat the process from step 2 until I=I _{max} is reached.
6.2 System valuebased signature sequence ordering for discrete loading
This section will describe the use of system values for ordering the signature sequences to maximize the system capacity by determining and selecting the optimum number of signature sequences for receivers with and without the SIC scheme. The signature sequence ordering process starts with by setting K_{opt}=K and continues by iteratively adjusting K_{opt}=K_{opt}−1 until K_{opt}=1 is reached. In each iteration, the system values are calculated, then the signature sequences (or coded channels) are ordered, and the signature sequence containing the smallest system value is removed. This generates a new set of selected and ordered signature sequences for each K_{opt}th iteration.
By allocating energies equally to all selected spreading sequences k=1,…,K_{opt} for that iteration, the system values are obtained from (9) or (11) for the nonSIC and SIC cases, respectively. These system values are stored in a K_{opt} length vector $\underset{\xaf}{\lambda}=[{\lambda}_{1},\dots ,{\lambda}_{{K}_{\text{opt}}}]$. The mean system values λ_{mean} and the minimum system value λ_{min} for each K_{opt} iteration are stored in the Klength vectors ${\left[{\underset{\xaf}{\lambda}}_{\text{mean}}\right]}_{{K}_{\text{opt}}}$ and ${\left[{\underset{\xaf}{\lambda}}_{min}\right]}_{{K}_{\text{opt}}}$ respectively where ${\underset{\xaf}{\lambda}}_{\text{mean}}$ and ${\underset{\xaf}{\lambda}}_{min}$ are initialized as ${\underset{\xaf}{0}}_{K}$.
The system values given in $\underset{\xaf}{\lambda}$ are sorted in an ascending order for the current K_{opt} iteration and are stored in the K_{opt}th column of the K×K matrix λ_{store}, i.e., in ${\left[{\mathbf{\lambda}}_{\text{store}}\right]}_{1:{K}_{\text{opt}},{K}_{\text{opt}}}$. The indices of the ordered system values are stored in a K_{opt} length vector ${\underset{\xaf}{k}}_{\text{order}}$, where indices range from 1 to K_{opt}.
The next step is to find the K_{opt}length vector ${\underset{\xaf}{k}}_{\text{select}}=[{a}_{1},\dots ,{a}_{k},\dots ,{a}_{{K}_{\text{opt}}}]$ which contains the indices of the selected subset of the signature sequences used in the current K_{opt} iteration. These are also ordered according to the ascending order of the system values using ${\underset{\xaf}{k}}_{\text{order}}$. Next ${\underset{\xaf}{k}}_{\text{select}}$ will be stored in the K_{opt}th column of the K×K upper triangular matrix K_{seq} such that ${\left[{\mathbf{K}}_{\text{seq}}\right]}_{1:{K}_{\text{opt}},{K}_{\text{opt}}}$. The vector ${\underset{\xaf}{k}}_{\text{select}}$ is initialized as ${\underset{\xaf}{k}}_{\text{select}}=[1,\dots ,K]$ and K_{seq} is initialized as 0_{K×K}.
Defining Q_{orig}, Q_{orig1}, and Q_{orig2} as the original unmodified receiver signature sequence matrices of Q , Q_{1}, and Q_{2} with its order is equivalent to S, reordering procedure is carried out by setting ${\left[\mathbf{Q}\right]}_{k}={\left[{\mathbf{Q}}_{\text{orig}}\right]}_{{a}_{k}}$, ${\left[{\mathbf{Q}}_{1}\right]}_{k}={\left[{\mathbf{Q}}_{\text{orig}1}\right]}_{{a}_{k}}$ and ${\left[{\mathbf{Q}}_{2}\right]}_{k}={\left[{\mathbf{Q}}_{\text{orig}2}\right]}_{{a}_{k}}$. The signature sequence removal will be completed by removing the first element of ${\underset{\xaf}{k}}_{\text{select}}$ so that the vector length is reduced to K_{opt}−1, and by removing the first columns of Q, Q_{1}, and Q_{2} so that the received signature sequence matrix dimension becomes N_{ R }(N+L−1)×(K_{opt}−1). This reduced matrix will be used to calculate the system values, and order and remove the spreading sequences with the smallest system value for the next K_{opt} iteration by setting K_{opt}=K_{opt}−1 and repeating the process until K_{opt}=1.
The procedure can be summarized as below.

1.
Find all system values corresponding to each K _{opt} from K _{opt}=K to K _{opt}= 1 by using the following steps.

(a)
Allocate energy equally for each signature sequence such that ${E}_{k}=\frac{{E}_{T}}{{K}_{\text{opt}}}$, for k=1,…,K _{opt}. Form the amplitude matrix A.

(b)
Find λ_{ k } for k=1,…,K _{opt} using (9) and C from (30) for nonSIC, or λ_{ k } from (11) and C _{ k } from (12) for SIC. Store $\underset{\xaf}{\lambda}=[{\lambda}_{1},\dots ,{\lambda}_{{K}_{\text{opt}}}]$.

(c)
Store the minimum system value ${\left[{\underset{\xaf}{\lambda}}_{min}\right]}_{{K}_{\text{opt}}}=min\left(\underset{\xaf}{\lambda}\right)$ and the mean system value ${\left[{\underset{\xaf}{\lambda}}_{\text{mean}}\right]}_{{K}_{\text{opt}}}=\frac{\sum _{k}^{{K}_{\text{opt}}}{\lambda}_{k}}{{K}_{\text{opt}}}$.

(a)

2.
Reorder the signature sequences and remove the signature sequence with the minimum λ_{ k } for each K _{opt} iteration:

(a)
Find the indices of the k th smallest elements for k=1,…,K _{opt} of $\underset{\xaf}{\lambda}$, store it in ${\underset{\xaf}{k}}_{\text{order}}$.

(b)
Store the system values in ${\left[{\mathbf{\lambda}}_{\text{store}}\right]}_{1:{K}_{\text{opt}},{K}_{\text{opt}}}$ in ascending order.

(c)
Find the vector ${\underset{\xaf}{k}}_{\text{select}}=[{a}_{1},\dots ,{a}_{k}\dots ,{a}_{{K}_{\text{opt}}}]$ which contains the indices of the selected subset of the signature sequences and with ordering according to ${\underset{\xaf}{k}}_{\text{order}}$. Store the reordered sequence index a _{ k } in ${\left[{\mathbf{K}}_{\text{seq}}\right]}_{k,{K}_{\text{opt}}}$.

(d)
Use a _{ k } to reorder ${\left[\mathbf{Q}\right]}_{k}={\left[{\mathbf{Q}}_{\text{orig}}\right]}_{{a}_{k}}$, ${\left[{\mathbf{Q}}_{1}\right]}_{k}={\left[{\mathbf{Q}}_{\text{orig}1}\right]}_{{a}_{k}}$, and ${\left[{\mathbf{Q}}_{2}\right]}_{k}={\left[{\mathbf{Q}}_{\text{orig}2}\right]}_{{a}_{k}}$ for k=1,…,K _{opt}.

(e)
If K _{opt}>1, set K _{opt}=K _{opt}−1. Set ${E}_{k}={E}_{k+1},{\underset{\xaf}{q}}_{k}={\underset{\xaf}{q}}_{k+1},{\underset{\xaf}{q}}_{k,1}={\underset{\xaf}{q}}_{\left(k+1\right),1}\mathbf{,}{\underset{\xaf}{q}}_{k,2}={\underset{\xaf}{q}}_{\left(k+1\right),2}$ for k=1,…,K. Form Q _{ e }=[Q , Q _{1},Q _{2}] and repeat steps 1 and 2. Otherwise, the optimum signature sequence identification for the discrete loading schemes will be performed, as described in the next two sections.

(a)
6.3 Mean system valuebased discrete bit loading algorithm
To achieve the same SINR distribution at the output of each despreading unit so that a higher b_{ p } is selected for equal rate loading, transmission energies need to be adjusted to achieve a target (fixed) SINR at each receiver. The discrete transmission rate will be identified using the mean of the system value λ_{mean}. This method will operate with an energy constraint $\sum _{k=1}^{{K}^{\ast}}{E}_{k}\le {E}_{T}$ to identify the optimum number K^{∗} of signature sequences and select the transmission signature sequences to maximize the total transmission rate R_{T,mean}.
With the relationship of the target system value λ^{∗} and the bit rates b_{ p } in (19), a set of target system values stored in the Plength vector ${\underset{\xaf}{\lambda}}^{\ast}$ corresponding to all bit rates b_{ p } will be generated. In the earlier Section 6.2, the ordered signature sequences for different number of signature sequences are given in K_{seq} for all combinations of K_{opt}=K,…,1. For these values the rate to be transmitted ${b}_{{p}_{k}}$ will be identified by comparing ${\left[{\underset{\xaf}{\lambda}}_{\text{mean}}\right]}_{{K}_{\text{opt}}}$ to the target system values in ${\underset{\xaf}{\lambda}}^{\ast}$for all K_{opt} combinations. The optimum number of codes, K^{∗}, will be selected from the K_{opt} combination, which gives the highest total rate R_{T,mean}=K^{∗}b_{ p }. This algorithm returns the total rate R_{T,mean}, optimum number codes K^{∗} and the selected and ordered signature sequence matrix S^{(mean)}. The algorithm is described below:

1.
For the set of bit rates ${\left\{{b}_{p}\right\}}_{p=1}^{P}$, find the corresponding target system value ${\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p}=\frac{\Gamma ({2}^{{b}_{p}}1)}{1\Gamma ({2}^{{b}_{p}}1)}$ for p=1,…,P.

2.
Find ${b}_{p,\text{mean}}={\left[{\underset{\xaf}{b}}_{\text{mean}}\right]}_{{K}_{\text{opt}}}$ that satisfies${\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p}\le {\left[{\underset{\xaf}{\lambda}}_{\text{mean}}\right]}_{{K}_{\text{opt}}}<{\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p+1\text{.}}$

3.
Store the total rate ${\left[{\underset{\xaf}{R}}_{\text{temp,mean}}\right]}_{{K}_{\text{opt}}}={K}_{\text{opt}}\times {\left[{\underset{\xaf}{b}}_{\text{mean}}\right]}_{{K}_{\text{opt}}}$ for K _{opt}=1,…,K.

4.
Select the optimum signature sequences satisfying ${K}_{\text{mean}}^{\ast}=arg\left(\underset{1\le {K}_{\text{opt}}<K}{max}{\left[{\underset{\xaf}{R}}_{\text{temp,mean}}\right]}_{{K}_{\text{opt}}}\right)$. The total rate ${R}_{T,\text{mean}}=max\left({\underset{\xaf}{R}}_{\text{temp,mean}}\right)$.

5.
Construct the signature sequence matrix ${\mathbf{S}}^{\left(\text{mean}\right)}=\left[{\underset{\xaf}{s}}_{1}^{\left(\text{mean}\right)},\dots ,{\underset{\xaf}{s}}_{{K}_{\text{mean}}^{\ast}}^{\left(\text{mean}\right)}\right]$ by setting ${\left[{\mathbf{S}}^{\left(\text{mean}\right)}\right]}_{k}={\left[\mathbf{S}\right]}_{{a}_{k}}$ where ${a}_{k}={\left[{\mathbf{K}}_{\text{seq}}\right]}_{k,{K}_{\text{mean}}^{\ast}}$ for $k=1,\dots ,{K}_{\text{mean}}^{\ast}$.
The TG optimization can be used to further maximize the total rate by loading m channels with b_{p+1} so that the total rate becomes ${R}_{T,\text{TGmean}}=({K}_{\text{mean}}^{\ast}{m}_{\text{mean}}){b}_{p,\text{mean}}+m{b}_{p+1,\text{mean}}$. For the mean system value based optimization method, the number of channels m_{mean} which loads the next discrete rate b_{p+1,mean} will be obtained by finding the maximum m_{mean} that satisfies the following inequality
6.3.1 Energy allocation for nonSIC
This section describes the energy allocation schemes for the mean system valuebased discrete bit loading allocation for both the nonSIC receiver and the SIC receiver with equal rate or TG allocation. When allocating equal rate, the bit rates of each channel are equal, i.e., ${b}_{{p}_{k}}={b}_{p}$ for k=1,…,K^{∗}; while bit rates are allocated as ${b}_{{p}_{k}}={b}_{p}$ for $k=1,\dots ,({K}_{\text{mean}}^{\ast}{m}_{\text{mean}})$ and ${b}_{{p}_{k}}={b}_{p+1}$ for $k={m}_{\text{mean}},\dots ,{K}_{\text{mean}}^{\ast}$ when using the TG allocation.
With K^{∗}, ${b}_{{p}_{k}}$ and ${\lambda}^{\ast}\left({b}_{{p}_{k}}\right)$ obtained in Section 6.3 the transmission energies for the nonSIC scheme can be iteratively calculated as shown below:
where i is the iteration number. The term ${\mathbf{C}}_{i1}^{1}$ is calculated by inverting C_{i−1} given in (30), which is a function of E_{k,(i−1)} for $k=1,\dots ,{K}_{\text{mean}}^{\ast}$ with ${E}_{k,0}=\frac{{E}_{T}}{{K}_{\text{mean}}^{\ast}}$ initialized for all channels. The iteration continues until the energies converge to fixed values or the maximum number of iterations, I_{max} is reached.
6.3.2 Energy allocation for SIC
As the iterative calculation of energy E_{k,i} depends on ${\mathbf{C}}_{i1}^{1}$ which requires energies E_{k,(i−1)} for k=1,…,K^{∗} for each iteration i, the SICbased energy allocation method was developed to simplify the calculation of energy so that E_{k,i} depends only on E_{k,(i−1)} and the stored covariance matrix inverse ${\mathbf{C}}_{k1}^{1}$ which is a function of ${E}_{k1,{I}_{max}}$. The inverse covariance matrix ${\mathbf{C}}_{k}^{1}$ will be calculated once per spreading sequence after having obtained the energy ${E}_{k,{I}_{max}}$.
The energies for the SICbased receiver can be iteratively calculated from E_{1} to ${E}_{{K}_{\text{mean}}^{\ast}}$ without any need to invert a matrix for each energy iteration by rearranging (14) as follows:
By using (33), the energy calculation given in (23) can be simplified to
where the weighting factors ξ, ξ_{1}, ξ_{2}, ξ_{3}, ξ_{4,}ξ_{5}, and ξ_{6} are constructed from ${\mathbf{C}}_{k1}^{1}$, ${\underset{\xaf}{q}}_{k},{\underset{\xaf}{q}}_{k,1},$ and ${\underset{\xaf}{q}}_{k,2}$ using (36) and the covariance matrix, used for the calculation of E_{1}, by initializing as ${\mathbf{C}}_{0}^{1}=\frac{1}{2{\sigma}^{2}}{\mathbf{I}}_{{N}_{R}\left(N+L1\right)}$. The terms ζ_{1,(i−1)} and ζ_{2,(i−1)} are calculated using (37) as a function of E_{k,(i−1)}; while ${\gamma}_{k}^{\ast}$ is the target SINR calculated as a function of ${b}_{{p}_{k}}$ using (20). The iterations of E_{k,i} continue until the energy converges to a fixed value or I_{max} is reached. Then, ${\mathbf{C}}_{k}^{1}$ is calculated in terms of ${E}_{k,{I}_{max}}$ using (34). This process is repeated for all selected transmission channels for $k=1,\dots ,{K}_{\text{mean}}^{\ast}$. Once the energies are allocated, the transmitter provides the receiver with the allocated energies. The next section will describe the minimum system valuebased discrete bit loading schemes.
6.4 Minimum system valuebased discrete bit loading algorithm
An equal energy loading method is adopted for the current HSDPA standards to load a discrete rate to each spreading sequence. Equal energy allocation produces varying SINRs at the receivers, but makes it simpler to allocate energies than the equal SINR loading scheme. As the channel with the minimum SINR is chosen as the target SINR to guarantee the quality of the service, this will also be referred to as the minimum system valuebased discrete bit loading method. This section will describe how to select the optimum number and the corresponding signature sequences to maximize the total rate for the HSDPA downlink. For the minimum system valuebased discrete bit loading, the transmission energies are allocated equally ${E}_{k}=\frac{{E}_{T}}{{K}^{\ast}}$ and there is no iterative energy adjustment. Differing from the mean system valuebased discrete bit loading, the minimum system value λ_{min} will be used to determine the transmission rate for each spreading sequence. With ${\underset{\xaf}{\lambda}}_{min}$ for all K_{opt} combinations and the ordering of the signature sequences given in K_{seq} as described in Section Sec5.2, the bit rate b_{ p } will be selected in a similar way to the mean system value based loading, except λ_{min} is used to compare with the target system value. The algorithm will return the optimum number of codes ${K}_{\text{mean}}^{\ast}$, the total rate ${R}_{T,\text{mean}}=\sum _{k}^{{K}^{\ast}}{K}_{\text{mean}}^{\ast}{b}_{p}$ and the ordered signature sequence matrix S^{(min)}. The minimum system valuebased loading is summarized below:

1.
For the set of bit rates ${\left\{{b}_{p}\right\}}_{p=1}^{P}$, find the corresponding target system value ${\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p}=\frac{\Gamma ({2}^{{b}_{p}}1)}{1\Gamma ({2}^{{b}_{p}}1)}$ for p=1,…,P.

2.
Find ${b}_{p,\mathit{\text{EE}}}={\left[{\underset{\xaf}{b}}_{min}\right]}_{{K}_{\text{opt}}}$ that satisfies
$${\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p}\le {\left[{\underset{\xaf}{\lambda}}_{min}\right]}_{{K}_{\text{opt}}}<{\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p+1}.$$ 
3.
Store the total rate ${\left[{\underset{\xaf}{R}}_{\text{temp},min}\right]}_{{K}_{\text{opt}}}={K}_{\text{opt}}\times {\left[{\underset{\xaf}{b}}_{min}\right]}_{{K}_{\text{opt}}}$ for K _{opt}=1,…,K.

4.
Select the optimum number of signature sequences by using ${K}_{min}^{\ast}=arg\left(\underset{1\le {K}_{\text{opt}}<K}{max}{\left[{\underset{\xaf}{R}}_{\text{temp},min}\right]}_{{K}_{\text{opt}}}\right)$. The total rate becomes ${R}_{T,\mathit{\text{EE}}}=max\left({\underset{\xaf}{R}}_{\text{temp,EE}}\right)$.

5.
Construct the signature sequence matrix ${\mathbf{S}}^{\left(min\right)}=\left[{\underset{\xaf}{s}}_{1}^{\left(min\right)},\dots ,{\underset{\xaf}{s}}_{{K}_{\text{mean}}^{\ast}}^{\left(min\right)}\right]$ by setting ${\left[{\mathbf{S}}^{(min)}\right]}_{k}={\left[\mathbf{S}\right]}_{{a}_{k}}$ where ${a}_{k}={\left[{\mathbf{K}}_{\text{seq}}\right]}_{k,{K}_{min}^{\ast}}$ for $k=1,\dots ,{K}_{min}^{\ast}$.
Again, a TG allocation can be performed to further increase the total rate. For the equal energy allocation, the channels that have system values ${\lambda}_{k}>{\left[{\underset{\xaf}{\lambda}}^{\ast}\right]}_{p+1}$ where p corresponds to the index of b_{p,mean} will be loaded with the next discrete rate b_{p+1,mean}. The total rate for the minimum system value TG allocation will be ${R}_{T,\mathit{\text{TG}}min}=({K}_{min}^{\ast}{m}_{min}){b}_{p,min}+{m}_{min}{b}_{p+1,min}$.
The next section will provide the results obtained from the simulations and the discussions about the performance of the different loading algorithms.
7 Results
Two separate experimental setup systems were developed using the Matlab and the National Instruments (NI) LabVIEW platforms with the parameters as listed in Table 1. The proposed system value optimization methods both with and without the SIC implementation were tested using the Matlab and LabVIEW simulation packages with the parameters: a spreading factor of N=16, the full number of spreading sequences K_{ f }=2N, an additive white noise variance of σ^{2}=0.02, and a gap value of Γ=0 dB. A set of discrete rates ${\left\{{b}_{p}\right\}}_{p=1}^{P},$ which range from 0.5 to 6 bits per symbol with intervals of 0.5, was considered for transmission over a 2×2 MIMO HSDPA system. The OVSF codes, which are precoded according to 3GPP Release 7 given in [6], were used as spreading sequences.
The objective of using the two experimental platforms is to cross check the system performance obtained from the Matlab simulation environment and the LabVIEW environment. A realtime channel emulator was implemented by modifying the National Instruments FPGA channel emulation software. This emulator is fed with the vectors containing the channel impulse response samples which are externally generated from power delay profiles (PDP) as specified by the standardization organizations such as ITU and 3GPP. Two industry standard profiles, known as the pedestrians A and B PDP, shown in Tables 2 and 3, were adopted in this article as specified [29] by the ITU organization.
The pedestrians A and B PDP correspond to the channel impulse responses taken at nonregular intervals with a resolution of 10 ns. The PDP given in the ITU specification as shown in Tables 2 and 3 can be written as
where P_{ i } is the linear power (not the logarithmic scale) at delay τ_{ i }. This PDP is sampled with a sampling rate of $\frac{1}{{T}_{c}}$ where T_{ c }=260 ns is the chip period. The new PDP is given as
where ${P}_{{T}_{c},l}$ is the power component at the l th chip period and L is the length of the sampled PDP. ${P}_{{T}_{c},l}$ is given as the sum of all power in P(t) in the time interval $t=\mathit{\text{lT}}\frac{{T}_{c}}{2}$ and $t=\mathit{\text{lT}}+\frac{{T}_{c}}{2}$ such as
The pedestrians A and B channels shown in Tables 2 and 3 are resampled at the chip period intervals as shown in Table 4. After sampling, power is normalized so that the PDP has a unity power gain. This produces the normalized square root PDP given in a vector form as $\underset{\xaf}{h}={\left[{h}_{0},\dots ,{h}_{l},\dots ,{h}_{L1}\right]}^{T}$ where
Two PDP sampled at chip period intervals for the pedestrians A and B channels were produced as: ${\underset{\xaf}{h}}_{\text{ped\_A}}={[0.9923,0.1034,0.0683]}^{T}$ and ${\underset{\xaf}{h}}_{\text{ped\_B}}={[0.6369,0.5742,0,0.3623,0,0.253,0,0,0,0.2595,0,0,0,0,0.047]}^{T}$ at regular chip period of T_{ c }=260 ns, which corresponds to the HSDPA system operating at 3.84 Mchips/s. The pedestrian A channel has a short delay spread of 3 chip periods and the pedestrian B PDP corresponds to a delay spread of 15 chip periods. The channel impulse response samples taken at the regular chip period intervals of T_{ c }=260 ns were used in the Matlab and the LabVIEW test environments. The pedestrians A and B PDP were specifically chosen to have channel impulses, which result in short and long ISI in the detection processes. In Table 4, the pedestrians A and B PDP taken at chip period intervals are listed to generate individual impulse responses by applying complex Gaussian random variables to each coefficient of the square root of the PDP.
Each entry in columns 2 and 3 of Table 4 corresponds to the nonzero squareroot PDP coefficient for the pedestrian channel impulse response vectors ${\underset{\xaf}{h}}_{\text{ped\_A}}$ and ${\underset{\xaf}{h}}_{\text{ped\_B}}.$ The entries ${\left[{\underset{\xaf}{h}}_{\text{ped\_A}}\right]}_{l+1}$ and ${\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{l+1}$ in Table 4 identify the squareroot PDP coefficients for the nonzero elements of vectors ${\underset{\xaf}{h}}_{\text{ped\_A}}$ and ${\underset{\xaf}{h}}_{\text{ped\_B}}$ with index l+1. The PDP given in Table 4 were used to generate six sets of distinct channel impulse responses. The channel impulse response coefficients ${\underset{\xaf}{h}}_{i,j}$ with Rayleigh distribution, corresponding to the transmissions from the MIMO transmitter i to the MIMO receiver j, are generated using two vectors $\underset{\xaf}{a}={\left[{a}_{0},\dots ,{a}_{l},\dots {a}_{L1}\right]}^{T}$ and $\underset{\xaf}{b}={\left[{b}_{0},\dots ,{b}_{l},\dots {b}_{L1}\right]}^{T}$ and also the relationship
and then the response is normalized using ${\underset{\xaf}{h}}_{i,j}=\frac{{\underset{\xaf}{h}}_{i,j}}{\left{\underset{\xaf}{h}}_{i,j}\right}.$ Where each coefficient a_{ l } and b_{ l } for l=0,…,L−1 is drawn from a normal distribution with zero mean and unity variance. Tables 5, and 6 list six sets of MIMO impulse responses generated from the pedestrians A and B PDP, respectively, to produce results for the experimental systems. The entries ${\left[{\underset{\xaf}{h}}_{i,j}\right]}_{l+1}$ in Tables 5 and 6 identify the PDP amplitudes for the nonzero elements of vectors ${\underset{\xaf}{h}}_{i,j}$ with index l+1. These responses were used in the Matlab and LabVIEW environments to obtain a set of mean total throughput versus signal to noise ratio curves for the pedestrians A and B channels. It was observed that both the Matlab and LabVIEW experimental setup environments produced almost identical results.
Results were produced for the throughput UBs and different optimization strategies for discrete rates in terms of system throughput in bits per symbol against the total SNR per symbol period per receiver antenna for 2×2 MIMO. The total received SNR is expressed in dB by using $10\times \underset{10}{log}\left(\frac{\text{Trace}\left({\mathbf{QA}}^{2}{\mathbf{Q}}^{H}\right)}{2{\sigma}^{2}{N}_{R}}\right)\mathit{\text{dB}}$ where N_{ R }=2 is the total number of receiver antennas.
For the UB throughput examination, the system value and the iterative WF UBs were simulated using the methods described in Sections 5 and 6.1, respectively. The corresponding curves for the water filling and the system value UBs both with and without the SIC schemes were labeled using the labels SIC WF UB, SIC SV UB, WF UB, and SV UB. Figure 3 shows the results for the WF UBs and system value UBs for both the nonSIC and the SIC schemes for the pedestrian A channel. The proposed system value UB achieves the same system capacity as the iterative WF for the systems with and without SIC. However, the system value UB is a good alternative to the WF UB due to its simplicity and its shorter processing time for calculating the system capacity. In the same figure, it is shown that the SIC UB achieves a much higher sum capacity especially at a high input SNR, where the total available energy is greater, and the energy per channel is higher. Thus, a higher interference is introduced to other parallel channels above a given total SNR and the system capacity saturates at an asymptotic value. To improve the sum capacity the SICbased receiver cancels the interference corresponding to the detected symbols, starting from those which have the highest system value. As the SIC UB achieves a much higher sum capacity than the nonSIC system, it will be used as the ultimate UB, when comparing the performance and improvements obtained through different optimization strategies for the rest of this section.
Discrete bit rate allocation methods based on the use of the mean and the minimum system values for the equal energy and SNR cases were simulated as described in Section 6. The corresponding curves in various figures have been labeled using SIC TG ES, SIC TG EE, TG ES, and TG EE for the systems with and without SIC. The term ES refers to the equal SNR loading case and the term EE refers to the equal energy loading case. These labels were appended with either FULL or OPT for the configurations corresponding to the systems with the full and optimum number of spreading sequences. The signature sequence ordering for a given set of total receiver SNRs was implemented using the algorithm described in Section 6.2. The optimum number of spreading sequences and also the data rates to be transmitted for the mean and minimum system valuebased algorithms were calculated using the methods described in Sections 6.3 and 6.4, respectively.
The mean system valuebased rate allocation requires iterative energy calculations, which were produced using the methods described for the nonSIC and the SICbased systems, respectively, in Sections 6.3.1 and 6.3.2. Iterative energy allocation methods were used to achieve equal SINR levels at the output of the despreading units. For the nonSIC receiver with the equal SNR (ES)based transmission energy allocation, the iterative power allocation stops, either when the sum difference between the current energy and the previous energy in the energy iteration loop is less than 1% of the total energy, i.e., $\mathrm{\Delta E}=\sum _{k=1}^{K}{E}_{k,i}{E}_{k,i1}\le 0.001{E}_{T}$ or when the maximum number of iteration I_{max} is reached. The energy for each coded channel E_{ k } for the SIC ES allocation iterates until $\mathrm{\Delta}{E}_{k}={E}_{k,i}{E}_{k,i1}\le 0.001\frac{{E}_{T}}{K}$.
The processes described above were repeated for various total signal to noise ratios at the output of the despreading units for channels with pedestrians A and B channel PDP.
In Figure 4, the results are shown for the twogroup equal SINR allocation using an optimum subchannel selection and SIC optimization strategies, when transmitting spread signals over pedestrian A channel. The improved system for the equal SINR allocation with SIC achieves system throughputs corresponding to the curves SIC TG ES OPT, SIC TG ES FULL, and these achieved throughputs are very close to the SIC UB. It is not necessary for the SICbased receiver to determine the optimum number of spreading sequences, when allocating equal SINR as the SIC scheme reduces these interferences. The SIC TG ES OPT scheme provides a 3dB improvement over the transmission system with the TG ES FULL strategy. The TG ES OPT scheme, on the other hand, provides a 1.5dB enhancement over the TG ES FULL scheme, when the total SNR is 35 dB.
Figure 5 shows the pedestrian A results for a system with the optimum number of ordered spreading sequences, the SIC receiver and the discrete bit loading method based on minimum system value. It is shown that the SIC TG EE OPT scheme has a 4.5dB improvement over the TG EE FULLbased system before the system throughput saturates at the total SNR value of 35 dB. The use of an optimum number of ordered signature sequences at the total SNR of 35 dB results in the TG EE OPT scheme having a 2.5dB improvement over the TG EE FULL scheme. The performance of the receiver with the SIC TG EE FULL scheme is enhanced by 3 dB over the TG EE FULL scheme using the full number of spreading sequences. It is observed that the system with the TG equal energy (EE) allocation, SIC and the optimum number of spreading sequences approaches the nonSIC system value UB. It is further noted that at the total SNR value of 35dB a 3dB difference is observed compared with the SIC UB before the system throughput diverges.
Figure 6 shows the simulation results corresponding to data transmitted over the pedestrian B channel. The system throughput saturates for the TG ES FULL scheme at a lower total SNR (at 30 dB) compared to the pedestrian A channel. At the total discrete data rate of 100 bps, the SIC TG ES OPT provides 7 and 4 dB improvements, respectively, over the systems with TG ES FULL and TG ES OPT schemes. At the total discrete rate of 120 bps, more than 10dB improvement is observed when using the SIC TG EE OPT scheme with the optimum number of spreading sequences over the TG EE FULL scheme. An 8dB improvement is achieved by using the optimum number of ordered spreading sequences. Around the total SNR value of 30 dB the SIC TG EE OPT receiver with the optimum number of channels produces a 3dB improvement over the TG EE OPT scheme without the SIC receiver. For the pedestrian B channel, the SIC TG EE OPT scheme for the TG discrete bit loading method produces a throughput, which exceeds the throughput of the TG method TG ES OPT with the optimum number of spreading sequences. The collaborative use of the SIC scheme with the optimum number of signature sequence selection scheme achieves a system throughput close to the system value UB.
The results extracted from Figures 3, 4, 5, and 6 are tabulated for the pedestrians A and B channels as shown in Tables 7 and 8, respectively. The entries in Tables 7 and 8 express the SNRs for specific data rates together with the total discrete rates at specific signal to noise ratios. The SIC scheme provides higher throughputs for both pedestrians A and B channels at an SNR of 35 dB. Specific entries as shown in Table 9 are extracted from Tables 7 and 8 for achievable data rates at the SNR of 35 dB for pedestrians A and B channels. The performances for all three SIC TG ES OPT, SIC TG EE OPT, and SIC TG EE FULL schemes for the pedestrian A channel are very close to each other. The TG EE FULL scheme achieves 29.7% of the SIC TG ES OPT performance and 37.4% of the SIC TG EE OPT performance for pedestrian B channel. On the other hand, the corresponding figures for the TG EE FULL scheme is 82% of the SIC TG ES performance and 85.8% of the SIC TG EE OPT performance for pedestrian A channel (Table 9).
The reason the TG EE FULL scheme achieves 29.7 and 82% of the SIC TG ES performances for pedestrians A and B channels, respectively, is that the PDP lengths or delay spreads for the pedestrians A and B channels are 3 and 15 chip periods, respectively. The HSDPA system, which uses the equal energy discrete bit loading method without the optimum number of spreading sequences suffers from a reduction in the total throughput compared with an HSDPA MIMO system with the optimum number of ordered spreading sequences, when encountering multipath channels with PDP lengths approaching the processing gain, N, of the system. The proposed method of finding the optimum number of ordered signature sequences improves the performance of equal energy loading systems.
8 Conclusion
This article has developed and proposed algorithms, which maximize the system throughput, while reducing the computational cost. Complexity reduced system value UBs are proposed, which achieve the same sum capacity as iterative WF. In terms of complexity reduction, the use of system values proposed in this article finds the rates and provides optimum subchannels selection before power allocation is performed. This eliminates the requirement to undertake iterative searches for the optimum bit rates combined with computationally intensive iterative power allocation for the equal SNR (ES) allocation. The optimum number of signature sequences can produce the maximum system throughput close the system value capacity UB. The proposed SIC increases the system throughput, but also simplifies the covariance matrix inversion process required for both the EE and the ES allocations. The computational reduction is especially significant for the ES allocation, where iterative energy allocation is required.
It is shown that a system throughput improvement is achieved close to the SIC UB for both the pedestrians A and B channels by using the SICbased receivers for the ES allocation. The SIC schemes with the full and optimum number of channels produce identical total rate results, when plotted against the total signal to noise ratio. It was observed that the signature sequence ordering was not essential for the equal SNR discrete bit loading algorithm. The identification of the optimum number of signature sequences for the equal energy allocation scheme significantly improves the total system throughput. The resultant scheme with the equal energy allocation, when using an SICbased receiver with the ordered optimum number of signature sequences achieves a system throughput close to the nonSIC UB.
The mobile radio channels with a longer channel impulse response length, which are measured in terms of the number of chip period intervals, have severe sum capacity throughput degradations compared with the system value UBs for equal energy loading HSDPA MIMO systems without the optimum number of ordered spreading sequences. The influence of the Doppler frequency on the performance of the proposed HSDPA system is currently under investigation and will be reported in future publications.
The results presented in this article confirm that the proposed optimum signature sequence selection scheme for the SIC receiver provides a significant performance improvement for the HSDPA system. As it is now possible to obtain system throughput near the UB. The proposed schemes with HSDPA will achieve results comparable to the LTE, without incurring significant additional cost to modify the existing HSDPA infrastructures.
Appendices
Appendix 1
The receiver matched filter sequences ${\underset{\xaf}{q}}_{k}={\left[\mathbf{Q}\right]}_{k}$, ${\underset{\xaf}{q}}_{k,1}={\left[{\mathbf{Q}}_{1}\right]}_{k}=\left[{\mathbf{I}}_{{N}_{R}}\otimes {\left({\mathbf{J}}_{N+L1}^{T}\right)}^{N}\right]{\underset{\xaf}{q}}_{k}$ and ${\underset{\xaf}{q}}_{k,2}={\left[{\mathbf{Q}}_{2}\right]}_{k}=\left[{\mathbf{I}}_{{N}_{R}}\otimes {\mathbf{J}}_{N+L1}^{N}\right]{\underset{\xaf}{q}}_{k}$ will be used to determine the covariance matrix C. The covariance matrix C of the received signal of dimension N_{ R }(N+L−1)×N_{ R }(N+L−1) is constructed using the following equation
where ⊗ is the Kronecker product, Q_{ e }=[Q , Q_{1},Q_{2}] is the extended Q matrix of dimension N_{ R }(N+L−1)×3K^{∗}, Q_{1} represents the previous symbol period components and Q_{2} represents ISI from the next symbol period formed as
where $\underset{\xaf}{y}(\rho 1)$ and $\underset{\xaf}{y}(\rho +1)$are the ISI components from the previous and next symbol periods; $\underset{\xaf}{n}\left(\rho \right)$is the additive white Gaussian noise component with $E\left(\underset{\xaf}{n}\right(\rho \left){\underset{\xaf}{n}}^{H}\right(\rho \left)\right)=2{\sigma}^{2}{\mathbf{I}}_{{N}_{R}(N+L1)}$ and ${\sigma}^{2}=\frac{{N}_{0}}{2}$ is the noise variance per dimension.
Appendix 2
Using the matrix inversion lemma, the inverse matrices ${\mathbf{D}}_{k}^{1}$ and ${\mathbf{C}}_{k}^{1}$ are obtained as shown below:
where the distance vectors $\underset{\xaf}{d},{\underset{\xaf}{d}}_{1},{\underset{\xaf}{d}}_{2},$ and ${\underset{\xaf}{d}}_{3}$ are formed as follows:
the weighting functions ξ,ξ_{1},ξ_{2},ξ_{3},ξ_{4}, ξ_{5}, and ξ_{6} are produced using
Then, the weighted energy terms ζ,ζ_{1}, and ζ_{2} can be calculated as follows:
while the interim matrices Z_{1},Z_{2},Z_{3}, and Z_{4} are formed as shown below:
For a given energy allocation E_{ k } for k=1,…,K, the parameters ${\underset{\xaf}{q}}_{k},{\underset{\xaf}{q}}_{k,1}$, ${\underset{\xaf}{q}}_{k,2},$ and σ^{2}, the matrices ${\mathbf{D}}_{k}^{1}$ and ${\mathbf{C}}_{k}^{1}$, as well as the system values λ_{ k } are constructed by initializing ${\mathbf{C}}_{0}^{1}=\frac{1}{2{\sigma}^{2}}{\mathbf{I}}_{{N}_{R}\left(N+L1\right)}$ and starting with k=1 as follows:

1.
Calculate ${\mathbf{D}}_{k}^{1}$ using (33) by finding parameters in $\underset{\xaf}{d},{\underset{\xaf}{d}}_{1},{\underset{\xaf}{d}}_{2},\xi ,{\xi}_{1}$ to ξ _{6}, Z _{1} to Z _{3} and ζ _{1}, ζ _{2} from (36) to (38).

2.
Form ${\mathbf{C}}_{k}^{1}$ in (34) with the given values for ${\mathbf{D}}_{k}^{1}$, ${\underset{\xaf}{d}}_{3}$, Z _{4} and ζ.

3.
Obtain the system value using ${\lambda}_{k}={E}_{k}{\underset{\xaf}{q}}_{k}^{H}{\mathbf{C}}_{k}^{1}{\underset{\xaf}{q}}_{k}$ as shown in (11).
Repeat this process from steps 1 to 3 for all selected transmission channels from k=1 to k=K^{∗}.
References
 1.
Shannon C: A mathematical theory of communication. Bell Syst. Tech. J 1948, 27: 623656.
 2.
Foschini G, Gans M: On limits of wireless communications in a fading environment when using multiple antennas. Wirel. Personal Commun 1998, 6: 311335. http://dx.doi.org/10.1023/A:1008889222784 10.1023/A:1008889222784
 3.
Telatar E: Capacity of multiantenna gaussian channels. Eur. Trans. Telecommun 1999, 10: 585595. 10.1002/ett.4460100604
 4.
3GPP: Technical specification group radio access network; physical layer procedures (FDD) (Tech. Spec. 25.214 V.10.3.0). TS 25.214, 3rd Generation Partnership Project (3GPP). 2010.http://www.3gpp.org/ftp/Specs/htmlinfo/25214.htm []
 5.
Cvitkovic M, Modlic B, Sisul G: High speed downlink packet access principles. In IEEE ELMAR, 2007. NJ: Piscataway; 2007:125128.
 6.
3GPP: Technical specification group radio access network; Multiple Input Multiple Output in UTRA (Tech. Rep. 25.876 V.7.0.0). TR 25.876, 3rd Generation Partnership Project (3GPP). 2007.http://www.3gpp.org/ftp/Specs/htmlinfo/25876.htm []
 7.
Mehlführer C, Caban S, Rupp M: Cellular system physical layer throughput: how far off are we from the Shannon bound? IEEE Wirel. Commun 2011, 18(6):5463.
 8.
Mehlführer C, Caban S, Rupp M: Measurementbased performance evaluation of MIMO HSDPA. IEEE Trans. Veh. Technol 2010, 59(9):43544367.
 9.
Gurcan M, Ma I, Ghani A: The interferencereduced energy loading for multicode HSDPA systems. EURASIP J. Wirel. Commun. Netw 2012, 127: 117.
 10.
Concha J, Ulukus S: Optimization of CDMA signature sequences in multipath channels. In IEEE VTS 53rd Vehicular Technology Conference, 2001. VTC 2001 Spring. NJ: Piscataway; 2001:19781982.
 11.
Visoz R, Gresset N, Berthet A: Advanced transceiver architectures for downlink MIMO CDMA evolution. IEEE Trans. Wirel. Commun 2007, 6(8):30163027.
 12.
Kim S, Kim S, Shin C, Lee J, Kim Y: A new multicode interference cancellation method for HSDPA system. In IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, 2009, PacRim 2009. NJ: Piscataway; 2009:487490.
 13.
Bastug A, Slock DTM: Downlink WCDMA receivers based on combined chip and symbol level equalizationchip and symbol level equalization. Eur. Trans. Telecommun 2005, 16: 5163. 10.1002/ett.1031
 14.
Wrulich M, Mehlfuhrer C, Rupp M: Managing the interference structure of MIMO HSDPA: a multiuser interference aware MMSE receiver with moderate complexity. IEEE Trans. Wirel. Commun 2010, 9(4):14721482.
 15.
Shenoy S, Ghauri I, Slock D: Receiver designs and multiuser extensions to MIMO HSDPA. In HSDPA/HSUPA Handbook. Edited by: Furht B, Ahson SA. Boca Raton: CRC Press; 2010:89109.
 16.
He J, Gu G, Wu Z: MMSE interference suppression in MIMO frequency selective and timevarying fading channels. IEEE Trans. Signal Process 2008, 56(8):36383651.
 17.
Mehlfuhrer C, Caban S, Wrulich M, Rupp M: Joint throughput optimized CQI and precoding weight calculation for MIMO HSDPA. In IEEE 42nd Asilomar Conference on Signals, Systems and Computers. NJ: Piscataway; 2008:13201325.
 18.
Cui T, Lu F, Sethuraman V, Goteti A, Rao S, Subrahmanya P: Throughput optimization in high speed downlink packet access (HSDPA). IEEE Trans. Wirel. Commun 2011, 10(2):474483.
 19.
Papandreou N, Antonakopoulos T: Bit and power allocation in constrained multicarrier systems: the singleuser case. EURASIP J. Adv. Signal Process 2008., 2008: http://dx.doi.org/10.1155/2008/643081
 20.
Yu W, Rhee W, Boyd S, Cioffi J: Iterative waterfilling for Gaussian vector multipleaccess channels. IEEE Trans. Inf. Theory 2004, 50: 145152. 10.1109/TIT.2003.821988
 21.
Jindal N, Rhee W, Vishwanath S, Jafar S, Goldsmith A: Sum power iterative waterfilling for multiantenna Gaussian broadcast channels. IEEE Trans. Inf. Theory 2005, 51(4):15701580. 10.1109/TIT.2005.844082
 22.
Kaya O, Ulukus S: Optimum power control for CDMA with deterministic sequences in fading channels. IEEE Trans. Inf. Theory 2004, 50(10):24492462. 10.1109/TIT.2004.834747
 23.
Kaya O, Ulukus S: Ergodic sum capacity maximization for CDMA: Optimum resource allocation. IEEE Trans. Inf. Theory 2005, 51(5):18311836. 10.1109/TIT.2005.846413
 24.
Shi S, Schubert M, Boche H: Downlink MMSE transceiver optimization for multiuser MIMO systems: duality and sumMSE minimization. IEEE Trans. Signal Process 2007, 55(11):54365446.
 25.
Shi S, Schubert M, Boche H: Rate optimization for multiuser MIMO systems with linear processing. IEEE Trans. Signal Process 2008, 56(8):40204030.
 26.
Bergman S, Palomar D, Ottersten B: Joint bit allocation and precoding for MIMO systems with decision feedback detection. IEEE Trans. Signal Process 2009, 57(11):45094521.
 27.
Tenenbaum A, Adve R: Minimizing sumMSE implies identical downlink and dual uplink power allocations. IEEE Trans. Commun 2011, 59(3):686688.
 28.
Shen H, Li B, Tao M, Wang X: MSEbased transceiver designs for the MIMO interference channel. IEEE Trans. Wirel. Commun 2010, 9(11):34803489.
 29.
3GPP: 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; High Speed Downlink Packet Access: UE Radio Transmission and Reception (TR 25.890 V1.0.0). TR 25.890, 3rd Generation Partnership Project (3GPP). 2002.http://www.3gpp.org/ftp/Specs/htmlinfo/25890.htm []
Acknowledgements
During the development of the experimental apparatus several divisions of the National Instruments (NI) USA, UK, and Europe groups have loaned a NI PXIebased 2×2 MIMO transceivers to enable Imperial College London to develop the MIMO channel emulator. National Instruments have also supplied a copy of their channel emulation software, which was modified by Imperial College London to operate with the experimental apparatus. We acknowledge the technical support given by the National Instruments team involving James Kimery, Robert Morton, Yiannis Pavlou, Ben Lavasani, David Baker, Trang Nguyen, Erik Luther, Jaeweon Kim, Ian Wong, and Ahsan Aziz.
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Rights and permissions
About this article
Received
Accepted
Published
DOI
Keywords
 HSDPA MIMO
 Successive interference cancellation
 Minimum mean square error equalization
 Resource allocation