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

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长。线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中。随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]。
1 q* V3 O$ J5 K; B7 u3 p6 [- R
! c- w# S4 M3 [
+ }7 ~. M3 n7 B& W9 m8 V- T( V
图3.5 线性反馈移位寄存器

* e) U6 Q4 U' `( n  t9 F' z3 n 1 P/ D  g3 t4 G! v" @! l' [" M

" Y; m( S# j' W& O
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数
1 ^: y% c0 H4 D% mseq=m_sequence(fbconnection); % mseq 8 I0 ]  h9 [$ `9 I6 W7 o* a
%m_sequence.m功能是生成伪随机序列
5 P& F% ^8 I0 M, O5 m6 s%time:2016_1_13
( X. `4 x" f; C; U! a%edit by:柴宁
0 D4 ?8 S- Z# Z8 [. Mfunction[mseq]=m_sequence(fbconnection)- W3 m. O6 G! ^. X. c* N6 p
n=length(fbconnection);
6 a5 p, I6 Y) ~9 M! \# VN=2^n-1;, S  w- \4 r4 H. u9 u* t7 {$ m+ |
% register=[zeros(1,n-1) 1];. ?9 n6 g) R; \; q1 z
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)];
0 T0 w$ w# J3 v, M" d) Hmseq(1)=register(n);
. F/ j* l0 A1 n& m" I4 J5 Q%m序列的第一个输出码元
% f# s6 R0 v' ~4 w+ qfor i=2:N
0 v9 C1 V1 \; @1 Pnewregister(1)=mod(sum(fbconnection.*register),2); 8 t" ~( S. D3 @
for j=2:n, , f; L1 W- G/ ], R# ]( _( i( D; ?
newregister(j)=register(j-1); , @& o+ ^# @( o# m
end;   J' v9 ?# V0 S) e# O) {
register=newregister; 9 h! w% M% c( [. E- P8 ?
mseq(i)=register(n);
1 s$ o; s" c! n+ T$ lend
2 q1 o6 e) R( @) l# \& Z; b9 ~" T

" H8 v$ B" L: \& T9 _; _: @0 J! ^  p: b, F5 V+ O8 y

* }1 S$ f) B$ }* q6 ^% |

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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