802.11g能够提供54Mbps的最大速率, 802.11n和802.11ac单流分别能够提供150Mbps和433Mbps的最大速率,这些数字是怎么算的呢?(看红字,更容易理解哟)
 
  一、802.11g最大速率54Mbps的由来
  802.11g工作在2.4G频段下,能够支持OFDM和CCK两种调制方式及16-QAM、64-QAM、BPSK和QPSK四种编码方式,我们通常说的54Mbps速率就是在2.4G频段下,通过OFDM调制,采用64-QAM编码的情况下实现的。其中影响速率的计算因子如下:
  1. OFDM能够提供52个子载波信道,但其中仅有48个用于数据传输;
           -----相当于有52条车道,仅有48条可用
  2. 64-QAM编码每次传输6bit数据位在每个子载波信道上;
           -----每条车道每辆车上有6个座位
  3. 64-QAM编码每次传输提供3/4的码率,即有效数据容量;
           -----所有车辆的平均满座率是3/4
  4. 每次传输时间固定为4微秒
           -----平均每条车道每4微秒有一辆车发出
 
  根据以上计算因子,802.11g能提供的最大速率(单位时间最多能拉乘客数量)为:
(1秒/4微秒) × (6bit × 48 × 3/4) = 54M
 
  二、802.11n单流最大速率150Mbps的由来
  1. 802.11n在11g的基础上对OFDM调制方式进行了优化,将子载波信道的数量从52个提升至56个,但只有52个用于数据传输;
       -----相当于车道由52条增加至56条,其中仅有52条可用
  2. 802.11n对64-QAM编码技术进行优化,将每次传输提供的码率从3/4提升至5/6
       -----所有车辆的平均满座率由3/4提升至5/6
  3. 802.11n可以工作的频宽从11g的20MHz变为40MHz,这样OFDM所能提供的子载波信道数量从56个进一步提升为112个,其中用来传输数据的子信道数量为108个
       -----道路宽度增加1倍,车道数相应增加1倍,被占用的4车道释放,共108条车道可用
 
  因此,802.11g单流能提供的最大速率(单位时间最多能拉乘客数量)为:
(1秒/4微秒) × (6bit × 108 × 5/6) = 135M
 
  另外,802.11n在条件允许的情况下(当实际环境中的多径效应较小时)可将OFDM两次传输之间的保护间隔时间从11g的800ns缩短为400ns(相当于平均每条车道每3.6微秒有一辆车发出),这样可以进一步将最大速率提升至150Mbit/s。
[1秒/(4微秒 - 400纳秒) ] × (6bit × 108 × 5/6) = 150M
 
  三、小结
  最后,我们来总结影响这三个速率的计算因子,分别是数据信道数、传输比特数、传输码率、工作频宽传输时间,而调制方式决定了数据信道个数,编码方式决定传输比特数和传输码率,因此,更进一步说,无线Wi-Fi技术能够达到的最大速率主要受到调制方式、编码方式无线频宽等关键指标的影响。根据下面表中的计算因子,大家都来算算11ac单流80MHz频宽下的最大速率吧!
  
  
11g
11n单流
11ac单流
工作频宽(MHz)
20
40
80
子载波信道数
52
56x2
64x4
数据信道数
48
108
234
传输比特数
6
6
8
传输码率
3/4
5/6
5/6
传输时间(μs)
4
3.6
3.6
最大速率(Mbps)
54
150
???

转自:http://cn.ui.vmall.com/thread-1349237-1-4.html

编码方式

54Mbps、150Mbps、433Mbps 你知道这三个Wi-Fi速率怎么算的吗?的更多相关文章

  1. 图解TCP/IP读书笔记(三)

    第三章.数据链路 数据链路层是计算机网络最基本的内容. 数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范. 一.数据链路相关技术 1.MAC地址 关于MAC地址的几个要点: ①MAC地址长度 ...

  2. 20145328 《Java程序设计》实验三实验报告

    20145328 <Java程序设计>实验三实验报告 实验名称 Java敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 敏捷开发是一种以人为 ...

  3. Code+ A 晨跑【三个数的最小公倍数】

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 题目描述 “无体育,不清华”.“每天锻炼一小时,健康工作 ...

  4. Blog总结(前三次作业总结)

    前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...

  5. OO第三单元总结——JML规格

    一.JML简介 1.JML语言的理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML是一种行为接口规格语言 (Behavior In ...

  6. python递归三战:Sierpinski Triangle、Tower of Hanoi、Maze Exploring

    本文已做成视频教程投稿b站(视频版相对文本版有一些改进),点击观看视频教程 本文主要通过三个实例来帮助大家理解递归(其展示动画已上传B站): 谢尔宾斯基三角形(Sierpinski Triangle) ...

  7. 【Atheros】Ath9k速率调整算法源码走读

    上一篇文章介绍了驱动中minstrel_ht速率调整算法,atheros中提供了可选的的两种速率调整算法,分别是ath9k和minstrel,这两个算法分别位于: drivers\net\wirele ...

  8. CCNA第一讲笔记

    园区网:一组连续的局域网(校园网.企业内部网) 园区网拓扑: 一层楼的PC连接到一台交换机(同一层的PC可以互联):一栋楼的每层的交换机连接到同一台交换机(整栋楼的PC可以互联):每栋楼的交换机连接到 ...

  9. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

随机推荐

  1. Address already in use: JVM_Bind 8083端口被占用的几个解决办法

    运行Tomcat时若出现Address already in use: JVM_Bind 端口被占用,一般使用下面几个办法可以解决: 假设端口为8083 1.启动cmd, 执行命令netstat -a ...

  2. 解压lzma格式的img文件报“Filename has an unknown suffix, skipping”怎么办

    1 确认img文件是什么压缩格式 file 文件名 2 报标题错误怎么办? mv initrd.img initrd.img.xz xz -d initrd.img.xz cpio -ivd < ...

  3. JSON数组对象和JSON字符串的转化,map和JSON对象之间的转化

    这种用法包括前端和后端: 前端: 1. 转化为JSON对象方便操作 var jsonObj = JSON.parse(str); 得到的是一个json数组对象,可以通过 for (var p in j ...

  4. DO_DEVICE_INITIALIZING

    这个东西的位置在DEVICE_OBJECT的Flags字段中, 本来这个Flags大多的情况下都是在设置IO方式,如DO_BUFFERED_IO, 但特殊的位也可能需要在这里设置. 用处是防止当自己的 ...

  5. dubbo源码学习(二) : spring 自定义标签

    做dubbo的配置时很容易发现,dubbo有一套自己的标签,提供给开发者配置,其实每一个标签对应着一个 实体,在容器启动的时候,dubbo会对所有的配置进行解析然后将解析后的内容设置到实体里,最终du ...

  6. spring开发案例配合mysql

    实体类: package cn.mepu.domain; import java.io.Serializable; /** * 账户实体类 * @author shkstart * @create 2 ...

  7. 2019-4-12-WPF-类型的构造函数执行符合指定的绑定约束的调用时引发了异常

    title author date CreateTime categories WPF 类型的构造函数执行符合指定的绑定约束的调用时引发了异常 lindexi 2019-04-12 08:52:35 ...

  8. C#编程入门--MYSQLHELPER

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  9. 在Linux下如果要使用接口标志要加什么头文件吗?因为我在使用IFF_UP时会出错,说是未定义

    头文件一般放在/usr/include目录下,用grep 'IFF_UP' /usr/include/*.* |less这个命令查找一下在哪个头文件里面有定义.   追问 嗯~这个方法确实可以查找到一 ...

  10. Batch - FINDSTR

    总结 Searches for strings in files. 在文件中寻找特定的字符串 官方文档 C:\Users\cuixunxu>FINDSTR /? Searches for str ...