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

目录

介绍

奈氏准则

香农公式


介绍

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

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

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

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

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

相关文章

深度学习之基于YoloV5血红细胞检测识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习已经在许多领域中得到了广泛的应用,包括医疗健康领域。其中,YOLO(You O…

SpringMVC 进阶

SpringMVC 进阶 一、拦截器 SpringMVC 中 Interceptor 拦截器的主要作⽤是拦截⽤⼾的请求并进⾏相应的处理。⽐如通过它来进⾏权限验证,或者是来判断⽤⼾是否登陆等操作。对于 SpringMVC 拦截器的定义⽅式有两种: 实现接⼝:org.springfram…

【Linux网络】从原理到实操,感受PXE无人值守自动化高效批量网络安装系统

一、PXE网络批量装机的介绍 1、常见的三种系统安装方式 2、回顾系统安装的过程,了解系统安装的必要条件 3、什么是pxe 4、搭建pxe的原理 5、Linux的光盘镜像中的isolinux中的相关文件学习 二、关于实现PXE无人值守装机的四大文件与五个软件的对应关系详解 5个…

超详细~25考研规划~感恩现在努力的你!!!

25考研规划 俄语,翻译过来叫我爱你 考试时间 第一天 8.30-11.30政治——100分 2.00-5.00英语——100分 第二天 8.30-11.30数学——150分 2.00-5.00专业课——150分 1.什么是25考研 将在2024年12月参加考研,2025年本科毕业,9月读研究…

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

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

SpringCloud 微服务全栈体系(十四)

第十一章 分布式搜索引擎 elasticsearch 四、RestAPI ES 官方提供了各种不同语言的客户端,用来操作 ES。这些客户端的本质就是组装 DSL 语句,通过 http 请求发送给 ES。官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/…

Python 自动化(十八)admin后台管理

admin后台管理 什么是admin后台管理 django提供了比较完善的后台数据库的接口,可供开发过程中调用和测试使用 django会搜集所有已注册的模型类,为这些模型类提供数据管理界面,供开发使用 admin配置步骤 创建后台管理账号 该账号为管理后…

程序员带你入门人工智能

随着人工智能技术的飞速发展,越来越多的程序员开始关注并学习人工智能。作为程序员,我们可能会对如何开始了解人工智能感到困惑。今天,我将向大家介绍一些如何通过自学了解人工智能的经验和方法,帮助大家更好地入门这个充满挑战和…

李沐的学习Pytorch环境配置

https://github.com/Miraclelucy/dive_into_deep_learning/tree/main 上面是别人的笔记 可以学一下。 如果没有梯子,按照清华源配置 清华源conda配置 最好下载 1.11版本torch那一套 然后装d2l版本可以装 pip install d2l0.17.6然后可以用 http://localhost:8889/…

学习笔记6——垃圾回收

学习笔记系列开头惯例发布一些寻亲消息 链接:https://baobeihuijia.com/bbhj/contents/3/190801.html java垃圾回收(stop the world) 专注于堆和方法区的垃圾回收,年轻代,老年代,永久代判断对象是否还存…

Linux shell编程学习笔记26:stty(set tty)

之前我们探讨了Linux中的tty,tty命令的主要功能是显示当前使用的终端名称。 如果我们想进一步对tty进行设置,就要用到stty。 stty的功能:显示和修改终端特性(Print or change terminal characteristics)。 1 stty -…

关于新能源汽车的英语翻译

近年来,随着全球对环保和可持续发展的重视,新能源汽车已经成为汽车产业的重要发展方向。各国政府和企业都在加大投入,推动新能源汽车的技术研发和产业化发展,进而促进了新能源汽车翻译的需求不断提升 。那么,关于新能源…

智慧城市安全监控的新利器

在传统的城市管理中,井盖的监控一直是一个难题,而井盖异动传感器的出现为这一问题提供了有效的解决方案。它具有体积小、重量轻、安装方便等特点,可以灵活地应用于各种类型的井盖,实现对城市基础设施的全方位监控。 智能井盖监测终…

Android图片涂鸦,Kotlin(1)

Android图片涂鸦,Kotlin(1) import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Path import android.graphics.PointF import android.…

RobotFramework之用例执行时添加命令行参数(十三)

学习目录 引言 标签tag 设置变量 随机执行顺序 设置监听器 输出日志目录和文件 引言 Robot Framework 提供了许多命令行选项,可用于控制测试用例的执行方式以及生成的输出。本节介绍一些常用的选项语法。 标签tag 之前文章我们介绍过,在测试套件…

Appium自动化测试:通过appium的inspector功能无法启动app的原因

在打开appium-desktop程序,点击inspector功能,填写app的配置信息,启动服务提示如下: 报错信息: An unknown server-side error occurred while processing the command. Original error: Cannot start the cc.knowyo…

分库分表

分库,分表,分库分表 “只分库“,“只分表“,“既分库又分表" 何时分库 在面对高并发的情况下,数据库连接成为性能瓶颈。当数据QPS过高导致数据库连接数不足时,考虑分库。在读多写少的场景下&#x…

window上Clion配置C++版本的opencv

window上Clion配置opencv 注意版本一定要对的上,否则可能会出错,亲测 widnows 11mingw 8.1.0opencv 4.5.5 mingw8.1下载地址https://sourceforge.net/projects/mingw/ 配置环境变量 cmake下载 安装完添加环境变量 来到官网,下载 windows 对…

性能测试学习——项目环境搭建和Jmete学习二

项目环境搭建、Jmeter学习二 环境的部署虚拟机的安装虚拟机中添加项目操作步骤 使用环境的注意事项Jmeter的安装和简单使用Jemter的使用的进阶Jemter元件 Jmeter属性执行顺序和作用域作用域以自定义用户变量和用户参数(前置处理器)为例如何解决用户变量和线程组同级时&#xff…

字符串函数详解

一.字母大小写转换函数. 1.1.tolower 结合cppreference.com 有以下结论&#xff1a; 1.头文件为#include <ctype.h> 2.使用规则为 #include <stdio.h> #include <ctype.h> int main() {char ch A;printf("%c\n",tolower(ch));//大写转换为小…