***218

BER for BPSK in Rayleigh channel

Long back in time we discussed the BER (bit error rate) for BPSK modulation in a simple AWGN channel (time stamps states August 2007). Almost an year back! It high time we discuss the BER for BPSK in a Rayleigh multipath channel.

In a brief discussion on Rayleigh channel, wherein we stated that a circularly symmetric complex Gaussian random variable is of the form,

,

where real and imaginary parts are zero mean independent and identically distributed (iid) Gaussian random variables with mean 0 and variance .

The magnitude which has a probability density,

is called a Rayleigh random variable. This model, called Rayleigh fading channel model, is reasonable for an environment where there are large number of reflectors.

System model

The received signal in Rayleigh fading channel is of the form,

, where
is the received symbol,
is complex scaling factor corresponding to Rayleigh multipath channel
is the transmitted symbol (taking values +1’s and -1’s) and
is the Additive White Gaussian Noise (AWGN)

Assumptions

1. The channel is flat fading - In simple terms, it means that the multipath channel has only one tap. So, the convolution operation reduces to a simple multiplication. For a more rigorous discussion on flat fading and frequency selective fading, may I urge you to review Chapter 15.3 Signal Time-Spreading from [DIGITAL COMMUNICATIONS: SKLAR]

2. The channel is randomly varying in time - meaning each transmitted symbol gets multiplied by a randomly varying complex number . Since is modeling a Rayleigh channel, the real and imaginary parts are Gaussian distributed having mean 0 and variance 1/2.

3. The noise has the Gaussian probability density function with

with and .

4. The channel is known at the receiver. Equalization is performed at the receiver by dividing the received symbol by the apriori known i.e.

where
is the additive noise scaled by the channel coefficient.

Bit Error Rate

The equations listed below refers Chapter 14.3 in [DIGITAL COMMUNICATION: PROAKIS]

If you recall, in the post on BER computation in AWGN, the probability of error for transmission of either +1 or -1 is computed by integrating the tail of the Gaussian probability density function for a given value of bit energy to noise ratio . The bit error rate is,

.

However in the presence of channel , the effective bit energy to noise ratio is . So the bit error probability for a given value of is,

,

where .

To find the error probability over all random values of , one must evaluate the conditional probability density function over the probability density function of .

Probability density function of

From our discussion on chi-square random variable, we know that if is a Rayleigh distributed random variable, then is chi-square distributed with two degrees of freedom. since is chi square distributed, is also chi square distributed. The probability density function of is,

.

Error probability

So the error probability is,

.

Somehow, this equation reduces to

.

Note:

1. I have not yet figured out the math to reduce the above integral to the answer. If some one knows, kindly drop in a comment.
2. Another way for finding the bit error rate might be to find the pdf of . However, I do not know how to find pdf following the division of two random variables. :)

Simulation Model

It will be useful to provide a simple Matlab/Octave example simulating a BPSK transmission and reception in Rayleigh channel. The script performs the following

(a) Generate random binary sequence of +1’s and -1’s.

(b) Multiply the symbols with the channel and then add white Gaussian noise.

(c) At the receiver, equalize (divide) the received symbols with the known channel

(d) Perform hard decision decoding and count the bit errors

(e) Repeat for multiple values of and plot the simulation and theoretical results.

Click here to download Matlab/Octave script for BER computation of BPSK in Rayleigh fading channel

Figure: BER plot of BPSK in Rayleigh fading channel

When compared to the AWGN case, around 25dB degradation due to the multipath channel (at the point). This is both good and bad: bad because we need to spend so much energy to get a reliable wireless link up (in this era of global warming), and good because we signal processing engineers are trying to figure out ways for improving the performance.

Reference

[DIGITAL COMMUNICATION: PROAKIS] Digital Communications by John Proakis

Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN. Thanks for visiting! Happy learning.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

If you liked this post, you may leave a comment below, or subscribe to the RSS feed.

You may also find these posts relevant...
  • BER for BPSK in OFDM with Rayleigh multipath channel
  • MIMO with MMSE equalizer
  • Maximal Ratio Combining (MRC)
  • MIMO with Zero Forcing equalizer
  • Equal Gain Combining (EGC)
  • Comments

    I have seen the simulation code which u used to simulate a Rayleigh fading channel. But i would like u to ask a hit how to simulate a frequency selective Rayleigh fading channel for OFDM application. I think the above simulation out put is a flat Rayleigh fading.
    Thank you!!!

    @Lealem: Yes, the above simulation is for a flat Rayleigh fading channel.

    In the OFDM case, though the total channel is a frequency selective channel, the channel experienced by the individual subcarriers will still be flat fading channel. Am expecting that a rayleigh channel having a duration less than the cyclic prefix, the expected BER performance in OFDM will be the same as the results obtained in the above plot. I will run simulations to check and confirm.

    Thank you! Kirishna, hope fully ur script is very very help full for my work but still i have doubt on how to write a matlab script to simulate a frequency selective fading channel.
    for example a channel of 120 Hz Doppler frequency.

    [...] Lealem Tamirat, in a comment on BER for BPSK in Rayleigh channel, wondered about the performance of an OFDM modulated system in a frequency selective Rayeligh [...]

    hello!
    i go through your posts of matlab code, these are very helpful. please help me to solve the following writing the matlab code.
    Assume BPSK modulation with equal user transmit
    powers. The channels between users (interuser) and to the
    base station (uplink) are mutually independent with flat,
    Rayleigh fading that remains constant over each source block
    (quasi-static fading). Each receiver has perfect CSI and employs coherent detection, and we quantify the quality of each channel by its average received SNR. We use the RCPC code family with memory M = 4 and puncturing period P = 8
    and choose overall code rate R = 1/4 with source block size K = 128 bits.

    if more detail is needed please inform me…
    it is very urgent for me. if u could do it for me i would be very thankful to you.

    thanks
    khurshid

    @khurshid: Sorry, I can help with your coding but not do coding for you.
    As a first step, you may try to create a packet error rate simulation environment with the above mentioned parameters. Are you using OFDM?

    thanks krishna
    actually i have to show the performance comparison of different strategies of cooperative communication…..
    different combining techniques at receiver may also be considered but not compulsory…..

    it is quit similar to relaying…..

    i have sent some matlab codes on krishna at dsplog com
    it shows some error which i fail to removed.
    please help me in removing these errors……

    Hi,

    In order to find probability of error in a rayleigh fading channel we will average the conditional probability of error of the particular modulation scheme in AWGN channel over the rayleigh probability density function. Why we do this ? Please give explanation.

    Thanks and Regards,
    V Varun.

    @Varun: Because of Rayleigh fading, the instantaneous SNR for a particular channel realization is |h|^2*Eb/N0. So, to find the average bit error rate, we need to average over all channel realization. Hence we average over the conditional error probability. Does that help?

    @Krishna Pillai

    Thanks a lot for giving me a reply. So this is similar to finding the mean of a random variable right !!! Here the random variable is instantaneous SNR right !!! Comment on this statement Sir !!!

    @Varun: Yes, here the random variable is instantaneous SNR. Btw, do you know how to complete the proof? I have not figured that out. Kindly let me know, if you can prove the equation.
    Thanks.

    @ Pillai

    Which equation ? Is it the probability of error in a Rayleigh fading channel or the probability of error in a AWGN channel ? Let me know so that i can come up with a solution if i know :)

    Hi,
    I don’t know simulate Rayleigh channel by Matlab. Can you help me?
    Thanks and Regards.

    @nano686: This post does the simulation with a Rayleigh channel. Further, there are quite a few posts on Rayleigh channel
    URI: http://www.dsplog.com/tag/rayleigh/
    Hope this helps.

    @Varun: Probability of error in Rayleigh fading channel.

    You will find that the missing steps in the derivation above can be completed by writing open the final (double) integral, and changing the order of integration. That is, integrate first with respect to gamma from 0 to x^2 (where x is the argument of the complementary error function), and then with respect to x from 0 to infinity. The integration problem is finally reduced to single integrals from 0 to infinity over zero-mean Gaussian distributions.

    @Jussi Poikonen: Thanks for the guidance. Let me try to go over the steps per your suggestion.

    Sir
    How to derive the probability error of Non-coherent Non-Orhogonal modulation. TRhanking you sir!!

    @sairam: By non-coherent, hope you meant a scheme like DBPSK. Correct? I have not tried to discuss the deivation for BER with non-coherent modulation in any blog post yet. Something for me to look at.

    Can you give an example for non-orthogonal modulation?

    it can be obtained if the orthogonal condition is not satisfied. But the derivations become more complicated. the advantage is that it provide high spectral efficiency. ok sir thank u for ur fast response

    @Sairam: Ok, thanks. Are there some practical systems taking advantage of non-orthogonality to improve spectral efficiency. Can you please point me to the same.

    yES SIR
    IT IS USED IN OPTICAL COMMUNICATIONS.

    [...] BPSK modulation in Rayleigh fading channel, the bit error rate is derived [...]

    Hi Kirshna:
    hoping u r fine.
    I just want to ask about equlization which u have done here just by dividing by channel. is it another method of equlization.
    can u give some explation about equlization or refer some material about it, bec, I want to understand it.
    Tahnks and take care.
    abrar

    Hello Kirshna
    I doing project on bfsk with rayleigh multipath chanel
    i wish to ask you if I use not an envelop but modulated fsk
    0->cos(f1*t) and 1->cos(f2*t)
    how can I simulate rayleigh multipath chanel for bfsk in this case?
    thank you
    Davis

    @Abrar: Sorry for the delayed response, I got bogged down by viral fever.
    Yes, this is a simple form equalization, which basically tries to make the effective channel as impulse. Since this a simple one tap channel, the equalization becomes just a division. This can be classified as a simple zero-forcing linear equalization. You can read more about equalization in Chapter 8 of
    Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt.
    Hope this helps.

    @davis: Sorry for the delayed response, I was down with viral fever.
    I had written a post on BFSK some time in the past.
    URI: http://www.dsplog.com/2007/08/30/bit-error-rate-for-frequency-shift-keying-with-coherent-demodulation/

    The post describes BFSK in AWGN case. You can convolve the transmit signal x with the impulse response of the channel (lets say h) before adding the noise n.

    Hi Krishna,

    Jussi Poikonen is correct, you can determine the double integral in this fashion to obtain the desired result.

    @Leon: Thanks. The derivation has been pending for a while from my side. Let me try to go over it by over the week.

    Hi,
    Could you please explain on how you get
    h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; for Rayleigh?

    Coz I think, it should be just randn(1,N) + j*randn(1,N)

    Thanks

    [...] shift keying (BPSK) in Rayleigh channel. As usual, mr. google was my best friend, then I found a nice explanation about BER for BPSK in Rayleigh channel. Unfortunately, the author also hasn’t figured out how to derive the equation yet. But thank [...]

    @Sky: 1/sqrt(2) is for normalizing the channel gain to unity. I think it is required, as the derivations are for unity channel gain.

    [...] with zero forcing equalizer showed matching results as obtained in for a 1×1 system for BPSK modulation in Rayleigh channel. In this post, we will discuss a different equalization approach called Minimum Mean Square Error [...]

    Hi Kirshna
    thanks for ur reply and sorry for the t I am saying thanks very late bec i am busy in my exam.Hoping U r fine, may GOD bless u. I am doing Postgraduate diploma in Massey University New Zealand.
    I am doing simulation on MC-CDMA. So I need ur help in modeling frequency selective channel. if u have any code about frequency selective chanel estimation, it will helpful for me. I am try to do so I will send u code if I have have succeded to some extent.
    waiting for ur reply.
    Thanks nad Take care.
    abrar

    I am Muhammad from Pakistan,

    I was in need to compute the Bit error rate of BPSK and QPSK in AWGN and Rayleigh fading channel.

    After finding this document, i was very happy as it improve my knowledge and releive my burden.

    Thanks for all

    Hi Krishna,

    I am trying to follow this tutorial and extend it further to simulations for 4-QAM over Rayleigh fading channels. Could you please tell me how the code to apply the fading channel would change from the BPSK case. thanks

    @Abrar: Thanks for the comment. Sorry for the delayed response. I was travelling.

    Typically for channel estimation, we send a known sequence (called preamble). Using the knowledge of the known sequence and what we received, we can estimate the channel.

    For eg, in a multi-carrier OFDM system, the system model can be written as
    Y = HX + N where
    Y - is the received symbol on subcarrier k
    H - is the channel on subcarrier k
    X - is the transmitted symbol on subcarrier k
    N - is the noise on subcarrier k

    Since X is known, the estimate of H is,
    H^ = Y/X

    Does this help?

    @Muhammad: Thanks. Glad that you are finding http://www.dsplog.com useful for your studies. Happy learning! :)

    @Tahmid: Moving the simulation to 4-QAM should be reasonably simple. First thing is that we will be sending information on both real and imgainary arms. Correspondingly, use the information from both real and imaginary arms while demodulating.

    You can use the Matlab model provided here
    http://www.dsplog.com/2007/11/06/symbol-error-rate-for-4-qam/
    as reference.

    Hope this helps.

    Dear Krishna Pillai,

    Thanks for the very interesting blog ..
    I am wondering whether it makes any sense to apply MMSE and ML equalization on SISO communication systems in order to get over the ZF equalization major problem of noise enhancement (when channel is in deep fade).
    In such a case, how is the theoretical BER performance of BPSK (for instance) over flat rayleigh (given by proakis, Digital communications) affected ? can u reccommend any papers that calculate the theoretical BER performance of ML and MMSE equalization over flat fading .. Most papers i got assume ZF equalization when it comes to SISO systems !

    @Shefo666: I think the ZF equalizer is optimal in SISO systems.

    With a simple Matlab/Octave script may I try to show that ZF and MMSE equalizer gives the same BER. Infact, am not sure whether we can call it as ZF/MMSE equalization - as there is no interference terms.

    % Matlab/Octave code snippet for comparing zero forcing and MMSE equalization for SISI
    clear
    N = 10^4 % number of bits or symbols
    ip = rand(1,N)>0.5; % generating 0,1 with equal probability
    s = 2*ip-1; % BPSK modulation 0 -> -1;
    Eb_N0_dB = 3;
    n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance
    h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Rayleigh channel
    % Channel and noise Noise addition
    y = h.*s + 10^(-Eb_N0_dB/20)*n;

    % equalization
    yHat_zf = y./h; % zf equalization
    yHat_mmse = 1./(h.*conj(h)+ 10^(-Eb_N0_dB/10)).*conj(h).*y; % mmse equalization

    % receiver - hard decision decoding
    ipHat_zf = real(yHat_zf)>0;
    ipHat_mmse = real(yHat_mmse)>0;

    % counting the errors
    nErr_zf = size(find([ip- ipHat_zf]),2)
    nErr_mmse = size(find([ip- ipHat_mmse]),2)

    Can see that nErr_zf and nErr_mmse is the same. Hope this helps.

    Leave a comment

    (required)

    (required)