伪随机序列

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

伪随机序列 (2)

1 基本原理 (2)

1.1 背景 (2)

1.2 实现原理 (2)

2 实现方式 (3)

3 FPGA的实现 (5)

3.1 设计思路 (5)

3.2 代码实现分析 (5)

3.2.1斐波那契方式 (5)

3.2.2伽罗瓦方式 (9)

4 总结 (12)

伪随机序列

1 基本原理

1.1 背景

随着通信技术的发展,在某些情况下,为了实现最有效的通信应采用具有白噪声统计特性的信号;为了实现高可靠的保密通信,也希望利用随机噪声;另外在测试领域,大量的需要使用随机噪声来作为检测系统性能的测试信号。然而,利用随机噪声的最大困难是它难以重复再生和处理。伪随机序列的出现为人们解决了这一难题。伪随机序列具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理,有预先的可确定性和可重复性。由于它的这些优点,在通信、雷达、导航以及密码学等重要的技术领域中伪随机序列获得了广泛的应用。而在近年来的发展中,它的应用范围远远超出了上述的领域,如计算机系统模拟、数字系统中的误码测试、声学和光学测量、数值式跟踪和测距系统等也都有着广阔的使用。

伪随机序列通常由反馈移位寄存器产生,又可分为线性反馈移位寄存器和非线性反馈移位寄存器两类。由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器,即为通常说的m序列,因其理论成熟,实现简单,应用较为广泛。

m序列的特点:

(1)每个周期中,“1”码出现2n-1次,“0”码出现2n-1次,即0、1出现概率几乎相等。

(2)序列中连1的数目是n,连0的数目是n-1。

(3)分布无规律,具有与白噪声相似的伪随机特性。

1.2 实现原理

在二进制多级移位寄存器中,若线性反馈移位寄存器(LFSR)有n 阶(即有n级寄存器),则所能产生的最大长度的码序列为2n-1位。如果数字信号直接

取自LFSR(非翻转信号)的输出,那么最长的连0数为n-1。除了字符串的连0和连1,伪随机序列在一个长度为n的字符串中将包含任何可能的0和1的组合。要使移位寄存器产生确定的值,必须置其初值并允许时钟电路产生移位时钟。

一般的线性反馈移存器组成如图1所示,图中一级移存器的状态用ai表示,ai = 0或1, i = 整数。反馈线的连接状态用ci表示,ci = 1表示此线接通,0表示断开。反馈线的连接状态不同就能改变输出序列的周期。

图1 一般的线性反馈移存器框图

ci的取值决定了移存器的反馈连接和序列的结构,也就是决定了序列的周期。用特征多项式f(x)表示为:

f(x) = c0 + c1x+ c2x2+ ···+ c n x n=∑c i x i

当特征多项式符合某些条件时称为本原多项式。在设计m序列产生器时,移位寄存器反馈线的结构直接决定于本原多项式的结构。也就是只要找到本原多项式,就能由它构成m序列产生器。

不同周期的m序列所适用的环境不同,ITU-T(国际电信联盟)对此提出了一系列标准。如ITU-T建议用于数据传输设备测量误码的周期是511,其特征多项式建议采用x9 + x5 + 1;以及建议用于数字传输系统(1544/2048和6312/8448kb/s)测量的m序列周期是215-1 = 32767,其特征多项式建议采用x15+ x14 + 1。在具体应用时,可参考ITU-T的标准进行选择。

2 实现方式

对于某种特定的本原多项式,有两种形式的LFRS结构来实现:Fibonacci (斐波纳契)LFSR和Galois(伽罗瓦)LFSR。Fibonacci(斐波纳契)LFSR专门在移位寄存器外部使用或(异或)门,而Galois LFSR在移位寄存器链内部使用专门的或门。两者的一般结构如图2、3所示:

n阶

图2 Fibonacci(斐波纳契)LFSR

从图2中可以看到,该移位寄存器是将各寄存器的输出值抽出来,在外部进行异或运算之后再将该值反馈到输入端。

n阶

图3 Galois(伽罗瓦)LFSR

从图3 中明显看到,异或运算是在各寄存器之间进行的。

例如,一个本原多项式为x15 + x14 + 1,表示一个15级的移位寄存器的输出。如果用斐波纳契LFSR实现,这个移位寄存器的第十四和第十五级被加入到异或门,结果反馈到第一级的输入端。而如果用伽罗瓦LFSR的方式实现,则当前移位寄存器的输出被加入到内置的第十四、十五级的异或门反馈实现。

在当前多项式的项数较少时,用斐波那契方法实现比伽罗瓦方式更好,可以达到较高的时钟速率。但是,虽然斐波那契的速度更快,但是它的实现方式在项数增加的时候性能会下降,而伽罗瓦LFSR的实现方式在项数增加的时几乎没有性能上的损失。所以,在应用时可根据不同的系统需求进行选择。

3 FPGA的实现

本设计分别用上述两种方式实现7阶的伪随机序列。

3.1 设计思路

由m序列的产生原理可知,该发生器主要由移位寄存器和异或门的反馈输入实现。因此,将设计分为以下几个步骤:

1)给移位寄存器赋初值,使其产生一个确定的序列;

2)分别根据斐波那契方式和伽罗瓦方式的特点,得到下一状态寄存器的输入值;

3)更新当前各寄存器的状态值,并且输出最高位的值。

3.2 代码实现分析

3.2.1斐波那契方式

斐波那契V代码如下:

module wsj_1( data_out, clock_in, reset_in );

output data_out; //输入输出声明

input clock_in, reset_in;

//==============变量声明============================= wire [06:00] exp_out; //下一状态各寄存器存储的值,其最高位为

//下一次触发时的输出值

reg [06:00] exp_in;

reg data_out;

parameter poly_in = 07'h03; //poly为特征多项式转化而来的7位值,

//若为…1‟,表示此处需要或门

//Poly : x^7 + x^6

// : 000 0011

// : 0 3

相关文档
最新文档