Main Content

MER Measurement

Measure modulation error ratio in digital modulation applications

  • MER Measurement block

Libraries:
Communications Toolbox / Utility Blocks

Description

The MER Measurement block computes a form of signal-to-noise ratio (SNR) measurement that you can use to assess the ability of a receiver to accurately demodulate a signal. Specifically, it returns the modulation error ratio (MER), minimum MER, and percentile MER for a received signal. You use the MER measurements to determine system performance in communications applications. For example, to determine compliance with applicable DVB-T system radio transmission standards conformance testing requires accurate MER measurements.

This icon shows the block with all ports enabled.MER Measurement block with all ports enabled

Examples

expand all

This example shows how to compute error vector magnitude (EVM) and modulation error rate (MER) measurements using Simulink® blocks.

The doc_mer_and_evm model adds IQ imbalance to a 16-QAM signal. The EVM Measurement and MER Measurement blocks perform EVM and MER measurements, respectively, on the impaired signal. The Constellation Diagram block displays the impaired signal constellation and signal quality measurements. The signal quality measurements displayed in the constellation diagram window approximate the measurements reported by the EVM Measurement and MER Measurement blocks.

In this model, the I/Q Imbalance block sets the amplitude imbalance to 1 dB, the phase imbalance to 15 degrees, and the DC offset to 0. The MER Measurement block is configured to output the mean MER and the 90th percentile MER. The EVM Measurement block is configured to output the RMS EVM (normalized to the average reference signal power), the maximum EVM, and the 75th percentile EVM.

Run Model and Display Measurements

Run the model to compute the EVM and MER measurements and to display the constellation diagram.

Average MER is 16.9 dB.
90 percentile MER is 14.0 dB.
RMS EVM is 14.3%.
Maximum EVM is 20.7%.
75 percentile EVM is 17.5%.

Change the I/Q Imbalance block setting for the amplitude imbalance to 2 dB. Because the modulation accuracy decreases when the impairment value increases, the reported average MER decreases and the reported average EVM increases. Run the model again to see the degraded EVM and MER metrics.

Average MER is 13.2 dB.
90 percentile MER is 10.2 dB.
RMS EVM is 21.8%.
Maximum EVM is 31.2%.
75 percentile EVM is 26.8%.

Ports

Input

expand all

Reference signal, specified as a scalar, vector, matrix, or 3-D array. If you specify this input, the object measures the MER of the Rcv input by using this input as a reference constellation.

The dimensions of this input must match those of the Rcv input. The object uses each element of this input as the reference symbol for the corresponding element of the Rcv input.

Dependencies

To enable this port, set the Reference signal parameter to Input port.

Data Types: single | double | fixed point
Complex Number Support: Yes

Received signal, specified as a scalar, vector, matrix, or 3-D array.

Data Types: single | double | fixed point
Complex Number Support: Yes

Output

expand all

Percentage MER of the received signal over the configured measurement interval, returned as a scalar in units of decibels.

Data Types: double

Minimum percentage MER over the configured measurement interval, returned as a scalar in units of decibels.

Dependencies

To enable this port, select the Output minimum MER parameter.

Data Types: double

Value below which X% of MER measurements fall since the last reset, returned as a scalar in units of decibels. Set the value of X in the X-percentile value (%) parameter.

Dependencies

To enable this port, select the Output X-percentile MER parameter.

Data Types: double

Number of symbols that the object uses to measure the output, returned as a positive integer.

Dependencies

To enable this port, select the Output X-percentile MER and Output the number of symbols processed parameters.

Data Types: double

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Reference signal source, specified as Input port or Estimated from reference constellation.

Reference constellation points, specified as a vector of complex or real values.

Dependencies

To enable this parameter, set the Reference signal parameter to Estimated from reference constellation.

Measurement interval source for MER and minimum MER measurements, specified as one of these values.

  • Input length — Measure the MER using only the current samples.

  • Entire history — Measure the MER for all samples.

  • Custom — Measure the MER by using a sliding window over an interval that you specify.

  • Custom with periodic reset — Measure the MER over an interval that you specify and reset the block after measuring over each interval.

Custom measurement interval in samples, specified as a positive integer.

Dependencies

To enable this parameter, set the Measurement interval parameter to Custom or Custom with periodic reset.

Dimensions over which the block averages the MER measurements, specified as an integer or row vector of integers in the range [1, 3]. For example, to average across the columns, set this parameter to 2.

This block supports variable-size inputs of the dimensions across which the averaging takes place. However, the input size for the nonaveraged dimensions must remain constant. For example, if the input has size [1000 3 2] and you set this parameter to [1 3], then the output size is [1 3 1] and the number of elements in the second dimension must remain fixed at 3.

Option to add the min port to output minimum MER measurements. To enable minimum MER measurements, select this parameter.

Option to add the X% port to output X-percentile MER measurements. To enable X-percentile MER measurements, select this parameter. When you select this parameter, X-percentile MER measurements persist until you reset the block. The block performs these measurements by using all of the input frames since the last reset. You can set the value of X in the X-percentile value (%) parameter.

Value below which X% of MER measurements fall, specified as a scalar in the range [0, 100].

Dependencies

To enable this parameter, select the Output X-percentile MER parameter.

Option to add the nSym port to output the number of symbols used to measure the X-percentile MER. To measure the number of symbols used for X-percentile MER measurements, select this parameter.

Dependencies

To enable this parameter, select the Output X-percentile MER parameter.

Type of simulation to run, specified as Interpreted execution or Code generation.

  • Interpreted execution — Simulate the model by using the MATLAB® interpreter. This option requires less startup time, but the speed of subsequent simulations is slower than with the Code generation option. In this mode, you can debug the source code of the block.

  • Code generation — Simulate the model by using generated C code. The first time you run a simulation, Simulink generates C code for the block. The model reuses the C code for subsequent simulations unless the model changes. This option requires additional startup time, but the speed of the subsequent simulations is faster than with the Interpreted execution option.

For more information, see Interpreted Execution vs. Code Generation (Simulink).

Block Characteristics

Data Types

double | fixed point | integer | single

Multidimensional Signals

yes

Variable-Size Signals

yes

Algorithms

MER is a measure of the SNR in a modulated signal calculated in dB. The MER over a burst containing N symbols is

MER=10×log10(k=1N(Ik2+Qk2)k=1N(ek))dB,

where:

  • ek = ek=(IkI˜k)2+(QkQ˜k)2.

  • Ik represents the in-phase component of the kth symbol in the burst.

  • Qk represents the quadrature phase component of the kth symbol in the burst.

  • Ik and Qk represent ideal reference values.

  • I˜k and Q˜k represent received symbols.

  • N represents the number of symbols in the burst.

The MER for the kth symbol is

MERk=10×log10(1Nk=1N(Ik2+Qk2)ek)dB.

The minimum MER represents the minimum MER value in a burst, or

MERmin=mink[1,...,N]{MERk},

The algorithm computes the X-percentile MER by creating a histogram of all the incoming MERk values. The output provides the MER value above which X% of the MER values fall.

References

[1] ESTI TR 101 290. "Digital Video Broadcasting (DVB): Measurement guidelines for DVB systems." June 2020.

Extended Capabilities

Version History

Introduced in R2009b