您好,欢迎访问三七文档
1MATLAB的数字调制仿真实验报告1:实验要求实验要求通过输入随机信号的长度,得到二进制的随机原始信号,同时把得到的原始信号用三种不同的方法调制出来。当分别输入各个控件名称时,得到原始信号相应的信号输出。2:实验过程2.1实验条件1:实验的原始信号由MATLAB的randint(n)函数输出,需要确定的只是n,就是原始信号的宽度。2:三种不同的调制函数原始信号调制信号函数振幅调制:0:01:cos(t+pi/3)频移调制:0:cos(t+pi/3)1:cos(2*t+pi/6)相位移调制:0:cos(t)1:cos(t+pi)时间t为单个信号存在的时间周期,为了将图形表达更加清晰,这里选择将其选定为2*pi,并划分为100个具体的时间点,t=0:2*pi/99:2*pi。2.2实验步骤1:首先我要得到原始信号的长度,可以通过对s=rindint(n)函数产生的随机矩阵信号用length(s)求取其长度。2:我们要得到单个的输入原始信号并对其进行调制,并同时将其用矩阵进行收集储存,最后输出调制后的信号。可以分别求取不同宽度上的信号,并将其赋值到对应输出原始信号的时间周期内,收集,最后输出。3:调制得到的信号是在每个单个波长时间,不同的时间点t应用不同的调制函数的到的。在进行信号调制时,需要对这些调制得到的信号信息进行储存。可以在循环内采用矩阵叠加的方法来储存这些信号。4:需要的输入只是唯一的信号长度n,输出为得到的三种调制信号5:编写实现输出全部调制信号的主函数Modulator和三个输出对应的调制信号的子函数ASK,FSK,PSK.由子函数控制相应的信号输出.6:编写程序,调试,写实验报告3:实验结果通过输入不同Modulator(n),我们得到了调制的信号和相应的图形输出。24:附录实验程序及输出图4.1:主程序functionModulator(n)%定义函数globalaskglobalfskglobalpskglobalwglobalsignal%定义全局变量ask=[];fsk=[];psk=[];%定义ASK,FSK,PSK调制信号a=[];f=[];p=[];%定义ASK,FSK,PSK决定信号signal=[];%定义输出原始信号和ASK选择信号dfp=[];%定义FSK,PSK选择信号s=randint(n);%得到原始信号w=length(s);%信号长度t=0:2*pi/99:2*pi;%划分单个信号的时间周期forn=1:wifs(n)==0;signal1=zeros(1,100);dfp1=ones(1,100);f1=cos(t+pi/3);p1=cos(t);%产生并收集信号为0的时输出原始信号和调制信号的相应信息elses(n)==1;signal1=ones(1,100);dfp1=ones(1,100);f1=cos(2*t+pi/6);p1=cos(t+pi);3%产生并收集信号为1时的输出原始信号和调制信号的相应信息endsignal=[signalsignal1];%得到输出原始信号信息和ASK调制的信号决定信息a1=cos(t+pi/3);a=[aa1];%得到ASK调制的信号决定信息f=[ff1];%得到FSK调制的信号决定信息p=[pp1];%得到PSK调制的信号决定信息dfp=[dfpdfp1];%得到FSK,PSK调制的选择信息end%循环结束ask=signal.*a;fsk=dfp.*f;psk=dfp.*p;%得到ASK,FSK,PSK调制信号ASKFSKPSK%调用子函数44.2:子函数4.2.1:ASK调制程序functionASK()globalaskglobalwglobalsignalfigure(1)subplot(2,1,1)plot(signal,'LineWidth',1.5)axis([0100*w-1.51.5])ylabel('调制前信号')title('ASK信号调制图')gridon%画出输出原始信号图subplot(2,1,2)plot(ask,'LIneWidth',1.5)axis([0100*w-1.51.5])xlabel('时间')ylabel('2ASK调制后信号')gridon%画出输出ASK调制信号图54.2.2:FSK调制程序functionFSK()globalfskglobalwglobalsignalfigure(2)subplot(2,1,1)plot(signal,'LIneWidth',1.5)axis([0100*w-1.51.5])ylabel('调制前信号')title('FSK信号调制图')gridon%画出输出原始信号图subplot(2,1,2)plot(fsk,'LIneWidth',1.5)axis([0100*w-1.51.5])xlabel('时间')ylabel('2FSK调制后信号')gridon%画出输出SFK调制信号图64.2.3:PSK调制程序functionPSK()globalpskglobalwglobalsignalfigure(3)subplot(2,1,1)plot(signal,'LIneWidth',1.5)axis([0100*w-1.51.5])ylabel('调制前信号')title('PSK信号调制图')gridon%画出输出信号原始图subplot(2,1,2)plot(psk,'LIneWidth',1.5)axis([0100*w-1.51.5])xlabel('时间')ylabel('2PSK调制后信号')gridon%画出输出PSK调制信号图
本文标题:数字调制仿真
链接地址:https://www.777doc.com/doc-4733782 .html