教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

伪随机码的生成及自相关函数的计算

来源:网络收集 时间:2026-08-21
导读: 伪随机码的生成及自相关函数的计算的matlab实现 伪随机码的生成及自相关函数的计算 1.函数seq=ms_generator(registers,connections)是m序列的生成函数,其中参数registers给出了以为寄存器的初始状态,connections给出了m序列的发生器。 m序列生成的程序如下

伪随机码的生成及自相关函数的计算的matlab实现

伪随机码的生成及自相关函数的计算

1.函数seq=ms_generator(registers,connections)是m序列的生成函数,其中参数registers给出了以为寄存器的初始状态,connections给出了m序列的发生器。 m序列生成的程序如下:

function seq=ms_generator(registers,connections)

registers=[0 0 0 0 1];

connections=[1 0 0 1 0 1];

n=length(connections);

L=2^(n-1)-1;

seq(1)=registers(n-1);

for i=2:L;

sum=0;

for m=1:(n-1)

sum=mod(sum+registers(m)*connections(m+1),2);

end

for k=(n-1):-1:2

registers(k)=registers(k-1);

end

registers(1)=sum;

seq(i)=registers(n-1);

sprintf('seq=%d',seq(i));

End

运行结果:ans =

Columns 1 through 15

1 0 0 0 0 1 0 0 1 0 1 1 0 0 1

Columns 16 through 30

1 1 1 1 0 0 0 1 1 0 1 1 1 0 1

Column 31

(2)函数auto_corr()计算二进制序列seq的自相关函数,并画出函数曲线。程序代码如下:

function auto_correlation=auto_corr(seq)

registers=[1 0 0 0 0];

connections=[1 0 1 0 0 1];

seq=ms_generator(registers,connections);

seq=-1*(seq*2-1);

伪随机码的生成及自相关函数的计算的matlab实现

len=length(seq);

temp=[seq seq];

for i=0:len-1

auto_correlation(i+1)=seq*(temp(i+1:i+len))';

end

auto_correlation;

plot(0:len-1,auto_correlation);

运行结果:

ans =

Columns 1 through 15

31 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

Columns 16 through 30

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

Column 31

-1

函数曲线图:

伪随机码的生成及自相关函数的计算的matlab实现

(3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数。

程序代码如下:

function cross_correlation=cross_corr(seq1,seq2)

registers1=[0 0 0 0 1];

connections1=[1 0 0 1 0 1];

seq1=ms_generator(registers1,connections1);

seq1=-1*(seq1*2-1);

registers2=[1 1 1 1 1];

connections2=[1 1 1 1 0 1];

seq2=ms_generator(registers2,connections2);

seq2=-1*(seq2*2-1);

temp=[seq2 seq2];

len=length(seq2);

for i=0:len-1

cross_correlation(i+1)=seq1*(temp(i+1:i+len))';

end

auto_correlation=auto_corr(seq1);

plot(0:len-1,cross_correlation);

(4)函数gold()生成一族Gold序列。

程序代码如下:

function gold()

registers1=[1 0 0 0 0];

connections1=[1 1 0 0 0 0 1];

seq1=ms_generator(registers1,connections1);

registers2=[1 0 0 0 0];

connections2=[1 1 1 0 0 1 1];

seq2=ms_generator(registers2,connections2);

temp=[seq2 seq2];

len=length(seq2);

for i=1:len

gold(i, : )=mod(seq1+temp(i:i+len-1),2);

end

gold(len+1, : )=seq1;

gold(len+2, : )=seq2;

plot(0:len-1,auto_corr(gold(1, : )),'-',0:len-1,cross_corr(gold(1, : ),gold(2, : )),'-');

…… 此处隐藏:247字,全部文档内容请下载后查看。喜欢就下载吧 ……
伪随机码的生成及自相关函数的计算.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1113575.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)