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

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长。线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中。随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]。  a* U% U+ ]/ S" y
/ D  U$ N# h+ S7 [2 N6 p
3 |7 F8 l- j) x+ ^) Q2 ?
图3.5 线性反馈移位寄存器

% g5 G8 k; A& i6 \" P5 _# Q1 Q 3 f7 J' z# A" ~$ V* j1 r

* `7 e5 s# ^2 `- a
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数, m* w- h3 B% C! j3 `6 Q* i7 y( z
% mseq=m_sequence(fbconnection); % mseq & t0 P5 t% u5 Q; P! D
%m_sequence.m功能是生成伪随机序列! a, V# ~1 x0 ?) c% A9 |
%time:2016_1_13
% A$ k$ F$ P, n) I: u$ u! }%edit by:柴宁: b/ S. p( P) C7 C- j
function[mseq]=m_sequence(fbconnection)
. m3 B; H) y0 tn=length(fbconnection);
1 l' M% f& p" jN=2^n-1;
1 Y# U3 E9 ]- L7 H8 g% register=[zeros(1,n-1) 1];: u5 I8 i( K* i- F. o
register=[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)];
! n2 O& K2 \/ G4 k, `0 Q) |mseq(1)=register(n);
9 x5 V3 ^( g0 [5 d%m序列的第一个输出码元 0 |) t) \# w: [5 i0 S6 C: l/ ?
for i=2:N
9 c. J1 Y  ^# x, ~" k8 Cnewregister(1)=mod(sum(fbconnection.*register),2);
2 L) F* S' Y6 x7 ]9 Ffor j=2:n,
: T. k2 r. \1 S: l4 Mnewregister(j)=register(j-1);
. z$ t, L1 G/ Z: |! Oend; : j  A' h3 w) D* M) U% `! w
register=newregister;
, c) \; E/ _5 j( A: [9 j& C1 s8 T. hmseq(i)=register(n);
" E9 c- L/ ?% F: N$ c. A: Xend
# m- t: M- R- Z$ O6 Y. n; m: J
6 K) U" x( t( r

1 q/ N- ~' e7 ]
1 x. Q! T) v( v2 \" j; W' g, Y

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-16 06:54 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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