
最新基于MATLAB的FSK调制解调实现完整版.docx
10页精品word 可编辑资料 - - - - - - - - - - - - -目 录一. FSK理论学问1.1 FSK概念1.2 2FSK信号的波形准时间表示式1.3 2FSK信号的产生方法1.4 2FSK信号的功率谱密度1.5 2FSK信号的解调1.6 FSK的误码性能二. 用MATLAB 进行FSK原理及误码性能仿真 三、结论四、参考文献 、五、源程序第 1 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -1、FSK 理论学问频率调制的最简洁形式是二进制频率键控 (FSK,frequency-shift keying) ;FSK是调制解调器通过线路发送比特的方法;每个比特被转换为一个频率,0 由较低的频率表示, 1 由较高的频率表示;1.1 、FSK概念传“ 0”信号时,发送频率为 f 1 的载波 ; 传“ 1”信号时,发送频率为 f 2 的载波;可见, FSK是用不同频率的载波来传递数字消息的;实现模型如下图:1.2 、 2FSK信号的波形准时间表示式依据上图模型的实现可以得到 2FSK的信号波形如图:第 2 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -2FSK信号的时间表达式为 :由以上表达式可见, 2FSK信号由两个 2ASK信号相加构成;留意:2FSK有两种形式 :( 1)相位连续的 2FSK;( 2)相位不连续的 2FSK;在这里,我们只争论相位不连续的频移键控信号,这样更具有普遍性;1.3 、2FSK信号的产生方法2FSK 信号的产生方法: 2FSK信号可以两类方法来产生;一是采纳模拟调频的方法来产生 (图 1);另一种方法是采纳键控法 (图2);图 1.3-1 图 1.3-21.4 、2FSK信号的功率谱密度第 3 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -这里我们仅介绍一种常用的近似方法, 即把二进制频移键控信号看成是两个幅移键控信号相叠加的方法假如 s1(t) 的功率谱密度为 Ps1(f) ;s2(t) 的功率谱密度为 Ps2(f) ,利用平稳随机过程经过乘法器的结论 , 上式可以整理为如下形式,核心问题: Ps1(f)= .与 2ASK信号表达式中的 s(t) 相同,第 4 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -依据上面的公式, 2FSK信号的功率谱密度如图下图所示;图 1.4-1依据以上总结: 2FSK功率谱密度的特点如下,1) 、2FSK信号的功率谱由连续谱和离散谱两部分构成 ,. 离散谱显现在 f 1 和 f 2 位置;2) 、功率谱密度中的连续谱部分一般显现双峰;如两个载频之差 | f 1 -f 2| ≤f s,就显现单峰;3)、所需传输带宽 BFSK=| f 1 -f 2|+2 f s ;二 2FSK 信号的解调2FSK信号的解调方法有许多 , 如鉴频器法、相干法、包络检波法、过零检测法等等;依据要求这里我将用相干解调的方法对其进行解调;FSK在 MATLAB环境下过程与结果第 5 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -FSK的模拟仿真是采纳的 MATLAB软件,其在电脑运行环境如图 3-1 所示;试验过程是在窗口点击 MATLAB快捷方式,使其运行,将 FSK调制与解调的程序输入框中,点击回车即可运行,运行结果后面进行分析;图 1.5-1在 MATLAB环境下调制与解调的程序如下 : (百分号后为程序注释)function FSKFc=10; % 载频Fs=40; % 系统采样频率Fd=1; % 码速率N=Fs/Fd; df=10;numSymb=25; % 进行仿真的信息代码个数M=2; % 进制数SNRpBit=60; % 信噪比SNR=SNRpBit/log2(M); seed=[12345 54321];numPlot=15; % 产生 25 个二进制随机码第 6 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -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.5 1.5]); title( 加入高斯白噪声后的已调信号 ) xlabel(Time);ylabel(Amplitude); % 相干解调figure(4) plot(t,y(1:length(t)),b-);axis([min(t) max(t) -1.5 1.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); hold on;第 7 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -stem([0:numPlot-1],z2(1:numPlot),ro); hold off;axis([0 numPlot -0.5 1.5]);title( 非相干解调后的信号 )legend( 原输入二进制随机序列 , 非相干解调后的信号 ) xlabel(Time);ylabel(Amplitude); % 误码率统计[errorSym ratioSym]=symerr(x,z1); figure(8)程序的运行过程是: 第一产生 25 个随机序列码 (如图 1.5-1 所示 注:此序列为随机序列,每一次运行程序所产生的序列都不同) ,然后通过调用函数对该 序列进行调制(如图 1.5-2 所示);相干解调后的误码率统计 (如图 1.5-3 所示);在通过调用函数让函数通过相干解调方式进行解调,解调信号与原信号的比较(如图 1.5-4 所示);在通过调用函数让调制信号图 1.5-1 图 1.5-2第 8 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -图 1.5-3 图 1.5-4( 注 释: 图 1.5-3 中右 上角 的意 思 为 , Theoretical SER 理论 软件 错 误率;Theoretical BER理论二进制误码率 ;Simulated SER 模拟软件错误率; Simulated BER 模拟二进制误码率; )下图为用 MATLAB进行 FSK原理及误码性能仿真图:图 1.5-5第 9 页,共 10 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -三. 心得体会通过本次专业课程设计, 进一步加深了我对 FSK方面学问的懂得, 也更深刻的体会到 MATLAB在信号与先行系统等方面的应用的重要性;由于设计时间较短,在设计过程考虑问题不全面,专业学问水平不足,编程工具 MATLAB是英文版,帮忙系统也全是英文,对有些函数在功能和使用仍不是特殊的清晰, 也只能是别学习边实践, 以至在设计过程中显现了不少问题, 这只是一个开头, 只要有更多的时间, 信任我能见任务完成得更好; 以至于仿真出来的图象没有打点,这是这次课程设计显现的不足之处;四. 参考文献[1] 、《通信原理》 樊昌信 主编 国防工业出版社 2001 年 6 月[2] 、《移动通信》 覃团发等编 重庆高校出版社 2005 年 5 月[3] 、《MATLAB 图形图象处理应用教程》 郝文化 主编 中国水利水电出版社2002 。
