A Primer on Ray-Tracing: Shooting and Bouncing Ray Method
Ray-tracing is a promising alternative for Radio Frequency Planning particularly in urban areas. There are two fundamental techniques used for ray-tracing namely Shooting and Bouncing Rays and Method of Images. In this paper, we focus on the former and present simulation results for an urban scenario in the city of Helsinki. We also give an insight into how the Shooting and Bouncing Ray method can be implemented using basic linear algebra techniques. We show that ray-tracing can be used to evaluate the performance improvement attained through electromagnetic reflectors. Finally, we close the discussion by outlining the existing challenges and the way forward.
Orthogonal Minimum Shift Keying: A New Perspective on Interference Rejection
Co-Channel Interference is a classical problem in cellular systems that has been studied extensively and several methods have been proposed to overcome it. These include interference rejection techniques as well as joint detection techniques. We have previously proposed a joint detection technique for MSK-type signals that works quite well in certain conditions. In this paper, we formally present what we call Orthogonal MSK and postulate that if two MSK signals have a 90-degree phase offset between them then both can be detected successfully increasing the spectral efficiency two-fold. This technique works well even if the two signals are near equal power and have the same carrier frequency.
Why is MIMO Capacity in a Fading Environment Higher than in an AWGN Environment
A wireless channel suffers from two fundamental impairments; fading and noise. While fading is multiplicative, noise is additive. It is well-known that higher the noise, lower is the signal to noise ratio and lower the capacity. However, fading can be helpful in increasing the capacity when using multiple transmit and receive antennas. In this paper, we give an intuitive explanation for this. Anybody with a background in linear algebra and matrices can understand this.
In a previous post we had discussed MIMO capacity in a fading environment and compared it to AWGN capacity. It sometimes feels unintuitive that fading capacity can be higher than AWGN capacity. If a signal is continuously fluctuating how is it possible that we are able to have reliable communication. But this is the remarkable feature of MIMO systems that they are able to achieve blazing speeds over an unreliable channel, at least theoretically. It has been shown mathematically that an NxN MIMO channel is equivalent to N SISO channels in parallel.
Wireless channel
is inherently unpredictable and this results in loss of information as it
travels from the transmitter to the receiver. The main reason for this is that
multiple copies of the wireless signal arrive at the receiver which sometimes
add constructively and at other times destructively, causing deep fades. The
deciding factor between signal copies (think of them as echoes) adding
constructively or destructively is the relative phase. If the phases are
aligned the signals add up but if the phases are not aligned, we get a fade
(fades can be as deep as 60-80dB). Wireless engineers over the years have
worked around this problem by using multiple antennas also called antenna
arrays.
Let us start by first listing down the advantages of the 60 GHz Millimeter Wave Band, a band spread between 57 GHz and 64 GHz. This unlicensed band was first released in the US in 2001 but with limited allowance for transmit power (EIRP of 40 dBm). Later on, in 2013, this limit was increased to allow for greater transmit power (EIRP of 82 dBm) and larger range. The higher EIRP can be achieved with an antenna gain of 51 dBi or higher (EIRP is simply the product of transmit power and antenna gain). But first the advantages:
Unlicensed band means you do not have to pay for using the frequencies in this band.
Wide bandwidth of 7 GHz allows high data rate transmissions. Remember Shannon Capacity Theorem?
High atmospheric absorption resulting in greater path loss (up to 20 dB/km) and shorter range. This means lesser co-channel interference and higher reuse factor.
Smaller antenna sizes allowing for multiple antennas to be put together in the form of an array providing high gain.
This band is quite mature and electronic components are cheap and easily available.
Just like different frequency bands and time slots can be used to multiplex users, spatial domain can also be exploited to achieve the same result. It is well known that if there are 4 transmit antennas and 4 receive antennas then four simultaneous data streams can be transmitted over the air. This can be scaled up to 8 x 8 or in the extreme case to 128 x 128. When the number of transmit or receive antennas is greater than 100 we typically call it a Massive MIMO scenario and we need specialized signal processing techniques to handle this case. Computationally complex techniques like Maximum Likelihood (ML) become quite difficult to implement in real-time and we have to resort to some simplified linear array processing techniques. This is the topic of this blog post.
Description of the Scenario
To understand the scenario that we will discuss here, please look at our previous post. Also note that when we talk about nT x nR case we do not necessarily mean nT transmit antennas and nR receive antennas, it could also mean nT users with 1 antenna each and co-located nR receive antennas, such as at a base station. We typically assume that the number of receive antennas is greater than the number of users. When the number of users is greater than the number of receive antennas we call it overloaded case and this is not discussed here. Here the number of users is fixed at 16 (randomly distributed between 0 and 360 degrees within the cell) and the number of receive antennas is varied from 20 to 100.
Linear Signal Processing Techniques for Massive MIMO
The four signal processing techniques that are applied at the receive array are:
Matched Filtering (MF)
Moore Penrose Pseudo-Inverse without controlling the threshold (PINV)
Moore Penrose Pseudo-Inverse with a specified threshold (PINV with tol)
Minimum Mean Squared Error (MMSE)
Simulation Results
There are some other techniques that we experimented with but are omitted here for the sake of brevity. The MATLAB code and simulation results showing bit error rate as a function of receive array size (nR) are given below. It is seen that simple Matched Filter works quite well when the receive array size is small but with increasing nR the performance improvement is not that great. Least Squares (LS) technique using Moore-Penrose Pseudo Inverse shows improved performance with increasing nR and this can be further improved by controlling the threshold (tol). We found that a threshold of 0.1 gave significantly improved results as compared to no threshold case. Lastly we implemented MMSE and found that it gave us the best results. It must be noted that we also implemented ML for a limited size of receive array and found that its BER performance was far superior than any other technique.
MATLAB Code for Massive MIMO Scenario
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MASSIVE MIMO BEAMFORMING
% COPYRIGHT RAYMAPS (C) 2018
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all
% SETTING THE PARAMETERS FOR THE SIMULATION
f=1e9; %Carrier frequency
c=3e8; %Speed of light
l=c/f; %Wavelength
d=l/2; %Rx array spacing
N=20; %Receive array size
M=16; %Transmit array size (users)
theta=2*pi*(rand(1,M)); %Angular separation of users
EbNo=10; %Energy per bit to noise PSD
sigma=1/sqrt(2*EbNo); %Standard deviation of noise
n=1:N; %Rx array number
n=transpose(n); %Row vector to column vector
% RECEIVE SIGNAL MODEL (LINEAR)
s=2*(round(rand(M,1))-0.5); %BPSK signal of length M
H=exp(-i*(n-1)*2*pi*d*cos(theta)/l); %Channel matrix of size NxM
wn=sigma*(randn(N,1)+i*randn(N,1)); %AWGN noise of length N
x=H*s+wn; %Receive vector of length N
% LINEAR ARRAY PROCESSING - METHODS
% 1-MATCHED FILTER
y=H'*x;
% 2-PINV without tol
% y=pinv(H)*x;
% 3-PINV with tol
% y=pinv(H,0.1)*x;
% 4-Minimum Mean Square Error (MMMSE)
% y=(H'*H+(2*sigma^2)*eye([M,M]))^(-1)*(H')*x;
% DEMODULATION AND BER CALCULATION
s_est=sign(real(y)); %Demodulation
ber=sum(s!=s_est)/length(s); %BER calculation
%Note: Please select the array processing technique
%you want to implement (1-MF, 2-LS1, 3-LS2, 4-MMSE)
Note:
In the code above, N=nR and M=nT
What is labelled here as Matched Filter (MF) is strictly speaking Maximal Ratio Combining (MRC)
The case we discuss above is categorized as Multiuser MIMO (MU-MIMO) for the uplink
MU-MIMO for the downlink is not that straight forward and will be the subject of some future post
We have considered a deterministic channel model as opposed to a probabilistic channel model
Probabilistic channel model can be easily implemented by assuming that channel coefficients are independent and identically distributed (IID) complex Gaussian random variables with mean zero and variance of 0.5 per dimension
The initial results we have obtained using this probabilistic channel model are much better than the results shown above, but the question remains which is the more accurate representation of a real channel
Update: Simulation Using a Probabilistic Channel
Since most of the literature in Massive MIMO uses a probabilistic channel instead of a deterministic channel, we decided to investigate this further. To implement such a channel model we simply need to change one line of the MATLAB code shown above. Instead of defining H as:
The results are shown below. It is seen that the BER performance is orders of magnitude better. We would next investigate the performance degradation if the channel coefficients are not independent and identically distributed (IID) but have some correlation. This is closely tied to inter-element separation of the antenna array.
Concluding Remarks
The fundamental question that needs to be asked is why the performance in the NLOS scenario (probabilistic) is better than LOS scenario (deterministic). This has to do with the Signal to Noise Ratio [1]. In the above we have assumed the Signal to Noise Ratio (SNR) for the two scenarios to be the same. But realistically speaking this is never the case. Although the NLOS case assumes a rich scattering environment providing a high multiplexing gain (dependent on the rank of the channel matrix H) its SNR would always be lower due to reflection, diffraction and scattering loss. So a fair comparison between the LOS and NLOS case is only possible if we downward adjust the SNR for the NLOS case. Simulation results have shown that the SNR for the NLOS case needs to be downgraded by about 25 dB to have similar BER performance as the LOS case. Lastly it must be noted that the BER performance of the NLOS case would deteriorate once the channel coefficients are not IID and there is some correlation between them.
[1] Zimu Cheng, Binghao Chen, and Zhangdui Zhong “A Tradeoff between Rich Multipath and High Receive Power in MIMO Capacity”, International Journal of Antennas and Propagation, Volume 2013.