comm.EVM
Measure error vector magnitude (EVM) of received signal
Description
The comm.EVM
      System object™ measures the root mean squared (RMS) EVM, maximum EVM, and percentile EVM of a
      received signal.
To measure the EVM of a received signal:
- Create the - comm.EVMobject and set its properties.
- Call the object with arguments, as if it were a function. 
To learn more about how System objects work, see What Are System Objects?
Creation
Description
evm = comm.EVM
evm = comm.EVM(Name=Value)comm.EVM(ReferenceSignalSource="Estimated from reference
            constellation") configures the object to measure the EVM of a received signal
          relative to a reference constellation.
Properties
Usage
Syntax
Description
rmsEVM = evm(refSym,rxSym)rxSym relative to
          reference signal refSym over the measurement interval specified in
          the MeasurementIntervalSource and MeasurementInterval properties.
[
          also measures the maximum percentage EVM over the configured measurement interval.rmsEVM,maxEVM] = evm(refSym,rxSym)
To use this syntax, set the MaximumEVMOutputPort property to true.
[___,
          also measures the value below which X% of EVM measurements fall using
          all input frames since the last reset, regardless of measurement interval configuration.
          Set the value of X in the xEVM] = evm(refSym,rxSym)XPercentileValue property. For example, if you set the
            XPercentileValue to 95, then 95% of all EVM
          measurements since the last reset fall below the value of xEVM. You
          can use this syntax with any previous output argument combination.
To use this syntax, set the XPercentileEVMOutputPort property to true.
[___,
          also returns the number of symbols used to measure the X-percentile
          EVM. To use this syntax, set the numSym] = evm(refSym,rxSym)XPercentileEVMOutputPort and SymbolCountOutputPort properties to true.
[___] = evm( measures the
          EVM of the received signal relative to the reference signal specified in the rxSym)ReferenceConstellation property. You can use this syntax with any previous
          output argument combination.
To use this syntax, set the ReferenceSignalSource property to 'Estimated from reference
            constellation' and the ReferenceConstellation property to
          a vector of length equal to that of the rxSym input.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
      System object as the first input argument. For
      example, to release system resources of a System object named obj, use
      this syntax:
release(obj)
Examples
Algorithms
The implementation supports three normalization methods. You can normalize measurements according to the average power of the reference signal, average constellation power, or peak constellation power. Different industry standards follow one of these normalization methods.
The algorithm calculates the RMS EVM value differently for each normalization method.
| EVM Normalization Method | Algorithm | 
|---|---|
| Reference signal |  | 
| Average power |  | 
| Peak power |  | 
In these equations:
- ek = 
- Ik is the in-phase measurement of the kth symbol in the burst. 
- Qk is the quadrature phase measurement of the kth symbol in the burst. 
- N is the input vector length. 
- Pavg is the average constellation power. 
- Pmax is the peak constellation power. 
- Ik and Qk represent ideal (reference) values. and represent measured (received) symbols. 
The maximum EVM is the maximum EVM value in a frame or where k is the kth symbol in a burst of length N.
The definition for EVMk depends on which normalization method you select for computing measurements. The implementation supports these algorithms.
| EVM Normalization Method | Algorithm | 
|---|---|
| Reference signal |  | 
| Average power |  | 
| Peak power |  | 
The implementation computes the X-percentile EVM by creating a histogram of the incoming EVMk values. This output provides the EVM value below which X% of the EVM values fall.
Extended Capabilities
Version History
Introduced in R2012a


