File Exchange

image thumbnail

BER for BPSK in Rayleigh channel

version 1.0 (1.72 KB) by

Simulates the BER for BPSK modulation in Rayleigh channel



No License

Simple Matlab 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.

The theoretical description provided in

Comments and Ratings (10)

Soniya Kapur

This code helped me a lot... But I want to confirm if we add some shadowing to this code, will it effect the BER Curve


Merlyn (view profile)

Ah nevermind, the error goes to zero (off the graph)


Merlyn (view profile)

How do you create a complete graph when using less than 10^6 transmitted bits? If I change to anything else, it truncates the graph at 1/N. I am doing this to show that when the number of bits is low the simulated and theoretical curves diverge.


jiang (view profile)

i have tried to realize the simulation of qpsk with rayleigh channel by mutiplying h first,then mutiply conj(h)/abs(h) ,then hard deciding the result with a constellation abs(h) of the orignal one. but the result is not so good .can you help me explain it?

Hi krishna,

I gone through your code. It works. When I am encoding the tx'er bits using (convolution encoding) or Spreading or both I'm unable to get the curve same as theoretical.

R Random

@Pillai. I have to admit that you're right. What I forgot is the fact that the additive noise is also divided by the channel.

Krishna Pillai

@random: May I suggest that your observation is incorrect. Even when we know the channel, and divide the received symbol by the known channel, the resultant noise term is no longer white. Hence it is not comparable to AWGN channel. Further, in the Matlab code the BER obtained from simulations are shown to be matching the theoretically expected results.

R Random

Once you divide the received signal by the known channel you have removed the impact of the channel totally. In other words, it is the same as an AWGN channel, and there is no fading in the model.

MATLAB Release
MATLAB 7 (R14)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video