# Block by block CCDF and PAPR analysis in MATLAB

There are few signals (OFDM-like modulation scheme with uniformly distributed data source) generated by my script. I need to compare scheme performance in sense of CCDF (Complementary Cumulative Distribution Function) and PAPR (Peak to Average Power Ratio). There are MATLAB build-in system object comm.CCDF, and it seems that it needs a full sequence for analyze process. But my signals are generated block by block (for example block may contain $${10}^5$$ frames each of 1024 samples). The whole sequence may contain over $${10}^6$$ blocks, and i need to reallocate memory just to prevent run out.

Is there any way for my sequence to be analyzed block by block to get PAPR and CCDF properties of the whole sequence?

## 1 Answer

PAPR of an OFDM-like system is typically calculated analytically: What's the the output signal with the highest possible peak? How high is that? Divide by average output power, done.

CCDF is just 1-CDF. Taking a wild guess, your OFDM-like system does a linear combination of independent, identical random variables (like in the DFT formula). The central limit theorem applies, and you get a Gaussian CDF for the amplitude with zero mean and variance equal to the average output power. Also not hard to calculate!

I'd argue that CCDF can relatively reliably be approximated by a monte carlo simulation (i.e. you just modulate a lot of random data, and observe a histogram of that, approximating the CDF). PAPR, not so much, because it is a peak statement, and with large OFDM-like symbols, the search space might simply get too large, and unless you do more math than you'd do to find the PAPR directly analytically, you can't make a statement about how close to the actual PAPR your monte-carlo based PAPR is.