伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。产生的伪随机数有时遵守一定的规律,有时不遵守任何规律;伪随机数有一部分遵守一定的规律;另一部分不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正是点到了事物的特性,即随机性,但是每种树的叶子都有近似的形状,这正是事物的共性,即规律性。从这个角度讲,计算机只能产生伪随机数而不能产生绝对随机的随机数。 共15张 伪随机码
伪随机码又称伪随机序列,它是具有类似于随机序列基本特性的确定序列。通常广泛应用二进制序列,因此我们仅限于研究二进制序列。二进制独立随机序列在概率论中一般称为贝努利(Bernoulli)序列,它由两个元素(符号)0, 1或1, -1组成。序列中不同位置的元素取值相互独立取0取1的概率相等等于1/2:我们简称此种系列为随机系列。
随机序列具有以下三个基本特性:
1)在序列中“0”和“1”出现的相对频率各为1/2。
2)序列中连0或连1称为游程连0或连1的个数称为游程的长度,序列中长度为1的游程数占游程总数的1/2;长度为2的游程数占游程总数的1/4;长度为3的游程数占游程总数的1/8;长度为n的游程数占游程总数的1/2n(对于所有有限的n)。此性质我们简称为随机序列的游程特性。
3)如果将给定的随机序列位移任何个元素,则所得序列的和原序列的对应的元素有一半相同,一半不同。
如果确定序列近似满足以上三个特性则称此确定序列为伪随机序列。
利用FPGA可实现移位寄存器网络以产生伪随机码信号,并实现逻辑控制和时钟分配等功能。对于FPGA输出的TTL信号,其处理方法有两种:一种是直接送至运放进行信号调理输出;另外一种是将TTL经过D/A转换及信号调理后再输出。经过分析与实际测试,由于FPGA输出的信号相位抖动较为严重,甚至会造成信号边沿不稳,而且存在着严重的寄生信号,因而输出的伪码质量较差;而如果经过D/A转换后再进行调理输出,这种影响会得到削弱,信号质量会得到提高,因此第二种方法更为可取,在实际应用中,笔者就选择该方法进行电路设计,并选择差分电流输出型D/A经过MAX4145放大后直接输出。
基于MAX4145的伪随机码产生电路原理。该伪随机码产生电路在工作时,系统可以通过并口将伪码数据分配给FPGA,也可由FP-GA自主产生伪码信号,同时由FPGA完成信号处理、时钟分配、码同步产生以及波形存储等功能。MAX4145的作用主要是完成差分到单端输出的转换和放大。