28.12.2014 Views

MMSE Detection for Spatial Multiplexing MIMO (SM-MIMO)

MMSE Detection for Spatial Multiplexing MIMO (SM-MIMO)

MMSE Detection for Spatial Multiplexing MIMO (SM-MIMO)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KEEE494: 2nd Semester 2009 Week 12<br />

<strong>MMSE</strong> <strong>Detection</strong> <strong>for</strong> <strong>Spatial</strong> <strong>Multiplexing</strong> <strong>MIMO</strong> (<strong>SM</strong>-<strong>MIMO</strong>)<br />

• In the spatial multiplexing <strong>MIMO</strong>, the transmit data from N T number of antennas can be written in vector <strong>for</strong>m<br />

as<br />

x = [x 1 , x 2 , · · · , c NT ] T .<br />

The channel matrix, G, <strong>for</strong> N T transmit and N R receive antennas is N R × N T matrix. The received signal at<br />

the lth receive antenna can be written as<br />

r l = g l1 x 1 + g l2 x 2 + · · · + g lNT x NT<br />

+ n l<br />

where n l is the AWGN with variance σ 2 . We can construct the receive signal vector as<br />

r = [r 1 , r 2 , · · · , r NR ] T .<br />

Now we want to detect the transmit signal vector x by observing r assuming that the channel gain, i.e., G, is<br />

perfectly known. In this class we consider the minimum mean square error (<strong>MMSE</strong>) criterion <strong>for</strong> the detection<br />

of x.<br />

Figure 1: Minimum mean square error (<strong>MMSE</strong>) detection <strong>for</strong> spatial multiplexing <strong>MIMO</strong> where the element of the<br />

channel vector g l consists of the channel from the N T number of antennas to the lth receive antenna.<br />

• Find the matrix W to have<br />

where W is N R × N T matrix.<br />

The solution is shown to be given by<br />

W H =<br />

min E { (x − W H r) 2}<br />

[<br />

G H G + I ] −1<br />

N T<br />

G H<br />

SNR<br />

which is known as ”Wiener Solution”. In above equation, I NT is N T × N T identity matrix and SNR is the<br />

signal-to-noise ratio of each data stream.<br />

1


• General solution of minimum-mean square error detection (<strong>MMSE</strong>)<br />

– Problem description: Let us assume we have desired signal d[n] and d[n] is corrupted somehow into u[n].<br />

Then observing u[n] and using the linear filter W we want to detect d[n]. The problem description is<br />

illustrated in Fig. 2.<br />

d[n] ; desired signal<br />

u[n] ; input signal to <strong>MMSE</strong> (or Wiener) filter which contains ”desired signal d[n]”<br />

y[n] ; estimated d[n], i.e., ˆd[n]<br />

As an example, u[n] = d[n] + z[n] <strong>for</strong> AWGN and u[n] = h[n]d[n] + z[n] <strong>for</strong> fading channel.<br />

Figure 2: Problem description of Wiener filter.<br />

Now we want to find the optimum weight vector W = [w 0 , w 1 , · · · , w K−1 ] T such that the mean-squared<br />

error is minimized. Denote the error is defined as<br />

where<br />

e[n] = d[n] − y[n]<br />

y[n] =<br />

K−1<br />

∑<br />

k=0<br />

w ∗ ku[n − k]<br />

with w k = a k + jb k . Now let us define the cost function J as<br />

J = E[e[n]e ∗ [n]] = E[|e[n]| 2 ].<br />

The <strong>MMSE</strong> solution <strong>for</strong> W is given as<br />

W ∗ = min<br />

W [J]<br />

– Solution:<br />

e[n] = d[n] − y[n]<br />

=<br />

K−1<br />

∑<br />

d[n] − (a k − jb k )u[n − k]<br />

k=0<br />

Let us define a gradient operator ∆ k with respect to the real input a k and the imaginary part b k such as<br />

∆ k =<br />

Apply the operator ∆ k to the cost function J yielding<br />

Now the <strong>MMSE</strong> solution is obtained when<br />

∂ + j ∂ , k = 0, 1, · · · , K − 1<br />

∂a k ∂b k<br />

∆ k J = ∂J<br />

∂a k<br />

+ j ∂J<br />

∂b k<br />

, k = 0, 1, · · · , K − 1<br />

∆ k J = 0 <strong>for</strong> all k = 0, 1, · · · , K − 1<br />

2


or equivalently<br />

[ ∂e[n]<br />

∆ k J = E<br />

∂a k<br />

e ∗ [n] + ∂e∗ [n]<br />

∂a k<br />

e[n] + j ∂e[n]<br />

∂b k<br />

]<br />

e ∗ [n] + j ∂e∗ [n]<br />

e[n]<br />

∂b k<br />

Note that<br />

Using the above, we have<br />

or equivalently<br />

We can rewrite it as<br />

∂e[n]<br />

∂a k<br />

= −u[n − k]<br />

∂e[n]<br />

∂b k<br />

= ju[n − k]<br />

∂e ∗ [n]<br />

∂a k<br />

= −u ∗ [n − k]<br />

∂e ∗ [n]<br />

∂a k<br />

= −ju ∗ [n − k].<br />

∆ k J = E [ −u[n − k]e ∗ [n] − u ∗ [n − k]e[n] − u[n − k]e ∗ [n] + u ast [n − k]e[n] ]<br />

= −2E [u[n − k]e ∗ [n]]<br />

= 0<br />

E[u[n − k]e ∗ [n]] = 0, k = 0, 1, · · · , K − 1<br />

[ (<br />

⇒<br />

E<br />

u[n − k]<br />

⇒ E [u[n − k]d ∗ [n]] =<br />

K−1<br />

∑<br />

l=0<br />

d ∗ [n] −<br />

K−1<br />

∑<br />

l=0<br />

w l u ∗ [n − l]<br />

w l E [u[n − k]u ∗ [n − l]] ,<br />

which is called ”Wiener-Hopf equation”. Note that in the Wiener-Hope equation, the left-hand side term is<br />

cross-correlation between u[n−k] and d[n] <strong>for</strong> a lag of −k and the right-hand side term is auto-correlation<br />

function of the filter output <strong>for</strong> a lag of l − k. Let us express these as<br />

φ uu (l − k) = E [u[n − k]u ∗ [n − l]]<br />

φ ud (−k) = E [u[n − k]d ∗ [n]]<br />

Hence, the Wiener-Hopf equation can be rewritten as<br />

Let us define<br />

K−1<br />

∑<br />

l=0<br />

w k φ uu (l − k) = φ ud (−k), k = 0, 1, · · · , K − 1<br />

u[n] = [u[n], u[n − 1], · · · , u[n − K + 1]] T ,<br />

and define the correlation matrix R as<br />

⎡<br />

⎤<br />

φ uu (0) φ uu (1) · · · φ uu (K − 1)<br />

φ ∗ uu(1) φ uu (0) · · · φ uu (K − 2)<br />

R = ⎢<br />

.<br />

⎥<br />

⎣<br />

.<br />

⎦<br />

φ ∗ uu(K − 1) φ ∗ uu(K − 2) · · · φ uu (0)<br />

)]<br />

= 0.<br />

3


and<br />

T = E[u[n]d ∗ [n]]<br />

= [φ ud (0), φ ud (−1), · · · , φ ud (1 − K)] T .<br />

Then, Wiener-Hopf equation can be rewritten as<br />

RW = T<br />

Finally, the Wiener solution is given as<br />

W = R −1 T<br />

Figure 3: Transversal linear Wiener filter.<br />

• Now in our <strong>MIMO</strong> case which is of our interest, when we apply the Wiener solution, we have<br />

where<br />

ˆx 1 =<br />

ˆx 2 =<br />

.<br />

x NT ˆ =<br />

Then, from the Wiener solution, w l is given as<br />

∑N R<br />

wk 1∗ r k = w 1H · r<br />

k=1<br />

∑N R<br />

wk 2∗ r k = w 2H · r<br />

k=1<br />

∑N R<br />

w N R∗<br />

k<br />

r k = w N RH · r<br />

k=1<br />

w l = [w l 1, w l 2, · · · , w l N R<br />

] T .<br />

w l = R −1 T l .<br />

Now let us find R and T . Note that R = [rr H ] which is N R × N R matrix given as<br />

⎡<br />

E[r 1 r1] ∗ E[r 1 r2] ∗ · · · E[r 1 r ∗ ⎤<br />

N R<br />

]<br />

⎢<br />

⎥<br />

R = ⎣<br />

.<br />

⎦<br />

E[r NR r1] ∗ E[r NR r2] ∗ · · · E[r NR rN ∗ R<br />

]<br />

where<br />

r k = g k1 x 1 + g k2 x 2 + · · · + g kNT x NT + n k<br />

= g T k x + n k<br />

4


Hence,<br />

E[r k r ∗ l ] = E[(g k1 x 1 + · · · + g k x NT + n k ) · (g ∗ l1x ∗ 1 + · · · + g ∗ lN T<br />

x ∗ N T<br />

+ n ∗ l )]<br />

= E[g k1 g ∗ l1|x 1 | 2 + g k2 g ∗ l2|x 2 | 2 + · · · + g kNT g ∗ lN T<br />

|x NT | 2 + g k1 g ∗ l2x 1 x ∗ 2 + · · · + g kNT g lNT −1x ∗ N T −1 + n k n ∗ l ]<br />

Since E[x 1 x ∗ 2] = 0 and g k and g l are known, it can be rewritten as<br />

E[r k r ∗ l ] = g k1 g ∗ l1E[|x 1 | 2 ] + g k2 g ∗ l2E[|x 2 | 2 ] + · · · + g kNT g ∗ lN T<br />

E[|x NT | 2 ] + σ 2 δ(k − l)<br />

Note that E[|x l | 2 ] = P is the signal power <strong>for</strong> all k. Then,<br />

E[r k r ∗ l ] = P ( g k1 g ∗ l1 + · · · + g kNT g ∗ lN T<br />

)<br />

On the other hand,<br />

⎡<br />

= P [ gl1, ∗ gl2, ∗ · · · , glN ∗ ] T · ⎢<br />

⎣<br />

= P (g H l · g k ) + σ 2 δ(k − l).<br />

g k1<br />

g k2<br />

.<br />

.<br />

g kNT<br />

T l = E[r · x ∗ l ]<br />

⎡ ⎤<br />

r 1 · x ∗ l<br />

⎢<br />

= E ⎣<br />

r 2 · x ∗ ⎥<br />

l ⎦<br />

.<br />

.r NR · x ∗ l<br />

⎡ ⎤<br />

g l1 P<br />

g l2 P<br />

= E ⎢<br />

⎣<br />

⎥<br />

. ⎦<br />

g lNT P<br />

= P g l ,<br />

⎤<br />

⎥<br />

⎦ + σ2 δ(k − l)<br />

where we note that r k = g k1 x 1 + g k2 x 2 + · · · + g kNT x NT . Now the <strong>MMSE</strong> solution is<br />

w l = R −1 T l<br />

⎛ ⎡<br />

g H 1 · g 1 g H 2 · g 1 · · · g H ⎤ ⎞<br />

N R · g 1<br />

1<br />

g H 1 · g 2 g H 2 · g 2 · · · g H N R · g 2<br />

= ⎜ ⎢<br />

⎝P<br />

⎣<br />

⎥<br />

.<br />

⎦ + σ2 ⎟<br />

⎠<br />

g H 1 · g N R<br />

g H 2 · g 2 · · · g H N R · g NR<br />

⎛⎡<br />

g H 1 · g 1 g H 2 · g 1 · · · g H ⎤ ⎞−1<br />

N R · g 1<br />

g H 1 · g 2 g H 2 · g 2 · · · g H N R · g 2<br />

= ⎜⎢<br />

⎝⎣<br />

⎥<br />

.<br />

⎦ + σ2<br />

⎟<br />

P ⎠<br />

g H 1 · g NR<br />

g H 2 · g 2 · · · g H N R · g NR<br />

We can rewrite the optimal weight vector in matrix <strong>for</strong>m denoted as W as<br />

⎡<br />

⎤<br />

∣ ∣ ∣<br />

W =<br />

⎢ w 1 w 2 · · · w NR<br />

⎥<br />

⎣<br />

⎦<br />

∣ ∣ ∣<br />

(<br />

= G G · G H + 1 ) −1<br />

SNR I N T<br />

,<br />

5<br />

−1<br />

g l<br />

P g l


or<br />

W H =<br />

(<br />

G H G + 1<br />

SNR I N T<br />

) −1<br />

G H<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!