主要内容

comm.EVM

测量误差向量幅度(维生素)的接收信号

描述

comm.EVM系统对象™措施根均方(RMS)维生素,最大的维生素,和挣值管理百分比都收到信号。

测量接收信号的维生素:

  1. 创建comm.EVM对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

维生素= comm.EVM创建一个维生素与测量系统对象。

例子

维生素= comm.EVM (的名字=价值)使用一个或多个名称参数设置属性。例如,comm.EVM (ReferenceSignalSource =“估计参考星座”)配置对象的维生素与接收信号相对于参考星座。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

归一化法中使用的维生素与计算,指定为参考信号的平均功率的,的平均星座力量”,或“星座功率峰值”

数据类型:字符|字符串

平均星座在瓦,指定为一个积极的标量。

依赖关系

要启用这个特性,设置归一化财产的平均星座力量”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

峰星座在瓦,指定为一个积极的标量。

依赖关系

要启用这个特性,设置归一化财产“星座功率峰值”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

参考信号源,指定为输入端口的“估计从参考星座”。提供一个明确的参考信号对测量接收信号,设置该属性输入端口的。测量接收信号的维生素对星座的引用,设置该属性“估计从参考星座”

数据类型:字符|字符串

参考星座,指定为一个向量。默认值对应于一个正交相移键控(QPSK)星座单元平均功率。你可以推出星座点通过调制函数或对象。例如,获得的参考星座正交振幅调制(16-QAM)信号,16级使用qammod函数。

例子:qammod (0:15, 16)

依赖关系

要启用这个特性,设置ReferenceSignalSource财产“估计从参考星座”

数据类型:
复数的支持:金宝app是的

测量间隔RMS和最大来源维生素与测量,指定为一个值。

  • 输入长度的——挣值管理措施都只使用当前的样本。

  • “整个历史”——挣值管理措施都对所有样本。

  • “自定义”——挣值管理措施都在一个用户指定的时间间隔,并使用滑动窗口。

  • 的自定义周期重置”——挣值管理措施都在用户指定的时间间隔后,重置对象在每个时间间隔测量。

数据类型:字符|字符串

测量时间间隔,指定为一个正整数。

依赖关系

要启用这个特性,设置MeasurementIntervalSource财产“自定义”的自定义周期重置”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

平均尺寸的对象平均维生素与测量,指定为一个向量的整数范围[1,3]。例如,平均在整个行,设置这个属性2

这个对象支持适应输入维度金宝app的平均发生。然而,输入大小non-averaged维度必须调用对象之间保持不变。例如,如果输入的大小(1000 3)和你设定这个属性3 [1],输出大小(1 3 (1),在第二维度的元素数量必须保持固定3

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

选择返回最大的维生素与测量,指定为一个逻辑1(真正的)或0()。

数据类型:逻辑

选择返回X百分位维生素与测量,低于这个值X挣值管理的%都测量秋天,指定为一个逻辑1(真正的)或0()。当你设定这个属性1(真正的),X百分位维生素与测量持续直到你重置对象。对象来执行这些测量使用的所有输入帧自上一次重置。

数据类型:逻辑

低于这个值X挣值管理的%都测量秋天,指定为一个标量在[0,100]。

依赖关系

要启用这个特性,设置XPercentileEVMOutputPort财产真正的

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

选择返回的数量累计符号对象用来测量X挣值管理百分比都自上一次重置,指定为一个逻辑1(真正的)或0()。

依赖关系

要启用这个特性,设置XPercentileEVMOutputPort财产真正的

数据类型:逻辑

使用

描述

例子

rmsEVM=维生素(refSym,rxSym)挣值管理措施RMS百分比都收到的信号rxSym相对于参考信号refSym在测量时间间隔中指定MeasurementIntervalSourceMeasurementInterval属性。

(rmsEVM,maxEVM)=维生素(refSym,rxSym)还挣值管理措施的最大百分比都超过配置的测量时间间隔。

使用这个语法,设置MaximumEVMOutputPort财产真正的

(___,xEVM)=维生素(refSym,rxSym)也低于这个值的措施X%的维生素与测量使用所有输入帧自上一次重置,无论测量间隔配置。设定的值XXPercentileValue财产。例如,如果您设置了XPercentileValue95年,那么95%的维生素与测量自上一次重置跌破的价值xEVM。您可以使用该语法与以往任何输出参数组合。

使用这个语法,设置XPercentileEVMOutputPort财产真正的

例子

(___,numSym)=维生素(refSym,rxSym)还返回符号用来测量的数量X百分位维生素。使用这个语法,设置XPercentileEVMOutputPortSymbolCountOutputPort属性真正的

例子

(___)=维生素(rxSym)措施的维生素与接收信号相对于参考信号中指定ReferenceConstellation财产。您可以使用该语法与以往任何输出参数组合。

使用这个语法,设置ReferenceSignalSource财产“估计从参考星座”ReferenceConstellation属性向量的长度相等rxSym输入。

输入参数

全部展开

参考信号,指定为一个标量、向量,矩阵,或三维数组。如果指定这个输入,对象的维生素与措施rxSym输入通过使用这个作为参考星座。

这个输入的尺寸必须匹配的rxSym输入。这个输入的每个元素对象使用符号的对应元素的引用rxSym输入。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64
复数的支持:金宝app是的

收到信号,指定为一个标量、向量,矩阵,或三维数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64
复数的支持:金宝app是的

输出参数

全部展开

百分比RMS维生素与接收到的信号的测量间隔配置,作为一个标量返回。

数据类型:

挣值管理最大百分比都超过配置的测量时间间隔,作为一个标量返回。

数据类型:

低于这个值X挣值管理的%都测量自上一次重置,作为一个标量返回在[0,100]。设定的值XXPercentileValue财产。

数据类型:

对象使用的符号数量来衡量的xEVM输出,作为一个正整数返回。

数据类型:

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

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

d =兰迪([0 7],2000 1);txSig = pskmod (d, 8,π/ 8);

通过调制信号通过加性高斯白噪声(AWGN)信道。

rxSig = awgn (txSig 30);

创建一个维生素与对象。挣值管理措施RMS都使用传输信号作为参考。

维生素与= comm.EVM;rmsEVM1 =维生素(txSig rxSig);

释放维生素与测量系统对象。配置对象估计接收信号的维生素对星座的引用。

释放维生素(维生素)。ReferenceSignalSource =“估计参考星座”;维生素。ReferenceConstellation = pskmod(0:7 8π/ 8);

挣值管理措施RMS都只使用接收信号作为输入,然后验证两种维生素与结果匹配。

rmsEVM2 =维生素(rxSig);isequal (rmsEVM1 rmsEVM2)
ans =逻辑1

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

ofdmmod = comm.OFDMModulator (FFTLength = 32, NumSymbols = 4);ofdmdemod = comm.OFDMDemodulator (FFTLength = 32, NumSymbols = 4);

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

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

生成随机QPSK调制符号和适用。

味精=兰迪([0 3],numSC numSym);rxSym = pskmod(味精4π/ 4);

OFDM调制QPSK信号。通过一个AWGN信道传递信号。解调的信号。

txSig = ofdmmod (rxSym);rxSig = awgn (txSig 10“测量”);refSym = ofdmdemod (rxSig);

挣值管理配置一个维生素与测量系统对象平均都在副载波测量。测量维生素。四个条目对应的四个OFDM符号。

维生素与= comm.EVM (AveragingDimensions = 1);rmsEVM =维生素(refSym rxSym)
rmsEVM =1×428.3317 25.7689 21.7944 23.5579

挣值管理配置维生素与测量系统对象平均都在OFDM符号测量。测量维生素。21个条目对应于每个21副载波。

维生素与= comm.EVM (AveragingDimensions = 2);rmsEVM =维生素(refSym rxSym);disp (rmsEVM”)
28.5667 16.3509 21.3003 22.6700 25.4878 26.7996 28.4253 32.7493 34.5155 19.7745 18.7687 21.5631 20.2539 12.2082 25.3397 43.9916 26.8119 22.6613 29.5975 19.3420 16.1452

测量维生素和平均在副载波和OFDM符号。

维生素与= comm.EVM (AveragingDimensions = [1 - 2]);rmsEVM =维生素(refSym rxSym)
rmsEVM = 24.8838

计算和情节的维生素与OFDM信号。信号由两个数据包间隔隔开。

创建系统对象:

  • OFDM-modulate一个信号。

  • 介绍相位噪声。

  • 情节时变信号。

ofdmmod = comm.OFDMModulator (FFTLength = 256, NumSymbols = 2);pnoise = comm.PhaseNoise(水平= -60,FrequencyOffset = 20, SampleRate = 1000);tscope = timescope (YLabel =“维生素(%)”YLimits = 40 [0],SampleRate = 1000, TimeSpanSource =“财产”时间间隔= 1.2,ShowGrid = true);

配置一个维生素与测量系统对象生成一个时变估计的维生素。

维生素与= comm.EVM (MaximumEVMOutputPort = false,ReferenceSignalSource =“输入端口”,AveragingDimensions = 2);

确定OFDM调制器的输入数据的维度。

modDims = info (ofdmmod);

为第一个包创建QPSK-modulated随机数据。应用OFDM调制。

data =兰迪([0 3],modDims.DataInputSize);qpskSig = pskmod(数据、4π/ 4);txSig1 = ofdmmod (qpskSig);

创建第二个数据包。

data =兰迪([0 3],modDims.DataInputSize);qpskSig = pskmod(数据、4π/ 4);txSig2 = ofdmmod (qpskSig);

连接两个包,包括一个没有传输数据的时间间隔。

txSig = [txSig1;0 (112 1);txSig2];

应用I / Q传输信号幅度和相位的不平衡。

rxSigIQimb = iqimbal (txSig、2、5);

运用相位噪声。

rxSig = pnoise (rxSigIQimb);

挣值管理措施和情节都接收的信号。

e =维生素(txSig rxSig);tscope (e)

配置一个维生素与对象输出最大的维生素,90维生素,和象征。

维生素与= comm.EVM (MaximumEVMOutputPort = true,XPercentileEVMOutputPort = true, XPercentileValue = 90,SymbolCountOutputPort = true);

生成随机数据符号。应用16-QAM调制。调制信号作为参考随后维生素与测量。

data =兰迪(1000年15][0,1);refSym = qammod(数据、16 UnitAveragePower = true);

通过通过AWGN信道调制信号。

rxSym = awgn (refSym, 20);

测量噪声信号的维生素。

[rmsEVM, maxEVM pctEVM numSym] =维生素(refSym rxSym)
rmsEVM = 9.8775
maxEVM = 26.8385
pctEVM = 14.9750
numSym = 1000

衡量一个嘈杂的的维生素与8-PSK信号使用两种类型的自定义测量间隔和显示结果。

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

M = 2;K = 5;

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

sfLen = 100;frmLen = K * sfLen;

创建一个维生素与测量系统对象,指定一个自定义的间隔等于帧长度的测量。

evm1 = comm.EVM (MeasurementIntervalSource =“自定义”,MeasurementInterval = frmLen);

挣值管理配置对象来衡量都使用一个8-PSK参考星座。

evm1。ReferenceSignalSource =“估计参考星座”;evm1。ReferenceConstellation = pskmod(0:7 8π/ 8);

创建一个维生素与测量系统对象,指定一个500 -符号测量间隔周期重置。挣值管理配置对象来衡量都使用一个8-PSK参考星座。

evm2 = comm.EVM (MeasurementIntervalSource =“自定义周期重置”,MeasurementInterval = frmLen);evm2。ReferenceSignalSource =“估计参考星座”;evm2。ReferenceConstellation = pskmod(0:7 8π/ 8);

初始化维生素和信噪比(信噪比)数组。

rmsEVM1 = 0 (K、M);rmsEVM2 = 0 (K、M);snrdB = 0 (K、M);

测量噪声8-PSK信号使用的维生素与对象。信噪比增加1 dB子帧子帧。的evm1对象使用500最近的符号计算估计。在这种情况下,对象使用一个滑动窗口处理整个帧的数据。的evm2对象扫清了符号在每次开始处理一个新的框架。

m = 1: mk = 1: k数据=兰迪([0 7]sfLen 1);txSig = pskmod(数据,8,π/ 8);snrdB (k、m) = k + (m - 1) * k + 7;rxSig = awgn (txSig snrdB (k、m));rmsEVM1 (k、m) = evm1 (rxSig);rmsEVM2 (k、m) = evm2 (rxSig);结束结束

使用两种方法显示维生素与测量。在第一种情况下所使用的窗口提供了一个平均的子帧。在第二种情况下,维生素与对象重置后第一帧,这样维生素与计算值更精确地反映当前的信噪比。

楼梯(snrdB (:), [rmsEVM1 (:) rmsEVM2(:)))包含(“信噪比(dB)”)ylabel ('维生素(%)')传说(“不重置”,“周期性重置”)

图包含一个坐标轴对象。坐标轴对象包含信噪比(dB), ylabel维生素(%)包含2楼梯类型的对象。这些对象代表没有复位,周期性重置。

生成QAM过滤数据,通过一个AWGN信道。计算符号错误率,估计接收信号的维生素。

创建通道和过滤系统对象。

M = 16;refConst = qammod (0: M - 1 M);频道= comm.AWGNChannel (NoiseMethod =“信号噪声比(信噪比)”,信噪比= 15,SignalPower = 10);txfilter = comm.RaisedCosineTransmitFilter (OutputSamplesPerSymbol = 4);rxfilter = comm.RaisedCosineReceiveFilter (InputSamplesPerSymbol = 4,DecimationFactor = 4);

创建一个维生素与测量系统对象计算均方根和最大的维生素。

维生素与= comm.EVM (MaximumEVMOutputPort = true,ReferenceSignalSource =“估计参考星座”,ReferenceConstellation = refConst);

创建一个误码率测量系统对象和占通过发送和接收滤波器的信号延迟。对于一个过滤器,群延迟等于一半的FilterSpanInSymbols财产。

rxd = (txfilter。FilterSpanInSymbols + rxfilter.FilterSpanInSymbols) / 2;errorRate = comm.ErrorRate (ReceiveDelay = rxd);

执行这些通道操作:

  • 生成随机数据符号。

  • 应用16-QAM。

  • 过滤通过提高余弦调制数据传输过滤器。

  • 通过通过AWGN信道传输信号。

  • 过滤接收到的数据通过一个余弦接收滤波器。

  • 解调过滤数据。

txData =兰迪(15][0,1000,(1);modData = qammod (txData, M);txSig = txfilter (modData);rxSig =通道(txSig);filtSig = rxfilter (rxSig);rxData = qamdemod (filtSig, M);

计算误差统计和显示符号错误率。

errStats = errorRate (txData rxData);symErrRate = errStats (1)
symErrRate = 0.0222

测量和显示接收到的RMS维生素和最大的维生素与价值观。考虑过滤器延迟删除第一rxd + 1符号。挣值管理因为接收到的信号包含符号错误,都可能不完全准确。

[rmsEVM, maxEVM] =维生素(filtSig (rxd + 1:结束)
rmsEVM = 17.2966
maxEVM = 40.1595

测量扭曲的RMS和最大的维生素与OFDM波形和可视化符号用星座图。

与64 - qam随机生成一个OFDM波形数据。

M = 64;nfft = 64;nSym = 10;cpLen = 10;data =兰迪([0 (M - 1)]、nfft nSym);txSym = qammod(数据、M UnitAveragePower = 1);txWaveform = ofdmmod (txSym nfft cpLen);

应用非线性失真信号通过创建一个无记忆非线性系统对象。

获得= 2;非线性= = comm.MemorylessNonlinearity(方法“拉普模式”,LinearGain =获得);rxWaveform =非线性(txWaveform);

扭曲的符号通过执行OFDM解调恢复。

rxSym = ofdmdemod (rxWaveform nfft cpLen);

测量每个OFDM符号RMS和最大的维生素与接收的信号。

refSym = qammod ((0: (M - 1)), M, UnitAveragePower = 1);维生素与= comm.EVM (MaximumEVMOutputPort = 1,ReferenceSignalSource =“估计参考星座”,ReferenceConstellation = refSym,归一化=“平均星座力量”);挣值管理(rmsEVM maxEVM] =都(rxSym);disp (rmsEVM”)
8.0933 7.4962 7.7542 7.7335 7.5719 7.9262 7.7042 8.6034 8.0817 7.6852
disp (maxEVM”)
18.8246 15.6412 15.9905 13.0713 14.0164 15.5771 17.0201 19.4699 18.2106 16.7549

想象一个星座图上接收到的符号。

星座= comm.ConstellationDiagram (Name =“接收符号的星座图”,ReferenceConstellation = refSym (:));星座(rxSym (:))

算法

实现支持三种标准化方法。金宝app你可以规范化测量根据参考信号的平均功率,平均星座的力量,或峰值星座的力量。不同的行业标准遵循这些标准化的方法之一。

挣值管理算法计算RMS都值为每一个归一化法不同。

维生素与归一化法 算法
参考信号

E V RMS = 1 N k = 1 N ( e k ) 1 N k = 1 N ( k 2 + k 2 ) × One hundred.

平均功率

E V RMS ( % ) = One hundred. 1 N k = 1 N ( e k ) P avg

峰值功率

E V RMS ( % ) = One hundred. 1 N k = 1 N ( e k ) P 马克斯

在这些方程:

  • ek= e k = ( k ˜ k ) 2 + ( k ˜ k ) 2

  • k同步测量的吗k在爆炸中th象征。

  • k正交相位测量的吗k在爆炸中th象征。

  • N是输入向量的长度。

  • Pavg平均星座的力量。

  • P马克斯星座峰值功率。

  • kk代表理想的(引用)值。 ˜ k ˜ k 代表测量(收到)符号。

最大的维生素是最大的在一个框架或维生素与价值 E V 马克斯 = 马克斯 k ( 1 , , N ] { E V k } , 在哪里kk符号的破裂长度N

的定义维生素k取决于你选择的归一化法计算测量。这些算法的实现支持。金宝app

维生素与归一化法 算法
参考信号

E V k = e k 1 N k = 1 N ( k 2 + k 2 ) × One hundred.

平均功率

E V k = One hundred. e k P avg

峰值功率

E V k = One hundred. e k P 马克斯

实现计算X挣值管理百分比都通过创建一个传入的柱状图维生素k值。这个输出提供了维生素低于这个值X%的维生素与值下降。

扩展功能

版本历史

介绍了R2012a