classdef CCDFMeasurementsSpecification< AbstractMeasurementsSpecification
%CCDFMeasurementsSpecification CCDF measurements properties for the
%Spectrum Analyzer.
% CCDFMeasurementsSpecification contains the properties used by the
% Spectrum Analyzer CCDFMeasurements property. CCDF measurements
% computes and displays the probability of a signal's instantaneous
% power being a above the signal's average power.
%
% CCDFMeasurementsSpecification properties:
%
%   PlotGaussianReference      - Show a reference CCDF curve of
%                                additive white gaussian noise
%   Enable                     - Enable CCDF measurements
%
% % EXAMPLE 1: Use CCDF measurements with dsp.SpectrumAnalyzer System
% % object scope
% sine = dsp.SineWave('Frequency',[98 100],'SampleRate',1000);
% sine.SamplesPerFrame = 1024;
% scope = dsp.SpectrumAnalyzer('SampleRate',sine.SampleRate, ...
%     'PlotAsTwoSidedSpectrum',false,'ShowLegend',true);
%
% % Enable CCDF measurements
% scope.CCDFMeasurements.Enable = true;
%
% % Set CCDF PlotGaussianReference property
% scope.CCDFMeasurements.PlotGaussianReference = true;
%
% for i=1:100
%     scope(sine() + 0.05*randn(1024,2));
% end
%
% release(scope);
%
% % EXAMPLE 2: Use CCDF measurements with Spectrum Analyzer block
% % Create a model based on 'dsp_basic_filter' template
% [~,mdl] = fileparts(tempname);
% open_system(new_system(mdl,'FromTemplate','dsp_basic_filter'));
% saBlock = find_system(mdl,'BlockType','SpectrumAnalyzer');
%
% % Enable CCDF measurements
% scopeConfig = get_param(saBlock{1},'ScopeConfiguration');
% scopeConfig.CCDFMeasurements.Enable = true;
%
% % Set CCDF PlotGaussianReference property
% scopeConfig.CCDFMeasurements.PlotGaussianReference = true;
%
% % Run simulation
% sim(mdl,'StopTime','20');

     
    %   Copyright 2018 The MathWorks, Inc.

    methods
        function out=CCDFMeasurementsSpecification
            %CCDFMeasurementsSpecification Construct the
            %CCDFMeasurementsSpecification class.
        end

        function getDefaultMeasurementsSpec(in) %#ok<MANU>
        end

        function getMeasurementUpdatedEventName(in) %#ok<MANU>
        end

        function getPropertyGroups(in) %#ok<MANU>
            % This method is used to selectively display public properties
            % based on values of other properties.
        end

        function setupMeasurementObject(in) %#ok<MANU>
        end

    end
    properties
        MeasurerName;

        %PlotGaussianReference Show a reference CCDF curve of additive
        %white gaussian noise
        %   Set this property to true to plot a reference CCDF curve. The
        %   default is false.
        PlotGaussianReference;

    end
end
