热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

虚拟正交信号构造(为什么要进行信号调制)

大多数现代通信系统都是数字的,使用离散的幅度或相位来表示正在传输的数据。正交调制广泛用于5G及以下的数字通信系统中。接收端则会有一个相应的正交检波器,用于从已调波形中提取IQ信号。


调制是电子通信的基础。 调制信号可以是自然界的模拟(声音或音乐)或数字比特流。 大多数现代通信系统都是数字的,使用离散的振幅或相位来表示传输中的数据。 能够从发送机可靠地传输到接收机的状态数量越多,在规定的时间段内能够发送的数据也越多。 正交调制广泛应用于5G以下的数字通信系统。


调制器背后的基本理念是通过调制信号控制RF载波的一个或多个参数。 在数学上,可以表示如下。




其中:


a(t )为振幅调制) AM )项


(t )为调相) PM )项


fc是载波频率。


该信号的振幅由a(t )控制,相位由)控制。 为了实现振幅调制(AM ),使调制信号与a ) t )对应,将) t )设定为零。 同样地,相位调制(PM )后的信号将a ) t )设定为常数,调制信号对应于) t )。 我们现在没有考虑调频(调频),但我要向大家说明通过调频可以实现调频。


矢量表示

向量表示法通过定义同相(与I )正交) q )分量,便于表示调制信号。


使用三角恒等式:




调谐后的信号可以表示如下。




可以对上式进行变形,提取I和q的成分。




其中:






图1用图表表示了这一点。 其中,I成分在水平轴上,q成分在垂直轴上。 这种形式对电子工程师来说应该是家喻户晓的,利用的是正弦函数和余弦函数之间有90度的相移。




图1 :已调整信号振幅和相位的矢量图。 [根据参考文献1进行改编]


可以使用以下公式将调制信号的振幅和相位与I分量和q分量相关联。




为了强调这些变量随时间而变化,通常随调制而变化,在方程式中留下了“(t )”。 在经典AM的情况下,矢量随长度(振幅)变化,相位角恒定。 PM的情况正好相反。 矢量的振幅是恒定的,但角度随调制而变化。


现在,这看起来像三角问题,但正交调制系统通常用图2所示的框图实现。




图2 :正交调制器使用正弦函数和余弦函数调制振荡器的载波。


可以将控制I(t )的同相(余弦)部分、q ) t )视为控制正交(正弦)部分。 将它们加在一起,可以得到所需的输出信号。 该框图可以通过模拟和/或数字技术来实现。 业界用这两种方法构建了实际的系统,使用数字电路和数字信号处理无疑是明显的趋势。


图2示出正交调制方案的发送侧。 接收端有用于从调制的波形中提取I/Q信号的正交检波器。


数字调制

正交调制可以用于实现无数调制方式,但在数字的情况下

调制才具有最大的价值。例如,使用矢量相位的数字调制称为相移键控(PSK)。

图3给出了PSK的两个示例:4PSK使用4个不同的相位来产生四种调制状态(请注意,幅度保持不变)。图3仅画出了矢量的尖端落在何处,这是描绘这些状态的常用方法。这种类型的图通常称为星座图。因为调制形式具有4种可能的状态,所以每个调制状态都可以代表两个二进制值(图中表示为00、01、10、11)。

图3:简单PSK信号的星座图。[摘自参考文献3]

图3还绘制了8PSK,即使用相位调制来创建8个调制状态。这8个状态对应3位逻辑状态。系统的调制状态越多,就能在给定的时间内传输越多的信息位(但在噪声环境下会增加误码率)。

正交幅度调制(QAM)同时使用幅度和相位来增加调制状态。图4绘制了16QAM(具有16种状态)。根据数字调制,调制矢量可以跳来跳去,指向这些状态中的每一个。为了简化起见,图中未写出逻辑值,但是调制状态对应16个值,可以代表4位信息。

图4:16QAM信号的星座图。[摘自参考文献3]

FM又是如何?

可以看到,通过调制载波的幅度和相位来获得已调载波这种方法非常灵活。尽管FM是1920年代就出现的一种古老技术,但今天仍在广播和陆地移动无线电等应用中使用。我们如何使用正交调制实现FM?

通常,瞬时频率是瞬时相位的导数[参考文献4]。

其中:f(t)是瞬时频率,θ(t)是瞬时相位。

对于FM来说,瞬时频率必须根据调制信号而变化。

其中:kd是偏差常数,m(t)是调制信号。

求解所需的相位信号,我们得到:

该结果表明,可以通过提供相位调制,即调制信号的积分来获得FM信号(这里忽略了积分的初始条件)。

可以使用模拟积分器或等效的数字算法获得所需的PM信号。因此,正交调制器可以使用PM产生FM信号。

正交调制和I/Q信号广泛用于电子通信系统中。特别是数字调制很好地利用了正交调制系统。但是,也可以利用它来产生任何载波调制,包括传统调制类型,例如AM和FM。I/Q数字流的概念由于非常灵活,而在许多电子通信系统中获得使用,并已成为表示调制信号的事实上的标准。


推荐阅读
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • 本文是关于C#类型系统、值类型和引用类型的概念性笔记。介绍了C#1系统类型的三个特性,静态类型的含义,显式类型和隐式类型的区别。还讨论了类、结构、数组类型、枚举、委托类型和接口类型属于哪一种类型。同时纠正了关于结构、引用类型和对象传递的错误表述。最后提到了C#4中使用动态类型的关键字。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 在C#中,使用关键字abstract来定义抽象类和抽象方法。抽象类是一种不能被实例化的类,它只提供部分实现,但可以被其他类继承并创建实例。抽象类可以用于类、方法、属性、索引器和事件。在一个类声明中使用abstract表示该类倾向于作为其他类的基类成员被标识为抽象,或者被包含在一个抽象类中,必须由其派生类实现。本文介绍了C#中抽象类和抽象方法的基础知识,并提供了一个示例代码。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 本文介绍了使用Rust语言编写、保存和编译程序的简单步骤。首先,打开记事本文件并编写程序代码,然后将代码保存到一个以.rs为扩展名的文件中。接下来,使用rustc命令来编译运行程序。最后,通过命令行运行编译后的程序,得到输出结果。如果遇到编译错误,可以下载Build Tools for Visual Studio 2017来解决。 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
author-avatar
换个风格回复
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有