首页 > 其他分享 >资料整理_mac,phy仿真与实现

资料整理_mac,phy仿真与实现

时间:2023-11-09 11:59:13浏览次数:36  
标签:仿真 802.11 链路 mac Wi AP phy Linux

资料整理 mac,phy仿真与实现

Wi-Fi 7 新技术

物理层

  1. 更大的带宽

  2. 更高的调制阶数

  3. 更高的空间流

  4. 在新的物理层的加持下,Wi-Fi 7 最高理论速率超过46.117 Gbps

Wi-Fi 7
支持信道 2.4GHz, 5GHz, 6GHz 1. 相对于Wi-Fi 6 来说没有变化,相对于Wi-Fi 5 增加了新的6GHz 信道,但目前国内尚未将6GHz划分为ISM频段,只能说未来可期 2.
信号带宽MHz 20,40,80,160,320
子载波带宽kHz 78.125
符号长度 μs

mac层改进

PPDU

实际上这个应该放在phy层进行说明,但是因为涉及到对于帧的操作,所以就放在这里了,

img

EHT新定义了两种格式的PPDU,具体的两种PPDU格式以及各个字段的内容可以去参考802.11标准文档:

  1. EHT MU PPDU

  2. Trigger Based PPDU

RU组合

  1. RU,即OFDMA机制中的一种频率划分的资源单位;

  2. 在WiFi6中用户仅能在分配到的固定RU进行收发工作;

  3. Wi-Fi7引入了将多个RU分配给单用户的机制,考虑到7种RU产生的组合数过多,Wi-Fi规定了固定的几种RU组合;

  4. 因此,在MAC层需要设计机制,分配不同的RU组合给单用户。

  5. RU分配需要AP的支持,客户端仅需要被动的接受即可

  6. 具体的分配原理和内容可以参考CWNA的《802.11ax技术:高效无线局域网》章节的《正交频分多址》的讲解

多链路操作

img

  1. WiFi 6及之前版本的STA虽然支持多个Radio,多频率,但是同时只能和AP建立一个Radio链路

  2. 到了WiFi 7 版本,新定义了多链路设备MLO,能够同时和AP建立多个Radio数据链路

  3. 该功能可以被认为是包含多个独立的PHY,但在此基础上需要一个能够协同管理各个独立PHY的MAC层,目前为多链路聚合设备设计了三种MAC结构:

    1. 一个mac对应一个phy,更高层调度管理mac

    2. 一个mac对应一个phy,但各个mac之间互相协商

    3. mac分为两个子层,high mac负责协商管理下层的low mac,low mac负责MPDU报头处理和CRC等操作

img

  1. 另外MLO还定义了同步和异步两种工作模式:

  2. 同步模式下多链路同步收发,能够避免两个链路之间TX/RX互相干扰

  3. 异步模式下对多个链路之间没有要求

  4. 实际上,感觉链路聚合功能早就出现在有线网的网络里面了,从很久之前的NAS上就见过通过这项技术来提高带宽

多AP协同调度

具体如何进行协同调度需要参考802.11标准中的规定,以在mac层实现对该协同调度的管理

增强的重传机制HARQ

该机制被广泛用于蜂窝网络通信中。

img

时间敏感网络

仅仅被提出,并没有找到确切的具体的实现方案,但是有以下可能的方案:

  1. 时钟同步:

    分布式 MIMO、多AP 协作等功能需要基于各个节点的时钟同步。现有IEEE802.1AS 协议(EEE 1588PTP 简化版)可以实现分布式网络系统共享整网中某一个 节点的参考时钟,这在一定程度上解决了分布式 AP间的时钟同步问题。而 EEE 802.11v (Timing Measurement,TM)和EEE 802.11mc (Fine TimingMeasurement,FTM)也提供了 AP 和 Sta 之间时延测量的手段,IEEE802.1AS-Rev 中也通过使用上述手段实现 AP-STA间的时钟同步

  2. 资源调度和流量控制

    当前的 EDCA 使用了四种 AC (BE/BKVINO),目前来看不足以支撑超低延时的应用。TGbe 有计划增强 AC 分类,以对满足时间敏感业务的精细控制,并 能够根据实际业务修正 TXOP 的 AC 优先等级。

总结

能够确定的,WiFi7需要在mac层实现的新的东西有:

  1. PPDU

  2. RU组合分配

  3. 多链路操作以及管理的架构

Linux wifi芯片驱动_low mac

本文档中的大部分内容来自openwifi的开发文档,https://github.com/open-sdr/openwifi/blob/master/doc/README.md#Driver-and-software-overall-principle

ieee80211_ops

https://www.kernel.org/doc/html/v5.14/driver-api/80211/mac80211.html#c.ieee80211_ops

Linux内核提供了Wi-Fi的高层MAC支持(mac80211,cfg80211),链路速率自动调整功能,user space和kernel space的通信接口nl80211,以及user space丰富的工具软件,比如作为station模式的wpa_supplicant和作为AP模式的hostapd,借助Linux对于商用Wi-Fi芯片的支持,可以减轻很大部分基于FPGA的Wi-Fi实现的工作量,即Linux实现了除CSMA/CA之外的high mac部分,low mac部分需要FPGA或其他方式实现,具体包括:

  1. 完整的CSMA/CA

  2. FPGA与Linux的通信接口,数据的收发,响应WiFi包的收发中断等

  3. 物理层的部分

落实到代码上,就是响应Linux提供的一系列api:

  1. 作为Linux 无线系统的一部分,Linux mac 802.11 子系统定义了一系列的api去规范WiFi驱动程序的行为,一个WiFi芯片驱动需要实现这些api中的一部分。不同的模式(AP,客户端,ad-hoc,mesh)可能需要不同的api集。

  2. 下述api将由上层调用。当他们被调用时,驱动程序需要通过下层芯片来实现必要的工作。

  3. 下层芯片在收到数据包后,在帧过滤规则允许的情况下将向Linux发出中断,然后触发驱动程序的函数,在该中断函数中调用 Linux 内核的api ieee80211_rx_irqsafe()用于将数据包和相关信息提供给上层

  4. 数据包的发送由上层向驱动发起,当数据包被驱动程序通过下层芯片发送至空中后,上层会等待来自驱动程序的发送报告。每次下层芯片发送数据包时,将会向Linux发送中断并触发驱动程序中的函数,该函数将通过ieee80211_tx_status_irqsafe() API向上层报告发送结果(失败?成功?重传次数等)。

802.11物理层仿真_WLAN System Toolbox

802.11协议研究与工程主要集中在phy和mac层上

  • 对于MAC层的仿真,已经有一些公共的参考模板。比如NS2,NS3都有相应的程序实现,可以当做一个实现的模板来供学习,理解一些协议的细节。

  • 对于PHY层的仿真,缺少公共的参考模板。之前我们看到的大多都是第三方或者个人开放的版本,这样仿真对于协议也仅仅是点到为止。而Simulink或者Labview的模板也很多都是封装成图形化的模块,无法很好理解协议的细节。

Matlab WLAN System Toolbox是在2015b+的版本被添加的,当前已更新至R2023b版本。WLAN Toolbox™ 为无线局域网的设计、仿真、分析和测试提供了符合802.11协议的模板,包含发射/接收端和信道建模,其中具体的信道编码、调制方法(OFDM、DSSS和CCK)、空间流映射、信道模型 (TGac 和 TGn) 和 MIMO,都有专门的函数封装,以方便仿真。

而且WLAN System Toolbox不仅仅可以仿真,还可以连接到无线电设备, 并通过无线传输和接收来验证设计。

相应的功能在WLAN System Toolbox网站上都有相应的demo。

  1. WLAN System Toolbox官网:https://ww2.mathworks.cn/products/wlan.html

  2. 802.11be物理层数据包恢复demo:https://ww2.mathworks.cn/help/wlan/ug/recovery-procedure-for-an-802-11be-packet.html

  3. WLAN System Toolbox 更新日志:https://ww2.mathworks.cn/help/wlan/release-notes.html

img

img

img

标签:仿真,802.11,链路,mac,Wi,AP,phy,Linux
From: https://www.cnblogs.com/polariszg/p/17819357.html

相关文章

  • 【Microsoft Azure 的1024种玩法】七十四.五分钟在Azure Virtual Machines中快速部署
    【简介】ApacheMaven由Apache软件基金会所提供的一个软件项目管理及自动构建工具,Maven为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期,Maven能够在很短......
  • IBIS仿真---SI篇(10)
    IBIS模型是一种行为级的模型,这是相对于HSPICE电路模型而言的。看过IBIS模型里面你会发现有很多电压电流(I/V曲线)查找表,而不是详细的电路节点。各个IO端口的特性曲线事先已经得到,并记录在一张表格里,因此实际仿真的时候速度相比于SPICE模型要快很多。另外一般芯片原厂都会提供IBIS模......
  • Cadence Sigrity 仿真入门(一)
    Sigrity各模块功能介绍:PowerDC:①可以用来进行PCB板级(单板和多板)的直流压降和通流问题,主要研究从VRM(电压管理模块,在Sigrity里就是源端)到SINK(负载端)的直流压降、以及过孔与平面电流密度、功耗密度等问题,并且以2D和3D的形式直观呈现出来。②由于PCB流过电流之后,不可避免的会产......
  • 新mac安装brew
    新入手了mac,特记录使用过程中遇到的坑第一步就是安装brew,使用github那个地址,一直报错,这里耗费了一些时间使用下面的命令行/bin/bash-c"$(curl-fsSLhttps://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"如果上面安装异常,替换为国内源替换为中科大源#替换各个源......
  • mac笔记本自动ssh 登录linux脚本
    #!/usr/bin/expect#settimeout30spawnsshusername@ipaddr  expect"Password:"send"$password\r"expect"Selectgroup:"send"/$172.0.0.1\r"expect"Selectaccount:"send"4\r"interact #......
  • 珠海全志关于DDR3的Power-aware的信号完整性仿真研究
    CadenceSigrityPower-awareSI工具包介绍Power-awareSI工具包是Cadence公司针对源同步并行总线如DDR3、DDR4等所提供的完整的仿真解决方案。基于行业领先的Sigrity专利技术,Power-awareSI工具包可以快速、精确提取封装和PCB的信号布线和电源分布系统的网络参数,然后......
  • Mac——MAC笔记本本地音频文件如何添加图标?
    在Mac上的“音乐”App  中,选择边栏中的一个播放列表。执行以下一项操作:点按播放列表左上方的插图区域,然后选取一个图像文件。将一个图像文件拖到插图区域。点按“完成”。   我自己的操作记录:本地音乐文件没有图标,就想要加上图标,文件-comd+i实现文......
  • Mac内存8GB 足以媲美PC电脑16GB?苹果电子ibb游戏高层解释关键差异
    本月,苹果发布了M3芯片,然而,新款MacBookPro依然从8GBRAM开.始,如果要升级到16GBRAM,需要额外支付1300元,这引发了一些ibb电子游戏用户的不满。最近,苹果的高层接受了自媒体采访,表示苹果MacBook的8GBRAM实际性能相当于其他系统的16GBRAM。苹果产品营销副总裁博彻斯(BobBorchers)最近......
  • mac上安装brew
    1、首先在终端执行brew--version,主要是为了查看brew的版本,也可以验证brew是否安装。2、/bin/zsh-c"$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"3、选择下载源,这里我选择的是4(腾讯下载源)4、这里就说到brew首次安装的问题了,第一步已经确认了,......
  • mac os13上安装apache\php\mysql
    macos13上安装1,下载并安装brew,brew是macos上的软件安装工具;2,安装apache2brewinstallhttpd 安装成功后提示:工程文件根目录DocumentRootis/usr/local/var/www配置文件Thedefaultportshavebeensetin/usr/local/etc/httpd/httpd.confto8080andin/usr/local/e......