MATLAB仿真m序列和Gold序列自相关与互相关

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

来自恶搞哥哥的MATLAB仿真MATLAB仿真m序列和Gold序列自相关与互相关MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本章正是运用MATLAB来仿真m序列和Gold序列的相关特性,以及OCDMA系统的误码率同用户数suN的关系曲线。1仿真过程在理论分析的基础上,下面使用附录上两段程序,通过MATLAB仿真得出m序列和Gold序列的自相关性。这段m序列产生程序采用了8个移位寄存器,将最后两个移位寄存器的值进行异或处理反馈给第一个移位寄存器,然后向前移位,输出最后一个移位寄存器的值,Gold序列的产生只是将两个m序列中的一个进行延时移位,再进行异或,产生的主要原理和m序列并无较大差异。在这两段程序前半部分m序列和Gold序列生成的基础上,只要将y1=xcorr(x1)改为y1=xcorr(x1,x2)即可求出它们的互相关仿真。2仿真结果在系统中采用上述序列仿真得到自相关和互相关特性曲线如图1,2及图3所示。来自恶搞哥哥的MATLAB仿真1图1m序列的自相关曲线图4-2m序列与Gold序列的自相关曲线来自恶搞哥哥的MATLAB仿真2图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;X5=Y4;X4=Y3;X3=Y2;X2=Y1;X1=xor(Y7,Y8);%异或运算ifY8==0U(i)=-1;elseU(i)=Y8;endendM=U来自恶搞哥哥的MATLAB仿真3%绘图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序列的相关性')程序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);来自恶搞哥哥的MATLAB仿真4b(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('移位寄存器产生的Gold序列的相关性')

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功