Skip to main content

mmWave MIMO Channel Estimation


This tutorial walks through the derivation of the Equivalent Sensing Matrix and how the mmWave MIMO channel estimation problem can be expressed as a compressed sensing model. A numerical example is included for clarity.



The mmWave MIMO System Model

In a hybrid beamforming setup, the received signal is:

\[ \mathbf{y} = \sqrt{P}\, \mathbf{W}^H \mathbf{H} \mathbf{F} \mathbf{s} + \tilde{\mathbf{n}} \]

Where:

SymbolMeaning
\( P \)Transmit power
\( \mathbf{W} = \mathbf{W}_{RF}\mathbf{W}_{BB} \)Receiver hybrid combiner
\( \mathbf{F} = \mathbf{F}_{RF}\mathbf{F}_{BB} \)Transmitter hybrid precoder
\( \mathbf{s} \)Training / pilot vector
\( \tilde{\mathbf{n}} \)Noise vector
\( \mathbf{H} \)mmWave channel matrix


Sparse Channel Representation

The physical mmWave channel can be expressed using array response matrices:

\[ \mathbf{H} = \mathbf{A}_R \mathbf{H}_b \mathbf{A}_T^* \]

Where:

  • \( \mathbf{A}_R \): receive array response matrix
  • \( \mathbf{A}_T \): transmit array response matrix
  • \( \mathbf{H}_b \): beamspace (sparse) channel matrix

The vectorized form is:

\[ \text{vec}(\mathbf{H}) = (\mathbf{A}_T^* \otimes \mathbf{A}_R)\mathbf{h}_b \]
where \( \mathbf{h}_b = \text{vec}(\mathbf{H}_b) \).


Substituting the Channel into the System Model

\[ \mathbf{y} = \sqrt{P}\, \mathbf{W}^H \mathbf{A}_R \mathbf{H}_b \mathbf{A}_T^* \mathbf{F} \mathbf{s} + \tilde{\mathbf{n}} \]
Since \( \mathbf{s} \) is known during training, we absorb it into \( \mathbf{F} \).


Vectorization using the Kronecker Product

We use the identity:

\[ \text{vec}(\mathbf{A}\mathbf{X}\mathbf{B}) = (\mathbf{B}^T \otimes \mathbf{A})\text{vec}(\mathbf{X}) \]

Applying this gives:

\[ \text{vec}(\mathbf{W}^H \mathbf{A}_R \mathbf{H}_b \mathbf{A}_T^* \mathbf{F}) = ((\mathbf{A}_T^* \mathbf{F})^T \otimes \mathbf{W}^H \mathbf{A}_R)\, \mathbf{h}_b \]
Therefore:
\[ \mathbf{y} = \sqrt{P}\, ((\mathbf{A}_T^* \mathbf{F})^T \otimes \mathbf{W}^H \mathbf{A}_R)\, \mathbf{h}_b + \tilde{\mathbf{n}} \]


Substitute Hybrid Beamformers

Using \( \mathbf{F} = \mathbf{F}_{RF}\mathbf{F}_{BB} \) and \( \mathbf{W} = \mathbf{W}_{RF}\mathbf{W}_{BB} \):

\[ \mathbf{y} = \sqrt{P}\, ((\mathbf{A}_T^* \mathbf{F}_{RF}\mathbf{F}_{BB})^T \otimes \mathbf{W}_{BB}^H \mathbf{W}_{RF}^H \mathbf{A}_R)\, \mathbf{h}_b + \tilde{\mathbf{n}} \]
Simplifying the transpose:
\[ (\mathbf{A}_T^* \mathbf{F}_{RF}\mathbf{F}_{BB})^T = \mathbf{F}_{BB}^T \mathbf{F}_{RF}^T \mathbf{A}_T^* \]
So:
\[ \boxed{ \mathbf{y} = \sqrt{P}\, (\mathbf{F}_{BB}^T \mathbf{F}_{RF}^T \mathbf{A}_T^* \otimes \mathbf{W}_{BB}^H \mathbf{W}_{RF}^H \mathbf{A}_R)\mathbf{h}_b + \tilde{\mathbf{n}} } \]


Defining the Equivalent Sensing Matrix

We define:

\[ \boxed{ \mathbf{Q} = \sqrt{P} \, (\mathbf{F}_{BB}^T \mathbf{F}_{RF}^T \mathbf{A}_T^*) \otimes (\mathbf{W}_{BB}^H \mathbf{W}_{RF}^H \mathbf{A}_R) } \]
Then the model simplifies beautifully to:
\[ \boxed{\mathbf{y} = \mathbf{Q}\mathbf{h}_b + \tilde{\mathbf{n}}} \]
---


Dimensions

In a practical example (from Prof. Jagannatham’s slides):

ParameterValue
\( N_T^{Beam} = N_R^{Beam} = 24 \)\( 576 \) measurements
\( G = 32 \)\( G^2 = 1024 \) unknowns

So \( \mathbf{Q} \in \mathbb{C}^{576 \times 1024} \) — an underdetermined system.



Numerical Example (2×2 System)

Setup

QuantityValue
Transmit antennas \( N_T \)2
Receive antennas \( N_R \)2
Grid size \( G \)2
Power \( P \)1

Channel Basis

\[ \mathbf{A}_T = \mathbf{A}_R = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} \]

Beamspace Channel

\[ \mathbf{H}_b = \begin{bmatrix} 1 & 0 \\ 0 & 0.5 \end{bmatrix}, \quad \mathbf{h}_b = \begin{bmatrix} 1 \\ 0 \\ 0 \\ 0.5 \end{bmatrix} \]

RF/Baseband Matrices

\[ \mathbf{F}_{RF} = \mathbf{W}_{RF} = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}, \quad \mathbf{F}_{BB} = \mathbf{W}_{BB} = \mathbf{I}_2 \]

Compute Q

The transmit and receive terms each simplify to \( \sqrt{2}\mathbf{I}_2 \), giving:

\[ \mathbf{Q} = (\sqrt{2}\mathbf{I}_2) \otimes (\sqrt{2}\mathbf{I}_2) = 2\mathbf{I}_4 \]

Compute Output

\[ \mathbf{y} = \mathbf{Q}\mathbf{h}_b = 2\mathbf{h}_b = \begin{bmatrix} 2 \\ 0 \\ 0 \\ 1 \end{bmatrix} \]

If noise is added: \[ \mathbf{y} = \begin{bmatrix} 2 \\ 0 \\ 0 \\ 1 \end{bmatrix} + \tilde{\mathbf{n}} \]



Sparse Recovery

Since the system is underdetermined (\( 576 < 1024 \)), we use Compressed Sensing techniques to estimate \( \mathbf{h}_b \):

\[ \min_{\mathbf{h}_b} \|\mathbf{y} - \mathbf{Q}\mathbf{h}_b\|_2^2 \quad \text{s.t. } \mathbf{h}_b \text{ is sparse} \]

Algorithms:

  • OMP (Orthogonal Matching Pursuit)
  • Basis Pursuit / LASSO
  • Sparse Bayesian Learning
Finally, reconstruct the full channel:
\[ \mathbf{H} = \mathbf{A}_R \, \text{mat}(\hat{\mathbf{h}}_b) \, \mathbf{A}_T^* \]


Summary

StepDescription
1Start with \( \mathbf{y} = \sqrt{P}\mathbf{W}^H \mathbf{H}\mathbf{F}\mathbf{s} + \tilde{\mathbf{n}} \)
2Express \( \mathbf{H} = \mathbf{A}_R \mathbf{H}_b \mathbf{A}_T^* \)
3Vectorize using the Kronecker identity
4Define the equivalent sensing matrix \( \mathbf{Q} \)
5Obtain \( \mathbf{y} = \mathbf{Q}\mathbf{h}_b + \tilde{\mathbf{n}} \)
6Estimate sparse \( \mathbf{h}_b \) using compressed sensing
7Reconstruct full channel \( \mathbf{H} \)


Further Reading

Contact Us

Name

Email *

Message *