Measure modulation error ratio
The Modulation Error Ratio (MER) MER object measures the signal-to-noise ratio (SNR) in digital modulation applications. You can use these types of measurements to determine system performance in communications applications. For example, determining whether a DVB-T system conforms to applicable radio transmission standards requires accurate MER measurements. The block measures all outputs in decibels.
To measure modulation error ratio:
H = comm.MER creates a modulation error ratio (MER) System object™, H. This object measures the signal-to-noise ratio (SNR) in digital modulation applications.
H = comm.MER(Name,Value) creates an MER object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).
Enable minimum MER measurement output
When you set this property to true, the step method outputs minimum MER measurements. The default is false. The step method outputs the minimum MER output as the minimum MER value measured in the current input frame.
Enable X-percentile MER measurement output
When you set this property to true, the step method outputs X-percentile MER measurements. The default is false. The X-percentile MER measurements persist. These measurements are based on all the input frames since the last reset.
Specify the X-percentile value (as a percentage) that the object uses to calculate the th percentile of the MER measurements. The default is 95. Set this property to a real scalar value between 0 and 100, inclusive. This property can have a data type of double, single, or integer. This property applies when you set the XPercentileMEROutputPort property to true. The -th percentile is the MER value above which % of all the computed MER values lie.
Enable symbol count output
When you set this property to true, the step method outputs the number of accumulated symbols that have been used to calculate the -Percentile MER measurements since the last reset. The default is false. This property applies when you set the XPercentileMEROutputPort property to true.
|clone||Create MER measurement object with same property values|
|getNumInputs||Number of expected inputs to step method|
|getNumOutputs||Number of outputs from step method|
|isLocked||Locked status for input attributes and nontunable properties|
|release||Allow property value and input characteristics changes|
|reset||Reset states of MER measurement object|
|step||Measure modulation error ratio|
% Create a rectangular QAM modulator and an AWGN Channel hMod = comm.RectangularQAMModulator(16); hAWGN = comm.AWGNChannel('NoiseMethod',... 'Signal to noise ratio (SNR)',... 'SNR', 20, 'SignalPower', 10); % Create an MER object, output minimum and 90-percentile MER, and symbol % count hMER = comm.MER('MinimumMEROutputPort', true, ... 'XPercentileMEROutputPort', true,'XPercentileValue', 90,... 'SymbolCountOutputPort',true); % Generate modulated symbols and add noise refsym = step(hMod, randi([0 15], 1000, 1)); rxsym = step(hAWGN, refsym); % Calculate measurements [MERdB,MinMER,PercentileMER,NumSym] = step(hMER,refsym,rxsym)
MERdB = 20.1071 MinMER = 11.4248 PercentileMER = 16.5850 NumSym = 1000
This object implements the algorithm, inputs, and outputs described on the MER Measurement block reference page. The object properties correspond to the block parameters.