找回密码
 注册
关于网站域名变更的通知
查看: 492|回复: 1
打印 上一主题 下一主题

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-1 14:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长。线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中。随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]。4 C: k/ M- ^; I8 `4 r! C& X, ~

+ d' o1 n& D9 A8 ? 8 l) O0 Q% b4 n, q- E& t
图3.5 线性反馈移位寄存器
' N- H5 i) p3 P
5 ~) U* b" l: H' l" f
; G5 E8 w% e8 E
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数
+ O# f  c, g6 j: z* Y" J% mseq=m_sequence(fbconnection); % mseq
  c) {* w& {: j* I3 ?- x0 ^%m_sequence.m功能是生成伪随机序列
+ X, H* J" O5 a7 q; Z6 ?%time:2016_1_13
  U: N. s0 Z- P* |9 v%edit by:柴宁; D% [  L6 T* i8 y
function[mseq]=m_sequence(fbconnection), H& S6 P/ P4 G* C
n=length(fbconnection); $ Z& q8 h' x, E' I* K- L
N=2^n-1;
1 c3 d. w7 q; \9 `  x) ?% register=[zeros(1,n-1) 1];
! l) D" y5 O: H1 Y: Rregister=[1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1];%移位寄存器的初始状态 ,[r(i),r(i-1),r(i-2),...r(0)];
% o$ q) T; D& l4 t+ N% p5 ]# g- vmseq(1)=register(n);
; Y* v) X- \/ a3 k5 D+ Y8 F%m序列的第一个输出码元
; q, G  L0 B2 ^6 ]for i=2:N ) U5 x* i. @( ^+ ?0 d
newregister(1)=mod(sum(fbconnection.*register),2); / [. \" r4 }6 }/ V
for j=2:n,
: P" ]: q% i/ X# `newregister(j)=register(j-1);   ?. w3 x; I# w5 ?! ]3 _$ P! P! S
end;
; L. j7 y: [# ^  _4 yregister=newregister; 4 U/ V5 u, c" U5 Q7 J, h* l
mseq(i)=register(n); " `# `  m, C' O
end
: D5 o) {9 Z; |+ a
9 J7 j9 N9 S! f! W- v
: \# z7 A  K/ c& D5 f
2 \. E: q/ B$ g0 M, I" J

该用户从未签到

2#
发表于 2020-9-1 15:35 | 只看该作者
Matlab生成M序列的伪随机码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-4 05:09 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表