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

目录

介绍

奈氏准则

香农公式


介绍

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

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

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

但当失真严重时,在输出端就很难判断这个信号在什么时候是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 


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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker中快速安装RabbitMQ

文章目录 前言一、安装Docker二、安装RabbitMQ无脑命令行运行 总结 前言 在Ubuntu中的Docker容器中快速安装RabbitMQ,亲测有效,不废话,上操作。 一、安装Docker 直接按照Docker官方教程操作:官方安装教程 点进官网,往…

【win32_001】win32命名规、缩写、窗口

整数类型 bool类型 使用注意: 一般bool 的false0;true1 | 2 | …|n false是为0,true是非零 不建议这样用: if (result TRUE) // Wrong! 因为result不一定只返回1(true),当返回2时&#xff0c…

Docker Volume: 实现容器间数据共享与持久化的利器

文章目录 Docker Volume的作用Docker Volume与容器内数据的比较优势劣势 Docker Volume的创建和管理创建Docker Volume管理Docker Volume 演示Docker Volume的挂载Docker Volume的生命周期安全性考虑与Docker Volume应用场景Docker Volume与多容器协作容器迁移与Docker Volume未…

Flask学习一:概述

搭建项目 安装框架 pip install Flask第一个程序 from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return "Hello World"if __name__ __main__:app.run()怎么说呢,感觉还不错的样子。 调试模式 if __name__ __main__:a…

探索Scrapy中间件:自定义Selenium中间件实例解析

简介 Scrapy是一个强大的Python爬虫框架,可用于从网站上抓取数据。本教程将指导你创建自己的Scrapy爬虫。其中,中间件是其重要特性之一,允许开发者在爬取过程中拦截和处理请求与响应,实现个性化的爬虫行为。 本篇博客将深入探讨…

微机原理练习题_13

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。) 1、十六进制数5BF.C8转换成二进制数是() A. 11011100111111101B B. 010111011011.01101B C. 010110111111.11001B D. 010111011011.11001B 2,最适合…

量化交易:建立趋势跟踪策略的五个指标

什么是趋势跟踪策略? 趋势跟踪策略是只需需顺势而为的策略,即在价格上涨时买入,在价格开始下跌时卖出。在趋势跟踪策略中,人们的目标不是预测或预测,而只是关注市场上的任何新兴趋势。 趋势是如何出现的?…

Flume学习笔记(3)—— Flume 自定义组件

前置知识: Flume学习笔记(1)—— Flume入门-CSDN博客 Flume学习笔记(2)—— Flume进阶-CSDN博客 Flume 自定义组件 自定义 Interceptor 需求分析:使用 Flume 采集服务器本地日志,需要按照日志…

第十一周任务总结

本周任务总结 本周物联网方面主要继续进行网关的二次开发与规则引擎实现设备联动的实现 非物联网方面主要复习了docker的使用与算法的学习 1.网关的二次开发,本周将实现debug调试输出的文件下载到了网关,但网关出了问题无法连接,最终跟客服…

Libvirt-Qemu-Kvm 操作手记

(持续更新~) 本文主要用于记录在操作libvirt qemu kvm过程中遇到的问题及原因分析。 Hugepage 让qemu使用大页可以减少tdp的size,一定程度上可以提高性能;使用大页可以用memfd或者file backend。 memfd 操作步骤如下: 在系统中reserv…

数据结构 堆

手写堆&#xff0c;而非stl中的堆 如何手写一个堆&#xff1f; //将数组建成堆 <O(n) for (int i n / 2;i;i--) //从n/2开始down down(i); 从n/2元素开始down&#xff0c;最下面一层元素的个数是n/2&#xff0c;其余上面的元素的个数是n/2&#xff0c;从最下面一层到最高层…

electron使用better-sqlite3打包失败(electron打包有进程没有界面)

remove *\chrome_100_percent.pak: Access is denied. 解决&#xff1a; 管理员权限执行&#xff1a;taskkill /IM 你的进程名.exe /F&#xff0c;再次执行build electron使用better-sqlite3打包后有进程没有界面 原因是代码及依赖包安装有误&#xff0c;模块丢失。主要分享的…

Web前端—移动Web第二天(空间转换、动画、综合案例:全名出游)

版本说明 当前版本号[20231118]。 版本修改说明20231118初版 目录 文章目录 版本说明目录移动 Web 第二天01-空间转换空间转换简介平移视距旋转左手法则rotate3d-了解立体呈现案例-3d导航缩放 02-动画动画实现步骤animation复合属性animation拆分写法案例-走马灯精灵动画多组…

每天一道算法题(六)——返回一组数字中所有和为 0 且不重复的三元组

文章目录 前言1、问题2、示例3、解决方法4、效果5、注意点 前言 注意&#xff1a;答案中不可以包含重复的三元组。 1、问题 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] n…

WMS仓库管理系统库位分配规划

分配说明 每个商品必须至少有一个分拣位&#xff08;整箱或拆零均可&#xff09;如果只设了拆零分拣位&#xff0c;则入库不分配存储位&#xff0c;只上拆零分拣位&#xff0c;对于DPS分拣商品是一品固定一个货位&#xff0c;对于RF分拣商品是动态分配货位&#xff0c;一个商品…

记录我常用的免费API接口

目录 1.随机中英文句子 2.随机中英文句子&#xff08;带图片和音频&#xff09; 3.随机一句诗 4.随机一句话 5.随机一句情话 6. 随机一句舔狗语录 7.历史上的今天 8.获取来访者ip地址 9&#xff1a;获取手机号信息 10. 垃圾分类查询 11.字典查询 12.QQ信息查询 1.随…

Mybatis-Plus《学习笔记 22版尚硅谷 》——感谢【尚硅谷】官方文档

Mybatis-Plus《学习笔记 22版尚硅谷 》 一、MyBatis-Plus1.简介2.特性3.支持数据库4.框架结构5.官方地址 二、入门案例1.开发环境2.建库建表3.创建工程4.配置编码5.测试查询 三、增删改查1.BaseMapper<T>2.调用Mapper层实现CRUD2.1 插入2.2 删除a、根据ID删除数据b、根据…

Node.js之TCP(net)

Hi I’m Shendi Node.js之TCP&#xff08;net&#xff09; 最近使用Nodejs编写程序&#xff0c;需要用到自己编写的分布式工具&#xff0c;于是需要将Java版的用NodeJs重新写一遍&#xff0c;需要使用到TCP通信&#xff0c;于是在这里记录下Node.js TCP 的使用方法 依赖 需要使…

【Python进阶】近200页md文档14大体系知识点,第4篇:linux命令和vim使用

本文从14大模块展示了python高级用的应用。分别有Linux命令&#xff0c;多任务编程、网络编程、Http协议和静态Web编程、htmlcss、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。 全套Python进阶笔记地址…

黑马程序员 计算机网络(笔记)

参考文章&#xff1a;【黑马程序员】计算机网络概述~ 程序员必须掌握的入门基础知识&#xff01; 参考文章&#xff1a;黑马程序员Linux运维工作场景解决方案零基础到就业 参考文章&#xff1a;网络安全运维进阶教程&#xff0c;运维工程师深度学习教程 文章目录 linux入门到…