m伪随机码的产生matlab,伪随机数的产生
伪随机数的产生
1.2. 线性反馈移位寄存器
线性反馈移位寄存器(LFSR)是一个反馈移位寄存器。其反馈函数是寄存器中某些位的简单异或,这些位也称之为抽头序列。一个n位的LFSR能够在重复之前产生2^n-1位长的伪随机序列。只有具有一定抽头序列的LFSR才能通过所有2^n-1个内部状态,产生2^n - 1位长的伪随机序列,这个输出的序列就称之为m序列。
┌─┬─┬─┬─┬─┬─┬─┬─┐
┌─→┤ │ │ │ │ │ │ │ ├──→
│ └─┴─┴─┴─┴─┴─┴─┴─┘
| \ | /
└───────←⊙←─
为了使LFSR成为最大周期的LFSR,由抽头序列加上常数1形成的多项式必须是本原多项式模2。多项式的阶即移位寄存器的长度。一个n阶本原多项式是不可约多项式,它能整除x^(2*n-1)+1而不能整除x^d+1,其中d能整除2^n-1。例如(32,7,5,3,2,1,0)是指下面本原多项式模2:
x^32+x^7+x^5+x^3+x^2+x+1
把它转化为最大周期LFSR就是在LFSR小邓第32,7,5,2,1位抽头。更多的本原多项式模2
利用上述两种方法产生周期为m的伪随机序列后 ,只需要将产生的伪随机序列除以序列的周期,就可以得到(0,1)上均匀分布的伪随机序列了。
-------------------------------------------------------------------------
function x = rndgenm(n,options)
%RNDGENM Uniformly distributed random numbers generator.
% X = rndgenm(N,OPTIONS)
% where N is number of random variates needed, and OPTIONS give a
% tap sequence for Linear Feedback Shift Register (LFSR).A default
% choose of OPTIONS is [32,7,5,3,2,1,0].
%
% RNDGENM produces pseudo-random numbers. The sequence of numbers
% generated is determined by the state of the generator. RNDGENM use
% Linear Feedback Shift Register (LFSR) to generate a m-sequence.
%
% See also RAND, RNDGEN
%---------------------------------------------------------------------------
% xywu
% Fudan university.
%
% $Revision: 1.0 $
% $Date: 03/08/2002 $
%
%---------------------------------------------------------------------------
if nargin>2
error('Too many arguments! ');
end
if nargin<1
error('Requires at least one input argument.');
end
if nargin==1
options = [32,7,5,3,2,1,0];
end
options = options(find(options>0));
Len = max(options);
if Len>51 | Len<1
error('Tap sequence should be more than 1 and less than 51.');
end
x = [];
MAXVAL = 2^Len-1;
Register = 0;
while Register==0
Register = fix(rand(1)*MAXVAL);
end
for i = 1:n
Feedback = 0;
for j = 1:length(options)
Feedback = bitget(Register,options(j))+Feedback;
end
Register = bitshift(Register,-1);
Register = bitset(Register,Len,bitget(Feedback,1));
x(i) = Register/MAXVAL;
end
m伪随机码的产生matlab,伪随机数的产生相关推荐
- 伪随机数matlab,伪随机数与matlab随机数
转自http://hi.baidu.com/yanshanedu/item/0432e4d2deac9543ddf9bee0 伪随机数与matlab随机数 要说matlab的随机函数,就得先说说伪随机 ...
- matlab伪随机数(以及如何得到真正的随机数)
一.问题探究 众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受.但是,如果我们知道伪随机数的初始状态,那么产生的伪随机数是唯一确定的.问题来了,Matlab每次启动会重 ...
- matlab——伪随机数生成
rand(m) 用于生成m行m列均匀分布在(0,1)之间的伪随机数 实现 >> rand(5)ans =0.8147 0.0975 0.1576 0.1419 0.65570.9058 0 ...
- 用matlab生成跳频信号,用MATLAB实现一种快跳频通信系统
内容简介: 毕业论文 用MATLAB实现一种快跳频通信系统,附答辩文稿.程序与框图.英文资料及翻译,正文共41页,20495字. 摘 要 快跳频通信是扩频通信的一种实现方式,它有很多的特点和有点,尤其 ...
- matlab随机数的设计及应用,matlab随机数的应用
随机数.: 十七.Weibull 随机数 R = weibrnd(A,B) R = weibrnd(A,B,m) R = weibrnd(A,B,m,n) Matlab 随机数 小结 1,rand 生 ...
- 使用MATLAB生成任何需要的伪随机码(PN码)
目录 一. 引言 二. 用matlab生成伪随机序列 一. 引言 伪随机码(PN码),只包含0和1,是一种人为随机创造的随机序列.应用范围广,通信中经常使用到,比如伪码测距等.为了验证所给的生成函数是 ...
- 伪随机数与matlab随机数
转自http://hi.baidu.com/yanshanedu/item/0432e4d2deac9543ddf9bee0 伪随机数与matlab随机数 要说matlab的随机函数,就得先说说伪随机 ...
- 真随机数和伪随机数以及伪随机数的MATLAB实现
1 真随机数 真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的.使用物理性随机数发生器生成的真随机数,可以说是完美再现了生活中 ...
- matlab伪随机码,Matlab生成M序列的伪随机码
图3.5 线性反馈移位寄存器 MATLAB生成M序列伪随机码函数如下: % 在MATLAB命令窗口输入以下: % fbconnection=[0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 ...
最新文章
- 从0到1,苏宁API网关的演进之路
- 经典算法——堆排序笔试题
- linux snmp进程,linux snmpwalk命令详解
- awk -f 分隔符 命令_千面 awk
- python安装Scrapy踩过的坑以及安装指导
- python传文件给java_用java pyhont通过HTTP协议传输文件流
- .net里鼠标选中的text数据怎么获取_数据快速对比,这个快捷键你都不会,难怪要加班...
- C++ 类对象和 指针的区别
- 使用 Ajax 调用 SOAP Web 服务,第 1 部分: 构建 Web 服务客户机
- linux bash学习(一)
- 锋利Jquery 第一天
- python编写计算方差的函数_基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解...
- centos7.9安装zabbix+添加局域网下其他客户机
- html body language,关于BODY LANGUAGE
- 2021清华本科特奖答辩现场:有人用AI识别甲骨文!有人研究6G!奥运冠军:走下领奖台一切归零...
- 整数分解 费马方法c语言,因数分解(费马的方法)
- unsigned long long类型与long long类型
- Python一些可能用的到的函数系列37flipflop 对象
- 会议签到web_GitHub - dzhgb/EasyMeeting_Web: [ThinkPHP5] 智能会议室Web端:账号管理、会议室设置、用户预约、在线签到...
- Putty的噩梦——渗透工具PuttyRider使用心得分享
热门文章
- 大航海时代:葡萄牙、西班牙率先出发,英国为何成为最大赢家?
- 分布式数据库实战第六节 数据库中间件的研究
- 解读经典《C#高级编程》第七版 Page79-93.对象和类型.Chapter3
- java springBoot实现QQ机器人,定时发送信息,自动回复功能
- 传B站35岁女副总裁嫁24岁男主播!资产80亿,任职45家企业
- VC++的DDX/DDV机制
- 哪一类功率放大电路效率最高_直流电机驱动电路设计,细,全!
- Chrome浏览器性能对比测试报告
- 肖博高中数学一对一补习高考数学强化直线与圆 题型总结|附带详细解析
- NOI- 1.5编程基础之循环控制(不完整)