國 立 交 通 大 學
電信工程研究所
碩 士 論 文
基於幾何方法欠定多輸入多輸出系統之
高效率解碼演算法
Geometry Based Efficient Decoding Algorithm for
Underdetermined MIMO Systems
研 究 生:吳智湧 Student: Chih-Yung Wu
指導教授:李大嵩 博士 Advisor: Dr. Ta-Sung Lee
基於幾何方法欠定多輸入多輸出系統之
高效率解碼演算法
Geometry Based Efficient Decoding Algorithm for
Underdetermined MIMO Systems
研 究 生:吳智湧 Student: Chih-Yung Wu
指導教授:李大嵩 博士 Advisor: Dr. Ta-Sung Lee
國立交通大學
電信工程研究所
碩士論文
A Thesis
Submitted to Institute of Communication Engineering
College of Electrical and Computer Engineering
National Chiao Tung University
in Partial Fulfillment of the Requirements
for the Degree of
Master
in
Communication Engineering
June 2010
Hsinchu, Taiwan, Republic of China
基於幾何方法欠定多輸入多輸出系統之
高效率解碼演算法
學生:吳智湧
指導教授:李大嵩 博士
Chinese Abstract
國立交通大學電信工程研究所
摘要
在多輸入多輸出系統中,高效率且低功率消耗之接收機的設計為關鍵議題之 ㄧ。在多輸入多輸出系統中,球型解碼器是能有效提供最大似然的接收器。然而, 典型球型解碼器無法運用在傳送天線個數大於接收天線個數的欠定系統中。針對 此類系統,通用球型解碼被提出,但它的解碼複雜度隨著天線個數差的增加而呈 現指數增加。在本論文中,針對此類欠定系統,吾人提出具有低解碼複雜度的解 碼器。該解碼器包含了兩個步驟:1.藉由所提出的高效率的平面候選點搜尋器將 所有所需的候選點一一找出。2.針對這些候選點集合進行平面交集的動作並配合 動態半徑調整機制來快速地找出該問題的解。吾人亦提出一可與所提出解碼器結 合之通道矩陣行向量的排序策略,進而提供低運算需求及近似最大似然搜尋的解 碼性能。模擬結果顯示吾人提出方法的有效性。Geometry Based Efficient Decoding Algorithm for
Underdetermined MIMO Systems
Student: Chih-Yung Wu
Advisor: Dr. Ta-Sung Lee
English Abstract
Institute of Communication Engineering
National Chiao Tung University
Abstract
The design of high-performance and low-power consumption receiver is one of
the key issues of MIMO systems. The sphere decoding algorithm (SDA) is an
effective detector for MIMO systems. However, typical SDA fail to work in
underdetermined MIMO systems where the number of transmit antennas is larger than
the number of receive antennas. The generalized sphere decoder (GSD) had been proposed for underdetermined MIMO systems. However, its decoding complexity is
exponentially increasing with the antenna number difference. In this thesis, we
propose a decoder for underdetermined MIMO systems with low decoding complexity.
The proposed decoder consists of two stages: 1. Obtaining all valid candidate points
efficiently by slab decoder. 2. Finding the optimal solution by conducting the intersectional operations with dynamic radius adaptation to the candidate set obtained
from Stage 1. We also propose a reordering strategy that can be incorporated into the
proposed decoding algorithm to provide a lower computational complexity and
near-ML decoding performance for underdetermined MIMO systems. Simulations
Acknowledgement
I would like to express my deepest gratitude to my advisors, Dr. Ta-Sung Lee, for
his enthusiastic guidance and great patience. I learned a lot from his positive attitude in
many areas, especially in the training of oral presentation. I thank Chester senior
whose knowledge and experience have benefited me tremendously in my research.
Thanks are also offered to all members in the Communication System Design and
Signal Processing (CSDSP) Lab. Last but not least, I would like to show my sincere
Table of Contents
Chinese Abstract ...I
English Abstract ... II
Table of Contents ... IV
List of Figures ... VI
Acronym Glossary ...VII
Notations….. ... ...VIII
Chapter 1 Introduction... 1
Chapter 2 Underdetermined MIMO System Model ... 4
2.1 System Model ...5 2.2 Channel Capacity ...6 2.3 MIMO Diversity ...10 2.3.1 Receive Diversity...10 2.3.2 Transmit Diversity ... 11 2.4 Spatial Multiplexing... 11 2.5 MIMO Detection...13
2.6 Underdetermined MIMO Detection...15
2.6.1 Generalized Sphere Decoder (GSD) ...15
2.6.2 Slab Sphere Decoding (SSD) Algorithm ...17
Chapter 3 Proposed Geometry Based Decoding Algorithm with
Intersection of Candidate Sets ... 24
3.1 Efficient Search Method for Points in Slab ...25
3.2 Efficient Decoding Algorithm with Intersection of Candidate Sets...29
3.3 Computer Simulation ...34
3.4 Summary ...38
Chapter 4 Preprocessing of Proposed Decoding Algorithm ... 39
4.1 Preprocessing ...40
4.2 Alternative Approach of Preprocessing ...44
4.3 Computer Simulations ...48
4.4 Summary ...51
Chapter 5 Conclusions and Future Works ... 52
List of Figures
Fig. 2-1 MIMO system block diagram ...5
Fig. 2-2 Spatial multiplexing system ...12
Fig. 2-3 Encoding procedure of D-BLAST (n=3)...13
Fig. 2-4 Encoding procedure of V-BLAST (n=3) ...13
Fig. 3-1 An example of slab with 4-PAM and k = 2...28
Fig. 3-2 Block diagram of typical underdetermined decoding algorithms ...29
Fig. 3-3 Illustration of intersection of candidate sets ...31
Fig. 3-4 SER comparison of SSD and the proposed method using 16-QAM ...36
Fig. 3-5 Complexity comparison of SSD and the proposed method using 16-QAM...36
Fig. 3-6 SER comparison of SSD and the proposed method using 64-QAM ...37
Fig. 3-7 Complexity comparison of SSD and the proposed method using 64-QAM...38
Fig. 4-1 Geometrical diagram of slabs with different y...41
Fig. 4-2 Probability density function of ym ...47
Fig. 4-3 The reduced percentage of Method I and Method II...48
Fig. 4-4 SER comparison of proposed method with and without preprocessing ...50 Fig. 4-5 Complexity comparison of proposed method with and without preprocessing 50
Acronym Glossary
AWGN additive white Gaussian noise
D-BLAST diagonal Bell laboratories layered space-time
EGC equal-gain combining
GSD generalized sphere decoder
GS-QRD Gram-Schmidt process-QR decomposition
Householder-QRD Householder process-QR decomposition
MIMO multiple-input multiple-output
ML maximum-likelihood
MRC maximum ratio combining
PDA plane decoding algorithm
SDA sphere decoding algorithm
SD spatial diversity
SE Schnorr and Euchner
SER symbol-error-rate
SIC
successive interference cancellation
SISO single-input-single-output
SLA Slab Decoding Algorithm
SM spatial multiplexing
SNR signal-to-noise ratio
SSD slab-sphere decoder
STC space-time code
V-BLAST vertical Bell laboratories layered space-time
Notations
( )⋅ T transpose operator ⋅ 2-norm operator { } E ⋅ expectation operator ( )γ ⋅ lower incomplete Gamma function
( )
Γ • Gamma function
( )
P • regularized Gamma function
C channel capacity
H complex channel matrix
H real channel matrix
t
N number of transmit antennas
r
N number of receive antennas
P transmitted symbol power
n complex AWGN
n real AWGN
x complex transmitted signal vector x real transmitted signal vector y complex received signal vector y real received signal vector
Chapter 1
Introduction
Recently, in order to satisfy the growing demands of the personal
communications, the design of next generation wireless communication systems goes
for supporting high data rate and high mobility. However, the link quality suffers from
frequency selective and time selective fading caused by multipath propagation in
wireless channels. Moreover, the quality and reliability of wireless communication are
degraded by Doppler shift and carrier frequency/phase. Beside, due to the limited
available bandwidth and transmitted power, the design challenge of wireless
communication systems becomes more difficult. Therefore, many innovative
techniques have been devised and extensively used in this field to improve the
reliability and the spectral efficiency of wireless communication links e.g. the coded
multicarrier modulation, smart antenna and multiple-input multiple-output (MIMO)
technology [1-4] and adaptive modulation [5], [6].
Among these technologies, MIMO is the most outstanding one. MIMO
technology involves the use of multiple antennas to improve link performance. There
are two major features of MIMO technologies: spatial multiplexing for increasing
data rate and spatial diversity for improve link quality. Spatial multiplexing offers a
same time. Spatial diversity provides diversity gain to mitigate fading effects by using
the multiple (ideally independent) copies of the transmitted signal in space, time and
frequency. They are usually trade-offs to each other and provide an effective and
promising solution while achieving high-data rate and reliable transmission.
The major MIMO signal detection schemes include linear detection, successive
interference cancellation (SIC) [7], [8] and the maximum-likelihood (ML) detection.
The advantages of the first two detection schemes are low decoding complexity and
easy implementation but their detection performances are non-optimal. ML detection
provides optimal detection performance but its complexity increases exponentially
with the size of constellation and the number of transmit antennas. Therefore, the
design of high-performance and low decoding complexity is the one of key issues of
MIMO designs. To reduce the complexity of the ML detector, the sphere decoding
algorithm (SDA) [9], [10] has received considerable attention as an efficient detection
scheme for MIMO systems. However, typical SDA fail to work in underdetermined
MIMO systems where the number of transmit antennas is larger than the number of
receive antennas.
To overcome the above drawbacks of typical SDA, the conventional generalized
sphere decoder (GSD), double-layer sphere decoder (DLSD) and slab sphere decoder
(SSD) are introduced in [11-15]. These decoders transform underdetermined systems
into overdetermined systems that can be solved by the SDA. Since the GSD performs
an exhaustive search on (Nt −Nr) dimensions for the ML solution, the decoding complexity is increasing with the size of constellation and the antenna number
difference. The DLSD uses the outer sphere decoder to find the valid candidate points
and then the inner sphere decoder uses those points to find the solution. The SSD uses
the geometry concept to find the valid candidate points to reduce the searching
in SSD.
In this thesis, our goal is to reduce the decoding complexity of the SSD without
degrading the decoding performance. The proposed decoder consists of two stages: 1.
Obtaining all valid candidate points efficiently by the slab decoder. 2. Finding the
optimal solution by conducting the intersectional operations with dynamic radius
adaptation to the candidate set obtained from Stage 1. We also propose a reordering
strategy that can be incorporated into the proposed decoding algorithm to provide a
lower computational complexity and near-ML decoding performance in
underdetermined MIMO systems.
The organization of this thesis is given as follows. In Chapter 2, the signal model
and typical detection schemes of overdetermined MIMO systems are introduced. In
Chapter 3, the proposed decoder is presented. Two preprocessing scheme for the
proposed decoder are suggested in Chapter 4. Simulation results are presented in both
Chapter 3 and Chapter 4. Finally, Chapter 5 gives the conclusion and future works of
Chapter 2
Underdetermined MIMO System
Model
Many MIMO technologies are implemented in order to achieve the multiplexing
gain and more diversity gain for wireless communication system. But in some
scenarios (e.g. a strong LoS signal at receiver), an overdetermined MIMO system can
be degraded into an underdetermined MIMO system. In underdetermined MIMO
systems, the well-known SDA fail, therefore we need some special decoding schemes
for these cases. In this chapter, those technologies of MIMO systems are introduced.
We first introduce the MIMO system model in Section 2.1. Section 2.2 introduces the
channel capacity. Second, the spatial diversity (SD) and the spatial multiplexing (SM)
techniques are introduced in Section 2.3 and Section 2.4, respectively. Finally, the
commonly used detection schemes for underdetermined MIMO systems including
generalize sphere decoder (GSD), and Slab-sphere decoder (SSD) will be given in
2.1 System Model
Consider a Gaussian MIMO system with N transmit antennas and t N receive r antennas as shown in Fig. 2-1. The relation between transmitted signal vector and
received signal vector can be written as
, = + y Hx n (2.1) where 1, , ,2 r 1 r N N y y y × ⎡ ⎤ = ⎢⎣ ⎥⎦ ∈
y stands for the received signal vector,
[
]
11, , ,2 Nt Nt
x x x ×
= ∈
x stands for the transmitted signal vector, H stands for
the frequency-flat fading channel matrix:
1,1 1,2 1, 2,1 2,2 2, ,1 ,2 , , t t r t r r r t N N N N N N N N h h h h h h h h h × ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ =⎢ ⎥ ∈ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ H (2.2)
where the elements of H are complex i.i.d. Gaussian random variables with normal
distribution CN(0,1) and n=
[
n n1, 2, ,nNr]
∈ Nr×1 stands for the complex additive white Gaussian noise (AWGN) with normal distribution CN(
0,σ I . It is 2)
assumed n > m for an underdetermined MIMO systems.TX RX Channel matrix H
1x
2x
Ntx
1y
2y
Nry
The complex equation in (2.1) can be rewritten into an equivalent real system by
real value decomposition as
, = + y Hx n (2.3) where { } { } { } { } { } { } [Re Im ] [Re Im ] [Re Im ] , T T M N T T M T T = ∈ = ∈ = ∈ y y y x x x n n n (2.4) and
{ }
{ }
{ }
{ }
Re Im . Im Re T T M N T T × ⎡ − ⎤ ⎢ ⎥ ⎢ ⎥ = ∈ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ H H H H H (2.5)Note the H is a size M× matrix where N M = ×2 Nr andN = ×2 Nt.
2.2 Channel Capacity
Channel capacity is the upper bound of data rates in bits per channel that can be
reliably transmitted over a communication channel. In other words, by channel coding
theorem, if the data rate of transmission is below the channel capacity, the transmitted
signals can be recovered with an arbitrarily small error probability. First, we introduce
the single-input-single-output (SISO) channel capacity. Second, the MIMO channel
capacity is introduced. The channel capacity is defined as [16]
( ) max I( ; ), p x C = X Y (2.6) where I( ; )X Y =H( )Y −H( | ),Y X (2.7)
entropy of Y and differential conditional entropy of Y with knowledge of X given,
respectively. In (2.6), it states that the mutual information is maximized with respect to
all possible transmitter statistical distributions p(x).
SISO Channel Capacity
For SISO systems, the ergodic capacity of a random channel can be defined as
( ):max I( ; ) ,1 p x P C E X Y = ⎧ ⎫ ⎪ ⎪ ⎪ ⎪ = ⎨⎪ ⎬⎪ ⎪ ⎪ ⎩ ⎭ (2.8)
where P =E x k
{
( )2}
is transmitted symbol power over the channel, E ⋅ denotes { }the expectation of all channel realization, and the mutual information is equal to
2 2
log (1+γ h ). The channel capacity defined in (2.8) means that the maximum of
mutual information between X and Y of all statistical distribution on the X. From (2.8),
the SISO system ergodic capacity I( ; )X Y can be replaced by log (12 +γ h2) [16]
{
2}
2
log (1 ) bits/sec/Hz,
C =E +γ h (2.9)
where γ =P σ2 is the average SNR at the receiver, P is the transmit power.
MIMO Channel Capacity
For a MIMO system with N transmit antennas and t N receive antennas, the r ergodic capacity of a random MIMO channel can be defined as [1]
( ) ( ):trmaxxx t I( ; ) , p x N C E X Y = ⎧ ⎫ ⎪ ⎪ ⎪ ⎪ = ⎨⎪ ⎬⎪ ⎪ ⎪ ⎩ R ⎭ (2.10)
where Rxx =E
{ }
xxH is the covariance matrix of the transmitted signal vector x. Similar to SISO channel capacity, the MIMO mutual information can be described as( ) 2 2 I ; log det( Nr xx H) . t P X Y E N σ ⎧ ⎡ ⎤⎫ ⎪ ⎪ ⎪ ⎢ ⎥⎪ = ⎨⎪ ⎢ + ⎥⎬⎪ ⎪ ⎣ ⎦⎪ ⎩ ⎭ I HR H (2.11)
Substituting (2.11) into (2.10), we have
2 2
(maxxx) t log det( r ) bits/sec/Hz.
H N xx tr N t P C E N σ = ⎧ ⎡ ⎤⎫ ⎪ ⎪ ⎪ ⎢ ⎥⎪ = ⎨ ⎢ + ⎥⎬ ⎪ ⎪ ⎪ ⎣ ⎦⎪ ⎩ ⎭ R I HR H (2.12)
When the channel knowledge is unknown to the transmitter, the optimal transmit
signals are chosen to be independent and equal power. With independent and uniform
power distribution, the covariance matrix of the transmit signal vector is then given by
r
xx = N
R I . As a result, the ergodic capacity of a MIMO system can be written as [1]
2 2
log det( Nr H) bits/sec/Hz.
t P C E N σ ⎧ ⎡ ⎤⎫ ⎪ ⎪ ⎪ ⎢ ⎥⎪ = ⎨⎪ ⎢ + ⎥⎬⎪ ⎪ ⎣ ⎦⎪ ⎩ ⎭ I HH (2.13)
By using the eigenvalue decomposition, the matrix product of HH can be H decomposed as HHH = ΛE E where E is an H Nr×Nr matrix which consists of the eigenvectors satisfying EEH =E EH =INr and Λ = diag
{
λ λ1, , ,2 … λNr}
is a diagonal matrix with the eigenvalues λi ≥ on the main diagonal. Assuming that the 0 eigenvalues λ are ordered so thati λi ≥λi+1, we have2, if 1 , if 1 0, i i r i r r i N σ λ = ⎨⎧⎪⎪⎪⎪ + ≤ ≤≤ ≤ ⎪⎪⎩ (2.14)
where σ is the ith squared singular value of the channel matrix H and i2
( )
{
}
rank min t, r
r = H ≤ N N is the rank of the channel matrix. Then the capacity of
a MIMO channel can be rewritten as
2 2 2 2 2 2 1 log det( ) log det( ) log (1 ) bits/sec/Hz. r r H N t N t r i i t P C E N P E N P E N σ σ λ σ = ⎧ ⎡ ⎤⎫ ⎪ ⎪ ⎪ ⎢ ⎥⎪ = ⎨⎪ ⎢ + Λ ⎥⎬⎪ ⎪ ⎣ ⎦⎪ ⎩ ⎭ ⎧ ⎡ ⎤⎫ ⎪ ⎪ ⎪ ⎢ ⎥⎪ = ⎨⎪ ⎢ + Λ ⎥⎬⎪ ⎪ ⎣ ⎦⎪ ⎩ ⎭ ⎧ ⎫ ⎪ ⎪ ⎪ ⎪ = ⎨⎪ + ⎬⎪ ⎪ ⎪ ⎩ ⎭
∑
I E E I (2.15)Note that the second equation holds due to the fact det
(
)
det(
)
r t
N + = N +
I AB I BA
for matrices A∈ Nr×Nt , B∈ N Nt× r and
r
H
N
=
E E I . Eq. (2.15) shows that the capacity of a MIMO channel is made up by the sum capacities of r independent SISO
sub-channels with power gain λ for i = 1,2,…,r and transmit power i P Nt individually.
When the channel knowledge is known to the transmitter, the capacity of a MIMO
channel is the sum of the capacities associated with the independent SISO channels and
is given by 2 2 1 log (1 ) bits/sec/Hz, r i i i t P C E N γ λ σ = ⎧ ⎫ ⎪ ⎪ ⎪ ⎪ = ⎨⎪ + ⎬⎪ ⎪ ⎪ ⎩ ⎭
∑
(2.16)where γi =E x
{ }
i2 for i = 1,2,…,r is the transmit power in the ith sub-channel and{ }
γ satisfy the power constraint i∑
ri=1γi =Nt. Since the transmitter can access the spatial sub-channels, we can allocate those powers across the sub-channels tomaximize the mutual information as
1
2 2
1
max log (1 ) bits/sec/Hz,
r i t i r i i i t N P C E N γ γ λ σ = = = ⎧ ⎫ ⎪ ⎪ ⎪ ⎪ = ⎨⎪ + ⎬⎪ ⎪ ⎪ ⎩ ⎭ ∑
∑
(2.17)the optimal power allocation of the ith sub-channel is a water-filling solution given by
[1], [16] 2 opt for 1,2, , , i i m i r P σ γ μ λ + ⎛ ⎞⎟ ⎜ ⎟ =⎜⎜ − ⎟⎟ = ⎜⎝ ⎠ (2.18)
where μ is chosen to satisfy the constraint
∑
ri=1γiopt =Nt and ( )⋅ denotes the +2.3 MIMO Diversity
Diversity techniques are widely used in MIMO systems to improve the reliability
of transmission without increasing the transmit power or bandwidth. There are many
diversity techniques such as space, frequency and time diversity. In this section the
space diversity is introduced, it is so called antenna diversity.
2.3.1 Receive Diversity
Receive diversity involves the receiver with multiple antennas. At the receiver,
multiple copies of the transmitted signal are received, which can be efficiently
combined with an appropriate signal processing algorithm. There are four main types
of combining techniques, include selection combing, switch combining, equal-gain
combining (EGC) and the maximum ratio combining (MRC).
1. Selection combining – The received signal with the best quality is chosen
and the choosing criterion is based on SNR.
2. Switch combining – Switch the received signal path to an alternative
antenna when the current received signal level falls below a given threshold.
3. EGC – It is a simple method since it does not require estimation of the
channel. The receiver simply combines the received signals from different
receive antennas with weights set to be equal.
4. MRC – It forms the output signal by a linear combination of all the
received signals and is the optimal combination technique which achieves
2.3.2 Transmit Diversity
Transmit diversity techniques provide more diversity benefits at the receiver with
multiple transmit antennas, has received much attention, especially in wireless cellular
systems. There are two broad categories of transmit diversity: the open loop schemes
and the closed loop schemes. In the open loop schemes, the transmitter transmits
signals without feedback information from receiver, e.g. Space-time code (STC). In the
closed loop schemes, the transmitter transmits signals with feedback channel
information from receiver, e.g. transmit beamforming.
2.4 Spatial Multiplexing
Spatial multiplexing is a transmission technique of MIMO wireless
communication systems which increases the channel capacity without additional power
or bandwidth, as shown in Fig. 2-2. In other words, spatial multiplexing means that
transmit independent and separately data signals on each transmitted antenna in order
to increase the channel capacity. If there are N antennas and t N antennas of r transmitter and receiver, respectively, the maximum spatial multiplexing order is
{
}
min t, r ,
D= N N (2.19)
if a linear receiver is used. This means that D data streams can be transmitted in parallel,
the data rate can be increased by D times in the ideal case. The practical multiplexing
gain is limited by correlation of channels, which means that some of the parallel
streams may have very weak channel gains. Two typical spatial multiplexing schemes,
Diagonal Bell Laboratories Layered Space-Time (D-BLAST)
The concept of layered space-time processing was proposed by Foschini at BellLaboratories [2]. D-BLAST uses multiple antennas at both the transmitter and the
receiver. The encoder uses a space time arrangement that corresponds to a diagonal
layering. Fig. 2-3 show the encoding procedure for D-BLAST.
Vertical Bell Laboratories Layered Space-Time (V-BLAST)
The D-BLAST algorithm suffers from complicated implementation which is notsuitable for practical situation. Therefore, a simplified version of the BLAST algorithm
is known as V-BLAST [17]. In V-BLAST system, independently encoded data streams
are transmitted from each transmit antenna simultaneously. The encoding procedure is
shown in Fig. 2-4.
Fig. 2-2 Spatial multiplexing system
1x
2x
nx
1y
2y
my
Fig. 2-3 Encoding procedure of D-BLAST (n=3)
Fig. 2-4 Encoding procedure of V-BLAST (n=3)
2.5 MIMO Detection
In this section, we introduce the classification of MIMO detection schemes
including Zero-Forcing (ZF), Zero-Forcing Successive Interference Cancellation
(ZF-SIC) and Maximum-Likelihood (ML) detection. Assume that the received signal
is given by (2.3) . = + y Hx n (2.20) 0 0 0 3 3 3 1 1 1 4 4 4 2 2 2 5 5 5
0
0
0
α
β
γ
α
β
γ
α
β
γ
α
β
γ
α
β
γ
α
β
γ
⎡
⎤
⎢
⎥
⎢
⎥
= ⎢
⎥
⎢
⎥
⎢
⎥
⎢
⎥
⎣
⎦
x
Encoder α Encoder β Encoder γ Layer Time Antenna 0 1 2 0 1 2 0 1 2α
α
α
β
β
β
γ
γ
γ
⎡
⎤
⎢
⎥
⎢
⎥
= ⎢
⎥
⎢
⎥
⎢
⎥
⎣
⎦
x
Encoder α Encoder β Encoder γ Layer Time Antenna(1) Zero-Forcing (ZF)
The ZF scheme is a kind of linear detection that means the received signal y is
multiplied by a filter G ZF
(
)
1 † , H − H = = ZF G H H H H (2.21)where H is the Moore-Penrose pseudo-inverse of H. The output vector after the † filter is as follows
† .
=
y H y (2.22)
The ZF can remove the spatial interferences from the received signal; however, the
main drawback of ZF scheme is the resulting noise enhancement.
(2)
Zero-ForcingSuccessive Interference Cancellation (ZF-SIC)
Denote H as
1, , Nt .
⎡ ⎤
= ⎢⎣ ⎥⎦
H h h (2.23)
The received signal is given by
1 1 2 2 Nt Nt .
x x x
= + = + + + +
y Hx n h h h n (2.24)
The main idea of SIC is to cancel the detected symbol from the received signal to
improve primary ZF detection performance. The ZF filter is given in (2.21). The
decision statistics of the ith symbol is obtained as
† ,
i i
x = H y (2.25)
where H†i is the ith row of H . Taking hard decision to † x , the estimation symbol i i
s can be obtained. After s is detected, it is subtracted from the received signal to i
remove its influence, then updating the received signal as
' ,
i i
s
= −
where h is the ith column in the channel matrix H. Iterating the above procedure, i the ZF-SIC solution can be achieved.
(3)
Maximum-Likelihood (ML) Detection
The well known optimal detection scheme of the MIMO systems is the ML
detection. The ML detection searches all possible combinations of transmitted
symbols via the following criterion:
ML 2 arg minN , ∈ = − x x y Hx (2.27)
where N denotes the set of all possible transmitted symbol vectors. The computational complexity of an exhaustive searching algorithm for the ML solution
increases exponentially with N. Therefore, it is not easy to be implemented at the
receiver in practice which is the main drawback of this method.
2.6 Underdetermined MIMO Detection
The classification of underdetermined MIMO detection schemes (e.g. GSD and
SSD) are introduced in this section
2.6.1 Generalized Sphere Decoder (GSD)
In order to reduce the complexity of ML detection, the SDA was proposed to
achieve ML performance with low complexity. Hence, it is adopted on the receiver
design in recent years. But the SDA fails in the underdetermined MIMO systems and
underdetermined systems to overdetermined system that can be solved by SDA [19].
Consider a Gaussian MIMO system with N transmitted antennas and t N r received antennas, the received real signal can be formed as (2.3). The ML estimator
x of x is obtained by minimizing the Euclidean distance of y from the legal lattice points as
( )2
2
arg min arg min .
N N ρ
∈ ∈
= − = −
x x
x y Hx R x (2.28)
where = − −{ 3, 1, 1, 3} for 16-QAM cases, ρ = H HHT
(
T)
−1y , Q is aM×M unitary matrix, and R is a M× upper triangular matrix corresponding to N
the QR-decomposition of H, i.e. H =QR . The matrix R can be represented by
[
1, 2]
=
R R R , where R1 ∈ M M× is a upper triangular matrix and
2 ∈ M N M× −
R . Similarly, x can be represented by x= ⎣⎡x xG, G⎤⎦T, where G and
G are the indices corresponding to the first M and the last N −M elements of the
x vector. The minimum distance corresponding to the ML estimator in (2.28) can be rewritten by ( )
[
]
2 2 1 2 2 1 2 1 arg min min min , min min , N N M M G G N M M G G G G G ρ ρ ρ − − ∈ ∈ ∈ ∈ ∈ − ⎛ ⎞⎟ ⎜ = ⎜⎜ − − ⎟⎟⎟ ⎝ ⎠ ⎛ ⎞⎟ ⎜ = ⎜⎜ − ⎟⎟⎟ ⎝ ⎠ x x x x x R x R R R x R x R x (2.29)where ρ =
[
R R1, 2]
ρ−R x for the last equation. 2 GThe GSD checks all the valid constellation points whose squared Euclidean
distance calculated from (2.28) are smaller than a specified positive number C. It is
last equation in (2.29). The SDA will find if the squared minimum distance is less
than C. Otherwise, a failure of the SDA for the given xG is declared and then the
G
x will be discarded.
If the candidate constellation point (xG,xG) is found within the sphere, the value of C will be updated and the algorithm continues to search the remaining points
for xG. If no candidate constellation point (xG,xG) is found within the sphere, then the entire algorithm will repeat with a larger value of the radius C. The GSD based on
the exhaustive search over xG and the SDA for every point of. Because of the exhaustive search over xG , the complexity exponentially increase of the order
N −M .
2.6.2 Slab Sphere Decoding (SSD) Algorithm
To perform (2.28) efficiently, an algorithm is proposed in [18], [19] to solve a
search problem that finds all the lattice points satisfying
2 C2
− ≤
y Hx (2.30)
for given a radius C (>0). Apparently, the point that is the closest to center of the
hypersphere y , is the ML decision point. By decomposing the channel using
QR-decomposition, Eq. (2.30) can be rewritten as
2 ' − ≤C2,
y Rx (2.31)
where y' =Q y . T
'
, , ,
M M M M M N N
C y ⎡r x r x ⎤ C
− ≤ −⎢⎣ + + ⎥⎦≤ (2.32)
at the Mth layer. Eq. (2.32) involves N-M+1 dimensions for detection. Eq. (2.32) is
similar to a detection problem of a real-valued MISO system. First, we want to find
the constellation points falling inside this slab. There are two algorithms that can help
us find those constellation points, i.e., Plane Decoding Algorithm (PDA) [12] and
Slab Decoding Algorithm (SLA) [14], [15].
Plane Decoding
For a MISO system with k transmitted antennas where the inputs are independent
symbols, the received signal can be written as
1 1 k k ,
y =h x + +h x + (2.33) η
where xk ∈ , h is the channel response and n η ∼CN(0,σ2) stands for AWGN. ML estimation of the transmitted vector x=
[
x1, ,xk]
can be written as( 1 )
(
)
2 1 1 , , arg min , k k ML k k x x ∈ y h x h x = − + + x (2.34)the estimator means to find the point x ∈ k which is the closest to the hyperplane
P given as
1 1
: k k .
P h x + +h x = (2.35) y
First, define X, X , V XPD as the sets of the points to be visited, the points that have been visited, and the points that are close to P in all dimensions, respectively.
Then, initialize them with X=X = V
{ }
x( )1 where the (1) stands for the order of the vector in a set and j = 1.The main idea of the PDA is to find those candidates (XPD) which are close to
Step 1: If X is empty, go to Step 5. Otherwise, we calculate
{
: min s.t.}
j B x a x x x x ∈ = >{
: max s.t.}
, j B x a x x x x ∈ = < where [ ] ( )( )
1 1 B j j y x x h Δ = − x ( )( )
1 [ ]1 [ ]1 [ ]1 1 1 2 2 k k y h x h x h x y Δ x = + + + −Step 2: If
{
ak ≠ Φ ∧}
{ak = Φ is not true, go to Step 3. Otherwise, we have }the point x =x( )1 except that xj =aj where x is close to P in dimension-j. Then, if xj =x( )j1 and then the point x( )1 is close to P in dimension-1,2,…,j and do:
z If j < k, update j = j + 1. Go to Step 1.
z If j = k, the point x( )1 is close to P in all dimensions and is stored in
PD
X . Next, discard x( )1 from the set X and reset j = 1. Go back to
Step 1 to check a new point in X.
Else, if xj ≠a( )j1 , then discard x( )1 from the set X and reset j = 1. Go back to Step 1.
Step 3: If
{
ak = Φ ∧}
{ak ≠ Φ is not true, go to Step 4. Otherwise, we have }the point x =x( )1 except that xj =aj where x is close to P in dimension-j. Then, if xj =x( )j1 and then the point x( )1 is close to P in dimension-1,2,…,j and do:
z If j < k, update j = j + 1. Go to Step 1.
z If j = k, the point x( )1 is close to P in all dimensions and is stored in
PD
X . Next, discard x( )1 from the set X and reset j = 1. Go back to
Step 1 to check a new point in X.
Else, if xj ≠a( )j1 , then discard x( )1 from the set X and reset j = 1. Go back to Step 1.
Step 4: If
{
ak ≠ Φ ∧}
{ak ≠ Φ is not true, go to Step 5. Otherwise, we have }two points x =x( )1 except that xj =aj and x =x( )1 except that
j j
x =a where x and x are close to P in dimension-j. Then, if
( )1
j j
x =x and then the point x( )1 is close to P in dimension-1,2,…,j
and do:
z If j < k, update j = j + 1 and if x∉XV then update X ={X,x } and XV =
{
XV,x . Go to Step 1.}
z If j = k, the point x( )1 is close to P in all dimensions and is stored in
PD
X . Next, discard x( )1 from the set X and reset j = 1. Go back to
Step 1 to check a new point in X.
If xj =x( )j1 and then do:
z If j < k, update j = j + 1 and if x∉XV then update X =
{
X,x}
and XV ={
XV,x . Go to Step 2.}
z If j = k, the point x( )1 is close to P in all dimensions and is stored in
PD
X . Next, discard x( )1 from the set X and reset j = 1. Go back to
Else, if x( )j1 ≠a aj, j, then discard x( )1 from the set X and reset j = 1. Go back to Step 1.
Step 5: Each point x in XPD, update
if 0.
k k k
x = −x ∀k h <
The PDA guarantees to achieve the ML solution only for the MISO systems. For
MIMO systems, we will need to find those points that fall inside the slab
[
1 1 k k]
,C y h x h x C
− ≤ − + + ≤ (2.36)
The following algorithm is designed to accomplish this.
Slab Decoding
Obviously, although the XPD does not contain all the lattice points that fall inside the slab in (2.36), the XPD provides a useful starting point for slab detection. The procedures of SDA are summarized as follows:
Step 1: Sorting the points of XPD according to their Euclidean distances. Therefore, ( ) ( ) ( )
{
1 2 3}
sort , , ,... PD PD PD PD X = x x x where Δy2( )
x( )PDi ≤ Δy2( )
xPD( )j if i ≤ . j Step 2: For a given C, find the set( )
{
}
2 sort ; PD : PD C X ≤ = x∈X − ≤ ΔC y x ≤CStep 3: For each point x∈XPD C;≤ 2, move away along each direction for
finding other points which Δy2( )x ≤C2. It is done by the following
loop.
b. Compute ( ) 0 min jn , max , s u u d s ∈ ⎛ ⎞⎟ ⎜ = ⎜⎝ + ⎟⎟⎠
where d stands for the separation of every adjacent constellation.
If u( )jn ≠u0 and then do the following. z Set ( ) 0 n j u =u . z If 2
(
( )n)
2 y C Δ u ≤ , then XPD C;≤ 2 ={
XPD C;≤ 2,u( )n}
. c. Compute ( ) 0 max jn , min . s u u d s ∈ ⎛ ⎞⎟ ⎜ = ⎜⎝ + ⎟⎟⎠If u( )jn ≠u0 and then do the following. z Set ( ) 0 n j u =u . z If 2
(
( )n)
2 y C Δ u ≤ , then XPD C;≤ 2 ={
XPD C;≤ 2,u( )n}
.d. If j < k, then update j = j + 1 and go back to b.
e. If j = k, then update n = n + 1 and j = 1. Then, go back to b.
f. If n = XPD C;≤ 2 , then all lattice points that fall inside the slab are
found.
The two algorithms can find all the lattice points satisfying (2.36) for a given C.
Each point of the set can be substituted into the original problem in (2.31), to obtain
2 2
1
G − G ≤C
y R x (2.37)
where yG ∈ M−1, R1∈ M− × −1 M 1 corresponds to the first M − columns 1 and rows of the R and xG =
[
x x1, , ,2 xM−1]
∈ M−1. SinceR is an upper 1 triangular matrix with full rank, we can solve the problem by SDA directly. After the2.7 Summary
In this Chapter, we review the MIMO communication systems. In a rich
multi-path scattering environment, the MIMO system deliver significant performance
enhancement in terms of link quality and data rate. Spatial diversity is a key MIMO
technique which mitigates fading and is realized by providing the receiver with
multiple copies of the transmitted signal in space or time. Spatial multiplexing offer a
linear increase in data rate by transmitting independent data streams from the
individual transmit antennas.
Two popular detectors of underdetermined MIMO systems are GSD and SSD.
The complexity of GSD increases exponentially with the order of N −M . In order to reduce the complexity many algorithms have been proposed. The SSD uses a
geometrical approach to solve the problem, and it has lower complexity than existing
Chapter 3
Proposed Geometry Based Decoding
Algorithm with Intersection of
Candidate Sets
In Chapter2, we introduce the SSD which is a low complexity solution for
underdetermined systems; however, the SSD has some disadvantages. First, because
the two algorithms of SSD are independently and sequentially implemented, many
constellation points are multiply checked. Second, in the PDA of SSD, in order to find
the “XPD”, we perform many searches in the same dimension. As a result there are too many candidate points that fall inside the slab such that the SDA is executed too
many times. For those reasons, its computational complexity is high.
In this chapter, we introduce the proposed a low complexity search method for
finding those points falling inside the slab and a low complexity decoding algorithm
without the use of SDA. The details of the proposed algorithm will be introduced in
Sections 3.1-3.2. The simulation results will be provided in Section 3.3 to show that
3.1 Efficient Search Method for Points in Slab
The search method is similar to the PDA and SLA. We use only one algorithm to
find those points that fall inside the slab, so no constellation points and dimensions
are multiply searched. First, performing QR-decomposition to the real channel matrix
H, we obtain
, =
H QR (3.1)
where Q∈ M N× and R is an M× upper triangular matrix. Substituting (3.1) N into (2.30), we have
2 ' − ≤C2,
y Rx (3.2)
where y' =Q y . If N>M, we will have T
'
, , ,
M M M M M N N
C y ⎡r x r x ⎤ C
− ≤ −⎢⎣ + + ⎥⎦≤ (3.3)
at the M-th layer. Eq.(3.3) involves N-M+1 dimensions for detection. The algorithm
still aims to find those points that fall inside the slab.
First, define as ' , , 1 , , 1 , ' 1, 1 1,2 1, 1 1, 1 1 ' , , 1 , 0 Dist , 0 0 i i i i i i M i M i N i i i i M i M i N i i i N M M M M M N M y r r r r r x r r r r x y x r r r y + + + + + + + + + + + ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥− ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣ ⎦⎢⎣ ⎥⎦ ⎢ ⎥ ⎣ ⎦ (3.4) where 1≤ ≤i M . Second, define as X , in in V X , out V X , in V D , out V
D , XVD the set of the points inside the slab, the sets of the points inside the slab to be visited, the sets of the points
of
out V
X and the points that have been visited, respectively. Then, initialize them
with
out V
X =XVD=
{ }
x( )out1 where the superscript (1) stands for the order of the vector in a set, j = 1, andout [0, 0, , 0] V
D = indicates that no dimension is visited in
the beginning.
The main idea of the algorithm is to find those point (X ) which fall into the in slab (3.3). We design an algorithm to find the set X efficiently and the procedures in of the search algorithm are summarized as follows.
Step 1: If in V X and out V
X are empty, go to Step 5.
Step 2: If
out V
X is empty, go to Step 4. Otherwise, we calculate
( )
( )
1 (1) ,up ,out j j j y x x C h Δ = − x + ( )( )
1 (1) ,low ,out , j j j y x x C h Δ = − x −where j is chosen from the unvisited dimension of
out V
D
corresponding to each x.
Step 3: For each value x ∈
{
⎣⎢⎡xj,low,xj,up⎤⎥⎦∩ 1}
and then we have the points( )1
=
x x where xj = , and x is inside the slab. x
z Update the jth element of
in V D corresponding to each x . If in V X ∉ x then
{
}
in in, V V X = X x .And the value a ∈
{
{
aj : max( )x +d a, k : min( )x −d}
∩ 1}
wherethe points x =x( )1 where xj = , and x is outside the slab. a
z If xj,out ∈ , Update a
{
}
out out,
V V
X = X x and the jth element of
out V
D corresponding to each x . If j is the last visited dimension
then discard x( )1 from the set
out V
X . Go to Step 2.
z Else, then discard x( )1 from the set
out V X , update
{
}
D , V VDX = X x and the jth element of
out V
D corresponding to
each x . Go back to Step 2. Step 4: If
in V
X is empty, go to Step 1. Otherwise, we calculate
( )
( )
1 (1) ,up ,in j j j y x x C h Δ = − x + ( )( )
1 (1) ,low ,in , j j j y x x C h Δ = − x −where j is chosen from the unvisited dimension of
in V
D
corresponding to each x.
Step 5: For each value x ∈
{
⎣⎢⎡xj,low,xj,up⎤⎥⎦∩ 1}
and then we have the points( )1
=
x x where xj = , and x is inside the slab. x
z Update the jth element of
in V D corresponding to each x . If in V X ∉ x then update
{
}
in in, V VX = X x , and compute the
M
Dist by yΔ .
And the value a ∈
{
{
aj : max( )x +d a, k : min( )x −d}
∩ 1}
and then we have the points x =x( )1 where xj = , and x is outside athe slab.
z Update
{
}
out out,
V V
X = X x and the jth element of
out V
D
corresponding to each x . If j is the last visited dimension then
discard x( )1 from the set
out V
X . Go to Step 4.
Step 6: Each point x in X falls in the slab, which is shown in Fig. 3-1. in
The proposed search algorithm can efficiently find the valid candidate points
satisfying (3.3) for a given C. Typical underdetermined decoders use all those points
to find the near-ML solution by the SDA when the radius of constraints is not large. In
the above description, we know the decoding complexity is closely related to the
number of candidate points. However, the number of candidate points is still large
with large antenna number difference. Therefore, an efficient decoder by conducting
the intersectional operations with dynamic radius adaptation will be proposed in next
section.
Fig. 3-1 An example of slab with 4-PAM and k = 2
C C 1 1 2 2 h x +h x =y 1 x 2 x
3.2 Efficient Decoding Algorithm with
Intersection of Candidate Sets
The main idea of typical underdetermined decoding algorithms is to find a
candidate set in which the number of candidate points is as small as possible. The
SDA is then employed to find the ML solution. The conceptual diagram is illustrated
in Fig. 3-2. From Fig. 3-2, we know that the decoding complexity depends on the
number of candidate points, which is positively correlated to the constellation size
(e.g. 64-QAM) and antenna number difference (i.e. Nt −Nr).
Fig. 3-2 Block diagram of typical underdetermined decoding algorithms
We propose an efficient geometry based decoding algorithm, where (3.2) is
rewritten and expanded as the summation form as follows:
2 ' 1 1,1 1,2 1, 1 1, 1, 1 2 2 ' 1, 1 1, 1, 1 ' , , 0 0 0 0 0 0 M M N M M M M M N M N M M M N M y r r r r r x x C r r r y x r r y − − − − − − ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ≤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣ ⎦⎢⎣ ⎥⎦ ⎢ ⎥ ⎣ ⎦ Y Underdetermined decoding algorithm Assume H is know
Generate a candidate set xG Use SDA to find ML
2 2 1 ' M N i ij j i= ⎡⎢⎣y − j i= r x ⎤⎥⎦ ≤C
∑
∑
(3.5)The total number of slab equations included in (3.5) is M. These equations can be
written with corresponding IDs as follows:
Slab equations ID Slab equations
Slab M − ≤C yM' −⎢⎡⎣rM M M, x + +rM N N, x ⎥⎤⎦≤C
Slab 2 − ≤C y2' −⎣⎢⎡r x2,2 2 + +rM N N, x ⎤⎥⎦ ≤C (3.6)
Slab 1 − ≤C y1' −⎣⎡⎢r x1,1 1+ +rM N N, x ⎥⎦⎤ ≤C,
In the SSD, only the last slab equation (Slab M) is used. However, the total available
number of slab equations is M in (3.6). Thus, the basic idea of the proposed method
is to utilize all the available slab equations to find the candidate set, instead of only
using Slab M.
Assume that C is large enough to include the ML solution and the index satisfies
i > j. Using Slabs i and j, we can find two candidate sets (i.e. x x ) which include i, j
the ML solution. Therefore, the ML solution must fall inside the intersection of the
two candidate sets (i.e. x ). This is illustrated in Fig. 3-3. After the slab intersection G is performed, we will check the radius constraint of Slab i and j according to
2 , , 1 , , 2 , , . 0 0 j j j j j j i j N j i i i i i N N x r r r r y x C y r r x + ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎥ −⎢ ⎥⎢ ⎥ ≤ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (3.7)
It is inefficient to perform slab intersection and constraint checking procedure
sequentially. Because the procedure requires large storage memory and many times of
intersection checking for candidate points, we use another approach to achieve the
same goal.
Fig. 3-3 Illustration of intersection of candidate sets
The above procedure can be executed by the following efficient approach: we
first find the candidate set x and then check (3.7) with the next Slab (e.g. Slab j). In i
other words, we omit the procedure of storing x and matching the points of the two j
candidate sets, which reduces the complexity and memory storage. Therefore, we will
find a new candidate set satisfying Slab j (or i) equation in (3.6) and (3.7). There are
two intersection scenarios:
Scenario 1: we find x and check (3.7) to expand the dimensions and i
discard the points which does not satisfy (3.7). After that, we
obtain a new candidate set.
Scenario 2: we first find x and check (3.7). If the point of j x does not j
satisfy (3.7), we discard it. After that, we obtain a new candidate
set.
i
x
j
x
G
x
In above Scenarios, we know that Scenario 1 has lower complexity than Scenario 2
because the average number of candidate points of x is smaller than that of i x . By j
this reason, we expect that the number of candidate points can be as small as possible
in the first candidate set just like Scenario 1. Therefore, we choose Slab M in (3.6) to
find the first candidate set. Similarly, in order to have a lower complexity in the next
procedure, we also expect that the number of points in the new candidate set can be as
small as possible. By this reason, we choose Slab M − to be next one to intersect 1
with Slab M, and so on. The proposed decoding algorithm guarantees to find the ML
solution after performing M − times of the above efficient approach. 1
Discussion of the radius (C)
Note that
2 2 2
min N
C = n ∼χ (3.8)
is Chi-square distributed with N degrees of freedom. Its cumulative distribution
function is given by
(
)
(
)
(
)
/2, /2 ( ; ) /2, /2 , /2 N x F x N P N x N γ = = Γ (3.9)where γ • is the lower incomplete Gamma function, ( ) Γ • is the Gamma function, ( )
and P • is the regularized Gamma function. In order to ensure the high efficiency ( )
of the decoder, the radius starts [10], [15] with
( )
2 1( ; ),C = σ F− Φ + Δi N (3.10)
where i = 0 , Δ and Φ are judiciously set, e.g., Δ =0.001and Φ =0.99. If no points can be found within C, update i in (3.10) by i = i + 1.
The main idea of the decoding algorithm is to perform intersection of more slabs
to achieve a lower decoding complexity. The procedure of the decoding algorithm is
summarized as follows.
Step 1: Set i=M − . Use Slab M equation 1
− ≤C y'M −⎣⎢⎡RM M M, x + +RM N N, x ⎦⎥⎤ ≤C,
to find the initial candidate set (xi+1). The corresponding distance (Disti+1) can be obtained by the proposed search algorithm in Section 3.1.
Step 2: If i= , go to Step 4. The upper bound (1 xi,up) and lower bound (xi,low) of x corresponding to each candidate point of candidate set i will be found by the radius constraint
' , , 1 , , 1 , ' 1, 1 1, 1, 1 1, 1 1 ' , , 1 , 0 , 0 0 i i i i i i M i M i N i i i i M i M i N i i N M M M M M N M y r r r r r x r r r r x y C x r r r y + + + + + + + + + + + ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎡ ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥−⎢ ⎥⎢ ⎥ ≤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣ ⎦⎢⎣ ⎥⎦ ⎢ ⎥ ⎣ ⎦ and
(
)
(
)
(
)
(
)
2 2 ' 1 1 , ,up , 2 2 ' 1 1 , ,low , Dist Dist . N i i j i i j j i i i N i i j i i j j i i i C y r x x r C y r x x r + = + + = + − − − = − − − − =∑
∑
Therefore, we can easily find Disti through
(
' 2)
2(
)
2, 1
Disti = yi −
∑
j iN= r xi j j + Disti+ .Step 3: Using the upper and lower bounds corresponding to each candidate
xi = ⎡⎢⎣⎡⎣⎢xi,low,xi,up⎥⎦⎤∩ ,xi+1, x2N⎤⎥⎦.
Choose a candidate point with minimum distance from xi and compute the ZF-SIC solution. It gives us a new radius (Cnew). If
new
C <C, update it. Set i = i +1 and go to Step 2.
Step 4: Choose a candidate point with minimum distance from x1 to be the
estimate of x.
Note: (1) If the initial candidate set (xM ) is empty, increase C .
(2) If the candidate set (xi,1≤ ≤i M −1) is empty, use the ZF-SIC solution as the estimate of x.
3.3 Computer Simulation
In this section, computer simulations are conducted to evaluate the
symbol-error-rate (SER) and the decoding complexity. In order to compare the
complexity of the proposed decoding algorithm with other decoding algorithms, we
define the complexity weights of different operations according to [15]. The weight of
additions and subtractions is one if real and two if complex. Each of The
multiplications and divisions is counted one if the result is real and six if it is not real.
The total complexity of each simulated algorithm is the sum of the number of times of
each operation multiplied by its corresponding weight. The numerical results are
measured and averaged over 1000 independent channels for various average
signal-to-noise ratio (SNR). In addition, the calculation of complexity also includes
all preprocessing procedures (e.g. QR decomposition). We set Φ = 0.99 and