如何在一个伪随机码发生器快速算出产生的是哪一个m序列码

param 2001-04-25 09:54:00
?????
...全文
235 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mathe 2001-10-06
  • 打赏
  • 举报
回复
应该没有更快的方法。如果你已经将一个随机数发生序列看成一个黑箱,由于其周期如此之大,在没有产生一个完整周期的情况下,当然是无法确定的了。
wyly 2001-10-05
  • 打赏
  • 举报
回复
8位的序列就127个值,查表好了
milefo 2001-04-28
  • 打赏
  • 举报
回复
你这样试试:设初始状态M(0);t时刻状态M(t),t+1时刻状态M(t+1);
根据移位寄存器的反馈抽头可以构造矩阵A,使得M(t+1)=AM(t);
若已知序列M(x),则
for(t=1;t<=最大状态数;t++)
M(t)=AM(t-1);
if(M(t)==M(x))则可以知道该序列的序号了
};
duz 2001-04-28
  • 打赏
  • 举报
回复
其实现在一般使用的伪随即序列都不是通过移位寄存器产生的,产生伪随即序列的方法有很多种,为什么一定要将结果用m序列来表示呢?现在一般的伪随机序列都是通过x=a+b*xMod(p)形式的公式产生的,要用m序列来表示,其生成多项式的阶一定会很高,当然比较麻烦了。
milefo 2001-04-27
  • 打赏
  • 举报
回复
呵呵!
我也不知道,但好像扩频通信里用到
param 2001-04-27
  • 打赏
  • 举报
回复
一般的算法,算出来要20,30天,有没有更快的算法,
而且主要的for语句耗掉的2/3的时间
milefo 2001-04-26
  • 打赏
  • 举报
回复
不懂你的意思?!语句也有点不通!M序列产生的多项式不是很随便的吧!
你是想判断它是循环的第几个码子了?
param 2001-04-26
  • 打赏
  • 举报
回复
如果有m发生器的算法给我一下,ok,help me ,55555.......
param 2001-04-26
  • 打赏
  • 举报
回复
是想判断是第几个码子,但是m=2power(42) -1,耗时太长,有没有快一点的算法
g9yuayon 2001-04-25
  • 打赏
  • 举报
回复
什么叫"m序列码“?能不能给出个例子?还有,你的发生器用的是什么算法?每种算法生成序列
码应该不同的。这个问题还有没有附加条件,比如我能不能修改发生器的代码,能不能用额外
的空间,等等?

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧