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

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

6 n5 P3 J8 r. d% |   C; d  k( x; U
图3.5 线性反馈移位寄存器
# ^+ r7 X! Y* d+ j5 p

! V8 o  o& n/ W" A5 j* i: ?" J+ K( O; ]9 o4 W  n
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数
$ l1 u" E' T/ p; {" T" K# s, G% mseq=m_sequence(fbconnection); % mseq
$ `# R6 o8 ]+ Q# R4 f: c& `* e%m_sequence.m功能是生成伪随机序列. S$ y8 k/ X5 @! l, E
%time:2016_1_13
% x/ q7 n& W; |% ~; l, _%edit by:柴宁
1 V( j# T& z- Hfunction[mseq]=m_sequence(fbconnection)% @% u$ x( K* S7 d9 H: I5 Q
n=length(fbconnection); 1 E* W& v) j2 u
N=2^n-1;- T/ F7 ]% ^" ~7 M8 e+ W
% register=[zeros(1,n-1) 1];
. S# j3 T7 l0 r8 F2 g  l6 d, fregister=[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)];
/ [1 s6 {9 x: i# n! ?" o- }mseq(1)=register(n); : X6 b" v5 V( ^6 f- Y
%m序列的第一个输出码元 ' U9 t9 j' s9 i1 r, w6 s  K' S
for i=2:N 5 [: x2 ~" k# y. Z4 l4 d6 L
newregister(1)=mod(sum(fbconnection.*register),2);
! X& O8 P7 M: H% Mfor j=2:n,
! R1 b( i; i% \; ]; Znewregister(j)=register(j-1); 1 q: b$ |: s; g" [8 u. s
end; ; g. g% w7 a/ p3 H
register=newregister;
, g4 ~" A$ l0 jmseq(i)=register(n); $ W% \( e4 K; P) W
end
! a7 ^  L: v  O% \+ M9 N7 M

0 e' Z+ F' l( z
3 G5 \$ \, E- M& @
$ b3 |5 g+ N% b7 {

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-23 21:52 , Processed in 0.062500 second(s), 26 queries , Gzip On.

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

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

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