您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于MATLAB的MSK调制解调实现
《基于MATLAB的MSK调制解调实现》第1页共15页基于MATLAB的MSK调制解调实现摘要通过这次课程设计熟悉MATLAB中M文件的使用方法,并在掌握MSK调制解调原理的基础上,编写出MSK调制解调程序。绘制出MSK信号解调前后在时域和频域中的波形,并观察解调前后频谱有何变化以加深对MSK信号解调原理的理解。对信号叠加噪声,并进行解调,绘制出解调前后信号的时频波形,改变噪声功率进行解调,分析噪声对信号传输造成的影响。该课程设计使用的平台为MATLAB,当输入随机序列后能够得到正确的仿真结果。同时课本上的理论识得到验证。关键词时频波形;M文件;MATLAB7.1;调制解调1引言本课程设计主要用于MSK信号的调制与解调,同时进一步了解MSK信号的的解调调制原理以及其性能。再次基础上进一步对信号叠加噪声,并绘制相应波形,同时进行分析。1.1课程设计目的利用MATLAB集成环境下的M文件,编写程序来实现MSK的调制解调,并绘制出解调前后的时域和频域波形及叠加噪声时解调前后的时频波形,根据运行结果和波形来分析该解调过程的正确性及信道对信号传输的影响。通过这次课程设计进一步加深了我对最小二进制相移键控(MSK)调制解调性能的理解与掌握,同时将课堂上学到的理论知识用于实践。增强了我在模拟仿真方面的能力,为以后系统开发和通信系统仿真打下了良好的基础。1.2课程设计要求通过课程设计,掌握M文件的使用,同时进一步加深MSK调制解调的原理,在此基础上编写出MSK调制解调的程序。并绘制出MSK信号解调前后在时域和频域中《基于MATLAB的MSK调制解调实现》第2页共15页的波形,观察解调前后频谱有何变化以加深对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解调器的设计,对解调前后波形进行比较,绘制时域波形。《基于MATLAB的MSK调制解调实现》第3页共15页2MSK调制解调原理MSK信号是一种包络恒定、相位连续、带宽最小并且严格正交的2FSK信号,其波形如图2-1所示。图2-1MSK信号的波形图2.1MSK基本原理MSK信号是一种相位连续、包络恒定并且占用带宽最小的二进制正交FSK信号。它的第k个码元可以表示为:)(kksktTatwts2coskTtTk1(2-1)式中,ssfw2为视在角载频;1ka;T为第k个码元确定的初始相位。由上式可以看出,当1ka时,码元频率1f等于Tfs4/1;当1ka时,码元频率0f等于Tfs4/1。故1f和0f的距离等于T2/1。这是2FSK信号最小频率间隔。MSK信号具有特点如下:①MSK信号是正交信号;②其波形在码元间是连续的;③其包络是恒定不变的;④其附加相位在一个码元持续时间内线性地变化2/;⑤调制产生的频率偏移等于T4/1Hz;⑥在一个码元持续时间内含有的载波周期数等于1/4的整数倍。2.2MSK正交表示法式(2-1)可以用频率为sf的两个正交分量表示。将式(2-1)进行三角公式变换,得到:《基于MATLAB的MSK调制解调实现》第4页共15页twTtqtwTtptsskskksin2sincos2cos)(kTtTk1(3-1)式中,1coskkp1coskkkaq(3-2)式(2-2)表示,此MSK信号可以分解为同相分量(I)和正交分量(Q)两部分。2.3MSK信号的调制由式(2-2)可知,MSK信号可以用两个正交的分量表示。根据该式构成的MSK信号的产生方框图如图2-2所示。图2-2MSK调制原理图2.4MSK信号的解调由于MSK信号是最小二进制FSK信号,所以它可以采用解调FSK信号的相干法和非相干法解调。图2-3是MSK信号的解调原理框图。移相/2振荡sff带通滤波kp)2/cos(Ttpk)2/sin(Ttqk)2/cos(Tt振荡Tf4/1)2/sin(Ttkqtwscostwssin移相/2twTtqsksin)2/sin(twTtpskcos)2/cos(kb串/并变换差分编码MSK信号《基于MATLAB的MSK调制解调实现》第5页共15页图2-3MSK信号的解调原理图3仿真实现过程3.1MSK信号的产生因为MSK信号可以用两个正交的分量表示:twTtqtwTtptssSkcskksin2sincos2cos)((k-1)Ts<t≤kTs式中:右端第1项称作同相分量,其载波为twccos;第2项称作正交分量,其载波为twcsin。在仿真时先设置输入信号的参数:载波频率Fc调制后,数字信号速率Fd,模拟信号采样率Fs。之后产生要调制的随机数字信号x;然后用dmod函数进行调制,产生调制信号。dmod函数是MATLAB中一个常用来进行信号调制的函数,它后面的参数包括被调制信号,载波信号的频率,输出信号的速率以及采样速率和所进行调制的函数。部分程序代码和仿真图如下所示:M=2;%定义输入随机信号的参数Fc=20;%载波信号的频率Fc为20;Fd=10;%输出信号的速率Fd为10;Fs=200;%采样速率Fs为200;载波提取90°相移积分判决积分判决抽样保持抽样保持模2乘MSK信号twscos-twssin[2iT,(2i+1)T][(2i-1)T,(2i+1)T]pq解调输出《基于MATLAB的MSK调制解调实现》第6页共15页x=randint(1,10000);%产生随机的输入序列y=dmod(x,Fc,Fd,Fs,'msk');%对用dnod函数对输入的随机序列进行调制图3-1MSK调制信号的波形由调制波形图可以看出MSK的调制信号特性与2FSK调制信号的特性非常的相似,即:当输入信号为“1”时,调制后的波形比输入信号为“0”时的波形要密。同时MSK信号的包络是恒定的,相位则是连续的。带宽相对于一般的2FSK信号要小,而且正交。3.2MSK解调实现由于MSK信号是最小二进制FSK信号,所以它可以采用解调FSK信号的相干法和非相干法解调。在进行程序仿真时,用ddemod函数进行调制信号的解调。同时画出解调前后的时域与频域的波形图。在画频域的波形图时先对已调信号与解调信号进行DTFT变换,之后画出相应的波形。ddemod函数是与dmod函数相对应,用来对已调信号进行解调的。其后面的参数与dmod函数后的一模一样。部分程序与仿真波形图如下所示:z=ddemod(y,Fc,Fd,Fs,'msk');%对调制后的MSK信号进行解调《基于MATLAB的MSK调制解调实现》第7页共15页图3-2MSK信号的解调波形由解调信号的时域波形可以看出,解调后的波形与原始输入信号的波形完全一致。同时不难发现解调后的信号很稳定。n1=1:1:length(y);w=[0:1:1000]*pi/500;n2=1:1:10000;w=[0:1:1000]*pi/500;%定义频域参数n1为y的长度,n2为输入原始信号的长度Y=y*exp(-j*n1'*w);%对已调信号进行DTFT变换Z=z*exp(-j*n2'*w);%对解调信号进行DTFT变换magY=abs(Y);magZ=abs(Z);《基于MATLAB的MSK调制解调实现》第8页共15页图3-3MSK信号解调前后的频域波形由解调后的频域波形可以看出MSK信号的稳定性很好,说明MSK信号的抗噪声性能很强。图3-4调制前解调后的频域波形通过调制前和解调后的频域波形比较,发现解调非常的成功,波形被完整无误的输出来。《基于MATLAB的MSK调制解调实现》第9页共15页3.3叠加噪声的MSK解调由于信号在传输的过程中难免要受到外来噪声的影响,所以在进行通信仿真时务必要在理想的模拟通信系统中加入高斯白噪声对系统进行影响,以此来判断一个通信系统抗噪声性能的好坏。在这次课程设计中,我利用awagn函数对已调信号加入信噪比为0.001的高斯白噪声。然后对加入了噪声的已调信号进行解调,同时画出其时域与频域的波形,将其与没有加噪声的调制信号进行比较,不难发现:加入噪声后对已调信号的影响很大,但对解调信号而言,噪声对解调后的影响还是有一定限度的。这说明MSK解调系统的抗噪声性能很强。仿真的部分程序与相应的仿真波形图如下所示:y1=awgn(y,0.001);%对已调信号加入高斯白噪声z1=ddemod(y,Fc,Fd,Fs,'msk');%对加入高斯白噪声的调制信号进行解调[num1,ratio1]=symerr(x,z2)%对加入噪声后解调的信号进行误码率的测定通过symerr函数对解调信号的误码率进行测定,得到的误码率为0.0024.因为输入的随机序列长度为10000,错了24个。说明MSK信号的抗噪声性能很强。当将信噪比变为1时,输出的误码率很快发生了变化,由原来的0.0024变为了6.0000e-004.图形也同时发生了变化。通过图形的比较,可以发现噪声对调制信号的影响很大,但通过解调后影响相对减小了很多。图3-5信噪比为0.001的MSK信号加噪声解调前后的时域波形《基于MATLAB的MSK调制解调实现》第10页共15页图3-6信噪比为1的MSK信号加噪声解调前后的时域波形Y1=y1*exp(-j*n1'*w);%对加噪声后的已调信号进行DTFT变换Z1=z1*exp(-j*n2'*w);%对加噪声后的解调信号进行DTFT变换magY1=abs(Y1);magZ1=abs(Z1);图3-7信噪比为2的MSK信号加噪声解调前后的频域波形《基于MATLAB的MSK调制解调实现》第11页共15页在多次改变信噪比后,将信噪比与误码率联合做了如图3-8所式的波形图。图3-8信噪比与产生误码率曲线图通过图形可知,随着系统信噪比的增加,解调后输出的误码率随之减小,当信噪比增加到一定程度时,误码率变为0。说明噪声对信号的影响在一定程度上是可以减小,但很难消除,因为每一个系统都不可能是理想系统,总会受到外界的干扰。4遇到的问题及解决办法遇到的问题一:在设计程序时由于一开始使用的不是随机序列,同时MSK信号的抗噪声性能很强,当输入的是有限个序列时,很难判断出噪声对信号的影响。所以在加入噪声后再进行解调时根本就无法发现噪声对信号的影响。解决办法:利用randint函数来产生100个随机序列,然后再在调制好了的信号上加入高斯白噪声
本文标题:基于MATLAB的MSK调制解调实现
链接地址:https://www.777doc.com/doc-5008329 .html