Main Content

Error Vector Magnitude (EVM)

Error Vector Magnitude (EVM) is a measurement of modulator or demodulator performance in the presence of impairments. Essentially, EVM is the vector difference at a given time between the ideal (transmitted) signal and the measured (received) signal. If used correctly, these measurements can help in identifying sources of signal degradation, such as: phase noise, I-Q imbalance, amplitude non-linearity and filter distortion

These types of measurements are useful for determining system performance in communications applications. For example, determining if an EDGE system conforms to the 3GPP radio transmission standards requires accurate RMS, EVM, Peak EVM, and 95th percentile for the EVM measurements.

Users can create the EVM object in two ways: using a default object or by defining parameter-value pairs. As defined by the 3GPP standard, the unit of measure for RMS, Maximum, and Percentile EVM measurements is a percentile (%). For more information, see the EVM Measurement or comm.EVM help page.

Measuring Modulator Accuracy


The Communications Toolbox™ provides two blocks you can use for measuring modulator accuracy: EVM Measurement and MER Measurement.

This example tests an EDGE transmitter for system design impairments using EVM measurements. In this example, the EVM Measurements block compares an ideal reference signal to a measured signal, and then computes RMS EVM, maximum EVM, and percentile EVM values. According to the EDGE standard [1], the error vector magnitude of the received signal, calculated relative to the transmitted waveform, should not exceed the following values:

EDGE Standard Measurement Specifications [2]

MeasurementMobile StationBase Transceiver Station
Peak EVM30%30%22%22%
95th Percentile EVM15%15%11%11%

This example uses this model.

You can open this model by typing doc_evm at the MATLAB® command line.


The model essentially contains three parts:

  • Transmitter

  • Receiver impairments

  • EVM calculation

The following sections of the tutorial contain descriptions for each part of the model.

Transmitter.  The following blocks comprise the transmitter:

The Random Integer Generator block simulates random data generation. The EDGE standard specifies that the transmitter performs measurements during the useful part of the burst – excluding tail bits – over at least 200 bursts. In this mode, the transmitter produces 435 symbols per burst (9 additional symbols account for filter delays). The Phase Offset block provides continuous 3π/8 phase rotation to the signal. For synchronization purposes, the Upsample block oversamples the signal by a factor of 4.

The Discrete FIR Filter block provides a GMSK pulse linearization, the main component in a Laurent decomposition of the GMSK modulation [3]. A helper function computes the filter coefficients and uses a direct-form FIR digital filter to create the pulse shaping effect. The filter normalization provides unity gain at the main tap.

The I/Q Imbalance block simulates transmitter impairments. This block adds rotation to the signal, simulating a defect in the transmitter under test. The I/Q amplitude imbalance is 0.5 dB, and I/Q phase imbalance is 1°.

Receiver Impairments.  In this model, the Receiver Thermal Noise block represents receiver impairments. This model assumes 290 K of thermal noise, representing imperfections of the hardware under test.

EVM Calculation.  The EVM calculation relies upon the following blocks:

The EVM measurement block computes the vector difference between an ideal reference signal and an impaired signal. The output of the FIR filter provides the Reference input for the EVM block. The output of the Noise Temperature block provides the impaired signal at the Input port of the EVM block.

While the block has different normalization options available, the EDGE standard requires normalizing by the Average reference signal power. For illustration purposes in this example, the EVM block outputs RMS, maximum, and percentile measurement values.

Experimenting with the Model

  1. Run the model by clicking the play button in the Simulink model window.

  2. Examine the output of the EVM block and compare the measurements to the limits in the EDGE Standard Measurement Specifications table.

    In this example, the EVM Measurement block computes the following:

    • Worst case RMS EVM per burst: 9.77%

    • Peak EVM: 18.95%

    • 95th Percentile EVM:14.76%

    As a result, this simulated EDGE transmitter passes the EVM test for a Mobile Station under extreme conditions.

  3. Double-click the I/Q Imbalance block.

  4. Enter 2 into I/Q Imbalance (dB) and click OK.

  5. Click the Play button in the Simulink model window.

  6. Examine the output of the EVM block. Then, compare the measurements to the limits in the EDGE Standard Measurement Specifications table.

    In this example, the EVM Measurement block computes the following results:

    • Worst case RMS EVM per burst: 15.15%

    • Peak EVM: 29.73%

    • 95th Percentile EVM: 22.55%.

    These EVM values are clearly unacceptable according to the EDGE standard. You can experiment with the other I/Q imbalance values, examine the impact on calculations, and compare them to the values provided in the table.


[1] 3GPP TS 45.004, “Radio Access Networks; Modulation,” Release 7, v7.2.0, 2008-02.

[2] 3GPP TS 45.005, “Radio Access Network; Radio transmission and reception,” Release 8, v8.1.0, 2008-05.

[3] Laurent, Pierre. “Exact and approximate construction of digital phase modulation by superposition of amplitude modulated pulses (AMP).” IEEE Transactions on Communications. Vol. COM-34, #2, Feb. 1986, pp. 150-160.