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. 吉首大学校赛 A SARS病毒 (欧拉降幂)

    链接:https://ac.nowcoder.com/acm/contest/925/A来源:牛客网 题目描述 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA ...

  2. 2015 ACM/ICPC Asia Regional Changchun Online HDU - 5441 (离线+并查集)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5441 题意:给你n,m,k,代表n个城市,m条边,k次查询,每次查询输入一个x,然后让你一个城市对(u,v ...

  3. (转)OpenFire源码学习之十七:HTTP Service插件

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43457645 HTTP Service插件 这里的http接口插件是神马? Openfi ...

  4. SQL Server2012 安装方法详解

    SQL Server2012 安装方法详解 - MonkeyBrothers的博客 - CSDN博客 https://blog.csdn.net/monkeybrothers/article/deta ...

  5. python 实现异常退出

    https://blog.csdn.net/u013385362/article/details/81206822 有时当一个条件成立的情况下,需要终止程序,可以使用sys.exit()退出程序.sy ...

  6. 20140506 visio 画布大小 栈实现队列 堆空闲内存地址链表 堆最大可分配的内存 可用内存链表

    1.调整visio的画布大小 按住Ctrl鼠标移动到画布边缘即可 2.两个栈实现一个队列 一个栈用于入队,一个用于出队 #include<iostream> #include<sta ...

  7. Editor REST Client

    Editor REST Client 制作一个http请求 请求行 GET https://example.com/comments/1 HTTP/1.1 POST https://example.c ...

  8. 净心诀---python3生成器进阶

    列表推导式 把需要用一个函数写成的小功能,利用一行表达式完成 例子: l = [1,2,3,4,5] # 所有的偶数都放到新的列表中 # 正常函数 def Lst(): li = [] for i i ...

  9. H5在js中向指定的元素添加样式

    今天在做一个按钮的功能控制,点击之后,要根据判断条件,修改按钮的样式,然后就发现了一个巨好用的方法, <button type="button" id="btn_A ...

  10. C# Func和匿名方法 简单使用

    今天敲代码遇见一个问题,解决中用到了C#的Func和匿名方法,发现挺好用的 定义一个这样的方法可以避免重复写try catch 这里用到了Func<int,string> ,它其实就是一个 ...