DSPRelated.com
Forums

PAPR

Started by mohamed hussien April 10, 2008
Hi,
Im trying to calculate the PAPR in OFDM system, but I
dont know why there is no result? I know there is
something wrong! Can any one help me to get it?
this is my program code
close all
clear all
clc;
M = 64; % QAM Modulation Level
N = 256; % IFFT Size
% QAM 16 MODULATION
data = qammod(randint(1,N,M),M);
% CALCULATE PAPR OF BASELINE OFDM

ofdm_out =sqrt(length(data))*ifft(data);
pbofdm = max(abs(ofdm_out));
avbofdm = mean(abs(ofdm_out));
PAPRbofdm = pbofdm/avbofdm;
%Rx.
rxof = (1/sqrt(length(data)))*fft(ofdm_out);
%PAPR CCDF CALCULATION
[ofdm_ecdf, ofdmi]f(PAPRbofdm);
ofdm_ccdf=1-ofdm_ecdf;
%
figure
semilogy(abs(ofdmi), ofdm_ccdf);
legend('OFDM');
title('PAPR for OFDM');
xlabel('PAPR_0 (dB)');
ylabel('Probability (PAPR > PAPR_0)'); grid on;
%
Hi Mahamed,

First, note that you need use absolute square in calculation of PAPR. So,
use pbofdm = max(abs(ofdm_out).^2); and avbofdm = mean(abs(ofdm_out).^2).

The second thing is you need to give array for plotting cdf. So, find PAPR
for different realizations of data to obtain a vector of PAPR and use this.
Regards,
Nanda Kishore.

On Thu, Apr 10, 2008 at 12:00 PM, mohamed hussien
wrote:

> Hi,
> I'm trying to calculate the PAPR in OFDM system, but I
> don't know why there is no result? I know there is
> something wrong! Can any one help me to get it?
> this is my program code
> close all
> clear all
> clc;
> M = 64; % QAM Modulation Level
> N = 256; % IFFT Size
> % QAM 16 MODULATION
> data = qammod(randint(1,N,M),M);
> % CALCULATE PAPR OF BASELINE OFDM
>
> ofdm_out =sqrt(length(data))*ifft(data);
> pbofdm = max(abs(ofdm_out));
> avbofdm = mean(abs(ofdm_out));
> PAPRbofdm = pbofdm/avbofdm;
> %Rx.
> rxof = (1/sqrt(length(data)))*fft(ofdm_out);
> %PAPR CCDF CALCULATION
> [ofdm_ecdf, ofdmi]f(PAPRbofdm);
> ofdm_ccdf=1-ofdm_ecdf;
> %
> figure
> semilogy(abs(ofdmi), ofdm_ccdf);
> legend('OFDM');
> title('PAPR for OFDM');
> xlabel('PAPR_0 (dB)');
> ylabel('Probability (PAPR > PAPR_0)'); grid on;
> %
>
>