Ergodic Capacity of SISO flat fading channel

Understand ergodic capacity of a SISO flat-fading system over fading channels. Model and simulate capacity curves in Matlab.

Channel model

In the previous post, derivation of SISO fading channel capacity was discussed. For a flat fading channel (model shown below), with the perfect knowledge of the channel at the receiver, the capacity of a SISO link was derived as

where,  is flat fading complex channel impulse response that is held constant for each block of transmitted symbols, is the average input power at the transmit antenna, is the signal-to-noise ratio (SNR) at the receiver input and is the noise power of the channel.

Figure 1: A frequency-flat channel model

Since the channel impulse response is a random variable, the channel capacity equation shown above is also random. To circumvent this, Ergodic channel capacity was defined along with outage capacity. The Ergodic channel capacity is defined as the statistical average of the mutual information, where the expectation is taken over

Jensen’s inequality [1] states that for any concave function f(x), where x is a random variable,

Applying Jensen’s inequality to Ergodic capacity in equation (2),

This implies that the Ergodic capacity of a fading channel cannot exceed that of an AWGN channel with constant gain. The above equation is simulated in Matlab for a Rayleigh Fading channel with and the plots are shown below.

Matlab code

%This work is licensed under a Creative Commons
%Attribution-NonCommercial-ShareAlike 4.0 International License
%Attribute author : Mathuranathan Viswanathan at gaussianwaves.com
snrdB=-10:0.5:20; %Range of SNRs to simulate

h= (randn(1,100) + 1i*randn(1,100) )/sqrt(2); %Rayleigh flat channel
sigma_z=1; %Noise power - assumed to be unity


snr = 10.^(snrdB/10); %SNRs in linear scale
P=(sigma_z^2)*snr./(mean(abs(h).^2)); %Calculate corresponding values for P

C_erg_awgn= (log2(1+ mean(abs(h).^2).*P/(sigma_z^2))); %AWGN channel capacity (Bound)
C_erg = mean((log2(1+ ((abs(h).^2).')*P/(sigma_z^2)))); %ergodic capacity for Fading channel

plot(snrdB,C_erg_awgn,'b'); hold on;
plot(snrdB,C_erg,'r'); grid on;
legend('AWGN channel capacity','Fading channel Ergodic capacity');
title('SISO fading channel - Ergodic capacity');
xlabel('SNR (dB)');ylabel('Capacity (bps/Hz)');
Simulated capacity curves for SISO flat-fading channel
Figure 2: Simulated capacity curves for SISO flat-fading channel

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

References

[1] Konstantinos G. Derpanis, Jensen’s Inequality, Version 1.0,March 12, 2005.↗

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

Books by the author


Wireless Communication Systems in Matlab
Second Edition(PDF)

(180 votes, average: 3.62 out of 5)

Checkout Added to cart

Digital Modulations using Python
(PDF ebook)

(134 votes, average: 3.56 out of 5)

Checkout Added to cart

Digital Modulations using Matlab
(PDF ebook)

(136 votes, average: 3.63 out of 5)

Checkout Added to cart
Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Published by

Mathuranathan

Mathuranathan Viswanathan, is an author @ gaussianwaves.com that has garnered worldwide readership. He is a masters in communication engineering and has 12 years of technical expertise in channel modeling and has worked in various technologies ranging from read channel, OFDM, MIMO, 3GPP PHY layer, Data Science & Machine learning.

6 thoughts on “Ergodic Capacity of SISO flat fading channel”

  1. Hi this is nice post. i have small doubt Pl clear it.
    As ‘h’ defined as

    h= sqrt((randn(1,100).^2 + 1i*randn(1,100).^2 ));

    Q(1) It shows channel is flat for 100 bits. Is it mean 100 taps?
    and
    Q(2) If channel is quasi static then what ‘h’ would be ?

    1. Yes. The channel is assumed to be flat
      Even for a quasi-static channel, the channel varies slowly over one block that it can be considered constant. Thus the above code is still valid

      1. The Rayleigh channel should be as

        h= sqrt(1/2)*((randn(1,1000) + 1i*randn(1,1000) ));

        here N=1000 is not the taps as in case of frequency selective channel.
        Its slow varying/quasi-static frequency flat channel with
        1000 realizations of the single-tap channel over which the monte-carlo simulation has been performed.
        Law of large number relates the time average and statistical average for large N.

Post your valuable comments !!!Cancel reply