# EVM Measurement

Measure error vector magnitude

Utility Blocks

## Description

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.

OutputActivation ParameterUnitsMeasurement Interval
RMS EVMNone (output by default)Percentage`Current length` | `Entire history` | `Custom` | ```Custom with periodic reset```
Maximum EVMOutput maximum EVMPercentage`Current length` | `Entire history` | `Custom` | ```Custom with periodic reset```
Percentile EVMOutput X-percentile EVMPercentage`Entire history`
Number of symbolsOutput X-percentile EVM and Output the number of symbols processedNone`Entire history`

### Data Type

The block accepts double, single, and fixed-point data types. The output of the block is always `double`.

## Parameters

Normalize RMS error vector by

Selects the method by which the block normalizes measurements:

• ```Average reference signal power```

• `Average constellation power`

• `Peak constellation power`

The default is ```Average reference signal power```.

Average constellation power

Normalizes EVM measurement by the average constellation power. This parameter is available only when you set Normalize RMS error vector to ```Average constellation power```.

Peak constellation power

Normalizes EVM measurement by the peak constellation power. This parameter only is available if you set Normalize RMS error vector to `Peak constellation power`.

Reference signal

Specifies the reference signal source as either ```Input port``` or ```Estimated from reference constellation```.

Reference constellation

Specifies the reference constellation points as a vector. This parameter is available only when Reference signal is `Estimated from reference constellation`. The default is `constellation(comm.QPSKModulator)`.

Measurement interval

Specify the measurement interval as: ```Input length```, `Entire history`, `Custom`, or ```Custom with periodic reset```. This parameter affects the RMS and maximum EVM outputs only.

• To calculate EVM using only the current samples, set this parameter to `'Input length'`.

• To calculate EVM for all samples, set this parameter to `'Entire history'`.

• To calculate EVM over an interval you specify and to use a sliding window, set this parameter to `'Custom'`.

• To calculate EVM over an interval you specify and to reset the object each time the measurement interval is filled, set this parameter to `'Custom with periodic reset'`.

Custom measurement interval

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 interval is `Custom` or ```Custom with periodic reset```. The default is `100`.

Averaging dimensions

Specify the dimensions over which to average the EVM measurements as a scalar or row vector whose elements are positive integers. For example, to average across the rows, set this parameter to `2`. The default is `1`.

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 dimensions is `[1 3]`, then the output size is `[1 3 1]`. The number of elements in the second dimension is fixed at 3.

Output maximum EVM

Outputs the maximum EVM of an input vector or frame.

Output X-percentile EVM

Enables an output X-percentile EVM measurement. When you select this option, specify X-percentile value (%).

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.

Output the number of symbols processed

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.

Simulate using

Select the simulation mode.

`Code generation`

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 ```Code generation```, System objects corresponding to the blocks accept a maximum of nine inputs.

`Interpreted execution`

Simulate model without generating code. This option results in faster start times but can slow subsequent simulation performance.

## Examples

expand all

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 line.

Run the model. The Display block shows the number of symbols used to estimate the EVM. The Time Scope shows the RMS and 90th percentile EVM values.

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.

## Algorithms

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 MethodAlgorithm
Reference signal

`$EV{M}_{RMS}=\sqrt{\frac{\frac{1}{N}\sum _{k=1}^{N}\left({e}_{k}\right)}{\frac{1}{N}\sum _{k=1}^{N}\left({I}_{k}^{2}+{Q}_{k}^{2}\right)}}*100$`

Average power

`${\text{EVM}}_{\text{RMS}}\left(\text{%}\right)=100\sqrt{\frac{\frac{1}{N}\sum _{k=1}^{N}\left({e}_{k}\right)}{{P}_{\text{avg}}}}$`

Peak power

`${\text{EVM}}_{\text{RMS}}\left(\text{%}\right)=100\sqrt{\frac{\frac{1}{N}\sum _{k=1}^{N}\left({e}_{k}\right)}{{P}_{\text{max}}}}$`

Where:

• ek = ${e}_{k}={\left({I}_{k}-{\stackrel{˜}{I}}_{k}\right)}^{2}+{\left({Q}_{k}-{\stackrel{˜}{Q}}_{k}\right)}^{2}$

• 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. ${\stackrel{˜}{I}}_{k}$ and ${\stackrel{˜}{Q}}_{k}$ represent measured (received) symbols.

The max EVM is the maximum EVM value in a frame or ${\text{EVM}}_{\text{max}}=\underset{k\in \left[1,...,N\right]}{\text{max}}\left\{{\text{EVM}}_{k}\right\}\text{\hspace{0.17em}}\text{,}$ 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 NormalizationAlgorithm
Reference signal

`$EV{M}_{k}=\sqrt{\frac{{e}_{k}}{\frac{1}{N}\sum _{k=1}^{N}\left({I}_{k}^{2}+{Q}_{k}^{2}\right)}}*\text{​}100$`

Average power

`${\text{EVM}}_{k}=100\sqrt{\frac{{e}_{k}}{{P}_{\text{avg}}}}$`

Peak power

`${\text{EVM}}_{k}=100\sqrt{\frac{{e}_{k}}{{P}_{\text{max}}}}$`

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.

## References

[1] IEEE Standard 802.16-2004. "Part 16: Air interface for fixed broadband wireless access systems." October 2004.

[2] 3 GPP TS 45.005 V8.1.0 (2008-05). "Radio Access Network: Radio transmission and reception".

[3] 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.