企业网站建设属于什么科目,微信公众号直接链接网站怎么做,WordPress更改网站地址,创建网站忘记了怎么办您的点赞收藏是我继续更新的最大动力#xff01;
一定要点击如下的卡片#xff0c;那是获取资料的入口#xff01;
点击链接加入【2024华为杯研赛资料汇总】#xff1a;https://qm.qq.com/q/hMgWngXvcQhttps://qm.qq.com/q/hMgWngXvcQ你是否在寻找数学建模比赛的突破点
一定要点击如下的卡片那是获取资料的入口
点击链接加入【2024华为杯研赛资料汇总】https://qm.qq.com/q/hMgWngXvcQhttps://qm.qq.com/q/hMgWngXvcQ你是否在寻找数学建模比赛的突破点数学建模进阶思路
作为经验丰富的美赛O奖、国赛国一的数学建模团队我们将为你带来本次数学建模竞赛的全面解析。这个解决方案包不仅包括完整的代码实现还有详尽的建模过程和解析帮助你全面理解并掌握如何解决类似问题。
【2024华为杯研赛B题】2024数模华为杯研赛全国研究生数学建模国赛建模过程完整代码论文全解全析来了 2024华为杯研赛B题第一问是要求根据附件WLAN网络实测训练集中所提供的网络拓扑、业务流量、门限、节点间RSSI的测试基本信息分析这些参数对AP发送机会的影响并给出影响性强弱的顺序。接着需要通过训练的模型预测每个AP的发送机会即发送数据帧序列的总时长seq_time并通过测试集test_set_1_2ap和test_set_1_3ap预测AP发送数据帧序列的总时长。可以按照同频AP个数分类分析和分别建模也可统一分析和建模。 为了解决第一个问题我们需要首先分析参数如何影响WLAN中AP的发送机会即发送数据帧序列的总时长并对其影响进行排序。下面是该问题的分析和模型建立的过程 3. 影响程度分析
为了排序各个参数对AP发送机会的影响可以基于以上公式的敏感度分析。假设有很多测试数据对每个参数进行扰动观察对$seq_time$的影响。整个分析的步骤如下
通过训练集数据计算不同参数组合对$P(success)$的影响权重。通过模型的输出统计不同因素对$seq_time$的贡献度。将贡献度进行排序得到影响性强弱的顺序。
4. 总结
结合上述分析和模型我们可以预测对于每个AP的发送机会并通过test_set_1_2ap和test_set_1_3ap进行具体的预测。同时可以根据模型得出的权重或贡献程度对影响参数进行排序从而识别出最显著的影响因素。
接下来可以应用实际数据利用回归、机器学习等手段进行训练以约束和校正$f$的形式从而得到具体的发送时长预测值。通过对测试集的进一步分析我们可以优化最终的模型预测效果。
第一部分分析参数对AP发送机会的影响 要分析影响AP发送机会即发送数据帧序列的总时长的参数我们需要重点关注以下因素
RSSI接收信号强度指示RSSI是决定信道竞争和信号质量的重要因素。较高的RSSI值通常意味着低的干扰和好的接收条件因此能够提高AP发送的机会。公式表示对于某个AP其发送机会可以用与STA之间的RSSI关系来量化。未能达到CCA门限的信道是无法成功发送数据的。信道接入机制CCA门限CCA门限决定了节点是否能判断信道为空闲影响到AP是否开始发送。较低的CCA门限可以增加节点判断信道为空闲的概率从而提高发送机会。公式表示若$RSSI \geq CCA_Threshold$则AP可以发送。NAV网络分配矢量机制NAV机制用于通知节点在何时静默以避免冲突。若NAV时间过长可能会降低其他AP的发送机会。倘若一个AP的NAV时间较长其它AP则需在此期间内保持静默从而影响总体发送能力。竞争窗口CWCW大小影响节点在信道繁忙时的随机回退时间。较大的CW值会导致节点在忙信道上等待的时间更长从而减小了发送机会。增大CW时节点可借助公式$Backoff\ Time \sim \text{Uniform}(0, CW-1) \times slotTime$决定回退。业务流量Traffic Type不同类型的流量如UDP和TCP对AP发送策略也有影响。UDP流量是无连接的且不保证送达可能采用更频繁的发送而TCP流量则依赖于ACK确认可能会因为丢包而调整发送频率。在相同条件下UDP可能比TCP提供更高的发送机会。
强弱顺序分析
基于上述因素可以进行影响强弱的排序 1. RSSI - 直接影响成功传输的概率结果显著。 2. CCA门限 - 在信道利用上具有至关重要的作用影响判断信道的能力。 3. 竞争窗口 - 影响节点的回退和重传策略能显著改变发送机会。 4. NAV机制 - 影响相邻AP的发送机会重要但间接。 5. 业务流量 - 相对而言最弱但在特定场景下如高流量环境会起到关键作用。
预测AP发送机会
鉴于训练集中的基础数据我们可以使用线性回归或其他机器学习模型如随机森林、XGBoost等来建模通过结合上述影响因素推断AP的发送机会$seq_time$。
预测模型或公式形式可以表达为
seq_timeAPf(RSSI,CCA_Threshold,CW,NAV,Traffic Type) seq\_time_{AP} f(RSSI, CCA \_ Threshold, CW, NAV, Traffic\ Type)
最终利用训练集中的数据我们可以通过模型对测试集test_set_1_2ap和test_set_1_3ap进行预测得到相应的AP发送数据帧序列的总时长。
独特见解
在进行参数分析时值得注意的是WLAN系统是一个动态系统受多个因素的交互影响。尤其是当多AP环境下相邻AP之间的干扰和能量管理将导致反馈机制的复杂性影响发送策略的灵活性。因此模拟不同场景下的AP行为如密干扰模式和稀疏干扰模式下的比赛将可能为设计更有效的信道管理方案提供更真实的参考。在实际应用中通过动态调整参数如整合RSSI、SINR等实时监测数据在高密度场景下优化AP分配资源将是未来的一个重要研究方向。 在分析WLAN网络中影响AP接入点发送机会的因素时我们需要从多方面考虑包括网络拓扑、业务流量、门限、节点间RSSI接收信号强度指示等基本信息。接下来我们将详细分析这些因素并给出影响性强弱的顺序。
1. 影响AP发送机会的因素分析
1.1 网络拓扑
AP数量和位置在网络中AP的数量和部署位置影响信号的覆盖范围和相互之间的干扰程度。相邻AP的密度会影响各AP的发送机会。AP数量越多可能导致相互之间的干扰增大尤其是在同频情况下会引起碰撞降低各自的发送机会。
1.2 RSSI值
节点间RSSIRSSI值反映了接收信号的强度影响了SINR信号与干扰噪声比的计算。高频的RSSI值意味着较高的SINR使得AP能够选择更高的MCS调制和编码方案从而增加发送机会。如果RSSI处于竞争范围的门限值PD和ED之间它会影响AP之间的相互“听见”能力从而影响发送机会。
1.3 门限设置
PD、ED、NAV门限包检测门限PD和能量检测门限ED的设定直接影响信道的判断能力。如果RSSI高于PDAP能够成功检测到信号如果低于ED则AP认为信道忙。NAV门限则确保AP在特定时间段内不发送数据若AP间的RSSI小于NAV门限AP将无法及时“听到”和接收其他AP发来的信号。
1.4 业务流量
流量类型和负载流量类型UDP vs TCP和数据包大小将影响数据包的发送时机。TCP会受到ACK确认机制的影响此机制将在一定程度上反映出网络的传输情况和负载对AP的发送能力有重要影响。
2. 强弱顺序
根据上述分析我们可以确定影响AP发送机会的强弱顺序如下
RSSI值 - 直接反映信号强度和SINR决定了MCS的选择和发送能力。AP数量和位置 - 影响AP之间的干扰和竞争。门限设置PD、ED、NAV - 影响信道的判断及信号的可侦听性。业务流量类型和负载 - 影响数据包的发送时机和频率。
3. 数学建模与预测
为了建立模型并预测每个AP的发送机会即发送数据帧序列的总时长$seq_time$可以考虑如下的线性模型
seq_timeiβ0β1⋅RSSIiβ2⋅AP_countβ3⋅PDβ4⋅EDβ5⋅NAVβ6⋅Flow_typeϵ seq\_time_i \beta_0 \beta_1 \cdot RSSI_{i} \beta_2 \cdot AP\_count \beta_3 \cdot PD \beta_4 \cdot ED \beta_5 \cdot NAV \beta_6 \cdot Flow\_type \epsilon
其中 - $seq_time_i$为第$i$个AP发送数据帧的序列总时长。 - $RSSI_{i}$为第$i$个AP与用户之间的接收信号强度。 - $AP_count$为同频AP的数量。 - $PD$, $ED$, $NAV$分别为包检测门限、能量检测门限和NAV门限。 - $Flow_type$是业务流的类型可以用分类变量处理。 - $\beta_0, \beta_1, ..., \beta_6$为模型参数而$\epsilon$为误差项。
通过对训练集进行线性回归分析可以得到各个参数的估计值从而实现对$seq_time$的预测。
4. 预测
通过上述模型我们可以使用训练集数据进行回归分析并将得到的模型应用于测试集test_set_1_2ap和test_set_1_3ap来预测AP发送数据帧序列的总时长。
以上是关于题目中第一个问题的详细回答和相关数学模型。 为了完成这个任务我们将在Python中进行数据分析和模型预测。首先我们将使用Pandas库读取并处理数据然后分析各参数对AP发送机会的影响最后通过线性回归或其他合适的回归模型来预测每个AP的发送数据帧序列的总时长seq_time。
下面是一个可能的实现示例具体实现时需要根据实际数据集的具体情况做适当调整
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import numpy as np# 读取训练集数据
training_data pd.read_csv(training_set.csv)# 分析影响AP发送机会的参数
# 选择相关的特征和目标变量
features [test_dur, eirp, pd, ed, nav, sta_to_ap_x_max_ant_rssi, sta_to_ap_x_mean_ant_rssi] # 替换或添加其他特征
target seq_time# 分割数据集为特征和目标
X training_data[features]
y training_data[target]# 数据集划分为训练集和验证集
X_train, X_val, y_train, y_val train_test_split(X, y, test_size0.2, random_state42)# 创建线性回归模型
model LinearRegression()# 训练模型
省略
rmse np.sqrt(np.mean((y_val - y_pred) ** 2))
print(fRMSE: {rmse})# 在测试集中预测AP发送数据帧序列的总时长
test_data_2ap pd.read_csv(test_set_1_2ap.csv) # 读取测试集
test_data_3ap pd.read_csv(test_set_1_3ap.csv)# 对测试集进行预测
test_features_2ap test_data_2ap[features]
test_features_3ap test_data_3ap[features]predictions_2ap model.predict(test_features_2ap)
predictions_3ap model.predict(test_features_3ap)# 输出预测结果
test_data_2ap[predicted_seq_time] predictions_2ap
test_data_3ap[predicted_seq_time] predictions_3aptest_data_2ap.to_csv(predictions_2ap.csv, indexFalse)
test_data_3ap.to_csv(predictions_3ap.csv, indexFalse)
第二个问题是
根据附件提供的实测训练集中的测试基本信息特别是节点间RSSI信息和门限信息结合问题1中对AP发送机会的分析对测试中AP发送数据选用最多次数的MCS, NSS进行建模并通过测试集 test_set_2_2ap和test_set_2_3ap仅提供模型输入信息预测MCS, NSS。AP在AMC算法下自适应调节发送速率过程中可能采用多个MCS, NSS,AMC算法收敛速度快故其中选用最多次数的MCS, NSS反映了SINR水平。
这个问题的重点在于通过分析测试集中的RSSI和门限信息建模出AP在发送数据时最常使用的MCS, NSS组合并利用这个模型对测试集中的数据进行预测。 要解决第二个问题我们可以将建模过程分为几个步骤数据预处理、特征选择、模型建立、模型训练和模型预测。以下是详细的数学建模步骤
1. 数据预处理
首先我们需要对训练集中的实测数据进行清洗和预处理。我们关注的主要字段包括节点间RSSI信息、门限信息以及AP发送的最大次数的MCS, NSS。
2. 特征选择
选择影响MCS, NSS的特征主要包括 - 接入点间的RSSIReceived Signal Strength Indication - 包检测门限PD - 能量检测门限ED - 网络分配矢量NAV - SINR计算信号干扰噪声比
对于每一对AP到STA的连接我们可以定义SINR如下
SINRAPi→STAjRSSIAPi→STAj−max(RSSIAPk→STAjfor k≠i) SINR_{AP_i \to STA_j} RSSI_{AP_i \to STA_j} - \max(RSSI_{AP_k \to STA_j} \, \text{for } k \ne i) 3. 模型建立
我们假设MCS, NSS的选用依赖于当前的SINR值因此建立如下模型
MCSAPif(SINRAPi→STAj,PDAPi,EDAPi,NAVAPi) MCS_{AP_i} f(SINR_{AP_i \to STA_j}, \, PD_{AP_i}, \, ED_{AP_i}, \, NAV_{AP_i})
我们可以使用线性回归、逻辑回归、决策树或随机森林等算法建立此模型以选择影响最大的特征。
4. 模型训练
使用训练集中的实际数据进行模型训练。目标是最大化选择的MCS, NSS的次数。我们可以使用多类分类算法算法的目标函数可以定义为
maximize∑i,jP(MCSAPi,NSSj)subject toP(MCSAPi,NSSj)∈[0,1] \text{maximize} \quad \sum_{i,j} P(MCS_{AP_i, NSS_{j}}) \quad \text{subject to} \quad P(MCS_{AP_i, NSS_{j}}) \in [0, 1]
其中$P(MCS_{AP_i, NSS_{j}})$表示对应MCS, NSS组合被选择的概率。
5. 模型预测
在得到了模型后我们用测试集中的RSSI和门限信息进行预测。根据预测结果输出最多次数的MCS, NSS。
对于一个给定的测试样本预测的过程可以表示为
MCS^APi,NSS^APiargmax(P(MCSAPi,NSSAPi))for i1,…,N \hat{MCS}_{AP_i}, \hat{NSS}_{AP_i} \text{argmax}(P(MCS_{AP_i}, NSS_{AP_i})) \quad \text{for } i 1, \ldots, N
最终我们计算并输出在测试集中预测的MCS, NSS。
6. 结果评估
对模型预测结果进行评估并计算准确率、召回率等统计量以便检验模型的实际应用效果。
总结
通过上述步骤我们可以利用RSSI和门限信息对MCS, NSS进行建模与预测。这种方法充分利用了无线信道的特点同时考虑了干扰对数据传输效果的影响。在实施时可以根据具体的数据情况选择不同的回归或分类算法来提高模型的预测精度。 要建模AP在发送数据时最常使用的MCS, NSS组合并对测试集进行预测可以采用几个步骤来结构化解决方案。以下是这个问题的具体步骤和分析
一、理论基础和数据驱动的建模
使用RSSI和门限信息利用节点间的RSSI值来计算信干噪比SINR。SINR对于选择最优的MCS, NSS组合至关重要。SINR的计算公式为 SINRRSSIAP→STA−RSSIinterferenceNoise \text{SINR} \frac{\text{RSSI}_{AP \to STA} - \text{RSSI}_{interference}}{\text{Noise}} 其中$\text{RSSI}{AP \to STA}$为AP到STA的信号强度$\text{RSSI}{interference}$为相邻AP对STA的干扰信号强度$\text{Noise}$为底噪。阈值的应用根据PD、ED、NAV的门限建立一个规则模型判断在特定的环境下哪种MCS, NSS组合是最可能被选择的。设定门限条件例如若$RSSI PD$且$RSSI ED$则需考虑当前的RSSI是否足够强以适应某MCS, NSS组合。
二、数据分析和建模方法
特征提取从训练集中提取相关特性如AP间的平均RSSI、门限值、发送流量类型等以此生成特征集。特征计算可以表示为 Features{mean(RSSI),pd,ed,nav,protocol,pkt\_len,…} \text{Features} \{ \text{mean}(\text{RSSI}), \text{pd}, \text{ed}, \text{nav}, \text{protocol}, \text{pkt\_len}, \ldots \}回归/分类模型采用机器学习中的分类算法如随机森林、KNN、决策树等来学习MCS, NSS和上述特征之间的关系。模型训练可表示为 Model:(Features)→(MCSpred,NSSpred) \text{Model} : \text{(Features)} \rightarrow (\text{MCS}_{pred}, \text{NSS}_{pred})这一步通过对特征数据进行K折交叉验证来进行调参数选择最优的模型。
三、模型的应用与预测
应用训练好的模型将测试集中的特征输入到训练好的模型中得到预测结果 (MCSpred,NSSpred)Model(Test\_Features) (\text{MCS}_{pred}, \text{NSS}_{pred}) \text{Model}(\text{Test\_Features})同时对每个输入集中的AP记录的RSSI进行实时计算从而输出实时变化下可能使用的MCS, NSS组合。输出和决策根据预测的MCS, NSS组合可以输出对应的PHY Rate将其用于后续的吞吐量模型或性能分析中。决策模型可表示为 Selected PHY RateRate(MCSpred,NSSpred) \text{Selected PHY Rate} \text{Rate}(\text{MCS}_{pred}, \text{NSS}_{pred})
四、见解与总结
此模型关键在于对环境条件RSSI、门限进行及时的监测和准确的特征抽取。结合机器学习方法有效利用历史数据有助于动态调整AP在无线环境中的发送策略进一步提高系统吞吐量。对于新环境、不同设备配置模型也需适应性训练以及时捕捉变化。
在实际应用中模型能提高AP发送优化的灵活性适应现代WLAN高密集度和多样性业务的需求为用户提供流畅体验。 为了对AP在发送数据时最常使用的$(MCS, NSS)$组合进行建模以及通过模型对测试集中的数据进行预测我们可以依据测试基本信息中的节点间RSSI以及门限信息来构建相应的模型。
方法概述
输入参数定义:RSSI相关信息:
$RSSI_{ap_STA}$: 从AP到STA的RSSI。$RSSI_{neighbor_AP}$: 从邻近AP到STA的RSSI影响SINR。
门限参数:
$PD$: Packet Detection 门限。$ED$: Energy Detection 门限。$NAV$: Network Allocation Vector 门限。
SINR计算: 基于上述信息我们可以计算SINR信干噪比公式如下 SINRRSSIap_STA−RSSIneighbor_AP SINR RSSI_{ap\_STA} - RSSI_{neighbor\_AP}MCS, NSS的选择标准:根据SINR的值我们可以选择相应的$(MCS, NSS)$组合。由于WLAN通常遵循自适应调制编码AMC算法$MCS$和$NSS$的选择可以基于SINR的阈值来决定。例如
如果 $SINR \text{阈值}_{MCS1}$, 选择$(MCS_1, NSS_1)$。如果 $SINR \in [\text{阈值}{MCS1}, \text{阈值}{MCS2}]$, 选择$(MCS_2, NSS_2)$依此类推。
构建模型: 在训练集中我们可以使用分类算法如逻辑回归、决策树或随机森林等来对每个测试样本的特征进行建模训练出预测最频繁使用的$(MCS, NSS)$组合的模型。模型预测: 利用训练好的模型对测试集 $test_set_2_2ap$和$test_set_2_3ap$中的数据进行预测选用输入特征进行模型推导得到对应的$(MCS, NSS)$组合。
具体步骤
构建数据集: 收集如下特征:${RSSI_{ap_STA}, RSSI_{neighbor_AP}, PD, ED, NAV, \ldots }$ 与标签$(MCS, NSS)$。训练模型: 选择合适的机器学习算法根据特征对$(MCS, NSS)$进行分类训练。设模型为$f(\cdot)$则 (MCS,NSS)f(RSSIap_STA,RSSIneighbor_AP,PD,ED,NAV) (MCS, NSS) f(RSSI_{ap\_STA}, RSSI_{neighbor\_AP}, PD, ED, NAV)进行预测: 对测试数据集进行预测设测试集特征为$x_{test}$则预测结果为 (MCS,NSS)predf(xtest) (MCS, NSS)_{pred} f(x_{test})
总结
通过这种方法我们能够利用实测的RSSI、门限信息及其关系构建$(MCS, NSS)$的预测模型并对测试集中的$(MCS, NSS)$进行有效预测。这将有助于进一步评估网络是否能根据实时情况进行优化提升整体吞吐量。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import accuracy_score
import numpy as np# 读取训练集数据
train_data pd.read_csv(training_set.csv) # 替换为实际文件名# 选择特征和目标变量
features [eirp, ap_from_ap_x_max_ant_rssi, ap_from_ap_x_mean_ant_rssi, sta_to_ap_x_sum_ant_rssi, pd, ed, nav, sta_from_ap_x_max_ant_rssi] # 根据数据集实际情况选择特征
target [most_used_mcs_nss] # 假设有一列为要预测的MCS, NSS# 准备特征和目标
X train_data[features]
y train_data[target]# 将MCS, NSS分解为两个独立变量方便模型训练
y[mcs] y[most_used_mcs_nss].apply(lambda x: x[0]) # 假设格式为 [MCS, NSS]
y[nss] y[most_used_mcs_nss].apply(lambda x: x[1])# 分割数据集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 建立模型并训练
model_mcs RandomForestRegressor(n_estimators100, random_state42)
model_nss RandomForestRegressor(n_estimators100, random_state42)model_mcs.fit(X_train, y_train[mcs])
model_nss.fit(X_train, y_train[nss])# 预测
predicted_mcs model_mcs.predict(X_test)
predicted_nss model_nss.predict(X_test)# 查看预测结果
predicted_results pd.DataFrame({predicted_mcs: predicted_mcs,predicted_nss: predicted_nss
})# 读取测试集数据
test_data_2ap pd.read_csv(test_set_2_2ap.csv) # 替换为实际文件名
test_data_3ap pd.read_csv(test_set_2_3ap.csv) # 替换为实际文件名# 准备测试集特征
X_test_2ap test_data_2ap[features]
X_test_3ap test_data_3ap[features]# 进行预测
predictions_2ap (model_mcs.predict(X_test_2ap), model_nss.predict(X_test_2ap))
predictions_3ap (model_mcs.predict(X_test_3ap), model_nss.predict(X_test_3ap))# 将预测结果输出
predicted_2ap_df pd.DataFrame({predicted_mcs: predictions_2ap[0],predicted_nss: predictions_2ap[1]
})predicted_3ap_df pd.DataFrame({predicted_mcs: predictions_3ap[0],predicted_nss: predictions_3ap[1]
})predicted_2ap_df.to_csv(predicted_2ap_mcs_nss.csv, indexFalse)
predicted_3ap_df.to_csv(predicted_3ap_mcs_nss.csv, indexFalse)
请根据您的文件名称和路径调整代码中的文件名并确保所有特征与目标变量的命名与数据集中的一致。 该代码使用随机森林模型来预测AP发送数据时最常用的MCS, NSS。 第三个问题是
请结合问题1和问题2的分析对系统吞吐量进行建模并通过测试集 test_set_1_2ap 和 test_set_1_3ap 预测网络吞吐量。可按照同频AP个数分类建模也可统一建模。无线信道具有瞬息万变的特点实测中所测量的RSSI信息属于大尺度信息不足以完全反应真实信道变化因而问题2对MCS, NSS的建模可能无法获得很高精度。本问题允许采用实测中统计的数据帧真实MCS, NSS作为模型输入变量。 为了解决第三个问题并对WLAN系统吞吐量进行建模我们可以使用以下方法进行数学建模
1. 系统吞吐量模型
WLAN的吞吐量 ($T$) 可以表示为每个AP的吞吐量之和。假设有 $N$ 个AP每个AP的吞吐量为 $T_{AP_i}$则整体吞吐量可以表示为 T∑i1NTAPi T \sum_{i1}^{N} T_{AP_i}
2. 每个AP的吞吐量建模
每个AP的吞吐量 $T_{AP_i}$ 可以基于其发送数据帧的时长 ($seq_time_{AP_i}$)、数据帧的比特数以及每个数据帧的丢包率 ($PER_{AP_i}$) 来计算。我们可以用以下公式进行描述
TAPi(1−PERAPi)×NpduAPi×Lpduseq_timeAPi T_{AP_i} \frac{(1 - PER_{AP_i}) \times N_{pdu_{AP_i}} \times L_{pdu}}{seq\_time_{AP_i}}
其中 - $N_{pdu_{AP_i}}$ 是 AP$i$ 发送的数据帧个数。 - $L_{pdu}$ 是数据帧的有效负载大小以比特为单位。
由于不同 $MCS$ 和 $NSS$ 对应的数据帧大小 ($L_{pdu}$) 是已知的我们可以根据具体的情境选择相应的 $MCS$ 和 $NSS$。
3. 丢包率PER模型
丢包率 ($PER$) 可以基于无线信道条件如 $SINR$和AP选择的MCS, NSS来建模。通常$PER$ 受到 $SINR$ 的影响较高的 $SINR$ 会导致更低的 $PER$。可以使用以下关系进行建模 PERf(SINR,MCS,NSS) PER f(SINR, MCS, NSS)
一般来说可以使用经验公式或回归分析来估算 $PER$例如可以通过以下公式简化建模 PER(SINR)11ek(SINR−θ) PER(SINR) \frac{1}{1 e^{k(SINR - \theta)}} 其中 $k$ 是斜率参数$\theta$ 是一个与技术参数相关的阈值。
4. 总结吞吐量模型
最终的吞吐量模型可以总结为 T∑i1N(1−PERAPi)×NpduAPi×Lpduseq_timeAPi T \sum_{i1}^{N} \frac{(1 - PER_{AP_i}) \times N_{pdu_{AP_i}} \times L_{pdu}}{seq\_time_{AP_i}}
利用这个模型我们可以通过输入数据集中每个AP的发送时长、丢包率和有效比特数来预测总吞吐量。在实际的应用中还可以通过线性回归、随机森林或其他机器学习方法来对该模型进行拟合和参数优化从而进一步提高模型的预测能力。 5. 实测数据的利用
在进行模型构建时允许使用实际测量得到的MCS, NSS及其对应的传输时长和丢包信息以提高模型的准确性和鲁棒性。这将能够为实际的网络部署提供更好的吞吐量预测并有助于优化无线网络的性能。 为了建立WLAN系统吞吐量的模型我们需要综合前两个问题的分析结果并考虑实际的网络环境及数据。系统吞吐量Throughput可以通过以每个AP成功发送的数据量与所用时间的比值来表示。我们可以用以下公式来表示每个AP的吞吐量
ThroughputapDap⋅(1−PERap)Tap \text{Throughput}_{ap} \frac{D_{ap} \cdot (1 - \text{PER}_{ap})}{T_{ap}}
其中 - $D_{ap}$ 是发送的数据总量以比特为单位可以用 $D_{ap} \text{num_ppdu} \times \text{pkt_len} \times 8$ 表示单位从字节转为比特 - $\text{PER}{ap}$ 是丢包率反映了在AP发送数据帧时的失败概率 - $T{ap}$ 是AP发送数据帧所占用的总时间即帧序列的总时长$\text{seq_time}$。
一个系统的总吞吐量是所有AP吞吐量的总和
Total Throughput∑i1NThroughputapi \text{Total Throughput} \sum_{i1}^{N}\text{Throughput}_{ap_i}
在这个公式中$N$为系统中AP的数量。
独特的见解
多AP的协作效应 在实际的WLAN环境中多AP之间的协作和干扰是至关重要的。在模型中我们可以通过增加参数 $RSSI_{Neighbor}$ 来建模邻近AP的干扰影响也就是将其从接收到的数据中考虑使得在接收信号强度 (RSSI) 的计算中包含来自不同AP的数据。这将对SINR的计算产生直接影响。动态环境响应 将模型扩展到考虑动态环境因素例如用户行为变化如设备连接和断开、移动等可以通过引入时间序列模型如LSTM对实时数据进行预测。这样可以有效捕捉到吞吐量和通信模式中存在的动态变化反映出真实环境中信道状态的不确定性。优化选择的MCS, NSS组合 通过在模型中加入自适应调制编码算法AMC的动态性有助于进一步提升吞吐量预测的精度。具体来说我们可以监测SINR变化并自动选择对应的最佳MCS, NSS值以保持高数据速率并最小化丢包率。模型评估与调优 采用累积分布函数 (CDF) 评估模型的预测精度可以为我们提供更充分的信息将目标集中在95%或99%的准确率上这能够有效找出模型潜在的低效径路径和改进方案从而调整模型参数以优化吞吐量的预测精度。
通过结合这些见解对WLAN吞吐量进行建模可以更好地捕捉系统动态变化及其优化路径从而在实际应用中提供更优质的网络服务质量。 为了对WLAN系统吞吐量进行建模我们首先定义吞吐量的计算方法以及相关参数。这一步需要结合问题1和问题2中讨论的结果并对系统吞吐量进行有效的预测。
吞吐量定义
WLAN系统的吞吐量Throughput可以定义为单位时间内成功发送的比特数bps。具体来说我们可以将吞吐量表达为
成功传输的字节数总传输时间秒Throughput成功传输的字节数总传输时间 (秒) \text{Throughput} \frac{\text{成功传输的字节数}}{\text{总传输时间 (秒)}} 由于在WLAN中传输的帧通常是聚合的我们可以引入下列变量
$N_{ppdu}$: 成功传输的MAC服务数据单元MPDU个数$P_{PPDU}$: 每个PPDU传输的有效负载字节数$T_{ack}$: ACK帧的传输时间秒对于ACK帧来说通常为$32\mu s$即$0.000032 s$$T_{timeout}$: 超时时间秒用于测量发送失败的事件
吞吐量计算公式
综合上述定义通过引入各个影响因素和实际测量的数据我们得到吞吐量的近似计算公式如下
ThroughputNppdu⋅PPPDU⋅8TseqNppdu⋅TackNfail⋅Ttimeout \text{Throughput} \frac{N_{ppdu} \cdot P_{PPDU} \cdot 8}{T_{seq} N_{ppdu} \cdot T_{ack} N_{fail} \cdot T_{timeout}}
其中
$T_{seq}$ 为数据帧序列的总时长从发送数据到接收ACK或超时$N_{fail}$ 为发送失败的MPDU数量
模型输入变量
在实际模型中为了得到更高精度的吞吐量预测我们将利用以下输入变量
从数据集中获取的真实的MCS, NSS以及对应的$P_{PPDU}$例如通过分析问题2中选用最多次数的MCS, NSS获知的有效负载。成功帧的数目$N_{ppdu}$和失败帧的数目$N_{fail}$这可以通过数据集中统计得到。传输时间和ACK time如果在测试集中已知可以直接从数据中获取。
通过将这些信息结合利用上述公式我们可以为不同AP下的吞吐量建立模型并进行预测。
预测过程
在预测过程中采用机器学习模型如线性回归、随机森林等来拟合吞吐量与相关输入变量之间的关系具体步骤如下
数据清洗与特征选择去除缺失值与异常值。构建回归模型输入为节点间的RSSI信息、MCS, NSS组合、以及其他阈值信息。模型训练及验证使用训练集进行模型训练评估模型性能。吞吐量预测应用训练好的模型到测试集$test_set_1_2ap$和$test_set_1_3ap$得到每个AP的吞吐量预测值。
总结使用的公式为
Predicted ThroughputAPNppdu⋅PPPDU⋅8TseqNppdu⋅TackNfail⋅Ttimeout(AP∈{AP1,AP2,…}) \text{Predicted Throughput}_{AP} \frac{N_{ppdu} \cdot P_{PPDU} \cdot 8}{T_{seq} N_{ppdu} \cdot T_{ack} N_{fail} \cdot T_{timeout}} \quad (AP \in \{AP1, AP2, \ldots\})
以上公式总结了WLAN吞吐量的模型包括如何计算出每个AP的吞吐量以及如何利用实测数据进行预测。这一建模所需的输入变量密切结合了前两个问题的分析结果。最终可通过模型精度评估方法如CDF曲线来评估预测的准确性。
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score