欢迎来到天天文库
浏览记录
ID:20318669
大小:159.50 KB
页数:5页
时间:2018-10-12
《matlab仿真m序列与gold序列自相关与互相关》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、来自恶搞哥哥的MATLAB仿真MATLAB仿真m序列和Gold序列自相关与互相关MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本章正是运用MATLAB来仿真m序列和Gold序列的相关特性,以及OCDMA系统的
2、误码率同用户数的关系曲线。1仿真过程在理论分析的基础上,下面使用附录上两段程序,通过MATLAB仿真得出m序列和Gold序列的自己相关性。这段m序列产生程序采用了8个移位寄存器,将最后两个移位寄存器的值进行异或处理反馈给第一个移位寄存器,然后向前移位,输出最后一个移位寄存器的值,Gold序列的产生只是将两个m序列中的一个进行延时移位,再进行异或,产生的主要原理和m序列并无较大差异。在这两段程序个前半部分m序列和Gold序列生成的基础上,只要将y1=xcorr(x1)改为y1=xcorr(x1,x2)即可求出它们的互相关仿真。2仿真
3、结果在系统中采用上述序列仿真得到自相关和互相关特性曲线如图1,2及图3所示。4来自恶搞哥哥的MATLAB仿真图1m序列的自相关曲线图4-2m序列与Gold序列的自相关曲线4来自恶搞哥哥的MATLAB仿真图4-3m序列与Gold序列的互相关曲线附录程序1X1=1;X2=0;X3=1;X4=0;%移位寄存器输入Xi初T态(0101),Yi为移位寄存器各级输出m=120;%置M序列总长度fori=1:m%1#Y8=X8;Y7=X7;Y6=X6;Y5=X5;Y4=X4;Y3=X3;Y2=X2;Y1=X1;X8=Y7;X7=Y6;X6=Y5
4、;X5=Y4;X4=Y3;X3=Y2;X2=Y1;X1=xor(Y7,Y8);%异或运算ifY8==0U(i)=-1;elseU(i)=Y8;endendM=U4来自恶搞哥哥的MATLAB仿真%绘图i1=it=1:1:i1;x1=[(2*M)-1]’;%将运行结果m序列M从单极性序列变为双极性序列y1=xcorr(x1);%求自相关性t=1:1:i1;plot(t,y1(1:i1));axis([1,120,-12,288])%绘出信号的相关图gridxlabel('t')ylabel('相关性')title('移位寄存器产生的M
5、序列的相关性')程序2functionc=gold()n=7;a=[11111111];co=[];forv=1:2^n-1co=[co,a(1)];a(8)=mod(a(5)+a(1),2);a(1)=a(2);a(2)=a(3);a(3)=a(4);a(4)=a(5);a(5)=a(6);a(6)=a(7);a(7)=a(8);endm1=co;b=[10100001];co=[];forv=1:2^n-1co=[co,b(1)];m=mod(b(5)+b(1),2);p=mod(b(6)+m,2);4来自恶搞哥哥的MATLA
6、B仿真b(8)=mod(b(5)+b(1),2);b(1)=b(2);b(2)=b(3);b(3)=b(4);b(4)=b(5);b(5)=b(6);b(6)=b(7);b(7)=b(8);endm2=co;c=xor(m1,m2);x2=[(2*c)-1]’;%将运行结果Gold序列c从单极性序列变为双极性序列y1=xcorr(x2);%求自相关性t=1:1:120;plot(t,y1(1:120));axis([1,120,-12,288])%绘出信号的相关图gridxlabel('t')ylabel('相关性')title(
7、'移位寄存器产生的Gold序列的相关性')4
此文档下载收益归作者所有