| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1468 人关注过本帖
标题:[求助]PN序列的产生
只看楼主 加入收藏
nansky
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-6-3
收藏
 问题点数:0 回复次数:0 
[求助]PN序列的产生

运行提示说最后那个end那出错。

谢谢~


%Gold码的MATLAB程序
m(1)=input('x^4+x+1=');
m(2)=input('x^5+x^2+1=');
t(1)=m(1);
t(2)=m(2);
n=(1:2);

%下面是判断输入的本原多项式是几阶的
for i=1:2
if m(i)<13
n(i)=2;
elseif m(i)<23
n(i)=3;
else if m(i)<45
n(i)=4;
else if m(i)<103
n(i)=5;
elseif m(i)<211
n(i)=6;
else if m(i)<435
n(i)=7;
else if m(i)<1021
n(i)=8;
else if m(i)<2011
n(i)=9;
else if m(i)<4005
n(i)=10;
else if m(i)<10123
n(i)=11;
else if m(i)<20033
n(i)=12;
else if m(i)<42103
n(i)=13;
else if m(i)<100003
n(i)=14;
else if m(i)<210013
n(i)=15;
else if m(i)<400011
n(i)=16;
else if m(i)<1000201
n(i)=17;
else if m(i)<2000047
n(i)=18;
else
disp('input number out of the bourn(i)');
end
coereg=1*(n(i)+1); %初始化寄存器的系数
coereg(n(i)+1)=1; %最高一阶的寄存器系数一定为1
m(i)=m(i)-2^(n(I))*1.25^floor((n(i))/3);
for k=1:n-1
coereg(k+1)=floor(m(i)/(2^(n(i)-k)*1.25^floor((n(i)-k)/3)));
m(i)=m(i)-2^(n(i)-k)*1.25^floor((n(i)-k)/3)*coereg(k+1);
end
reg=floor((1:n(i))/n(i));%初始化寄存器的状态
pnseq=0*(12^n(i)-1);
for k=(12^n(i)-2)
a=0;
for j=1*(n(I)-1)
a=reg(j)*coereg(j)+a;
reg(j)=reg(j+1);
end
reg(n(i))=reg(n(i))*coereg(n(i))+a;
reg(n(i))=reg(n(i))-2*floor(reg(n(i))/2);
pnseq(k+1)=reg(1);
end

%下面是产生两个PN序列
if i<2
pnseq1=2*pnseq-1;
else
pnseq2=2*pnseq-1;
end
end
a=n(1)-n(2);

if a==0
disp('Input PN codes have same length!');
a
break
quit;
end

I=2^max(n)-1;
%下面是开始找Gold码
gl=input('3');%输入一个PN码的偏移量
for i=1:1
Gold1(i)=pnseq1(i)*pnseq2(ceil(rem((i+g1),(1+0.0005))));
end

搜索更多相关主题的帖子: 序列 else input MATLAB 
2006-06-03 19:57
快速回复:[求助]PN序列的产生
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023786 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved