《大学毕设论文--bpsk调制的matlab仿真论文课程设计实验报告.doc》由会员分享,可在线阅读,更多相关《大学毕设论文--bpsk调制的matlab仿真论文课程设计实验报告.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北京邮电大学移动通信课程设计实验报告目录一、背景4二、基本要求4三、设计概述 4四、Matlab设计流程图5五、Matlab程序及仿真结果图61、生成m序列及m序列性质62、生成50位随机待发送二进制比特序列,并进行扩频编码73、对扩频前后信号进行BPSK调制,观察其时域波形94、计算并观察扩频前后BPSK调制信号的频谱105、仿真经awgn信道传输后,扩频前后信号时域及频域的变化116、对比经信道前后两种信号的频谱变化127、接收机与本地恢复载波相乘,观察仿真时域波形148、与恢复载波相乘后,观察其频谱变化159、仿真观察信号经凯萨尔窗低通滤波后的频谱1610、观察经过低通滤波器后无扩频与扩
2、频系统的时域波形1711、对扩频系统进行解扩,观察其时域频域1812、比较扩频系统解扩前后信号带宽1913、比较解扩前后信号功率谱密度2014、对解扩信号进行采样、判决2115、在信道中加入20402050Hz窄带强干扰并乘以恢复载波2416、对加窄带干扰的信号进行低通滤波并解扩2517、比较解扩后信号与窄带强干扰的功率谱27六、误码率simulink仿真281、直接扩频系统信道模型282、加窄带干扰的直扩系统建模293、用示波器观察发送码字及解扩后码字304、直接扩频系统与无扩频系统的误码率比较315、不同扩频序列长度下的误码率比较326、扩频序列长度N=7时,不同强度窄带干扰下的误码率比较
3、33七、利用Walsh码实现码分多址技术341、产生改善的walsh码352、产生两路不同的信息序列363、用两个沃尔什码分别调制两路信号384、两路信号相加,并进行BPSK调制395、观察调制信号频谱,并经awgn信道加高斯白噪和窄带强干扰406、接收机信号乘以恢复载波,观察时域和频域427、信号经凯萨尔窗低通滤波器438、对滤波后信号分别用m1和m2进行解扩449、对两路信号分别采样,判决45八、产生随机序列Gold码和正交Gold码471、产生Gold码并仿真其自相关函数482、产生正交Gold码并仿真其互相关函数50九、实验心得体会51直接序列扩频系统仿真一、 背景直接序列扩频通信系统
4、(DSSS)是目前应用最为广泛的系统。在发送端,直扩系统将发送序列用伪随机序列扩展到一个很宽的频带上去,在接受端又用相同的扩频序列进行解扩,回复出原有信息。由于干扰信息与伪随机序列不相关,扩频后能够使窄带干扰得到有效的抑制,提高输出信噪比。系统框图如下图所示:二、基本要求:1. 通过matlab建模,对直扩系统进行仿真,数据调制方式可以自由选择,可以使用基带信号,但最好能使用频带信号,信道为高斯白噪信道。要仿真出扩频前的信号的频偏,扩频后的信号频谱,过信道之后的频谱以及解扩之后的频谱。2. 研究并仿真产生m序列,写出生成m序列的算法。3. 验证直扩系统对窄带干扰的抑制能力,在信道中加入一个窄带
5、强干扰,仿真出加了干扰后的频谱图和解扩后的频谱图,给出误码率等仿真图。4. 在以上基础上仿真实现码分多址技术,使用Walsh码进行复用,实现多个信号同时传输。(选做)可选项:1.在信道中加入多径,使用rake接收来抗多径效应。2.产生除m序列之外的其他随机序列,如Gold码,正交Gold码等等。3.对比无扩频的系统的误码率。三、 设计概述本次课设完成基本要求,并选作了可选项码分多址,Gold码及误码率对比。通过matlab建模仿真了直扩系统BPSK调制的各点频偏及时域信号,并仿真了窄带强干扰对直扩系统的影响以及利用改善的WALSH码实现码分多址技术。另外,通过matlab的simulink工具
6、盒bertool工具仿真对比了直扩系统和无扩频系统的误码率。四、 matlab设计流程图100Hz 扩频序列100/7Hz 二进制比特信息100Hz 7位双极性m序列2000Hz 载波cos4000tBPSK调制信号高斯白噪声恢复载波cos4000t100Hz 7位双极性m序列凯萨尔滤波器低通滤波采样、判决基本扩频系统仿真流程图- 50 -五、 matlab程序及仿真结果图1、 生成m序列及m序列性质实验产生7位m序列,频率100Hz,模拟线性反馈移位寄存器序列,原理图如下:clear all;clc;X1=0;X2=0;X3=1; m=350; %重复50遍的7位单极性m序列for i=1:
7、m Y3=X3; Y2=X2; Y1=X1; X3=Y2; X2=Y1; X1=xor(Y3,Y1); L(i)=Y1;endfor i=1:m M(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,ma
8、gm(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位m序列为1,-1,-1,-1,1,-1,1。另外,自相关函数的图形比较尖锐,最大值为1,最小值为-1/7,符合理论结果。2、生成50位随机待发送二进制比特序列,并进行扩频编码生成的信息码频率为100/7Hz,利用m序列编码后,频率变为100Hz。N=50;a=0
9、;x_rand=rand(1,N);%产生50个0与1之间随机数for i=1:N if x_rand(i)=0.5%大于等于0.5的取1,小于0.5的取0 x(i)=1;a=a+1; else x(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;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
10、;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=100Hz s(i)=xor(L(i),y(i);endtt=0:7*N-1;stem(tt,s);axis(0,350,0,1);title(扩频后的待发送序列码);3、对扩频前后信号进行BPSK调制,观察其时域波形BPSK调制采用2kHz信号cos(2*2000*t)作为载波figure(3)subplot(2,1,2)fs=2000;ts=0:0.00001:3.5-0.00001;%为了使信号看起来更光滑,作图时采样频率为10
11、0kHz % 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,
12、s_bpskb);xlabel(s);axis(0.055,0.085,-1.2,1.2);title(扩频前bpsk信号时域波形)可以看出,100/7Hz的无扩频信号每0.07s时由于序列极性变换产生相位变换,100Hz的扩频后调制信号每0.01s由于序列极性变换产生相位变换。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:
13、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);如图,扩频前信号主瓣宽度约为2*100/7=28Hz,扩频后,信号频谱展宽,主瓣19002100Hz约为200Hz,为无扩频信号频谱宽度的N=7倍,符合理论推算。5、仿真经awgn
14、信道传输后,扩频前后信号时域及频域的变化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_bp
15、sk,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:
16、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(对比经信道前后的信号频谱);subplot(2,2,1)plot(fbb,magb(1:N/2)*2/N);axis(0,4000,0,0.04);title(扩频前调制信号频谱);xlabel
17、(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);由上图可以清楚地对比经高斯白噪声信道前后的频谱对比。虽
18、然整体的幅度趋势不变,但是能看出,经过信道加噪后,在所有的频率点上都产生了一定的振幅,符合高斯白噪声的原理。此处的信噪比为3dB。另外可以看出,BPSK调制将信号频谱搬移到了以2000Hz为中心频率的频段上。下面,我将分别仿真解调解扩后译码输出及加入窄带强干扰后解调解扩译码输出的时域和频谱。(1) 不加窄带强干扰7、 接收机与本地恢复载波相乘,观察仿真时域波形figure(7)subplot(2,1,1)reb=s_bpskba.*cos(2*pi*fs*ts);%无扩频系统接收信号乘以本地恢复载波信号plot(ts,reb);axis(0.055,0.085,-1.5,1.5);xlabel
19、(t);title(扩频前接收信号乘以恢复载波);subplot(2,1,2)re=s_bpska.*cos(2*pi*fs*ts);%扩频系统接收信号乘以本地恢复载波信号plot(ts,re);axis(0.055,0.085,-1.5,1.5);xlabel(t);title(扩频后接收信号乘以恢复载波);可以看出,接收信号乘以恢复载波后,已经能大致恢复出信号的变化。同时,无扩频系统符号速率仍然是100/7Hz即0.07s出现符号变化,扩频系统100Hz即0.01s出现符号变化。8、与恢复载波相乘后,观察其频谱变化figure(8)subplot(2,1,1)yreb=fft(reb,N)
20、;magreb=abs(yreb);freb=(1:N/2)*100000/N;plot(freb,magreb(1:N/2)*2/N);axis(0,5000,0,0.5);title(扩频前乘以恢复载波后信号频谱);subplot(2,1,2)yre=fft(re,N);magre=abs(yre);plot(freb,magre(1:N/2)*2/N);title(扩频后乘以恢复载波后信号频谱);axis(0,5000,0,0.5);可以看出,信号乘以频率为2kHz的恢复载波后,在基带和4kHz处存在频谱分量,则下一步需要对信号进行低通滤波。9、仿真观察信号经凯萨尔窗低通滤波后的频谱fi
21、gure(9)subplot(2,1,1)fp=100;fc=200;as=100;ap=1;%衰减100dBfsw=22000;wp=2*fp/fsw;wc=2*fc/fsw;Nw=ceil(as-7.95)/(14.36*(wc-wp)/2)+1;%求凯萨尔窗低通滤波器阶数beta=0.1102*(as-8.7);window=kaiser(Nw+1,beta);b=fir1(Nw,wc,window);%返回截止频率为wc的Nw阶的低通滤波器系数向量bs=abs(freqz(b,1,400000,fsw);%频率响应,400000点的fft变换plot(bs)magrebl=bs.*ma
22、greb;%频谱与低通滤波器相乘plot(freb,magrebl(1:N/2)*2/N);axis(0,200/7,0,1);title(扩频前:信号经过凯萨尔窗函数低通滤波);xlabel(Hz);subplot(2,1,2)magrel=bs.*magre;plot(freb,magrel(1:N/2)*2/N);title(扩频后:信号经过凯萨尔窗函数低通滤波);axis(0,200,0,0.4);xlabel(Hz);10、观察经过低通滤波器后无扩频与扩频系统的时域波形figure(10)subplot(2,1,1)yrebl=real(ifft(bs.*yreb,400000);%
23、对无扩频系统频谱做ifft变换tm=(1:N)/N*4;plot(tm,yrebl);xlabel(t);title(扩频前经过凯萨尔窗函数滤波后时域波形);subplot(2,1,2)yrel=real(ifft(bs.*yre,400000);%对扩频系统频谱做ifft变换plot(tm,yrel);xlabel(t);title(扩频后经过凯萨尔窗函数滤波后时域波形);如图,经过低通滤波器后,高频分量基本消失,剩下的信号已经能够进行采样判决,时域波形与原信息基本吻合。11、对扩频系统进行解扩,观察其时域频域figure(11)subplot(2,1,1)jj=rectpulse(M,10
24、00);%扩频信号乘以解扩序列yrej=jj.*yrel(1:350000);plot(ts(1:350000),yrej);xlabel(t);axis(0,4,-0.5,0.5);title(解扩后信号波形);subplot(2,1,2)yj=fft(yrej,N);magj=abs(yj);plot(freb,magj(1:N/2)*2/N);axis(0,500,0,0.2);title(解扩后信号频谱);xlabel(Hz);由于扩频信号与m序列具有良好的相关性,故乘以m序列以后,能基本还原出原信号波形。同时可以看出,频谱已经由扩展带宽再次缩短,还原出原信号频谱。12、比较扩频系统解
25、扩前后信号带宽figure(12)title(解扩前后信号频偏对比);subplot(2,1,1)plot(freb,magrel(1:N/2)*2/N);axis(0,200,0,0.4);title(解扩前信号频偏);subplot(2,1,2)plot(freb,magj(1:N/2)*2/N);axis(0,200,0,0.4);title(解扩后信号频偏);可以清楚看出,解扩前信号主瓣约为100Hz,解扩后恢复为100/7Hz,与发送信息吻合。13、比较解扩前后信号功率谱密度figure(13)subplot(2,1,1)yjb=fft(yrel,N);prelb=yjb.*conj
26、(yjb)/N;plot(freb,prelb(1:N/2)*2/N);axis(0,200,0,0.01);title(解扩前信号功率谱);xlabel(Hz);subplot(2,1,2)yj=fft(yrej,N);prel=yj.*conj(yj)/N;plot(freb,prel(1:N/2)*2/N);axis(0,200,0,0.01);title(解扩后信号功率谱);xlabel(Hz); 如图,解扩后信号的频谱被压缩,功率幅度增加,符合理论分析结果。14、 对解扩信号进行采样、判决figure(14)subplot(2,1,1)for i=1:1:350 ij=i*1000-
27、500; ss(i)=yrej(ij);endstem(ss);title(解扩信号采样);subplot(2,1,2)for i=1:1:350%判决信号算法 if ss(i)0.2 ss(i)=1; elseif ss(i)=0.5 x1(i)=1;a=a+1; else x1(i)=0; endendt=0:N-1;subplot(2,1,1)stem(t*0.08,x1);xlabel(t/s);title(扩频前待发送二进制信息序列1);x_rand=rand(1,N);for i=1:N if x_rand(i)=0.5 x2(i)=1;a=a+1; else x2(i)=0; endendsubplot(2,1,2)stem(t*0.08,x2);title(扩频前待发送二进制信息序列2);xlabel(t/s);3、 用两个沃尔什码分别调制两路信号figure(3)y1=rectpulse(x1,8);y2=rectpulse(x2,8);for i=1:1:50 M1(8*i-7)=m1(1);M2(8*i-7)=m2(1);