主要内容

802.15.4 (ZigBee®)系统的EVM测量

这个例子展示了如何使用comm.EVM系统对象™测量模拟IEEE®802.15.4的误差矢量大小(EVM) [1发射机。IEEE 802.15.4是ZigBee规范的基础。

误差矢量大小(EVM)

误差矢量幅值(EVM)是基准波形(即无误差调制信号)与实际传输波形之间的差值的量度。EVM用于量化发射机的调制精度。[1]要求802.15.4变送器的RMS EVM值不应低于35%。

系统参数

802.15.4系统适用于868mhz频段,采用直接序列扩频(DSSS)与用于芯片调制的二进制相移键控(BPSK)和用于数据符号编码的差分编码。

dataRate = 20 e3;%比特率,单位为HzM = 2;调制顺序(BPSK)chipValues = [1; 1; 1; 1; 0; 1; 0; 1; 1; 0, 0, 1, 0, 0, 0);位0的芯片值。%芯片值为1是相反的。

[的第6.7.3条1]规定了在1000多个I和Q基带输出样本中执行测量。为了考虑到滤波器延迟,我们在传输符号的模拟中增加了1位。我们选择将发射信号过采样4倍。我们假设信噪比为60分贝,以考虑发射机和测试硬件的缺陷。

numSymbols = 1000;%一个EVM值所需的符号数numFrames = 100;%帧数nSamps = 4;%表示一个符号的样本个数filtSpan = 8;%筛选符号跨度增益长度= (chipValues);扩展增益(每个符号的芯片数)chipRate =获得* dataRate;%芯片速度sampleRate = nSamps * chipRate;最终抽样率numBits =装天花板((numSymbols) /增益)+ 1;%一个EVM值所需的位数信噪比= 60;%模拟信噪比(dB)

初始化

我们可以通过0到+1和1到-1的简单映射来获得BPSK调制符号。如果我们也映射芯片值,那么我们可以在位到芯片转换之前进行调制,并使用矩阵数学来编写高效的MATLAB®代码。ZigBee规范还将脉冲整形滤波器定义为具有滚动因子为1的凸起余弦脉冲形状。

映射芯片值chipValues = 1 - 2*chipValues;%设计一个提高余弦滤波器与滚动因子1rctFilt = comm.RaisedCosineTransmitFilter (“RolloffFactor”, 1...“OutputSamplesPerSymbol”nSamps,...“FilterSpanInSymbols”, filtSpan);rcrFilt = comm.RaisedCosineReceiveFilter (“RolloffFactor”, 1...“InputSamplesPerSymbol”nSamps,...“FilterSpanInSymbols”filtSpan,...“DecimationFactor”, nSamps);

维生素与测量

Communications Toolbox™提供comm.EVM来计算RMS EVM、Maximum EVM和Xth百分位EVM值。[的第6.7.3条1]定义了EVM计算方法,其中测量的I和Q样本的平均误差按符号的幂归一化。对于BPSK系统,两个星座符号的力量是相同的。因此,我们可以使用“星座功率峰值”的归一化选项。其他可以与其他通信系统标准一起使用的归一化选项是平均星座功率和平均参考信号功率。

维生素与= comm.EVM (“归一化”“星座功率峰值”
evm = comm.EVM具有以下属性:归一化:“峰值星座功率”PeakConstellationPower: 1 ReferenceSignalSource:“输入端口”MeasurementIntervalSource:“输入长度”AveragingDimensions: 1 maximummevmoutputport: false XPercentileEVMOutputPort: false

模拟

我们首先生成随机数据位,用comm.DifferentialEncoder系统对象,并使用BPSK进行调制。我们使用矩阵乘法与映射的芯片值来扩展调制符号。然后将扩展符号通过脉冲整形滤波器。EVM对象假设接收到的符号rd和参考符号c是同步的,并以相同的速率进行采样。我们向下采样接收信号r,并与参考信号c同步。

1]要求在一个RMS EVM计算中使用1000个符号。为了确保我们有足够的平均值,我们模拟了100帧1000个符号,并使用这100个RMS EVM测量值的最大值作为测量结果。我们看到,模拟发射机满足中提到的标准误差矢量幅度上面的部分。

% Tx和Rx滤波器延迟是相同的,等于滤波器跨度的一半。%总延迟等于两个滤波器延迟之和,即滤波器一个过滤器的% span。refSigDelay = rctFilt.FilterSpanInSymbols;%一帧中模拟的符号数simNumSymbols = numBits *所得;初始化峰值RMSpeakRMSEVM =无穷;%创建comm.DifferentialEncoder对象来对数据进行差异编码diffenc = comm.DifferentialEncoder;%创建comm.AWGNChannel System对象,并设置其NoiseMethod属性%与“信噪比”陈= comm.AWGNChannel (“NoiseMethod”“信噪比”...“信噪比”信噪比);%循环爆发p = 1: numFrames生成随机数据b = randi([0 M-1], numBits, 1);%不同编码d = diffenc (b);%调节x = 1 - 2 * d;%将符号转换为筹码(蔓延)c =重塑(chipValues*x', simNumSymbols, 1);%脉冲波形杯子= rctFilt (c);计算并设置通道对象的“信号功率”属性陈。SignalPower =总和(杯。^ 2)/长度(杯);%添加噪声陈r =(杯);% Downsample收到信号。说明滤波器延迟。rd = rcrFilt (r);%使用EVM System对象度量rmsEVM =维生素(复杂(rd (refSigDelay + (1: numSymbols))),...复杂的(c (1: numSymbols)));更新峰值RMS计算如果(peakRMSEVM < rmsEVM)结束结束%显示结果流(最坏情况RMS EVM (%%): %1.2f\n'peakRMSEVM)
最坏情况RMS EVM (%): 0.19

评论

我们演示了如何利用comm.EVM来测试ZigBee发射机是否符合规定的标准EVM值。我们使用了一个粗略的模型,只引入了加性高斯白噪声,并表明测量的EVM小于标准规定的35%。

选定的参考书目

  1. IEEE标准802.15.4,低速率无线局域网的无线介质访问控制(MAC)和物理层(PHY)规范,2003。