【2023华为杯A题】WLAN网络信道接入机制建模(代码、思路.....)

news2025/1/9 1:30:17

  💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 背景

1.1 分布式信道接入和二进制指数退避

1.2 基于Markov chain的DCF机制建模和系统性能分析

📚2 WLAN组网中的多BSS建模问题

🎉3 参考文献

🌈4 Matlab代码、Python代码、思路实现


💥1 背景

无线局域网(WLAN, wireless local area network)也即Wi-Fi广泛使用,提供低成本、高吞吐和便利的无线通信服务。基本服务集(BSS, basic service set)是WLAN的基本组成部分。处于某一特定覆盖区域内的站点(STA, station)与一个专职管理BSS的无线接入点(AP, access point)组成一个BSS,称STA关联到AP。常见的AP有无线路由器、WiFi热点等,手机、笔记本、物联设备等是STA。AP给STA发送数据叫作下行方向,反之是上行方向,本文将AP和STA统称为节点,每个节点的发送和接收不能同时发生。各节点共享信道,通过载波侦听多址接入/退避(CSMA/CA, carrier sense multi-access and collision avoidance)的机制避免冲突,称为分布式协调功能(DCF, distributed coordination function)。

1.1 分布式信道接入和二进制指数退避

DCF机制提供了一种分布式、基于竞争的信道接入功能。可将每个节点接入信道进行数据传输的过程分为3个阶段,信道可用评估(CCA,clear channel assessment)、随机回退、数据传输。

(1)CCA:当一个节点打算发送时,首先进行一个固定时长的载波侦听,这个固定时长被称为DCF帧间距(DIFS,DCF inter-frame space),43μs。如果DIFS时段内接收到的信号能量强度(RSSI,received signal strength indication)低于CCA门限(-82dBm),判断信道为空闲,否则,判断信道为繁忙。

(2)随机回退:信道空闲时,可能有多个节点准备好了数据,为避免碰撞,节点从[0, CW-1]的均匀分布选取一个随机数作为回退数,等待该回退数个时隙长度slotTime(9μs),随机回退时段时长为回退数乘以slotTime。CW被称为竞争窗口(contention window)。如果信道在随机回退时段保持空闲,则节点开始一次数据传输。在随机回退时段节点持续监听信道,如果期间信道变繁忙,则节点将回退暂停,直到信道在一个DIFS时长重新变为空闲,再继续前面没有回退完的时间。

(3)数据传输:回退到0的节点发送一个数据帧,接收节点成功接收到数据之后等待短帧帧间距(SIFS, Short inter-frame space)16μs后,回复ACK确认帧(32μs)。如果发送节点收到ACK,则数据发送成功。如果发送数据帧没有被接收节点成功接收,或者ACK发送失败,或者ACK没有被发送节点收到,则数据传输失败,发送节点需要在等待超时后重传数据。等待超时时间ACKTimeout为65μs。

随机回退采用二进制指数退避算法确定回退时间。CW的初始值为CWmin,每次数据传输失败后重传数据帧时,CW翻倍。如果CW达到了CWmax,则保持此值,直到被重置为止。每次数据传输成功时CW重置,开始下一个数据帧的回退。若传输连续失败,重传次数达到r后,数据帧被丢弃,CW重置传输下一个数据帧。可见,重传r次时,无论成功还是失败,CW都会重置。

1.2 基于Markov chain的DCF机制建模和系统性能分析

对于单BSS,N个STA给AP发送上行数据,Bianchi(1998)最早基于Markov chain建模。Bianchi模型假设理想信道,不因信道质量差而丢包。当2个及以上节点同时回退到0发送数据时,由于碰撞而丢包。那么信道可能处于三种状态:空闲、成功传输、碰撞,如图1.2所示。将每个状态看作一个虚拟时隙,那么信道在三种虚拟时隙中转化。将退避器所处的阶数和随机回退数用二维Markov chain表示,推导节点在每个虚拟时隙的发送概率τ和发生碰撞的条件概率p,从而评估BSS的吞吐[1]。

📚2 WLAN组网中的多BSS建模问题

节点发送数据后,电磁波信号在自由空间中传播,随着距离的增加,能量衰减越严重。周围节点收到该信号后,根据RSSI是否高于CCA门限,判断信道为忙或闲。一个节点发出信号的RSSI高于CCA门限的区域叫作通信区域,位于该通信区域内的节点与该发送节点互听。随着设备数量、应用类型、网络流量的飞速增长,AP部署日趋高密,如企业办公、工厂、教育场景。如图2.2(a)所示,将信道号为36、44、52、60、149、157的六个信道分配给区域内12个BSS,由于可用信道数有限,不同的BSS复用同一个信道。同频AP(使用相同信道号的AP)之间通信区域存在重叠时,存在相互干扰问题,叫作同频干扰。同频干扰是WLAN组网最显著的干扰问题,本题不考虑异频干扰的情况。家庭或宿舍等单BSS场景中,STA距离AP较近,RSSI较强,互听,假设理想信道,不会因信道质量差而丢包,只有在2个及以上STA同时发送数据时导致碰撞而丢包。而在教学区等场景,同频多BSS场景的情况更复杂。

完整题目下载:

链接:https://pan.baidu.com/s/1FIy-KH-Qrp12ACUdgFoDjw 
提取码:eft5 
--来自百度网盘超级会员V4的分享

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1] Bianchi Giuseppe. IEEE 802.11-Saturation Throughput Analysis [J]. IEEE Communications Letters, 1998, 2(12):318-320.

[2] P. Chatzimisios, V. Vitsas and A. C. Boucouvalas, "Throughput and delay analysis of IEEE 802.11 protocol," Proceedings 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, 2002, pp. 168-174, doi: 10.1109/IWNA.2002.1241355.

[3] Hung, Fu-Yi, and Ivan Marsic. "Performance analysis of the IEEE 802.11 DCF in the presence of the hidden stations." Computer Networks 54.15 (2010): 2674-2687.

[4] D. R. Chen and Y. J. Zhang, "Is Dynamic Backoff Effective for Multi-Rate WLANs?" in IEEE Communications Letters, vol. 11, no. 8, pp. 647-649, August 2007

🌈4 Matlab代码、Python代码、思路实现

回复:专业A题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1030849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sed的不同执行方式

1. 命令行执行多条sed命令 1.1 命令行通过多条-e选项 sed -e command1 -e command2 -e command3 匹配root或nobody,或mail: sed -n -e /^root/ p -e /^nobody/ p -e /^mail/p /etc/passwd 1.2 用\换行 Shell的换行符依然有效,这有利于…

【vue】vue+easyPlayer 实现宫格布局及视频播放

由于业务需要,ant-design-vue框架集成easyPlayer.js作为视频播放器。EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS视频直播与视频点播等多种协议,支持H.264、H.265、AAC等多种音视频编码格…

在线安装qt5.15之后任意版本

下载qt现在安装包: window安装包链接 进入cmd,用命令行打开安装包,并指定组件下载地址(这个是关键,之前用的是腾讯镜像,出现了版本灰色无法选中问题) .\qt-unified-windows-x64-4.6.1-online…

代码签名:保护你的软件的安全性和完整性

代码签名是一种数字签名技术,用于保护软件的完整性和身份。它通过使用一个密钥对软件代码进行签名,确保代码在下载和安装过程中没有被篡改。代码签名证书是一种数字证书,用于证明代码签名者的身份和代码的完整性。以下是代码签名证书如何保护…

【多思路附源码持续更新】2023年华为杯(中国研究生数学建模)竞赛C题

赛题 若官网拥挤,数据集和赛题下载地址如下: https://download.csdn.net/download/weixin_47723732/88364777 大规模创新类竞赛评审方案研究 现在创新类竞赛很多,其中规模较大的竞赛,一般采用两阶段(网评、现场评审&a…

网页编辑软件Whisk mac中文版功能介绍

Whisk for Mac中文版是一款网页编辑器,Whisk mac版具有实时预览,可在您键入时更新。Whisk是您工具包中用于HTML,PHP,CSS和javascript编程的必备应用程序。 Whisk for Mac功能介绍 预览窗格使用与Safari相同的引擎快速按输入内容呈…

vue框架实现表情打分效果

本来今天要实现这个功能 但是在网上查了一下 就csdn上有一个符合要求的 但是他竟然收费,痛心疾首啊 太伤白嫖党的心的 所以我手写了一个这个类似功能的代码 希望能帮到有这个需求的同学们 技术栈是VUE3 用其他技术栈的也可以看 因为逻辑很简单都一样的 // 问卷的虚拟数据 con…

wait函数

#include <sys/types.h> #include <sys/wait.h> pid_t wait(int *wstatus); 功能&#xff1a;等待任意一个子进程结束&#xff0c;如果该子进程结束了&#xff0c;此函数会回收子进程的资源 参数&#xff1a; -int *wstatus&#xff1a;进程退出时的状态信息&…

CentOS在应用程序菜单中创建快捷方式

背景&#xff1a; 在CentOS系统中&#xff0c;安装一些应用软件的时候&#xff0c;我们可能会自定义安装路径&#xff1b;这样在安装完应用程序后&#xff0c;在“Application”下&#xff0c;可能找不到对应的快捷键&#xff1b;这是就需要手动去创建跨界方式。 应用&#xf…

【笔记】离线Ubuntu20.04+mysql 5.7.36 + xtrabackup定时增量备份脚本

一、环境 ● Ubuntu版本查看 lsb_release -a● mysql 版本查看 mysql --version我的是ubuntu 20.04&#xff0c;mysql是5.7.36&#xff0c;所以要用 install_percona-xtrabackup-24 二、原理 备份 通过ubuntu自带的定时器运行增量备份脚本备份文件可以存储在映射后的其他…

成集云 | 用友NC集成旺店通ERP(旺店通主管供应链)| 解决方案

源系统成集云目标系统 方案介绍 用友NC是用友NC产品的全新系列&#xff0c;是面向集团企业的世界级高端管理软件。它以“全球化集团管控、行业化解决方案、全程化电子商务、平台化应用集成”的管理业务理念而设计&#xff0c;采用J2EE架构和先进开放的集团级开发平台…

SQL Server 数据库变成单个用户怎么办

参考技术A 1、首先我们打开SQL SERVER的管理控制台&#xff0c;找到一个要设置角色的用户。 2、下面我们将为这个用户赋予创建数据库的角色&#xff0c;我们先用这个用户登录管理工具看一下是否具有创建用户的权限。 3、进行数据库创建的时候&#xff0c;提示如下的错误&…

JavaBean文字格斗游戏(面向对象编程)的个人重写以及个人解释

题目和个人思路: 先写role类(对象)和构造方法(要按照标准的JavaBean来写) 根据题意,类中要有一个行为(方法)->攻击 开始进入main中, 首先当然是要创建两个对象,然后调用(攻击)attack方法 以上都是个人经过学习后重新又写的代码. 望各位指出不足.

Git错误解决:如何处理“could not determine hash algorithm“问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

在 Linux 上运行 macOS?OSX-KVM 助你梦想成真!| 开源日报 No.36

isocpp/CppCoreGuidelines Stars: 39.4k License: NOASSERTION C Core Guidelines 是一个由 Bjarne Stroustrup 领导的协作项目&#xff0c;旨在帮助人们有效地使用现代 C。该指南侧重于较高级别的问题&#xff0c;如接口、资源管理、内存管理和并发性&#xff0c;并鼓励应用程…

界面组件DevExpress WinForms v23.1 - 富文本编辑器等功能升级

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…

8b10b 64b/66b/ 究竟是什么作用呢?

下图是8/10B编码前后的频谱图&#xff1a; &#xfeff; 首先&#xff0c;8B-10B的目的是为了直流平衡&#xff0c;其目的在于让频谱图更加的稳定&#xff0c;是一个高通的形式&#xff0c;从而受低频信号干扰小&#xff0c;使得眼图扩大&#xff0c;减小码间串扰因为CDR(时钟…

如何使用微信文件传输助手?看这里!

微信文件传输助手在哪里&#xff1f;为什么我找不到&#xff1f;有哪位朋友能够告诉我吗&#xff1f; 微信文件传输助手是微信官方推出的一款辅助工具&#xff0c;为用户提供了便捷的文件传输方式。用户在使用微信的过程中&#xff0c;可以随时随地通过该功能在手机和电脑之间任…

如何使用 Humata.ai:快速理解和总结文献

链接&#xff1a; Humata 简介 Humata.ai 是一个人工智能驱动的文献阅读助手&#xff0c;可以帮助用户快速理解和总结文献。它可以提取文献的关键信息&#xff0c;并以简洁易懂的语言生成摘要。此外&#xff0c;Humata.ai 还可以回答用户关于文献的问题&#xff0c;帮助用户…

如何在32位MCU用printf()函数打印64位数据

1. 在32位MCU上定义64位变量&#xff1a; unsigned long long time_base; unsigned long long temp_time;2. 调用打印函数&#xff1a; printf("RFID:time_base:%d\r\n",time_base); printf("RFID:temp_time:%d\r\n",temp_time); printf("RFID:Ru…