潍坊学院专业课综合课程设计说明书——利用matlab实现2FSK调制解调的仿真系部:信息控制与工程学院专业:电子信息工程班级:学生姓名:学号:指导教师:2012年12月01日目录1MATLAB软件简介................................12理论分析......................................22.12FSK信号的产生.....................................22.22FSK信号的解调方式................................33MATLAB实现程序...............................53.1生成2FSK的程序.....................................53.22FSK调制解调系统进行设计和仿真源程序...............75心得体会.....................................176参考文献.....................................18专业课综合课程设计说明书11MATLAB软件简介MATLAB是目前国际上流行的进行科学研究、工程计算的软件。它起源于矩阵运算,并已经发展成为一种高度集成的计算机语言。MATLAB具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性。除具备卓越的数值计算能力之外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真、实时控制等功能。在通信领域MATLAB更是优势明显,因为通信领域中很多问题是研究系统性能的,传统的方法只有构建一个实验系统,采用各种方法进行测量,才能得到所需的数据,这样不仅需要花费大量的资金用于实验系统的构建,而且系统构建周期长,系统参数的调整也十分困难。而MATLAB的出现使得通信系统的仿真能够用计算机模拟实现,免去构建实验系统的不便,而且操作十分简便,只需要输入不同的参数就能得到不同情况下系统的性能,而且在结构的观测和数据的存储方面也比传统的方式有很多优势。因而MATLAB在通信仿真领域得到越来越多的应用。专业课综合课程设计说明书22理论分析2.12FSK信号的产生2FSK是利用数字基带信号控制在波的频率来传送信息。例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。故其表示式为)cos()]([)cos(])([)(2_12nsnnnnsnFSKtnTtgatnTtgats式中,假设码元的初始相位分别为n和n;112fπ和222fπ为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。2FSK信号的产生方法有两种:模拟法,即用数字基带信号作为调制信号进行调频。键控法,用数字基带信号)(tg及其反)(tg相分别控制两个开关门电路,以此对两个载波发生器进行选通。这两种方法产生的2FSK信号的波形基本相同,只有一点差异,即由调频器产生的2FSK信号在相邻码元之间的相位是连续的,而键控法产生的2FSK信号,则分别有两个独立的频率源产生两个不同频率的信号,故相邻码元的相位不一定是连续的。专业课综合课程设计说明书31011001taks1(t)cos(w1t+θn)s2(t)s1(t)cos(w1t+θn)cos(w2t+φn)s2(t)cos(w2t+φn)2FSK信号tttttt2.22FSK信号的解调方式非相干解调经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。其原理图如下图所示:专业课综合课程设计说明书4输入带通滤波器F1包络检波器带通滤波器F2包络检波器抽样脉冲抽样判决器非相干方式原理图输出相干解调根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。原理图如下:输入带通滤波器F1带通滤波器F2cos2πf1t相乘器低通滤波器低通滤波器抽样脉冲抽样判决器输出cos2πf2t相乘器相干方式原理图专业课综合课程设计说明书53Matlab实现程序3.1生成2FSK的程序源程序代码:clearallclosealli=10;%基带信号码元数j=5000;a=round(rand(1,i));%产生随机序列t=linspace(0,5,j);f1=10;%载波1频率f2=5;%载波2频率fm=i/5;%基带信号频率B1=2*f1;%载波1带宽B2=2*f2;%载波2带宽%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号st1=t;forn=1:10ifa(n)1;form=j/i*(n-1)+1:j/i*nst1(m)=0;endelseform=j/i*(n-1)+1:j/i*nst1(m)=1;endend专业课综合课程设计说明书6endst2=t;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基带信号求反forn=1:j;ifst1(n)=1;st2(n)=0;elsest2(n)=1;endend;figure(1);subplot(411);plot(t,st1);title('基带信号');axis([0,5,-1,2]);subplot(412);plot(t,st2);title('基带信号反码');axis([0,5,-1,2]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号s1=cos(2*pi*f1*t);s2=cos(2*pi*f2*t);subplot(413)plot(s1);title('载波信号1');subplot(414),plot(s2);title('载波信号2');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制专业课综合课程设计说明书7F1=st1.*s1;%加入载波1F2=st2.*s2;%加入载波2figure(2);subplot(311);plot(t,F1);title('s1*st1');subplot(312);plot(t,F2);title('s2*st2');e_fsk=F1+F2;subplot(313);plot(t,e_fsk);title('2FSK信号')3.22FSK调制解调系统进行设计和仿真源程序Fc=10;%载频Fs=35;%系统采样频率Fd=1;%码速率N=Fs/Fd;df=10;numSymb=25;%进行仿真的信息代码个数M=2;%进制数SNRpBit=60;%信噪比SNR=SNRpBit/log2(M);%60seed=[1234554321];numPlot=15;x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码figure(1)stem([0:numPlot-1],x(1:numPlot),'bx');%显15个码元,杆图,从x的前十五个随机数中选取title('二进制随机序列')xlabel('Time');ylabel('Amplitude');%调制y=dmod(x,Fc,Fd,Fs,'fsk',M,df);%数字带通调制专业课综合课程设计说明书8numModPlot=numPlot*Fs;%15*40t=[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');%在已调信号中加入高斯白噪声randn('state',seed(2));%生成-2到+2之间的随机数矩阵y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声figure(3)plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号axis([min(t)max(t)-1.51.5]);title('加入高斯白噪声后的已调信号')xlabel('Time');ylabel('Amplitude');%相干解调figure(4)z1=ddemod(y,Fc,Fd,Fs,'fsk/eye',M,df);title('相干解调后的信号的眼图')%带输出波形的相干M元频移键控解调figure(5)stem([0:numPlot-1],x(1:numPlot),'bx');holdon;stem([0:numPlot-1],z1(1:numPlot),'ro');holdoff;axis([0numPlot-0.51.5]);title('相干解调后的信号原序列比较')legend('原输入二进制随机序列','相干解调后的信号')xlabel('Time');ylabel('Amplitude');%非相干解调figure(6)z2=ddemod(y,Fc,Fd,Fs,'fsk/eye/noncoh',M,df);title('非相干解调后的信号的眼图')%带输出波形的非相干M元频移键控解调figure(7)stem([0:numPlot-1],x(1:numPlot),'bx');holdon;stem([0:numPlot-1],z2(1:numPlot),'ro');holdoff;专业课综合课程设计说明书9axis([0numPlot-0.51.5]);title('非相干解调后的信号')legend('原输入二进制随机序列','非相干解调后的信号')xlabel('Time');ylabel('Amplitude');%误码率统计[errorSymratioSym]=symerr(x,z1);figure(8)simbasebandex([0:1:5]);title('相干解调后误码率统计')[errorSymratioSym]=symerr(x,z2);figure(9)simbasebandex([0:1:5]);title('非相干解调后误码率统计')%滤除高斯白噪声Delay=3;R=0.5;PropD=0;%滞后3s[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay);%升余弦函数[yo2,to2]=rcosflt(y,Fd,Fs,'filter',yf);%加入高斯白噪声后的已调信号和经过升余弦滤波器后的已调信号t=[0:numModPlot-1]./Fs;figure(10)plot(t,y(1:length(t)),'r-');holdon;plot(to2,yo2,'b-');%滤出带外噪声holdoff;axis([030-1.51.5]);xlabel('Time');ylabel('Amplitude');legend('加入高斯白噪声后的已调信号','经过升余弦滤波器后的已调信号')title('升余弦滤波前后波形比较')eyediagram(yo2,N);%眼图title('加入高斯白噪声后的已调信号的眼图')专业课综合课程设计说明书104仿真结果00.511.522.533.544.55-101s1*st100.511.522.533.544.55-101s2*st200.511.522.533.544.55-1012FSK信号00.511.522.533.544.55-1012基带信号00.511.522.533.544.55-1012基带信号反码0500100015002000250030003500400045005000