数字调制系统在Matlab下的分析
数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性。必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。根据控制载波参量大的不同,数字调制有调幅(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°。 通过以上的仿真分析,我们可以知道,在误码率相同的情况下,所需要的信噪比2ASK比2FSK高3dB,2fsk比2psk高3db,2ask比2psk高6db。也就是说,若信噪比r一定,2psk系统的误码率比2fsk的小,2fsk系统的误码率比2ask的小,由此看来,在抗加性高斯白噪声方面,想干2psk性能最好,2fsk次之,2ask最差。当然,后面还有DPSK,等等改进型的。
|