跪求:关于使用32位线性反馈移位寄存器进行加扰的问题

lost58 2010-11-04 10:05:52
现在遇到一个难题:

3.1 数据干扰
数据干扰按照下列4个步骤进行.
1. 用一个所有用户位的函数替换前10个用户位.
2. 从12位干扰码中计算32位整数S.
3. 使用32位线性反馈移位寄存器进行干扰,初始状态为S.
第1步 (和第3步特殊表达式) 的目的是确定:改变一个用户位将给出完全不同的干扰序列(见前一节的结尾).
第1步: 长报文令m=830,短报文令m=210. 令um 1, um 2, ..., u0 为用户位. 用户位从左到右分成k个 10-位的数据块, Uk 1=(um 1... um 10), Uk 2=(um 11... um 20), ..., U0=(u9...u0), 其中,长报文 k=83,短报文k=21. 形成一个新的10位的字块序列U’k 1, U’k 2, ..., U’0 ,区别只在第1个字: U’i =Ui 其中i=0...k-2,并且
U’k 1 = Ui mod 210, (1)
其中所有的10-位数据块都被认为是整数,左边为最高位(msb). 序列U’k 1, ..., U’0 被转换回一个位串u’m 1, ..., u’0, 除第1个10位u’m 1, ..., u’m 10外,它与um 1, ..., u0一致
第2步: 12个扰码位 (sb) b106...b95 被当作一个整数, 最高位(msb)是 b106,最低位 (lsb)是 b95: B = b106•211+...+b96•2+b95. 32-位整数S定义如下
S = (2801775573 • B) mod 232. (2)
(注意2801775573 = 690693 mod 232; 对于这种类型的随机数字发生器来说,后面的数字只是一个普通的选择.)
第3步: 使用Fig. 2的移位寄存器电路, 其中的方块为延时单元,加号表示异或操作. 系数h31, h30, h29, h27, h25, 和 h0 等于1 (通过连接); 所有其它系数是 0 (没有连接). 延时单元的总数是 32. S的二进制表达式作为初始状态载入Fig. 2的移位寄存器中 (左边为msb). 然后电路计时m-1 次, 其中输入为u’m 1, ..., u’0, 生成扰码位sm 1, sm-2, ..., s0. (第一个输出, sm 1, 在第一个时间前读出.)
在多项式符号中, Fig. 2的电路在每个时间段完成操作 (x)  Rh(x)[x•(x) + uix32], 其中 (x) = 31x31 + ... + 1x + 0 为移位寄存器的内容(0 在右边), h(x) = x32 + x31 + x30 + x29 + x27 + x25 + 1, ui 为当前输入 (i=m-1...0).


Fig. 2. 数据干扰.


这是一个文件里面讲到了加扰,就是利用了32位线性反馈移位寄存器,可是不知道怎么将其转化为算法(有个图,好像粘不进来),如果有这方面的高手请指点一二,在此多谢了.QQ41617568


...全文
235 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuwening 2010-11-04
  • 打赏
  • 举报
回复
贴错地方了吧。太高深了

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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