主要内容

端到端IEEE 802.15.4 PHY仿真

这个示例演示了如何为IEEE®802.15.4™标准的不同PHY规格生成波形、解码波形和计算误码率曲线[1,使用用于ZigBee®协议的通信工具箱™库。

背景

IEEE 802.15.4标准指定了体育MAC低速率无线个人区域网络的层次(LR-WPANs) [1].IEEE 802.15.4 PHY和MAC层提供了其他更高层标准的基础,例如无线个域网、WirelessHart®、6LoWPAN和MiWi。这些标准应用于家庭自动化和传感器网络,与物联网(IoT)趋势高度相关。

IEEE 802.15.4物理层实现

最初的IEEE 802.15.4标准及其修订版规定了多个PHY层,它们使用不同的调制方案并支持不同的数据速率。金宝app这些物理层是为特定频段设计的,在某种程度上,是为特定国家设计的。这个例子提供了功能,生成物理和解码波形层内部提出了最初的IEEE 802.15.4规范提供服务(OQPSK在2.4 GHz, BPSK在868/915 MHz), IEEE 802.15.4b (OQPSK并要求在868/915 MHz), IEEE 802.15.4c (780 MHz OQPSK)和IEEE 802.15.4d在950 MHz (GFSK和BPSK)。

这些物理层为PHY协议数据单元(PPDU)指定了一种格式,该格式包括序言、帧开始分隔符(SFD)以及MAC协议数据单元(MPDU)的长度和内容。前导和SFD用于帧级同步。在下面的描述中,术语符号表示芯片序列的整数索引(按照IEEE 802.15.4标准),而不是调制符号(即复数)。

  • OQPSK PHY:所有OQPSK PHYs将每4个PPDU位映射到一个符号。2.4 GHz OQPSK PHY将每个符号扩展到32芯片序列,而其他OQPSK PHY将其扩展到16芯片序列。然后,对芯片序列进行OQPSK调制,并将其传递给半正弦脉冲整形滤波器(或780兆赫频带内的普通上升余弦滤波器)。有关详细说明,请参阅[1].

  • BPSK PHY: BPSK PHY对PPDU位进行差分编码。每个结果位被扩展到15个芯片序列。然后,对芯片序列进行BPSK调制,并将其传递给一个正常的上升余弦滤波器。有关详细说明,请参阅[1].

  • 问体育: ASK PHY使用BPSK调制为序言和SFD仅。其余的PPDU位,即PHY头(PHR)和MPDU,首先映射到868 MHz频带的20位符号和915 MHz频带的5位符号。使用一种称为并行序列扩频(PSSS)或正交码分多址(OCDM)的技术,每个符号被扩展到32片序列。然后对芯片序列进行ASK调制,并将其传递给根凸起余弦滤波器。有关详细说明,请参阅[1].

  • GFSK PHY: GFSK PHY首先使用PN9序列的模-2加法漂白PPDU位。然后对白化后的位进行GFSK调制。有关详情,请参阅[1].

波形产生,解码和误码率曲线计算

该代码说明了如何使用不同频带的波形产生和解码函数,并比较了相应的误码率曲线。

EcNo = 25:2.5:17.5;% Ec/无BER曲线范围程控= 4;每片样品百分比msgLen = 8 * 120;%长度(比特)message = randi([0 1], msgLen, 1);%传播消息%预分配向量存储BER结果:[berOQPSK2450, berOQPSK780, berBPSK, berASK915,...berASK868, berGFSK] = deal(0(1,长度(EcNo)));idx = 1:长度(EcNo)%循环的EcNo范围% O-QPSK PHY, 2450 MHz波形= lrwpan。PHYGeneratorOQPSK(message, spc,2450 MHz的);K = 2;每符号%信息位信噪比= EcNo(idx) - 10*log10(spc) + 10*log10(K);received = awgn(波形,信噪比);位= lrwpan。体育DecoderOQPSKNoSync(received, spc,2450 MHz的);[~, berOQPSK2450(idx)] = biterr(message, bits);% O-QPSK PHY, 780MHz波形= lrwpan。PHYGeneratorOQPSK(message, spc,780 MHz的);%或'868 MHz'/'915 MHz'信噪比= EcNo(idx) - 10*log10(spc) + 10*log10(K);received = awgn(波形,信噪比);位= lrwpan。体育DecoderOQPSKNoSync(received, spc,780 MHz的);%或'868 MHz'/'915 MHz'[~, berOQPSK780(idx)] = biterr(消息,比特);% BPSK PHY, 868/915/950 MHz波形= lrwpan。PHYGeneratorBPSK(message, spc); K = 1;每符号%信息位信噪比= EcNo(idx) - 10*log10(spc) + 10*log10(K);received = awgn(波形,信噪比);位= lrwpan。PHYDecoderBPSK(received, spc); [~, berBPSK(idx)] = biterr(message, bits);%请求PHY, 915 MHz波形= lrwpan。PHYGeneratorASK(message, spc,915 MHz的);K = 1;每符号%信息位信噪比= EcNo(idx) - 10*log10(spc) + 10*log10(K);received = awgn(波形,信噪比);位= lrwpan。PHYDecoderASK(received, spc,915 MHz的);[~, berASK915(idx)] = biterr(message, bits(1:msgLen));%要求PHY, 868 MHz波形= lrwpan。PHYGeneratorASK(message, spc,868 MHz的);K = 1;每符号%信息位信噪比= EcNo(idx) - 10*log10(spc) + 10*log10(K);received = awgn(波形,信噪比);位= lrwpan。PHYDecoderASK(received, spc,868 MHz的);[~, berASK868(idx)] = biterr(message, bits(1:msgLen));% GFSK PHY, 950 MHz波形= lrwpan。PHYGeneratorGFSK(message, spc); K = 1;每符号%信息位信噪比= EcNo(idx) - 10*log10(spc) + 10*log10(K);received = awgn(波形,信噪比);位= lrwpan。PHYDecoderGFSK(received, spc); [~, berGFSK(idx)] = biterr(message, bits);结束%图BER曲线图semilogy (EcNo berOQPSK2450,“o”EcNo berOQPSK780,“- *”EcNo berBPSK,”——+ '...EcNo berASK915,“- x”EcNo berASK868,“s”EcNo berGFSK,“v”)传说(“OQPSK, 2450 MHz”“OQPSK, 780 MHz”“BPSK, 868/915/950兆赫”问,915 MHz的...问,868 MHz的“GFSK, 950 MHz”“位置”“西南”)标题(IEEE 802.15.4 PHY误码率曲线)包含(芯片能量与噪声谱密度,Ec/No (dB)) ylabel (“方方面面”)轴([min(EcNo) max(EcNo) 10^-2 1])网格

进一步的探索

您可以进一步探索以下生成器和解码函数:

选定的参考书目

  1. IEEE 802.15.4-2011 IEEE局域网和城域网标准第15.4部分:低速率无线个人区域网(rr - wpan)