武汉理工大学《信号分析处理》课程设计
本来信号源s(t)序列是用随机的0 1信号产生,在此为了方便仿真就选择了基于采样的Pulse Generator信号模块其参数设置如下:
图4-4 Pulse Generator信号模块参数设置
其中方波是幅度为1,周期为3,占1比为1/3的基于采样的信号。 其中From File是一个封装模块,就是2FSK信号的调制模块,两个带通滤波器分别将2FSK信号上下分频f1和f2 ,后面就和2ASK信号的解调过程相同,各参数设置如下:
图4-52FSK信号f1和f2带通滤波器参数设置
10
武汉理工大学《信号分析处理》课程设计
图4-62FSK信号f1和f2低通滤波器参数设置
4.3调制及解调仿真波形图
经过以上参数的设置后就可以进行系统的仿真,其各点的时间波形如下:
图4-7调制信号波形
11
武汉理工大学《信号分析处理》课程设计
图4-8 解调波形前后变化
图4-9输出信号波形与原始信号对比
观察上图第四个输出波形,为解调之后输出信号,对比第一个波形信号,即原始信号,输出信号在经过抽样判决后,波形左端第一个正脉冲有一定变形失真,宽度明显大于之后的连续正脉冲宽度,所以第一个正脉冲之后的波形信号都是对原始输入信号一致,可能存在一定的时延,所以在经过调制和解调环节之后,能狗准确的还原输入信号。
12
武汉理工大学《信号分析处理》课程设计
5.Matlab2FSK仿真程序代码
2FSK是利用数字基带信号控制在波的频率来传送信息。例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。
假设码元的初始相位为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。2FSK信号的产生方法有两种:即用数字基带信号作为调制信号进行调频。用数字基带信号及其反相分别控制两个开关门电路,以此对两个载波发生器进行选通。
这两种方法产生的2FSK信号的波形基本相同,只有一点差异,即由调频器产生的2FSK信号在相邻码元之间的相位是连续的,而键控法产生的2FSK信号,则分别有两个独立的频率源产生两个不同频率的信号,故相邻码元的相位不一定是连续的。
5.1生成2FSK的程序代码及运行结果
clear all close all
i=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; for n=1:10 if a(n)<1;
for m=j/i*(n-1)+1:j/i*n st1(m)=0; end else
for m=j/i*(n-1)+1:j/i*n st1(m)=1; end
13
武汉理工大学《信号分析处理》课程设计
end end
st2=t;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基带信号求反
for n=1:j;
if st1(n)>=1; st2(n)=0; else st2(n)=1; end end;
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');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制
F1=st1.*s1;%加入载波1 F2=st2.*s2;%加入载波2 figure(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);
14