Documentation

comm.CCDF System object

Package: comm

Measure complementary cumulative distribution function

Description

The CCDF object measures the probability of a signal's instantaneous power to be a specified level above its average power.

To measure complementary cumulative distribution of a signal:

  1. Define and set up your CCDF object. See Construction .

  2. Call step to measure complementary cumulative distribution according to the properties of comm.CCDF. The behavior of step is specific to each object in the toolbox.

Construction

H = comm.CCDF creates a complementary cumulative distribution function measurement (CCDF) System object™, H, that measures the probability of a signal's instantaneous power to be a specified level above its average power.

H = comm.CCDF(Name,Value) creates a CCDF object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

Properties

NumPoints

Number of CCDF points

Specify the number of CCDF points that the object calculates. This property requires a numeric, positive, integer scalar. The default is 1000. Use this property with the MaximumPowerLimit property to control the size of the histogram bins. The object uses these bins to estimate CCDF curves. This controls the resolution of the curves. All input channels must have the same number of CCDF points.

MaximumPowerLimit

Maximum expected input signal power

Specify the maximum expected input signal power limit for each input channel. The default is 50. Set this property to a numeric scalar or row vector length equal to the number of input channels. When you set the this property to a scalar, the object assumes that the signals in all input channels have the same expected maximum power. When you set this property to a row vector length equal to the number of input channels, the object assumes that the i-th element of the vector is the maximum expected power for the signal at the i-th input channel. When you call the step method, the object displays the value of this property is in the units that you specify in the PowerUnits property. For each input channel, the object obtains CCDF results by integrating a histogram of instantaneous input signal powers. The object sets the bins of the histogram so that the last bin collects all power occurrences that are equal to, or greater than the power that you specify in this property. The object issues a warning if any input signal exceeds its specified maximum power limit. Use this property with the NumPoints property to control the size of the histogram bins that the object uses to estimate CCDF curves (such as control the resolution of the curves).

PowerUnits

Power units

Specify the power measurement units as one of dBm | dBW | Watts. The default is dBm. The step method outputs power measurements in the units specified in the PowerUnits property. When you set this property to dBm or dBW, the step method outputs relative power values in a dB scale. When you set this property to Watts, the step method outputs relative power values in a linear scale. When you call the step method, the object assumes that the units of MaximumPowerLimit have the same value you specified in the PowerUnits property.

AveragePowerOutputPort

Enable average power measurement output

When you set this property to true, the step method outputs running average power measurements. The default is false.

PeakPowerOutputPort

Enable peak power measurement output

When you set this property to true, the step method outputs running peak power measurements. The default is false.

PAPROutputPort

Enable PAPR measurement output

When you set this property to true, the step method outputs running peak-to-average-power measurements. The default is false.

Methods

cloneCreate CCDF measurement object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
getPercentileRelativePowerGet relative power value for a given probability
getProbabilityGet the probability for a given relative power value
isLockedLocked status for input attributes and nontunable properties
plotPlot CCDF curves
releaseAllow property value and input characteristics changes
resetReset states of CCDF measurement object
stepMeasure complementary cumulative distribution function

Examples

expand all

Obtain CCDF curves for 16-QAM and QPSK signals

% Create a rectangular QAM modulator, a QPSK modulator, and an AWGN Channel
    hQAM = comm.RectangularQAMModulator(16);
    hQPSK = comm.QPSKModulator;
    hChan = comm.AWGNChannel('NoiseMethod',...
                         'Signal to noise ratio (SNR)', 'SNR', 15);
 % Create a CCDF System object and request average power and peak
 % power measurement outputs
    hCCDF = comm.CCDF('AveragePowerOutputPort', true, ...
                         'PeakPowerOutputPort', true);
 % Modulate signals
    sQAM = step(hQAM,randi([0 16-1],20e3,1));
    sQPSK = step(hQPSK,randi([0 4-1],20e3,1));
 % Pass signals through an AWGN channel
    hChan.SignalPower = 10;
    sQAMNoisy = step(hChan,sQAM);
    hChan.SignalPower = 1;
    sQPSKNoisy = step(hChan,sQPSK);
    % Obtain CCDF measurements
    [CCDFy,CCDFx,AvgPwr,PeakPwr] = step(hCCDF,[sQAMNoisy sQPSKNoisy]);
    % plot CCDF curves using the plot method of the CCDF object
    plot(hCCDF)
    legend('16-QAM','QPSK')

Was this topic helpful?