作者:肖应权
数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性。必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。根据控制载波参量大的不同,数字调制有调幅(ASK),调频(FSK),调相(PSK) 三种基本形式。Matlab用于仿真,分析和修改,还可以应用图形界面功能GUI能为仿真系统生成一个人机交互界面,便于仿真系统的操作,因此采用matlab对数字系统进行仿真。通过对系统的仿真,我们可以更加直观的了解数字调制系统的性能及影响性能的因素,从而便于改进系统,获得更佳的传输性能。
1. 二进制数字调制技术原理
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。通常使用键控法来实现数字调制,比如对载波的振幅、频率和相位进行键控。
2. 2ASK
2ASK信号的产生方法通常有两种:模拟调制和键控法。解调有相干解调和非相干解调。P=1时f(t)=Acoswt;p=0时f(t)=0;其功率谱密度是基带信号功率谱的线性搬移。2ASK时域表示及波形,2ASK是利用代表数字信息("0"或"1")的基带矩形脉冲去键控一个连续的正弦型载波的振幅,使载波时断时续地输出。有载波输出时表示发送"1",无载波输出时表示发送"0"。
数字基带信号如式(1)
式中g(t)是宽度为Ts、高度为A的矩形脉冲。a n为数字序列{a n}的第n个码元的电平值。显然,上式给出的表达是单极性不归零码。载波 c(t)=COS(ωct+ 0 ), 初始相位 0 =0。
对应的波形如图2:
特点:"1"码期间有等幅正弦波输出,相当于开关开通;"0"码期间无输出,相当于开关切断。因此,数字调幅又称为开关键控(通断键控),记作OOK(On Off Keying)。
两种调制方法如图3:
图3 2ASK的两种调制方法
2ASK在matlab下的仿真如下:
clear all
close all
i=10;
j=5000;
t=linspace(0,5,j);%取0,0.001,0.002,。。。5 共5001个点
fc=10;
fm=i/5;
B=2*fc; %产生基带信号
a=round(rand(1,i));%随机序列
figure(2)
plot(rand(1,i))
st=t;
for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n %一个信号取500个点
st(m)=0;
end
else
for m=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('基带信号');
s1=cos(2*pi*fc*t); %载波
subplot(422);
plot(s1);
title('载波信号');
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('解调后波形');
for m=0:i-1; %抽样判决
if at(1,m*500+250)+0.5<0.5;
for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end
end
subplot(427);
plot(t,at);
axis([0,5,-1,2]);
title('抽样判决后波形')
3. 2FSK
一个FSK信号可以看成是两个不同载波的2ASK信号的叠加。其解调和解调方法和ASK差不多。2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。
公式如下:
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
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(411);
plot(t,F1);
title('s1*st1');
subplot(412);
plot(t,F2);
title('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('与载波1相乘后波形');
st2=fsk.*s2;%与载波2相
[f,sf2] = T2F(t,st2);%通过低通滤波器
[t,st2] = lpf(f,sf2,2*fm);
subplot(312);
plot(t,st2);
title('与载波2相乘后波形');
for m=0:i-1; %抽样判决
if st1(1,m*500+250)<0.25;
for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end
end;
subplot(313);
plot(t,at);
axis([0,5,-1,2]);
title('抽样判决后波形')
4. 2PSK
2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0,当基带信号为1时相 对于初始相位为180°。
clear all
close all
i=10;
j=5000;
fc=4;
fm=i/5;
B=2*fm;
t=linspace(0,5,j); %产生基带信号
a=round(rand(1,i));
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
end
end
subplot(321);
plot(t,st1);
title('基带信号');
axis([0,5,-1,2]);
st2=t; %基带信号求反
for k=1:j;
if st1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
subplot(322);
plot(t,st2);
title('基带信号反码');
axis([0,5,-1,2]); %载波信号
s1=sin(2*pi*fc*t);
s2=sin(2*pi*fc*t+pi);
subplot(323);
plot(s1);
title('载波信号'); %调制
p1=st1.*s1;
p2=st2.*s2;
subplot(324);
plot(t,p1);
title('st1*s1');
subplot(325);
plot(t,p2);
title('st2*s2');
e_psk=p1+p2;
subplot(326);
plot(t,e_psk);
title('e_2psk');
noise=rand(1,j);
psk=e_psk+noise;%加入噪声
figure(2);
subplot(411);
plot(t,psk);
title('加噪后波形'); %相干解调
psk=psk.*s1;%与载波相乘
subplot(412);
plot(t,psk);
title('与载波相乘后波');
[f,af] = T2F(t,psk);%通过低通滤波器
[t,psk] = lpf(f,af,B);
subplot(413);
plot(t,psk);
title('通过低通滤波器波形'); %抽样判决
for m=0:i-1;
if psk(1,m*500+250)<0;
for j=m*500+1:(m+1)*500;
psk(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
psk(1,j)=1;
end
end
end
subplot(414);
plot(t,psk);
axis([0,5,-1,2]);
title('抽样判决后波形')
通过以上的仿真分析,我们可以知道,在误码率相同的情况下,所需要的信噪比2ASK比2FSK高3dB,2fsk比2psk高3db,2ask比2psk高6db。也就是说,若信噪比r一定,2psk系统的误码率比2fsk的小,2fsk系统的误码率比2ask的小,由此看来,在抗加性高斯白噪声方面,想干2psk性能最好,2fsk次之,2ask最差。当然,后面还有DPSK,等等改进型的。