基于MATLAB的OQPSK调制解调实现课程设计 联系客服

发布时间 : 星期六 文章基于MATLAB的OQPSK调制解调实现课程设计更新完毕开始阅读

基于MATLAB的OQPSK调制解调实现

摘 要 本课程设计的目标在于深切理解OQPSK调制与解调的基本原理,学会使用MATALB软件中的M文件来实现OQPSK的调制与解调以及分析加入不同噪声时对信号的影响程度。首先产生一个数字基带信号,接下来调用MATLAB中的相应函数对这个基带信号进行调制,然后分析调制后的波形:,记录结果后对调制后的信号进行解调,观察解调结果并做好记录,最后在信号中加入噪声并观察其时频图的变化,分析信噪比的噪声对调制结果的影响。本课程设计的实验开发/运行平台为windowsXP/windows7,程序设计使用MATLAB语言。通过调试运行,基本完成设计目标,达到调制与解调的目的。

关键词: MATLAB;M文件;OQPSK;调制与解调;噪声

1 引 言

数字调制与解调技术在数字通信中占有非常重要的地位 ,数字通信技术与 MATLAB 的结合是现代通信系统发展的一个必然趋势。在数字信号通信过程中,噪声的影响往往比较大,同时我们都希望有较高的频带利用率和功率利用率,而OQPSK也是一种恒包络调制技术,其频谱特性好,既保留着2PSK的高抗噪声性能、高频带利用率和高功率利用率,又有效地减弱了2PSK的“反相工作”缺陷,在通信研究中有着非常重要的意义,特别是在卫星通信和移动通信的领域有着广泛的应用。MATLAB作为当前国际控制界最流行的面向工程与科学计算的高级语言,在控制系统的分析、仿真与设计方面得到了非常广泛的应用,随着其信号处理专业函数和专业工具箱的成熟,越来越受到通信领域人士的欢迎,其在通信领域的应用也将更加广泛。

1.1课程设计目的

熟悉OQPSK的基本原理,掌握MATLAB中M文件的使用及相关函数的调用方法,在此基础上通过编程实现OQPSK的调制与解调,并通过加入的噪声来判断所设计的系统性能。这次课程设计不仅让我对OQPSK有了更加深入的了解,而且学会了如何利用MATLAB中的M文件来实现通信系统方面的应用,最重要的是,自己能够独立完成一个小项目了,有了这方面的经验,我在以后的学习中就会有更充足的信心和动力。

1.2课程设计要求

熟悉MATLAB中M文件的使用方法,并在深切理解OQPSK调制解调原理的基础上,编写出OQPSK调制解调程序。绘制出OQPSK信号解调前后在时域和频域中的波形,并观察解调前后频谱有何变化以加深对OQPSK信号解调原理的理解。分别对信号叠加不同噪声,并进行解调,绘制出解调前后信号的时频波形,分析不同噪声对信号传输造成的影响大小。

1.3课程设计步骤

先产生随机信号,然后对信号进行调制和解调,在调制和解调过程中加入高斯白噪声,观察现象。

1、 产生四进制数字作为数字基带信号,对其进行调制; 2、 将函数调制信号改为相应的时域波形调制信号;

3、 在函数调制信号中加入高斯白噪声,生成加入噪声后的时域波形调制信号; 4、 分别生成没加或加了噪声的调制信号波形图和频谱图; 5、 分别对没加或加了噪声的调制信号进行解调; 6、 计算误码率。

2 OQPSK调制解调原理

2.1 OQPSK调制原理

OQPSK,即Offset Quadrature Phase Shift Keying的缩写,中文意思为偏置正交相移键控,是QPSK(正交相移键控,又有4PSK之称)的改进,有关QPSK的资料请参考《通信原理(第六版)》[1],这里就不多赘述了。OQPSK与QPSK相同的是相位关系,即:把输入信号分为两路,然后正交调制。所不同的是,OQPSK把同相和正交两支路的码流在时间上错开了半个码元周期。因为两支路码元上偏移了半个周期,每次只能有一路可能发生极性翻转。所以,OQPSK信号能跳变的相位只能是0o、+90o、-90o,不会发生180o的跳变,OQPSK与QPSK相比,信号的包络波动幅度有限,经过限幅放大后的频带范围也要小,所以性能也更加优良。其星座映射图如下(图2-1)所示:

图2-1 OQPSK星座映射图

OQPSK的产生原理方框图如下(图2-2)所示:输入的数据信号是二进制不归零双极性码元,它被“串/并变换”电路变成两路码元a和b后,其每个码元的持续时间是输入码元的2倍,且b路码元在产生后马上增加了一个Ts/2(半个周期)的延时电路。由a路码元和经延时后的b路码元相加的信号即为OQPSK调制信号。

图2-2 OQPSK的产生原理框图

2.2 OQPSK解调原理

OQPSK信号的解调原理图如下(图2-3)所示,OQPSK信号可以看作是两个正交信号2PSK信号a和b,且b路信号在时间上延迟了半个周期Ts/2后再与a路信号的叠加,所以用两路正交的相干载波和一个Ts/2延时器就可以分离这两路延迟正交的2PSK信号,且b路信号应该先延时Ts/2再进行抽样判决。这样产生的两路并行信号a和b,经过“并/串变换”后,成为串行数据输出,即解调信号。

图2-3 OQPSK的解调原理框图

3 仿真实现过程

3.1 OQPSK调制信号的产生

首先利用函数x = randint(a,1,[0 3])产生一串四进制数字基带信号,其中a,1表示生成一个含a个元素的行向量,在这里可以直接表示为生成a个数字基带信号码元。[0 3]表示产生的随机数的范围是0~3。基带信号产生后可以利用fft(x,1024)对其进行傅里叶变换,得到基带信号的频谱图。再利用函数oqpskmod(x)对基带信号进行调制,由于MATLAB中的oqpskmod(x)函数功能有限,此时的调制信号还不能用波形图表示出来,需要自己编写部分代码(见附录),所以使用调制信号的星座图代替调制信号图,使用函数scatter(y)可生成星座图。代码编写完成后即可得到相应的OQPSK调制波形图,同样使用fft(n,1024)函数来产生波形信号的频谱图,其中n为调制信号,即在调制信号中取1024个点进行傅里叶变换。调制波形图出来以后进行加噪声处理,此处利用的是awgn(n,snr)函数, snr为信噪比的值,先设定snr为1。随后产生加入噪声后的调制信号