为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于matlab的直接序列扩频通信系统仿真

基于matlab的直接序列扩频通信系统仿真

2023-01-18 3页 doc 355KB 6阅读

用户头像 个人认证

is_842233

从事直销行业多年,精通保健品等知识。

举报
基于matlab的直接序列扩频通信系统仿真基于MATLAB的直接序列扩频通讯系统仿真08211107班12号李帅学号0821019614号瞿欢学号082101981.实验目的:学习扩频通讯系统技术理论基础及直接序列DS扩频系统基根源理,并设计出直扩通讯系统模型。此基带通讯系统详细包含信源模块、、数据调制模块、扩频码产生模块、扩频模块、信道模块、解扩模块、解调模块,并在AWGN信道下对系统进行性能仿真研究。2.实验要求:输出结果:1、调通链路,可以依据要务实现各项基本功能。2、给出误码率曲线并进行解析。课设报告:1、目的与意义。2、直接序列扩频通讯系统基根源理。3、详细...
基于matlab的直接序列扩频通信系统仿真
基于MATLAB的直接序列扩频通讯系统仿真08211107班12号李帅学号0821019614号瞿欢学号082101981.实验目的:学习扩频通讯系统技术理论基础及直接序列DS扩频系统基根源理,并出直扩通讯系统模型。此基带通讯系统详细包含信源模块、、数据调制模块、扩频码产生模块、扩频模块、信道模块、解扩模块、解调模块,并在AWGN信道下对系统进行性能仿真研究。2.实验要求:输出结果:1、调通链路,可以依据要务实现各项基本功能。2、给出误码率曲线并进行解析。课设:1、目的与意义。2、直接序列扩频通讯系统基根源理。3、详细介绍仿真平台结构;研究过程中遇到的问题以及解决方法。4、给出解析结果、有待解决的问题以及自己的心得领悟。5、参照资料。给出要求的DSSS(DirectSequenceSpreadSystem)配置:%++++++++++++仿真参数++++++++++++++%调制方式:QPSK符号速率:256ksps符号数:100%++++++++++扩频码初值设定+++++++++++%用户数:1扩频序列:m序列/Gold序列/正交Gold序列选其一或做成可配序列阶数:3第一个线性移位寄存器的系数:[13];第二个线性移位寄存器的系数:[23];第一个线性移位寄存器的初始化:[111]第二个线性移位寄存器的初始化:[111]%++++++++++++++++++++++++++++++++++%信道:加性高斯白噪声(AWGN)别的本题是设计型题目,最好能自己设计一个可支持多种配置的基带通讯系统:平台的一些要点参数应该可以可供配置(比方配置不一样的扩频序列),并比较解析其对系统性能的影响。3.实验原理:直接序列扩频系统又称为直接序列调制系统或伪噪声系统(PN系统),简称为直扩系统,是目前应用较为广泛的一种扩展频谱系统。人们对直扩系统的研究最早,如美军的国防卫星通讯系统(AN-VSC-28)、全世界定位系统(GPS)、航天飞机通讯用的追踪和数据中继卫星系统(TDRSS)等都是直扩技术应用的实例。3.1直扩系统模型直接序列扩频系统是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端用与发送端同样的伪随机码对接收到的扩频信号进行相关办理,恢复出发送的信号。对搅乱信号而言,与伪随机码不相关,在接收端被扩展,使落入信号通频带内的搅乱信号功率大大降低,从而提升了相关的输出信噪比,达到了抗搅乱的目的。直扩系一致般采纳频率调制或相位调制的方式来进行数据调制,在码分多址通讯中,其调制多采纳BPSK、DPSK、QPSK、MPSK等方式。直扩系统的构成如图1所示,与信源输出的信号a(t)是码元连续时间为Ta的信息流,伪随机码产生器产生伪随机码c(t),每个伪随机码的码元宽度为Tc(Tc<工程
上获取较为广泛的应用。WALSH函数是一种非正弦的齐备正交函数系,拥有理想的互相关特性,两两之间的互相关函数为0,亦即它们是正交的,因此在码分多址通讯中,WALSH函数可以作为地址码使用,在IS-95中,正向传输信道就使用了64阶WALSH函数。OVSF码是一种正交可变扩频因子码,保证在不一样时隙上的不一样扩频因子的扩频码正交,而在每个时隙上可使用的码的数量不固定,与每个物理信道的数据速率和扩频因子相关,OVSF码在TD-SCDMA系统中获取了广泛使用。[2]3.3扩频通讯技术的长处扩频通讯之因此获取重视和发展,并成为近代通讯主要研究和发展的方向,是因为它拥有其他通讯系统不可以与之对比的独到性能。1)抗同频搅乱性能好。接收机采纳相关运算只接收PN码同样的扩频信号,对全部载波频率同样的信号或搅乱拥有很强的克制能力。2)优异的抗衰落性能。一般信道中的衰落是有频率选择性的,不会对宽频带的扩频信号接收产生太大的影响。3)抗多径搅乱能力强。因为扩频系统中采纳的PN码拥有很好的自相关性,互相关性很弱,不一样的路径传输来的信号能简单地被分别开,并在时间和相位上重新对齐,形成几路信号功率的叠加,从而改进了接收系统的性能,增添了系统的靠谱性。[3]程序仿真及结果%D??¢???μ?êéè?a100kHz£?2é?ù?μ?êéè?a40MHz£??±???ú???μ?êéè?a5MHzcloseallclearall%D??′?£?éSNR=[1:1:15]Rb=0.25;%???a?ù?ê0.25Mb/sTb=1/Rb;%???a????M=100;%D??¢????êyL=400;%???????a?úμ?2é?ùμ?êyN=M*L;%×ü2é?ùμ?êydt=Tb/L;%ê±óò2é?ù????df=1/(N*dt);%?μóò2é?ù????Bs=N*df/2;%?μí3′??íT=N*dt;%???ìê±??t=linspace(-T/2,T/2,N);%ê±óòoá×?±êx=sign(rand(1,M)-0.5);%2úéú????D?2?1éá???t0=linspace(0,T,M);fori=1:100;d((1+(i-1)*400):i*400)=x(i);%????D??¢???a?úo?400??2é?ùμ?endfigure(1)plot(t,d)xlabel('t(ms)');ylabel('s(t)(V)');title('D??′');axis([0,200,-1.5,1.5]);gridon%êy?Yμ÷???£?éfs=4000;%??2¨?μ?êkHzz=reshape(d,2,N/2);%′?2¢±???Q=z(1,:);%sμ???êy??,?′Q(t)I=z(2,:);%sμ???êy??,?′I(t)tq=linspace(-T/2,T/2,length(I));QPSK=(I.*cos(2*fs*pi*tq)-Q.*sin(2*fs*pi*tq))/sqrt(2);%QPSKμ÷??figure(2)plot(tq,QPSK)xlabel('t(ms)');ylabel('QPSK(t)(V)');title('QPSKμ÷??D?o?');axis([0,200,-1.5,1.5]);gridon%à??μ??2úéú?£?é%à??μ??3??μéè?¨user=1;%ó??§êyseq=1;%1£omDòáD2£oGoldDòáD3£o?y??GoldDòáDstage=3;%DòáD?×êyptap1=[13];%μúò?????D?ò?????′??÷μ??μêy£o[13]ptap2=[23];%μú?t????D?ò?????′??÷μ??μêy£o[23]regi1=[111];%μúò?????D?ò?????′??÷μ?3?ê??ˉ£o[111]regi2=[111];%μú?t????D?ò?????′??÷μ?3?ê??ˉ£o[111]switchseqcase1%mDòáDcode=mseq(stage,ptap1,regi1,user);case2%GoldDòáDm1=mseq(stage,ptap1,regi1);m2=mseq(stage,ptap2,regi2);code=goldseq(m1,m2,user);case3%?y??GoldDòáDm1=mseq(stage,ptap1,regi1);m2=mseq(stage,ptap2,regi2);code=[goldseq(m1,m2,user),zeros(user,1)];endxxx=codeclen=length(code);xlength=100*50;%????D??¢μ÷?????úo?50???±??x_code=zeros(1,xlength);fori=1:xlength%°?0,1DòáD??±????a-1,1μ÷????ifmod(i,7)~=0%mod(a,b)?íê??óμ?ê?a3yò?bμ?óàêyx_code(i)=sign(code(mod(i,7))-0.5);elseifmod(i,7)==0x_code(i)=sign(code(7)-0.5);endendk_code=zeros(1,length(QPSK));fori=1:5000k_code((1+(i-1)*4):i*4)=x_code(i);endfigure(3)plot(tq,k_code)xlabel('t(ms)');ylabel('k_code(t)(V)');title('à??μ??');%?????±?????a?úo?4??2é?ùμ?axis([20,25,-1.5,1.5]);gridon%à??μμ÷???£?éb=QPSK.*k_code;%é??μμ÷???£?éfc=4e4;%??2¨?μ?êkHztd=linspace(0,T,length(b));%bê?à??μμ÷??D?o??£linspace?ó?à′éú3éò???μè2?êyáDμ?linê?linearμ???D′x=linspace(a,b,n)?íê???éú3éò???ò?aoíb?a??μ?12??·??an??????μ??òá?s=b.*cos(2*fc*pi*td);figure(4)plot(td,s)xlabel('t(ms)');ylabel(title('s(t)(V)''é??μμ÷);??D?o?');axis([20,31,-1.5,1.5]);gridon%D?μà?£?ér=awgn(s,SNR(10),'measured');%???1°×??éùoó???-?·ò?êμ???ó???êμ?ê?3?%é??μ?aμ÷?£?érs=r.*cos(2*fc*pi*td);figure(5)plot(td,rs)xlabel('t(ms)');ylabel(title('rs(t)(V)');'é??μ?aμ÷D?o?');axis([20,28,-1.5,1.5]);gridon%?aà??£?éjk_code=rs.*k_code;figure(6)plot(td,jk_code)xlabel('t(ms)');ylabel('rk(t)(V)');title('à??μ?aμ÷D?o?');axis([20,33,-1.5,1.5]);gridon[f,rf]=T2F(td,jk_code);%é??μ?aμ÷?óê??μóò[tl,l]=lpf(f,rf,fc/10000);%?-1yμíí¨??2¨%?aμ÷?£?éliremod=cos(2*fs*pi*tq)*sqrt(2).*l;%Ií¨μà?aμ÷[fi,lif]=T2F(tq,liremod);[tji,iremod]=lpf(fi,lif,fs/10000);%?-1yμíí¨??2¨iremodo=sign(iremod);%2¨DD??D?lqremod=(-1)*sin(2*fs*pi*tq)*sqrt(2).*l;%Qí¨μà?aμ÷[fq,lqf]=T2F(tq,lqremod);[tjq,qremod]=lpf(fq,lqf,fs/10000);%?-1yμíí¨??2¨qremodo=sign(qremod);%2¨D???D?zl=[qremodo,iremodo];%2¢′?±???figure(7)plot(t,zl)xlabel('t(ms)');ylabel('zl(t)(V)');title('?aμ÷oóμ?ê?3?D?o?');axis([0,200,-1.5,1.5]);gridonz2=0;xo=zeros(size(x));fori=1:100z2=0forj=1+(i-1)*400:i*400z2=z2+zl(j);endifz2>=0xo(i)=1;elsexo(i)=-1;endendfigure(8)plot(t0,xo)xlabel('t(ms)');ylabel('xo(t)(V)');title('ê?3?D?o?');axis([0,400,-1.5,1.5]);gridonfora=1:15r=awgn(s,SNR(a),'measured');;%???ˉrs=r.*cos(2*fc*pi*td);jk_code=rs.*k_code;[f,rf]=T2F(td,jk_code);%é??μ?aμ÷?óê??μóò[tl,l]=lpf(f,rf,fc/10000);%?-1yμíí¨??2¨liremod=cos(2*fs*pi*tq)*sqrt(2).*l;%Ií¨μà?aμ÷[fi,lif]=T2F(tq,liremod);[tji,iremod]=lpf(fi,lif,fs/10000);%?-1yμíí¨??2¨iremodo=sign(iremod);%2¨DD??D?lqremod=(-1)*sin(2*fs*pi*tq)*sqrt(2).*l;%Qí¨μà?aμ÷[fq,lqf]=T2F(tq,lqremod);[tjq,qremod]=lpf(fq,lqf,fs/10000);%?-1yμíí¨??2¨qremodo=sign(qremod);%2¨D???D?zl=[qremodo,iremodo];%2¢′?±???z2=0;xo=zeros(size(x));fori=1:100z2=0forj=1+(i-1)*400:i*400z2=z2+zl(j);endifz2>=0endz=0;forxo(i)=1;elsexo(i)=-1;endi=1:100if(x(i)~=xo(i))z=z+1;endendz1(a)=z/100endfigure(8)plot(SNR,z1)xlabel('SNR');ylabel('z1');title('?ó???ê');axis([0,15,10^(-4),1]);gridon程序运转结果:遇到的问题与解决方法:在实验过程中遇到好多,开始时高斯白噪声的问题,一开始是不知道如何加载噪声,此后发现MATLAB中有特地的函数来解决这一问题,他是我认识到了,对软件自己之中软件包与函数熟练认识的重要性。6.有待解决的问题还有就是关于误码率的输出,开始时没有使的SNR进行改变,而是设置了一个定值,这是一个十分初级的错误,此后改正过来,但是还存在误码率过高的问题,这可能是因为没有判决所造成的错误。与感想:扩频通讯以其较强的抗搅乱、抗衰落、抗多径性能而成为第三代通讯的核心技术,本文论述了直接序列扩频通讯的理论基础和实现方法,并利用MATLAB建立了直扩通讯系统的仿真模型。跟着社会通讯事业的迅猛发展,扩展频谱技术的应用大有潜力可以发掘,特别在民用中的地位也将愈来愈明显。参照文件邵保华.软件无线电在扩频通讯发射中的应用研究[D].哈尔滨工程大学,2004年.[2]张蕾,郑实勤.基于MATLAB的直接序列扩频通讯系统性能仿真解析研究[J].电气传动自动化,2007年第3期.[3]查光明,熊贤祚.扩频通讯[M].西安电子科技大学第一版社,1990年.
/
本文档为【基于matlab的直接序列扩频通信系统仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索