1直接序列扩频通信系统的误码率仿真1.引言扩展频谱通信系统是将基带信号的频谱扩展至很宽的频带上,然后再进行传输的一种通信系统,即将待传送的信息数据用伪随机编码调制,实现频谱扩展后再传输,接收端则采用同样的编码进行解调及相关处理,恢复原始信息数据。扩频通信的基础理论根据信息论中的shannon公式)(NSBC/1log2式中,C是系统的信道容量,B是系统信道带宽,N是噪声功率,S为信号的功率,S/N即为信噪比。Shannon公式表明了一个系统信道无误差的传输信息的能力与存在于信道中的信噪比以及用于传输信息的系统信道带宽之间的关系。该公式说明了两个极为重要的概念:一是在一定的信道容量条件下,可以用减少发送信号功率、增加带宽的方法来达到信道容量的要求;另一个是可以采用减少带宽而增加信号功率的方法来达到信道容量的要求。这也就说明了信道容量可以通过带宽与信噪比的互换来保持不变。在实际的工程应用中,改变信号的功率并不容易,相比较而言,扩展信号的带宽更容易操作,所以,要提高信道容量,采用增加信号的带宽比提高信号功率的方法要有效的多。由于扩频通信系统可以在信号功率远低于噪声功率的环境中工作,因此扩频通信系统具有抗干扰能力强,保密性强等优点,在现在通信领域内的应用越来越广泛。2.系统概述本次仿真实验是以MATLAB为仿真平台,信号是8位双极性二进制信号,由1和-1组成。随后对产生的双极性信号进行时域抽样,得到基带信号s,是一组1024位的信息码。伪随机序列由mgen函数产生,共有1024个码元。对已得到的基带信号进行扩频调制,直接把基带信号S与产生的伪随机序列相乘,得到扩频信号。然后对已作扩频处理的信号作BPSK载波调制,得到发射信号。发射信号通过存在高斯白噪声的信道,到达接到端,接收端首先对信号进行解调,将信号解调到中频段,然后将解调的信号与伪随机信号码作乘法运算,对解调2信号进行解扩。解扩信号中由于存在高斯白噪声,所有要对噪声进行滤波处理,由于信号为低频基带信号,所以用由汉明窗设计成的FIR低通数字滤波器对解扩信号作低通滤波,产生的信号在经过检验判决,最后还原为原始信号。误码率的计算是由一个比较程序完成的,对判决得到的信号与原始信号进行位对位的比较,计算判决得到的信号中相比原始信号不同的码元的个数,然后将错误码元个数除以总的码元个数,得到在此信噪比下的误码率。3.系统参数信息码元数8位二进制码调制方式BPSK信息码速率128bps扩频码速率8bps采样率128Hz信道参数高斯白噪声信道,信噪比为自定义值4.系统结构扩频通信系统的结构框图如图1所示:图1扩频通信系统的系统结构原始信息码是8位双极性二进制信号,然后再通过时域上的抽样,最后变成信息码。扩频码是由函数mgen产生的十六位伪随机信号,然后对随机信号进行抽样,然后再复制加长,最后产生扩频码。mgen函数的程序代码如下:.function[out]=mgen(g,state,N)gen=dec2bin(g)-48;%二进制数转换成相应的数字向量M=length(gen);curState=dec2bin(state,M-1)-48;fork=1:Nout(k)=curState(M-1);a=rem(sum(gen(2:end).*curState),2);curState=[acurState(1:M-2)];end信息码产生解扩信息码恢复扩频扩频码产生白噪声信道滤波3信息码与扩频码进行乘法运算,完成扩频过程。对扩频信号进行载波调制,应用BPSK(二进制相位键控)把扩频信号调制到发射频率上,形成发射信号。发射信号加高斯白噪声,通过函数awgn(signal,snr,’measured’)对扩频信号加入噪声干扰。这个函数的好处是可以通过对snr的改变,实现信号的信噪比的变化。加入噪声后的信号进入接收端,成为接受信号,对接受信号进行BPSK解调处理,然后对调后的信号进行解扩。解扩的方法是用与发射端进行扩频处理时使用的伪随机码完全一样的伪随机序列与解调的信号相乘,将信号解扩。解扩后得到的信号由于仍存在噪声的干扰,因此进行低通滤波,滤波器选用比较常用的FIR数字滤波器。滤波后的信号进行检验判决,最后恢复原始信号。最后,通过对恢复信号码与原始信号码逐位的比较,得到误码的个数,最后经过计算,得出误码率。5.系统工作原理(1)程序代码流程图4产生8位信息码元抽样,抽样频率为128产生信息码由megn产生8位随机码元对8位随机码进行抽样扩展产生1024位的扩频码序列信息码与扩频码相乘扩频信号对扩频信号进行BPSK调制AWGN加入高斯白噪声*sin(2*pi*0.5*n)乘以扩频码-解扩低通滤波取实部*cos(2*pi*0.5*n)乘以扩频码-解扩低通滤波取实部两路信号相加抽样判决,恢复输出信号输出信号与原信号做对比得出误码率5(2)扩频通信系统的误码率仿真程序如下:code_length=8;x=[11-11-11-1-1];%产生信号码fori=1:8%对信号进行抽样,抽样率为128s(1+(i-1)*128:i*128)=x(i);endn=1:1:1024;subplot(3,2,1)plot(n,s);axis([11024-1.51.5])ylabel('信息码');figure(1)PN_length=16;Pn=sign(mgen(19,8,PN_length)-0.5);%产生伪随机码,为双极型码fori=1:PN_length%对伪随机码进行抽样编码,抽样率为8PN2(1+(i-1)*8:i*8)=Pn(i);endPN=[PN2PN2PN2PN2PN2PN2PN2PN2];subplot(3,2,2)plot(n,PN);axis([11024-1.51.5])ylabel('扩频码');figure(1);k_signal=s.*PN;%对已编码的信号进行扩频subplot(3,2,3)plot(n,k_signal);axis([11024-1.51.5])ylabel('扩频信号')figure(1);bpsk_m=zeros(1,1024);%对扩频信号作BPSK调制j=1;k=1;fori=1:1024if(j==2)j=1;k=k+1;end;%0.05*pi为初始相位,可以任意改变,这里设为0.05*pibpsk_m(1,i)=k_signal(1,k)*sin(2*pi*0.5*i+0.05*pi)+k_signal(1,k)*cos(2*pi*0.5*i+0.05*pi);j=j+1;6endsubplot(3,2,4)plot(n,bpsk_m);axis([11024-1.51.5])ylabel('BPSK调制信号')figure(1);y=awgn(bpsk_m,-4,'measured');%加入白噪声,此处的信噪比为-4dBsubplot(3,2,5)plot(n,y);axis([11024-22])ylabel('加入高斯白噪声后的调制信号')figure(1);bpsk_m1=y.*sin(2*pi*0.5*n);%解调bpsk_m2=y.*cos(2*pi*0.5*n);signal_jk1=bpsk_m1.*PN;%解扩signal_jk2=bpsk_m2.*PN;signal_j=signal_jk1+signal_jk2;subplot(3,2,6)plot(n,signal_j);axis([11024-22])ylabel('解扩的信号')figure(1);N=1024;h0=zeros(1,N);f=[00.10.11];w0=[1100];b=fir2(40,f,w0);%由汉明窗构成的40阶低通滤波器[h,w]=freqz(b,1,N/2);h0(1,1:N/2)=abs(h');fori=1:N/2h0(1,N-i+1)=h0(1,i);end;tempx=fft(signal_jk1);tempx=tempx.*h0;%低通滤波tempx=ifft(tempx);real_x=real(tempx);tempx=h0.*fft(signal_jk2);tempx=tempx.*h0;%低通滤波tempx=ifft(tempx);real_x1=real(tempx);7figure(2)subplot(2,2,1)plot(n,real_x1+real_x);axis([1N-1.51.5]);ylabel('滤波后的信号')In=real_x1+real_x;%取了两路之和fori=1:N%滤波后整形if(In(1,i)0)%判决,得到解调结果In(1,i)=1;elseIn(1,i)=-1;endendfigure(2)subplot(2,2,2)plot(n,In);axis([1N-1.51.5]);ylabel('判决后的最终信号')%计算误码率r=0;forj=1:N%计算错误码元的个数if(s(j)==In(j))elser=r+1;endendPe=r/N;%计算误码率,误码率=错误码元的个数/所有信号码元个数Pe6.计算机仿真结果在信噪比为-4dB的情况下,仿真结果如图:8(2)信号的恢复,恢复信号如图:有前后两幅仿真结果可以看出,信号经过扩频-调制-加噪声-解调-解扩-滤波-判决一系列过程之后,最终恢复为原来的信号。程序运行的误码率为0.88%,这个结果可以说明在信噪比较低的环境中,扩频通信系统也具有良好的性能。1002003004005006007008009001000-101信息码1002003004005006007008009001000-101扩频码1002003004005006007008009001000-1.5-1-0.500.511.5扩频信号1002003004005006007008009001000-1.5-1-0.500.511.5BPSK调制信号1002003004005006007008009001000-2-1012加入高斯白噪声后的调制信号1002003004005006007008009001000-2-1012解扩的信号1002003004005006007008009001000-1.5-1-0.500.511.5滤波后的信号1002003004005006007008009001000-1.5-1-0.500.511.5判决后的最终信号9