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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本章正是运用MATLAB来仿真m序列和Gold序列的相关特性,以及OCDMA 系统的误码率同用户数

N的关系曲线。

su

1 仿真过程

在理论分析的基础上,下面使用附录上两段程序,通过MATLAB仿真得出m

序列和Gold序列的自己相关性。

这段m序列产生程序采用了8个移位寄存器,将最后两个移位寄存器的值进行异或处理反馈给第一个移位寄存器,然后向前移位,输出最后一个移位寄存器的值,Gold序列的产生只是将两个m序列中的一个进行延时移位,再进行异或,产生的主要原理和m序列并无较大差异。

在这两段程序个前半部分m序列和Gold序列生成的基础上,只要将

y1=xcorr(x1)改为y1=xcorr(x1,x2)即可求出它们的互相关仿真。

2 仿真结果

在系统中采用上述序列仿真得到自相关和互相关特性曲线如图1 , 2及图3 所示。

图1 m 序列的自相关曲线

图4-2 m 序列与Gold序列的自相关曲线

图4-3 m 序列与Gold 序列的互相关曲线

附录

程序1

X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出

m=120; %置M序列总长度

for i=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); %异或运算

if Y8==0

U(i)=-1;

else

U(i)=Y8;

end

end

M=U

%绘图

i1=i

t=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])%绘出信号的相关图grid

xlabel('t')

ylabel('相关性')

title('移位寄存器产生的M序列的相关性')

程序2

function c=gold()

n=7;

a=[1 1 1 1 1 1 1 1];

co=[];

for v=1:2^n-1

co=[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);

end

m1=co;

b=[1 0 1 0 0 0 0 1];

co=[];

for v=1:2^n-1

co=[co,b(1)];

m=mod(b(5)+b(1),2);

p=mod(b(6)+m,2);

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);

end

m2=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])%绘出信号的相关图grid

xlabel('t')

ylabel('相关性')

title('移位寄存器产生的Gold序列的相关性')

相关文档
最新文档