- Research
- Open Access
System value-based optimum spreading sequence selection for high-speed downlink packet access (HSDPA) MIMO
- Mustafa K Gurcan^{1}Email author,
- Irina Ma^{1},
- Anusorn Chungtragarn^{1} and
- Hamdi Joudeh^{1}
https://doi.org/10.1186/1687-1499-2013-74
© Gurcan et al.; licensee Springer. 2013
- Received: 4 June 2012
- Accepted: 22 January 2013
- Published: 16 March 2013
Abstract
This article proposes the use of system value-based optimization with a symbol-level 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 high-speed downlink packet access system without affecting any significant computational cost. It is shown that by removing multi-code 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 multiplexing-based long-term 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.
Keywords
- HSDPA MIMO
- Successive interference cancellation
- Minimum mean square error equalization
- Resource allocation
1 Introduction
Wireless communication systems known as multiple-input multiple-output (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 water-filling (WF) over the spatial sub-channels. 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 high-speed 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 multi-code wide-band 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 (D-TxAA) HSDPA MIMO system for a single-user 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 inter-symbol interference (ISI) problem, is not a major problem for the orthogonal frequency division multiplexing (OFDM)-based systems [long-term 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 OFDM-based systems will have the upper hand over the HSDPA system in urban environments. The HSDPA single-input single-output (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 OFDM-based systems. Should the ISI problem be solved for the HSDPA MIMO-based 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
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 non-SIC-Based receiver model
The HSDPA MIMO system model used in the following sections will be briefly described in this section for both the non-SIC and the SIC-based receivers. Initially, a non-SIC-based multi-code 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 non-SIC-based 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)}.
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 vector $\hat{\underset{\xaf}{y}}\left(\rho \right)$ is used to form the N^{(x)}×K-dimensional de-spread 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 de-spread the received signal vector of the k th channel. The de-spread signals pass through the decision device, where the signals are quantized, de-mapped and decoded to form binary data vectors ${\underset{\xaf}{u}}_{k,D}$ for k=1,…,K.
3.3 The SIC-based receiver model
Figure 2 illustrates the system model for a SIC-based 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}}_{k-1}={\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 de-spreading vector ${\underset{\xaf}{w}}_{k}$ from (15) to yield a de-spread 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 re-coded at the receiver and re-modulated 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 de-spreading filter coefficient calculations for both the SIC and the non-SIC-based systems.
4 System value and MMSE de-spreading filter coefficient formulations
In this section, the system values and the corresponding MMSE de-spreading filter coefficients are expressed in terms of the received signal vector $\underset{\xaf}{r}\left(\rho \right)$.
4.1 System values for a non-SIC-based receiver
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+L-1}=\left[\begin{array}{cc}{\underset{\xaf}{0}}_{(N+L-1)-1}^{T}& 0\\ {\mathbf{I}}_{(N+L-1)-1}& {\underset{\xaf}{0}}_{(N+L-1)-1}\end{array}\right]$. When multiplied with a matrix, ${\left({\mathbf{J}}_{N+L-1}^{T}\right)}^{N}$ shifts the columns of the matrix up by N chips and fills the empty contents with zeros, while ${\mathbf{J}}_{N+L-1}^{N}$ shifts the columns of the matrix down by N chips and fills the empty contents with zeros.
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.
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 de-spreading filter coefficients for a SIC-based receiver
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}}_{k-1}^{-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.
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).
for k=1,…,K^{∗}.
5 Sum capacity optimization using system values
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 non-SIC and the SIC-based 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 next section will provide a detailed description of the system value based throughput optimization methods for both the non-SIC and the SIC-based spread spectrum MIMO systems.
6 System value-based discrete and WF algorithm-based non-discrete 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 two-group (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 WF-based continuous bit loading
The iterative WF was originally developed to remove sub-channels, which contain negative energies, and to maximize the total rate. This section describes the iterative WF optimization, which finds the optimum sub-channels ${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 sub-channel is removed if it was assigned with a negative energy. When there are no more sub-channels 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 sub-channel 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.
- 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 non-SIC 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 value-based 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 non-SIC 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 K-length 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.
- 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 non-SIC, 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 value-based discrete bit loading algorithm
To achieve the same SINR distribution at the output of each de-spreading 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}.
- 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}$.
6.3.1 Energy allocation for non-SIC
This section describes the energy allocation schemes for the mean system value-based discrete bit loading allocation for both the non-SIC 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.
where i is the iteration number. The term ${\mathbf{C}}_{i-1}^{-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}}_{i-1}^{-1}$ which requires energies E_{k,(i−1)} for k=1,…,K^{∗} for each iteration i, the SIC-based 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}}_{k-1}^{-1}$ which is a function of ${E}_{k-1,{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}}$.
where the weighting factors ξ, ξ_{1}, ξ_{2}, ξ_{3}, ξ_{4,}ξ_{5}, and ξ_{6} are constructed from ${\mathbf{C}}_{k-1}^{-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+L-1\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 value-based discrete bit loading schemes.
6.4 Minimum system value-based discrete bit loading algorithm
- 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
System parameters used for experimental set up
Parameter name | Parameters used |
---|---|
Transmission bandwidth | 5 MHz |
Chip rate | 3.84 Mchips/s |
Chip duration | 260 ns |
Processing gain | N=16 |
Spreading sequence | OVSF codes |
Full number of spreading sequences | K_{ f }=2N=32 |
Symbol duration | 4.167 μ s |
Symbol rate | 240 kbps |
Modulation schemes | 4,16,64 QAM |
TTI | 2 ms |
Set of discrete rates | {b_{ p }:p=1,…,12}={0.5,1,1.5,2,…,5.5,6} |
Gap value | Γ=0 dB |
Noise variance | σ^{2}=0.02 |
Pedestrian A PDP as specified by ITU
Relative delay (ns) | Average power (dB) | Average power linear |
---|---|---|
0 | 0 | 1 |
110 | −9.7 | 0.1072 |
190 | −19.2 | 0.012 |
410 | −22.8 | 0.0052 |
Pedestrian B PDP as specified by ITU
Relative delay (ns) | Average power (dB) | Average power linear |
---|---|---|
0 | 0 | 1 |
200 | −0.9 | 0.8128 |
800 | −4.9 | 0.3236 |
1200 | −8.0 | 0.1585 |
2300 | −7.8 | 0.166 |
3700 | −23.9 | 0.005 |
Pedestrians A and B square root PDP sampled at chip period intervals of T _{ c } = 260 ns
PDP for pedestrian A | PDP for pedestrian B | |
---|---|---|
PDP samples | $\begin{array}{l}{\left[{\underset{\xaf}{h}}_{\text{ped\_A}}\right]}_{1}=0.9923\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_A}}\right]}_{2}=0.1034\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_A}}\right]}_{3}=0.0683\end{array}$ | $\begin{array}{l}{\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{1}=0.6369\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{2}=0.5742\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{4}=0.3623\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{6}=0.253\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{10}=0.2595\\ {\left[{\underset{\xaf}{h}}_{\text{ped\_B}}\right]}_{15}=0.047\end{array}$ |
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.
Six MIMO channel impulse responses for pedestrian A for PDP
MIMO system | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{1}\mathbf{,}\mathbf{1}}$ | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{1}\mathbf{,}\mathbf{2}}$ | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{2}\mathbf{,}\mathbf{1}}$ | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{2}\mathbf{,}\mathbf{2}}$ |
---|---|---|---|---|
MIMO 1$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{3}\end{array}$ | $\begin{array}{l}0.7487-0.6306i\\ -0.1850-0.0343i\\ 0.0338+0.0719i\end{array}$ | $\begin{array}{l}-0.9590+0.2732i\\ -0.0130+0.0264i\\ -0.0516+0.0454i\end{array}$ | $\begin{array}{l}0.3578-0.9246i\\ -0.1102-0.0273i\\ -0.0481+0.0429i\end{array}$ | $\begin{array}{l}0.9854+0.1287i\\ -0.0601+0.0545i\\ 0.0333-0.0691i\end{array}$ |
MIMO 2$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{3}\end{array}$ | $\begin{array}{l}-0.5646-0.8180i\\ -0.0818-0.0036i\\ -0.0662-0.0310i\end{array}$ | $\begin{array}{l}0.9404-0.2717i\\ -0.0738+0.0686i\\ -0.1163+0.1347i\end{array}$ | $\begin{array}{l}-0.1601+0.9733i\\ -0.1451-0.0356i\\ -0.0674-0.0099i\end{array}$ | $\begin{array}{l}0.6454+0.5049i\\ -0.3725+0.3573i\\ 0.2139+0.1279i\end{array}$ |
MIMO 3$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{3}\end{array}$ | $\begin{array}{l}-0.9343+0.3490i\\ -0.0436-0.0382i\\ -0.0442+0.0073i\end{array}$ | $\begin{array}{l}-0.5494-0.8283i\\ 0.0436+0.0629i\\ -0.0189+0.0763i\end{array}$ | $\begin{array}{l}0.9689+0.1865i\\ 0.0332-0.1381i\\ 0.0134+0.0784i\end{array}$ | $\begin{array}{l}0.8517-0.5203i\\ -0.0165-0.0538i\\ 0.0103-0.0241i\end{array}$ |
MIMO 4$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{3}\end{array}$ | $\begin{array}{l}-0.6747-0.2829i\\ -0.3628+0.1666i\\ 0.5262+0.1686i\end{array}$ | $\begin{array}{l}-0.6768+0.7284i\\ 0.0669+0.0738i\\ 0.0342+0.0149i\end{array}$ | $\begin{array}{l}-0.4463+0.8870i\\ -0.0505-0.0462i\\ 0.0610+0.0755i\end{array}$ | $\begin{array}{l}0.7165+0.6712i\\ -0.1134+0.1502i\\ -0.0190-0.0151i\end{array}$ |
MIMO 5$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{3}\end{array}$ | $\begin{array}{l}-0.4616-0.8853i\\ 0.0335-0.0402i\\ 0.0196+0.0082i\end{array}$ | $\begin{array}{l}0.3408+0.9354i\\ 0.0149-0.0868i\\ 0.0326+0.0063i\end{array}$ | $\begin{array}{l}0.8875+0.3893i\\ -0.1424+0.0528i\\ -0.1670-0.0990i\end{array}$ | $\begin{array}{l}0.4882-0.8696i\\ 0.0191-0.0609i\\ 0.0363+0.0050i\end{array}$ |
MIMO 6$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{3}\end{array}$ | $\begin{array}{l}0.8804-0.1447i\\ 0.3899+0.1104i\\ -0.1990-0.0121i\end{array}$ | $\begin{array}{l}0.4828+0.8731i\\ 0.0529-0.0358i\\ -0.0034+0.0246i\end{array}$ | $\begin{array}{l}-0.3872+0.9215i\\ -0.0148-0.0247i\\ -0.0095+0.0020i\end{array}$ | $\begin{array}{l}0.5984+0.7962i\\ 0.0263+0.0097i\\ 0.0510+0.0680i\end{array}$ |
Three MIMO channel impulse responses produced using pedestrian B PDP
MIMO system | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{1}\mathbf{,}\mathbf{1}}$ | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{1}\mathbf{,}\mathbf{2}}$ | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{2}\mathbf{,}\mathbf{1}}$ | ${\underset{\xaf}{\mathbf{h}}}_{\mathbf{2}\mathbf{,}\mathbf{2}}$ |
---|---|---|---|---|
MIMO 1$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{4}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{6}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{10}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{15}\end{array}$ | $\begin{array}{l}0.0229+0.5341i\\ -0.6235+0.3184i\\ 0.0084-0.0738i\\ 0.2479+0.1571i\\ 0.0044-0.3625i\\ 0.0247+0.0206i\end{array}$ | $\begin{array}{l}-0.4432+0.2855i\\ 0.0657+0.5398i\\ -0.0092+0.6207i\\ -0.1626+0.0536i\\ 0.0133-0.1047i\\ -0.0130+0.0224i\end{array}$ | $\begin{array}{l}-0.0069-0.0122i\\ -0.5727+0.7461i\\ 0.0860-0.0990i\\ 0.2054+0.1443i\\ 0.0370-0.1813i\\ -0.0265-0.0026i\end{array}$ | $\begin{array}{l}-0.1663-0.4687i\\ 0.1264+0.7616i\\ 0.2039-0.1934i\\ 0.0227-0.1056i\\ 0.0444-0.2439i\\ -0.0059+0.0672i\end{array}$ |
MIMO 2$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{4}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{6}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{10}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{15}\end{array}$ | $\begin{array}{l}0.0913+0.1776i\\ 0.0936-0.7911i\\ -0.0202-0.0698i\\ 0.0151-0.3206i\\ -0.4486-0.1105i\\ 0.0237+0.0572i\end{array}$ | $\begin{array}{l}-0.6268+0.4813i\\ 0.2604-0.3171i\\ -0.1357-0.0327i\\ 0.0545+0.3103i\\ -0.2675+0.1293i\\ -0.0047-0.0021i\end{array}$ | $\begin{array}{l}0.1033-0.0800i\\ -0.2510+0.6625i\\ 0.5253-0.0953i\\ -0.3251+0.0813i\\ -0.1176-0.2629i\\ 0.0018-0.0280i\end{array}$ | $\begin{array}{l}0.3372+0.8363i\\ -0.0653+0.3605i\\ 0.0584-0.1297i\\ 0.1319-0.0490i\\ -0.0872+0.0482i\\ 0.0020+0.0513i\end{array}$ |
MIMO 3$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{4}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{6}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{10}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{15}\end{array}$ | $\begin{array}{l}0.2707+0.2853i\\ 0.2780-0.8215i\\ -0.2162+0.0266i\\ -0.0660+0.1923i\\ 0.0198-0.0297i\\ -0.0551-0.0018i\end{array}$ | $\begin{array}{l}0.6291-0.7214i\\ 0.1576+0.0554i\\ -0.0621+0.1326i\\ 0.0415-0.0359i\\ 0.1258+0.1203i\\ 0.0194+0.0288i\end{array}$ | $\begin{array}{l}0.2042+0.1202i\\ 0.2734-0.7931i\\ 0.2381+0.1180i\\ 0.3467+0.0097i\\ -0.0552+0.2081i\\ 0.0279+0.0448i\end{array}$ | $\begin{array}{l}-0.2108-0.4112i\\ 0.6783-0.4702i\\ 0.0860-0.1800i\\ 0.1481+0.0376i\\ 0.1572+0.1320i\\ 0.0065+0.0021i\end{array}$ |
MIMO 4$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{4}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{6}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{10}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{15}\end{array}$ | $\begin{array}{l}-0.2846+0.6625i\\ -0.2383-0.4432i\\ 0.2094+0.1262i\\ -0.2596-0.0742i\\ -0.1007+0.2899i\\ -0.0030+0.0039i\end{array}$ | $\begin{array}{l}0.1139+0.4100i\\ -0.0169-0.7298i\\ 0.4345+0.1053i\\ -0.0151+0.0891i\\ -0.1461+0.2376i\\ -0.0118+0.0027i\end{array}$ | $\begin{array}{l}-0.8778-0.1701i\\ 0.0480-0.0967i\\ -0.0567-0.0903i\\ -0.1503+0.2134i\\ -0.0420-0.3273i\\ -0.0183+0.0101i\end{array}$ | $\begin{array}{l}-0.0422-0.3111i\\ -0.1506-0.1133i\\ 0.6742+0.1949i\\ -0.0972+0.5244i\\ 0.2433-0.1657i\\ 0.0438+0.0203i\end{array}$ |
MIMO 5$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{4}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{6}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{10}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{15}\end{array}$ | $\begin{array}{l}-0.5439-0.5576i\\ -0.3691-0.2579i\\ 0.0200+0.1919i\\ -0.3587+0.0248i\\ 0.1156-0.0808i\\ -0.0638-0.0000i\end{array}$ | $\begin{array}{l}-0.8098-0.3717i\\ 0.1776-0.1768i\\ -0.2993-0.0695i\\ 0.1456-0.0431i\\ 0.0185-0.1507i\\ 0.0523-0.0087i\end{array}$ | $\begin{array}{l}-0.2563-0.5513i\\ 0.3903-0.0362i\\ -0.2914+0.4157i\\ -0.4297+0.1629i\\ 0.0571-0.0619i\\ -0.0186-0.0212i\end{array}$ | $\begin{array}{l}-0.1098-0.0363i\\ -0.8871+0.0024i\\ -0.0041-0.1478i\\ 0.0690-0.1490i\\ -0.2913+0.2434i\\ -0.0019+0.0826i\end{array}$ |
MIMO 6$\begin{array}{l}{\left[{\underset{\xaf}{h}}_{i,j}\right]}_{1}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{2}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{4}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{6}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{10}\\ {\left[{\underset{\xaf}{h}}_{i,j}\right]}_{15}\end{array}$ | $\begin{array}{l}-0.2840-0.2491i\\ -0.4385-0.5626i\\ -0.4491-0.2567i\\ 0.0135+0.2173i\\ -0.1683-0.0388i\\ -0.0242+0.0558i\end{array}$ | $\begin{array}{l}-0.7960-0.0408i\\ 0.2196-0.2892i\\ -0.0165+0.2390i\\ 0.2314-0.1565i\\ -0.1509-0.2634i\\ 0.0241+0.0684i\end{array}$ | $\begin{array}{l}0.6534+0.4181i\\ 0.2096-0.0745i\\ -0.0821+0.3265i\\ 0.0229-0.2907i\\ 0.0654-0.3807i\\ -0.0099-0.0324i\end{array}$ | $\begin{array}{l}-0.1519+0.0626i\\ 0.3893-0.7242i\\ 0.3158+0.2367i\\ 0.1111-0.0626i\\ -0.2742-0.2223i\\ 0.0150-0.0101i\end{array}$ |
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.
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 value-based algorithms were calculated using the methods described in Sections 6.3 and 6.4, respectively.
The mean system value-based rate allocation requires iterative energy calculations, which were produced using the methods described for the non-SIC and the SIC-based 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 de-spreading units. For the non-SIC 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,i-1}|\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,i-1}|\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 de-spreading units for channels with pedestrians A and B channel PDP.
Pedestrian A experimental results
Scheme | SNR for | SNR for | Rate at | Rate at |
---|---|---|---|---|
50 bps | 150 bps | 20 dB SNR | 35 dB SNR | |
WF UB | 17 | 30 | 71.36 | 185 |
SIC WF UB | 16.6 | 28.5 | 75.5 | 213 |
SV UB | 16.8 | 30 | 68.3 | 184 |
SIC SV UB | 16.5 | 28.5 | 75.3 | 213 |
TG ES OPT | 17 | 29.5 | 70.5 | 177 |
TG ES FULL | 17.5 | 31 | 66 | 169 |
TG EE OPT | 18 | 31.6 | 61.8 | 150.6 |
TG EE FULL | 19.5 | 35 | 51.9 | 166.2 |
SIC TG ES OPT | 16.6 | 28.8 | 74 | N/A |
SIC TG ES FULL | 17.2 | 28.8 | 73 | N/A |
SIC TG EE OPT | 17.5 | 30.5 | 65.15 | 174.5 |
SIC TG EE FULL | 18.5 | 32 | 57.4 | 165.8 |
Pedestrian B experimental results
Scheme | SNR for | SNR for | Rate at | Rate at |
---|---|---|---|---|
50 bps | 150 bps | 20 dB SNR | 35 dB SNR | |
WF UB | 20 | 33.5 | 50.58 | 103.31 |
SIC WF UB | 17.5 | 25 | 65.21 | 176.9 |
SV UB | 20 | 33.5 | 50.25 | 102.31 |
SIC SV UB | 17.5 | 25 | 65.11 | 176.9 |
TG ES OPT | 19 | 30 | 54 | 124 |
TG ES FULL | 21 | 41 | 47.3 | 93.9 |
TG EE OPT | 21 | 32.5 | 48.5 | 110.25 |
TG EE FULL | 27 | n/a | 29.3 | 52.15 |
SIC TG ES OPT | 17.75 | 25.8 | 63 | 174 |
SIC TG ES FULL | 17.7 | 25.4 | 63.5 | 1588 |
SIC TG EE OPT | 19 | 28 | 53.2 | 132.05 |
SIC TG EE FULL | 20 | 32.5 | 38.25 | 91.95 |
Comparing of HSDPA system performance over pedestrians A and B channels at 35-dB SNR
Scheme | Rate at 35 dB | |
---|---|---|
For pedestrian A | For pedestrian B | |
SIC WF UB | 213 | 177 |
SIC SV UB | 213 | 177 |
SIC TG ES OPT | 182 | 174 |
SIC TG EE OPT | 174.5 | 132 |
SIC TG EE FULL | 165.8 | 92 |
TG EE FULL | 166.2 | 59.15 |
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 sub-channels 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 SIC-based 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 SIC-based receiver with the ordered optimum number of signature sequences achieves a system throughput close to the non-SIC 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
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+L-1)}$ and ${\sigma}^{2}=\frac{{N}_{0}}{2}$ is the noise variance per dimension.
Appendix 2
- 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}$, $$