Skip to main content

5G Channel Estimation using Orthogonal Matching Pursuit (OMP)




For millimeter wave massive MIMO communication in 5G, we observe that the number of available multipath components (MPCs) is much smaller than the maximum possible connections between the transmitter (TX) and receiver (RX). Only a few MPCs reach the receiver with significant signal strength. For example, let the number of strong MPCs be $L$, while there are $N_t$ antennas at the transmitter and $N_r$ antennas at the receiver.

From the channel matrix of the massive MIMO system, the total number of antenna-to-antenna connections is $N_r \times N_t$. In a beamspace representation, if we use a grid of $N_{tBeams}$ and $N_{rBeams}$, the total possible beam combinations is $N_{tBeams} \times N_{rBeams}$.

The key condition for sparsity is: $L \ll (N_t \times N_r)$

If we look up the massive MIMO channel matrix, then, H=



Because the number of strong MPCs ($L$) is much lower than the maximum connections, the beamspace channel matrix ($h_b$) is sparse. This means most elements in $h_b$ are zero or near-zero. We use the Orthogonal Matching Pursuit (OMP) algorithm, a "Compressive Sensing" method, to identify the indices of these $L$ strong paths and estimate their gains without processing all $N_r \times N_t$ combinations.


Orthogonal Matching Pursuit Algorithm Logic:

Let’s assume we use a beamforming codebook where the number of possible transmit and receive beams are $N_{tBeams}$ and $N_{rBeams}$.

If $N_t = N_r = 32$, the full channel matrix has $32 \times 32 = 1024$ elements. However, if there are only $L=5$ physical paths, only 5 entries in the beamspace matrix $h_b$ will be significantly non-zero.

Mathematically,

$y = Q h_b + n$

Here:
$y$ = received signal vector
$Q$ = Equivalent sensing matrix (containing the steering vectors/codebook)
$h_b$ = Sparse beamspace channel vector (size $N^2 \times 1$)
$n$ = noise

OMP Iteration Steps:

1. Correlation: We find the column of $Q$ that has the maximum projection (correlation) with the received signal $y$.
$i(1) = \text{argmax}_j |(q_j^H / ||q_j||) \cdot y|$

2. Estimation: Use the Least Squares (LS) solution to find the gain ($h_{b1}$) for that specific path:
$h_{b1} = (q_{i1}^H q_{i1})^{-1} q_{i1}^H y$

3. Residual Update: Subtract the estimated signal from the received signal to find the "residue" ($r_1$):
$r_1 = y - q_{i1} h_{b1}$

4. Repeat: In the next iteration, find the column of $Q$ that correlates most with the residue $r_1$. Repeat this until the residue falls below a threshold or we reach $L$ iterations.


Mathematical Example of Orthogonal Matching Pursuit (OMP):



Let's assume, for a MIMO communication system,

The size of the equivalent sensing matrix, Q is 4 X 6

And received signal matrix, y=




Now, y = Qhb

Or,

Where, hb =beamspace matrix =



Let assume, Q = [ q1 q2 q3 q4 q5 q6]

Here, q1 is the first column of Q, q2 is the second column of Q, and so on.


First Iteration of Orthogonal Matching Pursuit:

Now we find the maximum correlation of y by finding out which column in Q generates the maximum value with the projection of y,

Or,

QT*y =



Here, we can see the element in the 5th row is the maximum among all elements. So, we’ll select the 5th column of Q with which y has the maximum correlation value.

Now, hb1 = (q5'*q5)^(-1) * q5'*y

Where q5’ denotes the transpose of q5

Or,

hb1 = 4

Residue Matrix, r1 = y – q5* hb1

Or, r1 =


Here, we observe residual matrix r1 is not a zero matrix. So, we go for 2nd iteration.

Second Iteration of Orthogonal Matching Pursuit

Where we find the maximum correlation of r1 with respect to Q matrix.

Alternatively,

QT*r1=


Now, we see the element in the 2nd row of the above matrix generates the maximum value so r1 has a maximum correlation with the 2nd column of Q Matrix.

Now, we’ll form a new matrix, Qn = [q5 q2]

We find hb2 = (Qn'*Qn)^(-1)*Qn'*y;

Or, hb2 =


Now updated residue matrix, r2 = y – Qn* hb2

Or, r2=


Now we get the desired value in residue matrix r2 where all elements are zeros. So, beamspace matrix, hb will be


Here, we replace the elemental value of hb in that rows which are equal with the number of columns which generates maximum values with projection with y, then r1, and so on.

Now, from the mathematics we can say,

y = Q* hb

Or,



Further Reading

[1] Orthogonal Matching Pursuit (OMP) in Compressive Sensing (Theory)
#beamforming


Contact Us

Name

Email *

Message *

Popular Posts

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. 📡 ASK Simulator đŸ“ļ FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator Demodulation More Topics 1. ASK (Ampli...

Direction of Arrival (DoA) Online Simulator (using MUSIC)

Interactive DOA Simulator X-axis XY angle (deg): 45 XZ angle (deg): 30 Noise: 0.05 Y-axis XY angle (deg): 60 YZ angle (deg): 45 Noise: 0.05 Z-axis XZ angle (deg): 60 YZ angle (deg): 30 Noise: 0.05 Estimated DOA (deg): 0 Simulation Workflow and Mathematical Background This simulator demonstrates Direction of Arrival (DOA) estimation using three-axis sensor signals (X, Y, Z), Maximal Ratio Combining (MRC) , and the MUSIC algorithm . It allows interactive control of signal angles and noise for teaching purposes. 1. Signal Generation A pure sinewave signal of frequency f is projected onto three axes using user-defined angles in different planes: X-axis: θ XY , θ XZ Y-axis: θ XY , θ YZ Z-axis: θ XZ , θ YZ Mathematically, for each time sample t : x(t) = s(t) * cos(θ_xy_x) * cos(θ_xz_x) + n_x(t) y(t) = s(t) * sin(θ_xy_y) * cos(θ_yz_y) + n_y(t) z(t) = s(t) * sin(θ_xz_z) * sin(θ_yz_z) + n_z(t) wh...

Constellation Diagrams of ASK, PSK, and FSK (with MATLAB Code + Simulator)

Constellation Diagrams: ASK, FSK, and PSK Comprehensive guide to signal space representation, including interactive simulators and MATLAB implementations. 📘 Overview 🧮 Simulator ⚖️ Theory 📈 Q-function 📚 Resources BASK Modulation Transmits one of two signals: 0 or $\sqrt{E_b}$, representing binary 0 and 1. Simple but sensitive to noise. BFSK Modulation Transmits one of two signals: $\sqrt{E_b}$ on the Y-axis or $\sqrt{E_b}$ on the X-axis. These are orthogonal signals. BPSK Modulation Transmits $+\sqrt{E_b}$ or $-\sqrt{E_b}$ (antipodal signaling). Most efficient binary scheme. ...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Download Papers and Solutions Exam Pattern Preparation Tips FAQs More Home / Engineering & Other Exams / UGC NET 2026 PYQ 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) đŸ“Ĩ Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Sol...

Gaussian minimum shift keying (GMSK)

📘 Overview & Theory 🧮 Simulator for GMSK 🧮 MSK and GMSK: Understanding the Relationship 🧮 MATLAB Code for GMSK 📚 Simulation Results for GMSK 📚 Q & A and Summary 📚 Further Reading Dive into the fascinating world of GMSK modulation, where continuous phase modulation and spectral efficiency come together for robust communication systems! Core Process of GMSK Modulation Phase Accumulation (Integration of Filtered Signal) After applying Gaussian filtering to the Non-Return-to-Zero (NRZ) signal, we integrate the smoothed signal to produce a continuous phase signal. For GMSK, the modulation index is $h=0.5$, meaning a bit '1' results in a phase shift of $\pi/2$: θ(t) = 2Ī€h ∫ 0 t m filtered (Ī„) dĪ„ This integration is crucial for avoiding abrupt phase transitions, ensuring smooth and continuous phase changes. Phase Mo...

1G to 5G Technology - Evolution of Wireless Generations

Cellular wireless evolution Generation Frequency band PHY features Data rate Spectral Eff. (bps/Hz) 1G 850 MHz FDMA, FM N/A N/A 2G 900 MHz, 1.8 GHz TDMA/CDMA, GMSK/QPSK, FEC, PC 10 Kbps < 1 3G 1.8–2.5 GHz CDMA, QAM 1–40 Mbps 1–8 4G 2–8 GHz OFDMA, SC-FDMA, QAM, MIMO-OFDM 100–600 Mbps 15 5G 1–6 GHz mm wave (26–28 GHz) < 1 GHz (massive IoT) visible light? massive MIMO, beamforming D2D, Full duplex, NOMA LDPC and Polar codes OFDM & variants (adapted to extremes?) multi-Gbps several tens Waveform design is the major change between the generations Mobile Wireless Generations Specifications  1G  Voice, Analog traffic, FDMA  2G  Voice, SMS, CS data ...

MATLAB Code for Rms Delay Spread

RMS delay spread is crucial when you need to know how much the signal is dispersed in time due to multipath propagation, the spread (variance) around the average. In high-data-rate systems like LTE, 5G, or Wi-Fi, even small time dispersions can cause ISI. RMS delay spread is directly related to the amount of ISI in such systems. RMS Delay Spread [↗] Delay Spread Calculator Enter delays (ns) separated by commas: Enter powers (dB) separated by commas: Calculate   The above calculator Converts Power to Linear Scale: It correctly converts the power values from decibels (dB) to a linear scale. Calculates Mean Delay: It accurately computes the mean excess delay, which is the first moment of the power delay profile. Calculates RMS Delay Spread: It correctly calculates the RMS delay spread, defined as the square root of the second central moment of the power delay profile.   MATLAB Code  clc...