Eb/N0 Vs BER for BPSK over Rician Fading Channel

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 3.00 out of 5)

This post is a part of the ebook : Simulation of digital communication systems using Matlab – available in both PDF and EPUB format.
In one of the previous article, simulation of BPSK over Rayleigh Fading channel was discussed. This article deals with simulation of another important fading type : Rician Fading.

Rayleigh Fading:

Rayleigh Fading model is used to simulate environments that has multiple scatterers and no Line Of Sight (LOS) path. If there are sufficient multiple scatterers in the environment, all the reflected signals that appear at the receiver front end becomes uncorrelated in amplitude (this brings mean =0) and phase evenly distributed between 0 to 2π. Eventually the I (inphase) and Q (quadrature) phase components become Gaussian distributed (by central limit theorem) and their envelope \(Z = \sqrt{I^{2} + Q^{2}} \) becomes Rayleigh distributed.
Note that distribution I2 is called Chi-Square distribution. If I2 has mean=0, then it is called central-Chi-square distribution and if mean ≠ 0 it is called non-central-Chi-square distribution

Rayleigh Distribution:

Consider two Gaussian random variables X and Y with zero mean and equal variance σ2. Then the transformation \( Z = \sqrt{X^{2} + Y^{2}} \) is Rayleigh Distributed and Z2 is exponentially distributed.

Rician Fading:

Rician Fading model is used to simulate environments that produces multiplath components and also a dominant Line Of Sight (LOS) component. The LOS component is called “specular” component and the multipath component is called “random or scatter” component. The amplitude distribution of the specular component will have non-zero mean, where as, the random component will have zero-mean.

Rician Distribution:

Consider two Gaussian random variables X and Y. Here X models the specular component (LOS) and Y models the random/scatter component.By definition, X has non-zero mean (m), Y has zero mean and both have equal variance \(\sigma^2\). Then the transformation, \(Z = \sqrt{X^{2} + Y^{2}}\) is Rician Distributed.

The ratio of power of specular component to the power of random component is called Rician \(\kappa\) factor and it is defined as

$$ \kappa= \frac{m^2}{2 \sigma^{2}} $$

It can be immediately ascertained that Rayleigh Fading is related to central Chi Square distribution (due to zero mean) and the Rician Fading is related to non-central Chi Square distribution (due to non zero mean).

Performance simulation of BPSK over Rician Fading Channel with AWGN noise:

The simulation strategy is very similar to the technique used for simulating Rayleigh Fading. The only difference here is that in Rician Fading, \(\kappa\) factor is one of inputs that defines the relative strength of LOS component and the multiplath scattered component.

To simulate a Rician Fading channel, mean and sigma has to be calculated with the given Rician\(\kappa\) factor.

Lets define mean (\(m\) ) and sigma (\(\sigma\)) as given below, so that it satisfies the equation given above.

$$ m = \sqrt{\frac{\kappa }{(\kappa +1)}} $$

$$ \sigma = \sqrt{\frac{1}{2*(\kappa +1)}} $$

As discussed above, in Rician Fading, the specular component (\(X\)) has to be a Gaussian random variable with mean=\(m\) and sigma=\(\sigma\), but the scatter component (\(Y\)) has to be generated with mean=0 and sigma=\(\sigma\).

In Matlab randn function generates Gaussian random numbers with mean=0 and sigma = 1. To generate \(X\) component with mean=\(m\) and sigma=\(\sigma\), the output of randn has to be multiplied with \(\sigma\) and added with m. To generate \(Y\) component with sigma=σ, the output of the randn function has to be multiplied with σ. The rest of the simulation code is similar to that of BPSK over Rayleigh/AWGN channel simulation.

Theoretical BER :

Theoretical BER for BPSK over Rician Fading Channel with AWGN noise is given by the following expression[1]

$$P_b = \frac{1}{2} erfc \left[ \sqrt{ \frac{ \kappa \left( E_b/N_0 \right) }{ \left( \kappa + E_b/N_0 \right) } } \right] $$

Simulation Model:

The following model is used for the simulation of BPSK over Rician Fading channel (with AWGN noise).

Rician Fading Simulation Model
Rician Fading Simulation Model

Matlab Code:

Check this book for full Matlab code.
Simulation of Digital Communication Systems Using Matlab – by Mathuranathan Viswanathan

Simulated Result

Eb/N0 Vs BER for BPSK over Rician Fading Channel with AWGN noise
Eb/N0 Vs BER for BPSK over Rician Fading Channel with AWGN noise


[1] Willian C. Linsey, “Error probabilities for Rician Fading Multichannel reception of binary and N-ary signals”, Technical report No – 32-450, NASA-JPL document.

See also

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

Recommended Books

More Recommended Books at our Integrated Book Store

  • Pingback: Fading channels – Rayleigh Fading | GaussianWaves()

  • Pingback: Channel Capacity | GaussianWaves()

  • Pingback: Channel Coding | GaussianWaves()

  • Wirless Communication Student

    I want to ask you, how do you choose variance of the channel, on what basis?

    • Mathuranathan

      The variance of the Rician fading channel is chosen based on the required ‘K’ factor. The corresponding equation is reproduced here for convenience. The following equation is used to calculate standard deviation $latex \sigma &s=1&fg=0000A0$, from which the variance can be calculated as $latex \sigma^2&s=1&fg=0000A0$
      $latex \sigma = \sqrt{\frac{1}{2*(\kappa +1)}} &s=3&fg=0000A0$

  • Wirless Communication Student

    I saw your codes and sometimes you have chosen the variance= 0.2 or 0.5 or 1. I still cant decide when I m using a Rayleigh channel how should I number variance for my system?

    • Mathuranathan

      The examples given in the post (http://www.gaussianwaves.com/2012/07/ebn0-vs-ber-for-bpsk-over-rician-fading-channel) is used to plot the pdf (probability density function). For this purpose I varied the variance.

      If you would like to simulate a communication system with Rayleigh Fading channel and want to plot BER/performance curves you do not need to vary the variance for Rayleigh Fading channel. The mean can be kept to be m=0 and variance can be kept to be 1.
      Generate the Rayleigh Channel as combination two Gaussian Process and add a properly scaled noise part (see post here: http://www.gaussianwaves.com/2011/05/ebn0-vs-ber-for-bpsk-over-rayleigh-channel-and-awgn-channel-2/). The required variation in the variance will be given by the noise part.

      If you would like to incorporate Clarke or Young’s model in your simulation system, you do not need to worry about the variance at all. For Clarke’s model you have specify just these parameters (M = number of multipaths in the channel ,N = number of samples to generate,fd = maximum Doppler frequency and Ts = sampling period ). The required variance will be internally generated.

      For Young’s model Number of sample points (N),Maximum Doppler Frequency Shift(Fm) and Sampling Frequency (Fs). The variance will be appropriately generated by the model itself.

      • Wirless Communication Student

        Thanks alot, that makes it clear:)

  • Abdur Rahim

    I have a question about definition of k factor. k should be the ratio of the power of LOS component to the power of NLOS component.In the equation of k, the LOS component should be m^2. Also in the matlab code, the expression of the channel should be divided by sqrt(2).What do you think?

    • Mathuranathan

      Hi Abdur Rahim,
      You are right that the Rician ‘K’ factor is the ratio of LOS component and NLOS component.
      Rician fading can be generated using more than one method.

      What I described in this post , is a method using random process. Here the statistical properties of LOS and NLOS components are exploited to generate Rician Fading.

      An alternate method that can be used to generate Rician Fading is given below:
      1) The Rician K factor is given by (K in linear Scale)
      $latex \kappa = \frac{ \text{ Power of LOS component}}{ \text{Power of NLOS component} } $
      $latex \kappa = \frac{P_{LOS}}{P_{NLOS}} $

      2) The power of LOS and NLOS component should satisfy the following relationship
      $latex P_{LOS} + P_{NLOS} = 1$

      3) Let $latex H_{LOS} $ be the channel response due to LOS component and $latex H_{NLOS} $ be the channel response due to NLOS component. The LOS and NLOS channel responses can be constructed using the following Matlab Code

      H_LOS = ones(1,N);
      H_NLOS = 1/sqrt(2)*( randn(1,N) + j*randn(1,N) );

      4)Then the overall channel response can be generated by
      $latex H = \sqrt{\frac{ 1 }{ \kappa + 1}}H_{NLOS} + \sqrt{\frac{ \kappa }{ \kappa + 1}}H_{LOS} $

      Hope this helps.

  • Pingback: Random Variables, CDF and PDF | GaussianWaves()

  • Pingback: Introduction to Digital Communication | GaussianWaves()

  • Pingback: Uniform Random Variables and Uniform Distribution | GaussianWaves()