主要内容

comm.MER

测量调制误差比

描述

comm.MER(调制误差比)对象测量数字调制应用中的信噪比(SNR)。在通信应用程序中,您可以使用MER测量来确定系统性能。例如,确定DVB-T系统是否符合适用的无线电传输标准需要精确的MER测量。该块以dB为单位测量所有输出。

测量调制误差比:

  1. 定义并设置MER对象。看到建设

  2. 调用一步根据的特性来测量调制误差比comm.MER.的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行System对象™定义的操作,则可以使用参数调用该对象,就像调用函数一样。例如,Y = step(obj,x)而且Y = obj(x)请执行相同的操作。

建设

MER = com .MER创建调制误差比(MER)系统对象,海洋博物馆.该对象测量数字调制应用中的信噪比(SNR)。

MER = com .MER(的名字价值创建一个海洋博物馆将每个指定属性设置为指定值的。您可以以任意顺序指定额外的名-值对参数,如(Name1Value1、……).

例子MER = com .MER('ReferenceSignalSource','从参考星座估计')创建一个对象,海洋博物馆,通过使用参考星座测量接收信号的MER。

属性

ReferenceSignalSource

参考信号源

参考信号源,指定为任意一种输入端口的(默认)或“从参考星座估计”.若要提供用于测量输入信号的显式参考信号,请将此属性设置为输入端口的.若要测量输入信号相对于参考星座的MER,请将此属性设置为“从参考星座估计”

ReferenceConstellation

参考星座

引用星座,指定为向量。属性时可用此属性ReferenceSignalSource属性是“从参考星座估计”

默认为[0.7071 - 0.7071i;-0.7071 - 0.7071i;-0.7071 + 0.7071i;0.7071 + 0.7071i],对应一个标准的QPSK星座。您可以通过使用调制函数或对象来派生星座点。例如,要为16-QAM信号派生参考星座,可以使用qammod (0:15, 16)

MeasurementIntervalSource

测量间隔源

测量间隔源,指定为以下之一:输入长度的(默认),“整个历史”“自定义”,或“定期重置自定义”.此属性仅影响RMS和最大MER输出。

  • 若要仅使用当前样本计算MER,请将此属性设置为输入长度的

  • 若要计算所有样本的MER,请将此属性设置为“整个历史”

  • 若要在指定的区间内计算MER并使用滑动窗口,请将此属性设置为“自定义”

  • 若要在指定的间隔内计算MER,并在每次填充测量间隔时重置对象,请将此属性设置为“定期重置自定义”

MeasurementInterval

测量时间间隔

市场汇率计算的测量间隔,在样本中指定为正整数。当MeasurementIntervalSource“自定义”“定期重置自定义”.默认为One hundred.

AveragingDimensions

平均尺寸

取维数的平均值,指定为正整数或正整数的行向量。此属性确定执行平均的维度。例如,要对行求平均,请将此属性设置为2.默认为1

该对象支持发生平均的维万博1manbetx度上的可变大小输入。然而,非平均维度的输入大小必须保持不变一步调用。例如,如果输入有大小[4 3 2]而且平均尺寸3 [1],输出大小为[1 3 1],而第二个维度必须保持固定在3.

MinimumMEROutputPort

最小MER测量输出端口

最小MER测量输出端口,指定为逻辑标量。若要为最小MER测量创建输出端口,请将此属性设置为真正的.默认为

XPercentileMEROutputPort

X- percentle MER测量输出端口

X-percentile MER测量输出端口,指定为逻辑标量。为创建输出端口X-百分位MER测量值,将此属性设置为真正的.的X-百分位MER测量值一直持续到重置对象。这些测量是通过使用自上次重置以来的所有输入帧来计算的。默认为

XPercentileValue

X百分位值

X-高于该值的百分比值X%的MER测量下降,指定为实标量从0One hundred..此属性适用于XPercentileMEROutputPort真正的.默认为95

SymbolCountOutputPort

符号计数输出端口

符号计数输出端口,指定为逻辑标量。输出用于计算的累积符号数X-百分位MER测量值,将此属性设置为真正的.当XPercentileMEROutputPort属性是真正的.默认为

方法

一步 测量调制误差比
所有系统对象通用
释放

允许系统对象属性值更改

重置

重置System对象的内部状态

例子

全部折叠

创建一个MER对象,输出最小MER值、90% MER值和符号数。

mer = com . mer (“MinimumMEROutputPort”,真的,...“XPercentileMEROutputPort”,真的,“XPercentileValue”, 90,...“SymbolCountOutputPort”,真正的);

生成随机数据。采用单位平均功率的16-QAM调制。通过AWGN信道传递信号。

数据= randi([0 15],1000,1);Refsym = qammod(data,16,“UnitAveragePower”,真正的);Rxsym = awgn(refsym,20);

确定RMS、最小值和第90百分位MER值。

[MERdB,MinMER,PercentileMER,NumSym] = mer(refsym,rxsym)
MERdB = 20.1071
MinMER = 11.4248
百分位数= 16.5850
NumSym = 1000

生成随机数据符号,并应用8-PSK调制。

D = randi([0 7],2000,1);txSig = pskmod(d,8,pi/8);

将调制信号通过AWGN信道传递。

rxSig = awgn(txSig,30);

创建MER对象。以发射信号为参考,测量MER。

mer = com . mer;mer1 = mer(txSig,rxSig);

释放MER对象。将对象设置为使用参考星座进行MER测量。

发行版(mer)。ReferenceSignalSource =“从参考星座估计”;海洋博物馆。ReferenceConstellation = pskmod(0:7,8,pi/8);

仅使用接收到的信号作为输入来测量MER。验证它与参考信号获得的结果相匹配。

mer2 = mer(rxSig);[mer1 mer2]
ans =1×230.0271 - 30.0271

使用两种自定义测量间隔测量噪声8-PSK信号的MER。显示结果。

设置帧数,,和每帧的子帧数,K

M = 2;K = 5;

设置子帧中的符号数量。计算相应的帧长。

sfLen = 100;frmLen = K*sfLen
frmLen = 500

创建MER对象。将对象配置为使用与帧长相等的自定义测量间隔。

mer1 = com . mer (“MeasurementIntervalSource”“自定义”...“MeasurementInterval”, frmLen);

配置该对象以使用8-PSK参考星座测量MER。

mer1。ReferenceSignalSource =“从参考星座估计”;mer1。ReferenceConstellation = pskmod(0:7,8,pi/8);

创建一个MER对象,并将其配置为使用500符号测量间隔并定期重置。配置该对象以使用8-PSK参考星座测量MER。

mer2 = com . mer (“MeasurementIntervalSource”“定期重置自定义”...“MeasurementInterval”, frmLen);mer2。ReferenceSignalSource =“从参考星座估计”;mer2。ReferenceConstellation = pskmod(0:7,8,pi/8);

初始化MER和信噪比数组。

merNoReset = 0 (K,M);merReset = 0 (K,M);snrdB = 0 (K,M);

使用这两个物体测量噪声8-PSK信号的MER。每个子帧的信噪比增加1db。为merNoReset, 500个最近的符号被用来计算估计值。在这种情况下,将使用滑动窗口,以便使用整个数据帧作为估计的基础。为merReset,每当遇到新的帧时,这些符号就会被清除。

m = 1: mk = 1: k data = randi([0 7],sfLen,1);txSig = pskmod(data,8,pi/8);snrdB(k,m) = k+(m-1)* k+ 7;rxSig = awgn(txSig,snrdB(k,m));merNoReset(k,m) = mer1(rxSig);merReset(k,m) = mer2(rxSig);结束结束

显示使用两种方法测量的MER值。第一种情况中使用的窗口提供了跨子帧的平均值。在第二种情况下,MER对象在第一帧之后重置,以便计算出的MER值更准确地反映当前信噪比。

stairs(snrdB(:),[merNoReset(:)]) xlabel(“信噪比(dB)”) ylabel (“梅尔(%)”)传说(“不重置”“周期性重置”

图中包含一个轴对象。坐标轴对象包含2个楼梯类型的对象。这些对象表示不复位、定期复位。

创建OFDM调制器和解调器对象。

ofdmmod = com . ofdmmodulator (“FFTLength”32岁的“NumSymbols”4);ofdmdemod = com . ofdm解调器(“FFTLength”32岁的“NumSymbols”4);

确定OFDM信号中子载波和符号的数量。

ofdmDims = info(ofdmmod);numSC = ofdmDims.DataInputSize(1)
numSC = 21
numSym = ofdmDims.DataInputSize(2)
numSym = 4

生成随机符号并应用QPSK调制。

msg = randi([0 3],numSC,numSym);modSig = pskmod(msg,4,pi/4);

OFDM对QPSK信号进行调制。通过AWGN信道传递信号。解调噪声信号。

txSig = ofdmmod(modSig);rxSig = awgn(txSig,10,“测量”);demodSig = ofdmdemod(rxSig);

创建一个MER对象,其中的结果是子载波的平均值。测量MER。4个OFDM符号对应4个条目。

mer = com . mer (“AveragingDimensions”1);modErrorRatio = mer(demodSig,modSig)
modErrorRatio =1×410.9546 11.7781 13.2331 12.5573

覆盖MER对象,其中结果在OFDM符号上求平均值。测量MER。21个子载波中的每一个子载波对应21个条目。

mer = com . mer (“AveragingDimensions”2);modErrorRatio = mer(demodSig,modSig)
modErrorRatio =21日×110.8828 15.7292 13.4323 12.8910 11.8733 11.4374 10.9259 9.6960 9.2397 14.0779 \

测量子载波和OFDM符号的MER和平均值。

mer = com . mer (“AveragingDimensions”[1, 2]);modErrorRatio = mer(demodSig,modSig)
modErrorRatio = 12.0817

算法

海洋博物馆是一种测量调制信号的信噪比的方法,以dB计算。的海洋博物馆N符号是

E R 10 · 日志 10 n 1 N k 2 + k 2 n 1 N e k dB,

海洋博物馆对于第KTH符号是

E R k 10 日志 10 1 N n 1 N k 2 + k 2 e k dB

最低海洋博物馆表示最小值海洋博物馆价值在爆发,或者

E R 最小值 最小值 k 1 ... N E R k

地点:

  • ek e k k ˜ k 2 + k ˜ k 2

  • k=脉冲中第k个符号的同相测量

  • k=脉冲中第k个符号的正交相位测量

  • k而且k表示理想(参考)值。 ˜ k 而且 ˜ k 表示测量(接收)的符号。

块计算X-百分比MER通过创建所有传入的直方图海洋博物馆k值。输出提供了高于X%的MER值的MER值。

扩展功能

版本历史

在R2012a中引入