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.EVM
object 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
creates an EVM measurement
System object.evm
= comm.EVM
sets properties using one or more name-value arguments. For example,
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
measures the percentage RMS EVM of received signal 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