当前位置: 首页 > news >正文

信号类型(通信)——最小频移键控(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内容进行补充。近期主要更新与信号类型有关的文章。当然,如果有什么信号处理的理论技术需要博主补充的可以评论区留言。

相关文章:

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

系列文章目录 《信号类型&#xff08;通信&#xff09;——仿真》 《信号类型&#xff08;通信&#xff09;——QAM调制信号》 《信号类型&#xff08;通信&#xff09;——QPSK、OQPSK、IJF_OQPSK调制信号》 目录 前言 一、MSK信号特点 1.1、最小频移 1.2、相位连续 二…...

滴滴打车崩了!全过程

滴滴发布致歉10元补偿券&#xff0c;文末可领取 。 事情发生于 2023年11月27日晚~28日中午&#xff0c;滴滴打车服务出现大面积故障&#xff0c;登上微博热搜。 许多用户在使用滴滴出行时遇到了无法叫车、订单异常等问题&#xff0c;导致大量用户滞留在外&#xff0c;出行受阻…...

【刷题】DFS

DFS 递归&#xff1a; 1.判断是否失败终止 2.判断是否成功终止&#xff0c;如果成功的&#xff0c;记录一个成果 3.遍历各种选择&#xff0c;在这部分可以进行剪枝 4.在每种情况下进行DFS&#xff0c;并进行回退。 199. 二叉树的右视图 给定一个二叉树的 根节点 root&#x…...

Gin投票系统(2)

投票系统 数据库的建立 先分析需求&#xff0c;在sql中建立数据库&#xff0c;关于项目数据库如何建立可以在“goweb项目创建流程分析中看如何去建表” 成功后目前有四个表&#xff1a; vote&#xff0c;user&#xff0c;vote_opt,vote_opt_user 建立数据库&#xff0c;可以…...

docker (简介、dcoker详细安装步骤、容器常用命令)一站打包- day01

一、 为什么出现 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build&#xff0c;Ship and Run Any App,Anywhere”&#xff0c;也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理&#xff0c;使用户的APP&#xff08;可以是一个WEB应用或数据库应…...

请简要说明 Mysql 中 MyISAM 和 InnoDB 引擎的区别

“请简要说明 Mysql 中 MyISAM 和 InnoDB 引擎的区别”。 屏幕前有多少同学在面试过程与遇到过类似问题&#xff0c; 可以在评论区留言&#xff1a;遇到过。 考察目的 对于 xxxx 技术的区别&#xff0c;在面试中是很常见的一个问题 一般情况下&#xff0c;面试官会通过这类…...

Nginx漏洞复现与分析

Nginx如何处理PHP请求 Nginx本身不支持直接解析和执行PHP代码,但可以通过与PHP解释器的集成来处理PHP请求。一种常见的方法是使用PHP-FPM(FastCGI Process Manager)作为PHP解释器。 原理图: Step 1 Step 2 +---------------------+ …...

Go 中切片(Slice)的长度与容量

切片长度与容量在 Go 中很常见。切片长度是切片中可用元素的数量&#xff0c;而切片容量是从切片中第一个元素开始计算的底层数组中的元素数量。 Go 中的开发者经常混淆切片长度和容量&#xff0c;或者对它们不够了解。理解这两个概念对于高效处理切片的核心操作&#xff0c;比…...

顶级大厂Quora如何优化数据库性能?

Quora 的流量涉及大量阅读而非写入&#xff0c;一直致力于优化读和数据量而非写。 0 数据库负载的主要部分 读取数据量写入 1 优化读取 1.1 不同类型的读需要不同优化 ① 复杂查询&#xff0c;如连接、聚合等 在查询计数已成为问题的情况下&#xff0c;它们在另一个表中构…...

Java第二十章多线程

一、线程简介 线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。一个进程可以包含多个线程&#xff0c;这些线程可以并发执行。线程拥有自己的栈和局部变量&#xff0c;但是它们共享进程的其他资源&#xff0c;如…...

家庭教育,培养娃什么最重要?

家庭教育&#xff0c;培养娃什么最重要&#xff1f; 培养能力最重要 &#xff08;我这么认为的&#xff09; 时代巨变&#xff0c;技术变革的非常快&#xff0c;所以总的来说 年轻一代接触的新东西慢慢比老一代的要多&#xff0c;年轻一代的工作会比老一代的多而且多很多&…...

Linux 进程(一)

1 操作系统 概念&#xff1a;任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统(OS)。笼统的理解&#xff0c;操作系统包括 内核&#xff08;进程管理&#xff0c;内存管理&#xff0c;文件管理&#xff0c;驱动管理&#xff09; 其他程序&#xff08;例…...

vue中的keep-alive详解与应用场景

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-keep-alive 目录 一、Keep-alive 是什么 二、使用场景 三、原理分析 四、案例实现 activa…...

软件设计师——程序设计语言基础(一)

&#x1f4d1;前言 本文主要是【程序设计语言基础】——程序设计语言基础的相关题目&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#…...

Apache简介与安装

先导概念: 静态网站: 最早的建站方式,每个页面都是一个独立的文件,需要手动上传或编辑。网页内容固定不变。例如,个人博客、静态企业官网等。 动态网站: 网站内容可根据不同情况动态变更,一般通过数据库进行架构。包含服务器端脚本,可以实现更丰富的功能。例如,社…...

set与map

set与map 一、序列式容器与关联式容器二、pair1、键值对2、作用3、构造函数4、make_pair&#xff08;1&#xff09;构造函数&#xff08;2&#xff09;作用 5、代码6、运行结果 三、set1、概念2、代码3、运行结果4、说明 四、multiset1、与set的关系2、代码3、运行结果 五、map…...

基于单片机智能液位水位监测控制系统

**单片机设计介绍&#xff0c; 基于单片机智能液位水位监测控制系统 文章目录 一 概要特点应用场景工作原理实现方式 系统功能实时监测控制调节报警功能数据记录与分析 总结 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 ## 系统介绍 基于单片机…...

C#,《小白学程序》第十七课:随机数(Random)第四,移动平均值(Moving Average)的计算方法与代码

1 文本格式 /// <summary> /// 《小白学程序》第十七课&#xff1a;随机数&#xff08;Random&#xff09;第四&#xff0c;移动平均值的计算方法与代码 /// 继续学习数据统计&#xff0c;移动平均值的计算方法 /// 移动平均值就是一定步长内数值的平均值&#xff0c;用…...

行情分析——加密货币市场大盘走势(11.29)

大饼已经形成了底背离&#xff0c;即MACD往下走&#xff0c;而价格还在往上走&#xff0c;这种后续往往会大跌。继续把空单拿好&#xff0c;已经持仓的无需加仓。多次上涨却一直不能突破&#xff0c;说明多空和空军力量都很强&#xff0c;等待后续出方向。在笔者看来&#xff0…...

C++——string的字符串比较,字符存取,插入和删除和子串

一. string字符串比较 功能描述:字符串之间的比较 比较方式:字符串比较是按字符的ASCII码进行对比 返回 0 > 返回 1 < 返回 -1 函数原型: *int compare(const string &s) const; //与字符串s比较 *int compare(const char *s) const; //…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日&#xff0c;嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;海云安高敏捷信创白盒&#xff08;SCAP&#xff09;成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...

[拓扑优化] 1.概述

常见的拓扑优化方法有&#xff1a;均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有&#xff1a;有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...