本文介绍一个Simulink模型,可做为设计无线收发器及建立无线网路的基础架构。这个无线收发器包含PHY层与MAC层。藉由使用通讯工具箱、事件模拟模块组附加的功能模块,可以将Simulink模型延伸运用到更先进的无线收发器上,如WLAN、V2X与无线IoT。
本文介绍一个Simulink模型,可做为设计无线收发器及建立无线网路的基础架构。这个无线收发器包含了实体层(physical layer;PHY层)与媒介存取控制层(medium access control layer;MAC层)。而无线网路的模型是由多个在衰减通道(fading channel)进行沟通的无线收发器所构成。
我们使用了一个QPSK调变的简易PHY层,以及两种可选择的MAC层协定:以ALOHA为基础的随机补偿(ALOHA-based random back-off)和CSMA/CA(IEEE 802.11)。为了让说明比较容易,我们省去一些常见于无线收发器的模块,像是交错、加密与通道编码。
你可以使用这个无线收发器模型来研究PHY与MAC行为、PHY与MAC之间的互动、或者研究整个网路。你也可以将它做为一个模板,利用通讯工具箱(Communications Toolbox)、无线区域网路工具箱(WLAN Toolbox)、事件模拟模块组(SimEvents)内的工具和演算法来设计如WLAN、V2X与IoT等更复杂无线收发器的模板。PHY层模块与MAC层的事件导向系统模拟软体(Stateflow)图表都让你能够透过硬体描述语言转码器(HDL Coder)产生HDL程式码,并且以包含了SDR(AD9361)与FPGA(XilinxR ZynqR-7000 SoC)的ADI RF SOM板作为目标硬体来即时实现无线收发器。
网路架构
这个Simulink模型的顶层是由一个衰减无线电网路模块与几个无线收发器节点所构成(图1)。这些节点以ad hoc的方式沟通:网路中任一个节点皆可发射讯号至其他节点,也可以从其他节点接收讯号。这个无线收发器半双向(half-duplex)模式运作。在网路架构里面,每一个收发器节点的输出可到达其他收发器成为输入。依无线电通道的互换原则,每两个节点之间的两条通道设定必须相同,而不同对无线收发器通道的通道设定可以不一样。
在无线收发器的设计,PHY层模型是以接近真实硬体实现的Simulink模块所建立。 MAC层的模型则是透过Stateflow来反映现实中有限状态机器的特性。
封包资料架构格式
这个无线收发器所使用的封包资料架构格式与 MATLAB范例:Packetized Modem with Data Link Layer定义的格式相同。如图所示,PHY的表头资料共有4个区块,这里负载长度(Payload Length)表示了资料连结单元(Data Link Unit)的总位元长度,并且由Header CRC覆盖。而MAC的表头资料有七个区块,架构CRC(Frame CRC)覆盖了MAC表头资料(MAC Header)和架构主体(Frame Body)。架构有两种:资料架构(Data frame)与认可架构(Ack frame)。认可架构的架构主体长度为零。资料架构与认可架构都有如同在IEEE 802.11所定义的格式。
我们现在来更仔细地查看顶层Simulink模型的每一个元件。
无线收发器
无线收发器节点模型使用了半双向(half-duplex)的Tx/Rx模式(图3)。
它由一个PHY层、一个MAC层、一个逻辑链路控制(Logic Link Control;LLC)层组成。 PHY层有三个主要的模块:发射器、接收器与Tx/Rx切换开关。这三个模块皆以Simulink建模。 MAC和LLC层则透过Stateflow图表来建模,以显示无线收发器MAC和LLC层的状态变迁与逻辑运作。
发射器
在无线收发器的发射器模型,TxOn输出控制了RF双向切换开关来决定发射或接收,而TxSymbl输出在发射时让经过调变的讯号流出至双向切换开关(图4)。
输入讯号TxDataOn和TxAckOn分别控制了资料架构和认可架构的发射期间长短。资料架构与认可架构分别载入至查找表TxData_LUT和TxAck_LUT。查找表变数的变更将改变被发射出去的内容。
发射器的符元速率(symbol rate)为10M symbols/sec,而位元速率(bit rate)为20 Mbit/sec。如果没有符元要发射,或者节点处于接收模式时,TxSymbl会被设定为零。发射与接收的脉冲成形滤波器(pulse shaping filter)则在Tx/Rx Switch模块里面。
接收器
无线收发器的接收器有三个主要的功能模块:讯号侦测(Signal Detection;SD)、决策回授等化器(Decision Feedback Equalizer;DFE)、解调器CRC(DCRC)(图5)。 SD模块监控接收到讯号的功率等级。
一旦功率等级超出界限,SD模块会产生一个讯号来启动DFE与DCRC模块,并开始将收到的讯号给DFE。 DFE会以每个符元取样两次做为间隔。训练参考前言被储存在REF_LUT模块。训练资料会在等化训练期间的一开始被呼叫出来。 DCRC模块负责将经过等化的符号流解调为一个位元流,辨认负载长度区块的定界符号,以及执行表头CRC来取得无错误的负载长度。
当负载长度被取得,模块会执行负载(payload)的CRC操作,辨认收到的封包是资料架构还是认可架构,并且将架构类型资料提供给MAC层。如果任一个CRC失败了,架构会被舍弃,且接收器会转换回备用状态。
讯号侦测器
图6所示的讯号侦测器(signal detector;SD)被使用来侦测讯号何时抵达无线收发器。 SD的波形呈现如图7。讯号的绝对值会透过一个两段指数移动平均滤波器(two-stage exponential moving average filter)来过滤。当移动平均滤波器的输出超出界限,侦测器会产生启动讯号SigDe来开启DFE和DCRC模块。位于输出SigOut的缓冲模块会产生二维(取样)资料给部分的DFE。
决策回授等化器
无线收发器的DFE扮演了相当重要的角色。 DFE的功能为移除符间干扰(intersymbol interference;ISI)、符元计时的同步、架构范围的排列、频率偏差的补偿[1-2]。如图8所示,DFE以符元速率来操作,并且在等化器权重的每一次叠代取两个新的样本。
由于前馈细胞(DFE_Cell_FFW)的输入维度为2,每一个DFE_Cell_FFW模块会执行两个前向开关的过程。因此,在DFE的向前部分,9个Cell_FFW模块被用来实现18个前向开关。在回授的部分,每一个DFE_Cell_FBW有一个一维输入,并处理一个回馈开关。因此DFE有6个回馈开关。训练的长度是在DFE内的N-Sample Switch模块来设定。转换器权重纯量是在DFE内由「mu」命名的常数模块设定。图9为DFE前后的星座图。
解调器CRC
DCRC模块(图10)将来自于DFE经过等化的符号流解调为位元流。它接下来检查表头架构CRC并解码负载架构的长度。当取得负载架构的长度,DCRC内的Payload CRC模块会启动。当负载CRC通过,RxType Gen模块会检查MAC Header的To Address栏位。若To Address栏位符合节点的位址,模块会依MAC Header的Type栏位产生RxDataOk或RxAckOk的讯号给MAC层。只要CRC失败,或者是位址或资料类型不适当,则架构会被舍弃。
MAC层
MAC对无线收发器执行有智慧的控制。 MAC实现两个可选择的MAC功能:ALOHA-based(MAC_Sel=1)与CSMA/CA(MAC_Sel=0)。 ALOHA-based MAC较为直接,而CSMA/CA MAC则更有效率。
对于以ALOHA为基础的MAC(图11与12),当一个节点发射出一个资料架构时,它会期待在AckW定义的期间之内收到一个来自接收端节点的认可架构。如果在AckW内没有接收到Ack,MAC会进入随机的补偿(back-off)程序。这一个补偿程序会重复直到资料架构成功送出或者达到最大的重试次数。
![图11 : 在ALOHA-Based MAC的资料架构传输](/art/2020/05/291722273370/p11S.JPG)
图11 : 在ALOHA-Based MAC的资料架构传输 |
|
![图12 : ALOHA-based MAC的Stateflow图表](/art/2020/05/291722273370/p12S.JPG)
图12 : ALOHA-based MAC的Stateflow图表 |
|
对于CSMA/CA MAC(图13与14),媒介在DIFS发射之前这段期间必须静止,接下来节点会开始随机的竞争视窗(Contention Window;CW)期。当CW结束,如果媒介仍为静止,节点会开始发射一个资料架构,否则,节点会等到另一个静止的DIFS期。当发射的节点在SIFS期收到认可架构,它会发射出下一个资料架构;否则会再一次进入DIFS期间。
![图13 : 在CSMA/CA MAC的资料架构传输](/art/2020/05/291722273370/p13S.JPG)
图13 : 在CSMA/CA MAC的资料架构传输 |
|
![图14 : CSMA/CA MAC的Stateflow图表](/art/2020/05/291722273370/p14S.JPG)
图14 : CSMA/CA MAC的Stateflow图表 |
|
图15为有两种MAC功能可选择的MAC层结构。
逻辑链路控制层
逻辑链路控制层(Logical Link Control Layer;LLC层)掌管较上层与无线收发器之间的随机资料封包(图16)。它产生随机抵达的资料封包。对于一个很长的资料封包,LLC层会把它分割为几个资料架构。 LLC层也控制资料架构的排列,以及监控资料封包的传送状态。
![图16 : 逻辑链路控制层(Logical Link Control layer)的Stateflow图表](/art/2020/05/291722273370/p16S.JPG)
图16 : 逻辑链路控制层(Logical Link Control layer)的Stateflow图表 |
|
结果与呈现
本文描述的Simulink模型有三个以轮替的方式沟通的无线收发器节点:节点1 →节点3→节点2→节点1。在每一个节点,由LLC层产生的资料封包抵达时间是随机的。一个资料封包可能有多达四个资料架构。资料框负载长度设定为126 bytes。系统位元率为20 Mbit/Sec。通道模型是透过一个双路径瑞利通道模式(two-path Rayleigh channel mode)搭配50 Hz的都卜勒频率扩展(Doppler frequency spreading)和25 dB SNR(Eb/No)的AWGN来建立。
在ALOHA-based MAC(图17),上面三个图表为来自三个节点的发射波形,而底下的图表为节点1的补偿计数值。在这个图表,持续时间较宽的讯号为资料框,而持续时间较窄的讯号为认可框。图18描绘了CSMA/CA MAC相似的图表。
从图17与18呈现的结果,我们可以归纳出以下结论:
*任两个节点之间,或三个节点之间都有可能发生冲突。
*成功的发射后面总是会有一个认可架构。
*短暂的周转时间对于高网路通量相当重要。
*由于CSMA/CA MAC采用载波侦听的关系,它比起ALOHA-based MAC更有效率。
![图17 : 有ALOHA MAC的节点波形。上:网路节点的发射器波形。下:节点1的补偿计数值。](/art/2020/05/291722273370/p17S.JPG)
图17 : 有ALOHA MAC的节点波形。上:网路节点的发射器波形。下:节点1的补偿计数值。 |
|
![图18 : CSMA/CA MAC的节点波形。上:网路节点的发射器波形。下:节点1的补偿计数值。](/art/2020/05/291722273370/p18S.JPG)
图18 : CSMA/CA MAC的节点波形。上:网路节点的发射器波形。下:节点1的补偿计数值。 |
|
图19为2.8 ms到3.4 ms这段期间媒介传输的放大图。我们可以看到Data1与Data2这两个资料架构发生冲突,因此节点2和节点3都没有办法产生认可架构。在AckW这段等待期间之后,节点1和节点3知道它们的资料框并没有通过。接着在一段短暂的补偿(back-off)时期之后,节点1重新送出Data1,这次资料框成功通过,并且接收到节点3传回的认可。
![图19 : 图17之2.8 ms至3.4 ms期间的放大图](/art/2020/05/291722273370/p19S.JPG)
图19 : 图17之2.8 ms至3.4 ms期间的放大图 |
|
总结
在这个范例,我们建立了一个包含了多个无线收发器与衰减通道的无线网路的Simulink模型。这个模型是由Simulink模块与Stateflow图表所组成,展现了模型化基础设计的效率。无线收发器有PHY和MAC层。 PHY层模型提供了一般PHY的基本功能:调变、解调变、讯号侦测、同步、等化、位元操作(bitwise manipulation)、表头CRC、架构CRC。 MAC层模型是透过Stateflow来建立。它可以使用ALOHA-based MAC或CSMA/CA(IEEE 802.11)MAC。这个模型也有助于进行HDL实现与SDR原型化。
有了这个模型,我们可以在考虑了所有系统元件的网路环境下研究无线收发器的几种行为,包含了:
*快速同步、等化、与转向
*以架构为基础与以样本为基础进行处理的比较
*PHY与MAC之间的互动
*具备几种通道模型的网路效能
藉由使用通讯工具箱(Communications Toolbox)、事件模拟模块组(SimEvents)附加的功能模块,你可以将这个Simulink模型延伸运用到更先进的无线收发器上,如WLAN、V2X与无线IoT。
(本文由钛思科技提供;作者Chung Wu任职于MathWorks公司)