***225

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.

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...
  • BPSK BER with OFDM modulation
  • BER for BPSK in Rayleigh channel
  • MIMO with MMSE equalizer
  • Maximal Ratio Combining (MRC)
  • MIMO with Zero Forcing equalizer
  • Comments

    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!!!!

    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

    @ mohamadali:
    1. I would think that, if one knows the way the channel will evolve (second order statistics like autocorrelation etc), then one could define a set of coefficients which can be used to obtained averaged estimates. However, since I have not tried out this, I am unable to comment well on this now.

    Further, similar to time domain correlation, one may also use the frequency domain correlation i.e. if the evolution of channel on the frequency domain is known, use to obtain a better estimate of the channel.

    2. Apart from the block pilots, which provides the initial estimate, one may have pilot subcarriers in the data symbols. However, we need to have quite-a-bit of pilot subcarriers to ensure that we can do the interpolation across subcarriers well.

    Another way, if the SNR is good, is to use hard-decision decoding and use the hard decision as the reference symbol.

    3. MRC - maximal ratio combining ensures that information on both the dimensions is optimally combined to demodulate the symbol. I will write a post on the same soon.

    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

    @mohamadali:
    I plan to add contents on
    (a) slow fading channels in OFDM (as used in 802.11a WLAN system)
    (b) Tx diversity schemes like Alamouti coding, cyclic shift diversity etc

    1. Though am not familiar with the Linnartz paper, yes you can assume that the channel is flat fading for each subcarrier. You can convolve the channel with the transmit sequence. If frequency, it will be multiplication if the channel response duration is less than the cyclic prefix.

    2. As stated prior, I have not worked well on exploiting the correlation thing. Will do in future.

    You can ask specific questions on MC-CDMA. Having a good understanding of OFDM should help you get going.

    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

    @noamchomsky (really???) :)
    It seems that you are looking for fixed point conversion i.e to represent the numbers as integers. One way to do this would be to
    (a) convert the signal into the range of -1 to +1 by
    dividing by the maximum of the absolute value from the real part or imaginary part.
    (b) Convert to an integer by multiplying and 2^n and rounding.

    i.e if xt is the signal
    N = 10; number of bits (signed number)
    xt_scaled = xt/max(max(abs(real(xt))),max(abs(imag(xt))));
    xt_fixed = round(xt_scaled*2^(N-1));

    Did this help?

    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,

    @noamchomsky:
    With the industry case, things are a bit different, but the same concept holds good.

    For the OFDM case, till the input of QAM mapping, the representation will be in bits (1bit). At the QAM mapping o/p, we represent the complex number into fixed point arithmetic represented in N bits. The value of N is a tradeoff between the hardware constraints and accuracy. Higher N means more accurate, but requires more hardware.

    This complex o/p of QAM mapping is followed by a fixed point ifft(), filters and so on.

    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

    @jamal: By channel filtering, I think you are referring to the inverse filtering operation such that h(t) * c(t) = delta(t), where
    h(t) - is the channel impulse response
    c(t) - is the channel equalization filter
    * - is the convolution operator and
    delta(t) - is the impulse
    Am I correct?

    Note that in OFDM, the channel response becomes a single tap filter - such that convoltion becomes just a multiplication. So to undo the effect of multiplication, we divide by the known channel. Does that make sense?

    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 :P
    im rather new in this..

    if the BER shows no improvement in Rayleigh fading channel, why do we perform this simulation??

    @ila: No, not a stupid question at all.
    At the least, we should know that the BER does not degrade with OFDM. :)

    In general, I felt some readers might feel comfortable having a OFDM + multipath simulation. Hence tried to characterize the performance.

    @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

    @tariq: Please find my responses below:
    1. 10 tap channel with average gain of unity.
    2. No doppler is simulated
    3. No channel coding
    4. I have not computed the delay spread, but should be reasonably easy to compute given that we know the number of taps and their gain.
    5. you have the model with BPSK. It should be reasonably easy to extend it to QPSK/QAM cases.
    6. In OFDM case, though rayleigh channel has multiple taps, for each subcarrier the channel is effectively a single tap channel. Hence frequency selective fading channel becomes a flat fading channel with ofdm.

    Hope this helps.

    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!

    @Ray: hmm… well extending to QPSK should be reasonably simple. Maybe the first approach is to make sure that symbol error rate with QPSK is computed correctly. Once that simulation is stable, one may proceed to map the constellation symbols to bits and find the BER.

    The following post maybe useful:
    http://www.dsplog.com/2007/11/06/symbol-error-rate-for-4-qam/

    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.

    @GRS: What is periodicity of the preamble of the transmit sequence. If the multipath channel is of lower duration than the periodicity, then I do not think auto-correlation o/p should be affected by the multipath channel.

    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!!

    @GRS: On your first question on pilots
    As I understand from you, you have pilots subcarriers embedded in your data subcarriers in the OFDM symbol. How are you planning to use the pilots?

    As I can recall, typically for systems like 802.11a, the pilots are used to track the residual carrier frequency offset error, sampling clock offset error etc. There we find the phase of the received pilots given that we know what was transmitted, and uses the phase information from multiple pilot values to form the estimate.

    I do not understand the expectation from your side when you say - “you do autocorrelation of the pilot sequence”.

    Can you please point me to the paper which you are refering to for the algorithm.

    @GRS: As I understand from Rayleigh multipath channel model
    ( http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/ ), each tap corresponds to a path having delay of tau(n) and amplitude of alpha(n).

    I do not quite follow the term ray. Can you please point me to a paper please.

    Leave a comment

    (required)

    (required)