2024年华为杯数学建模竞赛B题-WLAN组网中网络吞吐量建模思路+代码+论文助攻

 ​✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、期刊写作与指导,代码获取、论文复现及科研仿真合作可私信或扫描文章底部二维码。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

🔥 内容介绍

一、背景

无线局域网(Wireless Local Area Network,WLAN)是一种无线计算机网络,使用无线信道作为传输介质连接两个或多个设备。WLAN基于IEEE 802.11标准不断演进,驱动力是人们的业务诉求,从语音/邮件到网页和视频以及更加复杂的虚拟现实/增强现实,WLAN的部署场景也从家庭场景迅速覆盖到无线化办公、教育、医疗、工业制造、仓储等场景。下一代Wi-Fi 7标准支持峰值速率30Gbps,但在高密部署场景下,节点密集度增加,相邻小区覆盖范围重叠使得干扰、碰撞等问题突出,实际部署带宽和数据传输速率大幅下降,因此可支持系统吞吐量仍然有限,需要对WLAN系统进一步优化。

WLAN优化问题的基础问题是吞吐量预测,吞吐量指节点单位时间内成功发送的比特数。精准和快速的吞吐量预测能够为设计鲁棒性和高性能WLAN系统提供很大的技术提升空间。最近一些研究利用机器学习的方法,通过特征提取,如信道、带宽、流量、发送功率、信道接入机制等基本信息、各个节点之间的接收信号强度(Received Signal Strength Indication, RSSI)、信干噪比(Signal to Interference and Noise Ratio, SINR)、传输时间等架构信息、以及节点动态位置、动态干扰等临时信息,进行训练和建模,从而预测系统的吞吐量。这些研究大多通过与仿真结果对比,来验证模型的预测精度。然而实际部署中,WLAN系统的通信行为受到信道环境、干扰的快速变化,业务流量复杂多样的影响,仿真结果并不精确,因此依靠仿真所训练的模型无法真正商用。

本赛题期望能够基于WLAN实测数据,分析WLAN网络拓扑、节点间RSSI、信道接入机制、干扰等因素对WLAN数据发送、速率的影响,进一步地,对WLAN系统吞吐量进行精确预测。基于该吞吐量预测模型,对WLAN进行优化,有望突破工业、教育、医疗等新场景,为用户提供极致的业务体验。

二、WLAN网络

2.1 组网架构

基本服务集(Basic Service Set, BSS)是WLAN的基本组成部分。在WLAN组网架构中(见图2.1),处于某一区域内的站点(Station, STA)与一个无线接入点(Access point, AP)组成一个BSS,该AP专职管理这些STA,称这些STA关联到这个AP,每个时刻STA只能关联到一个AP。常见的AP有无线路由器、WiFi热点等,常见STA有手机、笔记本、物联设备等。AP给STA发送数据称为下行;反之是上行,每个节点发送和接收数据不能同时发生。

图2.1 WLAN组网架构

2.2 接入机制

WLAN中工作在同一信道的各节点共享信道,节点通过载波侦听多址接入/退避的机制避免冲突。接入过程可分为以下3个步骤:

1. 信道可用评估(Clear Channel Assessment,CCA):节点有数据要发送时,首先对工作信道进行固定时长的载波侦听,这个固定时长被称为分布式协调帧间距(Distributed Coordination Function Inter-frame Space, DIFS)。如果DIFS时段内接收到的信号强度RSSI低于CCA门限,判断信道为空闲,否则判断信道为繁忙。

2. 随机回退:判断信道为空闲时,为避免节点间碰撞,每个节点根据其竞争窗口(Contention Window, CW),从[0, CW–1]的整数均匀分布选取一个随机整数作为回退数,将其乘以时隙slotTime(9μs),称为随机回退时段。如果信道在随机回退时段保持空闲,则节点开始一次数据传输。如果期间信道变繁忙,节点将暂停回退,直到信道重新在DIFS内空闲,再继续前面的回退。随机回退采用二进制指数退避算法确定,具体见附录。

3. 数据传输:回退到0的节点发送一个数据帧,接收节点在成功接收到数据之后等待短帧帧间距(Short Inter-frame Space, SIFS)16μs,回复确认帧(Acknowledgement, ACK)32μs。

2.3 CCA门限

WLAN有两层协议栈,即物理(Physical, PHY)层和媒体接入控制(Medium Access Control, MAC)层。数据字段首先在MAC层封装MAC头,携带源MAC地址和目的MAC地址,接着在PHY层封装上PHY头,用于调制和解码,形成一个完整的Wi-Fi帧被发送出去。信道中传输的数据可以被一定区域内的任何其他节点接收,节点首先对PHY头解码,将解封装的数据帧上送到MAC层,节点通过MAC头携带的目的地址识别发送给自己的数据。AP通常配8根不同角度的天线接收信号,所有天线接收RSSI的和用于解码。

WLAN引入包检测(Packet Detection, PD)门限和能量检测(Energy Detection, ED)门限这两个CCA门限,典型值分别是–82dBm和–62dBm。若节点PHY层接收机检测到完整的数据包的PHY头的前导(Preamble),则判定为Wi-Fi报文,采用PD门限;若未检测到Preamble,判定为非Wi-Fi报文,则采用ED门限判断信道忙闲。

AP通常配8根不同角度的天线接收信号,各天线所接收RSSI的和就是所接收信号的RSSI。然而,在进行PD和ED门限判决时,仅采用各天线所接收RSSI中的最大值。

2.4 NAV机制

为保障低延时等高优先级业务,WLAN支持在MAC头携带网络分配矢量(Network Allocator Vector, NAV)字段,指示其它节点在该NAV时段内静默来为自己清空信道。NAV时段为该节点从发送数据帧到接收完ACK的时长。一个节点若处于其它节点指示的NAV静默期,则不竞争信道。在组网中,当AP PHY层接收到来自相邻BSS的数据帧时,若RSSI低于NAV门限(通常为–82dBm),则停止接收,直接丢弃;若RSSI高于NAV门限,则完成接收,并将其上送到MAC层,更新MAC头中携带的NAV时段。关于信道忙闲按CCA门限判断并结合静默期决定。AP采用各天线所接收RSSI的平均值用于NAV门限判决。

2.5同步传输和异步传输

当两个节点间的RSSI>ED时,一个节点传输数据时,另一节点检测信道为繁忙,称两个节点能“听”到。那么多数情况下二者的数据传输将交替进行,只在偶然同时回退到0时同时开始数据传输。节点同时发送数据时产生碰撞,可能导致传输失败。这种在节点间可侦听情况下发生的传输称为同步传输,包括交替进行和同时发生的传输。

WLAN实际部署中,受覆盖范围和可用信道数约束,工作在相同信道的同频AP间RSSI大多处于[PD, ED]区间,一个区域内同频AP数量通常为3~5个。受业务类型影响,包长差异较大,如图2.2所示,在某次同步传输过程中,先结束传输的AP2进行CCA时,由于已经错过侦听AP1的Preamble,将采用ED作为CCA门限,从而判定信道为空闲,在回退到0时开始一次新的传输。称为异步传输。若AP1结束传输时,AP2的第二次传输已开始,则AP1同样原因可能会开始第二次传输,那么两个AP可能进入长时间的异步传输状态。

图2.2 一次异步传输和异步传输状态示意图

此外,NAV门限也对AP的传输方式有影响。如果AP间RSSI小于NAV门限,则相邻小区的数据被丢弃,NAV静默期不更新,两个AP总是不互“听”,每个AP独立收发数据。如果AP间RSSI大于NAV门限,当相邻小区发送数据时,若能检测到其Preamble,则NAV时段内需要静默,否则由于无法解码致使NAV不更新。因此,在异步传输发生概率高时,NAV失效。

2.6 自适应调制编码算法

发送数据的PHY层速率(PHY Rate)由调制编码方案(Modulation and Coding Scheme, MCS)和空间流数(Number of Spatial Stream, NSS)表征,一组(MCS, NSS)对应一个PHY Rate(见4.2节)。MCS和NSS越高,发送时携带的有效比特数越多,即PHY Rate越高。节点的PHY层对信号进行解调时,要求一定的SINR,其SINR越高,可支持成功解调的MCS和NSS越高。WLAN采用经典的自适应调制解调(Adaptive Modulation and Coding, AMC)算法,根据信道条件动态调整发送数据使用的(MCS, NSS)。具体地,初始化时采用默认值(如MCS6, NSS2)发送数据,并持续统计和更新丢包率(Packet Error Rate, PER)。当PER高于一定阈值时,代表当前SINR下,以该(MCS, NSS)发送数据的解调成功率低,需要降低MCS和NSS;否则提高MCS和NSS。AMC算法自适应寻找最优的PHY Rate发送数据,使得吞吐量最大。

三、WLAN系统吞吐建模

赛题附件提供了WLAN组网场景下的实测数据,测试拓扑如图3.1所示,同频AP数量为2或3,AP向各自关联的STA发送下行数据。数据集提供了包括网络拓扑、业务流量、门限、节点间RSSI的测试基本信息,以及测试中收集的数据帧相关统计信息,即各节点发送时长、(MCS, NSS)、PER、吞吐量。测试基本信息即为模型输入,所收集统计信息为模型输出。

图3.1 测试拓扑

赛题目标是根据实测数据集中的测试基本信息,分析影响WLAN系统吞吐量的关键信息,并对系统吞吐量进行建模和预测。附件数据集中,训练集以“training_set_xx”命名,测试集“test_set_xx”命名。

WLAN部署后,节点基于信道竞争接入机制进行CCA和随机回退,并发送数据。在节点间RSSI、信道竞争接入机制、CCA门限、NAV机制等共同影响下,节点以一定的概率发送数据。在测试中,每个AP竞争到信道发送下行数据的机会,可以用每个AP发送数据帧序列的总时长来表征,帧序列时长从开始发送一个数据帧到接收ACK结束。以两个AP传输一段时间为例,仅有同步传输时,每个AP交替抢到信道,偶然同时发送,发送时长基本上各占一半。两个AP总是不互听时,每个AP独立持续抢到信道,发送时长基本占满。当异步传输和同步传输混合时,每个AP的发送时长介于前述二者之间。

问题1. 请根据附件WLAN网络实测训练集中所提供的网络拓扑、业务流量、门限、节点间RSSI的测试基本信息,分析其中各参数对AP发送机会的影响,并给出影响性强弱的顺序。通过训练的模型,预测每个AP的发送机会,即发送数据帧序列的总时长(seq_time),并通过测试集 test_set_1_2ap和test_set_1_3ap(仅提供模型输入信息)预测AP发送数据帧序列的总时长。可按照同频AP个数分类分析和分别建模,也可统一分析和建模。

除了发送机会外,WLAN网络吞吐量还取决于发送时所选用的PHY Rate以及数据帧的比特数。AP给不同STA发送数据所选用的(MCS, NSS),即PHY Rate,受传输方式和干扰情况影响。以两个AP传输一段时间为例,有以下三种情形:

a)仅有同步传输时,两个AP交替抢到信道,偶然同时发送。因此,STA接收数据时的干扰主要来自环境底噪,因而SINR高,AP选用的(MCS, NSS)较高,PHY Rate高。

b)当两个AP总是不互听时,STA接收数据时可能受到较小的邻区干扰和环境底噪。分析时,假设环境底噪可忽略,则STA的SINR为关联AP到该STA的RSSI与邻区AP到该STA的RSSI之差。以图3.1中AP1与AP2为例,AP1发送数据给STA1-2,AP2发送数据给STA2-1,那么STA1-2在接收来自AP1的信号时,受到来自AP2的干扰,其SINR为AP1到STA1-2的RSSI与AP2到STA1-2的RSSI之差,STA2-1同理。AP发送数据选用的(MCS, NSS)与SINR相关。

c)当两个AP的RSSI处于[PD, ED]或[NAV, PD]时,传输中出现由于错过Preamble而导致的异步传输,与同步传输混合。那么在同步传输阶段,STA接收数据时受到的干扰只有环境底噪,在异步传输阶段,干扰来自邻区AP和环境底噪。

可见,AP的AMC所选用的(MCS, NSS)不仅与SINR相关,同时也与AP的传输方式相关。

问题2. 请根附件提供的实测训练集中的测试基本信息,特别是节点间RSSI信息和门限信息,结合问题1中对AP发送机会的分析,对测试中AP发送数据选用最多次数的(MCS, NSS)进行建模,并通过测试集 test_set_2_2ap和test_set_2_3ap(仅提供模型输入信息)预测(MCS, NSS)。(AP在AMC算法下自适应调节发送速率,过程中可能采用多个(MCS, NSS),AMC算法收敛速度快,故其中选用最多次数的(MCS, NSS)反映了SINR水平)

问题3. 请结合问题1和问题2的分析,对系统吞吐量进行建模,并通过测试集test_set_1_2ap和test_set_1_3ap预测网络吞吐量。可按照同频AP个数分类建模,也可统一建模。无线信道具有瞬息万变的特点,实测中所测量的RSSI信息属于大尺度信息,不足以完全反应真实信道变化,因而问题2对(MCS, NSS)的建模可能无法获得很高精度。本问题允许采用实测中统计的数据帧真实(MCS, NSS)作为模型输入变量。

📣 赛题分析

无线局域网(WLAN)作为现代网络架构的重要组成部分,在办公、教育、商业等领域发挥着至关重要的作用。随着移动设备的普及和物联网技术的快速发展,对WLAN网络性能的要求也日益提高,其中网络吞吐量作为一项关键指标,直接影响着用户体验和网络效率。为了深入了解WLAN网络的吞吐量特性,本文将从建模思路、代码实现和相关论文三个方面进行探讨,并提供一些实用性建议。

一、 WLAN网络吞吐量建模思路

WLAN网络吞吐量建模是指利用数学模型来模拟网络环境下数据传输的速率和效率。建模过程需要考虑以下因素:

1. 网络环境: 包括无线信道特性、干扰源、节点分布、用户行为等。

2. 协议机制: 包括MAC层协议、路由协议、拥塞控制机制等。

3. 资源分配: 包括带宽分配、时间片分配、功率分配等。

4. 应用层需求: 包括数据流类型、流量模式、延迟敏感度等。

根据不同的建模目标和应用场景,WLAN网络吞吐量建模可以采用多种方法,常见的有:

1. 队列模型: 使用队列理论来描述网络节点的数据缓冲和处理过程,例如M/M/1模型、M/G/1模型等。

2. 马尔科夫模型: 利用马尔科夫链来描述网络状态的转移过程,例如隐藏马尔科夫模型、马尔科夫决策过程等。

3. 模拟仿真: 使用计算机模拟来模拟网络环境和协议机制,例如NS-3、OMNeT++等仿真平台。

4. 数据分析: 利用实测数据进行统计分析,建立模型来预测网络性能,例如回归分析、神经网络等。

二、 WLAN网络吞吐量建模代码实现

1. 模拟仿真平台:

  • NS-3: 开源网络模拟器,支持多种网络协议和场景,可用于模拟WLAN网络的吞吐量性能。

  • OMNeT++: 另一个开源网络模拟器,功能强大,支持自定义模型和协议。

  • MATLAB/Simulink: 用于进行系统建模和仿真,可以用于模拟WLAN网络的吞吐量性能。

2. 代码示例:

 

# 使用NS-3模拟WLAN网络吞吐量
from ns.core import *
from ns.network import *
from ns.point_to_point import *
from ns.internet import *
from ns.csma import *
from ns.wifi import *

# 创建无线网络节点
nodes = NodeContainer()
nodes.Create(2)

# 创建无线信道
wifi = WifiHelper()
wifi.SetStandard(WIFI_PHY_STANDARD_80211n_5GHZ)
wifi.SetChannelWidth(WIFI_CHANNEL_WIDTH_20MHZ)
wifi.SetDeviceAttribute("DataRate", StringValue("100Mbps"))
wifi.SetDeviceAttribute("TxPower", DoubleValue(1000))
wifi.SetDeviceAttribute("ShortRetryLimit", UintegerValue(2))
wifi.SetDeviceAttribute("LongRetryLimit", UintegerValue(7))

# 创建无线设备
devices = wifi.Install(nodes)

# 创建点对点链路
pointToPoint = PointToPointHelper()
pointToPoint.SetDeviceAttribute("DataRate", StringValue("100Mbps"))
pointToPoint.SetChannelAttribute("Delay", StringValue("2ms"))
devices.Add(pointToPoint.Install(nodes))

# 创建网络栈
internet = InternetStackHelper()
internet.Install(nodes)

# 配置IP地址
addresses = Ipv4AddressHelper()
addresses.Assign(devices)

# 创建应用
onOff = OnOffHelper("ns3::UdpSocketFactory", InetSocketAddress(Ipv4Address("10.1.1.2"), 9))
onOff.SetConstantRate(DataRate("100Kbps"))
app = onOff.Install(nodes.Get(0))
app.Start(Seconds(1.0))
app.Stop(Seconds(10.0))

# 开始模拟
Simulator.Run()
Simulator.Destroy()

3. 代码调试:

  • 使用调试工具进行代码调试,例如gdb、pdb等。

  • 使用日志文件记录模拟过程中的信息,方便分析问题。

  • 使用性能分析工具进行代码性能分析,例如valgrind、gprof等。

🔗 参考代码

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

物理应用        机器学习

🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料

🎁  私信完整代码和数据获取及论文数模仿真定制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值