基于matlab的伪随机序列生成及相关函数仿真实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武夷学院实验报告
课程名称:_扩频通信技术及应用_ 项目名称:基于matlab的伪随机序列生成及相关函数仿真实验
姓名:翁开传__专业:__通信工程___ 班级:__2__学号:_40__同组成员_无___
1注:1、实验预习部分包括实验环境准备和实验所需知识点准备。
2、若是单人单组实验,同组成员填无。
2注:实验过程记录要包含实验目的、实验原理、实验步骤,页码不够可自行添加。
2)函数auto_corr()计算二进制序列seq的自相关函数,并画出函
数曲线。在函数内调用了生成m序列的函数ms_generator(*)生成
的m序列seq,然后在计算。
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);
end
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);%负逻辑映射
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);
运行的结果如下
3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数
并画出曲线。在函数内调用ms_generator(*)函数分别生成等长的
M序列seq1和seq2后在计算。程序也画出了自相关函数。
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)
auto_correlation=auto_corr(seq1);
plot(0:len-1,auto_correlation,'-',0:len-1,cross_correlation); legend('自相关函数','互相关函数');
xlabel('j');
ylabel('相关函数');
运行的结果如下
4)函数gold()生成一族gold序列。程序中首先生成一对m序列优
先对seq1和seq2,然后按照并结构生成了一族gold序列,最后画出一个gold序列的自相关函数以及族内一对gold序列的互相关函数
function seq=ms_generator(registers,connections)
%registers=[0 0 0 0 1];
%connections=[1 0 0 1 0 1];
三、实验结果与讨论:3
实验心得体会
3注:1、实验小结应包含实验所需知识点和实验方法的总结,实验心得体会等。
2、分组实验需包含同组讨论内容。
实验报告成绩(百分制)__________ 实验指导教师签字:__________