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

Matlab生成M序列的伪随机码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长。线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中。随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]。
' {7 A# U1 m8 X" X5 w" q4 i1 ]0 ~) j0 ~9 N+ s& t- F1 ^2 e
' }. m: B6 E  [4 ~' n- {
图3.5 线性反馈移位寄存器
1 I% R3 o, x3 X
: W5 a5 \8 e! {

( A; g1 n; N/ t" [) n! d# s8 w9 m
MATLAB生成M序列伪随机码函数如下:
% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数4 N  N" r2 o2 \0 H+ S2 f" E
% mseq=m_sequence(fbconnection); % mseq
6 t. F# I5 O; I%m_sequence.m功能是生成伪随机序列  k, |( R' }" ]9 o. S$ Q
%time:2016_1_13% O$ j$ A: A7 ^# t1 {. @; b+ Q
%edit by:柴宁3 X$ C; d# ?( Y  b7 w3 s: p
function[mseq]=m_sequence(fbconnection)/ W9 ^  E) C( J( ^
n=length(fbconnection); - G/ S0 `: L% d2 a4 z3 m1 t9 ?6 D
N=2^n-1;
2 j4 c$ ?; f5 z% register=[zeros(1,n-1) 1];
) X0 k3 ?* h% |# Lregister=[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)];
5 X$ a' t; a* Z+ P) z, D! w5 S3 hmseq(1)=register(n); 4 R6 p# w' r/ c3 ?1 b6 R; G
%m序列的第一个输出码元
# `( b) [' z7 O* \$ U3 z5 S" \8 T/ xfor i=2:N # k! r: L$ s2 Y' ~; r/ ?
newregister(1)=mod(sum(fbconnection.*register),2); - `7 ~8 _. u& X
for j=2:n,
6 |' l/ Z; l. G! h4 Lnewregister(j)=register(j-1); 8 Y- K$ @: S3 |) l% D  M
end; * a3 q' R* j0 u; B
register=newregister; * L! G; q) q( `" `* H" F7 q; H
mseq(i)=register(n); 5 H3 y  f9 R! i  h
end
# n/ E; m$ E+ _

; O9 N; I- C3 Z( l, K, T: w( G* D+ P# \. Q

1 f$ ?8 e5 H7 ?" T

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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