Measure error vector magnitude
The EVM Measurement block measures the error vector magnitude (EVM), which is an indication of modulator or demodulator performance.
The block has one or two input signals: a received signal and, optionally, a reference signal. You must select if the block uses a reference from an input port or from a reference constellation.
The block normalizes to the average reference signal power, average constellation power, or peak constellation power. For RMS EVM, maximum EVM, and X-percentile EVM, the output computations reflect the normalization method.
The default EVM output is the RMS EVM in percent, with an option of maximum EVM or X-percentile EVM values. The maximum EVM represents the worst-case EVM value per burst. For the X-percentile option, you can enable an output port that returns the number of symbols processed in the percentile computations.
The table shows the output type, the parameter that selects the output type, the computation units, and the corresponding measurement interval.
|Output||Activation Parameter||Units||Measurement Interval|
|RMS EVM||None (output by default)||Percentage|
|Maximum EVM||Output maximum EVM||Percentage|
|Percentile EVM||Output X-percentile EVM||Percentage|
|Number of symbols||Output X-percentile EVM and Output the number of symbols processed||None|
The block accepts double, single, and fixed-point data types. The output of the
block is always
Selects the method by which the block normalizes measurements:
Average reference signal
Average constellation power
Peak constellation power
The default is
Average reference signal
Normalizes EVM measurement by the average constellation power. This
parameter is available only when you set Normalize RMS error
Normalizes EVM measurement by the peak constellation power. This parameter
only is available if you set Normalize RMS error vector
Peak constellation power.
Specifies the reference signal source as either
Estimated from reference
Specifies the reference constellation points as a vector. This parameter
is available only when Reference signal is
Estimated from reference constellation. The
Specify the measurement interval as:
Custom with periodic
reset. This parameter affects the RMS and maximum EVM
To calculate EVM using only the current samples, set this
To calculate EVM for all samples, set this parameter to
To calculate EVM over an interval you specify and to use a sliding
window, set this parameter to
To calculate EVM over an interval you specify and to reset the
object each time the measurement interval is filled, set this
'Custom with periodic reset'.
Specify the custom measurement interval in samples as a real positive
integer. This is the interval over which the EVM is calculated. This
parameter is available when Measurement
with periodic reset. The default
Averaging dimensions over which to average the EVM measurements, specified
as an integer or row vector of integers with element values in the range [1,
3]. For example, to average across the rows, set this parameter to
2. The default is
This block supports var-size inputs of the dimensions in which the
averaging takes place. However, the input size for the nonaveraged
dimensions must be constant. For example, if the input size is
[1000 3 2] and Averaging
[1 3], then the output size
[1 3 1]. The number of elements in the second
dimension is fixed at 3.
Outputs the maximum EVM of an input vector or frame.
Enables an output X-percentile EVM measurement. When you select this option, specify X-percentile value (%).
This parameter is available only when you select Output X-percentile EVM. The Xth percentile is the EVM value below which X% of all the computed EVM values lie. The parameter defaults to the 95th percentile. That is, 95% of all EVM values are below this value.
Outputs the number of symbols that the block uses to compute the X-percentile value. This parameter is available only when you select Output X-percentile EVM.
Select the simulation mode.
On the first model run, simulate and generate code. If the structure of the block does not change, subsequent model runs do not regenerate the code.
If the simulation mode is
generation, System objects corresponding to
the blocks accept a maximum of nine inputs.
Simulate model without generating code. This option results in faster start times but can slow subsequent simulation performance.
Measure the RMS and 90th percentile EVM for an 8-PSK signal in an AWGN channel.
Open the model by typing
doc_evm_example on the command
Observe that 90% of the symbols had an EVM value of less than 28% and that the average EVM is approximately 17%.
Experiment with the model by changing the signal-to-noise ratio in the AWGN Channel block. Examine its effect on the EVM values.
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|
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 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.
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.
 IEEE Standard 802.16-2004. "Part 16: Air interface for fixed broadband wireless access systems." October 2004.
 3 GPP TS 45.005 V8.1.0 (2008-05). "Radio Access Network: Radio transmission and reception".
 IEEE Standard 802.11a-1999. "Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: High-speed Physical Layer in the 5 GHz Band." 1999.
To generate code in a model using this block, you must enable Dynamic Memory Allocation in MATLAB Functions. For more information, see Dynamic memory allocation in MATLAB functions (Simulink).