王朝百科
分享
 
 
 

伪随机码

王朝百科·作者佚名  2010-07-26  
宽屏版  字体: |||超大  

简介

伪随机码
伪随机码序列

在计算机、通信系统中我们采用的随机数、随机码均为伪随机数、伪随机码。所谓“随机码”,就是无论这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现的循环长度相当大,例如CDMA采用42的伪随机码,重复的可能性为4.4万亿分之一,所以可以当成随机码使用。

原理伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有时不遵守任何规律;伪随机数有一部分遵守一定的规律;另一部分不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正是点到了事物的特性,即随机性,但是每种树的叶子都有近似的形状,这正是事物的共性,即规律性。从这个角度讲,你大概就会接受这样的事实了:计算机只能产生伪随机数而不能产生绝对随机的随机数。

处理方法利用FPGA可实现移位寄存器网络以产生伪随机码信号,并实现逻辑控制和时钟分配等功能。对于FPGA输出的TTL信号,其处理方法有两种:一种是直接送至运放进行信号调理输出;另外一种是将TTL经过D/A转换及信号调理后再输出。经过分析与实际测试,由于FPGA输出的信号相位抖动较为严重,甚至会造成信号边沿不稳,而且存在着严重的寄生信号,因而输出的伪码质量较差;而如果经过D/A转换后再进行调理输出,这种影响会得到削弱,信号质量会得到提高,因此第二种方法更为可取,在实际应用中,笔者就选择该方法进行电路设计,并选择差分电流输出型D/A经过MAX4145放大后直接输出。

基于MAX4145的伪随机码产生电路原理。该伪随机码产生电路在工作时,系统可以通过并口将伪码数据分配给FPGA,也可由FP-GA自主产生伪码信号,同时由FPGA完成信号处理、时钟分配、码同步产生以及波形存储等功能。MAX4145的作用主要是完成差分到单端输出的转换和放大。

实例让我们看一个例子。序列α= 0110100,其中0和1的个数相差1。把α看成周期为7的无限序列,左移1位得,α1 = 1101000,把α1也看成周期为7的无限序列。 α= 0110100α1=1101000在一个周期里,α和α1的对应位置元素相同的位置有3个,元素不同的位置有4个,它们的差等于-1,这个数称为α的自相关函数在1处的值,记作。类似地,把α左移2位,3位,…6位,可以求出α的自相关函数在2处,3处,…6处的值也等于-1。当0 < s <7时,称为α的自相关函数的旁瓣值。从刚才所求出的结果知道,α= 0110100的自相关函数的旁瓣值只有一个:-1。像这样的序列称为伪随机序列或拟完美序列。即,一个周期为v的无限序列,如果在一个周期里,0和1的个数相差1,并且它的自相关函数的旁瓣值只有一个:-1,则称它为伪随机序列或拟完美序列。α的自相关函数的旁瓣值的绝对值越大,就表明(或把的0和1互换得到的序列)与α越像。因此如果周期为v的序列α是一个伪随机序列,那么α不管左移几位(只要不是v的倍数),得到的序列都和α很不像,这样就很难分辨出α是什么样子。好比川剧的变脸,由于每一次都变得和演员的脸很不一样,因此很难知道演员自己的脸是什么样子。反之如果演员每一次化装后都跟他自己的脸有许多相同之处,那么就容易辨认演员长得什么样。这说明了用伪随机序列作为密钥序列,是比较安全的。

伪随机序列是用函数生成随机数。它并不真正是随机的。只是比较近似随机。

一个简单的随机数产生方法如下:

X0=345

Xn=(Xn-1*A+B)/C

其中A,B,C是常数,上式每执行一次就生成一个伪随机数

还可以在数组中填入若干个数然后顺序取出进行模拟。性能好,但是这种随机数就很不象随机数了。 还有就是根据当前系统时间,内存值等等用函数生成了。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有