m序列产生及自相关和互相关函数曲线(共5页).doc

上传人:飞****2 文档编号:13833751 上传时间:2022-05-01 格式:DOC 页数:5 大小:25.50KB
返回 下载 相关 举报
m序列产生及自相关和互相关函数曲线(共5页).doc_第1页
第1页 / 共5页
m序列产生及自相关和互相关函数曲线(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《m序列产生及自相关和互相关函数曲线(共5页).doc》由会员分享,可在线阅读,更多相关《m序列产生及自相关和互相关函数曲线(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上1、 m序列产生及自相关和互相关函数曲线function PN=makem(x) %m序列产生函数ss1=num2str(x);ss2=dec2bin(base2dec(ss1,8); %先把八进制转换为十进制,再把十进制转换为二进制 G=2(length(ss2)-1)-1; %最大周期sd=;for j=1:(length(ss2)-2) sd=sd 0;endsd=sd 1; %寄存器初始状态0 0 0.0 1PN=;for j=1:GPN=PN sd(length(sd);%m序列输出的第一位 onenum=; for jj=1:length(ss2) if

2、str2num(ss2(jj)=1 onenum=onenum jj-1; %存储二进制反馈系数里面“1”的位置-1,即进行异或的位置 end end temp=sd(onenum(2); for jj=3:length(onenum) %根据“1”的位置进行异或运算 temp=xor(temp,sd(onenum(jj); end for jj=length(ss2)-1:-1:2 %移位(序列后一位值等于前一位值) sd(jj)=sd(jj-1); end sd(1)=temp; %序列第一位等于反馈出来的值endfunction mandzi(ss)%m序列曲线及自相关函数曲线绘图函数s

3、s1=num2str(ss);ss2=dec2bin(base2dec(ss1,8);%转换为二进制G=2(length(ss2)-1)-1; %最大周期PN=makem(ss);%调用函数计算m序列pp=(-2).*PN+1; %01 1-1pp2=;for tao=-(G-1):G-1pp1=circshift(pp,0,tao); pp2=pp2 sum(pp.*pp1)/G; %计算自相关函数end subplot(2,1,1)stem(PN)grid on;title(使用生成多项式(,num2str(ss),)8=(,ss2,)2产生的m序列)subplot(2,1,2)tao=-

4、(G-1):G-1;plot(tao,pp2)grid on;title(自相关函数曲线)function huxg(x,y)%m序列互相关绘图函数x1=num2str(x);x2=dec2bin(base2dec(x1,8);%转换为二进制G1=2(length(x2)-1)-1; %最大周期y1=num2str(y);y2=dec2bin(base2dec(y1,8);%转换为二进制G2=2(length(y2)-1)-1; %最大周期if G1=G2 error(周期不同,无法计算) returnendpn1=makem(x);%分别调用函数计算出m序列pn2=makem(y);pp=;

5、for tao=-(G1-1):G1-1pn1tao=circshift(pn1,0,tao); %计算互相关函数%pp=pp sum(pn2.*pn1tao)/G1;pp=pp sum(pn2.*pn1tao);endtao=-(G1-1):G1-1;plot(tao,pp)grid on;title(反馈系数(,num2str(x),)8和(,num2str(y),)8的互相关函数曲线)2、Rake接收机仿真clear all;clcNumusers=1;Nc=16; %扩频因子ISI_Length=1; %每径延时为ISI_Lengh/2EbN0db=0:1:30; %信噪比,单位dBT

6、len=8000; %数据长度Bit_Error_Number1=0; %误比特率初始值Bit_Error_Number2=0;Bit_Error_Number3=0;power_unitary_factor1=sqrt(6/9); %每径功率因子power_unitary_factor2=sqrt(2/9);power_unitary_factor3=sqrt(1/9);s_initial=randsrc(1,Tlen); %数据源wal2=1 1;1 -1; %产生walsh矩阵wal4=wal2 wal2;wal2 wal2*(-1);wal8=wal4 wal4;wal4 wal4*(

7、-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)=

8、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);ray2(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); %将Eb/N0的dB值转化为十进制数值 sigma=sqrt(32/(2*en); %将收到的信号demp demp

9、=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); wal16_d(1:2:31)=wal16(8,1:16); %将walsh码重复为两次 wal16_d(2:2:32)=wal16(8,1:16); rdata1=dt*wal16_d(1,:).; %解扩后rdata1为第一径输出 wal16_delay1(1,2:32

10、)=wal16_d(1,1:31); %将walsh码延迟半个码元 rdata2=dt*wal16_delay1(1,:).; %解扩后rdata2为第二径输出 wal16_delay2(1,3:32)=wal16_d(1,1:30); %将walsh码延迟一个码元 wal16_delay2(1,1:2)=wal16_d(1,31:32); rdata3=dt*wal16_delay2(1,:).; %解扩后rdata3为第三径输出 p1=rdata1*rdata1; p2=rdata2*rdata2; p3=rdata3*rdata3; p=p1+p2+p3; u1=p1/p; u2=p2/

11、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=

12、sign(rd_m3); %计算误比特率 Bit_Error_Number1=length(find(r_Data1(1:Tlen)=s_initial(1:Tlen); Bit_Error_Rata1(nEN)=Bit_Error_Number1/Tlen; Bit_Error_Number2=length(find(r_Data2(1:Tlen)=s_initial(1:Tlen); Bit_Error_Rata2(nEN)=Bit_Error_Number2/Tlen; Bit_Error_Number3=length(find(r_Data3(1:Tlen)=s_initial(1:Tlen); Bit_Error_Rata3(nEN)=Bit_Error_Number3/Tlen;endsemilogy(EbN0db,Bit_Error_Rata1,r*-);hold on;semilogy(EbN0db,Bit_Error_Rata2,bo-);hold on;semilogy(EbN0db,Bit_Error_Rata3,g.-);legend(最大比合并,等增益合并,选择式合并);xlabel(信噪比);ylabel(误比特率);title(三种主要分集合并方式性能比较);专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁