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

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长。线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中。随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]。
" A; r9 u$ U% L& H, R# r( l3 I
# R2 y6 W$ O! a+ A3 O
# W6 t7 d' J. Z: O; k& `
图3.5 线性反馈移位寄存器

' w) U# T" ^+ u1 P" c 1 R& W5 y+ p) h) t; Z. O
, h& Z1 o- s( F/ U6 F
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数
4 C9 o  x; h* J2 o7 ]' [% mseq=m_sequence(fbconnection); % mseq / a* R- p1 X1 k0 k6 `9 B; r
%m_sequence.m功能是生成伪随机序列
, @7 K! J1 q: D%time:2016_1_135 Q, d" d/ N( U* o% a# Z. h
%edit by:柴宁
( ?" a6 s& f! D: n) ]9 Ofunction[mseq]=m_sequence(fbconnection)9 z+ D% ~' X" V6 ?0 [" D0 [  z
n=length(fbconnection);
+ C. B- Z; ~8 R* T( Z8 hN=2^n-1;' w3 }) M/ ~  q
% register=[zeros(1,n-1) 1];/ z6 Z& P3 `; A1 u. D
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)];; S2 t- s8 C  P/ H
mseq(1)=register(n);
! `+ |6 G' X$ L: _4 {%m序列的第一个输出码元
4 S6 w: g" k1 Z) m1 C' [7 y6 t0 J. xfor i=2:N , H% r/ D$ _8 O5 U" ~
newregister(1)=mod(sum(fbconnection.*register),2);
( x7 `: x' S6 k/ L: B' y# tfor j=2:n,
) A- Y% n& H7 @newregister(j)=register(j-1);
# G2 ^2 j$ a% n$ a( zend;
% q* x- ~. N4 U6 Zregister=newregister;
2 g9 r7 v/ l3 p3 Z9 Pmseq(i)=register(n);
; h1 `- ~) ]: Eend

# d+ C) _+ S6 C+ I* w
) R2 P! n) h. D7 S8 S4 W+ j
. m. y3 |7 D+ s( y9 I0 ?2 P' p; T/ S; g! P* _/ q

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-27 15:12 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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