Web Simulation 

 

 

 

 

MIMO Spatial Multiplexing Tutorial 

MIMO spatial multiplexing sends multiple independent streams at the same time and frequency using multiple transmit and receive antennas. The receiver does not see the streams separately — it sees mixtures, and must mathematically separate them.

This simulator uses the smallest useful case: 2 transmit streams and 2 receive antennas. That keeps the mechanism visible while preserving the real MIMO equation.

Mathematical Foundation

The baseband MIMO model is:

y = H · x + n

where x is the transmitted stream vector, H is the channel matrix, y is the received mixture vector, and n is noise. For a 2×2 system this expands to:

[ y1 ]  =  [ h11   h12 ] · [ x1 ]  +  [ n1 ]
[ y2 ]      [ h21   h22 ]   [ x2 ]    [ n2 ]

Meaning Of H

Each element of H is a complex path gain from one Tx antenna to one Rx antenna:

Element

Path

Role

h11

Tx1 → Rx1

Direct path

h12

Tx2 → Rx1

Cross-coupling (Tx2 leaking into Rx1)

h21

Tx1 → Rx2

Cross-coupling (Tx1 leaking into Rx2)

h22

Tx2 → Rx2

Direct path

The diagonal terms are the desired paths. The off-diagonals are cross-coupling. MIMO can still recover the streams under cross-coupling — provided the two receive mixtures are different enough to separate.

Concrete Example

Assume the receiver wants to recover the symbol pair:

x = [ 1, −1 ]T

through the channel:

H = [ 1.00   0.75 ]
      [ 0.65   1.00 ]

Then the received mixtures are:

y1 = h11x1 + h12x2 = 1.00·1 + 0.75·(−1) = +0.25
y2 = h21x1 + h22x2 = 0.65·1 + 1.00·(−1) = −0.35

The receiver sees y = [+0.25, −0.35]T, not the original [+1, −1]T. The job of the equalizer is to undo the mixing.

Equalization

If H is known and invertible, the receiver applies its inverse to produce an estimate:

x̂ = H−1 · y

Ideally x. If H is poorly conditioned (rows nearly parallel, det(H) small), the inverse amplifies noise drastically and the estimate is unreliable. That is why MIMO performance depends on the channel structure, not just the number of antennas.

The key MIMO insight: MIMO does not work by making antennas avoid mixing. It works by giving the receiver multiple different mixtures of the same streams and solving a small linear system. The more linearly independent those mixtures are, the more reliably the receiver can separate the streams.

Simulation

The interactive simulator is below. Pick a preset to load a clean / mixed / poorly conditioned / noisy channel, then walk through the steps (x → H → y → G → x̂) using Step Fwd or Run.

0.00

Signal flow: x -> H -> y -> G -> x_hat

Current values

Live equations

Channel matrix H

Equalizer matrix G

Estimated streams

Step details

Usage Instructions

  1. Preset: Start with a clean, mixed, poorly conditioned, or noisy channel.
  2. Streams: Edit x1 and x2 — these are the two symbols sent at the same time.
  3. H rows: Edit the 2×2 channel matrix. Diagonal values are desired paths, off-diagonal values are cross-coupling.
  4. Equalizer: Turn this on to apply G = H−1. Turn it off to see the raw mixed receive vector instead.
  5. Step Bwd / Step Fwd / Run: Walk through the chain x → H → y → G → x̂ one stage at a time.

What To Notice

  • A large off-diagonal value does not automatically mean failure. MIMO can separate the streams as long as the two rows of H are sufficiently different.
  • If det(H) is close to zero, the two row vectors are nearly parallel and the channel is hard to invert. The equalizer then amplifies noise and produces poor estimates — even with no cross-coupling on the diagonal.
  • The simulator visualizes this directly: switch the poorly conditioned preset and turn on a small amount of noise. The estimate will blow up well past the true values.

Parameters

Parameter

Meaning

H

2×2 real channel matrix used for the tutorial. Real systems use complex values; the matrix mechanism is the same.

x1, x2

The two simultaneously transmitted symbols (streams).

y1, y2

The two received mixtures, one per Rx antenna.

Noise

Small additive receive disturbance. Poorly conditioned channels are far more sensitive to it.

G

Equalizer matrix. When enabled, the simulator uses the exact inverse H−1. Real receivers usually use MMSE for noise robustness.

Receiver estimate of the original transmitted streams.