Peak to Average Power Ratio for OFDM

Let us try to understand peak to average power ratio (PAPR) and its typical value in an OFDM system specified per IEEE 802.11a specifications.

What is PAPR?

The peak to average power ratio for a signal is defined as
, where
corresponds to the conjugate operator.

Expressing in deciBels,

PAPR of a single sine tone

Consider a sinusoidal signal
having the period .

The peak value of the signal is

The mean square value of the signal is,

Given so, the PAPR of a single sine tone is,

single sine tone
Figure: Wave form of single sine tone

% Example Matlab/Octave script
clear all
close all
xt = sin(2*pi*1*[0:1/64:0.999]);
grid on
xlabel('sample number')
title('sine wave')
meanSquareValue = xt*xt'/length(xt)
peakValue = max(xt.*conj(xt))

PAPR of a complex sinusoidal

Consider a sinusoidal signal
having the period .

The peak value of the signal is

The mean square value of the signal is,

Given so, the PAPR of a single complex sinusoidal tone is,

single complex sinusoidal
Figure: Waveform a single complex sinusoidal

close all
clear all
% defining a signal in frequency domain
% subcarrier +1 alone
xF = [zeros(1,6) zeros(1,26) 0 1 zeros(1,25) zeros(1,5) ];
xt = 64*ifft(fftshift(xF));
meanSquareValue = xt*xt'/length(xt)
peakValue = max(xt.*conj(xt))
hold on
xlabel('sample number')
title('complex sinusoidal')
legend('real', 'imag')
grid on

Maximum expected PAPR from an OFDM waveform

From the previous post (here), we have learned that an OFDM signal is the sum of multiple sinusoidals having frequency seperation where each sinusoidal gets modulated by independent information . Mathematically, the transmit signal is,

For simplicity, let us assume that for all the subcarriers. In that scenario, the peak value of the signal is,

The mean square value of the signal is,

Given so, the peak to average power ratio for an OFDM system with subcarriers and all subcarriers are given the same modulation is,

It is reasonably intuitive that the above value corresponds to the maximum value of PAPR (when all the subcarriers are equally modulated, all the subcarriers align in phase and the peak value hits the maximum).

PAPR in IEEE 802.11a OFDM transmission

Per the IEEE 802.11a specifications, we have used subcarriers. Given so, the maximum expected PAPR is 52 (around 17dB!!). However, thanks to the scrambler, all the subcarriers in an OFDM symbol being equally modulated is unlikely.

Using a small script, the cumulative distribution of PAPR from each OFDM symbol, modulated by a random BPSK signal is obtained.
Click here to download.

CDF of IEEE8011.a Tx with BPSK modulation

Figure: Cumulative distribution (CDF) plot of PAPR from a random BPSK signal

As can be observed, the observed PAPR seems to be distributed from around +3.5dB to a maximum value of 10dB.


[802.11A] Wireless LAN Medium Access Control (MAC) and Physical (PHY) Layer specifications – High speed physical layer in 5GHz band

Hope this helps.

272 thoughts on “Peak to Average Power Ratio for OFDM

  1. hi sir, i am doing project on tone reservation…in need matlab coding for tone reservation in receiver part…..can u please help me sir….

    1. @SHOBA: The idea is to ensure that the peak value of the signal does not go into the non-linear region of the amplifier. Given that the peak-to-average ratio is typically 9dB (atleast for 802.11a/g), the back off factor is 9dB.

  2. hello Sir,
    I am doing work on PAPR reduction would you please help me which reduction technique provides best reduction performance with low complexity , and will be convenient . which tool i have to use for coding purpose ??

    1. @Amit: ‘ve not studied the topic in much detail, however some links which I picked up from a googling longback:
      (a) Tone reservation : where some of the unused subcarriers in an OFDM system is modulated to reduce the PAPR.
      (b) MERL has a paper on PAPR reduction by oversampling, soft clipping and filtering.
      PAPR Reduction for WiMAX OFDM Systems
      (c) Nice comp.dsp thread on this topic
      Has The peak-to-average ratio problem of OFDM been solved?

      Matlab is a good tool to be used for modeling.

  3. Hi Krishna,

    I have the following question:

    Why the ifft is multilpied by 64? I don’t understand this normalization factor.

    Thank you very much.

      1. Thank you Krishna, but why do you need to compensate the outside of the ifft? mantain values of average power in frequency and time the same?, What about Parseval theorem?
        I am confused about how the average power is calculated in frequency domain, and how the average power is calculated in time domain?

        Thank you very much.

  4. Hi Sir ,I am doing my M-tech thesis in OFDM system, and I have to apply Peak to Average Power ratio using clipping and filtering in MATLAB.Please guide me

  5. dear krishna Sir,

    will you please help me in implementation of SLM technique for papr reduction?

    i need coding of it in matlab

  6. sir, i am doing project on PAPR reduction by clipping and differential scaling. i need to plot BER vs PAPR.can you send me the codes related to the above mentioned topic.

  7. Hello Krishna

    Can you send me copy of matlab version to set up it on my PC , I hope you can send me as soon as possible please


  8. meanSquareValue = xt*xt’/length(xt)

    this is just the mean power of the signal
    I think we should do the opertation of sqrt() to get the right meanSquareValue,


  9. hi krishna,
    can u suggest different types of papr reduction techniques. i dont have a clue about that…. can u help me out n basic papr programming….i new to this papr… and do u have coding for clipping and filtering for papr reduction for ofdm….

    1. @sheena: I have not explored the PAPR reductions techniques. However clipping is a brute force approach where we limit the signals to a pre-defined limit. The impact of clipping is that it creates both inband and outofband frequencies.

    2. i am having coding for clipping

      you can get it on google if u searched like name “baher mohamed coding for ofdm”.

      and if u able to find coding on SLM technique then please forward it to me on i badly need it

  10. Hi Krishna,

    to plot CCDF curve, is it true to make several iteration? not only one value? i’m doubt if it curve is iteration value. in my opinion, the CCDF is derivation from PDF, and CDF. so CCDF is from the output signal from OFDM, not the value from PAPR with several iteration.

    sorry for my bad english, coz i’m not a native speaker 😀

  11. I want to compare the BER performance of OFDM receiver implemented with PLL and free running multivibrator as odscillator. Can u please help me out ,,,it, urgent I hve to submit my thesis….

  12. Hello sir,
    Actually I am modelling OFDMA in matlab, but I am having problem in visualising as to how will the subcarriers be dynamically allocated to the users according to availability of subcarriers and the number of users??

  13. I am Preethi studying Final Year Engineering. As i’m approaching my final semester project i’m in need of matlab coding to reduce the PAPR in OFDM and MIMO OFDM using the following techniques,
    1)The Partial Transmit Sequence Technique
    2)The Selected Mapping Technique
    3)The Interleaving Technique
    Kindly lend me some matlab codings to enhance my project.Thank you.

    1. hi preethi

      i am having matlab coding for clipping technique
      will you please help me for SLM technique?

  14. Hi Krishna
    I have a doubt regarding CCDF vs PAPR curve. In so many papers I’ve observed that CCDF values will range from 10^0 to 10^(-5) or 10^(-6). But in my plot of CCDF vs PAPR curve for 32 subcarriers the value of CCDF varies from 10^0 to 10^(-3) only. Is it ok or there is some problem? Please reply asap.

  15. hello sir…
    i am doing my project of m.e on adaptive resource allocation for mimo-ofdm based wireless multicast system
    can u please help me how to write codings it easy

  16. Hi Krishna Sankar.
    I dont know how to choose CR(clipping ratio) in Cliping method to reduce PAPR in OFDM. So please help me

    1. @vilan: Well, I do not think there is an exact threshold for choosing the clipping ration.
      If we clip too much (ie make clipping threshold low), then we increase the distortion of the OFDM signal. This non-linear operation will result in frequency components to be generated in the in-band and out of band. The in-band frequency components will cause EVM degradation. The out-of-band frequency components needs extra filtering to be removed…

      If the underlying modulation is BPSK, we can tolerate higher EVM loss, but thats not the case with 64QAM modulation….

  17. Hi all!
    I am very confuse about clipping and filtering method for reducing PAPR.
    I only know after clipping, using these commands:
    C = fft(x_cl);
    C(Nc/2+1:N-Nc/2,:) = zeros(N-Nc,length(CR)+1);
    x_cl = ifft(C);
    Intead of that method, I want design FIR filter.
    Please help me.
    @all: sorry all because my skill English is poor.
    Help me

    1. @vilan: Both clipping and filtering happens in the time domain samples. After clipping pass it through a FIR filter. You can use conv() function in Matlab for modeling FIR filter

      1. @Krishna Sankar: I dont know which type of filter to reduce out of band and when we choice a filter, how to submit a low cutoff of stopband and high cutoff of stopband.
        Help me.

    1. @manisha: Some relevant links which I picked up from a quick Googling.
      (a) Tone reservation : where some of the unused subcarriers in an OFDM system is modulated to reduce the PAPR.
      (b) MERL has a paper on PAPR reduction by oversampling, soft clipping and filtering.
      PAPR Reduction for WiMAX OFDM Systems
      (c) Nice comp.dsp thread on this topic
      Has The peak-to-average ratio problem of OFDM been solved?

  18. Sir,

    I’m working on PAPR reduction. In the ccdf plots, could i know what range of values are assigned to the x axis?


  19. I’m research to reduce PAPR by Partial Transmit Sequence (PTS)? Do u have code or algorithms about PTS?

  20. Hello Sir,
    could you please tell me why we get low peak to average ratio if we amplify ofdm signal with traditional amplifier like class A,B and also switch mode amplifiers class E,F and S. If you have any relative link then could please tell me.

    1. @Jaspreet: OFDM waveform has an inherently high PAPR. So, am not sure how the power amplifier will cause the PAPR to reduce. If the PA is forced into saturation, then the non-linearities introduced by the PA will cause erroneous demodulation.

  21. Respected Sir,

    Currently working on PAPR and your Comments really helped a lot, now i have 2 questions

    1. How to plot Pr(PAPRx>PAPR0) vs PAPRo(dB), which is in fact another view of PAPR performance i think, it gives you BER kind of water falling curve. How do i plot that?

    2. what are the “characteristics of a signal” that cause this PAP problem,
    I mean if we would have known about the features are going to cause this problem, we could think about some new techniques to reduce this PAPR stuff.

    Thank You..

    1. @Solid M: My replies
      1/ I think you are looking for CCDF plot. In the post, the Matlab model shows the CDF plot generation. Taking 1-CDF is CCDF.
      2/ Adding many sinusoidals which align in phase cause this problem

  22. Hi Mr.Krishna!!!
    in this code you have calculated the PAPR of the OFDM signal,

    in this code you have calculated the BER of the OFDM signal,

    (1)how to calculate the BER of the OFDM signal in that previous(PAPR) coding itself,
    i tried to calculate that with that previous coding, but it ends up with failure results and i don’t know how to calculate it there too…
    (2)Can you guide me how to calculate the BER of the OFDM signal in that PAPR coding itself…
    ( this is my id)…
    (3)also i want to know more about PAPR problems and its impact with Power Amplifiers too.. just provide me the links…

    with hope and Lot of thanks,
    Mahesh R

      1. I have decided to do my research on papr on ofdm .Can u please tell me Recent techniques of papr on which i can work.

  23. Hello Sir,

    Do you have any info about ray launching in MATLAB codes. Then, for this moment I’m try hard to find on how to obtain power received (PR) from rays that launched also in MATLAB. I hope can hear from you as sson as possible about this post.

    Thanks in advance,


  24. hi Sir,

    need your help.

    i’m currently doing PAPR reduction in OFDM. i’ve the therotical part done and now i need to simulate using matlab.

    could you please provide me matlab coding so i can have a look at the generated graphs and the command.

    appreciate your help. thanks

    1. hi Girish,

      i’m researching about reducing PAPR in OFDM methods, such as: clipping and filter; selected mapping (SLM);partial transmit sequence (PTS). I have understood and finished therotical part. But now, i don’t know how simulate in matlab. Do you have code matlab?. If you have it, please provide it for me. my email:

      appreciate your help. thank you very much

  25. Hello sir,
    I am doing my project on reduction of peak to average power ratio using clipping method.Can you please help me by sending some previous topics and any extra matter relating to that.

    Many Thanks,

    1. @Vikram: Sorry, I have not done much study on PAPR reduction.
      Some relevant links which I picked up from a quick Googling.
      (a) Tone reservation : where some of the unused subcarriers in an OFDM system is modulated to reduce the PAPR.
      (b) MERL has a paper on PAPR reduction by oversampling, soft clipping and filtering.
      PAPR Reduction for WiMAX OFDM Systems
      (c) Nice comp.dsp thread on this topic
      Has The peak-to-average ratio problem of OFDM been solved?

  26. Hi,
    Ya we need to do oversampling for better estimate. Please refer the OFDM Multimedia communication book by R van Nee & Ramjee Prasad .

  27. dear sir,
    Can you tell about sfbc ofdm, 1. what is the high power amplifier(SSPA) with backoff, how this effects on BER performance (backoff=0 or 2).
    2. what is JSR=0,0,1,1. or JSR= 0,1. in narrow band interference(NBI),how the OFDM effected by this NBI(JSR=0,1 or 0,0,1,1).
    will you give idea for implimenting this in MATLAB or will you send MATLAB codes.
    thank you very much

    1. @srinu: My replies:
      I have not discussed much on Space Frequency Block Coding OFDM. However, the concept is simple. Instead of coding over the space dimension, we will be allocating code across different subcarriers in the same OFDM symbol
      1/ If OFDM systems, to avoid non linearity from the power amplifier due to the high peak to average ratio of OFDM systems, we need to backoff.
      2/What does the acronym JSR stands for? Sorry, am not aware.

  28. Hi,
    I have used the matlab code of PAPR given in this blog, the result obtained by it are not matched with theroy and with the plots given in books/papers.
    What are the modification that i have to perfrom if I want to do oversampling by a factor L in order to get the better estimate od PAPR.
    I got very good help by this blog.

    1. @amit: Well, can you please point to the books which you refered to, when you said that the results from this simulations are not comparable to theoretical results.
      Well, do we need to do oversampling for getting a better estimate of PAPR?

  29. Hello sir
    Iam doing my project on Peak-to-Average Power Ratio (PAR) reduction scheme suitable in block differential systems in matlab.I need help regarding the process and good documentation provided.I hope you can help me.
    Many. Thanks,

    1. @Vikram: I have not worked on PAPR reduction approaches. Some relevant links which I picked up from a quick Googling.
      (a) Tone reservation : where some of the unused subcarriers in an OFDM system is modulated to reduce the PAPR.
      (b) MERL has a paper on PAPR reduction by oversampling, soft clipping and filtering.
      PAPR Reduction for WiMAX OFDM Systems
      (c) Nice comp.dsp thread on this topic
      Has The peak-to-average ratio problem of OFDM been solved?

  30. Hi Krishna
    Thanks once again for your quick reply. I really appreciate your obesrvation regarding subcarriers loading rules. Though I could not find anything concrete in this regard on the Internet but I think your observation is very much correct.

  31. Hi Krishna
    Thanks for your prompt reply.
    Suppose if one has to simulate cdf vs papr curve for 128 subcarriers then the ifft size is 128 but how to adjust loading of subcarries? I mean what changes are required as far as subcarrier index is concerned.

    pls reply asap at your convenience.

    1. @sanjay: The only rules pertaining to subcarrier loading, which I have seen in wireless communication are
      1. do not use DC subcarrier – as DC in the system will corrupt the modulated data
      2. do not use subcarriers at edges of the channel – to allow transmit power to not interfere with adjacent channel.

      If you have 128 subcarriers then you can consider loading subcarriers [-58 to -1, 1 to 58]. What do you think?

      1. Hi Krishna
        Is there any closed form relation to find the number of data and pilot subcarriers for the given total number of subcarriers N? I mean to say that if the IFFT size is N then how to find/approximate the number of data subcarriers and pilot subcarriers irrespective of the standard?

        1. @sanjay: Selecting data subcarriers and pilot subcarriers from the available N subcarriers is an engineering choice. We do not want to have too many pilots – as it will reduce the data rate. Too less pilots will compromise th synchronization performance. For eg,
          a) in 802.11a 20MHz mode, we have 48 data subcarriers + 4 pilots out of total 64 subcarriers
          b) in 802.11n 20MHz mode, we have 52 data subcarriers + 4 pilots out of total 64 subcarriers
          c) in 802.11n 40MHz mode, we have 108 data subcarriers + 6 pilots out of total 128 subcarriers

  32. Hi Krishna
    I could plot CDF vs PAPR curve with 16-QAM modulation. I have a query now. Suppose I want to simulate cdf vs papr independent of following any standard such as IEEE 802.11 a etc then what changes should be made in your program? I mean to say my MATLAB program should take any number of subcarrires and simulate cdf vs papr curve.

  33. Hi Krishna
    I’m trying to simulate the CDF vs PAPR plot for 16-QAM modulated OFDM signal. I’m confused as what changes I should make to your MATLAB code which you have given here for the simulation of CDF vs PAPR plot of BPSK modulated OFDM signal.

    Pls help.

  34. Hi, Khrisna,

    If I would like to change the subcarriers from 0-52 (not -26 :26). Could you advice me how to adjust the parameters? Will this change the value of PAPR (phase change?)?
    The obvious one is I have to change subcarrierIndex=[0:51];

    You have inspired so many people! Your website is a great information for signal processing knowledge.

    1. @Claire: My replies:
      1/ Not sure, why you would want to load from 0 to 51.
      Anyhow, for loading subcarriers from 0 to 51, use the following code snippet
      subcarrierIndex = [0:51];
      inputiFFT = zeros(1,nFFTSize);
      inputiFFT(subcarrierIndex+1) = ipMod(ii,:);
      outputiFFT = 64*ifft(inputiFFT,nFFTSize);

      I do not think, it will affect the PAPR.

      2/ Thanks.

      1. Thanks, Khrisna.

        The reason why I would like to try this out because some papers using 0: number of subcarriers . I am just wondering what is the difference.

  35. In the calculation for the average value of the complex sinusoid,

    x(t).x*(t) = exp(2.pi.f.t).exp(-2.pi.f.t) = 1,

    so E(x(t).x*(t)] = 1/T . Integration[1] from T to 0, giving an average value of 1?

  36. Dear Krishna sir…

    i read a lot of this site and it helped me a lot in my Project,
    currently i’m working with COFDM, i mean just started, i thought i was good at OFDM and coding, but stuck with the beginning of Coding like OFDM with RS(n,k). suppose i’ve initiated my OFDM part like follows..

    nFFT = 64; % fft size
    nDSC = 52; % number of data subcarriers
    nBitPerSym = 52; % number of bits per OFDM symbol
    nSym = 10^4; % number of symbols

    EbN0dB = 0:10; % bit to noise ratio
    EsN0dB = EbN0dB + 10*log10(nDSC/nFFT) + 10*log10(64/80);

    for ii = 1:length(EbN0dB)

    % Transmitter
    ipBit = rand(1,nBitPerSym*nSym) > 0.5;

    after that i start my rsenc(msg,n,k) part, now probem is with this n, k and ‘msg’.. if n is my block length then is it equals to the total length, and it is 52×10^4=520000 !!! i shouldn’t have a block length like this as my common sense suggests me…and if it is so, what is my msg then.? or how should i start with, please sir help me out….!!!

    1. @Solid M: If your numbers of bits is not an integer multiple of the block coding rate, you might consider padding the input bits with zeros at the end (and those zeros can be ignored at the receiver). This is the normal practice is most digital communication systems.

  37. And please also let me know what happens at the transmitter side before the IFFT block like how do we deal with QPSK or QAM symbols for multiple different carriers.

  38. Would you be tell me where shal i get the relevent information?
    I have gone through ieee papers,but didnt get any thing very concrete.
    please let me know..

    1. @vedika: Some relevant links which I picked up from a quick Googling.
      (a) Tone reservation : where some of the unused subcarriers in an OFDM system is modulated to reduce the PAPR.
      (b) MERL has a paper on PAPR reduction by oversampling, soft clipping and filtering.
      PAPR Reduction for WiMAX OFDM Systems
      (c) Nice comp.dsp thread on this topic
      Has The peak-to-average ratio problem of OFDM been solved?

  39. Dear Mr. Krishna,

    where is the effective method to plot the CCDF PAPR between use function histogram and then cumsum or use with function cdfcalc in matlab?

    Thank you for your kind attention.


    1. @Leni: Since I did not have cdfcalc() function, I used histogram+cumsum to plot the CDF. You may see the example of this usage in the Matlab code provided in this post (link provided just above the CDF plot).
      If you want CCDF, then plot 1-CDF. Hope this helps.

  40. Hello,
    I am working on reduction of PAPR in OFDM
    And I am required to use GENETIC ALGORITHM.
    please give your opinion or suggestions for the same.
    Let me know wat else i need to go through..

  41. I would have thought that different modulation schemes would have different effects on the PAPR. Specially between real only and complex modulation schemes.

    1. @maria: I agree to that. From my quick simulations in the past, I recall observing that the average PAPR with higher order modulations like 16/64-QAM is slightly lower than with BPSK.

  42. Hi,Mr Khrisna.
    Thanks for your replay.
    I checked the perfomance when the “Transform “is applyed .The results exhibted behaviour closed to convential OFDM specially with White guessian noise channel and with flat fading channel but the worse result introduced when applied selective fading channel .In this case ,We can received the signal when a equilazer algorithm is used .
    I wait your reply,Thanks

    1. @algenaby: Why is the result when frequency selective fading is applied? For OFDM, even if the channel is frequency selective, for each subcarrier, the channel is still flat fading, agree?

  43. Hi,Mr Khrisna.
    Can be used a block mapping(any Transformation) after IFFT in OFDM.
    This scheme effective on orthogonality of OFDM or not.
    How can be tested the orthogonality of the proposed system.

    ———— ——————
    BPSK———-> IFFT ————> Transformation ————>
    ———— ——————

    The Transformation reversibale in the receiver side and gave good results in reduction of PAPR .
    What the critera that applied on my scheme to decide this method true or false

    1. @algenaby: If the system is orthogonal, then each subcarrier will not affect other subcarriers. So, you can find the error in the received constellation with and without the “Transformation”. That will let you know whether the orthogonality is affected or not.

  44. Hi Khrisna..
    I just want to begin my new research about reducing PAPR or whatever as long as it is relevant with PAPR. I intend to combine the existing technique with artificial intelligent (such as neural network or hidden markov model or GA), is it possible and does it make sense? Thank you

  45. K..Mr.Krishna.

    I understood PAPR was occured due to failure of orthogonality.


    Due to multicarrier in the form of sum of sinc waves. Therefore sum of the values of sideband or main lobe add at some point and produce very high value. My statements are correct or not…..

    1. @kalidoss: You first statement is wrong. Your second statement is closer to the concept, but is also wrong as its talking about sinc waves and not sine waves. High PAPR happens due to sum of sine waves (not sinc waves) add constructively resulting in peak.
      Let me give you a quick example in Matlab/Ocatve

      x1F = ones(1,64);
      x1t = fft(x1F,64);
      papr1_dB = 10*log10(max(x1t.*conj(x1t))/mean(x1t.*conj(x1t)))
      x2F = 2*(rand(1,64) > 0.5)-1;
      x2t = fft(x2F,64);
      papr2_dB = 10*log10(max(x2t.*conj(x2t))/mean(x2t.*conj(x2t)))

      You can see that papr1_dB is close to 18dB (as all the subcarriers got added in phase).
      For papr2_dB, since there are random +1/-1’s the chances of subcarriers aligning in phase and resulting in high PAPR is less likely.

  46. Dear sir, i have started my research in the area of OFDM and MIMO OFDM recently. I have gone through many literatures describing PAPR solutions, also i find some articles PAPR is no longer greater issue, my query is whether i can take up the PAPR is my research issue?

    Thank you


    1. @Palanivel: I do not think PAPR reduction in OFDM has lost relevance. I think it will be a good topic to research as it helps to understand the properties of digital baseband and analog radio.

  47. Khrisna,
    I often read papers that stated CDF as

    Prob(PAPR<=PAPR0) = (1-exp(-PAPR0))^N

    where N is number of subcarriers.

    I wonder, can the formula be used for any situation? For any modulation? So my conclusion is the CDF depends only on N. Is that right? Thx

      1. Sorry i forgot to write. PAPR0 is a certain value. Or i can write: Prob(PAPR<=x) = (1-exp(-x))^N

        Does it mean when we use same N with different modulation, say, BPSK and QPSK will result the same CDF graph?

  48. sir, can u help me simulated PAPR via tone reservation in matlab simulink? it required random set optimization,can u help me? thank u

  49. Khrisna,
    I wonder if the distribution of the data sent affects the OFDM performance. I use the function “randint(1,n,range)” to generate the integer number and then mapping the data by using “qammod(x,N)”.

    In MATLAB’s help, “randint” generates matrix of uniformly distributed random integer. Is it okay? Or the data should be Gaussian distributed?

    Thank you

    1. @Filbert: Well, I have not tried studying the difference. However, I would expect that the difference is minimal. If you recall, in the Matlab code, I used rand() function, which generates uniformly distributed numbers to generate the bits.

  50. Hi Krishna
    If I was worked a method for reducton PAPR what is the values of parameters that make the method reduction best from another method.
    SER versus SNR OR CDF OR What
    Thanks agian for your contribution in this field .

    1. @algenaby: I tend to think that there is no best way of comparison. The CDF curve will help us to show directly the performance of various PAPR reduction schemes. Then one would be interested to know whether the reduction in PAPR affected the desired signal. There a symbol error rate vs SNR is desired.

  51. Hi Khrisna,
    I have simulated the CCDF with QPSK and 16QAM and i notice that when i used 16QAM the ccdf is slightly better than ccdf with QPSK. Is it make sense? If yes, what is the reason? Thank you for your help

    1. @Filbert: Yes, I think it makes sense. When the modulation is 16QAM, with the modulation alphabets being {+-3,+-1} + j{+-3,+-1}, the chances of all the subcarriers have identical modulation is lower than when the modulation is QPSK (+-1 +-j). Since the chances of having identical modulation is lower for 16-QAM, the PAPR is slightly lower for 16-QAM.

      Does this explanation makes sense? Plz share your thoughts.

      1. Khrisna, after i have some readings i found that the PAPR for 16QAM should be worst than QPSK since 16QAM system needs more power than QPSK.
        I think it is possible because
        [abs({+/-1,+/-3}+ j{+/-1,+/-3})]^2 is greater than [abs({+/-1}+ j{+/-1})]^2
        What do you think?

        1. @Filbert: Well, no I do not think so. Recall that PAPR is a relative measure rather than an absolute one. Further for 16QAM constellations, to normalize the transmit power to 1, there is scaling by 1/sqrt(10).

  52. Ok sir, Which other methods are u familiar with which can help in the reduction of this PAPR (Taking DVB into considerstion).
    Once more your assistance would be greatly appreciated.

      1. Hi Krishna, this site has been useful to me for a better understanding in PAR problem on OFDM Systems..

        Couldo please upload here a post for describing (pseudolenguage) or matlab code how to implement a simple scrambling to mitigate PAR?

        Thanks in advance.


        1. @Victor: I have not published any scrambler code, though it should be reasonably simple to code.
          The idea is that any long sequence of zeros or 1’s can result in all sinusoidals adding constructively leading to high PAPR. This can be avoided using a scrambler.

  53. Hi to all,

    I am doing my research in the area 4G systems. One of my paper need PAPR reduction techniques. Do any one have Matlab code for clipping and filtering?

    1. @Bijukumar: Clipping is a simple, though a brute force way of PAPR reduction. The concept is that any signal above or below a defined rail is clipped to the rail i.e.
      y(t) = x(t) , if -v <= x(t) < v = -v, if x(t) < -v = v , if x(t) >= v
      However, as you may be aware clipping is a non-linear operation. So, it introduces additional unwanted frequency components both in the inband and outband frequencies. The outband frequencies may be suppressed by having a simple FIR filter. However, note that the unwanted inband frequencies will result in degraded EVM.

  54. Sir, I read your write up its very nice.
    I am a new user of matlab and working on a project on the reduction of the Peak to average power ratio problem in OFDM (For digital video bradcasting system, DVB). Could you please help me with the matlab code for soft compression method. Thanks for your assistance.

  55. Hi Khrisna,

    Me again! I know that you use pwelch (in the other code) to plot the PSD but by default, pwelch will use hamming window. Do you have any idea how to plot the original signal in the same plot as the one with the hamming window.

    I tried the following for the original psd but I don’t think I can compare the result with the pwelch:
    st_fft=1/nFFTsize *fft(st,nFFTsize);

    but I can’t compare it to the one with hamming window (size 50 here):
    [Pxx Wxx]= pwelch(st,50,10,nFFTSize*f,0.3125*nFFTSize)

    Thanks again for your advice.

    1. @Claire: Well, are you saying that you are unable to compare the two spectrum plots, obtained via (a) fft and (b) pwelch?
      Well, one key aspect is to define the x-axis appropriately. If the sampling frequency of the signal st is fs, then from the output of fft, use
      similiarly for the pwelch output also, use
      plot([-nFFTsize/2:nFFTsize/2-1]*fs/nFFTsize,10*log10(abs(fftshift(Pxx))); % do not use Wxx

      Further, I do not understand some of the parameters which you have passed onto pwelch(). As I recall passing only the fftsize and sampling frequency suffice (for most uses).

      Hope this helps.

  56. hai friends,
    akansha jain, Srabani Mohapatra, Gulap, srabani mohapatra, Jenny. i think u all are familiar with the ” clipping and filtering ” in that i want signal to clipping noise ratio plot.

  57. Hi Khrisna,
    How are you? I am now trying to simulate the receiver of OFDM (to calculate BER) while in the transmitter i use clipping and filtering.
    I got confused one thing. When i use filtering, i think there are some information lost. So what should i do? Thx

    1. @Filbert: Well, if the filter frequency response is flat in the region where the OFDM spectra is present, there should be any loss. Try plotting the frequency response of the filter and the spectrum of the OFDM waveform to confirm that this is indeed the case. Good luck.

  58. hai sir
    i am doing a papr reduction in ofdm via “rapeated clippig and filtering” . i have seen many tagss related to this topic, if any one familiar with this please help me, i am very near to my project dead line . provide me any program

    1. hai friends,

      akansha jain, Srabani Mohapatra, Gulap, srabani mohapatra, Jenny. i think u all are familiar with the ” clipping and filtering ” in that i want signal to clipping noise ratio plot.

  59. Hi,
    Can anyone please tell me the basic theoretical explanation of what causes PAPR to change when I am going from DC to sine wave or triangular wave.
    Thanks in advance

    1. @akansha: Well, let us consider
      (a) DC : We know that the peak value of DC is same as the average value. Which means PAPR = 1 (0dB)
      (b) Sine wave: If we consider a sine of sin(wt), its peak value is 1 and the average value 1/2. So the PAPR is 2 (3dB)

  60. Hi Mr.Krishna.
    Iam very Impressed by your contribution in solving OFDM problems such as PAPR reduction ,also I hope to help me by provide me code that necessary for this problem specially Clipping and filttering method.

    1. @algenaby: Clipping should be reasonably easy to implement, no? The clipping can be implemented independently on the real and imaginary part as follows:
      y(t) = x(t), if -thr < x(t) =thr
      = -thr, if x(t) <= -thr

      Following, this operation it can be followed by a simple fir filtering.

        1. Thanks for reply ,you mean after add perfix cyclic code the signal is x(t),and before add noise we examine the your condition on the signal x(t) for simple clipping and filter method

          conditions are:-
          y(t)=x(t) for x(t)<TH y(t)=TH oterwise
          This condition can be applied on both real and imaginary part of x(t) independently

  61. Hi,
    Can anyone please tell me how I can use data of my matlab file in RF tool box. Because to my knowledge we can only read data from file having extension as .amp,.snp,.hnp,.ynp.
    I am unabe to read data from my matlab code.Please help.
    Thanks in advance

  62. When I tried to normalise the ifft by multiply it with nFFTSize to be :
    outputiFFT = nFFTSize * ifft(inputiFFT,nFFTSize);

    When I calculate the PSD, I use :
    [Pxx,W] = pwelch(st,[],[],4096,20);

    but I notice that the PSD value is lower than in the original file where you did not normalise. Can you enlighten me about this?

    1. @Claire: I believe you meant, Pxx=Pxx/nFFTSize (and not Pxx=1/nFFTSize).
      On a lighter note, since nFFTSize > 1, it is reaonably to expect that your Pxx value is smaller, no? 😉

      1. Hi Krishna,

        Yes, you are right, the PXX=Pxx/nFFTsize. That’s right! Silly me. Thanks again!

        I am wondering what is the different between windowing and filtering? Both try to shape the signals to particular setting. After clipping, we can use either window or filter to reduce the OOB but is it just preference? and some people use both filtering and windowing.

  63. Dear sir
    pl. send the OFDM model in matlab with dpsk modualtion and block codes as FEC
    I will be thankfull u Sir

    1. @ MVS Sairam: I have not tried simulating OFDM with DPSK modulation. However you maybe able to use posts on
      (a) OFDM with BPSK modulation
      (b) Coherent demodulation of DBPSK
      as reference

      I have not yet tried simulating block coding scheme. You may have a look at posts on
      convolutional coding scheme @

      Hope this helps.

  64. I am wondering why the result of the PAPR is not a smooth curve eventhough the total bits is high. I tried using semilogy but the result is a bit jagged. I see other PAPR graphs where the result is just a smooth curve. You may have a clue about this?

    To show the PSD, can I use the code 10*log10(abs(fft(st,FFTSize)))? Do I need to fftshift again?


    1. @claire: My replies:
      1. Hmm… maybe if we use more number of OFDM symbols, we can get a smoother curve.
      2. Yes, you need to use fftshift after fft to plot the spectrum from -fs/2 to fs/2.

  65. i’m doing a project reduce Peak to Average Power Ratio for OFDM by clipping and filtering .Could some one help me with the code for this, thank!

  66. hello i m doing a project on reducing the papr of an ofdm s/l.. could some one help me with the code for exponential companding…

    1. @Mukund: Sorry, I am not familiar with using ‘exponential companding for reducing PAPR in OFDM’. Am sure that there will be people out there who are familiar. Please help.

  67. @Jenny:
    I think the effect of clipping and filtering is degradation of BER because there is self interference. So i guess you can try the combination clipping and filtering with coding technique

  68. hi,i’m a beginner in MATLAB Simulink. Currently I’m using MATLAB Simulink for my project. The project is about Reducing Peak to Average Power Ratio (PAPR) in Orthogonal Frequency Division Multiplexing (OFDM) by using Clipping and Filtering. I have designed the clipping and filtering model and applied it into my OFDM system. Theoretically, high PAPR problem in OFDM system can be reduced by clipping method. However, clipping yields out-of-band interference. So, the clipped signal must be filtered. But, after clipped and filtered, the BER performance degraded (around 0.437..). How to get rid of this? Can you give guidance and help? Thanks…

    1. @Jenny: Note that clipping produces both out-of-band and in-band interference. Only the out-of-band interference can be removed by filtering. The in-band interference CANNOT be removed and will cause SNR degradation (hence you observing the degraded BER performance). It is for this reason that clipping is not a preferred way for reducing PAPR.

  69. hi,
    I am doing research on “PAPR Reduction Techniques in OFDM”.I am not able to write MATLAB Code for various PAPR reduction techniques like Clipping,filtering and windowing. Could U please send me the code of these there techniques. I would be highly obliqued for that.

    1. @srabani mohapatra: Sorry, I do not have the code for these techniques. However, I think clipping will be reasonably easy to implement. For any signal level above a threshold, force it to the threshold value.

  70. hi
    i am doing my project in mimo-ofdm using reed solomon code to reduce the peak to average power ratio. pls tell about ur opinion that whether it has existed or not.
    thank you

    1. Hi!Naveenan! am Mahesh and am doing PAPR reduction in mc-cdma using Reed Solomon codes… I have some doubts about simulating it… can u h elp me..?

      with hope,
      Mahesh R

  71. Dear Krishna.

    Its realy nice. It answered many of my questions. Have you worked on reducing PAPR by clipping? If yes can you provide ‘anything’ on the subject. Matlab program will be great.

    Well Done.

    1. @Gulap: Though, I do not have simulation models for reducing PAPR by clipping, I would expect it to be reasonably simple to implement. It would be defining some upper and lower threshold values – any signal above or below that threshold will be saturated to the threshold.

      Though, clipping is simple operation to implement, clipping being a non-linear operation can cause unwanted frequency components to be generated in the desired frequency band and outside the desired frequency band. Both are typically undesirable.

  72. hi krishna
    i want to simulate a MC-CDMA system that in it calculate PAPR and detect diffrent users with BER calculating for rayliegh channel and can not do this completly for this i ask you that if have no problem for you help and give me a matlab file about this problem
    thanks a lot for your attention

  73. @Akansha: As I see, clipping is an operation where the I/Q signals are not allowed to cross a threshold. For example, if the signal swings from -1V to +1V and the clip threshold is +/-0.5V, then signals above 0.5V are forced to +0.5V and signals below -0.5V are forced to -0.5V.

    This is a brute force way for reducing the PAPR. Clipping being a non-linear operation will create unwanted spectral components both in inband and outband of the desired spectrum.

  74. I am not able to get how to implement PAPR reduction code using “Clipping Method”. Can you please help me.

    1. Hi Akansha,

      This is srabani.
      I also doing project in PAPR reduction technique of OFDM.I am new to MATLAB,so i am facing some issues on that.
      so i need ur help
      I need the matlab code clipping and filttering of OFDM system.


    2. hai akansha jain,

      i am doing aproject based on repeated clippig and filtering for papr reduction, if u have any matlab codes please help me

  75. hi,
    I am doing research on “PAPR Reduction Techniques in OFDM”.I am not able to write MATLAB Code for various PAPR reduction techniques like Clipping,Companding,PTS etc. Could U please help me how I can proceed my work providing me with some example. I would be highly obliqued for that.

  76. @umar: Yeah, sometimes the help is not so helpful 😉
    Ok, let me start:
    hist(paprSymboldB,[0:0.5:15]) function computes the number of instances where paprSymboldB take the value 0dB, 0.5dB, 1dB, 1.5dB,…14.5dB, 15dB respectively. The number of elements is stored in n; and x is same as [0:0.5:15].

    From n and the knowledge of the total number of events, one can get probability density function. Further, by doing a cumulative sum cumsum(), one can get the cumulative distribution function.

    Does this help?

  77. Hi, I have one very basic question, and hope you will explain it to me in basic way, i am a novice in MATLAB.
    What does this function actually do. I have copied it from your code. paprSymboldB is a 193 bits vector whereas 0:0.5:15 is a 31 bit vector. What is actually stored in n and x.

    [n x] = hist(paprSymboldB,[0:0.5:15]);

    Please dont use words like one are found in MATLAB help, which i am copying down.

    N = HIST(Y) bins the elements of Y into 10 equally spaced containers and returns the number of elements in each container. If Y is a matrix, HIST works down the columns.

  78. @Elibom: I tried to check the PAPR reduction by multiplying some subcarriers by j (as suggested in 802.11n 40MHz bandwidth). This operation does not reduce the PAPR for the random BPSK/QPSK case 🙁

  79. Hi. Thanks for the prompt responses you provide to the questions. You know that for a high frequency, high bit rate OFDM signal-error vector magnitude (EVM) is an important parameter. Sometimes more important than PAPR-because even if the signal is clipped to a certain degree EVM can be very good.

    Can you reflect on the relationship between EVM, SNR and BER of a QAM (QPSK is 4-QAM) OFDM signals? There is a paper titled -“On the extended relationships among EVM, BER and SNR as performance matrix.” But the equations there have problems. May be you can post some better references.

    1. Hi. Do you have the code for SNR and BER of a QAM (QPSK is 4-QAM) OFDM signals? I am trying to find the BER. But i think my code does not work properly. If you have the code, please send the code at this email address:

  80. @Sakib: As the case with existing 802.11 devices, 802.11n is specified for both 2.4GHz and 5GHz band. The only aspect which people are still debating is to whether 40MHz 802.11n devices should be allowed in 2.4GHz band (as the spectrum is less in that band).

    Further, if you are interested, the VHT (Very High Throughput) group is proposing to extend the wireless lan rates to 1Gbps. There are maybe two proposals, one using the 5GHz band and the other using 60GHz band (overlap with 802.15.3c). You may find the documents @

  81. Thanks. I know it is still in the draft stage. I know the fft size and other OFDM parameters but i am interested specially in the frequency band. Reports say they will be an extension of the current band (but 802.15.3 already have 3.1-10.6 Ghz). Also its not clear if they are going to use only 2.4 GHz and omit 5Ghz. If you can post some comment on the frequency band that will great.

  82. Hi I am looking for the new 802.11n PHY specification. I will be grateful if some one can post it.


  83. @Elibom: Oh yeah, good point. Infact, I think people have started using this approach. If you see the 802.11n High throughput PHY specification, in 40MHz mode, where 128pt FFT is used, the upper 64 subcarriers are multiplied by j.

    As you said, I think, it will result in a lower PAPR. However, I have not done simulations to check. I will run a quick check and do a brief post.

  84. just my 2 cents.

    1) I feel like high PAPR is due to too many independent sub-signals to be added together. For example, 256-chip OFDM may have more chance of high PAPR than 64-chip OFDM.

    2) for OFDM liked multi-carrier signals, if the signal is time-domain cyclic shift, it equals to frequency-domain phase rotation.

    3) why not divide a, say, 256-chip OFDM signal into two, for example, 128-chip OFDM signals, and properly cyclic rotating one 128-chip OFDM tile the PAPR of the added signal is low enough.

    any comments

  85. @Anatoliy: I think most PAPR reduction algorithms require some inverse operations in the receiver. Maybe an approach (which is transparent to the receiver) is to use the information of PA non-linear behaviour and pre-distort the baseband signal such that the final output (baseband+PA) is linear. Just a thought.
    Sorry, I do not think I can offer much help on this topic.

  86. @Anatoliy:
    Sorry for the delayed response. I was out of town over the weekend.
    I was unable to understand your question. What is compression method? Can you please point me to some references.

  87. Hi
    I have one question… please help. I need your help.
    My question is: could we use the reduction method PAPR in DVB-T not only IEE 802.11? For a example, if we use the compression method then the constellation diagram will be distorted and common home-receiver can’t correctly receive a signal.

  88. @sakib: The variable which we are dealing is a complex number and our objective was to find the square of the absolute value of each element and then add them up.

    As you may have figured, the way I did employs a trick using matrix algebra.
    If xt is a vector of size [1 x N], then xt’ is the complex conjugate transpose vector of size [N x 1]. Then, it follows that xt*xt’ -> is a 1×1 matrix which is the sum of the power of absolute value of all the element.

    Does that help?

  89. I have question about the MATLAB code. Why we need to take complex transpose while calculating mean square vale?


  90. @Anatoliy: The best I have done to reduce the PAPR is to have a scrambler in place. The scrambler ensures that the long sequence of ones or zeros are avoided.

    Some relevant links which I picked up from a quick Googling.
    (a) Tone reservation : where some of the unused subcarriers in an OFDM system is modulated to reduce the PAPR.
    (b) MERL has a paper on PAPR reduction by oversampling, soft clipping and filtering.
    PAPR Reduction for WiMAX OFDM Systems
    (c) Nice comp.dsp thread on this topic
    Has The peak-to-average ratio problem of OFDM been solved?

    Sorry, I have not worked on any of the advanced methods. Hence unable to suggest one way or the other.

    Good luck with you investigations. If you wish, kindly update us about your findings. It will be helpful to community 🙂

  91. @umar: May I point you to a often cited paper on this topic.
    “Diversity and multiplexing: A fundamental tradeoff in multiple-antenna channels” – Lizhong Zheng Tse, D.N.C.
    This paper appears in: Information Theory, IEEE Transactions on Publication Date: May 2003

    I have not studied the paper enough to write a post on it. However, I think that the paper should give you valuable pointers. Hope this helps.

  92. Firstly thanks for the responce and sorry for the delayed question for i was not able to get to the desk.

    Thanks for the BER v.s. distance help, i think i will manage something from the guidance given.

    But for the SNR vs outage probability, i am afraid the pointer you have provided only allows access to few pages and that too the unimportant one. I would request you to please help me in this regard and tell me how can i calculate required or threshold rate from the general capacity equation and how can i get the graph between snr and outage as we have to varry the capacity and form there get the snr. I am totally confused, need urgent help.
    May be you can write a blog-post for this point only.

  93. @umar:
    On a closer look at the queries, I think each of the questions requires a blog-post or more to explain… 🙂

    Anyhow, let me try to provide my brief thoughts and some pointers.

    Firstly, I do not have the Matlab code available for any of the simulation parameters listed below.

    Trying to answer:
    1)BER v.s. No of users (capacity)
    [krishna] In an OFDMA system the number of users depends on the number of sub-carriers, each user being allocated a chunk of sub-carrriers. If the sub-carriers are orthogonal, the users do not interfere with each other. However, in the presence of frequency offset (and probably other impairments), there will be ICI (inter-carrier-interference) resulting in noise floor. Do you agree?
    Where you looking for that?

    2)BER v.s. distance
    [krishna] This can be obtained from BER vs SNR plot.
    If you get the path loss equations for the environment, for a given a transmit power, we can know the received power at a given distance. As the receiver noise bandwidth is fixed (typically equal to the signal bandwidth), the signal to noise ratio is defined. So, one can use path-loss to convert SNR to distance.

    3)PDF v.s. CIR (dB)
    [krishna] Probability distribution function (PDF?) of which event?

    4)SNR vs outage probability
    [krishna] Hopefully this link provides you pointers

    5) No of users v.s rate sum capacity.
    [krishna] No clue.

    Further, you can look at Prof. Chockalingam’s publications listed in the URI:

    He has worked on schemes for cancellation of multiuser interference in OFDMA.

    Hope this helps…

  94. @Krishna Pillai
    any of the way will be fine. but if it is a fresh post , please do send me the location.
    Thanking you in anticipation,

  95. @umar: Thanks. I saw the email and I expect to respond mostly by today. If you agree, may I answer via the comments section OR as a fresh post?

  96. @ Krishna Pillai.
    you are the man who has helped me in understanding the OFDMA concept and because of you I decided to do my project in it. But now i am stuck at a point and i want you to help/guide me through the problem. I have given you an personal email and i would request you to help me in understanding/solving the problem as well.

  97. Hi …
    Kindly upload a topic on the OFDM signal derivation equation…
    thanx, i shall be thankful to you for help

  98. Good post. I liked the article. Anyway I am a newcomer in this site. I was looking for a site something like this.

  99. @baibhavshukla:
    I have not worked on papr reduction in OFDM by tone reservation approch. If you can provide me the paper (or the link to it), we can discuss it and then hopefully comeup with a suitable matlab program.
    You can find my email in the Contact Us page.

    1. Dear Sir,

      I have go through your paprofdmbpsk coding. In this code, i cant
      understand some part of the coding. Can you please rectify the doubt?

      My problems are:

      1. inputiFFT(subcarrierIndex+nFFTSize/2+1)= ipMod(ii,:) what is
      happening here…?
      actually i think inputIFFT starts from (7 to 59) because subcarrier
      index range -26 to 26.
      but in MATLAB the array starts from 1 to 64.

      2. what is happening in the program line
      inputiFFT = fftshift(inputiFFT);

      outputiFFT = 64*ifft(inputiFFT,nFFTSize)

      3. finally the basic question whats the reason for range of ifft size
      always twice the number of bits in symbol.

      I am eagerly waiting for your reply. Because i am not sleeping well
      due to finding the solutions.

      Thanks and Regards,

      1. @kalidoss: My replies:
        1. Please look into the post on understanding OFDM transmission and the post on Negative Frequency
        The FFT output of index of [0 to 63]. Outof it indices from [32 to 63] alias and correponds to indices [-32 to -1].

        2. fftshift() does the re-arrangement of sucbarriers to handle the aliasing
        ans = [ 4 5 6 7 0 1 2 3 ]

        3. Did not quite understand.

        4. Sleep well. Typically, the answers come to us, when we sleep well.

  100. I am doing project on PAPR reduction in OFDM by selective tone reservation method can you help me to ind matlab program

    1. hi sir
      i am doing a project based on papr reduction in ofdm via tone reservation.
      can you help me to do this matlab program

        1. hai sir

          i am doing project on papr reduction in ofdm via tone reservation. i have found a tag related to tone resevation in this site, his name is BAIBHAVSHUKLA.”please give me his contact details (id or phone number)”.

  101. hi,
    thanks for providing such helpful site. i got alot on this site for which i was looking for a long ………………….

Leave a Reply

Your email address will not be published. Required fields are marked *