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
Krishna Sankar M (2021). BER for BPSK in Rayleigh channel (https://www.mathworks.com/matlabcentral/fileexchange/21058-ber-for-bpsk-in-rayleigh-channel), MATLAB Central File Exchange. Retrieved .
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
Ah nevermind, the error goes to zero (off the graph)
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.
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?
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.
@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.
@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.
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.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!