PAPR Reduction-PTS Algorithm
This section of MATLAB source code covers PTS Algorithm for LTE IQ packet PAPR reduction.
Why to reduce PAPR?
The PAPR stands for Peak to average power ratio of a time domain signal x(t). It is the ratio between maximum instantaneous power and its average power. It has been found that if PAPR is lower, power efficiency is higher and hence increase the battery usage for long time. In this page we will see PTS algorithm used for PAPR reduction.There are other techniques also,pls. refer PAPR article.
In PTS, data symbols in X are partitioned in to M disjoint sub blocks X(i), where 1 <= i <= M, such that
X = SUM( X(i)) ; 1 <= i <= M
The sub blocks X(i) are transformed in to M time-domain partial transmit sequences. x(i) = IFFT (X(i)) ; 1 <= i <= M
These sequences are independently rotated by some phase factors, bi equal to exp(j*φi) ; 1 <= i <= M.
These are then combined to produce the time domain OFDM signal packet back,
x = SUM(bi * x(i) ; 1 <= i <= M
PTS algorithm selects a vector bi such that the PAPR of the corresponding transmit sequence x(t) will be the lowest. IQ vector of different wireless standards will have different PAPR time domain pattern based on complex modulation schemes used and OFDM/OFDMA structure. Hence during simulation vivid iterations need to be carried out.
Download Input vector and load in the matlab workspace
Download following IQ vector and load or import into the matlab workspace and run the following matlab code to check the results.
PAPR matlab code
Load any baseband IQ vector and apply following algorithm. Plot the CCDF curve for the input IQ packet as well as output(after PTS algorithm is applied) IQ packet. Following IQ vector is for the LTE vector signal with 1.4MHz bandwidth and FFT size of 128.
CZ= [B1' B2' B3' B4' B5' B6' B7' B8' B9' B10' B11' B12' B13' B14']
%%%%%implementing pts algorithm
B1Z= [B11' B21' B31' B41' B51' B61' B71' B81' B91' B101' B111' B121' B131' B141']
%%% creating input vector to provide as input for PTS algorithm
%%%This is impaired packet
tau=[0.0 0.4 0.9];
pdb=[0 -15 -20];
chan = rayleighchan(ts,doppler,tau,pdb);
%TS is the sample time of the input %0.1e-3;
%signal, in seconds. FD is the maximum Doppler shift, in Hertz. %100 Hz
[N,Z3] = hist(abs(B1Z), 1792);
[N,Z3] = hist(abs(map_out_chl), 1792);
Plot with and without PAPR
Useful Links to MATLAB codes
Refer following as well as links mentioned on left side panel for useful MATLAB codes.
OFDM Preamble generation Time off estimation corr Freq off estimation corr channel estimation 11a WLAN channel PN sequence generation OFDMA Tx Rx AES DES carrier aggregation CCDF FIR Filter IIR Filter Low Pass FIR Viterbi decoder CRC8 CRC32