IEEE802.11n 物理层帧的特点

本文介绍了IEEE802.11n物理层帧的基本格式,包括HT-LTF、VHT-LTF和HE-LTF的数量取决于Space Stream。重点讲述了IEEE802.11n的特点,如支持40M带宽、MIMO 4*4、64-QAM编码和短保护间隔(Short GI),并提供了数据速率表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

IEEE802.11 物理层帧的基本格式

IEEE802.11n的特点


IEEE802.11 物理层帧的基本格式

IEEE802.11物理帧格式经过了漫长的演变至今,有许多为了扩展功能支持的帧格式。简单对IEEE802.11物理层发展做了一个梳理,如下图1所示。需要注意的是,HT-LTF、VHT-LTF、HE-LTF的个数由使用的Space Stream(时空流)决定,当为SISO格式,个数都为1。

图1 IEEE802.11 物理层帧格式

IEEE802.11n的特点

IEEE802.11n又称HT,对于本文研究的IEEE802.11n MF 物理层帧格式来说,对比之前的a/g新增的亮点就是加入了对于40M带宽、MIMO 4*4、相同带宽下新增的数据子载波和短保护间隔(Short GI)的支持。由于40M的基带处理与20M类似,这里还是拿20M举例。同样以图1为基础阐述,IEEE802.11n MF为了兼容性, L-STF、L-LTF、L-SIG 与之前定义一样,并且新增一个HT-SIG字段如图 2。

图2 HT-SIG字段详解

HT-SIG 包含48 bit,与L-SIG类似方式进行编码,并且为了让设备检查出 HT-SIG以区分IEEE802.11n和IEEE802.11a/g,HT-SIG部分的BPSK 星座应相对于 L-SIG 旋转 90°。

同带宽IEEE802.11n的物理层提升主要体现:(1)在调制和编码方案 (Modulation and Coding Scheme、MCS),新增了64-QAM编码率R=5/6的编码方案。(2)新增短保护间隔(GI)支持。(3)新增4个数据子载波。新改变得到对应的数据传输速率表如下:

表1 IEEE802.11n 20M SISO MF数据速率表

MCS

子载波调制方式

码率

NBPSC NSD NSP NCBPS NDBPS
### Ubuntu 20.04 上从源码或包管理器搭建 OpenCV 4.5.0 环境 #### 方法一:通过源码安装 OpenCV 4.5.0 以下是基于源码构建 OpenCV 的方法: 1. **下载 OpenCVopencv_contrib 源码** 需要先获取 OpenCVopencv_contrib 的压缩文件并解压。可以使用 `wget` 下载官方发布的版本,并将其解压至指定路径。 ```bash wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip sudo unzip opencv.zip sudo unzip opencv_contrib.zip sudo mv opencv-4.5.0 opencv sudo mv opencv_contrib-4.5.0 opencv_contrib ``` 这些命令用于下载、解压以及重命名 OpenCV 及其扩展模块的源码文件夹[^2]。 2. **准备依赖项** 安装必要的开发工具和库,这些是编译过程中所需的依赖项: ```bash sudo apt update && sudo apt upgrade sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev ``` 3. **配置 CMake 构建选项** 创建一个新的构建目录来存储生成的二进制文件,并运行 CMake 来设置构建参数。 ```bash cd ~/opencv mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules .. ``` 此处 `-D OPENCV_EXTRA_MODULES_PATH` 参数指定了额外模块的位置,确保能够启用高级功能[^3]。 4. **执行编译过程** 使用多线程加速编译流程,具体取决于 CPU 核心数。 ```bash make -j$(nproc) ``` 5. **完成安装** 将编译后的文件复制到系统标准位置。 ```bash sudo make install sudo ldconfig ``` 6. **验证安装成功** 测试是否能正常加载动态链接库。 ```cpp #include <opencv2/core.hpp> #include <iostream> int main() { std::cout << "OpenCV version: " << CV_VERSION << std::endl; return 0; } ``` 编译上述测试程序以确认安装无误。 --- #### 方法二:通过包管理器安装预编译版 OpenCV 如果不需要自定义配置或者最新的特性支持,可以通过 APT 包管理器快速安装已有的 OpenCV 版本。 1. 更新软件仓库索引并安装基础组件。 ```bash sudo apt update sudo apt install libopencv-dev python3-opencv ``` 2. 设置环境变量以便于访问头文件和共享库。 ```bash export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig ``` 如果需要持久化此更改,则应将该行追加到用户的 shell 初始化脚本中(如 `.bashrc` 或 `.zshrc` 文件)[^4]。 --- ### 注意事项 - 当前文档中的某些操作可能涉及权限提升,请谨慎处理敏感数据的操作。 - 若遇到特定错误提示,建议查阅对应版本的发行说明或社区论坛寻求帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king_machine design

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值