0
点赞
收藏
分享

微信扫一扫

2022 NOIP 题解

随着互联网的飞速发展,无线局域网WLAN因其特有的移动性和灵活性,受到了学术界与工业界的高度关注,现阶段广泛使用的WLAN是基于IEEE 802.11标准实现,其媒体访问控制MAC协议为了效的享有的信源,因此需要对MAC进行深入研究,通过数学模型的建立与仿真实验分析可以有效地分析出无线局域网的性能。

本文主要研究了分布式协调功能DCF根据CSMA/CA与二进制指数退避算法,建立马尔科夫链模型,推导不同场景中节点的多种状态以及在不同状态下达到稳态时各状态的转移概率,计算出系统的理论吞吐量。本文建立的模型是基于Bianchi人提出的的马尔科夫链进行改良,以更好地适应现实的复杂无线传输场景。

针对问题一考虑两BSS互听且两AP并发时SIR较小的场景,将节点退避计数器的状态变化建模为二维时间离散状态离散马尔科夫过程,通过理论分析和数学推导得到系统的稳态表达式,并通过牛顿迭代法求解二元非线性方程组得到系统的吞吐量为67.17Mbps,通过与仿真结果进行对比得到模型误差为0.45%

针对问题二考虑两BSS互听且两AP并发时SIR较大的场景,将节点退避计数器的状态变化建模为一维时间离散状态离散马尔科夫过程,间接反映出两AP信道接入过程中的相互作用,通过该模型得到系统吞吐量为70.56Mbps,与仿真结果进行比较得到模型误差为3.6%

针对问题三考虑两BSS不互听,并发时SIR较小且信道质量不理想的场景,将丢包概率融入到二维时间离散状态离散马尔科夫过程中,反映出信道质量和隐藏节点对系统吞吐的共同影响,通过牛顿迭代法得到系统吞吐为49.18Mbps,与仿真结果进行比较得到模型误差据4.57%

针对问题四考虑三BSS且并发时SIR较大的复杂场景,分析不同AP之间的相互作用的差异,并将这一差异反映到二维时间离散状态离散马尔科夫过程中,通过对该随机过程进行理论推导,并通过牛顿迭代法进行求解得到系统吞吐量为 106.54Mbps,与仿真结果进行比较得到模型误差为11.69%

关键词:无线局域网;分布式协调功能DCF;马尔可夫过程;系统吞吐量;牛顿迭代法

1. 问题重述

1 . 1 背景介绍

          随着无线局域网WLAN (wireless local area networks)的快速发展,用户无需有线连接即可随时访问互联网,这极大提高工作效率和生产力。无线局域网有着实现相对简单、

部署方便、使用灵活、组网便捷、实现成本相对较低、传输速率相对较高等诸多优点。伴随着手机,平板电脑,智能家居设备等无线终端设备的爆发式增长,WLAN已在家庭、学校、办公室、商务酒店等场所得到广泛使用。WLAN已成为目前最流行的无线终端设备接入互联网方式之一。

作为型的无线通信方式,WLAN 在许多域发挥自己特的作用:(1情况比较复杂的场地,通常难以使用传统有线网络建立连接,可以使用 WLAN 线难题。(2在展览会场、大型体育场馆和救灾现场等临时性场所,可以使用WLAN实现更加便捷有效的网络通信。(3)在动通环境下,移动端用户可以通过WLAN无缝接和切换到不同的节点来请求信息访问和数据传输。

WLAN通常指采用无线工作方式,空中接口采用载波侦听多路访问碰撞避免技术实现共享媒质接入控制的一种局域网技术。基本服务集(BSS, basic service setWLAN基本的组成部分。一个BSS通常由站点(STA, station与无线接入点(AP, access point构成。由于无线网络的特性,一个节点无法同时发送与接收数据,其中的节点既是指 AP是指STAAP无线网络的中心节点,可以与有线网络建立连接,所有STA的无线通信均需AP完成,一个BSS的基础网络结构如图1.1所示。

1.1 BSS基础结构网络

WLAN协议的重要组成部分,WLAN网络信道接入机制一直是无线通信领域的热门研究方向。与有线网络连接方式相比,WLAN采用多节点间共享无线信道进行数据传输,同时这带来了传输碰撞、相互干扰(同频或异频干扰)、隐藏节点等问题。因此,我们需要对WLAN 进行模,分析系统的网络吞吐量和网络传输时延,以改善WLAN的性能。

现阶段广泛使用的WLAN是基于IEEE 802.11标准实现,该标准详细定义了两种工作方式,分别是分布式协调功能(DCF, distributed coordination function和点协调功能(PCF, point coordination functionDCF功能基础是载波监听址接/冲突CSMA/CA, carrier sense multi-access and collision avoidance协议,现阶段运营商实际部署WLAN使用的网络设备均支持DCF作方式。在使用理论模型对DCF功能进行数学分析时,通常采用马尔科夫链模型。马尔可夫过程是一类常见的无后效的随机过程,即下一时刻所处状态的概率特性只与当前时刻的状态有关。Bianchi根据其特性建模出适合IEEE 802.11协议的基于二维离散马尔科夫链的吞吐量模型,通过Bianchi可以很好分析出饱状态WLAN性能,展示出较好的参考价值,成为后来学者研究改进的基础。

 

. 2 问题提出

本题先介绍 BSS内节接入信的具制,即包含信道可用评估(CCAclear channel assessment退、数据传输3段的接入制,其中采用二进制指数退避算法确定回退时间。然后基于马尔可夫链对系统的DCF机制进行建模,推导得出了系统的饱和状态吞吐量与冲突概率之间的关系表达式。这一经典的Bianchi模型是在假设理想信道分析 DCF 制的系态,不存在隐藏终端,也不存在数据包丢失的情况。由于过于简化网络环境,Bianchi模型存在着一些明显的不足之处。

在多BSS场景下,场景更为复杂,不仅需要考虑多个AP部署场景下的相互干扰问题,也需要考虑节点间能否互听问题与多节点并发传输问题,可能无法直接地用于这些复杂场景。例如,(1多节点并发传输时,如果SIR足够高使得信号能被成功解调,并发传输均成功,Bianchi模型没有考虑来自不同AP的并发传输,其的适用性受到了限制。(2隐藏终端的存在会导致多节点间发送碰撞概率的变动,Bianchi模型不在适用。(3在实际应用中,信道环境会随着环境干扰发生比较大的变化,导致不同程度的丢包,Bianchi模型亦无法适用。因此,需要根据问题场景的不同,分别对Bianchi模型进进,推导特定环境下节点的发送概率与碰撞概率,得到该场景下系统吞吐量。

1.2 2同频BSS场景

问题一:考虑如图1.2所示的两个同频BSS互听的场景,AP节点仅进行下行传输;模型假设理想信道,数据发送不会因信道质量差而丢包,传输错误仅仅由于传输碰撞造成;ACK一定能发送成功;当两个AP同时回退到0会分别向其关联的STA发送数据,此时存在相互干扰,因并发时的SIR较低,两个AP节点数据传输均失败。通过分析信道存在的三种状态包括空闲、成功和失败,考虑系统状态间的相互转化,将每个状态看做一个虚拟时隙,信道状态在三种虚拟时隙中转化。基于马尔科夫链进行2BSS统建模,采用数值分析根据给定的网络参数进行计算,推导节点在每个虚拟时隙的发送概率τ 和发生碰撞的条件概率p进而得出系统吞吐理论值。使用仿真工具进行仿真实验,完成WLAN吞吐量建模测试,比较理论数值与仿真数值,分析验证模型正确性。

问题二:考虑1.2个同 BSS听的景,AP点仅传输;数据发送不会因信道质量差而丢包,ACK一定能发送成功;当两个AP同时回退到0,会分别向其关联的STA发送数据,存在相互干扰,但因并发传输时的SIR较低,两个AP节点数据的传输都能成功,无需考虑竞争窗口的变化与最大重传次数的限制。基于马尔可夫链进行2BSS系统建模,带入给定的系统参数,采用数值分析方法计算求解,推导节点在每个虚拟时隙的发送概率τ 和发生并行传输的条件概率p,得出2BSS统吞吐理论值,编写仿真验证完成 WLAN量建试,比较理论数值与仿真数值,分析验证模型正确性。

问题三:考虑如图1.2所示的两个同频BSS场景,AP节点仅考虑下行传输,两个发送节点无法互听,数据发送因信道质量差而产生10 %的丢率,隐藏节点存在必须考虑当两个AP发包时间上存在交叠时的干扰,因SIR较小传输失败,采用数值分析根据给定的网络参数进行计算,推导节点在每个虚拟时隙发生碰撞的条件概率p节点在一个时隙发送数据帧的概率τ1和隐藏节点在易受干扰阶段发送数据与发送的数据冲突的概率τ2,从

而可以计算出得出2BSS系统吞吐理论值。编写仿真验证完成WLAN吞吐量建模测试,比较理论数值与仿真数值,分析验证模型正确性。

问题四:考虑1.3的三BSS景,AP节点考虑行传输,AP1AP3不互听,AP2AP1AP3都互听,隐藏节点存在,必须考虑AP1AP3发包时间上存在交叠时的干扰,因SIR较大发包交叠时AP1AP3输成功。AP2与两者都互听,当发生碰撞时,假设SIR较小,认为两者数据传输都失败。通过分析信道存在的四种状态包括空闲、单节点传输、并行传输和传输失败。考虑系统状态间的相互转化,将每个状态看做一个虚拟时隙,信道状态在四种虚拟时隙中转化。基于马尔科夫链进行3BSS系统建模,采用数值分析根据给定的网络参数进行计算,推导节点在每个虚拟时隙的发送概率τ和发生碰撞的条件概率p进而得出系统吞吐理论值。编写仿真验证完成WLAN吞吐量建模测试,比较理论数值与仿真数值,分析验证模型正确性。

1.3 3同频BSS场景

 

而可以计算出得出2BSS系统吞吐理论值。编写仿真验证完成WLAN吞吐量建模测试,比较理论数值与仿真数值,分析验证模型正确性。

问题四:考虑1.3的三BSS景,AP节点考虑行传输,AP1AP3不互听,AP2AP1AP3都互听,隐藏节点存在,必须考虑AP1AP3发包时间上存在交叠时的干扰,因SIR较大发包交叠时AP1AP3输成功。AP2与两者都互听,当发生碰撞时,假设SIR较小,认为两者数据传输都失败。通过分析信道存在的四种状态包括空闲、单节点传输、并行传输和传输失败。考虑系统状态间的相互转化,将每个状态看做一个虚拟时隙,信道状态在四种虚拟时隙中转化。基于马尔科夫链进行3BSS系统建模,采用数值分析根据给定的网络参数进行计算,推导节点在每个虚拟时隙的发送概率τ和发生碰撞的条件概率p进而得出系统吞吐理论值。编写仿真验证完成WLAN吞吐量建模测试,比较理论数值与仿真数值,分析验证模型正确性。

1.3 3同频BSS场景

 

2 . 3 问题三分析

与问题1和问题2不同的是,本题APRSSI-90dBm低于CCA门限,意味着无法侦测对方的活动状态。AP节点始终认为信道处于空闲状态,一直在退避和发送数据。当二者同时或者先后发送数据时,由于SIR值较小,数据发送均失败。由此可见,本题的关键在于求得两个AP节点在发送数据包时时间上存在交叠的概率。

本题中,若在开始发送到STAACK消息之间,有其他节点发送数据,即认为传输时间存在交叠,数据传输失败。将这段时间定义为脆弱时间,长度为数据帧时间和SIFS时间之和。当两AP节点发送时间之差小于脆弱时间,则一定发送失败;反之,考虑到有10%的可能丢包,发送成功的概率仅为90%

2 . 4 问题四分析

同前三个问题相比,本题所考虑的情景更加复杂,在本题中,不但存在可以互听的AP点,而且也存在不互听的 AP点,具体表现为 AP1 AP3 听,AP2 与两者都互听,可以预知的是AP2的数据发送概率相比于其他两者要小,因为其他两者挤占了其数据发送机会。此外,该场景中AP1AP3发生交叠时认为两者发送都成功,而当AP2与两者发生碰撞时数据传输都失败。基于以上分析,可以得知如何建立系统数学模型反映不同AP节点间的数据发送概率和不同节点间的碰撞关系是能准确反应系统性能的前提。

本问题具体求解思路如下:对于系统中的任意一个节点,找到能与其互听的节点和不

能与其互听的节点,并将他们分为两类,分别称为覆盖节点与隐藏节点;通过对其退避计

数器状态行建来求节点发送率;由于隐藏节点的退避计数器计数不受影响,

因此存在很大的概率出现两不互听节点先后发送数据的情况,因此通过节点发送数据包的

大小和退避时隙的关系求出可能发生交叠时隐藏节点的发送概率;之后,得到互听节点间

发生碰撞的概率,将以上求出的概率进行计算即可得到该系统的吞吐。

          为了证所模型的确性合理性,我们选择使用MATLAB对本问进行仿场景模拟,将理论结果与仿真结果进行对比,分析并做出总结。

 

3. 模型的假设

本题BSS中,仅下行传输情况,即AP向其关联的STA传输数据;
本题仅存在同频干扰,不考虑异频干扰的情况;
BSS互听时,当有并发传输时,其成功与否与SIR有关,SIR高,成功传输,否则传输        失败;
BSS 互听时,有很大概率出现二者同时或先后开始发送数据的情况,信号包能否接      收成功同样也由SIR决定,SIR比较高可以成功传输。否则本次传输失败;
BSS场景中,所有节点的数据帧长度相同;

ACK一定能发送成功;

本题中系统无环境噪声。

 

5. 模型的建立及求解

5 . 1 问题一

          根据题目要求,考虑两个BSS互听的场景,进行相应模型的建立,采用数值分析方法求出相关参数的数值解,评估系统的吞吐。

5 . 1 . 1 模型建立与求解

问题1中考虑两个BSS互听的情形,并且仅考虑两个接入点分别向各自的覆盖区域内的一个站点发送数据,而不考虑站点向接入点的上行数据传输,两个BSS共用道,基于上述具体场景建立该系统的数学模型。由于该系统中的两个AP发送数据包时采用DCF机制接入同一个信道,当仅有一个AP接入信道时,由于信道频谱资源充足且不会存在另一个AP送的信号的干扰,接收端一定可以解调出信号,也就是数据一定能成功传输;而当出现两AP的退避数器同时退0同时接入时,假设两AP信号强度相当,即信号的SIR较低,当信号经过信道传输之后在接收端进行解调时,接收端无法成功解调出目标信号,即出现丢包现象,也就是两个AP数据传输都失败。通过以上分析我们可以推理出该系统的信道只可能处于三种不同的状态,即空闲(两个AP不发送数据)、发送成功(仅有一个AP发送数据)和发送失败(两个AP同时发送数据)。我们通过将每个状态都看成一个虚拟的时隙,那么信道会在这三种虚拟时隙中不断进行转化。由于每个AP在不同的时隙所处的状态不同,因此我们将每个AP状态看做一个随机过程,并且利用每个AP退避计数器在每个时隙所处的阶数和随机回退数数值来显式表达该随机过程。在该随机过程中,我们可以知道每一时隙的状态仅与前一时隙的状态有关,因此可以用马尔科夫链来表示,通过推导该马尔科夫链的不同状态的转移概率进而得到AP在每个虚拟时隙的发送概率τ 和发生碰撞的条件概率p,从而评估该2BSS系统的吞吐。

该系统中AP的退避随机过程具体描述如下:令x(t)y(t)表示一个AP的退避计数器在 t 时刻所处的退避数和退避计数,其中 t 是一个离散的虚拟时隙的开始刻。用 i AP 的一个数据发送次数,即该 AP 送的数据包另一 AP 发送的据包发生了多少次的碰撞,其也叫做阶数;j 表示退避计数器的回退计数,即再经过多少个时隙之后再次发送数据;n为最大重传次数;m是最大退避阶数;通过采用二进制指数退避算法,那么两个AP的竞争窗口CW可用公式(1)表示:

{

Wi = 2iW0, 0 i m

Wi = 2mW0, mi n

(1)

二维时离散状离散机过 {x(t), y(t)} 用二的马尔夫链示,如图5.1 示。图 5.1 中,该二维马尔科夫链的每一行表示退避计数器在每个空闲时隙的开始

时刻 1,并且转移概率 1;每一列代表因与其 AP 发生碰撞导致重进入回退

程。本文中,我们选择bi,j = limt→∞ P  { x ( t ) = i, y ( t ) = j }表该二维马尔科夫链的稳态解,其中i [0, n], j [0, Wi 1]

p为某个时隙发生碰撞的概率,马尔可夫链一步状态转移概率为:

P {i, j |i, j + 1}= 1

j [0, Wi 2], i [0, n]

P {0, j | i,0}= 1p

W0

P {i, j |i1,0} = p

Wi

j [0, W0 1], i[0, n1]

(2)

j [0, Wi 1], i [1, n]

P {0, j | n,0}= 1

W0

j [0, Wi 1]

 

 

5 . 1 . 3 结果分析

          根据仿真器仿真数据,我们绘制了仿真时间300秒内的各项数据变化曲线,从而直观的评估所建立模型的准确性。

由于CSMA/CA中存在随机回退机制,给仿真过程带来了随机性,可以预见的是仿真过程中不同时刻系统的吞吐必然存在一定的波动。因此,我们计算仿真中系统在每秒内的吞吐量,得到如图5.3所示的系统吞吐随仿真时间变化的曲线。从图中可以看到,系统吞吐量一直在随时间波动,这与上述分析是吻合的。吞吐上限为72.64Mbps下限为64.35Mbps,可见这种波动并不是随意的,而是限制在一定范围内,并具备一定的统计特性。通过分析这一统计特性,我们得到系统吞吐的均值为 66.87Mbps数值67.17Mbps之间的误差仅为0.45%,有效验证了所建数学模型的合理性和正确性。

5.3   系统吞吐量

此外,我们还绘制了单个AP节点的吞吐变化情况,如图5.4所示。通过统计分析,我们发现两个AP节点的吞吐量具有近乎相同的统计特性,其最大值、最小值、平均值以及方差等特性几乎相等。

在问题一中,不存在隐藏节点且丢包率为零,但由于并发时的SIR较低,导致两个AP节点的数据传输都失败。为了进一步评价模型准确性,我们还绘制了在仿真过程中并发次数占总发送次数的比例随时间变化的曲线,如图5.5所示分析该曲线的统计特性得到并发传输的比例为5.1%,与建模求解得到的数值结果5.5%基本吻合。

          综上,通过对比模型计算结果和仿真分析结果,我们不难发现所建立的模型较为合理,能够正确反映两BSS互听,并发SIR较低时系统的吞吐情况。

6 . 1 模型的优点
       1本文针对WLAN网络信道接入机制进行研究,基于Bianchi等人提出的经典的马尔科夫链进行改良,推导不同场景中节点的多种状态以及在不同状态下达到稳态时各状态的转移概率,计算出系统的理论吞吐量。与仿真结果的对比表明,本文建立的模型能够有效反映系统的网络性能。

2)模型建立过程采用数学推导的办法,可解释性强,便于人们阅读理解。

6 . 2 模型的缺点
       1)在复杂场景中,模型的准确性会有不同程度的降低。

2)在模型的建立过程中做了一些假设,在实际应用中效果可能会打折扣。

 

next_tran_time(i) = next_tran_time(i) + phy_header + mac_header +         payload + SIFS+ACK+DIFS+floor(CWmin*rand)*slot_time;
if tran_time >= 1000000
sim_time = next_tran_time (i) + phy_header + mac_header + payload + SIFS + ACK + DIFS;

end

else
next_tran_time(i) = next_tran_time(i) + phy_header + mac_header +         payload + SIFS+ACK+DIFS;

end

end

else % 冲突

collision_pkt = collision_pkt +

for i = 1:ap_num

if next_tran_time(i) == tran_time

if ap_stage(i) < m

ap_stage(i) = ap_stage(i) +

end

if ap_retrans(i) < r

ap_retrans(i) = ap_retrans(i) +

else

ap_stage(i) =

ap_retrans(i) =

end
next_tran_time(i)=next_tran_time(i) + phy_header + mac_header +         payload + ACKTimeout + DIFS +

floor(2^ap_stage(i)*CWmin*rand)*slot_time;

end

end

end

end
throughput = [throughput physical_rate * suc_pkt * payload /
        sim_time];
throughput_ap1 = [throughput_ap1 physical_rate * suc_pkt_single(1) *        payload / sim_time];
throughput_ap2 = [throughput_ap2 physical_rate * suc_pkt_single(2) *        payload / sim_time];
collision_num = [collision_num collision_pkt];
collision_ratio = [collision_ratio collision_pkt / (collision_pkt +       suc_pkt)];

end

%% plot total throughput

plot(1:1:300,throughput,'LineWidth',1);
title('系统吞吐量','FontSize',15,'FontName','楷体')
xlabel('时间/s','FontSize',15,'FontName','楷体');
ylabel('吞吐量/Mbps','FontSize',15,'FontName','楷体'
saveas(gcf,
        ['C:\Users\A\Desktop\数学建模\problem1\totalThroughput.svg']);

%% plot single ap throughput
plot(1:1:300,throughput_ap1,1:1:300,throughput_ap2,'LineWidth',1);title('AP吞吐量','FontSize',15,'FontName','楷体')

 

举报

相关推荐

0 条评论