用MATLAB产生m序列+互相关、自相关特性分析

您所在的位置:网站首页 matlab画自相关图 用MATLAB产生m序列+互相关、自相关特性分析

用MATLAB产生m序列+互相关、自相关特性分析

2023-11-28 05:09| 来源: 网络整理| 查看: 265

题目 考虑周期N=63的两个pn序列,一个序列的反馈抽头为[6,1],另一个序列的反馈抽头为[6,5,2,1]。 (a) 计算这两个序列的互相关函数和自相关函数 (b) 比较(a)中所得的互相关函数和序列[6,5,2,1]与镜像序列[6,5,4,1]之间的互相关函数。 主体代码

clc,clear; N=63;%周期为63 %产生反馈抽头,从左到右依次表示寄存器1,2,3,4,5,6 p1=[1,0,0,0,0,1];%反馈抽头1 p2=[1,1,0,0,1,1];%反馈抽头2 p3=[1,0,0,1,1,1];%反馈抽头3 %生成m序列 pn1=mseq(p1); pn2=mseq(p2); pn3=mseq(p3); %用+1、-1代表1、0 y1=2*pn1-1; y2=2*pn2-1; y3=2*pn3-1; %求互相干函数 xcorr1=pncorr(y1,y2,N); xcorr2=pncorr(y2,y3,N); corr1=pncorr(y1,y1,N); corr2=pncorr(y2,y2,N); %画图 subplot(2,2,1); plot(-62:62,corr1(1:125)); axis([-62,62,-10,80]); xlabel('t');ylabel('R(t)');title('反馈抽头为[6,1]的自相关函数'); subplot(2,2,2); plot(-62:62,corr2(1:125)); axis([-62,62,-10,80]); xlabel('t');ylabel('R(t)');title('反馈抽头为[6,5,2,1]的自相关函数'); subplot(2,2,3); plot(-62:62,xcorr1(1:125)); axis([-62,62,-20,20]); xlabel('t');ylabel('R(t)');title('反馈抽头为[6,1]与[6,5,2,1]间互相关函数'); subplot(2,2,4); plot(-62:62,xcorr2(1:125)); axis([-62,62,-20,20]); xlabel('t');ylabel('R(t)');title('反馈抽头为[6,5,2,1]与[6,5,4,1]间互相关函数');

函数mseq 本函数用于产生m序列。输入参数为反馈抽头序列,输出量为生成的m序列。

function y=mseq(coef) m=length(coef);%确定寄存器数目 N=2^m-1;%确定周期 mback=0;%用于存放反馈值 y=zeros(1,N);%用于存放输出序列 registers=[zeros(1,m-1) 1];%确定寄存器初始值 for i=1:N y(i)=registers(m); mback=mod(sum(coef.*registers),2); registers=[mback registers(1:end-1)]; end

函数pncorr 本函数用于求m序列的相关函数。输入参数为:参与运算的两个序列及两个序列的长度N。若输入的两个序列相同,则结果为该序列的自相关函数值序列;若输入的两个序列不同,则结果为两个序列的互相关函数值序列。

function y=pncorr(u,v,N) for i=0:N u1=[u(i+1:N) u(1:i)];%表示u序列左移 temp1(N+1-i)=sum(u1.*v); u2=[u(N-i+1:N) u(1:N-i)];%表示u序列右移 temp2(i+1)=sum(u2.*v); end y=[temp1(2:N) temp2(1:N)];

结果 在这里插入图片描述 如图所示,m序列拥有较好的自相关函数特性和相对较差的互相关函数特性。 反馈抽头为[6,1]与[6,5,2,1]的序列的互相关函数仅有3种取值,且幅度小于等于17,满足Gold理论,可以用于构造gold序列。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3