rake接收机仿真matlab.doc_第1页
rake接收机仿真matlab.doc_第2页
rake接收机仿真matlab.doc_第3页
rake接收机仿真matlab.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.3 单用户RAKE接收机性能仿真3.3.1 仿真程序利用MATLAB软件来仿真RAKE接收机分集接收性能的程序如下:Numusers=1; %用户数Nc=16; %扩频因子ISI_Length=1; %每径延时为ISI_Length/2EbN0db = 0:2:10; %信噪比,单位dbTlen=5000;%数据长度Bit_Error_Number1=0;%误比特率的初始值Bit_Error_Number2=0;Bit_Error_Number3=0;power_unitary_factor1=sqrt(5/9);%每径功率因子power_unitary_factor2=sqrt(3/9);power_unitary_factor3=sqrt(1/9);s_initial=randsrc(1,Tlen);%数据源%产生Walsh 矩阵 Wal2=1 1;1 -1;Wal4=Wal2 Wal2;Wal2 Wal2*(-1);Wal8=Wal4 Wal4;Wal4 Wal4*(-1);Wal16=Wal8 Wal8;Wal8 Wal8*(-1);%扩频s_spread=zeros(Numusers,Tlen*Nc);ray1=zeros(Numusers,2*Tlen*Nc);ray2=zeros(Numusers,2*Tlen*Nc);ray3=zeros(Numusers,2*Tlen*Nc);for i=1:Numusers x0=s_initial(i,:).*Wal16(8,:); x1=x0.; s_Spread(i,:)=(x1(:).;end%将每个扩频后输出重复为两次,有利于下面的延迟(延迟了半个码元)ray1(1:2:2*Tlen*Nc-1)=s_Spread(1:Tlen*Nc); ray1(2:2:2*Tlen*Nc)=ray1(1:2:2*Tlen*Nc-1);%产生第二径和第三径信号ray2(ISI_Length+1:2*Tlen*Nc)=ray1(1:2*Tlen*Nc-ISI_Length);ray3(2*ISI_Length+1:2*Tlen*Nc)=ray1(1:2*Tlen*Nc-2*ISI_Length);for nEN = 1:length(EbN0db) en = 10(EbN0db(nEN)/10); % convert Eb/N0 from unit db to normal numbers sigma = sqrt(32/(2*en); %接收到的信号dempdemp=power_unitary_factor1*ray1+power_unitary_factor2*ray2+power_unitary_factor3*ray3+(randn(1,2*Tlen*Nc)+randn(1,2*Tlen*Nc)*i)*sigma; dt=reshape(demp,32,Tlen); %将Walsh码重复为两次 Wal16_d(1:2:31)=Wal16(8,1:16); Wal16_d(2:2:32)=Wal16(8,1:16); %解扩后rdata1为第一径输出 rdata1=dt*Wal16_d(1,:).; %将Walsh码延迟半个码片 Wal16_delay1(1,2:32)=Wal16_d(1,1:31); %解扩后rdata2为第二径输出 rdata2=dt*Wal16_delay1(1,:).; %将Walsh码延迟一个码片 Wal16_delay2(1,3:32)=Wal16_d(1,1:30); Wal16_delay2(1,1:2)=Wal16_d(1,31:32); %解扩后rdata3为第三径输出 rdata3=dt*Wal16_delay2(1,:).; p1=rdata1*rdata1; p2=rdata2*rdata2; p3=rdata3*rdata3; p=p1+p2+p3; u1=p1/p; u2=p2/p; u3=p3/p; %最大值合并 rd_m1=real(rdata1*u1+rdata2*u2+rdata3*u3); %等增益合并 rd_m2=(real(rdata1+rdata2+rdata3)/3; %选择式合并 u=u1,u2,u3; maxu=max(u); if(maxu=u1) rd_m3=real(rdata1); else if(maxu=u2) rd_m3=real(rdata2); else rd_m3=real(rdata3); end end %三种方法判决输出 r_Data1=sign(rd_m1); r_Data2=sign(rd_m2); r_Data3=sign(rd_m3); %计算误比特率 Bit_Error_Number1=length(find(r_Data1(1:Tlen)=s_initial(1:Tlen); Bit_Error_Rate1(nEN)=Bit_Error_Number1/(Tlen); Bit_Error_Number2=length(find(r_Data2(1:Tlen)=s_initial(1:Tlen); Bit_Error_Rate2(nEN)=Bit_Error_Number2/(Tlen); Bit_Error_Number3=length(find(r_Data3(1:Tlen)=s_initial(1:Tlen); Bit_Error_Rate3(nEN)=Bit_Error_Number3/(Tlen); endsemilogy(EbN0db,Bit_Error_Rate1,*-);hold on;semilogy(EbN0db,Bit_Error_Rate2,o-); hold on;semilogy(EbN0db,Bit_Error_Rate3,+-);legend(最大比合并,等增益合并,选择式合并);xlabel(信噪比);ylabel(误比特率);title(3种主要分集合并方式性能比较);3.3.2 仿真结果分析单用户RAKE接收机的误码性能比较如图3-4所示。图3-4中比较了采用RAKE接收机进行多径信号接收时,采用不同的分集合并方式对平均误比特率的影响。可见三种分集合并方法都能有效提高接收机的接收性能,且相同条件下,最大合并比性能最好,其次是等增益合并,最后是选择式合并。上述结论和传统理论是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论