主要内容

针对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%。

系统参数

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

dataRate = 20 e3;Hz中的%比特率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指定测量在1000多个I和Q基带输出上执行测量。要考虑过滤器延迟,我们在模拟传输符号中包含1位。我们选择将传输的信号过分过四个。我们假设SNR为60 dB,以解释发射机和测试硬件缺陷。

numsymbols = 1000;%一个EVM值所需的符号数numFrames = 100;帧数%nsamps = 4;表示符号的百分比样本filtspan = 8;%符号中的过滤跨度增益=长度(芯片值);%扩展增益(每个符号的芯片数)Chiprate = Gain * Datarate;%芯片速度samplere = nsamps * choprate;%最终抽样率numbits = ceil((numsymbols)/ gain)+1;%一个EVM值需要的位数SNR = 60;%模拟信噪比(dB)

初始化

我们可以通过0到+1和1到-1的简单映射得到BPSK调制符号。如果我们也映射芯片值,那么我们可以在位到芯片转换之前进行调制,并使用矩阵数学编写高效的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测量

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

EVM = comm.evm(“归一化”'峰值星座电力'
EVM = Comm.evm具有属性:归一化:'峰星座电源'PeakConstellationPower:1引用IrceSource:'输入端口'MeforigationIntervalSource:'输入长度'ActivalicsDimensions:1 MaximumeVMOutportport:False XperCentIleevMoutportport:False

模拟

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

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

%TX和RX滤波器延迟相同且等于过滤器跨度的一半。%总延迟等于两个滤波器延迟的和,这就是滤波器一个过滤器的%跨度。refSigDelay = rctFilt.FilterSpanInSymbols;帧中的%模拟符号数simNumSymbols = numBits *所得;初始化峰值RMS EVMpeakrmsevm = -inf;%创建一个comm.differendender对象以差异编码数据diffenc = comm.differentialender;%创建一个com . awgnchannel System对象,并设置其NoiseMethod属性%到“信噪比(SNR)”chan = comm.awgnchannel('noisemethod'“信噪比(SNR)”......'snr'信噪比);%循环突发为了p = 1: numFrames%生成随机数据b = randi([0 m-1],numbits,1);%差分编码d = diffenc (b);%调节x = 1-2 * d;%将符号转换为芯片(扩展)C = REPAPE(ChipValues * X',SimnumSymbols,1);%脉冲波形杯子= rctFilt (c);%计算并设置通道对象的“SignalPower”属性陈。SignalPower =总和(杯。^ 2)/长度(杯);%添加噪声陈r =(杯);% Downsample接收信号。滤波器延迟的原因。rd = rcrFilt (r);%使用EVM System对象进行度量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. IEEE标准802.15.4,无线介质访问控制(MAC)和物理层(PHY)规范,用于低利率无线个人区域网络,2003。