您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于MATLAB的FSK调制解调实现完整版
目录一.FSK理论知识…………………………………………………1.1FSK概念…………………………………………………………………1.22FSK信号的波形及时间表示式…………………………………………1.32FSK信号的产生方法……………………………………………………1.42FSK信号的功率谱密度…………………………………………………1.52FSK信号的解调…………………………………………………………1.6FSK的误码性能……………………………………………………………二.用MATLAB进行FSK原理及误码性能仿真………三、结论……………………………………………四、参考文献…………………………………………、五、源程序……………………………………………1、FSK理论知识频率调制的最简单形式是二进制频率键控(FSK,frequency-shiftkeying)。FSK是调制解调器通过电话线路发送比特的方法。每个比特被转换为一个频率,0由较低的频率表示,1由较高的频率表示。1.1、FSK概念传“0”信号时,发送频率为f1的载波;传“1”信号时,发送频率为f2的载波。可见,FSK是用不同频率的载波来传递数字消息的。实现模型如下图:1.2、2FSK信号的波形及时间表示式根据上图模型的实现可以得到2FSK的信号波形如图:2FSK信号的时间表达式为:由以上表达式可见,2FSK信号由两个2ASK信号相加构成。注意:2FSK有两种形式:(1)相位连续的2FSK;(2)相位不连续的2FSK。在这里,我们只讨论相位不连续的频移键控信号,这样更具有普遍性。1.3、2FSK信号的产生方法2FSK信号的产生方法:2FSK信号可以两类方法来产生。一是采用模拟调频的方法来产生(图1);另一种方法是采用键控法(图2);图1.3-1图1.3-21.4、2FSK信号的功率谱密度这里我们仅介绍一种常用的近似方法,即把二进制频移键控信号看成是两个幅移键控信号相叠加的方法如果s1(t)的功率谱密度为Ps1(f);s2(t)的功率谱密度为Ps2(f),利用平稳随机过程经过乘法器的结论,上式可以整理为如下形式,核心问题:Ps1(f)=?与2ASK信号表达式中的s(t)相同,根据上面的公式,2FSK信号的功率谱密度如图下图所示。图1.4-1根据以上总结:2FSK功率谱密度的特点如下,1)、2FSK信号的功率谱由连续谱和离散谱两部分构成,离散谱出现在f1和f2位置;2)、功率谱密度中的连续谱部分一般出现双峰。若两个载频之差|f1-f2|≤fs,则出现单峰。3)、所需传输带宽BFSK=|f1-f2|+2fs。二2FSK信号的解调2FSK信号的解调方法有很多,如鉴频器法、相干法、包络检波法、过零检测法等等。根据要求这里我将用相干解调的方法对其进行解调。FSK在MATLAB环境下过程与结果FSK的模拟仿真是采用的MATLAB软件,其在电脑运行环境如图3-1所示。实验过程是在窗口点击MATLAB快捷方式,使其运行,将FSK调制与解调的程序输入框中,点击回车即可运行,运行结果后面进行分析。图1.5-1在MATLAB环境下调制与解调的程序如下:(百分号后为程序注释)functionFSKFc=10;%载频Fs=40;%系统采样频率Fd=1;%码速率N=Fs/Fd;df=10;numSymb=25;%进行仿真的信息代码个数M=2;%进制数SNRpBit=60;%信噪比SNR=SNRpBit/log2(M);seed=[1234554321];numPlot=15;%产生25个二进制随机码x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码figure(1)stem([0:numPlot-1],x(1:numPlot),'bx');title('二进制随机序列')xlabel('Time');ylabel('Amplitude');%调制y=dmod(x,Fc,Fd,Fs,'fsk',M,df);numModPlot=numPlot*Fs;t=[0:numModPlot-1]./Fs;figure(2)plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号axis([min(t)max(t)-1.51.5]);title('加入高斯白噪声后的已调信号')xlabel('Time');ylabel('Amplitude');%相干解调figure(4)plot(t,y(1:length(t)),'b-');axis([min(t)max(t)-1.51.5]);title('调制后的信号')xlabel('Time');ylabel('Amplitude');%在已调信号中加入高斯白噪声randn('state',seed(2));y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声figure(3)stem([0:numPlot-1],x(1:numPlot),'bx');holdon;stem([0:numPlot-1],z2(1:numPlot),'ro');holdoff;axis([0numPlot-0.51.5]);title('非相干解调后的信号')legend('原输入二进制随机序列','非相干解调后的信号')xlabel('Time');ylabel('Amplitude');%误码率统计[errorSymratioSym]=symerr(x,z1);figure(8)程序的运行过程是:首先产生25个随机序列码(如图1.5-1所示注:此序列为随机序列,每一次运行程序所产生的序列都不同),然后通过调用函数对该序列进行调制(如图1.5-2所示)。相干解调后的误码率统计(如图1.5-3所示)。在通过调用函数让函数通过相干解调方式进行解调,解调信号与原信号的比较(如图1.5-4所示)。在通过调用函数让调制信号图1.5-1图1.5-2图1.5-3图1.5-4(注释:图1.5-3中右上角的意思为,TheoreticalSER理论软件错误率;TheoreticalBER理论二进制误码率;SimulatedSER模拟软件错误率;SimulatedBER模拟二进制误码率。)下图为用MATLAB进行FSK原理及误码性能仿真图:图1.5-5三.心得体会通过本次专业课程设计,进一步加深了我对FSK方面知识的理解,也更深刻的体会到MATLAB在信号与先行系统等方面的应用的重要性。由于设计时间较短,在设计过程考虑问题不全面,专业知识水平不足,编程工具MATLAB是英文版,帮助系统也全是英文,对有些函数在功能和使用还不是特别的清楚,也只能是别学习边实践,以至在设计过程中出现了不少问题,这只是一个开始,只要有更多的时间,相信我能见任务完成得更好。以至于仿真出来的图象没有打点,这是这次课程设计出现的不足之处。四.参考文献[1]、《通信原理》樊昌信主编国防工业出版社2001年6月[2]、《移动通信》覃团发等编重庆大学出版社2005年5月[3]、《MATLAB图形图象处理应用教程》郝文化主编中国水利水电出版社2002年4月[4]、《MATLAB实用教程》徐金明主编清华大学出版社MATLAB信息工程工具箱技术手册魏巍国防工业出版社MATLAB与通信仿真王立宁人民邮电出版社2000年MATLAB通信仿真开发手册李妍国防工业出版社
本文标题:基于MATLAB的FSK调制解调实现完整版
链接地址:https://www.777doc.com/doc-5162600 .html