基于matlab的伪随机序列生成及相关函数仿真实验Word文档格式.docx
- 文档编号:14609465
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:10
- 大小:58.78KB
基于matlab的伪随机序列生成及相关函数仿真实验Word文档格式.docx
《基于matlab的伪随机序列生成及相关函数仿真实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于matlab的伪随机序列生成及相关函数仿真实验Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
二、实验过程记录:
1.实验目的
1)了解伪随机序列的相关知识。
2)了解m序列的相关知识,了解其相关特性。
3)熟悉MATLAB仿真的应用。
4)掌握伪随机码的原理、软件产生,仿真分析其相关特性。
2.实验步骤
1)函数ms_generator(registers,connections)是m序列的生成函
数,其中参数registers给出了移位寄存器的初始状态,connections
给出了m序列的发生器。
functionseq=ms_generator(registers,connections)
registers=[00001];
connections=[100101];
n=length(connections);
L=2^(n-1)-1;
seq
(1)=registers(n-1);
fori=2:
L
sum=0;
form=1:
(n-1)
sum=mod(sum+registers(m)*connections(m+1),2);
end
fork=(n-1):
-1:
2
registers(k)=registers(k-1);
registers
(1)=sum;
seq(i)=registers(n-1);
end
运行输出的结果如下
2)函数auto_corr()计算二进制序列seq的自相关函数,并画出函
数曲线。
在函数内调用了生成m序列的函数ms_generator(*)生成
的m序列seq,然后在计算。
sum=0;
form=1:
sum=mod(sum+registers(m)*connections(m+1),2);
end
fork=(n-1):
registers(k)=registers(k-1);
end
registers
(1)=sum;
seq(i)=registers(n-1);
functionauto_correlation=auto_corr(seq)
registers=[10000];
%设置初始状态
connections=[101001];
%设置反馈逻辑
seq=ms_generator(registers,connections);
seq=-1*(seq*2-1);
%负逻辑映射
len=length(seq);
temp=[seqseq];
fori=0:
len-1
auto_correlation(i+1)=seq*(temp(i+1:
i+len))'
;
auto_correlation
plot(0:
len-1,auto_correlation);
运行的结果如下
3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数
并画出曲线。
在函数内调用ms_generator(*)函数分别生成等长的
M序列seq1和seq2后在计算。
程序也画出了自相关函数。
functionseq=ms_generator(registers,connections)
%registers=[00001];
%connections=[100101];
auto_correlation(i+1)=seq*(temp(i+1:
functioncross_correlation=cross_corr(seq1,seq2)
registers1=[00001];
connections1=[100101];
seq1=ms_generator(registers1,connections1);
seq1=-1*(seq1*2-1);
registers2=[11111];
connections2=[111101];
seq2=ms_generator(registers2,connections2);
seq2=-1*(seq2*2-1);
temp=[seq2seq2];
len=length(seq2);
cross_correlation(i+1)=seq1*(temp(i+1:
i+len))'
auto_correlation=auto_corr(seq1);
len-1,auto_correlation,'
-'
0:
len-1,cross_correlation);
legend('
自相关函数'
'
互相关函数'
);
xlabel('
j'
ylabel('
相关函数'
4)函数gold()生成一族gold序列。
程序中首先生成一对m序列优
先对seq1和seq2,然后按照并结构生成了一族gold序列,最后画出
一个gold序列的自相关函数以及族内一对gold序列的互相关函数
functiongold=gold()
registers1=[100000];
connections1=[1100001];
registers2=[100000];
connections2=[1110011];
fori=1:
len
gold(i,:
)=mod(seq1+temp(i:
i+len-1),2);
gold(len+1,:
)=seq1;
gold(len+2,:
)=seq2;
len-1,auto_corr(gold(1,:
)),'
len-1,cross_corr(gold(1,:
),gold(2,:
-.'
三、实验结果与讨论:
实验心得体会
通过此次实验我学到了如何使用matlab产生伪随机序列,深刻体会了产
生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 随机 序列 生成 相关 函数 仿真 实验