Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (2024)

In the previous post on Single Input Multiple Output (SIMO) models for receive diversity, various receiver diversity techniques were outlined. One of them is maximum ratio combining, the focus of the topic here.

Channel model

Assuming flat slow fading channel, the received signal model is given by

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (1)

where, Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (2) is the channel impulse response, Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (3) is the received signal, Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (4) is the transmitted signal and Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (5) is the additive Gaussian white noise.

Assuming small scale Rayleigh fading, the channel impulse response is modeled as complex Gaussian random variable with zero mean and variance Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (6)

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (7)

Therefore, the instantaneous channel power is exponentially distributed

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (8)

In the context of AWGN channel, the signal-to-noise ratio (SNR) for a given channel condition, is a constant. But in the case of fading channels, the signal-to-noise ratio is no longer a constant as the signal is fluctuating when passed through a fading channel. Therefore, for fading channel, the SNR has a random variable component built into it. Hence, we just don’t call it SNR, instead it is called instantaneous SNR which depends on the current conditions of the channel (or equivalently, the value of the random variable at that instant). Since the SNR is a random variable, we can also talk about its expected (average) value, which is called average SNR. Denoting the average SNR as Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (9) and for convenience, let’s assume that the average power of the channel is unity, i.e, Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (10)

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (11)

The instantaneous SNR Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (12) is given by

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (13)

Therefore, like the channel impulse response, the instantaneous SNR is also exponentially distributed

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (14)

Maximum Ratio Combining (MRC)

The selection combining technique is the simplest technique, where in, the received signal from the antenna that experiences the highest SNR (i.e, the strongest signal from N received signals) is chosen for processing at the receiver. Therefore this technique throws away Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (15) of Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (16) observations. Whereas, in maximum ratio combining (MRC) all Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (17) observations are used.

MRC works on the signal in spatial domain and is very similar to what a matched filter in frequency domain does to the incoming signal. MRC maximizes the inner product of the weights and the signal vector.

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (18)

The maximum ratio combining technique, uses all the Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (19) received signal elements (Figure 1), it weighs them and combines the weighted signals so that the output SNR Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (20) is maximized. Requiring the knowledge of the individual channels Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (21), the weights are chosen as

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (22)

With the weights set as Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (23), the output of the MRC combiner is

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (24)

Therefore, the output SNR after MRC processing is

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (25)

MRC processing results in the weighted average of the received signals and hence the overall output SNR is equal to the sum of the SNRs of all individual receive signals, which yields the maximum possible diversity gain of Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (26). This is the maximum achievable SNR for all possible receive diversity schemes (selection combining, equal gain combining, etc..,).

Generally, two figures of merits are used to gauge the performance of the diversity schemes – outage probability and error rate performance for PSK modulation.

Outage probability

As we know, fading channels are characterized by deep fades, i.e, the period when the signal level falls below a certain threshold or certain noise level. During such fades, the user experiences signal outage. We would like to compute the probability, in certain fading channel, that a user will experience signal outage. This is called outage probability. Outage probability can be easily computed if we know the probability distribution characteristics of the fading.

The outage probability with which the instantaneous output SNR of MRC falls below a given SNR target Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (27) is

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (28)

For high average SNR conditions Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (29), the outage probability can be approximated as

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (30)

Python code

import numpy as npimport matplotlib.pyplot as pltfrom scipy.special import factorialgamma_ratio_dB = np.arange(start=-10,stop=40,step=2)Ns = [1,2,3,4,10,20] #number of received signal pathsgamma_ratio = 10**(gamma_ratio_dB/10) #Average SNR/SNR threshold in dBfig, ax = plt.subplots(1, 1)for N in Ns: n = np.arange(start=0,stop=N,step=1) P_outage = 1 - np.exp(-1/gamma_ratio)*np.sum(((1/gamma_ratio)**n[:,None])/factorial(n[:,None]),axis=0) ax.semilogy(gamma_ratio_dB,P_outage,label='N='+str(N))ax.legend()ax.set_xlim(-10,40);ax.set_ylim(0.0001,1.1)ax.set_title('MRC outage probability (Rayleigh fading channel)')ax.set_xlabel(r'$10log_{10}\left(\Gamma/\gamma_t\right)$')ax.set_ylabel('Outage probability');fig.show()
Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (31)

Figure 2, plots the outage probability against Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (32) (the ratio of average SNR and the SNR threshold) for different Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (33) values – the number of received signals received over an Rayleigh flat fading channel. For example, the outage probability dramatically improves when going from Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (34) branch to Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (35) branches. At outage probability of 0.01% (projected y-value in the graph at Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (36)), there is an approximate Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (37) reduction in the required SNR.

Error rate performance

In the case of receive diversity schemes with Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (38) antennas, the received signal vector is given by

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (39)

Considering the QPSK modulated symbols that are transmitted (denoted as Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (40) ), the maximum likelihood detection criterion for detecting the transmitted symbols by the equalizer block at the receiver is given by,

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (41)

The solution to this problem can be obtained using the least squares method (refer equation 8.17 given in chapter 8 of this book)

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (42)

The solution can be re-written as

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (43)

As an example, the symbol error rate performance of a QPSK modulated transmission over a Rayleigh flat fading SIMO channel, for a range of values for the number of receive antennas (Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (44)) is simulated here. Maximum ratio combining is used in the receiver.

The code utilizes the modem class discussed in the book here. The modem class incorporates modulation and demodulation techniques for PSK,PAM,QAM and FSK modulation schemes. It uses the object oriented programming method for implementing the various modems.

The addition of Gaussian white noise needs to be multidimensional. The method discussed in this article is extended here for computing and adding the required amount of noise across the Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (45) branches of signals.

Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (46)
"""Eb/N0 Vs SER for PSK over Rayleigh flat fading with MRC@author: Mathuranathan ViswanathanCreated on Jan 16, 2020"""import numpy as np # for numerical computingimport matplotlib.pyplot as plt # for plotting functions#from matplotlib import cm # colormap for color palettefrom numpy.random import standard_normalfrom DigiCommPy.modem import PSKModemfrom DigiCommPy.channels import awgn#---------Input Fields------------------------nSym = 10**6 # Number of symbols to transmitEbN0dBs = np.arange(start=-20,stop = 36, step = 2) # Eb/N0 range in dB for simulationN = [1,2,4,8,10] # [1,2,3,4,10,20] #number of diversity branchesM = 4 #M-ary PSK modulationk=np.log2(M)EsN0dBs = 10*np.log10(k)+EbN0dBs # EsN0dB calculationfig, ax = plt.subplots(nrows=1,ncols = 1) #To plot figurefor nRx in N: #simulate for each # of received branchs #Random input symbols to modulator inputSyms = np.random.randint(low=0, high = M, size=nSym) modem = PSKModem(M) s = modem.modulate(inputSyms) #modulated PSK symbols #nRx signal branches s_diversity = np.kron(np.ones((nRx,1)),s); ser_sim = np.zeros(len(EbN0dBs)) # simulated symbol error rates for i,EsN0dB in enumerate(EsN0dBs): #Rayleigh flat fading channel as channel matrix h = np.sqrt(1/2)*(standard_normal((nRx,nSym))+1j*standard_normal((nRx,nSym))) signal = h*s_diversity #effect of channel on the modulated signal #Computing the signal power and adding noise gamma = 10**(EsN0dB/10) #converting EsN0dB to linear scale P = np.sum(np.abs(signal)**2,axis=1)/nSym #calculate power in each branch of signal N0 = P/gamma #required noise spectral density for each branch #Scale each row of noise with the calculated noise spectral density noise = (standard_normal(signal.shape)+1j*standard_normal(signal.shape))*np.sqrt(N0/2)[:,None] r = signal+noise #received signal branches #Receiver processing equalized = np.sum(r*np.conj(h),axis=0) #equalized signal detectedSyms = modem.demodulate(equalized) #demodulation decisions ser_sim[i] = np.sum(detectedSyms != inputSyms)/nSym #ax.grid(True,which='both'); ax.semilogy(EbN0dBs,ser_sim,label='N='+str(nRx))#plot simulated error ratesax.set_xlim(-20,35);ax.set_ylim(0.0001,1.1);ax.grid(True,which='both');ax.set_xlabel('Eb/N0(dB)');ax.set_ylabel('Symbol Error Rate($P_s$)')ax.set_title('SER performance for QPSK over Rayleigh fading channel with MRC')ax.legend();fig.show()

Rate this article: Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (47)Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (48)Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (49)Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (50)Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (51) (12 votes, average: 3.92 out of 5)

References

[1] Andrea Goldsmith, “Wireless Communications”, ISBN: 978-0521837163, Cambridge University Press, 1 edition.↗

[2] Barry-Lee-Messerschmitt, “Digital Communication”, ISBN: 978-0792375487 , Springer, 3rd edition, September 30, 2003.↗

Articles in this series

Articles in this series
[1] Introduction to Multiple Antenna Systems
[2] MIMO - Diversity and Spatial Multiplexing
[3] Characterizing a MIMO channel - Channel State Information (CSI) and Condition number
[4] Capacity of a SISO system over a fading channel
[5] Ergodic Capacity of a SISO system over a Rayleigh Fading channel - Simulation in Matlab
[6] Capacity of a MIMO system over Fading Channels
[7] Single Input Multiple Output (SIMO) models for receive diversity
[8] Receiver diversity - Selection Combining
[9] Receiver diversity – Maximum Ratio Combining (MRC)

Books by the author


Wireless Communication Systems in Matlab Second Edition(PDF)
Note: There is a rating embedded within this post, please visit this post to rate it.

Digital Modulations using Python (PDF ebook)
Note: There is a rating embedded within this post, please visit this post to rate it.

Digital Modulations using Matlab (PDF ebook)
Note: There is a rating embedded within this post, please visit this post to rate it.
Hand-picked Best books on Communication Engineering
Best books on Signal Processing
Maximum Ratio Combining (MRC) architecture simulation - GaussianWaves (2024)

References

Top Articles
Latest Posts
Article information

Author: Sen. Ignacio Ratke

Last Updated:

Views: 6837

Rating: 4.6 / 5 (76 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Sen. Ignacio Ratke

Birthday: 1999-05-27

Address: Apt. 171 8116 Bailey Via, Roberthaven, GA 58289

Phone: +2585395768220

Job: Lead Liaison

Hobby: Lockpicking, LARPing, Lego building, Lapidary, Macrame, Book restoration, Bodybuilding

Introduction: My name is Sen. Ignacio Ratke, I am a adventurous, zealous, outstanding, agreeable, precious, excited, gifted person who loves writing and wants to share my knowledge and understanding with you.