基于matlab的msk调制解调的实现

验证/仿真

34人已加入

描述

  1、引言

  本课程设计主要用于MSK信号的调制与解调,同时进一步了解MSK信号的的解调调制原理以及其性能。再次基础上进一步对信号叠加噪声,并绘制相应波形,同时进行分析。

  1.1课程设计目的

  利用MATLAB集成环境下的M文件,编写程序来实现MSK的调制解调,并绘制出解调前后的时域和频域波形及叠加噪声时解调前后的时频波形,根据运行结果和波形来分析该解调过程的正确性及信道对信号传输的影响。通过这次课程设计进一步加深了我对最小二进制相移键控(MSK)调制解调性能的理解与掌握,同时将课堂上学到的理论知识用于实践。增强了我在模拟仿真方面的能力,为以后系统开发和通信系统仿真打下了良好的基础。

  1.2课程设计要求

  通过课程设计,掌握M文件的使用,同时进一步加深MSK调制解调的原理,在此基础上编写出MSK调制解调的程序。并绘制出MSK信号解调前后在时域和频域中的波形,观察解调前后频谱有何变化以加深对MSK信号解调原理的理解。通过这一些之后再加上噪声,对信号解调,并绘制出解调前后信号的时频波形,改变噪声功率进行解调,分析噪声对信号传输造成的影响。

  1.3课程设计步骤

  先定义MSK输入信号的参数然后用dmod函数做输入的调制,之后画相应的频谱图。再用dedmod做解调输出。然后加入噪声,再进行解调输出。

  1.定义载波频率Fs,输出信号频率Fd,采样频率Fs。

  2.设置输入信号X,同时做信号的调制。

  3.画出相应的波形图。

  4.做输出信号的解调波形,同时画解调波形图。

  5.加入高斯白噪声。再进行信号的解调输出,画相应的波形。

  6.对结果进行比较分析。

  1.4课程设计平台

  本课程设计中应用M文件设计MSK信号调制解调程序。所以在本课程设计中有必要对MATLAB进行简要的描述。

  MATLAB语言是当今国际上科学界最具影响力、也是最具活力的软件。它具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性。MATLAB是矩阵实验室(MatrixLaboratory)之意。MATLAB除具备卓越的数值计算能力外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能。

  MATLAB的出现使得通信系统的仿真能够用计算机模拟实现,免去构建实验系统的不便,而且操作十分简便,只需要输入不同的参数就能得到不同情况下系统的性能,而且在结果的观测和数据的存储方面也比传统的方式有很多优势。因而MATLAB在通信仿真领域得到越来越多的应用。MATLAB的一大特点是提供了很多专用的工具箱和模块库,例如通信工具箱和模块库、数字信号处理工具箱和模块库、控制工具箱和模块库等,MATLAB在这些工具箱和模块库中提供了很多常用的函数和模块,使得仿真更容易实现。

  在本课程设计里,我们主要利用MATLAB中的M文件实现MSK解调器的设计,对解调前后波形进行比较,绘制时域波形。

  2、MSK调制解调原理

  MSK信号是一种包络恒定、相位连续、带宽最小并且严格正交的2FSK信号,其波形如图2-1所示。

MSK

  2.1MSK基本原理

  MSK信号是一种相位连续、包络恒定并且占用带宽最小的二进制正交FSK信号。它的第k个码元可以表示为:

MSK

  MSK信号具有特点如下:①MSK信号是正交信号;②其波形在码元间是连续的;③其包络是恒定不变的;④其附加相位在一个码元持续时间内线性地变化2/;⑤调制产生的频率偏移等于T4/1Hz;⑥在一个码元持续时间内含有的载波周期数等于1/4的整数倍。

  2.2MSK正交表示法

  式(2-1)可以用频率为sf的两个正交分量表示。将式(2-1)进行三角公式变换,得到:

MSK

  式(2-2)表示,此MSK信号可以分解为同相分量(I)和正交分量(Q)两部分。

  2.3MSK信号的调制

  由式(2-2)可知,MSK信号可以用两个正交的分量表示。根据该式构成的MSK信号的产生方框图如图2-2所示。

MSK

  2.4MSK信号的解调

  由于MSK信号是最小二进制FSK信号,所以它可以采用解调FSK信号的相干法和非相干法解调。

  图2-3是MSK信号的解调原理框图。

MSK

  3、仿真实现过程

  3.1MSK信号的产生

  因为MSK信号可以用两个正交的分量表示:

MSK

  式中:右端第1项称作同相分量,其载波为MSK;第2项称作正交分量,其载波为MSK

  在仿真时先设置输入信号的参数:载波频率Fc调制后,数字信号速率Fd,模拟信号采样率Fs。之后产生要调制的随机数字信号x;然后用dmod函数进行调制,产生调制信号。dmod函数是MATLAB中一个常用来进行信号调制的函数,它后面的参数包括被调制信号,载波信号的频率,输出信号的速率以及采样速率和所进行调制的函数。

  部分程序代码和仿真图如下所示:

MSK
MSK
MSK

  由调制波形图可以看出MSK的调制信号特性与2FSK调制信号的特性非常的相似,即:当输入信号为“1”时,调制后的波形比输入信号为“0”时的波形要密。同时MSK信号的包络是恒定的,相位则是连续的。带宽相对于一般的2FSK信号要小,而且正交。

  3.2MSK解调实现

  由于MSK信号是最小二进制FSK信号,所以它可以采用解调FSK信号的相干法和非相干法解调。

  在进行程序仿真时,用ddemod函数进行调制信号的解调。同时画出解调前后的时域与频域的波形图。在画频域的波形图时先对已调信号与解调信号进行DTFT变换,之后画出相应的波形。ddemod函数是与dmod函数相对应,用来对已调信号进行解调的。其后面的参数与dmod函数后的一模一样。

  部分程序与仿真波形图如下所示:

MSK
MSK

  由解调信号的时域波形可以看出,解调后的波形与原始输入信号的波形完全一致。同时不难发现解调后的信号很稳定。

MSK
MSK

  由解调后的频域波形可以看出MSK信号的稳定性很好,说明MSK信号的抗噪声性能很强。

MSK

  通过调制前和解调后的频域波形比较,发现解调非常的成功,波形被完整无误的输出来。

  3.3叠加噪声的MSK解调

  由于信号在传输的过程中难免要受到外来噪声的影响,所以在进行通信仿真时务必要在理想的模拟通信系统中加入高斯白噪声对系统进行影响,以此来判断一个通信系统抗噪声性能的好坏。

  在这次课程设计中,我利用awagn函数对已调信号加入信噪比为0.001的高斯白噪声。然后对加入了噪声的已调信号进行解调,同时画出其时域与频域的波形,将其与没有加噪声的调制信号进行比较,不难发现:加入噪声后对已调信号的影响很大,但对解调信号而言,噪声对解调后的影响还是有一定限度的。这说明MSK解调系统的抗噪声性能很强。

  仿真的部分程序与相应的仿真波形图如下所示:

MSK

  通过symerr函数对解调信号的误码率进行测定,得到的误码率为0.0024.因为输入的随机序列长度为10000,错了24个。说明MSK信号的抗噪声性能很强。当将信噪比变为1时,输出的误码率很快发生了变化,由原来的0.0024变为了6.0000e-004.图形也同时发生了变化。通过图形的比较,可以发现噪声对调制信号的影响很大,但通过解调后影响相对减小了很多。

MSK
MSK
MSK

  在多次改变信噪比后,将信噪比与误码率联合做了如图3-8所式的波形图。

MSK

  通过图形可知,随着系统信噪比的增加,解调后输出的误码率随之减小,当信噪比增加到一定程度时,误码率变为0。说明噪声对信号的影响在一定程度上是可以减小,但很难消除,因为每一个系统都不可能是理想系统,总会受到外界的干扰。

  4、遇到的问题及解决办法

  遇到的问题一:在设计程序时由于一开始使用的不是随机序列,同时MSK信号的抗噪声性能很强,当输入的是有限个序列时,很难判断出噪声对信号的影响。所以在加入噪声后再进行解调时根本就无法发现噪声对信号的影响。

  解决办法:利用randint函数来产生100个随机序列,然后再在调制好了的信号上加入高斯白噪声,之后对调制信号解调。这样发现噪声对信号的一点点影响。遇到的问题二:在画解调信号前后的频域波形时,由于忽略了调制信号和解调后的信号长度不一致,所以只设置了一个参数n1,当进行仿真画图时一直都无法画出来。解决办法:在老师的指导下,我又重新检查了一变程序。后来发现错误,并重新添加了参数n2,然后在进行DTFT转换后画图得到了正确的结果。

  遇到的问题三:在加入高斯白噪声时,由于不清楚awgn这个函数,所以我一直按照参考书上的方法进行噪声的添加,但噪声却一直没有成功的添加。

  解决办法:在老师的知道下,我通过MATLAB里的help帮我很快了解了awgn函数,后来成功加入噪声也是可想而知的了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
小琼姬啊哈 2022-11-05
0 回复 举报
可以分享一下完整的吗 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分