1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4.75 out of 5)
Loading ... Loading ...
Print Print

Trying out PAPR reduction for OFDM by multiplication with j

by Krishna Sankar on July 2, 2008

In this post, we will explore a probable way of reducing PAPR (peak to average power ratio) in OFDM by changing the phase of some of the subcarriers. This is in response to the comment to post on Peak to Average power ratio for OFDM, where Mr. Elibom suggested to reduce the PAPR by cyclically rotate some of the subcarriers and using.

Further, the presentation in the IEEE TGN, PAPR in HT-LTF (11-06/1595r1), mentions that in 40MHz mode where a 128pt FFT is used, PAPR of HT-LTF (High Throughput Long Training Field) can be reduced by multiplying the upper 20MHz subcarriers by j. Using quick Matlab simulations, we will try to validate that claim for HT-LTF and further check the PAPR for a general random BPSK and QPSK modulation.

PAPR in HT-LTF

The HT-LTF sequence for the TG-N draft specification is described in page 35 of the Joint Proposal PHY specification document (11-05/1102r4). Note: The specification has evolved considerably over the past 2.5 years (and is not yet publically available), but for discussion on HT-LTF this document should suffice.

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

Expressing in deciBels,
.

Matlab/Octave script for computing PAPR in HT-LTF
close all; clear all;
nFFT = 128; nDSC = 114;
% The 128pt HT-LTF sequence for 40MHz as defined in 11-06/1595r4
htLTF = [ zeros(1,6) 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 ...
1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 0 ...
0 0 -1 1 1 -1 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 ...
1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 zeros(1,5)];


x1F = htLTF; % no rotation
x2F = [htLTF(1:64) j*htLTF(65:128)]; % with 90degree rotation


% Taking iFFT, time domain
x1t = (nFFT/sqrt(nDSC))*ifft(fftshift(x1F.')).'; % no rotation
x2t = (nFFT/sqrt(nDSC))*ifft(fftshift(x2F.')).'; % with rotation


% computing the peak to average power ratio for symbol without rotation
meanSquareValue1 = sum(x1t.*conj(x1t),2)/nFFT;
peakValue1 = max(x1t.*conj(x1t),[],2);
paprSymbol1 = peakValue1./meanSquareValue1;
paprSymbol1dB = 10*log10(paprSymbol1)
% computing the peak to average power ratio for symbol with 90 degree rotation
meanSquareValue2 = sum(x2t.*conj(x2t),2)/nFFT;
peakValue2 = max(x2t.*conj(x2t),[],2);
paprSymbol2 = peakValue2./meanSquareValue2;
paprSymbol2dB = 10*log10(paprSymbol2)

As claimed in slide7 of power point presentation PAPR In HT-LTF (11-06/1595r1), the PAPR with

(a) No rotation is 5.6317dB and

(b) With 90 degree rotation is 3.4066dB.

So, around 2.2dB reduction in PAPR is achieved. :)

PAPR for random BPSK and QPSK

Armed with the above result, I tried to simulate the PAPR for with random BPSK (and QPSK) modulation on a 128pt FFT with and without rotating the upper 20MHz subcarriers by j.

Click here to download the Matlab/Octave script for simulating PAPR for BPSK/QPSK modulation OFDM with j rotation

The results from the simulations is shown below.

OFDM PAPR for BPSK/QPSK with j rotation

Figure: OFDM PAPR for BPSK/QPSK with j rotation

Observations

1. For random BPSK sequence, the multiplication by j resulted in increase of PAPR by around 0.5dB.

2. For random QPSK sequence, the PAPR with and without multiplication by j is almost the same.

Based on the above simulation results, may I conclude that there is no noticable reduction in PAPR by multiplying upper 20MHz subcarriers by j. There might be some special cases (like HT-LTF sequence), where the multiplication by j reduces PAPR. However for random BPSK/QPSK sequence, there is no improvement. :(

D id you like this article? Make sure that you do not miss a new article by subscribing to RSS feed OR subscribing to e-mail newsletter. Note: Subscribing via e-mail entitles you to download the free e-Book on BER of BPSK/QPSK/16QAM/16PSK in AWGN.

{ 47 comments… read them below or add one }

saru April 5, 2012 at 8:30 pm

hi could u please help me to design a high power amplifier in ofdm. i need it

Reply

Krishna Sankar April 10, 2012 at 4:36 am

@saru: emailed you the instructions

Reply

Radhika January 18, 2012 at 10:09 pm

Can u plz help me on the topic of PAPR Reduction by using companding and interleaving..?Can u provide me with the MATLAB Code..????

Reply

Krishna Sankar January 23, 2012 at 5:29 am

@Radhika: Sorry, I have not studied that topic.

Reply

Meryem February 24, 2010 at 4:41 pm

Hi (Krishna),
First, Thanks for the particularly interesting information about the PAPR for BPSK/QPSK modulation OFDM with j rotation. I am working on PAPR reduction methods for OFDM. Lately I found a method where they use Selected Mapping to reduce PAPR. Did you ever worked with this method and could you give me some instructions how I can implement this in matlab?
Thank you very much.
Kind regards,
Meryem

Reply

Krishna Sankar March 31, 2010 at 5:12 am

@Meryem: Sorry, I have not worked on selective mapping algorithm to reduce PAPR.

Reply

abdul September 7, 2012 at 2:01 pm

dear Meryem..(Who ever is interested in SLM) (though its too late but may be some one need it)
Implementation of SLM in matlab is very simple. Just use the code provided, and
1) in place of rotating half of the carriers, rotate all of them with a phasor vector
2) You need to have many phasor vectors (I mean 2- any desired number).
3) After rotation take the IFFT with all the phasor vectors used, and choose the one with the lowest PAR!!!
Its the main idea of SLM.. Moreover, for simplicity u can use phasors which are multiple of pi/2 … or u can use random phasors as well!!

Reply

Orson February 1, 2010 at 2:17 am

hello
i have some problems in caculating the PAPR of 16-QAM
for example
max_power=max(X.*conjX)
and
mean_power=mean(X.*conjX)
then
papr=min(10*log10(max_power./mean_power))

right?

Reply

Krishna Sankar April 4, 2010 at 4:33 am

@Orson: You are right, except that you do not need min in the last step
Also, plz refer to the post @
http://www.dsplog.com/2008/02/24/peak-to-average-power-ratio-for-ofdm/

Reply

vinothkumar January 5, 2010 at 9:25 pm

sir, In matlab script of computing papr in HT-LTF,
what is the meaning and need of using [],2. please explain the concept

Reply

velan December 19, 2009 at 8:29 am

Hai all. I would like to know the fixing/deciding the threshold for PAPR value while finding CCDF for various methods.

Reply

Krishna Sankar December 23, 2009 at 5:37 am

@velan: Well, why do you want to have a threshold while plotting the CCDF value?

Reply

Ahmed December 17, 2009 at 9:13 am

The detrimental effect of high PAPR, as we know, is due to the non-linear nature of Power amplifiers. In this respect, can you help to incorporate amplifier back-off in to HPA simulation. Just for your reference the following link http://www.mathworks.com/matlabcentral/fileexchange/15331-ofdm-high-power-amplifier-effects
simulates a non-liner amplifer. I will be obliged if you can share your thoughts abou how to incorcorporate output backoff in this code.
Thanks a lot
Ahmed

Reply

Krishna Sankar December 23, 2009 at 5:28 am

@Ahmed: Well, to prevent the power amplifier to operate in the nonlinear region, we can reduce the signal power (with the penalty of efficiency) such that the peak of the signal does not cause the PA to move into the non-linear region of operation.

Reply

SREENU November 18, 2009 at 10:59 am

sir
how i can calculate the throughput of WLAN OFDM system

Reply

Krishna Sankar December 6, 2009 at 3:49 pm

@SREENU: I would recommend you to go over the paper
Throughput and Delay Limits of IEEE 802.11, Yang Xiao, Jon Rosdahl, IEEE COMMUNICATIONS LETTERS, VOL. 6, NO. 8, AUGUST 2002
Its available online and you should be able to find it by quick googling. Good luck.

Reply

Ricardo November 13, 2009 at 11:36 pm

How can I calculate PSD in Octave? Because it doesn’t cognize pwelch.

Reply

Krishna Sankar December 3, 2009 at 5:28 am

@Ricardo: You can download pwelch() from Octave Source Forge
http://octave.sourceforge.net/doc/signal.html#Powerspectrumanalysis

Reply

Ahmed sabbir November 2, 2009 at 2:45 pm

Hi Krishna!
Thanks a lot for your helpful post. I have a query regarding the effect of oversampling on the calculated PAPR. Literature survey shows that a oversampling factor of L=4 is needed to have a true estimation of PAPR. However, I am not finding any such influence. In more details, if I insert N*(L-1)[N is the iFFT size] 0′s in the middle of vector containing the modulated symbol vector (htLTF here) (i.e., oversampling with factor of L)and feed it into IFFT, I find no change in PAPR compared to when no oversampling is done. What I find is that the mean and peak changes but the ratio remains constant. Am I missing something?
Hoping for your response.
Ahmed

Reply

Krishna Sankar November 8, 2009 at 8:37 am

@Ahmed sabbir: Sorry, I am also not very well aware for the need for doing oversampling to form a better estimate of PAPR.

Reply

Ahmed December 10, 2009 at 11:07 am

Just for an update..I did find difference in the estimation.there was a bug in my previous code I guess.
One request. Can you help to incorporate amplifier back-off in to HPA simulation. Just for your reference the following link http://www.mathworks.com/matlabcentral/fileexchange/15331-ofdm-high-power-amplifier-effects
simulates a non-liner amplifer. Iwill be obliged if you can share your thoughts abou how to incorcorporate output backoff in this code.
Thanks a lot
Ahmed

Reply

srnu October 27, 2009 at 10:01 pm

thank you ver much sir

Reply

srinu October 26, 2009 at 9:20 am

sorry , i got that thank you very much

Reply

srinivas October 18, 2009 at 10:29 pm

sorry, i had one more doubt (is about power spectral density:PSD)
how to calculate PSD And where we will calculate PSD (i.e at Tr. or at Rr.) in MIMO-OFDM.
will you send syntax for PSD (x-axis: freq./bandwidth, y-axis:PSD(dBr) )
thank you very much…………………

Reply

Krishna Sankar October 27, 2009 at 5:11 am

@srinivas: We can calcluate PSD at transmit or receive for each antenna in a MIMO link. You can use pwelch for plotting a PSD. For eg, in the post on http://www.dsplog.com/2008/02/03/understanding-an-ofdm-transmission/, I have used it as
[Pxx,W] = pwelch(st,[],[],4096,20);
where
st – is the time domain wave form
4096 – is the number of points in frequency domain
20 – is the sampling clock

Reply

Michael February 9, 2012 at 2:06 pm

Hi ,dear Krishna, the same question.

our sampling rate is 20 000 000 ,but ,you put in that function you just use 20?why?it really confuse me .

thanks!
Regards

Reply

Krishna Sankar February 10, 2012 at 6:03 am

@Michael: Shouldn’t matter, as sampling frequency is notional in matlab

Reply

srinu October 15, 2009 at 12:00 am

dear sir,
i have one doubt in the above fig: CDF plots of PAPR 128pt(bksk,qpsk),
here PAPR=6.25 ( bpsk ) and PAPR=6.5 (bpsk-j) for CDF=0.4 &
PAPR=5.6 ( bpsk ) and PAPR=6.1 (bpsk-j) for CDF=0.2 etc.. so how we can say PAPR is less in bpsk with j rotation.
please will you give detailed explanation about that and how we can compare PAPR performance with CDF.
thanking you .

Reply

Krishna Sankar October 15, 2009 at 5:34 am

@srinu: If you read my observation (stated just below the figure), you can see that
“Based on the above simulation results, may I conclude that there is no noticable reduction in PAPR by multiplying upper 20MHz subcarriers by j. There might be some special cases (like HT-LTF sequence), where the multiplication by j reduces PAPR. However for random BPSK/QPSK sequence, there is no improvement”
Helps?

Reply

srinivas August 16, 2009 at 9:04 pm

hi
i have to do academic project “peakā€“to-average power ratio reduction in OFDM modulation” in Matlab(DSP). Please can you give me the Matlab Code for this project. Please do it.

Reply

Krishna Sankar August 18, 2009 at 3:49 am

@srinivas: Good luck for your academic project.

Reply

deepika July 28, 2009 at 11:26 am

sir,
can u plz tell me wat is the relation between HTLTF and an ofdm signal?

Reply

Krishna Pillai July 29, 2009 at 5:34 am

@deepika: HT-LTF stands for High Throughput Long Training Field. Its the name for a preamble symbol used in 802.11n PHY specifications.

Reply

jake July 21, 2009 at 12:07 am

noteable reduction in PAPR has been observed in OFDM systems implementing PTS and Selective mapping. Have you tried simulating SLM in matlab?

Reply

Krishna Pillai July 24, 2009 at 3:55 am

@jake: Sorry, I have not tried modeling selected mapping for PAPR reduction in OFDM systems

Reply

ali jaleel taher July 8, 2009 at 3:21 pm

good morning sir id like to give me m file about partial transmit sequence(pts) used to reduce papr in ofdm system and calculation of ber in pts

Reply

Krishna Pillai July 15, 2009 at 4:48 am

@ali jaleel taher: Sorry, I have not tried modeling partial transmit sequence for reducing PAPR.

Reply

ali jaleel taher /iraq June 16, 2009 at 3:33 pm

matlab partial transmit sequance (pts)used to reduce papr in of and clippinng method to reduce papr and calculating ber in pts and clliping

Reply

Krishna Pillai June 20, 2009 at 10:52 am

@ali jaleel taher: Sorry, I did not follow your question

Reply

Claire February 16, 2009 at 7:31 am

Sorry, another question, if you add the cyclic prefix (for OFDM), do you calculate the meansquare and peak value after the CP is inserted or before the CP is inserted? Thanks again

Reply

Krishna Pillai February 20, 2009 at 6:02 am

@Claire:
Cyclic prefix does not affec the peak value as the cyclic prefix is just a copy of the exisiting symbol. So if a peak valure is present in the cyclic prefix, the same peak value is present in the symbol itself.

For the mean square value also, the cyclic prefix does not make a difference. If we use cyclic prefix for mean square value computation, we need to have a higher value for scaling when computing the mean.

Hope this helps.

Reply

Claire March 11, 2009 at 6:37 pm

Thanks for your help! Your site (and your answers) has been very helpful to understand OFDM and other wireless parameters.

Reply

Krishna Pillai March 21, 2009 at 7:11 am

@Claire: Glad to help. :)

Reply

Claire February 16, 2009 at 7:13 am

Hi,

I am wondering why do you do fftshift when taking time domain (in the ifft function)? and also why in the sum and max function, you use the dimension 2? Can I for example replace it with 1? It is for the row isn’t it? Thanks (sorry for the basic question)

Reply

Krishna Pillai February 20, 2009 at 6:00 am

@Claire: My replies:

1. fftshift is used for visualizing the fft output. fft out gives a vector with dimesion [0 to 63], however, the values from the indices [32 to 63] correspond to spectrum @ [-32 to -1]. I have written posts on
(a) http://www.dsplog.com/2007/06/17/interpreting-the-output-of-fft-operation-in-matlab/
(b) http://www.dsplog.com/2008/08/08/negative-frequency/
Hope the above posts help you understand fftshift().

2. This parameter controls the which dimension of the matrix should be used for finding sum, max. Please refer to the help in matlab.

Reply

abuy January 22, 2009 at 2:25 pm

agh matlab nya ga bs di donlot..
gad isiny..
terlalu sedikit isiny..

Reply

shobi July 9, 2008 at 11:27 am

the information submitted is very useful for the projects based on papr in ofdm

Reply

Leave a Comment

Previous post:

Next post: