Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
QPSK调制器
2023-11-05
早在本世纪初人们就了解通讯的重要性。从电子时代初期开始,随着技术的不断发展,本地通讯与全球通讯的之间壁垒被打破,从而导致我们世界变得越来越小,人们分享知识和信息也更加容易。贝尔和马可尼可谓通讯事业的鼻祖,他们所完成的开拓性工作不仅为现代信息时代奠定了基础,而且为未来电讯发展铺平了道路。
传统的本地通讯借助于电线传输,因为这既省钱又可保证信息可靠传送。而长途通讯则需要通过无线电波传送信息。从系统硬件设备方面考虑这很方便省事,但是从传送信息的准确性考虑,却导致了信息传送不确定性增加,而且由于常常需要借助于大功率传送设备来克服因气象条件、高大建筑物以及其他各种各样的电磁干扰。
各种不同类型的调制方式能够根据系统造价、接收信号品质要求提供各种不同的解决方案,但是直到不久以前它们大部分还是属于模拟调制范畴,频率调制和相位调制噪声小,而幅度调制解调结构要简单的多。最近由于低成本微控制器的出现以及民用移动电话和卫星通信的引入,数字调制技术日益普及。数字式调制具有采用微处理器的模拟调制方式的所有优点,通讯链路中的任何不足均可借助于软件根除,它不仅可实现信息加密,而且通过误差校准技术,使接收到的数据更加可靠,另外借助于DSP,还可减小分配给每个用户设备的有限带宽,频率利用率得以提高。
如同模拟调制,数字调制也可分为频率调制、相位调制和幅度调制,性能各有千秋。由于频率、相位调制对噪声抑制更好,因此成为当今大多数通讯设备的首选方案,下面将对其详细讨论。
数字调频
对传统的模拟频率调制(FM)稍加变化,即在调制器输入端加一个数字控制信号,便得到由两个不同频率的正弦波构成的调制波,解调该信号很简单,只需让它通过两个滤波器后就可将合成波变回逻辑电平信号。通常,这种调制方式称为频移键控(FSK)。
数字调相
数字相位调制或相移键控(PSK)与频率调制很相似。不过它的实现是通过改变发送波的相位而非频率,不同的相位代表不同的数据。PSK最简单的形式为,利用数字信号对两个同频、反相正弦波进行控制、不断切换合成调相波。解调时,让它与一个同频正弦波相乘,其乘积由两部分构成:2倍频接收信号的余弦波;与频率无关,幅度与正弦波相移成正比的分量。因此采用低通滤波器滤掉高频成分后,便得到与发送波相应的原始调制数据。仅从概念上难以描述清楚,稍后我们将对上述结论进行数学证明。
正交相移调制
如果对上述PSK概念进一步延伸,可推测调制的相位数目不仅限于两个,载波应该能够承载任意数目的相位信息,而且如果对接收信号乘以同频正弦波就可解调出相移信息,而它是与频率无关的直流电平信号。
正交相移调制(QPSK)正是基于该原理。利用QPSK,载波可以承载四种不同的相移(4个码片),每个码片又代表2个二进制字节。初看这似乎毫无意义,但现在这种调制方式却使同一载波能传送2比特的信息而非原来的1比特,从而使载波的频带利用率提高了一倍。
下面给出了解调相位调制信号和进而的QPSK信号。
首先定义欧拉公式,然后利用大量的三角恒等式进行证明。
有欧拉公式:
把两个正弦波相乘,得:
从上式可以看出,两个同频正弦波(一个为输入信号,另一个为接收混频器本振信号)相乘,其乘积为一个幅度只有输入信号一半、
频率加倍的高次谐波迭加一个幅度为1/2的直流偏置。
类似地sin ωt与cos ωt相乘的结果为:
只有二次谐波sin 2ωt,无直流成分。
现在可以推断,sin ωt与任意相移的同频正弦波(sin ωt + ø)相乘,其乘积-解调波,均含有输入信号的二次谐波,同时还包括一个与相移ø有关的直流成分。
证明如下:
上述等式验证了前面推断的正确性,即包含于载波中的相移可用同频的本振正弦波对其相乘,然后通过一低通滤波器滤波,便解调出与相移多少相对应的不同的成分。不幸的是,上式仅限于两相限应用,因为它不能把π/2与-π/2相移区分开。因此,为了准确地解调出分布于四个相限的相移信息,接收端需要同时采用正弦型和余弦型本振信号对输入信号做乘积,滤掉高次谐波再进行数据重构。其证明过程即上述数学证明的延伸,如下所示。
因此:
一个SPICE模型验证了上面的理论。
图1
显示了简单的解调器电路的框图。在QPSK IN的输入电压是一个1MHz的正弦波, 它的相位每个5µs被变换一次,状态分别是45°、135°、225°和315°。
图2
和
图3
分别显示了同相电压波形VI和正交电压波形VQ。它们都是带有与相位偏移成比例的直流偏移的2MHz频率的信号,这就验证上面的数学推理。
图4
是一个显示QPSK IN的相位偏移和解调数据的矢量图。
上述理论很容易被接受,根据它,从载波中获得信息很简单,只要在接收端混频器输出加上一级低通滤波器,再对四路电压重新组合,便能将它们变为相应的逻辑电平信号。然而在实际应用中,要得到与输入信号准确同步的本振信号并非易事。如果本振信号的相位相对于输入信号有变化,则相量图中的信号会旋转变化,其大小与两者的相位差成比例。更进一步,如果本振信号的相位
与
频率相对输入信号均在变化,则相量图中的相量会不断地旋转变化。
因此,解调电路前端输出均有一级ADC,由本振信号的相位和频率变化引起的任何误差均可在后级DSP中得到修正。
直接变换到基带的有效方法是采用直接变频调谐器IC。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)
射频微波
网络
QPSK调制器 的相关文章
C++(继承(上))
目录 1 引出继承的概念 2 继承的关系和方式 3 继承中的作用域 1 引出继承的概念 这些学生 老师 后勤都具有相同的特征 我们可以把这些相同的特征提取出来放到一个公共的类当中 那么我该如何让Personz这个公共的类当中的数据和方法给我
Ag-grid实现列拖拽,将列顺序存储到本地(localStorage),加载页面时根据本地保存的顺序修改列表头顺序,避免刷新页面后列顺序恢复原样
Ag grid实现列拖拽 将列顺序存储到本地 localStorage 加载页面时根据本地保存的顺序修改列表头顺序 避免刷新页面后列顺序恢复原样 今天在使用 ag grid 的时候 遇到一个需求 ag grid 列表头的信息拖拽后 刷新页面
uniapp--微信小程序--云开发生成短连接h5跳转小程序
云开发生成短连接h5跳转小程序 此项目是在之前的非云开发项目中添加云函数 从而达到生成短连接h5跳转小程序的目的 前提 先开通云服务 点击左上角云开发按指引开通 如想直接通过静态网站html的方式h5跳转可参考我的另一篇文章https bl
C#中的变量类型(值类型、引用类型)
C 中的变量类型 值类型 值类型直接存储的是变量的值 变量空间在栈上分配 分配速度比较快 给变量赋值时需注意变量类型的取值范围 给变量赋不合理的值会导致编译器报错 布尔类型的变量只有两种可选择的值true false 布尔值的默认值是fal
分布式文件系统对比与选型参考
目录 一 分布式文件系统 1 数据的存储方式 2 数据的读取速率 3 数据的安全机制 二 主流分布式文件系统介绍 1 GFS Google File System 2 HDFS Hadoop Distributed File System
java web的运行原理及内存分配_深入学习Java核心 Java内存分配原理
String是一个特殊的包装类数据 可以用 String str new String abc String str abc 两种的形式来创建 第一种是用new 来新建对象的 它会在存放于堆中 每调用一次就会创建一个新的对象 而第二种是先在
随机推荐
类加载机制(整个过程详解)
一 背景 类加载机制是在我们的真个java的运行阶段中的其中一个阶段 二 什么是快乐星球 类加载机制 我们编写的 Java 文件都是以 java 为后缀的文件 编译器会将我们编写的 java 的文件编译成 class 文件 简单来说类加载机
How to Train Triplet Networks with 100K Identities?论文简略翻译
Abstract 摘要 使用大规模数据训练triplet networks对人脸识别具有挑战性 由于可能的triplets数量随着样本数量的增加而爆炸 以前的研究采用在线硬性负面挖掘 OHNM 来处理它 然而 随着identities的数量
【Linux】解决VirtualBox下Ubuntu开机后黑屏
解决VirtualBox下Ubuntu开机后黑屏 在vbox下运行ubuntu下 有时候会遇到恢复运行时 在账户密码界面显示正常 输入用户名密码登录到桌面则黑屏 可以尝试按以下方法解决 在windows下 以管理员方式打开cmd 运行net
Date与时间戳的相互转换
1 Date对象转换为时间戳 Date date new Date long times date getTime System out println times 效果如下 1508824283292 2 时间戳转换为Date日期对象 l
浏览器和node.js的事件循环有什么区别?
浏览器和node js的事件循环有什么区别 答案 前置知识 单线程和异步 JS是单线程的 无论是浏览器还是node js 浏览器中JS执行和DOM渲染共用一个线程 所以一次只能进行一件事 执行JS就不能执行DOM渲染 反之亦然 异步 前置知
微信小程序累计访客 UV
在小程序后台查看 打开这里 然后在这里查看 不过是昨天的数据当天的在下一天更新 也可以登录后台顶部导航栏右侧 将鼠标挺方在手机查看数据上方扫二维码即可查看 还有都告诉了这么多了扫一扫下方小程序码支持一下 谢谢
few-shot和zero-shot
Few shot Learning 少样本学习 是Meta Learning 元学习 中的一个实例 1 所以在了解什么是Few shot Learning之前有必要对Meta Learning有一个简单的认识 不过在了解什么是Meta Le
11-ifcfg配置网络属性
基础知识准备 需要初步了解OSI TCP IP协议 在tcp ip分层中的 application layer transport layer internet layer datalink layer pysical layer等 以及传
Deduction Guides (since C++17)
History 在C 98中 使用类模板时 即使从使用中可以明显看出它们的类型 也总是必须提供模板参数 std pair
python输出1-10
python输出1 10案例 方法一 for num in range 10 num 1 print num print 方法二 for num1 in range 1 11 print num1
Node配置环境
如果是公司内网 存在代理 很多限制 那该如何配置呢 两种方法 一种在命令行中修改 一种直接修改配置文件 方法一 npm config set proxy http 公司的网站 端口号 npm config set https proxy h
c语言随机产生10题,详解C语言的随机数生成及其相关题目
产生随机数的基本方法 本文中 笔者将介绍c语言所提供的随机数发生器的用法 现在的c编译程序都提供了一个基于一种ANSI标准的伪随机数发生器函数 用来生成随机数 Microsoft和Borland都是通过rand 和srand 函数来支持这种
获取base64编码格式的图片大小
imageBase就是要传来的图片数据 因为我传来的照片头部已经去掉了 所以这里就不需要再做处理 只做 号的处理就可以了 public int obtainImageSize String imageBase String str imag
线程的查看以及利用gdb调试多线程
更多linux知识点 linux目录索引 1 线程的查看 首先创建两个线程 include
socket编程——select模型
利用select模型实现多个客户端和一个服务端的CS模型 多路IO复用技术 上一篇 多线程版本 阅前必读 select详解 select 同时监听多个文件描述符 将监控的操作交给内核去处理 委托内核监控可读 可写 异常事件 int sele
ai怎么做盒子效果图_AI做局部放大效果图
前言 局部放大效果图是我们实验中比较常见的 是为了将更小的部分进行放大观察 这种图使用Ps和Ai都可以做 不难 在AI里主要涉及到了剪切蒙版的设置 使用圆形线圈对图进行剪切 放大就可以了 那么我们今天来看一下 这种图怎么做 软件 Adobe
对Kalman(卡尔曼)滤波器的理解
分类 计算机视觉 转载过来的 觉得不错 原文 http blog csdn net lanbing510 article details 8828109 1 简介 Brief Introduction 在学习卡尔曼滤波器之前 首先看看为什么
linux内核互斥锁,linux内核锁机制 - 全文
在现代操作系统里 同一时间可能有多个内核执行流在执行 因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问 尤其是在多处理器系统上 更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问 在主流的L
bootstrap与application对比
用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件 bootstrap yml 或者 properties application yml 或者 properties 为什么会有这两种配置文件呢 大家都清
QPSK调制器
早在本世纪初人们就了解通讯的重要性 从电子时代初期开始 随着技术的不断发展 本地通讯与全球通讯的之间壁垒被打破 从而导致我们世界变得越来越小 人们分享知识和信息也更加容易 贝尔和马可尼可谓通讯事业的鼻祖 他们所完成的开拓性工作不仅为现代信息
热门标签
链接装载和库
查看Linux ip
Linux ip地址
AI 加速器
python源码分享
题目合集
utstack
uthash
多维数组漫谈教程
负载均衡器nginx
语义解析
开发API
范围for循环
职场和规划
微服务架构实战