1、直接序列扩频系统MATLAB仿真BPSK调制1、生成m序列及m序列性质实验产生7位m序列,频率100Hz,模拟线性反馈移位寄存器序列,原理图如下:clear all;clc;X1=0;X2=0;X3=1;m=350; %重复50遍的7位单极性m序列for i=1:mY3=X3; Y2=X2; Y1=X1;X3=Y2; X2=Y1;X1=xor(Y3,Y1);L(i)=Y1;endfor i=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);x
2、label(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序列的自相关函数);由上图可以看出,7位
3、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之间随机数for i=1:Nif x_rand(i)=0.5 %大于等于0.5的取1,小于0.5的取0x(i)=1;a=a+1;else x(i)=0;endendt=0:N-1;figure(2) %做信息码图subplot(2,1,1)stem(t,x);title(扩频前待发
4、送二进制信息序列);tt=0:349;subplot(2,1,2)l=1:7*N;y(l)=0;for i=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;for i=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(扩频后的待发送序列码);3、对扩频前后
5、信号进行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
6、,-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信号时域波形)可以看出,100/7Hz的无扩频信号每0.07s时由于序列极性变换产生相位变4、计算并观察扩频前后BPSK调制信号的频谱对信号采用400000点fft计算,得到频谱figure(4)N=400000;ybb=
7、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(扩频后调制信号频谱);xlabe
8、l(Hz);如图,扩频前信号主瓣宽度约为2*100/7=28Hz,扩频后,信号频谱展宽,主瓣19002100Hz约为200Hz,为无扩频信号频谱宽度的N=7倍,符合理论推算。5、仿真经awgn信道传输后,扩频前后信号时域及频域的变化awgn信道模拟了真实的信道,为传输信号增加了高斯白噪声。在本次仿真中,设定信道信噪比为3dB,即信噪比约为2。figure(5)subplot(2,2,1)s_bpskba=awgn(s_bpskb,3,measured);%经过信道加高斯白噪,信噪比为3dbw plot(ts,s_bpskb,ts,s_bpskba);axis(0,0.005,-1.2,1.2)
9、;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(扩频前经信道调制信号频谱);axi
10、s(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(扩频后经信道调制信号频谱);可以看出,蓝色为光滑余弦调制信号,绿色为加噪声后时域波形,出现较大锯齿。至于频谱变化,这张图并不明显,于是我在下一张图继续比较了加入高斯噪声后的频谱变化。6、对比经信道前后两种信号的频谱变化figure(6)title
11、(对比经信道前后的信号频谱);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);由上图可以清楚地对比经高斯白噪声信道前后的频谱对比。虽然整体的幅度趋势不变,但是能看出,经过信道加噪后,在所有的频率点上都产生了一定的振幅,符合高斯白噪声的原理。此处的信噪比为3dB。另外可以看出,BPSK调制将信号频谱搬移到了以2000Hz为中心频率的频段上。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1