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

news2025/1/26 15:36:35

系列文章目录

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

《信号类型(通信)——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.coloradmin.cn/o/1268031.html

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

相关文章

制作心理咨询小程序的详细指南

随着科技的的发展&#xff0c;小程序已经成为了人们日常生活中不可或缺的一部分。特别是在心理咨询这个领域&#xff0c;小程序可以提供一个更为便捷、高效的服务平台。本文将通过乔拓云平台为例&#xff0c;详细介绍如何制作一个心理咨询小程序。 首先&#xff0c;我们需要注册…

L298N模块使用简介

接口作用ENA/ENB使用PWM调节马达转速&#xff08;调速&#xff09;左边一对接口接电机的正负极右边一对接口接电机正负极控制IN1,IN2 控制左边的2个接口的电压&#xff0c;IN1控制一个&#xff0c;IN2控制另外一个 IN1输入3.3V时&#xff0c;OUT1输出3.3v电压&#xff08;可能是…

7. 栈

栈(stack)是一种遵循先入后出的逻辑的线性数据结构。我们可以将栈类比为桌面上的一摞盘子&#xff0c;如果需要拿出底部的盘子&#xff0c;则需要先将上面的盘子依次取出。我们将盘子替换为各种类型的元素&#xff08;如整数、字符、对象等&#xff09;&#xff0c;就得到了栈数…

分析某款go端口扫描器之一

一、概述 进来在学go的端口检测部分&#xff0c;但是自己写遇到很多问题&#xff0c;又不知道从何入手&#xff0c;故找来网上佬们写的现成工具&#xff0c;学习一波怎么实现的。分析过程杂乱&#xff0c;没啥思路&#xff0c;勿喷。 项目来源&#xff1a;https://github.com/…

毫米波传感器系统性能测量(TI文档)

摘要 本应用报告讨论了使用德州仪器高性能毫米波传感器的系统性能测量结果。TI的毫米波传感器是一个77 GHz&#xff0c;高度集成的收发器&#xff0c;具有高速接口(CSI2)&#xff0c;可将原始ADC数据发送出去进行处理。毫米波传感器包括整个毫米波射频和模拟基带信号链&#xf…

异步操作的方法

在高级语言中已经有了异步的原语言&#xff0c;而在C 中的最好的方式就是 libevent 的方式,我这还是相当认同的&#xff0c;高级语言就不需要在苦哈哈的&#xff0c;事件转圈了&#xff0c;但是原理还是以事件为基础的 一句话就是在一个循环中等着他执行完,这个循环中有很多其他…

论文阅读:Distributed Initialization for VVIRO with Position-Unknown UWB Network

前言 Distributed Initialization for Visual-Inertial-Ranging Odometry with Position-Unknown UWB Network这篇论文是发表在ICRA 2023上的一篇文章&#xff0c;本文提出了一种基于位置未知UWB网络的一致性视觉惯性紧耦合优化测距算法( DC-VIRO )的分布式初始化方法。 对于…

【LeetCode刷题-字符串】--71.简化路径

71.简化路径 思路&#xff1a; 对于给定的字符串&#xff0c;先根据/分割成一个由若干字符串组成的列表&#xff0c;记为names&#xff0c;根据题意names中包含的字符串只能是以下几种&#xff1a; 空字符串一个点两个点只包含英文字母、数字或_的目录名 对于空字符串和一个…

Linux小程序之进度条

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;自己能实现进度条 > 毒鸡汤&#xff1a; > …

绘制折扇-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第11讲。 绘制折扇&#xf…

基于ssm亚盛汽车配件销售业绩管理系统

摘 要 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;因此传统管理方式就不适合。为了让亚盛汽车配件销售信息的管理模式进行升级&#xff0c;也为了更好的维护亚盛汽车配件销售信息&#xff0c;亚盛汽车配件销售业绩管理系统的开…

牛客 算法题 【HJ102 字符统计】 golang实现

题目 HJ102 字符统计 golang代码实现 package mainimport ("bufio""fmt""os""sort" )func main() {// str_arry :make([]string, 0)str_map : make(map[rune]int)result_map : make(map[int][]string)scanner : bufio.NewScanner(os…

Python函数定义、函数调用详解

函数是 Python 程序的重要组成单位&#xff0c;一个 Python 程序可以由很多个函数组成。前面我们己经用过大量函数&#xff0c;如 len()、max() 等&#xff0c;使用函数是真正开始编程的第一步。 比如在程序中定义了一段代码&#xff0c;这段代码用于实现一个特定的功能。问题来…

注册Zoho Mail邮箱:优势与使用体验

如何注册Zoho Mail邮箱&#xff1f;要注册Zoho Mail邮箱&#xff0c;首先打开浏览器&#xff0c;访问Zoho Mail官网&#xff0c;点击页面右上角的“创建帐户”按钮。接下来&#xff0c;按照提示输入你的姓名、生日和性别&#xff0c;以及一个有效的手机号码或电子邮件地址。然后…

数据库管理-第118期 记一次开启附加日志导致的性能问题(202301129)

数据库管理-第118期 记一次开启附加日志导致的性能问题&#xff08;202301129&#xff09; 本周二凌晨&#xff0c;为了配合某国产数据库从Oracle数据库能够实时同步数据&#xff0c;在X9M那套一体机上做了开启附加日志的操作&#xff0c;也正是因为这个操作带来了一些小问题。…

构建现代Web应用:5个基本的前端架构原则

本文翻译自 Building modern Web Applications: 5 Essential Frontend Architecture Principles&#xff0c;作者&#xff1a;Patrick Roos&#xff0c; 略有删改。 在这篇文章中&#xff0c;我提出了构建现代前端的五个架构原则。我第一次听到这些原则是在Natalia Venditto的一…

NTT 的各类优化:Harvey、PtNTT,Intel AVX2、ARM Neon、GPGPU

参考文献&#xff1a; [Har14] Harvey D. Faster arithmetic for number-theoretic transforms[J]. Journal of Symbolic Computation, 2014, 60: 113-119.[Sei18] Seiler G. Faster AVX2 optimized NTT multiplication for Ring-LWE lattice cryptography[J]. Cryptology ePr…

QDoubleSpinBox的使用示例

QDoubleSpinBox即可以做为数值型输入框使用&#xff0c;也可以使用只读型数据显示框&#xff0c;在作为输入框使用时比QLineEdit有以下几个方面的优势 1.可以设置范围&#xff0c;并且范围精确&#xff0c; 2.输入数据精确&#xff0c;自动屏幕非数值以外的字符。 3.设置步长后…

【LeetCode刷题】--77.组合

77.组合 class Solution {public List<List<Integer>> combine(int n, int k) {List<List<Integer>> ans new ArrayList<>();if( k < 0 || n < k){return ans;}Deque<Integer> list new ArrayDeque<>();dfs(ans,list,n,k,1)…

Panorama SCADA平台助力智能建筑管理,掌控未来建筑!

来源&#xff1a;宏集科技 工业物联网 宏集方案 Panorama SCADA平台助力智能建筑管理&#xff0c;掌控未来建筑&#xff01; 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 前言 在现代智能建筑管理中&#xff0c;随着设施管理&#xff08;FM&#xff09;、建筑管理…