Significance of RMS (Root Mean Square) value

Root Mean Square (RMS) value is the most important parameter that signifies the size of a signal.

Defining the term “size”:

In signal processing, a signal is viewed as a function of time. The term “size of a signal” is used to represent “strength of the signal”. It is crucial to know the “size” of a signal used in a certain application. For example, we may be interested to know the amount of electricity needed to power a LCD monitor as opposed to a CRT monitor. Both of these applications are different and have different tolerances. Thus the amount of electricity driving these devices will also be different.

A given signal’s size can be measured in many ways. Some of them are,

Total energy
► Square root of total energy
► Integral absolute value
► Maximum or peak absolute value
► Root Mean Square (RMS) value
► Average Absolute (AA) value

Parseval’s theorem

The Parseval’s theorem expresses the energy of a signal in time-domain in terms of the average energy in its frequency components.

Suppose if the x[n] is a sequence of complex numbers of length N : xn={x0,x1,…,xN-1}, its N-point discrete Fourier transform (DFT): Xk={X0,X1,…,XN-1} is given by

The inverse discrete Fourier transform is given by

Suppose if x[n] and y[n] are two such sequences that follows the above definitions, the Parseval’s theorem is written as

where, indicates conjugate operation.

Deriving Parseval’s theorem

Energy content

Given a discrete-time sequence length N : xn={x0,x1,…,xN-1}, according to Parseval’s theorem, the energy content of the signal in the time-domain is equivalent to the average of the energy contained in its frequency components.

If the samples x[n] and X[k] are real-valued, then

Mean Square value

Mean square value is the arithmetic mean of squares of a given set of numbers. For a complex-valued signal set represented as discrete sampled values – , the mean square xMS value is given as

Applying Parseval’s theorem, the mean square value can also be computed using frequency domain components X[k]

RMS value

RMS value of a signal is calculated as the square root of average of squared value of the signal. For a complex-valued signal set represented as discrete sampled values – , the mean square xRMS value is given as

Applying Parseval’s theorem, the root mean square value can also be computed using frequency domain components X[k]

Implementing in Matlab:

Following Matlab code demonstrates the calculation of RMS value for a random sequence using time-domain and frequency domain approach. Figure 1, depicts the simulation results for RMS values for some well-known waveforms.

N=100; %length of the signal
x=randn(1,N); %a random signal to test 
X=fft(x); %Frequency domain representation of the signal 

RMS1 = sqrt(mean(x.*conj(x))) %RMS value from time domain samples 
RMS2 = sqrt(sum(X.*conj(X))/length(x)^2) %RMS value from frequency domain representation

%Result: RMS1 = 0.9814, RMS2 = 0.9814

%Matlab has inbuilt 'rms' function, it can also be used.
RMS values of some well known signals (sinewave, full-wave rectified sinusoid, half-wave rectified sinusoid and rectangular signal)
Figure 1: RMS values of some well known signals

Significance of RMS value

► One of the most important parameter that is used to describe the strength of an Alternating Current (AC).

► RMS value of an AC voltage/current is equivalent to the DC voltage/current that produces the same heating effect when applied across an identical resistor. Hence, it is also a measure of energy content in a given signal.

► In statistics, for any zero-mean random stationary signal, the RMS value is same as the standard deviation of the signal. Example : Delay spread of a multipath channel is often calculated as the RMS value of the Power Delay Profile (PDP)

► When two uncorrelated (or orthogonal ) signals are added together, such as noise from two independent sources, the RMS value of their sum is equal to the square-root of sum of the square of their individual RMS values.

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

See also

Basics of – Power and Energy of a signal
Calculation of power of a signal and verifying it through Matlab.

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Simulate additive white Gaussian noise (AWGN) channel

In this article, the relationship between SNR-per-bit (Eb/N0) and SNR-per-symbol (Es/N0) are defined with respect to M-ary signaling schemes. Then the complex baseband model for an AWGN channel is discussed, followed by the theoretical error rates of various modulations over the additive white Gaussian noise (AWGN) channel. Finally, the complex baseband models for digital modulators and detectors developed in previous chapter of this book, are incorporated to build a complete communication system model.

If you would like to know more about the simulation and analysis of white noise, I urge you to read this article: White noise: Simulation & Analysis using Matlab.

Signal to noise ratio (SNR) definitions

Assuming a channel of bandwidth B, received signal power Pr and the power spectral density (PSD) of noise N0/2, the signal to noise ratio (SNR) is given by

Let a signal’s energy-per-bit is denoted as Eb and the energy-per-symbol as Es, then γb=Eb/N0 and γs=Es/N0 are the SNR-per-bit and the SNR-per-symbol respectively.

For uncoded M-ary signaling scheme with k = log2(M) bits per symbol, the signal energy per modulated symbol is given by

The SNR per symbol is given by

AWGN channel model

In order to simulate a specific SNR point in performance simulations, the modulated signal from the transmitter needs to be added with random noise of specific strength. The strength of the generated noise depends on the desired SNR level which usually is an input in such simulations. In practice, SNRs are specified in dB. Given a specific SNR point for simulation, let’s see how we can simulate an AWGN channel that adds correct level of white noise to the transmitted symbols.

Figure 1: Simplified simulation model for awgn channel

Consider the AWGN channel model given in Figure 1. Given a specific SNR point to simulate, we wish to generate a white Gaussian noise vector of appropriate strength and add it to the incoming signal. The method described can be applied for both waveform simulations and the complex baseband simulations. In following text, the term SNR (γ) refers to γb = Eb/N0 when the modulation is of binary type (example: BPSK). For multilevel modulations such as QPSK and MQAM, the term SNR refers to γs = Es/N0.

(1) Assume, s is a vector that represents the transmitted signal. We wish to generate a vector r that represents the signal after passing through the AWGN channel. The amount of noise added by the AWGN channel is controlled by the given SNR – γ

(2) For waveform simulation model, let the given oversampling ratio is denoted as L. On the other hand, if you are using the complex baseband models, set L=1.

(3) Let N denotes the length of the vector s. The signal power for the vector s can be measured as,

(4) The required power spectral density of the noise vector n is computed as

(5) Assuming complex IQ plane for all the digital modulations, the required noise variance (noise power) for generating Gaussian random noise is given by

(6) Generate the noise vector n drawn from normal distribution with mean set to zero and the standard deviation computed from the equation given above

(7) Finally add the generated noise vector (n) to the signal (s)

Matlab code

The following custom function written in Matlab, can be used for adding AWGN noise to an incoming signal. It can be used in waveform simulation as well as complex baseband simulation models.

%author - Mathuranathan Viswanathan (gaussianwaves.com
%This code is part of the books: Wireless communication systems using Matlab & Digital modulations using Matlab.

function [r,n,N0] = add_awgn_noise(s,SNRdB,L)
%Function to add AWGN to the given signal
%[r,n,N0]= add_awgn_noise(s,SNRdB) adds AWGN noise vector to signal
%'s' to generate a %resulting signal vector 'r' of specified SNR
%in dB. It also returns the noise vector 'n' that is added to the
%signal 's' and the spectral density N0 of noise added
%
%[r,n,N0]= add_awgn_noise(s,SNRdB,L) adds AWGN noise vector to
%signal 's' to generate a resulting signal vector 'r' of specified
%SNR in dB. The parameter 'L' specifies the oversampling ratio used
%in the system (for waveform simulation). It also returns the noise
%vector 'n' that is added to the signal 's' and the spectral
%density N0 of noise added
 s_temp=s;
 if iscolumn(s), s=s.'; end; %to return the result in same dim as 's'
 gamma = 10ˆ(SNRdB/10); %SNR to linear scale
 
 if nargin==2, L=1; end %if third argument is not given, set it to 1
 
 if isvector(s),
  P=L*sum(abs(s).ˆ2)/length(s);%Actual power in the vector
 else %for multi-dimensional signals like MFSK
  P=L*sum(sum(abs(s).ˆ2))/length(s); %if s is a matrix [MxN]
 end
 
 N0=P/gamma; %Find the noise spectral density
 if(isreal(s)),
  n = sqrt(N0/2)*randn(size(s));%computed noise
 else
  n = sqrt(N0/2)*(randn(size(s))+1i*randn(size(s)));%computed noise
 end
 
 r = s + n; %received signal
 
 if iscolumn(s_temp), r=r.'; end;%return r in original format as s
end

Python code

The following custom function written in Python 3, can be used for adding AWGN noise to an incoming signal. It can be used in waveform simulation as well as complex baseband simulation models.

# author - Mathuranathan Viswanathan (gaussianwaves.com
# This code is part of the book Digital Modulations using Python

from numpy import sum,isrealobj,sqrt
from numpy.random import standard_normal

def awgn(s,SNRdB,L=1):
    """
    AWGN channel
    Add AWGN noise to input signal. The function adds AWGN noise vector to signal 's' to generate a resulting signal vector 'r' of specified SNR in dB. It also
    returns the noise vector 'n' that is added to the signal 's' and the power spectral density N0 of noise added
    Parameters:
        s : input/transmitted signal vector
        SNRdB : desired signal to noise ratio (expressed in dB) for the received signal
        L : oversampling factor (applicable for waveform simulation) default L = 1.
    Returns:
        r : received signal vector (r=s+n)
"""
    gamma = 10**(SNRdB/10) #SNR to linear scale
    if s.ndim==1:# if s is single dimensional vector
        P=L*sum(abs(s)**2)/len(s) #Actual power in the vector
    else: # multi-dimensional signals like MFSK
        P=L*sum(sum(abs(s)**2))/len(s) # if s is a matrix [MxN]
    N0=P/gamma # Find the noise spectral density
    if isrealobj(s):# check if input is real/complex object type
        n = sqrt(N0/2)*standard_normal(s.shape) # computed noise
    else:
        n = sqrt(N0/2)*(standard_normal(s.shape)+1j*standard_normal(s.shape))
    r = s + n # received signal
return r

Theoretical symbol error rates for digital modulations in AWGN channel

Denoting the symbol error rate (SER) as , SNR-per-bit as and SNR-per-symbol as , the symbol error rates for various modulation schemes over AWGN channel are listed in Table 1 (refer [1]).

Table 1: Theoretical symbol error rate for various modulations in AWGN channel

The theoretical symbol error rates are coded as a reusable function. In this implementation, erfc function is used instead of the Q function shown in the Table 4.1. The following equation describes the relationship between the erfc function and the Q function.

Unified simulation model for performance simulation

In the previous chapter of the books, the code implementation for complex baseband models for various digital modulators and demodulator are given. Using these models, we can create a unified simulation code for simulating the performance of various modulation techniques over AWGN channel.

The complete simulation model for performance simulation over AWGN channel is given in Figure 2. The figure is illustrated for a coherent communication system model (applicable for MPSK/MQAM/MPAM modulations)

Figure 2: Complete simulation model for a communication system with AWGN channel

The Matlab code implementing the aforementioned simulation model is given in the books. Here, an unified approach is employed to simulate the performance of any of the given modulation technique – MPSK, MQAM, MPAM or MFSK (MFSK simulation technique is available in the following books: Digital Modulations using Python and Digital Modulations using Matlab).

This article is part of the following books
Digital Modulations using Matlab : Build Simulation Models from Scratch, ISBN: 978-1521493885
Digital Modulations using Python ISBN: 978-1712321638
Wireless communication systems in Matlab ISBN: 979-8648350779
All books available in ebook (PDF) and Paperback formats

The simulation code will automatically choose the selected modulation type, performs Monte Carlo simulation, computes symbol error rates and plots them against the theoretical symbol error rates. The simulated performance results obtained for MQAM and MPSK modulations are shown in the Figure 3 and Figure 4.

Figure 3: Simulated symbol error rate performance of M-QAM modulation over AWGN channel

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

References

[1] Andrea Goldsmith, Wireless Communications, Cambridge University Pres, first edition, August 8, 2005.↗

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Power Delay Profile

Power delay profile gives the signal power received on each multipath as a function of the propagation delays of the respective multipaths.

Power delay profile (PDP)

A multipath channel can be characterized in multiple ways for deterministic modeling and power delay profile (PDP) is one such measure. In a typical PDP plot, the signal power on each multipath is plotted against their respective propagation delays.

In a typical PDP plot, the signal power () of each multipath is plotted against their respective propagation delays (). A sample power delay profile plot, shown in Figure 1, indicates how a transmitted pulse gets received at the receiver with different signal strengths as it travels through a multipath channel with different propagation delays. PDP is usually supplied as a table of values, obtained from empirical data and it serves as a guidance to system design. Nevertheless, it is not an accurate representation of the real environment in which the mobile is destined to operate at.

Figure 1: A typical discrete power delay profile plot for a multipath channel with 3 paths

The PDP, when expressed as an intensity function , gives the signal intensity received over a multipath channel as a function of propagation delays. The PDP plots, like the one shown in Figure 1, can be obtained as the spatial average of the complex channel impulse response as

RMS delay spread and mean delay

The RMS delay spread and mean delay are two most important parameters that characterize a frequency selective channel. They are derived from power delay profile. The delay spread of a multipath channel at any time instant, is a measure of duration of time over which most of the symbol energy from the transmitter arrives the receiver.

This article is part of the book
Wireless Communication Systems in Matlab (second edition), ISBN: 979-8648350779 available in ebook (PDF) format and Paperback (hardcopy) format.

In the wide-sense stationary uncorrelated scattering (WSSUS) channel models [1], the delays of received waves arriving at a receive antenna are treated as uncorrelated. Therefore, for the WSSUS model, the underlying complex process is assumed as zero-mean Gaussian random proces and hence the RMS value calculated from the normalized PDP corresponds to standard deviation of PDP distribution.

Figure 2: Relation between scattering function, power delay profile, Doppler power spectrum, spaced frequency
correlation function and spaced time correlation function

For continuous PDP (as in Figure 2), the RMS delay spread () can be calculated as

where, the mean delay  is given by

For discrete PDP (as in Figure 1), the RMS delay spread () can be calculated as 

where, is the power of the path, is the delay of the path and the mean delay is given by

Knowledge of the delay spread is essential in system design for determining the trade-off between the symbol rate of the system and the complexity of the equalizers at the receiver. The ratio of RMS delay spread () and symbol time duration () quantifies the strength of intersymbol interference (ISI). Typically, when the symbol time period is greater than 10 times the RMS delay spread, no ISI equalizer is needed in the receiver. The RMS delay spread obtained from the PDP must be compared with the symbol duration to arrive at this conclusion.

Frequency selective and non-selective channels

With the power delay profile, one can classify a multipath channel into frequency selective or frequency non-selective category. The derived parameter, namely, the maximum excess delay together with the symbol time of each transmitted symbol, can be used to classify the channel into frequency selective or non-selective channel.

PDP can be used to estimate the average power of a multipath channel, measured from the first signal that strikes the receiver to the last signal whose power level is above certain threshold. This threshold is chosen based on receiver design specification and is dependent on receiver sensitivity and noise floor at the receiver.

Maximum excess delay, also called maximum delay spread, denoted as (), is the relative time difference between the first signal component arriving at the receiver to the last component whose power level is above some threshold. Maximum delay spread () and the symbol time period () can be used to classify a channel into frequency selective or non-selective category. This classification can also be done using coherence bandwidth (a derived parameter from spaced frequency correlation function which in turn is the frequency domain representation of power delay profile).

Maximum excess delay is also an important parameter in mobile positioning algorithm. The accuracy of such algorithm depends on how well the maximum excess delay parameter conforms with measurement results from actual environment. When a mobile channel is modeled as a FIR filter (tapped delay line implementation), as in CODIT channel model [2], the number of taps of the FIR filter is determined by the product of maximum excess delay and the system sampling rate. The cyclic prefix in a OFDM system is typically determined by the maximum excess delay or by the RMS delay spread of that environment [3].

A channel is classified as frequency selective, if the maximum excess delay is greater than the symbol time period, i.e, . This introduces intersymbol interference into the signal that is being transmitted, thereby distorting it. This occurs since the signal components (whose powers are above either a threshold or the maximum excess delay), due to multipath, extend beyond the symbol time. Intersymbol interference can be mitigated at the receiver by an equalizer.

In a frequency selective channel, the channel output can be expressed as the convolution of input signal and the channel impulse response , plus some noise .

On the other hand, if the maximum excess delay is less than the symbol time period, i.e, , the channel is classified as frequency non-selective or zero-mean channel. Here, all the scattered signal components (whose powers are above either a specified threshold or the maximum excess delay) due to the multipath, arrive at the receiver within the symbol time. This will not introduce any ISI, but the received signal is distorted due to inherent channel effects like SNR condition. Equalizers in the receiver are not needed. A time varying non-frequency selective channel is obtained by assuming the impulse response . Thus the output of the channel can be expressed as

Therefore, for a frequency non-selective channel, the channel output can be expressed simply as product of time varying channel response and the input signal. If the channel impulse response is a deterministic constant, i.e, time invariant, then the non-frequency selective channel is expressed as follows by assuming

This is the simplest situation that can occur. In addition to that, if the noise in the above equation is white Gaussian noise, the channel is called additive white Gaussian noise (AWGN) channel.

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

References:

[1] P. A. Bello, Characterization of randomly time-variant linear channels, IEEE Trans. Comm. Syst., vol. 11, no. 4, pp. 360–393, Dec. 1963.↗
[2] Andermo, P.G and Larsson, G., Code division testbed, CODIT, Universal Personal communications, 1993. Personal Communications, Gateway to the 21st Century. Conference Record., 2nd International Conference on , vol.1, no., pp.397,401 vol.1, 12-15 Oct 1993.↗
[3] Huseyin Arslan, Cognitive Radio, Software Defined Radio, and Adaptive Wireless Systems, pp. 238, 2007, Dordrecht, Netherlands, Springer.↗

Topics in this chapter

Small-scale Models for Multipath Effects
● Introduction
● Statistical characteristics of multipath channels
 □ Mutipath channel models
 □ Scattering function
 □ Power delay profile
 □ Doppler power spectrum
 □ Classification of small-scale fading
● Rayleigh and Rice processes
 □ Probability density function of amplitude
 □ Probability density function of frequency
● Modeling frequency flat channel
Modeling frequency selective channel
 □ Method of equal distances (MED) to model specified power delay profiles
 □ Simulating a frequency selective channel using TDL model

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Multipath channel models: scattering function

Understand various characteristics of a wireless channel through multipath channel models. Discuss Wide Sense Stationary channel, uncorrelated scattering channel, wide sense stationary uncorrelated scattering channel models and scattering function.

Introduction

Wireless channel is of time-varying nature in which the parameters randomly change with respect to time. Wireless channel is very harsh when compared to AWGN channel model which is often considered for simulation and modeling. Understanding the various characteristics of a wireless channel and understanding their physical significance is of paramount importance. In these series of articles, I seek to expound various statistical characteristics of a multipath wireless channel by giving more importance to the concept than the mathematical derivation.

This article is part of the book
Wireless Communication Systems in Matlab (second edition), ISBN: 979-8648350779 available in ebook (PDF) format and Paperback (hardcopy) format.

Complex baseband mutipath channel model:

In a multipath channel, multiple copies of a signal travel different paths with different propagation delays and are received at the receiver at different phase angles and strengths. These rays add constructively or destructively at the receiver front end, thereby giving rise to rapid fluctuations in the channel. The multipath channel can be viewed as a linear time variant system where the parameters change randomly with respect to time. The channel impulse response is a two dimensional random variable – that is a function of two parameters –  instantaneous time and the propagation delay . The  channel is expressed as a set of random complex gains at a given time and the propagation delay . The output of the channel can be expressed as the convolution of the complex channel impulse response and the input

If the complex channel gains are typically drawn from a complex Gaussian distribution, then at any given time , the absolute value of the impulse response is Rayleigh distributed (if  the mean of the distribution or Rician distributed (if  the mean of the distribution . These two scenarios model the presence or absence of a Line of Sight (LOS) path between the transmitter and the receiver.

Here, the values for the channel impulse response are samples of a random process that is defined with respect to time and the multipath delay τ. That is, for each combination of and τ, a randomly drawn value is assigned for the channel impulse response. As with any other random process, we can calculate the general autocorrelation function as

Given the generic autocorrelation function above, following assumptions can be made to restrict the channel model to the following specific set of categories

  • Wide Sense Stationary channel model
  • Uncorrelated Scattering channel model
  • Wide Sense Stationary Uncorrelated Scattering channel model

Wide Sense Stationary (WSS) channel model

In this channel model, the impulse response of the channel is considered Wide Sense Stationary (WSS) , that is the channel impulse response is independent of time . In other words, the autocorrelation function  is independent of time instant \(t\) and it depends on the difference between the time instants where  and . The autocorrelation function for WSS channel model is expressed as

Uncorrelated Scattering  (US) channel model

Here, the individual scattered components arriving at the receiver front end (at different propagation delays) are assumed to be uncorrelated. Thus the autocorrelation function can be expressed as

Wide Sense Stationary Uncorrelated Scattering (WSSUS) channel model

The WSSUS channel model combines the aspects of WSS and US channel model that are discussed above. Here, the channel is considered as Wide Sense Stationary and the scattering components arriving at the receiver are assumed to be uncorrelated. Combining both the worlds, the autocorrelation function is

Scattering function

The autocorrelation function of the WSSUS channel model can be represented in frequency domain by taking Fourier transform with respect one or both variables – difference in time and the propagation delay . Of the two forms, the Fourier transform on the variable gives specific insight to channel properties  in terms of propagation delay and the Doppler Frequency simultaneously. The Fourier transform of the above two-dimensional autocorrelation function on the variable is called scattering function and is given by

Fourier transform of relative time is Doppler Frequency. Thus,  the scattering function is a function of two variables – Dopper Frequency and the propagation delay . It gives the average output power of the channel as a function of Doppler Frequency and the propagation delay .

Two important relationships can be derived from the scattering function – Power Delay Profile (PDP) and Doppler Power Spectrum. Both of them affect the performance of a given wireless channel. Power Delay Profile is a function of propagation delay and the Doppler Power Spectrum is a function of Doppler Frequency.

Power Delay Profile gives the signal intensity received over a multipath channel as a function of propagation delays. It is obtained as the spatial average of the complex baseband channel impulse response as

Power Delay Profile can also be obtained from scattering function, by integrating it over the entire frequency range (removing the dependence on Doppler frequency).

Similarly, the Doppler Power Spectrum can be obtained by integrating the scattering function over the entire range of propagation delays.

Fourier Transform of Power Delay Profile and Inverse Fourier Transform of Doppler Power Spectrum:

Power Delay Profile is a function of time which can be transformed to frequency domain by taking Fourier Transform. Fourier Transform of Power Delay Profile is called spaced-frequency correlation function. Spaced-frequency correlation function describes the spreading of a signal in frequency domain. This gives rise to the importance channel parameter – Coherence Bandwidth.

Similarly, the Doppler Power Spectrum describes the output power of the multipath channel in frequency domain. The Doppler Power Spectrum when translated to time-domain by means of inverse Fourier transform is called spaced-time correlation function. Spaced-time correlation function describes the correlation between different scattered signals received at two different times as a function of the difference in the received time. It gives rise to the concept of Coherence Time.

Next Topic : Power Delay Profile

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

For further reading

[1] L. Bernadó, T. Zemen, F. Tufvesson, A. F. Molisch and C. F. Mecklenbräuker, “The (in-) validity of the WSSUS assumption in vehicular radio channels,” 2012 IEEE 23rd International Symposium on Personal, Indoor and Mobile Radio Communications – (PIMRC), Sydney, NSW, 2012, pp. 1757-1762, doi: 10.1109/PIMRC.2012.6362634.↗

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

White Noise : Simulation and Analysis using Matlab

Definition

A random process (or signal for your visualization) with a constant power spectral density (PSD) function is a white noise process.

Power Spectral Density

Power Spectral Density function (PSD) shows how much power is contained in each of the spectral component. For example, for a sine wave of fixed frequency, the PSD plot will contain only one spectral component present at the given frequency. PSD is an even function and so the frequency components will be mirrored across the Y-axis when plotted. Thus for a sine wave of fixed frequency, the double sided plot of PSD will have two components – one at +ve frequency and another at –ve frequency of the sine wave. (Know how to plot PSD/FFT in Python & in Matlab)

Gaussian and Uniform White Noise:

A white noise signal (process) is constituted by a set of independent and identically distributed (i.i.d) random variables. In discrete sense, the white noise signal constitutes a series of samples that are independent and generated from the same probability distribution. For example, you can generate a white noise signal using a random number generator in which all the samples follow a given Gaussian distribution. This is called White Gaussian Noise (WGN) or Gaussian White Noise. Similarly, a white noise signal generated from a Uniform distribution is called Uniform White Noise.

Gaussian Noise and Uniform Noise are frequently used in system modelling. In modelling/simulation, white noise can be generated using an appropriate random generator. White Gaussian Noise can be generated using randn function in Matlab which generates random numbers that follow a Gaussian distribution. Similarly, rand function can be used to generate Uniform White Noise in Matlab that follows a uniform distribution. When the random number generators are used, it generates a series of random numbers from the given distribution. Let’s take the example of generating a White Gaussian Noise of length 10 using randn function in Matlab – with zero mean and standard deviation=1.

>> mu=0;sigma=1;
>> noise= sigma *randn(1,10)+mu
noise =   -1.5121    0.7321   -0.1621    0.4651    1.4284    1.0955   -0.5586    1.4362   -0.8026    0.0949

What is i.i.d ?

This simply generates 10 random numbers from the standard normal distribution. As we know that a white process is seen as a random process composing several random variables following the same Probability Distribution Function (PDF). The 10 random numbers above are generated from the same PDF (standard normal distribution). This condition is called “identically distributed” condition. The individual samples given above are “independent” of each other. Furthermore, each sample can be viewed as a realization of one random variable. In effect, we have generated a random process that is composed of realizations of 10 random variables. Thus, the process above is constituted from “independent identically distributed” (i.i.d) random variables.

Strictly and weakly defined white noise:

Since the white noise process is constructed from i.i.d random variable/samples, all the samples follow the same underlying probability distribution function (PDF). Thus, the Joint Probability Distribution function of the process will not change with any shift in time. This is called a stationary process. Hence, this noise is a stationary process. As with a stationary process which can be classified as Strict Sense Stationary (SSS) and Wide Sense Stationary (WSS) processes, we can have white noise that is SSS and white noise that is WSS. Correspondingly they can be called strictly defined white noise signal and weakly defined white noise signal.

What’s with Covariance Function/Matrix ?

A white noise signal, denoted by \(x(t)\), is defined in weak sense is a more practical condition. Here, the samples are statistically uncorrelated and identically distributed with some variance equal to \(\sigma^2\). This condition is specified by using a covariance function as

\[COV \left(x_i, x_j \right) = \begin{cases} \sigma^2, & \quad i = j \\ 0, & \quad i \neq j \end{cases}\]

Why do we need a covariance function? Because, we are dealing with a random process that is composed of \(n\) random variables (10 variables in the modelling example above). Such a process is viewed as multivariate random vector or multivariate random variable.

For multivariate random variables, Covariance function specified how each of the \(n\) variables in the given random process behaves with respect to each other. Covariance function generalizes the notion of variance to multiple dimensions.

The above equation when represented in the matrix form gives the covariance matrix of the white noise random process. Since the random variables in this process are statistically uncorrelated, the covariance function contains values only along the diagonal.

\[C_{xx} = \begin{bmatrix} \sigma^2 & \cdots & 0 \\ \vdots & \sigma^2 & \vdots \\ 0 & \cdots & \sigma^2\end{bmatrix} = \sigma^2 \mathbf{I} \]

The matrix above indicates that only the auto-correlation function exists for each random variable. The cross-correlation values are zero (samples/variables are statistically uncorrelated with respect to each other). The diagonal elements are equal to the variance and all other elements in the matrix are zero.The ensemble auto-correlation function of the weakly defined white noise is given by This indicates that the auto-correlation function of weakly defined white noise process is zero everywhere except at lag \(\tau=0\).

\[R_{xx}(\tau) = E \left[ x(t) x^*(t-\tau)\right] = \sigma^2 \delta (\tau)\]

Related topic: Constructing the auto-correlation matrix in Matlab

Frequency Domain Characteristics:

Wiener-Khintchine Theorem states that for Wide Sense Stationary Process (WSS), the power spectral density function \(S_{xx}(f)\) of a random process can be obtained by Fourier Transform of auto-correlation function of the random process. In continuous time domain, this is represented as

\[S_{xx}(f) = F \left[R_{xx}(\tau) \right] = \int_{-\infty}^{\infty} R_{xx} (\tau) e ^{- j 2 \pi f \tau} d \tau\]

For the weakly defined white noise process, we find that the mean is a constant and its covariance does not vary with respect to time. This is a sufficient condition for a WSS process. Thus we can apply Weiner-Khintchine Theorem. Therefore, the power spectral density of the weakly defined white noise process is constant (flat) across the entire frequency spectrum (Figure 1). The value of the constant is equal to the variance or power of the noise signal.

\[S_{xx}(f) = F \left[R_{xx}(\tau) \right] = \int_{-\infty}^{\infty} \sigma^2 \delta (\tau) e ^{- j 2 \pi f \tau} d \tau = \sigma^2 \int_{-\infty}^{\infty} \delta (\tau) e ^{- j 2 \pi f \tau} = \sigma^2\]
Figure 1: Weiner-Khintchine theorem illustrated

Testing the characteristics of White Gaussian Noise in Matlab:

Generate a Gaussian white noise signal of length \(L=100,000\) using the randn function in Matlab and plot it. Let’s assume that the pdf is a Gaussian pdf with mean \(\mu=0\) and standard deviation \(\sigma=2\). Thus the variance of the Gaussian pdf is \(\sigma^2=4\). The theoretical PDF of Gaussian random variable is given by

\[f_X(x) = \frac{1}{\sigma \sqrt{2 \pi}} \cdot exp \left[ – \frac{\left( x – \mu\right)^2}{2 \sigma^2} \right] \]

More simulation techniques available in the following ebooks
Digital Modulations using Matlab
Digital Modulations using Python
Wireless Communication systems in Matlab

clear all; clc; close all;
L=100000; %Sample length for the random signal
mu=0;
sigma=2;
X=sigma*randn(L,1)+mu;

figure();
subplot(2,1,1)
plot(X);
title(['White noise : \mu_x=',num2str(mu),' \sigma^2=',num2str(sigma^2)])
xlabel('Samples')
ylabel('Sample Values')
grid on;
Figure 2: Simulated noise samples

Plot the histogram of the generated noise signal and verify the histogram by plotting against the theoretical pdf of the Gaussian random variable.

If you are inclined towards programming in Python, go here to know about plotting histogram using Matplotlib package.

subplot(2,1,2)
n=100; %number of Histrogram bins
[f,x]=hist(X,n);
bar(x,f/trapz(x,f)); hold on;
%Theoretical PDF of Gaussian Random Variable
g=(1/(sqrt(2*pi)*sigma))*exp(-((x-mu).^2)/(2*sigma^2));
plot(x,g);hold off; grid on;
title('Theoretical PDF and Simulated Histogram of White Gaussian Noise');
legend('Histogram','Theoretical PDF');
xlabel('Bins');
ylabel('PDF f_x(x)');
Figure 3: Plot of simulated & theoretical PDF for Gaussian RV

Compute the auto-correlation function of the white noise. The computed auto-correlation function has to be scaled properly. If the ‘xcorr’ function (inbuilt in Matlab) is used for computing the auto-correlation function, use the ‘biased’ argument in the function to scale it properly.

figure();
Rxx=1/L*conv(flipud(X),X);
lags=(-L+1):1:(L-1);

%Alternative method
%[Rxx,lags] =xcorr(X,'biased'); 
%The argument 'biased' is used for proper scaling by 1/L
%Normalize auto-correlation with sample length for proper scaling

plot(lags,Rxx); 
title('Auto-correlation Function of white noise');
xlabel('Lags')
ylabel('Correlation')
grid on;
Figure 4: Autocorrelation function of generated noise

Simulating the PSD:

Simulating the Power Spectral Density (PSD) of the white noise is a little tricky business. There are two issues here 1) The generated samples are of finite length. This is synonymous to applying truncating an infinite series of random samples. This implies that the lags are defined over a fixed range. ( FFT and spectral leakage – an additional resource on this topic can be found here) 2) The random number generators used in simulations are pseudo-random generators. Due these two reasons, you will not get a flat spectrum of psd when you apply Fourier Transform over the generated auto-correlation values.The wavering effect of the psd can be minimized by generating sufficiently long random signal and averaging the psd over several realizations of the random signal.

Simulating Gaussian White Noise as a Multivariate Gaussian Random Vector:

To verify the power spectral density of the white noise, we will use the approach of envisaging the noise as a composite of \(N\) Gaussian random variables. We want to average the PSD over \(L\) such realizations. Since there are \(N\) Gaussian random variables (\(N\) individual samples) per realization, the covariance matrix \( C_{xx}\) will be of dimension \(N \times N\). The vector of mean for this multivariate case will be of dimension \(1 \times N\).

Cholesky decomposition of covariance matrix gives the equivalent standard deviation for the multivariate case. Cholesky decomposition can be viewed as square root operation. Matlab’s randn function is used here to generate the multi-dimensional Gaussian random process with the given mean matrix and covariance matrix.

%Verifying the constant PSD of White Gaussian Noise Process
%with arbitrary mean and standard deviation sigma

mu=0; %Mean of each realization of Noise Process
sigma=2; %Sigma of each realization of Noise Process

L = 1000; %Number of Random Signal realizations to average
N = 1024; %Sample length for each realization set as power of 2 for FFT

%Generating the Random Process - White Gaussian Noise process
MU=mu*ones(1,N); %Vector of mean for all realizations
Cxx=(sigma^2)*diag(ones(N,1)); %Covariance Matrix for the Random Process
R = chol(Cxx); %Cholesky of Covariance Matrix
%Generating a Multivariate Gaussian Distribution with given mean vector and
%Covariance Matrix Cxx
z = repmat(MU,L,1) + randn(L,N)*R;

Compute PSD of the above generated multi-dimensional process and average it to get a smooth plot.

%By default, FFT is done across each column - Normal command fft(z)
%Finding the FFT of the Multivariate Distribution across each row
%Command - fft(z,[],2)
Z = 1/sqrt(N)*fft(z,[],2); %Scaling by sqrt(N);
Pzavg = mean(Z.*conj(Z));%Computing the mean power from fft

normFreq=[-N/2:N/2-1]/N;
Pzavg=fftshift(Pzavg); %Shift zero-frequency component to center of spectrum
plot(normFreq,10*log10(Pzavg),'r');
axis([-0.5 0.5 0 10]); grid on;
ylabel('Power Spectral Density (dB/Hz)');
xlabel('Normalized Frequency');
title('Power spectral density of white noise');
Figure 5: Power spectral density of generated noise

The PSD plot of the generated noise shows almost fixed power in all the frequencies. In other words, for a white noise signal, the PSD is constant (flat) across all the frequencies (\(- \infty\) to \(+\infty\)). The y-axis in the above plot is expressed in dB/Hz unit. We can see from the plot that the \(constant \; power = 10 log_{10}(\sigma^2) = 10 log_{10}(4) = 6\; dB\).

Application

In channel modeling, we often come across additive white Gaussian noise (AWGN) channel. To know more about the channel model and its simulation, continue reading this article: Simulate AWGN channel in Matlab & Python.

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

References:

[1] Robert Grover Brown, Introduction to Random Signal Analysis and Kalman Filtering. John Wiley and Sons, 1983.↗
[2] Athanasios Papoulis, Probability, Random Variables, and Stochastic Processes, 3rd ed. WCB/McGraw-Hill, 1991.↗

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Symbol Timing Recovery for QPSK (digital modulations)

The goal of timing recovery is to estimate and correct the sampling instants and phase at the receiver, such that it allows the receiver to decode the transmitted symbols reliably.

What is Symbol timing Recovery :

When transmitting data across a communication system, three things are important: frequency of transmission, phase information and the symbol rate.

In coherent detection/demodulation, both the transmitter and receiver posses the knowledge of exact symbol sampling timing and symbol phase (and/or symbol frequency). While everything is set at the transmitter, the receiver is at the mercy of recovery algorithms to regenerate these information from the incoming signal itself. If the transmission is a passband transmission, the carrier recovery algorithm also recovers the carrier frequency. For phase sensitive systems like BPSK, QPSK etc.., the carrier recovery algorithm recovers the symbol phase so that it is synchronous with the transmitted symbol.

The first part in such a receiver architecture of a MPSK transmitting system is multiplying the incoming signal with sine and cosine components of the carrier wave.

The sine and cosine components are generated using a carrier recovery block (Phase Lock Loop (PLL) or setting a local oscillator to track the variations).

Once the in-phase and quadrature signals are separated out properly, the next task is to match each symbol with the transmitted pulse shape such that the overall SNR of the system improves.

Implementing this in digital domain, the architecture described so far would look like this (Note: the subscript of the incoming signal has changed from analog domain to digital domain – i.e. to )

In the digital architecture above, the matched filter is implemented as a simple finite impulse response (FIR) filter whose impulse response is matched to that of the transmitter pulse shape. It helps the receiver in timing recovery and also it improves the overall SNR of the system by suppressing some amount of noise. The incoming signal up to the point before the matched filter, may have fluctuations in the amplitude. The matched filter also behaves like an averaging filter that smooths out the variations in the signal.

Note that in this digital version, the incoming signal is already a sampled signal. It has already passed through an analog to digital converter that sampled the signal at some sampling rate. From the symbol perspective, the symbols have to be sampled at optimum sampling instant to extract its content properly.

This requires a re-sampler, which resamples the averaged signal at the optimum sampling instant. If the original sampling instant is before or after the optimum sampling point, the timing recovery signal will help to re-sample (re-adjust sampling times) accordingly.

Let’s take a simple BPSK transmitter for illustration. This would be equivalent to any of the single arms (in-phase and quadrature phase arms) of a QPSK transmitter or receiver.

An alternate data pattern (symbols) – [+1,-1,+1,+1,\cdots,] is transmitted across the channel. Assume that each symbol occupies Tsym=8 sample time.

clear all; clc;
n=10; %Number of data symbols
Tsym=8; %Symbol time interms of sample time or oversampling rate equivalently
%data=2*(rand(n,1)<0.5)-1;
data=[1 -1 1 -1 1 -1 1 -1 1 -1]'; %BPSK data
bpsk=reshape(repmat(data,1,Tsym)',n*Tsym,1); %BPSK signal

figure('Color',[1 1 1]);
subplot(3,1,1);
plot(bpsk);
title('Ideal BPSK symbols');
xlabel('Sample index [n]');
ylabel('Amplitude')
set(gca,'XTick',0:8:80);
axis([1 80 -2 2]); grid on;

Lets add white gaussian noise (awgn). A random noise of standard deviation 0.25 is generated and added with the generated BPSK symbols.

noise=0.25*randn(size(bpsk)); %Adding some amount of noise
received=bpsk+noise; %Received signal with noise

subplot(3,1,2);
plot(received);
title('Transmitted BPSK symbols (with noise)');
xlabel('Sample index [n]');
ylabel('Amplitude')
set(gca,'XTick',0:8:80);
axis([1 80 -2 2]); grid on;

From the first plot, we see that the transmitted pulse is a rectangular pulse that spans Tsym samples. In the illustration, Tsym=8. The best averaging filter (matched filter) for this case is a rectangular filter (though they are not preferred in practice, I am just using it for simplifying the illustration) that spans 8 samples. Such a rectangular pulse can be mathematically represented in terms of unit step function as

(Another type of averaging filter – “Moving Average Filter” is implemented here)

The resulting rectangular pulse will have a value of 0.5 at the edges of the sampling instants (index 0 and 7) and a value of ‘1’ at the remaining indices in between the edges. Such a rectangular function is indicated below.

The incoming signal is convolved with the averaging filter and the resultant output is given below

impRes=[0.5 ones(1,6) 0.5]; %Averaging Filter -> u[n]-u[n-Tsamp]
yy=conv(received,impRes,'full');
subplot(3,1,3);
plot(yy);
title('Matched Filter (Averaging Filter) output');
xlabel('Sample index [n]');
ylabel('Amplitude');

set(gca,'XTick',0:8:80);
axis([1 80 -10 10]); grid on;

We can note that the averaged output peaks at the locations where the symbol transition occurs. Thus, when the signal is sampled at those ideal locations, the BPSK symbols [+1,-1,+1, …] can be recovered perfectly.

In practice, a square root raised cosine (SRRC) filter is used both at the transmitter and the receiver (as a matched filter) to mitigate inter-symbol interference. An implementation of SRRC filter in Matlab is given here

But the problem here is: “How does the receiver know the ideal sampling instants?”. The solution is “someone has to supply those ideal sampling instants”. A symbol time recovery circuit is used for this purpose.

Coming back to the receiver architecture, lets add a symbol time recovery circuit that supplies the recovered timing instants. The signal will be re-sampled at those instants supplied by the recovery circuit.

The Algorithm behind Symbol Timing Recovery:

Different algorithms exist for symbol timing recovery and synchronization. An “Early/Late Symbol Recovery algorithm” is illustrated here.

The algorithm starts by selecting an arbitrary sample at some time (denoted by T). It captures the two adjacent samples (on either side of the sampling instant T) that are separated by δ seconds. The sample at the index T-δ is called Early Sample and the sample at the index T+δ is called Late Sample. The timing error is generated by comparing the amplitudes of the early and late samples. The next symbol sampling time instant is either advanced or delayed based on the sign of difference between the early and late sample.

1) If the Early Sample = Late Sample : The peak occurs at the on-time sampling instant T. No adjustment in the timing is needed.
2) If |Early Sample| > |Late Sample| : Late timing, the sampling time is offset so that the next symbol is sampled T-δ/2 seconds after the current sampling time.
3) If |Early Sample| < |Late Sample| : Early timing, the sampling time is offset so that the next symbol is sampled T+δ/2 seconds after the current sampling time.

These three situations are shown next.

There exist many variations to the above mentioned algorithm. The Early/Late synchronization technique given here is the simplest one taken for illustration.

Let’s complete the architecture with a signal quantization and constellation de-mapping block which gives out the estimated demodulated symbols.

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

For Further Reading:

[1] Technique for implementing an Early-Late Gate Synchronization structure for DPSK.↗
[2] Ying Li et al,”Hardware Implementation of Symbol Synchronization for Underwater FSK”, IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC), p 82 – 88, 2010.↗
[3] Heinrich Meyr & Gerd Ascheid,”Digital Communication Receivers: Synchronization in Digital Communication Volume I, Phase-, Frequency-Locked Loops, and Amplitude Control (Wiley and Signal Processing)”,John Wiley & Sons; Volume 1 edition (March 1990),ISBN-13: 978-0471501930.↗
[4] Umberto Mengali,”Synchronization Techniques for Digital Receivers (Applications of Communications Theory)”,Springer; 1997 edition (October 31, 1997),ISBN-13: 978-0306457258.↗

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Log Distance Path Loss or Log Normal Shadowing Model

Log distance path loss model

Log distance path loss model is an extension to the Friis free space model. It is used to predict the propagation loss for a wide range of environments, whereas, the Friis free space model is restricted to unobstructed clear path between the transmitter and the receiver. The model encompasses random shadowing effects due to signal blockage by hills, trees, buildings etc. It is also referred as log normal shadowing model.

Figure 1: Simulated results for log distance path loss model

In the far field region of the transmitter, for distances beyond , if is the path loss at a distance meters from the transmitter, then the path loss at an arbitrary distance is given by

where, is the path loss at an arbitrary distance meters, is the path loss exponent that depends on the type of environment, as given in Table below. Also, is a zero-mean Gaussian distributed random variable with standard deviation expressed in , used only when there is a shadowing effect. The reference path loss , also called close-in reference distance, is obtained by using Friis path loss equation (equation 2 in this post) or by field measurements at . Typically, to for microcell and for a large cell.

This article is part of the book
Wireless Communication Systems in Matlab (second edition), ISBN: 979-8648350779 available in ebook (PDF) format and Paperback (hardcopy) format.

The path-loss exponent (PLE) values given in Table below are for reference only. They may or may not fit the actual environment we are trying to model. Usually, PLE is considered to be known a-priori, but mostly that is not the case. Care must be taken to estimate the PLE for the given environment before design and modeling. PLE is estimated by equating the observed (empirical) values over several time instants, to the established theoretical values. Refer [1] for a literature on PLE estimation in large wireless networks.

logNormalShadowing.m: Function to model Log-normal shadowing (Refer the book for the Matlab code – click here)

The function to implement log-normal shadowing is given above and the test code is given next. Figure 1 shows the received signal when there is no shadowing effect and the case where shadowing exists. The r

The function to implement log-normal shadowing is given above and the test code is given next. Figure 1 above shows the received signal power when there is no shadowing effect and the case when shadowing exists. The results are generated for an environment with PLE n = 2, frequency of transmission f = 2.4 GHz, reference distance d0 = 1 m and standard deviation of the log-normal shadowing σ = 2dB. Results clearly show that the log-normal shadowing introduces randomness in the received signal power, which may put us close to reality.

log_distance_model_test.m: Simulate Log Normal Shadowing for a range of distances

Pt_dBm=0; %Input transmitted power in dBm
Gt_dBi=1; %Gain of the Transmitted antenna in dBi
Gr_dBi=1; %Gain of the Receiver antenna in dBi
f=2.4e9; %Transmitted signal frequency in Hertz
d0=1; %assume reference distance = 1m
d=100*(1:0.2:100); %Array of distances to simulate
L=1; %Other System Losses, No Loss case L=1
sigma=2;%Standard deviation of log Normal distribution (in dB)
n=2; % path loss exponent
%Log normal shadowing (with shadowing effect)
[PL_shadow,Pr_shadow] = logNormalShadowing(Pt_dBm,Gt_dBi,Gr_dBi,f,d0,d,L,sigma,n);
figure;plot(d,Pr_shadow,'b');hold on;
%Friis transmission (no shadowing effect)
[Pr_Friss,PL_Friss] = FriisModel(Pt_dBm,Gt_dBi,Gr_dBi,f,d,L,n);
plot(d,Pr_Friss,'r');grid on;
xlabel('Distance (m)'); ylabel('P_r (dBm)');
title('Log Normal Shadowing Model');legend('Log normal shadowing','Friss model');

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

References

[1] Srinivasan, S.; Haenggi, M., Path loss exponent estimation in large wireless networks, Information Theory and Applications Workshop, pp. 124 – 129, Feb 2009.↗

Topic in this chapter

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Friis Free Space Propagation Model

Friis free space propagation model is used to model the line-of-sight (LOS) path loss incurred in a free space environment, devoid of any objects that create absorption, diffraction, reflections, or any other characteristic-altering phenomenon to a radiated wave. It is valid only in the far field region of the transmitting antenna [1] and is based on the inverse square law of distance which states that the received power at a particular distance from the transmitter decays by a factor of square of the distance.

Figure 1: Received power using Friis model for WiFi transmission at f=2.4 GHz and f=5 GHz

The Friis equation for received power is given by

where, Pr is the received signal power in Watts expressed as a function of separation distance (d meters) between the transmitter and the receiver, Pt is the power of the transmitted signal’s Watts, Gt and Gr are the gains of transmitter and receiver antennas when compared to an isotropic radiator with unit gain, λ is the wavelength of carrier in meters and L represents other losses that is not associated with the propagation loss. The parameter L may include system losses like loss at the antenna, transmission line attenuation, loss at various filters etc. The factor L is usually greater than or equal to 1 with L=1 for no such system losses.

This article is part of the book
Wireless Communication Systems in Matlab (second edition), ISBN: 979-8648350779 available in ebook (PDF) format and Paperback (hardcopy) format.

The Friis equation can be modified to accommodate different environments, on the reason that the received signal decreases as the nth power of distance, where the parameter n is the path-loss exponent (PLE) that takes constant values depending on the environment that is modeled (see Table below} for various empirical values for PLE).

The propagation path loss in free space, denoted as PL, is the loss incurred by the transmitted signal during propagation. It is expressed as the signal loss between the feed points of two isotropic antennas in free space.

The propagation of an electromagnetic signal, through free space, is unaffected by its frequency of transmission and hence has no dependency on the wavelength λ. However, the variable λ exists in the path loss equation to account for the effective aperture of the receiving antenna, which is an indicator of the antenna’s ability to collect power. If the link between the transmitting and receiving antenna is something other than the free space, penetration/absorption losses are also considered in path loss calculation. Material penetrations are fairly dependent on frequency. Incorporation of penetration losses require detailed analysis.

Usually, the transmitted power and the receiver power are specified in terms of dBm (power in decibels with respect to 1 mW) and the antenna gains in dBi (gain in decibels with respect to an isotropic antenna). Therefore, it is often convenient to work in log scale instead of linear scale. The alternative form of Friis equation in log scale is given by

Following function, implements a generic Friis equation that includes the path loss exponent, , whose possible values are listed in Table 1.

FriisModel.m: Function implementing Friis propagation model (Refer the book for the Matlab code – click here)

For example, consider a WiFi (IEEE 802.11n standard↗) transmission-reception system operating at f =2.4 GHz or f =5 GHz band with 0 dBm (1 mW) output power from the transmitter. The gain of the transmitter antenna is 1 dBi and that of receiving antenna is 1 dBi. It is assumed that there is no system loss, therefore L = 1. The following Matlab code uses the Friis equation and plots the received power in dBm for a range of distances (Figure 1 shown above). From the plot, the received power decreases by a factor of 6 dB for every doubling of the distance.

Friis_model_test.m: Friis free space propagation model

%Matlab code to simulate Friis Free space equation
%-----------Input section------------------------
Pt_dBm=52; %Input - Transmitted power in dBm
Gt_dBi=25; %Gain of the Transmitted antenna in dBi
Gr_dBi=15; %Gain of the Receiver antenna in dBi
f=110ˆ9; %Transmitted signal frequency in Hertz d =41935000(1:1:200) ; %Array of input distances in meters
L=1; %Other System Losses, No Loss case L=1
n=2; %Path loss exponent for Free space
%----------------------------------------------------
[PL,Pr_dBm] = FriisModel(Pt_dBm,Gt_dBi,Gr_dBi,f,d,L,n);
plot(log10(d),Pr_dBm); title('Friis Path loss model');
xlabel('log10(d)'); ylabel('P_r (dBm)')

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

References

[1] Allen C. Newell, Near Field Antenna Measurement Theory, Planar, Cylindrical and Spherical, Nearfield Systems Inc.↗

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Topics in this chapter

Wireless channel models – an Introduction

The medium between the transmitting antenna and the receiving antenna is generally termed as “channel”. In wireless transmission, the characteristics of the signal changes as it travels from the transmitter to the receiver. The signal characteristics are due to several phenomena: 1) existence of line of sight path between the antennas, 2) reflection, refraction and diffraction of the signal due to the objects in between the antennas, 3) The relative motion between the transmitter and receiver and the objects in between them, 4) The signal attenuation as it travels through the medium, 5) Noise The received signal can be obtained from the transmitter signal if we can accurately model the channel in between the antennas. It is quite difficult to model the real world environments using wireless channel models. Scientists and engineers have studied various environments and provide us with a way to model the various medium that approximate the real world environments.

Consider a channel with impulse response h(t) between the transmitter and receiver antenna. In addition to the channel impulse response, the transmitted signal x(t) is also corrupted by the additive noise component n(t). The received signal y(t) is obtained by the convolution of h(t) and x(t) added with the noise component n(t).

Components of channel response:

Consider a transmitter (Base station) and receiver (mobile) in a city environment. The medium between the transmitter and receiver are obstructed by several building, trees and other objects. The receiver keeps moving away from the transmitter. We measure the signal power at the receiver as we move away from the receiver. The ratio of received signal power to the transmitted signal power is plotted against the distance and we obtain a graph as shown in the left hand side plot below.

Figure 1: Components of response of a wireless channel

At first the signal appears very random. Upon closer look we can break it down into three main components as shown in the right half of the plot [Goldsmith2005].

1) Propagation Path Loss
2) Shadowing or slow fading
3) Multipath fading

Propagation Path Loss:

Path loss modeling is used to model following scenarios:

* Predict the signal loss between the transmitter and the receiver when a clear unobstructed path exist between them.

*Used to model the attenuation effect by various environments as the receiver and transmitted are separated by a distance.

The clear unobstructed path between the transmitter and the receiver is called Line Of Sight (LOS) path.

The most important modeling methods available for path loss modelling are
* Friis Free Space Propagation Model – models path loss
* Log Distance Path Loss or Log Normal Shadowing Model – models both path loss and shadowing
* Empirical models:
* Hata – Okumura Model
* COST 231 Extension to Hata Model
* COST 231-Walfish-Ikegami Model
* Erceg Model
* Stanford University Interim (SUI) Channel Models
* ITU Path Loss Models

I have discussed in detail some of the propagation models in these articles. Do check them out.

Shadowing :

If the environment contains objects like building and trees, some part of the transmitted signal gets affected by absorption, reflection, diffraction and scattering. This effect is called shadowing. It is also referred as slow fading or long-term fading.

Multipath fading:

A signal traveling in an environment may get reflected by several objects on the path. This gives rise to several reflected signals. The reflected signals arrive at the receiver at different time instants and with different intensities leading to multipath propagation. Depending on the phase of the each individual reflected signal, the received signal power may increase or decrease. A small variation in the phase of the each reflected signal from each multipath may lead to significant difference in the total received power. This phenomena is also referred as fast fading or short-term fading.

Figure 2: Illustrating manifestation of multipath propagation

The multiple reflected copies of the transmitted signal arrive at the receiver at different time instants and at different power levels. This characteristic of the multipath phenomena is described by Power Delay Profile (PDP) as shown below. Power Delay profile gives a list of different time delays of each multipath (time delays are due to different length of the each individual reflected path) and the associated power levels.

This article discusses power delay profile in details.

Figure 3: A typical discrete power delay profile plot for a multipath channel with 3 paths

The maximum delay for which the received power level becomes negligible is called maximum delay spread τmax. Sometimes Root-Mean-Square value τrms is used instead of the maximum value.

This article discusses power delay profile in details.

Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.

Reference

[Goldsmith2005] Andrea Goldsmith, “Wireless Communications,” Cambridge University Press, 2005,644 pp.↗

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Eb/N0 Vs BER for BPSK over Rayleigh Channel and AWGN Channel

The phenomenon of Rayleigh Flat fading and its simulation using Clarke’s model and Young’s model were discussed in the previous posts. The performance (Eb/N0 Vs BER) of BPSK modulation (with coherent detection) over Rayleigh Fading channel and its comparison over AWGN channel is discussed in this post.

This article is part of the following books
Digital Modulations using Matlab : Build Simulation Models from Scratch, ISBN: 978-1521493885
Digital Modulations using Python ISBN: 978-1712321638
Wireless communication systems in Matlab ISBN: 979-8648350779
All books available in ebook (PDF) and Paperback formats

We first investigate the non-coherent detection of BPSK over Rayleigh Fading channel and then we move on to the coherent detection. For both the cases, we consider a simple flat fading Rayleigh channel (modeled as a – single tap filter – with complex impulse response – h). The channel also adds AWGN noise to the signal samples after it suffers from Rayleigh Fading.

The received signal y can be represented as

$$ y=hx+n $$

where n is the noise contributed by AWGN which is Gaussian distributed with zero mean and unit variance and h is the Rayleigh Fading response with zero mean and unit variance. (For a simple AWGN channel without Rayleigh Fading the received signal is represented as y=x+n).

Non-Coherent Detection:

In non-coherent detection, prior knowledge of the channel impulse response (“h” in this case) is not known at the receiver. Consider the BPSK signaling scheme with ‘x=+/- a’ being transmitted over such a channel as described above. This signaling scheme fails completely (in non coherent detection scheme), even in the absence of noise, since the phase of the received signal y is uniformly distributed between 0 and 2pi regardless of whether x[m]=+a or x[m]=-a is transmitted. So the non coherent detection of the BPSK signaling is not a suitable method of detection especially in a Fading environment.

Coherent Detection:

In coherent detection, the receiver has sufficient knowledge about the channel impulse response.Techniques like pilot transmissions are used to estimate the channel impulse response at the receiver, before the actual data transmission could begin. Lets consider that the channel impulse response estimate at receiver is known and is perfect & accurate.The transmitted symbols (‘x’) can be obtained from the received signal (‘y’) by the process of equalization as given below.

$$ \hat{y}=\frac{y}{h}=\frac{hx+n}{h}=x+z $$

here z is still an AWGN noise except for the scaling factor 1/h. Now the detection of x can be performed in a manner similar to the detection in AWGN channels.

The input binary bits to the BPSK modulation system are detected as

$$ \begin{matrix} r=real(\hat{y})=real(x+z) \\ \; \; \hat{d} =1, \; \; if \;r> 0 \\ \; \; \hat{d}=0 , \; \; if \; r< 0 \end{matrix} $$

Theoretical BER:

The theoretical BER for BPSK modulation scheme over Rayleigh fading channel (with AWGN noise) is given by

$$ P_{b} =\frac{1}{2} \left ( 1-\sqrt{\frac{E_{b}/N_{0}}{1+E_{b}/N_{0}}}\right) $$

The theoretical BER for BPSK modulation scheme over an AWGN channel is given here for comparison

$$ P_{b}=\frac{1}{2}erfc(\sqrt{E_{b}/N_{0}}) $$

Simulation Model:

The following model is used for the simulation of BPSK over Rayleigh Fading channel and its comparison with AWGN channel

BPSK Modulation over Rayleigh and AWGN channel

Matlab Code:

Check these books for matlab code

This article is part of the following books
Digital Modulations using Matlab : Build Simulation Models from Scratch, ISBN: 978-1521493885
Digital Modulations using Python ISBN: 978-1712321638
Wireless communication systems in Matlab ISBN: 979-8648350779
All books available in ebook (PDF) and Paperback formats

Simulation Results:

The Simulated and theoretical performance curves (Eb/N0 Vs BER) for BPSK modulation over Rayleigh Fading channel and the AWGN is given below.

Eb/N0 Vs BER for BPSK over Rayleigh and AWGN Channel

See also

[1]Eb/N0 Vs BER for BPSK over Rician Fading Channel
[2]Simulation of Rayleigh Fading ( Clarke’s Model – sum of sinusoids method)
[3]Performance comparison of Digital Modulation techniques
[4]BER Vs Eb/N0 for BPSK modulation over AWGN
[5]Rayleigh Fading Simulation – Young’s model
[6]Introduction to Fading Channels

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.
Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

Note: There is a rating embedded within this post, please visit this post to rate it.
Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

External Resources

[1]Theoretical expressions for BER under various conditions
[2]Capacity of MRC on correlated Rician Fading Channels