关于BPSK、QPSK的一些理解,以及MATLAB实现 您所在的位置:网站首页 qpsk眼图 关于BPSK、QPSK的一些理解,以及MATLAB实现

关于BPSK、QPSK的一些理解,以及MATLAB实现

2023-11-08 14:58| 来源: 网络整理| 查看: 265

最近在做有关矿井智能信息处理的通信仿真,在学习过程中遇到了一些问题以及自己的思考,并且将学习到的一些仿真知识记录一下,当作自己的学习笔记,也希望可以和大家交流学习。

关于BPSK和QPSK最开始接触还是在本科阶段通信原理的课本上,作为数字调制的内容进行学习,但是当时的学习很浅显,只是老师理论的讲解一下,没有仿真实践,因此理解也不深刻,直到最近开始做仿真的时候才发现,自己的学习还是十分欠缺,所以说把理论知识应用在实际工作中还是有一定的距离,需要我们多加练习。好了,废话不多说,我们接下来看一下BPSK和QPSK的具体内容。

首先介绍一下MATLAB中能够实现BPSK调制的两种方式:pskmod(x,M,ini_phase),comm.BPSKModulator(name,value) 这两种方式都可以实现对原始信息比特的数字调制。

针对pskmod()函数的调用,MATLAB中的解释是对输入的信号X做M阶的相移键控调制。具体的信息可以查看帮助文档,(help + 你要查找的函数名)讲解的十分全面。

另一种实现方式是,调用MATLAB中的通信工具箱,创建一个BPSK调制项目,说项目可能有点不接地气,我的理解就是创建一个BPSK调制器,相当于c++中声明一个函数一样,因为函数内部的实现方式已经被写好封装在通信工具箱中,我们在用的时候只需要声明一下就行了。 相应的也会有一个BPSK解调器,调用的方式一样。

 接下来,我们做一些简单实现。

首先我们需要产生一个随机的序列,然后对序列进行BPSK和QPSK调制,并通过星座图来观察符号映射后的效果。

% 产生随机序列 data = randi([0 1],1,10000); % 无初始相位 mod_data1 = pskmod(data,2); % 添加pi/4的初始相位 mod_data2 =pskmod(data,2,pi/4); scatterplot(mod_data1) scatterplot(mod_data2) % 调用通信工具箱的方法 bpsk_mod = comm.BPSKModulator('PhaseOffset',pi/4); % 输入为列向量 mod_data3 = bpsk_mod(data.'); scatterplot(mod_data3)

需要注意的一点是,在利用通信工具箱这种方法时,要求输入的信号必须是列向量。

图中的星座点较小可能看不太清楚,为了便于观察,我们增加一定的噪声 。

mod_data1 = awgn(mod_data1,10,'measured')

 

 

 这样是不是就清楚许多,这要感谢awgn()这个函数,说实话我是非常喜欢这个函数,在通信仿真中出现频率极高,而且简单好用,并且从2014版本(我是2016年大一的时候第一次接触MATLAB)到现在的2019版本这个函数都没有被改动,可见其受欢迎程度,但是这个函数背后的知识点还是挺多的,尤其涉及到信噪比的相互转换,以及不同情况下信噪比的选取需要好好理解,这个后续再说。

同样的QPSK调制与BPSK调制大同小异,只是细节的区别。

其中对于pskmod的方式要求是输入的信号为[0 M-1]的序列,但是通常情况下,我们在做仿真是产生的都是[0 1]序列,这便给仿真造成了麻烦,但是利用通信工具箱的方式就可以很好的避免。

 其中BitInput这个参数的选择就成功解决了这个麻烦。接下来我们看代码实现。

data = randi([0 3],1,10000); mod_data1 = pskmod(data,4); mod_data2 = pskmod(data,4,pi/4); mod_data1 = awgn(mod_data1,10,'measured'); mod_data2 = awgn(mod_data2,10,'measured'); scatterplot(mod_data1) scatterplot(mod_data2) qpsk_mod = comm.QPSKModulator('PhaseOffset',pi/4,'BitInput',true); data1 = randi([0 1],1,10000); mod_data3 = qpsk_mod(data1.'); mod_data3 = awgn(mod_data3,10,'measured'); scatterplot(mod_data3)

 

 

相比较之下,我个人更愿意利用通信工具箱的方式进行数字调制,因为它可以应对几乎所有的信源情况,只是多加了一条声明的代码。这里只是列出了十分常用的BPSK和QPSK的使用,还有许多更高阶的数字调制方式,也是类似的使用,只是细节处的不同。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有