信号类型(通信)——最小频移键控(MSK)

系列文章目录

《信号类型(通信)——仿真》

《信号类型(通信)——QAM调制信号》

《信号类型(通信)——QPSK、OQPSK、IJF_OQPSK调制信号》


目录

 前言

一、MSK信号特点

1.1、最小频移

1.2、相位连续

二、MSK调制与解调

2.1、调制原理

2.2、解调原理

三、MSK信号频谱

四、仿真

总结


 前言

       本文为MSK调制信号的学习笔记,介绍了MSK调制起源,即MSK是一种特殊的FSK调制。并根据MSK信号特征由FSK信号模型推导了MSK的信号模型;并基于MSK信号模型介绍了MSK信号调制与解调原理;最后结合仿真加深对MSK信号调制与解调的理解。此外补充了MSK信号的频谱表达式,公式的具体推导没有研究,文后有参考文献,感兴趣的可以自行推导,也欢迎在评论区给出相应的推导过程。(文末有彩蛋)


一、MSK信号特点

        最小频移键控(MSK)调制方式是频移键控(FSK)调制方式的特例。相比于FSK调制,MSK调制满足两个条件:正交条件下最小频率间隔(最大频移为比特速率的1/4);信号相位连续。满足上述条件的MSK信号能量99.5%被限制在数据传输速率的1.5倍的带宽内。此外MSK属于恒包络数字调制技术,系统可以使用廉价高效的非线性器件。下面基于最小频移以及相位连续两个条件简单推导MSK信号模型。

1.1、最小频移

        针对01码元对应波形的正交条件,假设FSK码元波形为:

e_{n}(t)=\left\{\begin{matrix} A\cos(2\pi f_1 t+\varphi_1),a_n=1\\ A\cos(2\pi f_0 t+\varphi_0),a_n=0 \end{matrix}\right. \; \: \: \: \: \: \: \: \: \: \: \: \: (1)

       考虑FSK调制码波形的正交性,有:

\int_{0}^{T_B}\cos(2\pi f_1 t+\varphi_1 )\cos(2\pi f_0 t+\varphi_0)dt=0 \; \: \: \: \: \: \: \: \: \: \: \: \: (2)

       分别根据积化和差公式、定积分公式以及2\pi f_1+2\pi f_0\gg 1的假设条件,可以得到:

\cos(\varphi_1-\varphi_0)\sin((\omega_1-\omega_0)T_B) +\sin(\varphi_1-\varphi_0)[\cos((\omega_1-\omega_0)T_B) -1]=0         (3)

为了使上式在任意\varphi_1, \varphi_0的下都成立,则需要满足:

f_1-f_0=\frac{m}{T_B} \; \: \: \: \: \: \: \: \: \: \: \: \:(4)

        此时只能采用非相干检波法接收。针对相干接收,初始相位确定,当\sin(\varphi_1-\varphi_0)=0,则仅需要满足:

f_1-f_0=\frac{m}{2T_B} \; \: \: \: \: \: \: \: \: \: \: \: \:(5)

1.2、相位连续

       在最小频差为\frac{1}{2T_B}下,可令MSK信号模型为:

e_{n}(t)=\cos(2\pi f_c t+\frac{a_n\pi}{2T_B}t+\varphi_n),nT_B\leq t\leq (n+1)T_B \; \: \: \: \: \: \: \: \: \: \: \: \:(6)

        为了保证码元波形的正交性,此时载频f_c需要满足:

f_c=\frac{n}{4T_B} \; \: \: \: \: \: \: \: \: \: \: \: \:(7)

       考虑相位2\pi f_c t是连续,MSK信号中\frac{a_n\pi}{2T_B}t相位是存在跳变,需要通过调整\varphi_n使得MSK信号相位连续,即需要满足:

\frac{a_{n-1}\pi}{2T_B}nT_B+\varphi_{n-1}=\frac{a_n\pi}{2T_B}nT_B+\varphi_n \; \: \: \: \: \: \: \: \: \: \: \: \:(8)

       由此可得:

\varphi_n=\varphi_{n-1}+\frac{n\pi}{2}\left ( a_{n-1}-a_n \right )=\left\{\begin{matrix} \varphi_{n-1},a_{n-1}=a_n\\ \varphi_{n-1}\pm n\pi,a_{n-1}\neq a_n \end{matrix}\right. \; \: \: \: \: \: \: \: \: \: \: \: \:(9)

       为了满足\sin(\varphi_1-\varphi_0)=0,则mod(a_{n-1}-a_n,2)=0,因此需要将原始01码通过双极性转换,得到+1,-1码。将MSK信号进行IQ正交分解得

e_{n}(t)=p_n \cos\frac{\pi}{2T_B}t\cos\omega_c t-q_n \sin\frac{a_n\pi}{2T_B}t\sin\omega_c t,nT_B\leq t\leq (n+1)T_B    (10)

其中

\begin{matrix} p_n=\cos\left ( \varphi_n \right )=\pm 1\\ q_n=a_n\cos\left ( \varphi_n \right )=a_np_n=\pm 1 \end{matrix}\: \: \: \: \: \: \: \: \: \: \: (11)

二、MSK调制与解调

2.1、调制原理

        MSK信号可以按照公式(10)生成,我们可以根据公式(9)计算\varphi_n,再由公式(11)计算得到p_n,q_n,但是这种信号生成方式在实际电路实现时并不方便,为此引入上图表所示的p_n,q_n的生成方案,首先基于差分编码生成码序列:

b_n=b_{n-1}\bigodot a_n\: \: \: \: \: \: \: \: \: \: \: (12)

其中\odot表示同或,b_1= a_1

       上图表示MSK信号生成的流程图,首先01比特流经过双极性转换变成双极性码\pm 1,在经过差分编码以及串并转换得到p_n,q_n,再分别经过半个波特的频率调制以及载频调制混合得到最终发射的MSK信号。

2.2、解调原理

      对公式(10)所示MSK信号进行载波提取得到:

\begin{matrix} I(t)=p_n \cos\frac{\pi}{2T_B}t\\ Q(t)=q_n \sin\frac{\pi}{2T_B}t \end{matrix}\: \: \: \: \: \: \: \: \: \: \: (13)

      则在I路采样判决点上对应的I值为:

\begin{matrix} I(2nT_B+2T_B)=-p_{2n+1} \cos n\pi\\ I(2nT_B+2T_B)=-p_{2n+2} \cos n\pi\end{matrix}\: \: \: \: \: \: \: \: \: \: \: (14)

      则在Q路采样判决点上对应的Q值为:

\begin{matrix} Q(2nT_B+T_B)=q_{2n} \cos n\pi=a_{2n}p_{2n} \cos n\pi\\ Q(2nT_B+T_B)=q_{2n+1} \cos n\pi=a_{2n+1} p_{2n+1}\cos n\pi\end{matrix}\: \: \: \: \: \: \: \: \: \: \: (15)

       由公式(14)(15)可得:

\begin{matrix} Q(2nT_B+3T_B)=a_{2n+2}I(2nT_B+2T_B)\\ Q(2nT_B+T_B)=-a_{2n+1} I(2nT_B+2T_B)\end{matrix}\: \: \: \: \: \: \: \: \: \: \: (16)

       我们可以对上述采样值大于0的判为+1,小于0判为-1,然后基于公式(16)还原出a_n,为了提高信噪比,我们可以在采样点附近左右对称的区域T_B内求积分得到信噪比更好的判决统计量。最终解调原理图下:

       此外由公式(13)构成的复信号I(t)+j Q(t)可以得到相位历程:

\theta_{n}(t)=\frac{a_n\pi}{2T_B}t+\varphi_n \; \: \: \: \: \: \: \: \: \: \: \: \:(17)

     由此相位历程也可以解调出a_n

三、MSK信号频谱

对公式(10)进行积化和差得:

e_{n}(t)=c_{n}\cos(\omega_c-\frac{\pi}{2T_B}) t+d_{n}{2}\cos(\omega_c+\frac{\pi}{2T_B}) t\; \: \: \: \: \: \: \: \: \: \: \: \:(18)

其中c_{n}=\frac{p_n-q_n}{2},d_{n}=\frac{p_n+q_n}{2},根据p_{n},q_{n}错位延时的特点,c_n,d_n\in \left ( -1,0,1 \right )的变化周期为T_B。考虑随机生成的码序列,MSK信号功率谱密度为:

P(f)=\frac{8P_cT_B\left ( 1+\cos\left (4\pi (f-f_c) T_B \right ) \right )}{\pi^2\left ( 1-16T_B^2 (f-f_c)^2 \right )^2}\; \: \: \: \: \: \: \: \: \: \: \: \:(19)

其中P_c表示被调制波形功率,从公式(18)可以看出MSK信号功率谱密度随偏移载频量的四次方成反比衰减,带外能量泄露很少。

四、仿真

       参数设置,符号速率60kHz,采样率12 Mz,载频 1.5MHz,码序列随机生成。

IQ两路码信号生成                 MSK调制的基带IQ信号

       左上图分别为双极化后的码,差分编码输出结果,MSK调制得到IQ两路码表示p_n,q_n。右图是调制半个波特频率后的基带信号,可以看出p_n只在n为奇数的时候发生变化,q_n只在n为偶数时发生变化。

MSK基带信号的相位历程                                  MSK信号

       左上图为MSK基带信号的相位历程,可以看出信号只有两种频率成分,且相位连续,右图是对应的MSK已调信号,信号基本横包络。

  加噪的MSK信号                          载波提取后的信号

        上图为只考虑接收机热噪声影响下的接收信号以及载波提取后的信号,可以看出,噪声对信号产生了干扰,下图为对应的IQ两路信号的眼图,可以看出IQ两路信号存在码长大小的延时。

积分前I路眼图                                积分前Q路眼图

        对接收的IQ信号进行积分得到下图所示的眼图,可以看出眼图的展宽降低,对应的信噪比得到显著提升。

积分后I路眼图                                积分后Q路眼图

       最后分析了不同信号长度(1、2、4、10、100、1000符号长度)下的信号功率频谱与理论值的差异,可以看出随着信号长度增加,信号功率谱形状趋于公式(18)所示的功率谱形状。

1                                                  2                                             4

10                                                   100                                        1000

参考文献

1、樊昌信 曹丽娜《通信原理》第7版

2、S. Gronemeyer and A. McBride, "MSK and Offset QPSK Modulation," in IEEE Transactions on Communications, vol. 24, no. 8, pp. 809-820, August 1976, doi: 10.1109/TCOM.1976.1093392.


总结

       本文根据自己的理解从理论和仿真的角度介绍了MSK调制与解调原理,其中关于IQ路的延时处理可能和其他资料有所不同。有更好的内容欢迎在评论区放置链接,另外有问题也欢迎评论区留言。转载请附链接【杨(_> <_)】的博客_CSDN博客-信号处理,SAR,代码实现领域博主 


二周年纪念

        目前《SAR学习笔记》观看量最多,有1.4w,阅读量过万的文章有两篇,另一篇《SAR学习笔记-SAR成像算法系列(一)》,阅读量过5千的文章有8篇,涉及:SAR,呼吸信号处理,Gold序列。整个创作,获得285次点赞,内容获得250次评论,获得1,843次收藏,代码片获得732次分享,资源总下载次数300多次。总阅读量14w。对于这样一个结果,博主还是很满意的。当然博主也欢迎各位看官有好的资源可以在评论区放置链接。根据目前情况,后期博主将对SAR领域中的干涉SAR、极化SAR、逆SAR内容进行补充。近期主要更新与信号类型有关的文章。当然,如果有什么信号处理的理论技术需要博主补充的可以评论区留言。

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

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

相关文章

Ubuntu16.04.4系统本地提权实验

目录 1.介绍&#xff1a; 2.实验&#xff1a; 3.总结&#xff1a; 1.介绍&#xff1a; 1.1&#xff1a;eBPF简介&#xff1a;eBPF(extendedBerkeleyPacketFilter)是内核源自于BPF的一套包过滤机制&#xff0c;BPF可以理解成用户与内核之间的一条通道&#xff0c;有非常强大的…

Python的控制流语句使用

Python的控制流语句使用 判断语句 if分支示意图语法介绍注意事项示例 for循环示意图语法介绍列表推导式示例 while循环与for的区别语法介绍示例 判断语句 if分支 示意图 单、双、多分支&#xff1a; 语法介绍 # 单分支 if condition:expression # 双分支 if condition:exp…

Spark-java版

SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数&#xff0c;储存着Spark相关的配置信息&#xff0c;且必须指定Master(比如Local)和AppName&#xff08;应用名称&#xff09;&#xff0c;否则会抛出异常&#xff1b;SparkContext 是程序执行的入口&#xf…

设计好的测试用例,6大注意事项

设计好的测试用例对于发现缺陷、验证功能、提高可靠性、降低风险和提高效率都具有重要的作用&#xff0c;是保证产品质量和稳定性的重要环节。如果测试用例有问题&#xff0c;可能会导致遗漏缺陷、功能验证不充分、测试效率低下以及误报漏报等问题&#xff0c;从而影响项目的质…

Ubuntu安装nfs服务步骤

Ubuntu安装nfs服务步骤 一、NFS&#xff1f; NFS&#xff1a;网络文件系统&#xff08;Network File system File&#xff09;缩写&#xff0c;可通过网络让不同的机器&#xff0c;不同操作系统之间可以彼此共享文件和目录。 二、安装 1.安装nfs服务器命令&#xff1a;sudo…

BUUCTF-pwn-ciscn_2019_ne_51

简单查看保护&#xff1a; 32为程序没有canary没有PIE&#xff0c;应该是简单的栈溢出。我们照着这个思路去找溢出点在哪&#xff0c;运行下程序看看什么情况&#xff1a; 程序上来是输入一个密码验证。随便输入下错误直接退出。因此我们需要到IDA中看看怎么回事&#xff1a; 主…

F. Magic Will Save the World

首先积攒了能量打了怪再积攒是没有意义的&#xff0c;可以直接积攒好&#xff0c;然后一次性进行攻击 那么怎么进行攻击了&#xff1f;可以尽量的多选怪物使用水魔法攻击剩余的再用火魔法进行攻击&#xff0c; 也就是只要存在合法的体积&#xff08;即装入背包的怪物的体积之…

qt-C++笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题

qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题 code review! 文章目录 qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题1.Qt的app.exec()详解2.ros::spin()详解3.ros::AsyncSpinner详解4.主线程中结合使用的示…

笔记63:注意力评分函数

本地笔记地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章&#xff1a;动手学深度学习~注意力机制 a a a a a a a a a a a a a a a a a a a

Python语言学习笔记之五(Python代码注解)

本课程对于有其它语言基础的开发人员可以参考和学习&#xff0c;同时也是记录下来&#xff0c;为个人学习使用&#xff0c;文档中有此不当之处&#xff0c;请谅解。 注解与注释是不一样的&#xff0c;注解有更广泛的应用&#xff1b; 通过注解与注释都能提高代码的可读性和规…

带大家做一个,易上手的家常蒜薹炒瘦肉

首先 从冰箱那一块瘦肉 用水化一下冰 然后 那一把蒜薹 将所有蒜薹头和尾部去掉一小节 这个地方是不能吃的 然后 剩下的部分 切成如下图这样 一小条一小条的样子 然后 将蒜薹倒入盆中清水洗一下 瘦肉清洗一下 然后切片 然后 直接起锅烧油 油烧热后马上下肉翻炒 一定要大点翻…

kafka C++实现生产者

文章目录 1 Kafka 生产者的逻辑2 Kafka 的C API2.1 RdKafka::Conf2.2 RdKafka::Message2.3 RdKafka::DeliveryReportCb2.4 RdKafka::Event2.5 RdKafka::EventCb2.6 RdKafka::PartitionerCb2.7 RdKafka::Topic2.8 RdKafka::Producer&#xff08;核心&#xff09; 3 Kafka 生产者…

【代码】考虑灵活性供需平衡的电力系统优化调度模型

程序名称&#xff1a;考虑灵活性供需平衡的电力系统优化调度模型 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;最可再生能源发电设备和并网技术快速发展&#xff0c;以新能源为主导的新型电力系统逐步形成。高比例新能源的随机波动性导致电力系统的…

redis的数据类型的操作增删改查

redis的数据类型的操作增删改查 redis的高可用&#xff1a; 在集群当中有一个非常重要的指标&#xff0c;提供正常服务的时间的百分比&#xff08;365天&#xff09;99.9% redis的高可用的含义要更加宽泛&#xff0c;正常服务是指标之一数据容量扩展&#xff0c;数据的安全性…

Oracle 11g安装过程

文章目录 前言1.下载安装包2.安装2.1本地安装文件2.2 安装过程 3.查看是否安装成功3.1 查看oracle是否安装成功3.2 查看oracle服务 前言 本文仅用于记录亲自安装oracle的过程 1.下载安装包 官网地址&#xff1a; Oracle Database 11g Release 2 (11.2.0.1.0) 注意&#xff…

数据治理框架和成熟度模型

数据治理成熟度模型 一个企业的数据治理能力越高&#xff0c;所享受到数据治理带来的价值也会越多&#xff0c;如增加收入、减少成本、降低风险等。于是&#xff0c;很多企业想要准确地评估本公司的数据治理能力&#xff0c;可以利用数据治理成熟度模型方法&#xff0c;包括 D…

Javaweb之Vue组件库Element案例的详细解析

4.4 案例 4.4.1 案例需求 参考 资料/页面原型/tlias智能学习辅助系统/首页.html 文件&#xff0c;浏览器打开&#xff0c;点击页面中的左侧栏的员工管理&#xff0c;如下所示&#xff1a; 需求说明&#xff1a; 制作类似格式的页面 即上面是标题&#xff0c;左侧栏是导航&…

泛微OA对接金蝶云星空方案分享(对接场景解析)

分享金蝶云星空跟泛微OA系统集成对接的方案分享&#xff0c;主讲审批流程对接&#xff0c;表单对接的两类场景。分别是金蝶云星空发起申请和泛微发起流程审批&#xff0c;最终实现统一管理。 数据集成主要有以下好处&#xff1a; &#xff08;1&#xff09;数据一致性&#xf…

吉利展厅 | 透明OLED拼接2x2:科技与艺术的完美融合

产品&#xff1a;4块55寸OLED透明拼接屏 项目地点&#xff1a;南宁 项目时间&#xff1a;2023年11月 应用场景&#xff1a;吉利展厅 在2023年11月的南宁&#xff0c;吉利展厅以其独特的展示设计吸引了众多参观者的目光。其中最引人注目的亮点是展厅中央一个由四块55寸OLED透…

函数的极值与最值

函数的最值 1.闭区间上连续函数的最值 1.求驻点或不可导点&#xff08;可能的极值点&#xff09; 2.求函数在驻点&#xff0c;不可导点&#xff0c;端点的函数值 3.比较大小 例题&#xff1a; 例题思想&#xff1a;分段函数分段点必须验证导数的存在性 几种常见的最值类型 1.…