BER for BPSK in OFDM with Rayleigh multipath channel
Mr. 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 fading channel. My response was that,
Though the total channel is a frequency selective channel, the channel experienced by each subcarrier in an OFDM system is a flat fading channel with each subcarrier experiencing independent Rayleigh fading.
So, assuming that the number of taps in the channel is lower than the cyclic prefix duration (which ensures that there is no inter symbol interference), the BER for BPSK with OFDM in a Rayleigh fading channel should be same as the result obtained for BER for BPSK in Rayleigh fading channel.
Let us try to define a quick simulation to confirm the claim.
OFDM system
Let us use an OFDM system loosely based on IEEE 802.11a specifications.
| Parameter | Value |
| FFT size. nFFT | 64 |
| Number of used subcarriers. nDSC | 52 |
| FFT Sampling frequency | 20MHz |
| Subcarrier spacing | 312.5kHz |
| Used subcarrier index | {-26 to -1, +1 to +26} |
| Cylcic prefix duration, Tcp | 0.8us |
| Data symbol duration, Td | 3.2us |
| Total Symbol duration, Ts | 4us |
You may refer to post Understanding an OFDM Transmission and the post BPSK BER with OFDM modulation for getting a better understanding of the above mentioned parameters.
Eb/No and Es/No in OFDM
The relation between symbol energy and the bit energy is as follows:
.
Expressing in decibels,
.
Rayleigh multipath channel model
As defined in the post on Rayleigh multipath channel model, the channel was modelled as n-tap channel with each the real and imaginary part of each tap being an independent Gaussian random variable. The impulse response is,
,
where
is the channel coefficient of the 1st tap,
is the channel coefficient of the 2nd tap and so on.
The real and imaginary part of each tap is an independent Gaussian random variable with mean 0 and variance 1/2.
The term is for normalizing the average channel power over multiple channel realizations to 1.
Figure: Impulse response of a multipath channel
Cyclic prefix
In the post on Cyclic Prefix in OFDM, we discussed the need for cyclic prefix and how it plays the role of a buffer region where delayed information from the previous symbols can get stored. Further, since addition of sinusoidal with a delayed version of the sinusoidal does not change the frequency of the sinusoidal (affects only the amplitude and phase), the orthogonality across subcarriers is not lost even in presence of multipath.
Since the defined cyclic prefix duration is 0.8us duration (16 samples at 20MHz), the Rayleigh channel is chosen to be of duration 0.5us (10 taps).
Expected Bit Error Rate
From the post on BER for BPSK in Rayleigh channel, the BER for BPSK in a Rayleigh fading channel is defined as
.
I recall reading that Fourier transform of a Gaussian random variable is still has a Gaussian distribution. So, I am expecting that the frequency response of a complex Gaussian random variable (a.k.a Rayleigh fading channel) will be still be independent complex Gaussian random variable over all the frequencies.
Note: I will update the post, once I am able to locate the proof for “frequency response of a complex Gaussian random variable is also complex Gaussian (and is independent with frequency)“.
Given so, the bit error error probability which we have derived for BER for BPSK in Rayleigh channel holds good even in the case of OFDM.
Simulation model
Click here to download: Matlab/Octave script for BER simulation of BPSK in a 10-tap Rayleigh fading channel
The attached Matlab/Octave simulation script performs the following:
(a) Generation of random binary sequence
(b) BPSK modulation i.e bit 0 represented as -1 and bit 1 represented as +1
(c) Assigning to multiple OFDM symbols where data subcarriers from -26 to -1 and +1 to +26 are used, adding cyclic prefix,
(d) Convolving each OFDM symbol with a 10-tap Rayleigh fading channel. The fading on each symbol is independent. The frequency response of fading channel on each symbol is computed and stored.
(e) Concatenation of multiple symbols to form a long transmit sequence
(f) Adding White Gaussian Noise
(g) Grouping the received vector into multiple symbols, removing cyclic prefix
(h) Converting the time domain received symbol into frequency domain
(i) Dividing the received symbol with the known frequency response of the channel
(j) Taking the desired subcarriers
(k) Demodulation and conversion to bits
(l) Counting the number of bit errors
(m) Repeating for multiple values of Eb/No
The simulation results are as shown in the plot below.

Figure: BER plot for BPSK with OFDM modulation in a 10-tap Rayleigh fading channel
Summary
1. The simulated BER results are in good agreement with the theoretical BER results.
2. Need to find the proof for frequency response of a complex Gaussian random variable is also complex Gaussian (and is independent with frequency).
Hope this helps. Happy learning.
Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN. Thanks for visiting! Happy learning.
If you liked this post, you may leave a comment below, or subscribe to the RSS feed.
You may also find these posts relevant...
Comments
Hello Dear Mr Krishna
thanks for your comprehensive posts
could you please explain that:
1 - if the channel is slow fading
how can we apply the correlation between the channel coefficients for several ofdm symbols depending on the coherence time of the channel
2 - how can we estimate the channel coefficients in this scheme when we apply the block type pilot channel estimation
and at last
3 - could you please show how should we equalize the received signal with MRC scheme
I have some problems in writting matlab program so could you please guide me by that
best regards
Thanks Dear Krishna
Will you have a matlab program on estimating the slow fading channel coefficients for ofdm systems in the near future based on block pilot aided channel est. on your blog
and will you work on space-time Tx diversity for OFDM or MC_CDMA system
I am simulating a mc-cdma system and i faced with these problems:
if you let me I send you my matlab code, if it is possible for you please guide me:
1.I used the channel coefficients were produced by the method that linnartz presented in his site based on generation of coefficient for each subcarrier in frequency domain since the channel will be narrowband for each subcarrier after ofdm modulation with assuming jakes psd.
I dont know how should will be treat in this approach with generated signal and channel(should we directly multiply the two same length Txed signal and channel or not) and how should we extract channel coefficients after getting fft from Rxed signal (in time domain we got fft from the channel coefficients )equalize the received signal by various equalizing scheme such as MMSE,LS,MRC,ORC
2. according to my code how can i make the correlation between two ofdm symbols based on slow fading channel properties
and at last if you know any helpful matlab program on simulation of MC-CDMA systems please tell me because i am new with this kind of systems and despite my studying papers
i confused in some simulating points.
Thanks
Hi krishna..
Your simulation is great but i have a question.
For this thing to get work on some hardware the transmitted real and imaginary part should be within the range of +1 and -1. But with the normalization factor that you have introduced i.e. nFFT/sqrt(nDSC) with IFFT in the code, the transmitted real and imaginary amplitudes go way beyond +1 and -1. (Assuming Q1.15 format). What do you think should be appropriate scaling factor.
Best Regards
Well thanks for your prompt reply krishna… But my question is still there.
When we are transmitting the signal we cannot scale it by dividing the maximum value. In this case, the scaling factor would be different each time we transmit the signal depending upon the PAPR (peak to average power ratio) of the signal. What i wanted to know is that what is the appropriate scaling factor used in this case that bounds the signal values within +1 and -1. Or if industry uses the same divide-by-maximum-value algorithm, am i wrong in the claim above.
Best Regards,
Hi Krishna,
Your website is a life saver. thanks
Question: in your code for this section , you are undoing the affect of the channel with following line:
% equalization by the known channel frequency response
yF = yF./hF;
I am sure I am missing some theoretical concept here. However if you undo the affect of the channel before slicing and demodulation , then what is the purpose of the channel filter.
appreciate a response.
jamal
Thanks Krishna.
The purpose of using a filter(h(t)) is to simulate the affect of a signal going through a real life channel. This real life channel impairments translates to the BER curve.
So by undoing the response by a known channel frequency response. How is the BER now relates to the 10tap filter that it went through. You just removed the affect of the channel before you went into your receiver function.
Yes I do understand that equalization in OFDM occurs in frequency domain , hence a divide. So an essence OFDM system can not function with out a fairly accurate channel estimation .
thanks for helping me out. DSP can be a black magic at times.
best regards
Jamal
hi,
sorry if this sounds like a stupid question ![]()
im rather new in this..
if the BER shows no improvement in Rayleigh fading channel, why do we perform this simulation??
@ila: Raleigh represent wireless channel under certain limitation. Were awg is basically noise, you could assume point to point link with no Multipath.
Therefore to see the performance of OFDM ,one has to run the simulation with and without Cyclic prefix. Krishna simulation is set up to make those changes. what you can do is to progressively increase the delay spread and see the simulation degrade.
Well jamal the reason why this channel inversion will have an effect on this simulation is because it will increase the noise in the case where there is a fade in any subcarrier. For example, consider y as the output at any subcarrier
y = x + n ;
where x is the data value and n is noise
when you invert the channel,
y/h = x/h + n/h;
the noise is scaled accordingly.
In case, when there is a deep fade at any subcarrier, the channel estimation will try to increase x as much as possible and will increase the noise accordingly. That’s why we cannot say that this channel inversion combined with channel filtering has no effect on the performance.
I hope this answers your query..
dear krishan , thanks very much a bout your excellent efforts, but i have some questions a boout rayleigh with ofdm.
1-what is the no. of rayleigh paths and their average gain.
2-what is the max. doppler shift.
3-what is the channel coding used.
4-what is the delay spread.
5-can you, kindly give us ofdm simulation with differnet modulations types such as(QPSK,16QAM) and their scripts.
6-through my reading, i find (rayleigh flat fading) what is mean ,and is flat mean we have one path.
with my best regards
tariq
Hi Krishma,
When I try to extend to QPSK, I meet the problems on demodulation part. Seems that the BER increse dramatically.
The method I do is fist mapping the 0,1 bit to QPSK signal, which is 1+j,1-j,-1+j,-1-j. And take this symbols into the IFFT and FFT calculation.
What would be the problem??
THX!
HI Mr.CHRISHNA..
REGARDING UR POSTS UPWARD,HOPE U HELP ME FIGURING OUT THIS PROB FACING ME LONG TIME AGO:
AM SIMULATING AN OFDM SYSTEM IN THE FRONT-END IN THE Rx SIDE IN ORDER TO ESTIMATE THE MAX PEAK OF PILOT ISERTING IN THE DATA SEQUENCE IN THE Tx SIDE,BY USING AUTO-CORRELATION IN TIME DOMAIN(BEFORE FFT)..FOR THE AWGN CHANNEL I GET QUITE GOOD RESULS..BUT THE PROBLEM TAKES PLACE WHEN TRYING THE RAYLEIGH FADING CHANNEL..
PLEASE TRY TO HELP HIM AS MUCH AS U CAN..
ANY MORE DECLARATION PLS WRITE TO ME AT gafer2306 AT gmail.com
THANX ALOT.
Thanx for replying Mr.Krishna..
In fact it isn’t a pure preamble,i mean,not a separate sequence transmitted periodically,but,instead,it’s a kind of PSAM system..Pilot Symbol Assisted Modulation..That is:
* The pilots are inserted along with the data sequence periodically,means after every certain amount of data-subcarriers there will be a pilot subcarrier..e.g.every ten,the eleventh is a pilot.
* We’ve 100 pilots per a symbol,say..means,1100 data subcarriers..1200 subcarriers (samples) per symbol.with a duration of 120us..say.
* The cyclic prefix is 1/4..30us.
* we locally regenerate the pilot in the Rx with duration and POWER LEVEL (AMPLITUDE) as same in the Tx side but before the transmission (before the channel).
* We are concerning the POWER LEVEL of the pilots and need to estimate it by using auto-correlation in the Rx’s front-end.
***For AWGN we’ve simply discarded the cyclic prefix..and directly do auto-corr between the received signal and the locally generated pilot sequence,,and we get somehow reasonable estimated peak for the pilot..as well as the index (delay).
*** By the way, am using Simulink.
*** Hope it is clear for u..but any more or deep details needed am here..really waiting for help.
Thanx again.
Hi again Mr.Krishna..
Another basic question Sir..What is the difference between the number of channel Taps and the number of Rays?? What i get from somewhere that ONE Tap is consist of a GROUP of RAYS..is it correct?? If so,How can I determine that number of Rays for each (ONE) Tap?? Depending one what I mean..Time delay profile??((This is in case of multipath channels..As Rayleigh))As U know!!





























Thank you!!! Krishna ur script helps me very much for my work. i am trying to simulate performance of adaptive OFDM as per current conditions of the wireless channel. if i am going to face a problem i will try to inform you.
Thank you!!!!