Engee documentation

EngeeComms.EVM

Measures the error vector magnitude (EVM) of the received signal.

Library

EngeeComms.

Block

EVM Measurement

Description

To measure the EVM of the received signal, follow the steps below:

  1. Create an object EngeeComms.EVM and set its properties.

  2. Call the object with arguments as if it were a function.

To learn more about how to work with system objects, see Engee system objects.

Syntax

Creation

  • evm = EngeeComms.EVM() creates an EVM system object.

    Example:

    evm = EngeeComms.EVM()

Usage

  • rmsEVM = EngeeComms.EVM(refSym,rxSym) - measures the percentage RMS value of the EVM of the received signal rxSym relative to the reference signal refSym.

    Example:

    rmsEVM = EngeeComms.EVM(refSym,rxSym)

Arguments

Input arguments

refSym — reference signal
scalar | vector | matrix | three-dimensional array

Details

A reference signal specified as a scalar, vector, matrix, or three-dimensional array. If you specify this input, the system object measures the EVM of this rxSym input, using this input as a signal constellation.

The dimensions of this input must match the dimensions of the rxSym input. The system object uses each element of this input as a reference symbol for the corresponding element of the rxSym input.

This object accepts variable-sized inputs. Once the object is locked, you can change the size of each input channel, but you cannot change the number of channels.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64

Support for complex numbers

Yes

rxSym - received signal
scalar | vector | matrix | three-dimensional array

Details

A received signal specified as a scalar, vector, matrix or three-dimensional array.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64

Support for complex numbers

Yes

Output arguments

rmsEVM -. RMS EVM value of the received signal in per cent
scalar

Details

The percentage RMS value of the EVM of the received signal over the configured measurement interval, returned as a scalar.

Типы данных

Float64

Properties

Methods

Common for all system objects

step!

Start the system object’s operating algorithm

Algorithms

The implementation supports three normalisation methods. You can normalise measurements according to the average power of the reference signal, the average power of the population, or the peak power of the population. Different industry standards follow one of these normalisation methods.

The algorithm calculates the RMS EVM differently for each normalisation method.

EVM normalisation method Algorithm

Reference signal

Average power

Peak power

where

  • ;

  • represents the in-phase measurement of the k-th symbol in the packet;

  • represents the quadrature phase measurement of the k-th symbol in the packet;

  • - is the length of the input vector;

  • - average power of the constellation;

  • - peak power of the constellation;

  • and represent ideal (reference) values. and represent measured (received) symbols.

The maximum EVM is the maximum EVM value in a frame or , where is the k-th symbol in a packet of length .

The definition of depends on which normalisation method you choose to compute the measurements. The implementation supports these algorithms.

EVM normalisation method Algorithm

Reference signal

Average power

Peak power

The implementation calculates -percentile EVM by creating a histogram of incoming values . This output provides the EVM value below which EVM values fall.