任意阶平衡gold码的产生及其互相关性(代码).doc

任意阶平衡gold码的产生及其互相关性(代码).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任意阶平衡gold码的产生及其互相关性(代码)

clear all; n=input(请输入移位寄存器的级数n,n是大于等于2的整数,且n不能为4的倍数,为4的倍数不保证结果正确: );%五级移位% N=2^n-1;%周期为N% x=gfprimfd(n,all);%产生级数为n的本原多项式% [row,column]=size(x); if(n==2)%n为2是不能用下面求y的公式,作为特例直接写入% y=[1,1]; end if(n2) y=x(1:row,2:column);%本来是nXn矩阵,第一列都是1,不要了,现在是nX(n-1)矩阵% end m=zeros(row,N);%求出所有m序列% for r=1:row%从1到第row行% register7=[zeros(1,n-1),1];%寄存器7,表示移位寄存器的初态除了最后一位,其余全0% m(r,1)=register7(n);%m(r,1)是的第r行第一列的取值% for i=2:1:N%从2到N,连续取值% register8(1)=mod(sum(y(r,:).*register7),2);%移位寄存器的向量与反馈系数的向量点乘后,新向量的所有数模二加,得到一个数作为寄存器8的第一位% for j=2:1:n%从2到N,连续取值% register8(j)=register7(j-1);%确定后n-1位% end register7=register8;%保存移位寄存器现在的值到register1% m(r,i)=register7(n);%输出的书,从第2位开始% end %现在得到了第r行的m序列% end %现在得到了第1到第r行的m序列% if(n2)%列出m1最大行数,超过会报错% fprintf(m序列的行数小于等于%1.0f,row)%显示之后要输入m1的要求% end if(n==2)%列出m1最大行数,超过会报错% fprintf(m序列的行数小于等于1)%显示之后要输入m1的要求% end fprintf(\n)%换行% pass=1;%判断m1序列是否有优选对,若有,pass在下面循环中置0% while(pass==1) %若m1没有优选对,则循环% nom1=input(请从矩阵y中选出你所要m1序列本愿多项式的行数: );%输入一个数赋给nom1,number of m1,即m1的行数% m1=m(nom1,:);%得到了你指定的m1序列% rm=zeros(1,2^n-1);%两个m序列的互相关性,用来判断m优选对% s=zeros(1,2^n-1);%m优选对中移位后相同数的个数% d=zeros(1,2^n-1);%m优选对中移位后相同数的个数% register2=zeros(1,2^n-1);%寄存器2,用以验证m序列优选对时移位% cmatch=0;%counter match优选对匹配的数量% match=zeros(1,N);%匹配优选对所在的行数% matchs=zeros(1,N);%match sequence匹配优选对的序列% for k=1:row%对m序列每一行循环% m2=m(k,:);%把m序列的第k行赋给m2% register1=m2;%寄存器1,用以验证m序列优选对时移位% for i=1:2^n-1 A=mod((m1+register1),2);%移位加N次% for j=1:2^n-1%逐位判断m1与m2是否相同,判断N次% if A(j)==0%若第j位位相同% s(i)=s(i)+1;%相同数加1,之后清零% end d(i)=N-s(i);%不同数减一,因为是s(i)的因变量,不用清0% end rm(i)=s(i)-d(i);%rm是互相关函数,因为是s(i)和d(i)的因变量,不用清0% s(i)=0;%必须清0,不然k的循环序列就会叠加% register2(1)=register1(N);%以下三行为循环右移% register1(2:N)=register1(1:N-1); r

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档