计算机网络——物理层-信道的极限容量(奈奎斯特公式、香农公式)

目录

介绍

奈氏准则

香农公式


介绍

信号在传输过程中,会受到各种因素的影响。

如图所示,这是一个数字信号。

当它通过实际的信道后,波形会产生失真;当失真不严重时,在输出端还可根据已失真的波形还原出发送的码元。

但当失真严重时,在输出端就很难判断这个信号在什么时候是1,和在什么时候是0。

信号波形失去了码元之间的清晰界限,这种现象叫做码间串扰。

产生失真的原因主要有:

  • 码元传输速率
  • 信号传输距离
  • 噪声干扰
  • 传输媒体质量等

奈氏准则

(奈奎斯特公式)

早在1924年,奈奎斯特就推导出了著名的奈氏准则,他给出了在假定的理想条件下,为了避免码间串扰,码元传输速率的上限。

  • 理想低通信道的最高码元传输速率 =  2W Baud = 2W 码元 / 秒
  • 理想带通信道的最高码元传输速率 =  W Baud = W 码元 / 秒

W:信道带宽(单位为 Hz)

Baud: 波特 ,即 码元 / 秒

码元传输速率又称为波特率、调制速率、波形速率或符号速率。它与比特率有一定的关系:

  • 当一个码元只携带1比特的信息量时,则波特率(码元 / 秒)与比特率(比特 / 秒)在数值上是相等的;
  • 当一个码元携带n比特的信息量时,则波特率转换成比特率时,数值要乘以n。

要提高信息的传输速率(比特率),就必须设法使每一个码元能够携带更多个比特的信息量。这需要采用多元制。

还记得我们之前介绍的调幅、调频以及调相这三种基本调制方法吗?

它们属于二元调制,只能产生两种不同的码元,也就是两种不同的基本波形。因此,每个码元只能携带1比特的信息量。

而混合调制属于多元调制,例如QAM16可以调制出16种不同的码元,因此,每个码元可以携带4比特的信息量。

需要说明的是:

实际的信道所能传输的最高码元速率要明显低于奈氏准则给出的这个上限值。

这是因为,奈氏准则是在假定的理想条件下推导出来的,他不考虑其他因素,例如传输距离、噪声干扰、传输媒体质量等。

仅从公式来看,只要采用更好的调制方法,让码元可以携带更多的比特,岂不是可以无限制的提高信息的传输速率吗?

答案是否定的。信道的极限信息传输速率,还要受限于实际的信号在信道中传输时的信噪比。

因为信道中的噪声也会影响接收端对码元的识别,并且噪声功率相对信号功率越大,影响就越大。

香农公式

1948年,香农用信息论的理论,推导出了带宽受限,且有高斯白噪声干扰的信道的极限信息传输速率。

具体公式如下所示:

c = W \times {log_{2}}^{(1+\frac{S}{N})}

其中c是信道的极限信息传输速率,单位是比特每秒;W是信道带宽,单位为赫兹;S是信道内所传送信号的平均功率;N是信道内的高斯噪声功率;S/N是信噪比,使用分贝作为度量单位。

信噪比(db) = 10 \times {log_{10}}^{\frac{S}{N}}\: \: (dB)

如下所示,从相同公式可以看出:信道带宽或信道中信道比越大,信息的极限传输速率就越大。

需要说明的是:

在实际信道上,能够达到的信息传输速率,要比该公式的极限传输速率低不少。

这是因为在实际信道中,信号还要受到其他一些损伤,例如各种脉冲干扰 。信号在传输中的衰减和失真等这些因素在香农公式中并未考虑。

综合来看,奈氏准则和香农公式在信道带宽一定的情况下,要想提高信息的传输速率,就必须采用多元制(更好的调制方法)和努力提高信道中的信噪比

  • 自从香农公式发表以后,各种新的信号处理和调制方法就不断出现,其目的都是为了尽可能地接近香农公式所给出的传输速率极限

END 


学习自:湖科大——计算机网络微课堂

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Go语言常用命令详解(二)

文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…

Linux性能分析——TOP命令详解

我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强公司! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! …

JVM垃圾回收相关概念

目录 一、System.gc()的理解 二、内存溢出与内存泄露 (一)OOM (二)内存泄露 三、StopTheWorld 四、垃圾回收的并行与并发 五、安全点与安全区域 (一)安全点 (二)安全区域 …

【原创】WeChat Server搭建

功能 微信公众号的后端,为其他系统提供微信登录验证功能 源码地址 https://github.com/songquanpeng/wechat-server 创建MySQL数据库 宝塔\数据库\MySQL 添加数据库 数据库名:wechat_server 用户名:wechat_server 密码:fZNB…

拷贝对象时编译器的一些优化

在传参和传值返回的过程中&#xff0c;编译器会通过一些优化减少拷贝的次数。 class A { public:A():_a(1){cout << "A()" << endl;}A(const A& aa):_a(aa._a){cout << "A(const A& aa)" << endl;}A& operator(const …

上海亚商投顾:三大指数小幅上涨 HBM概念股全天强势

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数早盘窄幅震荡&#xff0c;午后集体拉升翻红&#xff0c;黄白二线走势分化&#xff0c;题材热点快速轮…

JavaScript的学习,就这一篇就OK了!(超详细)

目录 Day27 JavaScript(1) 1、JS的引入方式 2、ECMAScript基本语法 3、ECMAScript 基本数据类型​编辑 3.1 数字类型 3.2 字符串 3.3 布尔值 3.4 空值&#xff08;Undefined和Null&#xff09; 3.5 类型转换 3.6 原始值和引用值 4、运算符 5、流程控制语句 5.1 分…

初刷leetcode题目(3)——数据结构与算法

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

python数据可视化

绘制简单的折线图 1.1json数据格式 JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据&#xff0c;其本质上是一个带有特定格式的字符串。 主要功能&#xff1a;json就是一种在各个编程语言中流通的数据格式&#xff0c;负责不同编程语言中的数据传递…

【论文复现】QuestEval:《QuestEval: Summarization Asks for Fact-based Evaluation》

以下是复现论文《QuestEval: Summarization Asks for Fact-based Evaluation》&#xff08;NAACL 2021&#xff09;代码https://github.com/ThomasScialom/QuestEval/的流程记录&#xff1a; 在服务器上conda创建虚拟环境questeval&#xff08;python版本于readme保持一致&…

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 3

1、下图中&#xff0c;乐乐家的位置用数对&#xff08;4,3&#xff09;表示&#xff0c;学校在乐乐家西南方向。下列选项中&#xff0c;学校的位置不可能是 A、&#xff08;5,4&#xff09; B、&#xff08;2,2&#xff09; C、&#xff08;2,1&#xff09; D、&#xff…

项目自动化构建工具——make/Makefile

目录 一、概念 二、使用实例 三、原理 四、进度条程序 1、缓冲区问题 1、概念 2、\r和\n 2、代码编写 一、概念 一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先…

计算两个向量的叉积numpy.cross()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算两个向量的叉积 numpy.cross() [太阳]选择题 请问代码中最后输出正确的是&#xff1f; import numpy as np a np.array([1, 2, 3]) b np.array([4, 5, 6]) c np.cross(a, b) pri…

23 - 如何优化JVM内存分配?

JVM 调优是一个系统而又复杂的过程&#xff0c;但我们知道&#xff0c;在大多数情况下&#xff0c;我们基本不用去调整 JVM 内存分配&#xff0c;因为一些初始化的参数已经可以保证应用服务正常稳定地工作了。 但所有的调优都是有目标性的&#xff0c;JVM 内存分配调优也一样。…

iptables详解:常用模块的基本使用

目录 tcp扩展模块 multiport扩展模块 iprange扩展模块 connlimit模块 limit扩展模块 udp扩展模块 icmp扩展模块 state扩展模块 限制每分钟接收10个ICMP数据报文 允许10个数据报文快速通过&#xff0c;然后限制每分钟接收1个个ICMP数据报文 限制网络传输的带宽不可以…

滚雪球学Java(09-5):Java中的赋值运算符,你真的掌握了吗?

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

C#入门(13):特性Attribute

C# 特性&#xff08;Attributes&#xff09;是用于在运行时为程序元素&#xff08;如类、方法、属性等&#xff09;添加声明性信息的一种方式。这些信息可以在程序运行时通过反射&#xff08;Reflection&#xff09;访问。特性可以用来控制程序行为、添加元数据或者影响程序的运…

数据结构【DS】图的遍历

BFS 要点 需要一个辅助队列visited数组&#xff0c;防止重复访问 复杂度 时间复杂度&#xff1a;访问结点的时间访问所有的边的时间 广度优先生成树 邻接表存储的图的表示方式不唯一&#xff0c;生成树也不唯一 DFS 复杂度 时间复杂度&#xff1a;访问结点的时间访问所有…

【Flink】核心概念:任务槽(Task Slots)

任务槽 每个 worker&#xff08;TaskManager&#xff09;都是一个 JVM 进程&#xff0c;可以在单独的线程中执行一个或多个 subtask。为了控制一个 TaskManager 中接受多少个 task&#xff0c;就有了所谓的 task slots&#xff08;至少一个&#xff09;。 每个任务槽&#xf…

CICD 持续集成与持续交付——git

git使用 [rootcicd1 ~]# yum install -y git[rootcicd1 ~]# mkdir demo[rootcicd1 ~]# cd demo/ 初始化版本库 [rootcicd1 demo]# git init 查看状态 [rootcicd1 demo]# git status[rootcicd1 demo]# git status -s #简化输出 [rootcicd1 demo]# echo test > README.md[roo…