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

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

0 y8 `! S& s2 k9 @; ?8 ~! h
, y7 |3 s+ @4 E( i) v9 g+ E) w& A
图3.5 线性反馈移位寄存器

/ Z% u: W) }  Q/ ^6 @) y4 n
/ ?5 n' Z5 D# F) X, f% m
: T7 p. w. o  i5 E/ z
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数0 J' `4 P* t  f2 r; f
% mseq=m_sequence(fbconnection); % mseq
5 F/ D, ^$ j/ ]* s4 B9 j% m4 d2 c%m_sequence.m功能是生成伪随机序列2 s/ d6 K8 G# m  s
%time:2016_1_136 Z: c1 v& q% A9 d  }
%edit by:柴宁
! m) N2 [5 v/ T' P( C. b! nfunction[mseq]=m_sequence(fbconnection)0 n+ i) x( C+ j1 L9 U; ~
n=length(fbconnection);
; H7 ~4 ?) J$ g& ~$ I- d  v3 CN=2^n-1;" B1 K$ J: f2 Q4 N
% register=[zeros(1,n-1) 1];% q  n! N; r. M1 i: F7 `4 j
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)];( I. ~2 F, ^. n1 h
mseq(1)=register(n);
. \( n$ _/ [/ d  Q%m序列的第一个输出码元 : j3 y( |+ f  j! }6 D) o
for i=2:N
/ @& j/ J9 \4 A) xnewregister(1)=mod(sum(fbconnection.*register),2);   Q6 @, E9 \2 |
for j=2:n,
; M2 I3 ]* j9 A! c* jnewregister(j)=register(j-1);
9 z* h6 W- f9 n# _9 R' F& fend;
! |1 E) P2 K3 k- u* h1 nregister=newregister;
9 \7 n- N4 p# m: K7 Z) Wmseq(i)=register(n);
: n. L) m' P: x- Mend
3 }+ g* T; l+ h
5 e6 ~1 L6 O! C1 x

  w1 w+ Q6 y% {+ ?$ l3 e) I& \5 g

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 12:59 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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