Products & Services Solutions Academia Support User Community Company

Learn more about Communications Toolbox   

commmeasure.ACPR - Create adjacent channel power measurement object

Syntax

h = commmeasure.ACPR
h = commmeasure.ACPR('PropertyName',PropertyValue,...)

Description

h = commmeasure.ACPR returns a default adjacent channel power ratio (ACPR) object, h. You can use the ACPR object to measure both ACPR and main and adjacent channel average power.

h = commmeasure.ACPR('PropertyName',PropertyValue,...) returns an ACPR object h, with property values set to PropertyValues. See the following properties list for valid property names.

Properties

An adjacent channel power ratio measurement object has the properties in the following table. Setting any property, except PowerUnits, resets the ACPR object. A property that is irrelevant is one that you can set, but its value does not affect measurements. Similarly, you cannot display irrelevant properties using the disp method. You can write to all properties, except for the ones explicitly noted otherwise.

PropertyDescription
Type'ACPR Measurements'. Read-only.
NormalizedFrequency

Normalized frequency flag.

  • After construction, property defaults to 'True' anytime you do not provide a value for the Fs property.

  • The Fs property is irrelevant unless you set NormalizedFrequency to 'False'. When you toggle NormalizedFrequency from 'True' to 'False', Fs defaults to its last value. It defaults to unity if you do not input an Fs value.

  • If you set NormalizedFrequency to 'True' the value for Fs is the normalization factor for all frequency-related properties in the commmeasure.ACPR object.

  • If you set NormalizedFrequency to 'False' the value for Fs becomes the denormalization factor for all frequency-related properties in the commmeasure.ACPR object.

Fs

Sampling frequency of input data. This property holds the input signal sampling frequency.

  • This property is irrelevant unless you set the NormalizedFrequency property to 'False'.

  • Setting NormalizedFrequency to 'False', defaults Fs to its last value.

  • Fs defaults to unity if you do not input a value.

MainChannelFrequencySpecify main channel center frequency (normalized or in Hertz). The object measures main channel power in a specific bandwidth, centered at the MainChannelFrequency value. Defaults to 0.
MainChannelMeasBW

Measurement bandwidth for main channel (normalized or in Hertz).

  • The ACPR object measures main channel power within the specified MainChannelMeasBW bandwidth, centered at the main channel frequency.

  • When NormalizedFrequency is 'True', the value defaults to 0.1.

  • When NormalizedFrequency is 'False', the value defaults to 0.1*Fs/2

AdjacentChannelMeasBW

Specify a vector of adjacent channel measurement bandwidths.

  • The ACPR object measures adjacent channel power within the bandwidths specified in the AdjacentChannelMeasBW property.

  • The ACPR object centers each adjacent channel at the frequency defined by the corresponding offset specified in the AdjacentChannelOffset property, where

  • AdjacentChannelMeasBW can specify a scalar or vector of a length that equals the number of offsets the AdjacentChannelOffset property specifies. For scalar values, the ACPR object obtains power measurements within equal measurement bandwidths.

  • When NormalizedFrequency is 'True', the value defaults to 0.1.

  • When NormalizedFrequency is 'False', the value defaults to 0.1*Fs/2

MeasurementFilter

Specify a measurement filter.

  • The filter must be an FIR filter, contained in a dfilt object and its response must center at 0 Hz.

  • The ACPR object automatically shifts and applies the filter at each of the specified main and adjacent channel bands before obtaining power measurements. (The power measurement still falls within the ranges specified by the MainChannelMeasBW, and AdjacentChannelMeasBW properties.)

  • Anytime you set this property to an all-pass filter (with an arbitrary gain) it has no effect on the input data.

  • This property value defaults to an all-pass filter with unity gain.

SpectralEstimatorOption

Spectral estimator control option.

  • Specify the spectral estimator option as either 'Default' or 'User-defined'.

  • When you set this property to 'Default', a default Welch spectral estimator obtains the power spectral density measurements. The default spectral estimator has a zero percent overlap and a Hamming window. The FrequencyResolutionOption, and FrequencyResolution properties control the segment length of the Welch estimator. When you set the SpectralEstimatorOption property to 'Default' you do not have control of the spectral estimator settings.

  • If you set this property to 'User defined' several properties become available for controlling the internal spectral estimator. These properties are:

    • SegmentLength

    • OverlapPercentage

    • WindowOption

    • SidelobeAtten

    The SidelobeAtten property is irrelevant unless you select 'Chebyshev' for WindowOption.

SegmentLength

Specify the segment length (in samples) for the spectral estimator.

  • This property is irrelevant unless you set the SpectralEstimatorOption property to 'User defined'.

  • The length of the segment allows you to make trade-offs between the resolution and variance of the spectral estimator. A long segment length results in better resolution, allowing you to control power leakage from adjacent frequency components. A short segment length results in more averages, therefore decreasing the variance of the power spectral measurements.

  • The value defaults to 64.

OverlapPercentage

Specify the percentage of overlap between each segment in the spectral estimator.

  • This property is irrelevant unless you set SpectralEstimatorOption property to 'User-defined'. Increasing the overlap results in more averages, therefore decreasing the variance of the power spectral measurements, while maintaining higher resolution.

  • The OverlapPercentage property must be in the [0 100] interval.

  • The value defaults to 0.

WindowOption

Specify the window type for the spectral estimator.

  • You can use a subset of the window types found in the Signal Processing Toolbox™ window function with the ACPR object. Choose from the following window types:

    • 'Bartlett'

    • 'Bartlett-Hanning'

    • 'Blackman'

    • 'Blackman-Harris'

    • 'Bohman'

    • 'Chebyshev'

    • 'Flat Top'

    • 'Hamming'

    • 'Hann'

    • 'Nuttall

    • 'Parzen'

    • 'Rectangular'

    • 'Triangular'

  • Choosing different windows allows you to make tradeoffs between resolution and sidelobe attenuation. You can increase the dynamic range of ACPR measurements using a higher sidelobe attenuation.

  • This property is irrelevant unless you set the SpectralEstimatorOption property to 'User defined'.

  • Defaults to a Hamming window which has a 42.5 dB sidelobe attenuation, which sometimes masks spectral content below the value (relative to the peak spectral content).

SidelobeAtten

Specify the sidelobe attenuation for Chebyshev windows in decibels.

  • This property is irrelevant unless you set the SpectralEstimatorOption property to 'User defined', and the WindowOption property is 'Chebyshev'.

  • The value defaults to 100 dB.

FrequencyResolutionOption

Specify the frequency resolution.

  • This property is irrelevant unless you set the SpectralEstimatorOption property to 'Default'.

  • When you set the SpectralEstimatorOption property to 'Default', the specified frequency resolution automatically determines the segment length of the internal spectral estimator.

  • When you set the SpectralEstimatorOption property to 'User defined', the FrequencyResolutionOption becomes irrelevant and the SegmentLength property controls the spectral estimator segment length.

  • Setting the FrequencyResolutionOption property to 'Inherit from input dimensions' sets the resolution to the maximum achievable resolution given the data length at run time.

  • When you set the FrequencyResolutionOption property to 'Specify via property' then the FrequencyResolution property becomes available for specifying the frequency resolution value.

FrequencyResolution

Specify the frequency resolution of the spectral estimator (normalized or in hertz).

  • Use the FrequencyResolution property to control the segment length of the internal default spectral estimator. The relationship between segment length and resolution is:

  • Low resolution values yield power spectral measurements with lower variances, but suffer from more power leakage from adjacent frequency components. High resolution values yield power spectral measurements with higher variances, but include less power leakage from adjacent frequency components.

  • This property is irrelevant unless you set the SpectralEstimatorOption property to 'Default', and the FrequencyResolutionOption property to 'Specify via property'.

  • If you set the SpectralEstimatorOption property to 'User defined', FrequencyResolution becomes irrelevant and the SegmentLength property directly controls the spectral estimator window length.

  • When NormalizedFrequency is 'True', the value defaults to 1.36/64.

  • When NormalizedFrequency is 'False', the value defaults to 1.36*(Fs/2)/64.

FFTLengthOption

Specify the number of FFT points the internal spectral estimator uses.

  • You can choose from three options for this property:

    • 'Specify via property'

    • 'Next power of 2'

    • 'Auto'

  • 'Specify via property' makes the FFTLength property available for specifying the FFT length.

  • 'Next power of 2' sets FFT length to the next power of 2 greater than the spectral estimator segment length or 256, whichever is greater.

  • 'Auto' sets the length of the FFT to either the spectral estimator segment length or to 256, whichever is greater.

FFTLength

Specify an FFT length for the spectral estimator.

  • This property is irrelevant unless you set the FFTLengthOption property to 'Specify via property'. In this case, the FFTLength property defines the number of FFT points the spectral estimator uses.

  • Defaults to 256.

MaxHold

Specify the maximum-hold control.

  • You can choose from two options for this property:

    • On

    • Off

  • If you set to 'On', the ACPR object compares the current power spectral density estimated vector to the previous max-hold accumulated power spectral density vector estimation. The object obtains the current power spectral density estimated vector using the current input data. It obtains the previous max-hold accumulated power spectral density vector estimation using the previous call to the run method. The maximum values at each frequency bin are used in calculating the average power measurements. A call to the reset method clears the max-hold spectrum.

  • If you set to 'Off" the ACPR object obtains measurements with instantaneous power spectral density estimates.

PowerUnits

Specify power measurement units.

  • You can choose from three options for this property:

    • dBm: power in decibels (dB) relative to one milliwatt.

    • dBW: power in decibels (dB) relative to one Watt.

    • linear: power in Watts

  • If you set this property to either 'dBm', or 'dBW', then the unit of measure ACPR measurements dBc (adjacent channel power referenced to the main channel power).

  • If you set this property to linear, then ACPR measurements appear in linear units.

FrameCountNumber of processed signal frames. Read-only. Calling the 'reset' method clears this property.

Methods

run

Obtain a new set of ACPR power measurements from input data column vector x.

acpr= run(h,x) returns a vector of adjacent channel power ratio measurements, ACPR, obtained from the input data column vector, x.

[acpr, mainpow] = run(h,x) returns the measured main channel power, mainpow.

[acpr, mainpow, adjpow] = run(h,x) returns a vector with measured adjacent channel powers, adjpow.

Each run(h,x) call updates and saves the commmeasure.ACPR object's frame count property, max-hold spectrum (if max-hold is on), and measurement filter states, until the object calls the reset(h) method.

reset

Reset the ACPR object h.

reset(h) clears the max-hold spectrum (relevant if obtaining measurements with the MaxHold property set to 'On'). Simultaneously, it clears the FrameCount property, resets the measurement filter, and initializes the internal spectral estimator according to the user specifications.

disp

Display relevant ACPR object properties.

disp(h) displays relevant properties of the ACPR object h .

copy

Copy the ACPR object.

hcopy = copy(h) copy the ACPR object h and return in hcopy. h and hcopy represent independent but identical objects. For example, modifying the h object does not affect hcopy object.

Algorithms

If the measurement bandwidths for the main channel and adjacent channels differ, the object applies the following normalization factor to compare power correctly:

Examples

% Measure ACPR of a 16-QAM signal with symbol rate of 3.84 Msps at
% -5 and +5 MHz frequency offsets. Set all measurement bandwidths
% to 3.84 MHz. Sampling frequency is set to 8 samples per symbol.
        Fs = 3.84e6*8;                % 8 samples per symbol
        M  = 16;                      % Alphabet size
        x  = randi([0 M-1],5000,1);   % Message signal
        hMod = modem.qammod(M);       % Use 16-QAM modulation.
        y = modulate(hMod,x);         % Modulate the signal
        yPulse = rectpulse(y,8);      % Rectangular pulse shaping.
        h = commmeasure.ACPR(...
               'MainChannelFrequency',0,...
               'MainChannelMeasBW',3.84e6, ...
               'AdjacentChannelOffset',[-5e6 5e6],...
               'AdjacentChannelMeasBW',3.84e6, ...
               'Fs',Fs)
       [ACPR mainChnlPwr adjChnlPwr] = run(h,yPulse)

This example produces the following output.

h = 

                         Type: 'ACPR Measurement'
          NormalizedFrequency: 0
                           Fs: 30720000
         MainChannelFrequency: 0
            MainChannelMeasBW: 3840000
        AdjacentChannelOffset: [-5000000 5000000]
        AdjacentChannelMeasBW: 3840000
            MeasurementFilter: [1x1 dfilt.dffir]
      SpectralEstimatorOption: 'Default'
    FrequencyResolutionOption: 'Inherit from input dimensions'
              FFTLengthOption: 'Next power of 2'
                      MaxHold: 'Off'
                   PowerUnits: 'dBm'
                   FrameCount: 0

ACPR =

  -14.2196  -14.2220

mainChnlPwr =

   38.8652

adjChnlPwr =

   24.6456   24.6432

See Also

commmeasure.EVM, commmeasure.MER

References

[1] Scott, Allen and Rex Frobennius. RF Measurements for Cellular Phones and Wireless Data Systems. Wiley & Sons Incorporated: Hoboken, New Jersey.

  


Free Early Verification Kit

Learn how to apply early verification to your development process through these technical resources.

How much time do you spend on testing to ensure implementation meets system-level requirements?

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS