***19

Bit Error Rate (BER) for BPSK modulation

If you're new here, please click here to SUBSCRIBE and receive for FREE articles over email. Thanks for visiting! Happy learning.

In this post, let us derive the equation for bit error probability wit BPSK modulation scheme. With Binary Phase Shift Keying (BPSK), the binary digits 1 and 0 maybe represented by the analog levels and respectively.

Figure: Simplified block diagram with BPSK transmitter-receiver

Channel Model

The transmitted waveform gets corrupted by noise , typically referred to as Additive White Gaussian Noise (AWGN).
Additive : As the noise gets ‘added’ (and not multiplied) to the received signal

White : The spectrum of the noise if flat for all frequencies.

Gaussian : The values of the noise follows the Gaussian probability distribution function, with and .

Computing the probability of error

Using the derivation provided in Section 5.2.1 of [COMM-PROAKIS] as reference:

The received signal, OR corresponding to transmitted bit 1 OR 0 respectively. The conditional probability distribution function (PDF) of for the two cases are:

.

Figure: Conditional probability density function with BPSK modulation

For decoding, a decision rule with threshold as 0 might be optimal i.e.

for received signal and .

With this threshold, the probability of error given is transmitted is (the area in blue region):

, where

the complementary error function, .

Similarly, the probability of error given is transmitted is (the area in green region):

.

The total probability of bit error,

.

Assuming, and are equally probable i.e. , the bit error probability is,

.

Simulation model

Octave/Matlab source code for computing the bit error probability with BPSK modulation from theory and simulation. The code performs the following:

(a) Generation of random BPSK modulated symbols +1’s and -1’s

(b) Passing them through Additive White Gaussian Noise channel

(c) Demodulation of the received symbol based on the location in the constellation

(d) Counting the number of errors

(e) Repeating the same for multiple Eb/No value.

Click here to download the script for BPSK Bit error rate.

Figure: Bit error curve for BPSK modulation - theory, simulation

Hope this helps.

Reference:

[DIGITAL COMMUNICATION: PROAKIS] Digital Communications by John Proakis

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...
  • Article in DSPDesignLine.com: M-QAM symbol error
  • Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK
  • Bit Error Rate (BER) for frequency shift keying with coherent demodulation
  • Coherent demodulation of DBPSK
  • Symbol Error Rate (SER) for 4-PAM
  • Comments

    Hey your BPSK theory and simulation is very useful.Do you have it for FSK modulation too?If you don’t mind please send to me. thanks.

    Thanks.
    I have not checked for FSK modulation. Once I understand, hopefully will be try put together a post.

    Thanks a lot, your BPSK BER was very useful, i got to know about the errors i made when i did the code

    @sus: Thanks :)

    Dear Krishna,
    Your simulation and theory prgram is very usefull and helpfull.
    Could you please send me the syntax matlab comand of QPSK modulation for OFDM under multipath (i.e 3 path) fading.
    Very thanks in advance.
    shareef

    @shareef:
    Thanks. The next post is planned to be on OFDM.

    Hey,
    I found theBit error curve for BPSK modulation - theory, simulation very useful. How do we demodulate , decode and compare it with the input signal

    @ David: Thanks :)

    Oh… were you unable to find the Matlab/Octave code? The link to the code is under the heading Simulation model.

    Anyways, for BPSK it is simple. We observe the real part of the received symbol. If the real part is greater than 0 decode as +1, if the real part is less than 0 decode as -1.

    Once we have the decoded symbols available, the number of differing symbols can be obtained by
    nErr = size(find([ip- ipHat]),2);
    Ofcourse, using find() is only one among the many different ways to compute this.

    Thanks,
    Krishna

    why are we using this term 10^(-Eb_N0_dB(ii)/20) in the code to get the final signal y. why cant we write y=s+n; ???????????????

    sorry for my previuos question i got it just after posting my previuos mesg…its coz we want to add the noise to the signal so we need to convert it to dB … right? thnx

    nope i didnt get it plz explain it a bit i shal be thankful

    hello! i am unable to understand the FOR loop operation in this code kindly explain a bit
    thnaks in advance

    @babar:
    The term 10^(-Eb_N0_dB(ii)/20) is for scaling the noise power as per the defined bit to noise ratio. The for loop is for computing the bit error rate for each Eb/N0 value.

    hi
    hope you are doing fine…in the matlab program u have given here, why didnt you use the awgn matlab function to introduce the noise? why have we taken this formula? thanks

    @Jhony: Thanks. Am doing good. How are u? Glad to notice that you are not desperate now :)
    Typically, to keep the code simple, I tried to avoid in-built functions. The randn() function + scaling the does the job. Thats all.

    yeah ! trying to get hold of things slowly now… i hope u dnt mind me asking foolish and lots of Qz…
    about the formula u uzed for awgn … i didnt get how it produces awgn … :(

    @Jhony: The randn() function generates a random variable having Gaussian distribution and the spectrum of this random variable is same across frequencies. Hence the name White Gaussian Noise (WGN).

    This is then Added to the signal, hence the name Additive White Gaussian Noise (AWGN)….

    1/sqrt(2)*[randn(1,N) + j*randn(1,N)];

    1/sqrt(2) ==> this is the scaling term?
    j*randn(1,N) ==> this is to generate complex noise values?
    I am thankful to u for helping me

    [randn(1,N) + j*randn(1,N)] generates complex Gaussian noise with mean 0 and variance 2. To make the variance to 1, the scaling factor of 1/sqrt(2) is used.

    yes, the j term is for complex noise.

    thanks alot … u helped me alot i m very happy to learn all this … thanks once again … and plz keep helping me as i want to learn …

    hi i hope you are in good health. Can you please tell me what a fading co-efficient is? and what does it signifies in few lines. I shall be very thankful to you.

    @Jhony: If I may put very briefly, fading is the characteristic of the wireless channel. The channel (read enviornment) will vary with time and will exhibit different behaviour for differnt frequencies.

    One of the most simplest and useful model of fading is to visualize it as filter whose coefficients change in time.

    Ofcourse, this is a simplistic description. For a detailed overview, may I recommend chapter 2 from the book
    Fundamentals of Wireless Communication - David Tse, Pramod Viswanath

    please send me a source code for bpsk modulation in matlab

    @marjano:
    The link to the code is provided just above the figure. Anyhow attaching the link again
    Please click here to downlod

    thank you but it is not exactly what I’m schearching about :/
    I need code for modulation BPSK/PM or only BPSK

    thanks a lot code is very useful

    even i want a code using upsampling and pulse sampling in BPSK mod and downsampling and pulse sampling in BPSK demod

    @rahul: Thanks.
    I believe you are looking for the code for transmit pulse shaing filter. You can look at the article and the code in the posts with the tag ‘pulse-shaping’
    http://www.dsplog.com/tag/pulse-shaping/
    That should help you get going.

    Btw, what is pulse sampling?

    i m very satisfy to this site, bcause it is very hepful to me to make mmy project. if u have bpsk matlab code then send me .

    @Vinay:Thanks.
    The code is present in this post. Click here to download
    http://www.dsplog.com/2007/08/05/bit-error-probability-for-bpsk-modulation/#Simulation%20Model

    [...] 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 [...]

    [...] our discussion on BER for BPSK modulation in AWGN, we know that probability of bit error [...]

    Leave a comment

    (required)

    (required)