Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Measure signal-to-noise ratio (SNR) in digital modulation applications

Utility Blocks

The MER Measurement block outputs the modulation error ratio (MER). MER is a measure of the signal-to-noise ratio (SNR) in digital modulation applications. The block measures all outputs in dB.

The MER Measurement block accepts a received signal at input port
`Rcv`

. It may use an ideal input signal at reference port
`Ref`

or, optionally, a reference constellation. The MER block then
outputs a measure of the modulation accuracy by comparing these inputs. The modulation
error ratio is the ratio of the average reference signal power to the mean square error.
This ratio corresponds to the SNR of the AWGN channel.

The block output always outputs MER in dB, with an option to output minimum MER and
*X*-percentile MER values. The minimum MER represents the best-case
MER value per burst. For the *X*-percentile option, you can select to
output 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 |
---|---|---|---|

MER | None (output by default) | dB | `Current length` | `Entire history`
| `Custom` | ```
Custom with periodic
reset
``` |

Minimum MER | Output minimum MER | dB | `Current length` | `Entire history`
| `Custom` | ```
Custom with periodic
reset
``` |

Percentile MER | Output X-percentile EVM | dB | `Entire history` |

Number of symbols | Output X-percentile EVM and Output the
number of symbols processed
| None | `Entire history` |

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

.

**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 minimum MER outputs only.To calculate MER using only the current samples, set this parameter to

`'Input length'`

.To calculate MER for all samples, set this parameter to

`'Entire history'`

.To calculate MER over an interval you specify and to use a sliding window, set this parameter to

`'Custom'`

.To calculate MER 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 MER 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 MER 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 minimum MER**Outputs the minimum MER of an input vector or frame.

**Output X-percentile MER**Enables an output

*X*-percentile MER measurement. When you select this option, specify**X-percentile value (%)**.**X-Percentile value (%)**This parameter is available only when you select

**Output X-percentile MER**. The Xth percentile is the MER value above which X% of all the computed MER values lie. The parameter defaults to the 95th percentile. That is, 95% of all MER values are above this output.**Output the number of symbols processed**Outputs the number of symbols that the block uses to compute the

**Output X-percentile MER**. This parameter is available only when you select**Output X-percentile MER**.**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.

[1] DVB (ETSI) Standard ETR290. *Digital Video Broadcasting (DVB):
Measurement guidelines for DVB systems*. May 1997.

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

$$\text{MER}=10\xb7\text{}{\mathrm{log}}_{10}\left(\frac{{\displaystyle \sum _{n=1}^{N}\left({I}_{k}^{2}+{Q}_{k}^{2}\right)}}{{\displaystyle \sum _{n=1}^{N}\left({e}_{k}\right)}}\right)\text{\hspace{0.17em}}\text{dB,}$$

The MER for the *k*th symbol is

$$ME{R}_{k}=10*\text{}{\mathrm{log}}_{10}\left(\frac{\frac{1}{N}{\displaystyle \sum _{n=1}^{N}\left({I}_{k}^{2}+{Q}_{k}^{2}\right)}}{{e}_{k}}\right)\text{\hspace{0.17em}}\text{dB}\text{.}$$

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

$$ME{R}_{\mathrm{min}}=\underset{k\in [1,\mathrm{...},N]}{\mathrm{min}}\left\{ME{R}_{k}\right\}\text{\hspace{0.17em}},$$

where:

*e*= $${e}_{k}={({I}_{k}-{\tilde{I}}_{k})}^{2}+{({Q}_{k}-{\tilde{Q}}_{k})}^{2}$$_{k}*I*= In-phase measurement of the_{k}*k*th symbol in the burst*Q*= Quadrature phase measurement of the_{k}*k*th symbol in the burst*I*and_{k}*Q*represent ideal (reference) values. $${\tilde{I}}_{k}$$ and $${\tilde{Q}}_{k}$$ represent measured (received) symbols._{k}

The block computes the *X*-percentile MER by
creating a histogram of all the incoming *MER _{k}* values.
The output provides the MER value above which X% of the MER values
fall.