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发射机的有效值EVM不应低于35%。

系统参数

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

dataRate = 20 e3;在赫兹%比特率M = 2;%调制阶数(BPSK)chipValues = [1; 1; 1; 1; 0; 1; 0; 1; 1; 0, 0, 1, 0, 0, 0);位0的芯片值%。芯片值为1是相反的。

第6.7.3 [1]指定测量过的I和Q基带输出1000个样品进行的。要占过滤器的延迟,我们包括在发送的符号模拟1点多一点。我们选择了四个过采样传输信号。我们假设60 dB,考虑发射器和测试硬件缺陷的SNR。

numSymbols = 1000;一个EVM值所需的符号数%numFrames = 100;帧数%nSamps = 4;样品的%数表示一个符号filtSpan = 8;符号中的过滤器跨度%增益=长度(chipValues);扩展增益(每个符号的芯片数)芯片速率=增益* DATARATE;%芯片速度采样率= nSamps *芯片速率;%最终采样率加numBits =小区((numSymbols)/增益)+1;一个EVM值所需的位数%SNR = 60;%模拟信噪比,单位为dB

初始化

我们可以得到BPSK调制符号与一个简单的映射0到+1和1到-1。如果我们也映射芯片值,然后我们可以在比特到芯片转换前进行调制,并使用矩阵数学来编写高效的MATLAB®代码。ZigBee规范还将脉冲整形滤波器定义为具有一个上升的余弦脉冲形状,其滚压因子为1。

%映像币值chipValues = 1  -  2个* chipValues;设计了一个带有1滚压因子的提升余弦滤波器rctFilt = comm.RaisedCosineTransmitFilter ('RolloffFactor'1,...'OutputSamplesPerSymbol',nSamps,...“FilterSpanInSymbols”,filtSpan);rcrFilt = comm.RaisedCosineReceiveFilter('RolloffFactor'1,...'InputSamplesPerSymbol',nSamps,...“FilterSpanInSymbols”,filtSpan,...'DecimationFactor', nSamps);

EVM测量

通讯工具箱™提供comm.EVM来计算RMS EVM,最大EVM,和第x百分位EVM值。第6.7.3 [1]定义了EVM计算方法,其中测得的I和Q样本的平均误差是由符号的功率归一化。对于BPSK系统中,两个星座码元的功率是相同的。因此,我们可以使用“峰值功率星座”正常化选项。其他可用归一化选项,其可与其它通信系统的标准中使用,是平均星座功率和平均参考信号功率。

EVM = comm.EVM(“归一化”“峰值功率星座”
EVM = comm.EVM与属性:归一化: '峰值功率星座' PeakConstellationPower:1 ReferenceSignalSource: '输入端口' MeasurementIntervalSource: '输入长度' AveragingDimensions:1 MaximumEVMOutputPort:假XPercentileEVMOutputPort:假

模拟

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

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

%Tx和Rx滤波器的延迟是相同的并且等于一半的过滤器跨度。%总延迟等于两个滤波器延迟之和,即滤波器一个过滤器的%跨度。refSigDelay = rctFilt.FilterSpanInSymbols;%模拟帧中的符号数simNumSymbols = numBits *所得;%初始化峰值均方根EVMpeakRMSEVM = -INF;%创建comm.DifferentialEncoder对象进行差分编码数据diffenc = comm.DifferentialEncoder;%创建一个comm.AWGNChannel系统对象,并设置其NoiseMethod属性%至“信噪比(SNR)”陈= comm.AWGNChannel('NoiseMethod'“信噪比”...'SNR'信噪比);在阵阵%环对于p = 1: numFrames生成随机数据B =兰迪([0 M-1],加numBits,1);%差分编码d = diffenc (b);%调节X = 1-2 * d;%将符号转换为芯片(扩展)C =重塑(chipValues * X”,simNumSymbols,1);%脉冲波形杯子= rctFilt (c);%计算并设置通道对象的“SignalPower”属性陈。SignalPower =总和(杯。^ 2)/长度(杯);%添加杂色陈r =(杯);%向下采样接收到信号。考虑滤波器延迟。rd = rcrFilt (r);%使用EVM系统对象进行度量rmsEVM =维生素(复杂(rd (refSigDelay + (1: numSymbols))),...络合物(C(1:numSymbols)));%更新峰值RMS EVM计算如果(peakRMSEVM < rmsEVM) peakRMSEVM = rmsEVM;结束结束%显示结果fprintf中('最坏情况RMS EVM(%%):%1.2F \ N'peakRMSEVM)
最坏情况下RMS EVM (%): 0.19

评论

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

选定的参考书目

  1. IEEE802.15.4标准无线媒体访问控制(MAC)和物理层(PHY)规格的低速率无线个人区域网络,2003。