基于某MATLAB地2ASK2FSK和2PSK地调制仿真.docx
《基于某MATLAB地2ASK2FSK和2PSK地调制仿真.docx》由会员分享,可在线阅读,更多相关《基于某MATLAB地2ASK2FSK和2PSK地调制仿真.docx(19页珍藏版)》请在冰豆网上搜索。
基于某MATLAB地2ASK2FSK和2PSK地调制仿真
实验报告
(一)
一、实验名称:
基于MATLAB的2ASK、2FSK和2PSK的调制仿真
二、实验目的:
(1)熟悉2ASK、2FSK和2PSK的调制原理。
(2)学会运用Matlab编写2ASK、2FSK和2PSK调制程序。
(3)会画出原信号和调制信号的波形图。
(4)掌握数字通信的2ASK、2FSK和2PSK的调制方式。
三、实验原理分析
3.1二进制振幅键控(2ASK)
振幅键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。
在2ASK中,载波的幅度只有两种变化状态,分别对应二进制信息“0”或“1”。
二进制振幅键控的表达式为:
s(t)=A(t)cos(w0+θ)0<t≤T
式中,w0=2πf0为载波的角频率;A(t)是随基带调制信号变化的时变振幅,即
当发送“1”时
当发送“0”时
A(t)=
典型波形如图所示:
2ASK信号的产生方法通常有两种:
相乘法和开关法,相应的调制器如图2。
图2(a)就是一般的模拟幅度调制的方法,用乘法器实现;图2(b)是一种数字键控法,其中的开关电路受s(t)控制。
在接收端,2ASK有两种基本的解调方法:
非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统方框图如图:
3.2、二进制频移键控(2FSK)
二进制频移键控信号码元的“1”和“0”分别用两个不同频率的正弦波形来传送,而其振幅和初始相位不变。
故其表达式为:
图42FSK信号时间波形
由图可见,2FSK信号的波形(a)可以分解为波形(b)和波形(c),也就是说,一个2FSK信号可以看成是两个不同载频的2ASK信号的叠加。
2FSK信号的调制方法主要有两种。
第一种是用二进制基带矩形脉冲信号去调制一个调频器,使其能够输出两个不同频率的码元。
第二种方法是用一个受基带脉冲控制的开关电路去选择两个独立频率源的振荡作为输出。
2FSK信号的接收也分为相关和非相关接收两类。
相关接收根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。
原理图如下:
非相关接收经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。
其原理图如下图所示:
图5(b)非相干方式
3.3、二进制相移键控(2PSK)
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中通常用初始相位0和分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式
其中,表示第n个符号的绝对相位:
0发送“0”时
发送“1”时
因此,式子可以改写为
概率为P
概率为1-P
典型波形如图所示。
由于表示信号的两种码元的波形相同,极性相反,故2PSK信号一般可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波的相乘,即
其中
这里,g(t)是脉宽为Ts的单个矩形脉冲,而的统计特性为
1概率为P
-1概率为1-P
2PSK信号的调制原理框图如图所示。
2ASK信号的产生方法比较知识对s(t)的要求不同,在2ASK中s(t)是单极性的,而在2PSK中s(t)是双极性的基带信号。
2PSK信号的解调通常采用相干解调法,解调器原理框图如图所示。
四.仿真源程序和代码
2ASK调制解调程序及注释
clearall
closeall
i=10;%10个码元
j=5000;
t=linspace(0,5,j);%0-5之间产生5000个点行矢量,即分成5000
fc=10;%载波频率
fm=i/5;%码元速率
%产生基带信号
x=(rand(1,i))%rand函数产生在0-1之间随机数,共1-10个
figure
(2)
plot(x)
a=round(x);%随机序列,round取最接近小数的整数
figure(3)
stem(a)%火柴梗状图
st=t;
forn=1:
10
ifa(n)<1;
form=j/i*(n-1)+1:
j/i*n
st(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st(m)=1;
end
end
end
figure
(1);
subplot(421);
plot(t,st);
axis([0,5,-1,2]);
title('基带信号st');
%载波
s1=cos(2*pi*fc*t);
subplot(422);
plot(s1);
title('载波信号s1');
%调制
e_2ask=st.*s1;
subplot(423);
plot(t,e_2ask);
title('已调信号');
noise=rand(1,j);
e_2ask=e_2ask+noise;%加入噪声
subplot(424);
plot(t,e_2ask);
title('加入噪声的信号');
%相干解调
at=e_2ask.*cos(2*pi*fc*t);
at=at-mean(at);%因为是单极性波形,还有直流分量,应去掉
subplot(425);
plot(t,at);
title('与载波相乘后信号');
[f,af]=T2F(t,at);%通过低通滤波器
[t,at]=lpf(f,af,2*fm);
subplot(426);
plot(t,at);
title('相干解调后波形');
%抽样判决
form=0:
i-1;
ifat(1,m*500+250)+0.5<0.5;
forj=m*500+1:
(m+1)*500;
at(1,j)=0;
end
else
forj=m*500+1:
(m+1)*500;
at(1,j)=1;
end
end
end
subplot(427);
plot(t,at);
axis([0,5,-1,2]);
title('抽样判决后波形')
2FSK调制解调程序及注释
clearall
closeall
i=10;%基带信号码元数
j=5000;
a=round(rand(1,i));%产生随机序列
t=linspace(0,5,j);
f1=10;%载波1频率
f2=5;%载波2频率
fm=i/5;%基带信号频率
%产生基带信号
st1=t;
forn=1:
10
ifa(n)<1;
form=j/i*(n-1)+1:
j/i*n
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
st2=t;
%基带信号求反
forn=1:
j;
ifst1(n)>=1;
st2(n)=0;
else
st2(n)=1;
end
end;
figure
(1);
subplot(411);
plot(t,st1);
title('基带信号st1');
axis([0,5,-1,2]);
subplot(412);
plot(t,st2);
title('基带信号反码st2');
axis([0,5,-1,2]);
%载波信号
s1=cos(2*pi*f1*t)
s2=cos(2*pi*f2*t)
subplot(413),plot(s1);
title('载波信号s1');
subplot(414),plot(s2);
title('载波信号s2');
%调制
F1=st1.*s1;%加入载波1
F2=st2.*s2;%加入载波2
figure
(2);
subplot(411);
plot(t,F1);
title('F1=s1*st1');
subplot(412);
plot(t,F2);
title('F2=s2*st2');
e_fsk=F1+F2;
subplot(413);
plot(t,e_fsk);
title('2FSK信号')%键控法产生的信号在相邻码元之间相位不一定连续
nosie=rand(1,j);
fsk=e_fsk+nosie;
subplot(414);
plot(t,fsk);
title('加噪声后信号')
%相干解调
st1=fsk.*s1;%与载波1相乘
[f,sf1]=T2F(t,st1);%通过低通滤波器
[t,st1]=lpf(f,sf1,2*fm);
figure(3);
subplot(311);
plot(t,st1);
title('与s1相乘后波形');
st2=fsk.*s2;%与载波2相乘
[f,sf2]=T2F(t,st2);%通过低通滤波器
[t,st2]=lpf(f,sf2,2*fm);
subplot(312);
plot(t,st2);
title('与s2相乘后波形');
%抽样判决
form=0:
i-1;
ifst1(1,m*500+250)forj=m*500+1:
(m+1)*500;
at(1,j)=0;
end
else
forj=m*500+1:
(m+1)*500;
at(1,j)=1;
end
end
end;
subplot(313);
plot(t,at);
axis([0,5,-1,2]);
title('抽样判决后波形')
2PSK调制解调程序及注释
clearall
closeall
i=10;
j=5000;
fc=4;%载波频率
fm=i/5;%码元速率
B=2*fm;
t=linspace(0,5,j);
%%%%%%%%%%产生基带信号
a=round(rand(1,i));%随机序列,基带信号
figure(3);
stem(a);
st1=t;
forn=1:
10
ifa(n)<1;
form=j/i*(n-1)+1:
j/i*n
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
figure
(1);
subplot(411);
plot(t,st1);
title('基带信号st1');
axis([0,5,-1,2]);
%基带信号求反
%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码
st2=t;
fork=1:
j;
ifst1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
subplot(412);
plot(t,st2);
title('基带信号反码st2');
axis([0,5,-1,2]);
st3=st1-st2;
subplot(413);
plot(t,st3);
title('双极性基带信号st3');
axis([0,5,-2,2]);
%载波信号
s1=sin(2*pi*fc*t);
subplot(414);
plot(s1);
title('载波信号s1');
%调制
e_psk=st3.*s1;
figure
(2);
subplot(511);
plot(t,e_psk);
title('e_2psk');
noise=rand(1,j);
psk=e_psk+noise;%加入噪声
subplot(512);
plot(t,psk);
title('加噪后波形');
%相干解调
psk=psk.*s1;%与载波相乘
subplot(513);
plot(t,psk);
title('与载波s1相乘后波形');
[f,af]=T2F(t,psk);%%%%%%%%%%%通过低通滤波器
[t,psk]=lpf(f,af,B);
subplot(514);
plot(t,psk);
title('低通滤波后波形');
%抽样判决
form=0:
i-1;
ifpsk(1,m*500+250)<0;
forj=m*500+1:
(m+1)*500;
psk(1,j)=0;
end
else
forj=m*500+1:
(m+1)*500;
psk(1,j)=1;
end
end
end
subplot(515);
plot(t,psk);
axis([0,5,-1,2]);
title('抽样判决后波形')
用到的傅立叶T2F函数
%利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。
%脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。
function[f,sf]=T2F(t,st)
dt=t
(2)-t
(1);
T=t(end);
df=1/T;
N=length(st);
f=-N/2*df:
df:
N/2*df-df;
sf=fft(st);
sf=T/N*fftshift(s);
用到的低通滤波器函数
function[t,st]=lpf(f,sf,B)
df=f
(2)-f
(1);
T=1/df;
hf=zeros(1,length(f));%全零矩阵
bf=[-floor(B/df):
floor(B/df)]+floor(length(f)/2);
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2T(f,yf);
st=real(st);
用到的反傅立叶函数
%脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。
function[t,st]=F2T(f,sf)
%Thisfunctioncalculatethetimesignalusingifftfunctionfortheinput
%signal'sspectrum
df=f
(2)-f
(1);
Fmx=(f(end)-f
(1)+df);
dt=1/Fmx;
N=length(sf);
T=dt*N;
%t=-T/2:
dt:
T/2-dt;
t=0:
dt:
T-dt;
sff=fftshift(sf);
st=Fmx*ifft(sff);
五、仿真结果及分析
5.12ASK分析
通过编写M文件程序,产生随机信号,编程后。
程序中注有需注意语句及解释。
运行程序,实现2ASK的调制与解调过程。
本次设计采用模拟调制法(相乘器法)和相干解调法。
仿真后调制过程及解调过程的图形分别如图1和图2所示。
图1.2ASK调制过程仿真图
图2.2ASK解调过程仿真图
由图可以看出,产生的数字随机信号为“0100100001”,经载波调制后信号为“1”的时间内有正弦波形,信号为“0”的时间内无波形。
经过加随机噪声,相干解调后,恢复出原始信号,与基带信号一致,因此达到本次设计目的。
5.22FSK分析
本次设计中采用键控法调制法和相干解调法。
仿真后调制过程及解调过程的图形分别如图3、图4和图5所示。
图32FSK键控法调制过程仿真图
图42FSK键控法调制过程仿真图
图52FSK相干解调过程仿真图
由图可以看出,产生的随机信号为“1011001001”,经过反相产生反码,并分别与两个载波相乘,经过加入随机噪声后波形如图2-15所示。
在解调时,分别与对应的载波相乘。
解调出基带信号,可以看出实现了本次设计目的。
5.3.2PSK仿真结果及分析
运行程序,实现2PSK的调制与解调过程。
本次设计采用模拟调制法和相干解调法。
仿真后调制过程及解调过程的图形分别如图6和图7所示。
图62PSK模拟调制方法过程仿真图
图72PSK相干解调过程仿真图
由图可以看出,产生的随机信号为“0011001100”,经过反相产生反码,并将原码跟反码一起合成双极性码,与载波相乘后加入随机噪声。
在解调时,与对应的载波相乘经过低通滤波、抽样判决后,解调出基带信号与原基带信号一致,可以看出实现了本次设计目的。