您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 直接序列扩频系统MATLAB仿真(BPSK调制)
1、生成m序列及m序列性质实验产生7位m序列,频率100Hz,模拟线性反馈移位寄存器序列,原理图如下:clearall;clc;X1=0;X2=0;X3=1;m=350;%重复50遍的7位单极性m序列fori=1:mY3=X3;Y2=X2;Y1=X1;X3=Y2;X2=Y1;X1=xor(Y3,Y1);L(i)=Y1;endfori=1:mM(i)=1-2*L(i);%将单极性m序列变为双极性m序列endk=1:1:m;figure(1)subplot(3,1,1)%做m序列图stem(k-1,M);axis([0,7,-1,1]);xlabel('k');ylabel('M序列');title('移位寄存器产生的双极性7位M序列');subplot(3,1,2)ym=fft(M,4096);magm=abs(ym);%求双极性m序列频谱fm=(1:2048)*200/2048;plot(fm,magm(1:2048)*2/4096);title('双极性7位M序列的频谱')axis([90,140,0,0.1]);[a,b]=xcorr(M,'unbiased');subplot(3,1,3)%求双极性m序列自相关函数plot(b,a);axis([-20,20,-0.5,1.2]);title('双极性7位M序列的自相关函数');01234567-1-0.500.51kM序列移位寄存器产生的双极性7位M序列909510010511011512012513013514000.050.1双极性7位M序列的频谱-20-15-10-505101520-0.500.51双极性7位M序列的自相关函数由上图可以看出,7位m序列为1,-1,-1,-1,1,-1,1。另外,自相关函数的图形比较尖锐,最大值为1,最小值为-1/7,符合理论结果。2、生成50位随机待发送二进制比特序列,并进行扩频编码生成的信息码频率为100/7Hz,利用m序列编码后,频率变为100Hz。N=50;a=0;x_rand=rand(1,N);%产生50个0与1之间随机数fori=1:Nifx_rand(i)=0.5%大于等于0.5的取1,小于0.5的取0x(i)=1;a=a+1;elsex(i)=0;endendt=0:N-1;figure(2)%做信息码图subplot(2,1,1)stem(t,x);title('扩频前待发送二进制信息序列');tt=0:349;subplot(2,1,2)l=1:7*N;y(l)=0;fori=1:Nk=7*i-6;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);ends(l)=0;fori=1:350%扩频后,码率变为100/7*7=100Hzs(i)=xor(L(i),y(i));endtt=0:7*N-1;stem(tt,s);axis([0,350,0,1]);title('扩频后的待发送序列码');0510152025303540455000.51扩频前待发送二进制信息序列05010015020025030035000.51扩频后的待发送序列码3、对扩频前后信号进行BPSK调制,观察其时域波形BPSK调制采用2kHz信号cos(2*2000*t)作为载波figure(3)subplot(2,1,2)fs=2000;ts=0:0.00001:3.5-0.00001;%为了使信号看起来更光滑,作图时采样频率为100kHz%ps=cos(2*pi*fs*ts);s_b=rectpulse(s,1000);%将冲激信号补成矩形信号s_bpsk=(1-2.*s_b).*cos(2*pi*fs*ts);%扩频后信号BPSK调制时域波形,(1-2.*s_b)是1,-1序列plot(ts,s_bpsk);xlabel('s');axis([0.055,0.085,-1.2,1.2])title('扩频后bpsk信号时域波形');subplot(2,1,1)s_bb=rectpulse(x,7000);s_bpskb=(1-2.*s_bb).*cos(2*pi*fs*ts);%无扩频信号BPSK调制时域波形plot(ts,s_bpskb);xlabel('s');axis([0.055,0.085,-1.2,1.2]);title('扩频前bpsk信号时域波形')0.0550.060.0650.070.0750.080.085-1-0.500.51s扩频后bpsk信号时域波形0.0550.060.0650.070.0750.080.085-1-0.500.51s扩频前bpsk信号时域波形可以看出,100/7Hz的无扩频信号每0.07s时由于序列极性变换产生相位变4、计算并观察扩频前后BPSK调制信号的频谱对信号采用400000点fft计算,得到频谱figure(4)N=400000;ybb=fft(s_bpskb,N);%无扩频信号BPSK调制频谱magb=abs(ybb);fbb=(1:N/2)*100000/N;subplot(2,1,1)plot(fbb,magb(1:N/2)*2/N);axis([1700,2300,0,0.8]);title('扩频前调制信号频谱');xlabel('Hz');subplot(2,1,2)yb=fft(s_bpsk,N);%扩频信号BPSK调制频谱mag=abs(yb);fb=(1:N/2)*100000/N;plot(fb,mag(1:N/2)*2/N);axis([1700,2300,0,0.8]);title('扩频后调制信号频谱');xlabel('Hz');170018001900200021002200230000.20.40.60.8扩频前调制信号频谱Hz170018001900200021002200230000.20.40.60.8扩频后调制信号频谱Hz如图,扩频前信号主瓣宽度约为2*100/7=28Hz,扩频后,信号频谱展宽,主瓣1900~2100Hz约为200Hz,为无扩频信号频谱宽度的N=7倍,符合理论推算。5、仿真经awgn信道传输后,扩频前后信号时域及频域的变化awgn信道模拟了真实的信道,为传输信号增加了高斯白噪声。在本次仿真中,设定信道信噪比为3dB,即信噪比约为2。figure(5)subplot(2,2,1)s_bpskba=awgn(s_bpskb,3,'measured');%经过信道加高斯白噪,信噪比为3dbwplot(ts,s_bpskb,ts,s_bpskba);axis([0,0.005,-1.2,1.2]);xlabel('t');title('经过信道加噪后的信号与原信号时域波形对比');subplot(2,2,3)s_bpska=awgn(s_bpsk,3,'measured');plot(ts,s_bpsk,ts,s_bpska);title('扩频后经加噪过信道后的信号与原信号时域波形对比');xlabel('t');axis([0.0675,0.0725,-1.2,1.2]);subplot(2,2,2)ybba=fft(s_bpskba,N);%无扩频调制信号经信道后频谱分析magba=abs(ybba);plot(fbb,magba(1:N/2)*2/N);title('扩频前经信道调制信号频谱');axis([1700,2300,0,0.8]);xlabel('Hz');subplot(2,2,4)yba=fft(s_bpska,N);%扩频调制信号经信道后频谱分析maga=abs(yba);fb=(1:N/2)*100000/N;plot(fb,maga(1:N/2)*2/N);axis([1700,2300,0,0.8]);xlabel('Hz');title('扩频后经信道调制信号频谱');00.511.522.533.544.55x10-3-1-0.500.51t经过信道加噪后的信号与原信号时域波形对比0.06750.0680.06850.0690.06950.070.07050.0710.07150.072-1-0.500.51扩频后经加噪过信道后的信号与原信号时域波形对比t170018001900200021002200230000.20.40.60.8扩频前经信道调制信号频谱Hz170018001900200021002200230000.20.40.60.8Hz扩频后经信道调制信号频谱可以看出,蓝色为光滑余弦调制信号,绿色为加噪声后时域波形,出现较大锯齿。至于频谱变化,这张图并不明显,于是我在下一张图继续比较了加入高斯噪声后的频谱变化。6、对比经信道前后两种信号的频谱变化figure(6)title('对比经信道前后的信号频谱');subplot(2,2,1)plot(fbb,magb(1:N/2)*2/N);axis([0,4000,0,0.04]);title('扩频前调制信号频谱');xlabel('Hz');subplot(2,2,2)plot(fbb,magba(1:N/2)*2/N);axis([0,4000,0,0.04]);title('扩频前经信道调制信号频谱');xlabel('Hz');subplot(2,2,3)plot(fb,mag(1:N/2)*2/N);axis([0,4000,0,0.04]);title('扩频后调制信号频谱');xlabel('Hz');subplot(2,2,4)plot(fb,maga(1:N/2)*2/N);axis([0,4000,0,0.04]);title('扩频后经信道调制信号频谱');xlabel('Hz');0500100015002000250030003500400000.010.020.030.04扩频前调制信号频谱Hz0500100015002000250030003500400000.010.020.030.04扩频前经信道调制信号频谱Hz0500100015002000250030003500400000.010.020.030.04扩频后调制信号频谱Hz0500100015002000250030003500400000.010.020.030.04扩频后经信道调制信号频谱Hz由上图可以清楚地对比经高斯白噪声信道前后的频谱对比。虽然整体的幅度趋势不变,但是能看出,经过信道加噪后,在所有的频率点上都产生了一定的振幅,符合高斯白噪声的原理。此处的信噪比为3dB。另外可以看出,BPSK调制将信号频谱搬移到了以2000Hz为中心频率的频段上。
本文标题:直接序列扩频系统MATLAB仿真(BPSK调制)
链接地址:https://www.777doc.com/doc-2171018 .html