主要内容

802.15.4(Zigbee)系统的EVM测量

用一个comm.evmSystem Object™测量模拟IEEE®802.15.4的误差向量幅度幅度(EVM)[1]发射器。IEEE 802.15.4指定用于Zigbee®无线个人区域网络的协议。

指定的EVM要求

EVM测量通过测量无误差的参考波形和受损波形之间的差异来量化发射机的调制精度。IEEE®802.15.4的第6.7.3.1节指定:“ ... IEEE 802.15.4发射机在1000芯片测量时的EVM值应小于35%。应根据基带I和通过参考接收器系统恢复后的Q芯片。参考接收器应在进行测量时执行载体锁,符号正时恢复和振幅调整。在这里,接收器处理不需要载体锁,符号正时恢复和振幅调整,因为模拟中施加的唯一障碍是加性白色高斯噪声(AWGN)。

系统参数

为868 MHz频段的802.15.4系统定义系统参数,带有二进制相移键合(BPSK)的直接序列扩散频谱(DSSS)用于芯片调制,以及用于数据符号编码的差分编码。

BPSK位到芯片映射以14芯片序列扩散每个输入位。具有价值的输入位0Chipvalues具有价值的参数和输入位1(1-ChipValues)。使用八个符号的传输信号和滤波器跨度使用四个的过采样率。要模拟发射器和测试硬件缺陷,请使用60 dB的SNR。

datarate = 20E3;比特率的百分比为HzM = 2;%调制顺序(BPSK)chipvalues =...0值输入位的芯片值%[1; 1; 1; 1; 0; 1; 0; 1; 1; 0; 0; 0; 1; 1; 0; 0; 0];numsymbols = 1000;测量EVM所需的符号数量的%numframes = 100;帧数的%nsamps = 4;百分比过度样品filtspan = 8;符号中的%过滤器跨度SNR = 60;DB中模拟的信号噪声比例

计算扩散增益,芯片速率,最终采样率以及获得一个EVM测量值所需的位数。在传输符号的模拟中加入一位,以说明过滤器延迟。

增益=长度(chipvalues);%传播增益(每个符号芯片)chiprate =增益*datarate;芯片率%采样= nsamps*chiprate;最终抽样率%numbits =...一个EVM测量的%位ceil((numsymbols)/gain)+1;

初始化

通过使用0到+1和1至-1的简单映射获得BPSK调制符号。为了允许使用矩阵数学并编写有效的MATLAB®代码,请映射芯片值,以便可以在芯片转换之前应用调节值。要应用针对Zigbee指定的Pule形状滤波,请定义一对以1个剪辑系数为1的方形根尖端滤波过滤器。

chipvalues = 1-2*chipvalues;%地图芯片值rctfilt = Comm.RAISEDCOSINETRANSMITFILTER(...rolofffactor = 1,...outtutsmplespersymbol = nsamps,...filterspaninsymbols = filtspan);rcrfilt = Comm.RAISEDCOSINERECEIVEFILTER(...rolofffactor = 1,...Inputsmplespersymbol = nsamps,...filterspaninsymbols = filtspan,...decimationFactor = nsamps);

EVM测量

如IEEE®802.15.4第6.7.3节所定义的那样,EVM计算方法通过符号的功率归一化I和Q样品的平均误差。由于两个星座符号的功率对于BPSK系统都是相同的,因此配置EVM测量对象以使用峰星座功率归一化。有关EVM计算方法和归一化选项的更多信息,请参见comm.evm系统对象参考页面。

evm = comm.evm(归一化=“峰星座”);

模拟

生成随机数据位,通过使用一个差异化编码这些位comm.DifferencenCoder系统对象,并应用BPSK调制。通过使用映射芯片值的矩阵乘法来扩展调制符号。通过脉冲成型过滤器传递扩展符号。

EVM对象假设接收和参考符号是同步并以相同速率进行采样的。必须将接收的信号降采样并与参考信号同步。

为了确保足够的平均值,在每个框架中模拟100帧的100帧。保存最大测量的EVM检查,以满足EVM的要求 35%在指定的EVM要求部分。

由于发射和接收过滤器是相同的,并且每个延迟等于滤波器跨度的一半,因此总延迟等于一个过滤器的跨度。

refsigdelay = rctfilt.filterspaninsymbols;diffenc = comm.differencencoder;simnumsymbols = numbits*gain;框架中符号数量的%PeakRmSevm = -Inf;%初始化峰值RMS EVM值

使用for循环处理传输帧。在发射侧,生成随机数据,应用差分编码,应用BPSK调制,扩散芯片,应用脉冲成型并在传输信号中添加噪声。在接收侧,下样本和过滤信号,解释信号延迟,测量EVM,更新峰值EVM以节省测量的最大值。处理所有数据帧后,显示最大EVM值。

为了p = 1:numframes%传输侧b = randi([0 m-1],numbits,1);d = diffenc(b);x = 1-2*d;%调制c = rephape(chipvalues*x',simnumsymbols,1);%传播数据杯子= rctfilt(c);r = awgn(杯,snr,“测量”);%接收一方rd = rcrfilt(r);%下样本和过滤rmSEVM = EVM(EVM...复杂(rd(refsigdelay+(1:numsymbols))),),...复杂(C(1:numsymbols)));%更新峰值RMS EVM计算如果(peakRMSEVM 结尾结尾%显示结果fprintf('最坏情况RMS EVM(%%):%1.2F \ n',peakrmSevm)
最坏情况RMS EVM(%):0.19

进一步探索

可以通过使用该损伤(例如I/Q不平衡)将其添加到传输信号中IQIMBAL2COEF功能。有关更多示例和信息,请参见误差矢量幅度(EVM)可视化RF损伤话题。

选定的参考书目

1. IEEE标准802.15.4,低率无线个人区域网络的无线介质访问控制(MAC)和物理层(PHY)规格,2003年。