Measure error vector magnitude
The comm.EVM
(error vector magnitude) System
object™ measures
the modulator or demodulator performance of an impaired signal.
To measure error vector magnitude:
Define and set up your EVM object. See Construction.
Call step
to measure the modulator or demodulator
performance according to the properties of comm.EVM
.
The behavior of step
is specific to each object in
the toolbox.
Starting in R2016b, instead of using the step
method
to perform the operation defined by the System
object, you can
call the object with arguments, as if it were a function. For example, y
= step(obj,x)
and y = obj(x)
perform
equivalent operations.
EVM = comm.EVM
creates an error vector
magnitude object, EVM
. This object measures the
amount of impairment in a modulated signal.
EVM = comm.EVM(
creates
an Name
,Value
)EVM
object 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
).
Example: EVM = comm.EVM('ReferenceSignalSource','Estimated
from reference constellation')
creates an object, EVM
,
that measures the RMS EVM of a received signal by using a reference
constellation.
|
Normalization method Normalization method used in EVM calculation, specified as one
of the following: |
|
Average constellation power Average constellation power, specified in watts as a positive
real scalar. This property is available when |
|
Peak constellation power Peak constellation power, specified in watts as a positive real
scalar. This property is available when |
|
Reference signal source Reference signal source, specified as either |
|
Reference constellation Reference constellation, specified as a vector. This property
is available when the The default is |
|
Measurement interval source Measurement interval source, specified as one of the following:
|
|
Measurement interval Measurement interval over which the EVM is calculated, specified
in samples as a real positive integer. This property is available
when |
|
Averaging dimensions Averaging dimensions, specified as a positive integer or row
vector of positive integers. This property determines the dimensions
over which the averaging is performed. For example, to average across
the rows, set this property to The object supports variable-size inputs over the dimensions
in which the averaging takes place. However, the input size for the
nonaveraged dimensions must remain constant between |
|
Maximum EVM measurement output port Maximum EVM measurement output port, specified as a logical
scalar. To create an output port for maximum EVM measurements, set
this property to |
|
X-percentile EVM measurement output port X-percentile EVM measurement output port,
specified as a logical scalar. To create an output port for X-percentile
EVM measurements, set this property to |
|
X-percentile value X-percentile value below which X%
of the EVM measurements fall, specified as a real scalar from |
|
Symbol count output port Symbol count output port, specified as a logical scalar. To
output the number of accumulated symbols used to calculate the X-percentile
EVM measurements, set this property to |
reset | Reset states of EVM measurement object |
step | Measure error vector magnitude |
Common to All System Objects | |
---|---|
release | Allow System object property value changes |
Both the EVM block and the EVM object provide 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 block or object calculates the RMS EVM value differently for each normalization method.
EVM Normalization Method | Algorithm |
---|---|
Reference signal |
|
Average power |
|
Peak power |
|
Where:
ek =
Ik = In-phase measurement of the kth symbol in the burst
Qk = Quadrature phase measurement of the kth symbol in the burst
N = Input vector length
Pavg = The value for Average constellation power
Pmax = The value for Peak constellation power
Ik and Qk represent ideal (reference) values. and represent measured (received) symbols.
The max 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 varies depending upon which normalization method you select for computing measurements. The block or object supports these algorithms.
EVM Normalization | Algorithm |
---|---|
Reference signal |
|
Average power |
|
Peak power |
|
The block or object computes the X-percentile EVM by creating a histogram of all the incoming EVMk values. The output provides the EVM value below which X% of the EVM values fall.