老司机解读香农定理、奈奎斯特定理、编码与调制

news2024/12/30 2:44:01

工程师都会考虑一个问题:信道上到底可以传输多大的数据,或者指定的信道上的极限传输率是多少。这就是信道容量的问题。例如,在xDSL系统中,我们使用的传输介质是仅有几兆带宽的电话线,而上面要传送几兆、十几兆甚至几十兆带宽的数据,如此高的速率能保证在几兆带宽的双绞线上可靠传输吗?或者说从另一个角度说,在给定通频带宽(Hz)的物理信道上,到底可以有多高的数据速率(b/S)来可靠传送信息?

早在1924年,AT&T的工程师奈奎斯特(Henry Nyquist)就认识到在任何信道中,码元传输的速率都是有上限的,并推导出一个计算公式,用来推算无噪声的、有限带宽信道的最大数据传输速率,这就是 今天的奈奎斯特定理。由于这个定理只局限在无噪声的环境下计算信道最大数据传输速率,而在有噪声的环境下仍然不能有效计算出信道最大数据传输速率,因此在 1948年,香农(Claude Shannon)把奈奎斯特的工作进一步扩展到了信道受到随机噪声干扰的情况,即在有随机噪声干扰的情况计算信道最大数据传输速率,这就是今天的香农定理。下面分别介绍这两个定理。

一、奈奎斯特定理

奈奎斯特证明,对于一个带宽为W赫兹的理想信道,其最大码元(信号)速率为2W波特。这一限制是由于存在码间干扰。如果被传输的信号包含了M个状态值(信号的状态数是M),那么W赫兹信道所能承载的最大数据传输速率(信道容量)是:

C =2×W×log2M(bps)

假设带宽为W赫兹信道中传输的信号是二进制信号(即信道中只有两种物理信号),那么该信号所能承载的最大数据传输速率是2Wbps。例如,使用 带宽为3KHz的话音信道通过调制解调器来传输数字数据,根据奈奎斯特定理,发送端每秒最多只能发送2×3000个码元。如果信号的状态数为2,则每个信 号可以携带1个比特信息,那么话音信道的最大数据传输速率是6Kbps;如果信号的状态数是4,则每个信号可以携带2个比特信息,那么话音信道的最大数据 传输速率是12Kbps。

因此对于给定的信道带宽,可以通过增加不同信号单元的个数来提高数据传输速率。然而这样会增加接收端的负担,因为,接收端每接收一个码元,它不再只是从两个可能的信号取值中区分一个,而是必须从M个可能的信号中区分一个。传输介质上的噪声将会限制M的实际取值。

二、香农定理

奈奎斯特考虑了无噪声的理想信道,而且奈奎斯特定理指出,当所有其他条件相同时,信道带宽加倍则数据传输速率也加倍。但是对于有噪声的信道,情况将会迅速变坏。现在让我们考虑一下数据传输速率、噪声和误码率之间的关系。噪声的存在会破坏数据的一个比特或多个比特。假如数据传输速率增加了,每比特所占用 的时间会变短,因而噪声会影响到更多比特,则误码率会越大。

对于有噪声信道,我们希望通过提高信号强度来提高接收端正确接收数据的能力。衡量信道质量好坏的参数是信噪比(Signal-to-Noise Ratio,S/N),信噪比是信号功率与在信道某一个特定点处所呈现的噪声功率的比值。通常信噪比在接收端进行测量,因为我们正是在接收端处理信号并试 图消除噪声的。如果用S表示信号功率,用N表示噪声功率,则信噪比表示为S/N。为了方便起见,人们一般用10log10(S/N)来表示信噪比,单位是 分贝(dB)。S/N的值越高,表示信道的质量越好。例如,S/N为1000,其信噪比为30dB;S/N为100,其信噪比为20dB;S/N为10, 其信噪比为10dB。

对于通过有噪声信道传输数字数据而言,信噪比非常重要,因为它设定了有噪声信道一个可达的数据传输速率上限,即对于带宽为W赫兹,信噪比为S/N的信道,其最大数据传输速率(信道容量)为:

C = W×log2(1+S/N)(bps)

例如,对于一个带宽为3KHz,信噪比为30dB(S/N就是1000)的话音信道,无论其使用多少个电平信号发送二进制数据,其数据传输速率 不可能超过30Kbps。值得注意的是,香农定理仅仅给出了一个理论极限,实际应用中能够达到的速率要低得多。其中一个原因是香农定理只考虑了热噪声(白噪声),而没有考虑脉冲噪声等因素。

香农定理给出的是无误码数据传输速率。香农还证明,假设信道实际数据传输速率比无误码数据传输速率低,那么使用一个适当的信号编码来达到无误码数据传 输速率在理论上是可能的。遗憾的是,香农并没有给出如何找到这种编码的方法。不可否认的是,香农定理确实提供了一个用来衡量实际通信系统性能的标准。

三、编码与调制

说完上面这两个定理,在说说对编码和调制的解说。

信源与信宿

信源与信宿是网络中的两个专业名词,其实,信源与信宿可简单地理解为信息的发送者和信息的接收者。信息传播的过程一般可描述为:信源→信道→信 宿。在传统的信息传播过程中,对信源的资格有严格的限制,通常是指广播电台、电视台等机构,采用的是有中心的结构。而在计算机网络中,对信源的资格并无特 殊限制,任何一个网络中的计算机都可以成为信源,当然任何一个网络中计算机也可以成为信宿。

由于传输介质及其格式的限制,通信双方的信号不能直接进行传送,必须通过一定的方式处理之后,使之能够适合传输媒体特性,才能够正确无误地传送到目的地。

调制是指用模拟信号承载数字或模拟数据;而编码则是指用数字信号承载数字或模拟数据。

目前存在的传输通道主要有模拟信道和数字信道两种,其中模拟信道一般只用于传输模拟信号,而数字信道一般只用于传输数字信号。有时为了需要,也可能需 要用数字信道传输模拟信号,或用模拟信道传输数字信号,此时,我们就需要先对传输的数据进行转换,转换为信道能传送的数据类型,即模拟信号与数字信号的转 换,这是编码与调制的主要内容。当然模拟数据、数字数据如何通过通道发送的问题也是编码与调制的重要内容。下面我们分别从模拟信号使用模拟信道传送、模拟 信号使用数字信道传送、数字信号使用模拟信道传送和数字信号使用数字信道传送四个方面来介绍数据的调制与编码。

1.模拟信号使用模拟信道传送

有时候模拟数据可以在模拟信道上直接传送,但在网络数据传送中这并不常用,人们仍然会将模拟数据调制出来,然后再通过模拟信道发送。调制的目的是将模 拟信号调制到高频载波信号上以便于远距离传输。目前,存在的调制方式主要有调幅(Amplitude Modulation,AM)、调频(Frequency Modulation,FM)及调相(Phase Modulation,PM)。

2.模拟信号使用数字信道传送

使模拟信号在数字信道上传送,首先要将模拟信号转换为数字信号,这个转换的过程就是数字化的过程,数字化的过程主要包括采用和量化两步。常见的将模拟 信号编码到数字信道传送的方法主要有:脉冲幅度调制(Pulse Amplitude Modulation,PAM)、脉冲编码调制(Pulse Code Modulation,PCM)、差分脉冲编码调制(Differential PCM,DPCM)和增量脉码调制方式(Delta Modulation,DM)。

3.数字信号使用模拟信道传送

将数字信号使用模拟信道传送的过程是一个调制的过程,它是一个将数字信号(二进制0或1)表示的数字数据来改变模拟信号特征的过程,即将二进制数据调制到模拟信号上来的过程。

一个正弦波可以通过3个特性进行定义:振幅、频率和相位。当我们改变其中任何一个特性时,就有了波的另一个形式。如果用原来的波表示二进制1,那么波 的变形就可以表示二进制0;反之亦然。波的3个特性中的任意一个都可以用这种方式改变,从而使我们至少有3种将数字数据调制到模拟信号的机制:幅移键控法 (Amplitude-Shift Keying,ASK)、频移键控法(Frequency-Shift Keying,FSK)以及相移键控法(Phase-Shift Keying,PSK)。另外,还有一种将振幅和相位变化结合起来的机制叫正交调幅(Quadrature Amplitude Modulation,QAM)。其中正交调幅的效率最高,也是现在所有的调制解调器中经常采用的技术。

4.数字信号使用数字信道传送

要是数字信号在数字信道上传送,需要对数字信号先进行编码。例如,当数据从计算机传输到打印机时,一般是采用这种方式。在这种方式下,首先须进行对数 字信号编码,即由计算机产生的二进制0和1数字信号被转换成一串可以在导线上传输的电压脉冲。对信源进行编码可以降低数据率,提高信息量效率,对信道进行 编码可以提高系统的抗干扰能力。

目前,常见的数据编码方式主要有不归零码、曼彻斯特编码和差分曼彻斯特编码三种。  

(1)不归零码(NRZ,Non-Return to Zero):二进制数字0、1分别用两种电平来表示,常用-5V表示1,+5V表示0。缺点是存在直流分量,传输中不能使用变压器;不具备自同步机制,传输时必须使用外同步。

(2)曼彻斯特编码(Manchester Code):用电压的变化表示0和1,规定在每个码元的中间发生跳变。高→低的跳变代表0,低→高的跳变代表1(注意:某种教程中关于此部分内容有相反的 描述,也是正确的)。每个码元中间都要发生跳变,接收端可将此变化提取出来,作为同步信号。这种编码也称为自同步码(Self- Synchronizing Code)。其缺点是需要双倍的传输带宽(即信号速率是数据速率的2倍)。

(3)差分曼彻斯特编码:每个码元的中间仍要发生跳变,用码元开始处有无跳变来表示0和1。有跳变代表0,无跳变代表1(注意:某种教程中关于此部分内容有相反的描述,也是正确的)。

来源:整理自文库

—END—

链接:老司机解读香农定理、奈奎斯特定理、编码与调制 - RFASK射频问问

关于RFASK射频问问

射频问问是在"微波射频网”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:RFASK射频问问 - 射频技术研发服务平台 | 技术问答、专栏文章、射频课程

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

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

相关文章

cuda编程学习——基础知识介绍!干货向(三)

本文主要内容为介绍CUDA编程前的一些基础知识 参考资料: 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 文章、讲解视频同步更新公众《AI知识物语》,B站:出门吃三碗饭 1:并行计算 并行程序可以分为 指令并行&#xff1…

还在使用System.out+System.currentTimeMillis打印耗时?Xrebel是你不可或缺的神器!

1、概述 在Java应用程序中,性能是至关重要的。由于Java应用程序通常在高并发环境中运行,并处理大量数据,因此需要确保其能够高效地运行。为了帮助开发人员更好地实现Java应用程序的性能调优,ZeroTurnaround推出了XRebel。 XRebe…

测试用例的设计方法(全)

等价类划分方法 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 2.划分等价类: 等价…

Stimulsoft 报表开发工具支持Laravel框架!一起来看~

Stimulsoft Reports 是一款报告编写器,主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的应用程序中嵌入报告设计器…

2023-05-24 LeetCode每日一题(T 秒后青蛙的位置)

2023-05-24每日一题 一、题目编号 1377. T 秒后青蛙的位置二、题目链接 点击跳转到题目位置 三、题目描述 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下: 在一秒内,青蛙从它所在的当前顶点跳…

Jupyter Notebook 10个提升体验的高级技巧

Jupyter 笔记本是数据科学家和分析师用于交互式计算、数据可视化和协作的工具。Jupyter 笔记本的基本功能大家都已经很熟悉了,但还有一些鲜为人知的技巧可以大大提高生产力和效率。在这篇文章中,我将介绍10个可以提升体验的高级技巧。 改变注释的颜色 颜…

工程安全监测振弦采集仪在岩土工程中的应用

工程安全监测振弦采集仪在岩土工程中的应用 岩土工程中使用振弦采集仪在工程建设中起着至关重要的作用。振弦采集仪可以测量地面或者岩土中的振动参数,通过这些参数可以对地基、土壤和岩体的性质及其变化进行监测,帮助我们更好地了解工程地质条件和工程建…

Windows 11将加入Copilot的AI助手;约26%的中国用户已经部署了生成式AI技术

🚀 微软在Build开发者大会上宣布,将在Windows 11中加入一个名为Copilot的AI助手 微软在Build开发者大会上宣布,将在Windows 11中加入一个名为Copilot的AI助手,用户可以在任何应用程序中调用它,并根据用户的需求提供智…

【C++ 学习 ⑧】- STL 简介

目录 一、什么是 STL? 二、STL 的版本 三、STL 的 6 大组件和 13 个头文件 四、学习 STL 的 3 个境界 五、STL 的缺陷 参考资料: STL教程:C STL快速入门(非常详细) (biancheng.net)。 C STL是什么,有…

“五一”假期出行,伴随着哪些风险

2023年“五一”假期,文化和旅游行业复苏势头强劲,全国假日市场平稳有序。文化和旅游部数据中心测算,全国国内旅游出游合计2.74亿人次。 据交通部门数据显示,自4月27日铁路“五一”假期运输启动以来,截至5月4日&#x…

旧照片怎么修复成新照片?分享三种简单好用的修复方法

旧照片是我们珍贵的回忆,但是随着时间的推移,它们可能会因为自然衰老或者其他原因而变得模糊或者损坏。修复旧照片可以让我们重新体验美好的回忆,保留珍贵的记忆。随着技术的进步,现在可以通过数字化技术将旧照片修复成数字照片&a…

如何理解机器人学习和研究中的存量和增量

对于博客流量也类似如此,存量很重要,增量随着需求减弱,导致后发优秀的博主想要获得更高的关注和流量,需要花费比10年前博主更多的精力和时间。 自己工作地方现状就是存量薄弱,增量缓慢。 存量可以理解为基础增量可以理…

leecode77——组合(回溯算法)

leecode77 组合问题 🔎1.回溯算法是什么? 其实回溯算法和我们常说的 DFS 算法非常类似,本质上就是一种暴力穷举算法。回溯算法和 DFS 算法的细微差别是:回溯算法是在遍历「树枝」,DFS 算法是在遍历「节点」。 解决回…

第四十九天学习记录:C语言进阶:结构体

结构体 结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 struct tag {member-list; }variable-list;问:C的new和C语言的结构体有什么异同? ChatAI答: C中的new是一个运算符&#xff…

Scrum的三个工件(产品Backlog、Sprint Backlog、产品增量 )

产品Backlog •产品backlog是一个按照价值排序的需求清单。 •为了达成产品目标,所有的需求都需要放到产品backlog中进行管理和规划。 •由产品负责人负责管理和维护。 产品Backlog当中的工作按照迭代的方式推进 •在Scrum中Sprint(冲刺&#xff09…

Spring Security 中的过滤器链是什么?它的作用是什么

Spring Security是一个安全框架,它提供了强大的安全保护功能,可以帮助开发者更加方便地实现应用程序的安全性。Spring Security中的过滤器链是其中一个非常重要的部分,它起到了非常重要的作用。本文将介绍什么是Spring Security中的过滤器链&…

经典JavaScript手写面试题和答案

文章目录 实现一个函数去重?实现一个函数,判断指定元素在数组中是否存在?实现一个函数,将给定字符串反转?实现一个函数,检测指定字符串是否为回文(即从前往后和从后往前的字符序列都相同&#x…

【30天熟悉Go语言】2 Go开发环境搭建、Hello World程序运行

文章目录 一、前言二、安装和配置SDK1、安装2、环境配置 三、开发工具1、GoLand2、VS Code 四、Hello World程序通过命令运行1)go build2)go run 1、Go 和 Java的文件结构对比2、Go和Java常用包对比 五、Go执行流程1、先编译再运行2、一次性编译运行区别…

一、尚医通登录需求

文章目录 一、登录需求1、登录效果2、登录需求 二、登录1,搭建service-user模块1.1 搭建service-user模块1.2 修改配置1.3 启动类1.4 配置网关 2、添加用户基础类2.1 添加model2.2 添加Mapper2.3 添加service接口及实现类2.4 添加controller 3、登录api接口3.1 添加…

leetcode刷题之数组问题总结,二分法,移除元素,滑动窗口相关问题,螺旋矩阵相关问题

目录 一、二分查找相关应用704.二分查找35.搜索插入位置方法一:二分法暴力解法 34.在排序数组中查找元素的开始位置和最后一个位置方法一:暴力解法方法二:二分法,确定左右两侧的边界 69.x的平方根方法一:二分法方法二:暴力解法错解…