基于FPGA的伪随机序列发生器设计
基于FPGA的m序列信号发生器设计

基于FPGA的m序列信号发生器设计摘要:m序列是一种伪随机序列(PN码),广泛用于数据白噪化、去白噪化、数据传输加密、解密等通信、控制领域。
基于FPGA与Verilog硬件描述语言设计井实现了一种数据率按步进可调、低数据误码率、反馈多项式为的m序列信号发生器。
系统时钟为20MHz,m序列信号发生器输出的数据率为20~100 kbps,通过2个按键实现20 kbps步进可调与系统复位,输出误码率小于1%。
m序列是最长线性反馈移位寄存器序列的简称,它是由带线性反馈的移位寄存器产生的周期最长的一种伪随机序列。
是由移位寄存器、反馈抽头及模2加法器组成。
m序列一旦反馈多项式及移位寄存器初值给定,则就是可以预先确定并且可以重复实现的序列,该特点使得m序列在数据白噪化、去白噪化、数据传输加密、解密等通信、控制领域使用广泛。
因此,深入学习研究m序列具有重要的实际意义。
1 m序列信号发生器的组成基于FPGA的m序列信号发生器硬件结构极其简单,仅需两个独立按键(一个是复位按键与另一个控制数据率切换按键)、一个48 MHz 的用于提供系统时钟有源晶振、系统电源、一块配置芯片、几个简单的电阻与电容即可实现。
按键去抖动、按键复位、按键切换数据率、时钟分频等功能均在FPGA内部编程实现。
2 m序列信号发生器的关键设计本文中m序列信号发生器的反馈多项式为。
其反馈及移位寄存器的关系图如图2所示。
从本设计中的反馈及移位寄存器的关系图可以看出,一个时钟周期,移位寄存器右移一位,最高位输入为x0、x2、x3、x4及x8的异或(模2相加)。
m序列的输出是移位寄存器的最低位。
图2所示的关系是m序列呈现为随机性、周期性的根本原因。
为了满足信号发生器输出数据率20 kbps的步进通过按键可调,则生成按步进20 kbps可调的时钟是实现该功能的关键。
当按键发生,时钟的输出频率加20 kbps。
在实际电路中,按键会有很大抖动,对系统会造成很大的不稳定性,因此,必须想办法减小这样的不利影响。
基于FPGA的伪随机码序列发生器实现方案研究

一
步 ,即捕捉 。
4 伪 随机序 列发 生器 设计 与实 现 .
作速度 ,可以采用基于流水线 的设计方法。所 谓 流水 线 设计 实 际上是 把 规模 较 大 、层 次 较 多 的逻辑 电路分为几个级 ,在 每一级插人寄存器 组且暂存 中间数据 。很显然 ,流水线设计在提 高系统处理速度的同时也多耗了器件资源 ,但 是 ,大 多 数 F G 中 的 逻 辑 单 元 都 比较 丰 富 , PA
‘ 或 “” 随机 等 概 这 一 性 质 及 大 数 定 理 , 1是
扩频序列编码是扩频通信系统的核 心内容
之 一 。扩 频序 列 最 基本 的要 求 是 序 列应 具 有 随
机性 。然而 ,随机信号 的产生 ,复制 ,控制难 以实现。伪随机序列具有类似 于随机信 号的一 些统计特性 ,但 又是有规律 的 ,容易产生 、复
论文通过对 FG P A技 术 的研 究 ,对 在 F G 中 PA
实现伪随机码序列发生器做了有益 的研究与实 践 ,设计 中充分运用 了 自上而下 、递 阶式 、结 构化 、 模块化设计思想 。
2 P .F GA技 术研 究
现 场 可 编 程 门 阵 列 F G ( id Po P A Fe r— l
然 后 在设 计 时 调 用 这些 基 本 单 元 ,逐 级 向上 组 合 ,直到形 成 系统 为止 。基 于 E A技 术 的 自上 D 而下 的设 计 方 法 正 好相 反 ,它 首 先在 系统 级 对
微控制器 ) ;二是高速并行 I 口;三是实现数 / O 字信号处理 ( s )功能 。针对 以上动态 ,本 pP
愈来愈受到 电子界的青睐 ,开发基 于 F G P A的 数字集成系统设计的新技术方法将逐渐成为主
基于FPGA伪随机序列发生器设计

0 0 0 … 1 cn- 1 称为线性移位寄存器的状态转移矩阵 ,显然状态转移
矩阵 T 和初始状态完全刻画了线性移位寄存器所产生的
序列[12] 。在此建立起了反馈函数 ,即 f ( x0 , x1 , …, x n- 1 ) =
n- 1
∑cn- 1- i x i , cn- 1 - i ∈ GF (2) 和状态转移矩阵 T 之间的对应
可编程器件应用
电 子 测 量 技 术 EL EC TRON IC M EASU R EM EN T TEC HNOLO GY
第 32 卷 第 5 期 2009 年 5 月
基于 FPGA 伪随机序列发生器设计 3
段颖妮1 ,2
(1. 西安文理学院机电系 西安 710065 ; 2. 咸阳师范学院数学系 咸阳 712000)
END COMPON EN T ; 实现 D 触发器 ,结合图 1 所示反馈移位寄存器的逻辑 功能图 , m 序列移位寄存器结构中前向通道采用 n 级 D 触 发器串级联接 ,反馈通道中是某几个 D 触发器输出端的异 或运算 ,异或运算的结果送给最左端 D 触发器 ,从最右端 D 触发器输出 m 序列 。 例 1 :误码测试仪中测试序列采用 m 序列 ,国际电信联 盟 ITU ( International Telegrap h Union) 建议用于数据传输 设备测量误码的 m 序列周期是 511 ,其特征多项式 (本原多 项式) 建议采用 f ( x) = x9 + x5 + 1[12213] , 本文应用移位寄 存器理论从本原多项式出发产生 m 序列 ,本原多项式是 f ( x) = x9 + x5 + 1 的 m 序列 V HDL 语言编程主要代码如 下:
一种新型基于FPGA的伪随机序列发生器设计

参考文献
级数 ( n ) 可调 的是本设计的核心之一 ,实 现移位寄存器的多级 移位可调 。伪 随机序列 发 生器 可 由 m序列 的特 征 向量 ,根据控 制级数 的输入信号 ( n ) ,产生 3 ~ 1 6级 的任意一级 的随 机序列 ,产生 的最长 的序 列长度 为 ,基本上 可 以满足一般应用需求。级数控制 输入信号是
学学报 , 2 0 1 2 .
Go l d序列 、M 序 列等 ,本 文设计 的伪 随机序 列 发生器是 采用 m序 列设计 的。反馈 函数 可
所 输入 的 3 N 1 6级 任意 一个 十进制数 。如 图 2 所示 , 级数控 制输入信号到译码器 中进 行译码 , 将译码的结果传到多路选择器 。通 过多路选择 器进行选择 ,得到不同的移位控制信息,输出 的移位控制信息控制移 位寄存器组 。 核心 ,实现线性反馈线性移 位寄存器 的反馈 系
系数 可 调 的特 性 。
个电路 ,使 用统一 的输入输 出管脚 ,统一 的
输 入时钟信 号 。输入信 号有 :4位 的级 数 ( n ) 合 。该设 计的电路可以产生 的最长的序列长度 控制输入 、使能控制、输入 时钟、反馈系数控 为 ,可 以满 足大部 分场合 下的要求 。整体 电 制( c ) ;输 出信号有 :伪 随机 序列输 出。 电路 路硬件结构简单、 占用的器件 资源少 、具有很 结构如图 1所示。
电力 电子 ・ P o we r E l e c t r o n i c s
一
种新型基于 F P G A的伪随机序列发生器设计
文/ 赵怡 余 稀
特
用 Q u 路
馈
机
反
基于FPGA的伪随机码序列发生器实现方案研究

基于FPGA的伪随机码序列发生器实现方案研究
于燕;焦晖
【期刊名称】《电脑与电信》
【年(卷),期】2006(000)006
【摘要】本文重点设计实现了基于FPGA的伪随机码序列发生器,论文首先对FPGA技术进行了分析研究,阐述了伪随机序列理论,在此基础上,本文阐述了伪随机码发生器原理,并提出了基于FPGA的伪随机码序列发生器设计实现方案.
【总页数】4页(P47-49,52)
【作者】于燕;焦晖
【作者单位】郑州轻工业学院民族职业学院,河南,郑州,450011;郑州轻工业学院民族职业学院,河南,郑州,450011
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于"匹配滤波+序列估计"模式的新型长周期伪随机码快速捕获方案 [J], 郭黎利;王东凯;张昕;张曙
2.基于DSP和FPGA的GPS伪随机码并行快速捕获方案设计 [J], 周应强;冯克明
3.基于FPGA伪随机码发生器的实现 [J], 章潋;秦会斌
4.一种伪随机码发生器的DSP实现方法研究 [J], 刘展威;赵晓博
5.m序列伪随机码发生器的低功耗实现 [J], 沈泊;温涛;孙承绶
因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的伪随机序列发生器设计方案

基于FPGA的伪随机序列发生器设计方案1基本概念与应用1)1FSR:线性反馈移位寄存器(1inear feedbackshiftregister,1FSR)是指给定前一状态的输出,将该输出的线性的薮再用作输入的移位寄存器。
异或运算是最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。
1FSR产生的两种形式为伽罗瓦(Ga1ois)和斐波那契(FibonaCCi)两种形式。
也有成为外部(Ex隹rna1)执行方式和内部(Interna1)执行方式。
(1)伽罗瓦方式(Interna1)X0X4X17! ! TepCount ,-Θ□□EF-Γ>4300000000Θ{3B0-*~*DaiaFtowW>)∙ι.x4.χ“(Ga1oisImp1ementation)Ga1ois方式特征数据的方向从左至右,反馈线路是从右至左。
其中XCo项(本原多项式里面的T'这一项)作为起始项。
按照本原多项式的指示确定异或门(XOR)在移位寄存器电路上的位置。
如上图所示XM。
因此Ga1ois方式也有人称作线内或模类型(M-型)1FSRo(2)斐波那契方式(Externa1)TapCountB*0;E3t3-⅛QEHIH30GHZHHDGIFSHpcivncrTMrig(M)-X14.X,>♦X n»1(Fibonacciimp1ementation)从图中我们可以看到Fibonacci方式的数学流向和反馈形式是恰好跟Ga1ois方式相反的,按照本原多项式,其中XCO这一项作为最后一项,这里需要一个XOR∏,将本原多项式中所给的taps来设定它的异或方式。
因此Fibonacci方式也被叫做线外或者简型(S-型)1FSR。
2)本原多项式本原多项式是近世代数中的一个概念,是唯一分解整环上满足所有系数的最大公因数为1的多项式。
本原多项式不等于零,与本原多项式相伴的多项式仍为本原多项式。
课程设计论文基于FPGA的m序列发生器

基于FPGA的m序列发生器摘要m序列广泛应用于密码学、通信、雷达、导航等多个领域,本文提出了一种基于FPGA的伪随机序列产生方法,应用移位寄存器理论从序列的本原多项式出发,获得产生该序列的移位寄存器反馈逻辑式,结合FPGA芯片结构特点,在序列算法实现中采用元件例化语句。
算法运用VHDL语言编程,以A1tera的QuartusⅡ软件为开发平台,给出了序列的仿真波形。
序列的统计特性分析表明:该方法产生的序列符合m序列的伪随机特性,验证了算法的正确性。
关键词:m序列;移位寄存器理论;VHDL语言目录摘要 (I)1 m序列 (1)1.1 理论基础 (1)1.1.1 线性反馈移位寄存器 (2)2 m序列的性质 (5)2.1 均衡性 (5)2.2游程特性 (5)2.4 自相关特性 (5)2.5 伪噪声特性 (7)3 m序列的应用 (9)3.1 扩展频谱通信 (9)3.2 通信加密 (10)4 开发工具简介 (11)4.1 Quartus II简介 (11)4.2 数字系统开发流程 (12)4.3 FPGA简介 (12)5 m序列生成器仿真分析 (16)5.1 反馈系数表存储器设计 (16)5.2 移位存储器设计 (17)5.3 仿真分析 (18)参考文献 (20)附录 (22)1 m序列m序列是伪随机序列的一种 ,结构简单 ,实现方便。
在现代工程实践中 , m 序列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。
例如 , 在连续波雷达中可用作测距信号 , 在遥控系统中可用作遥控信号 , 在多址通信中可用作地址信号 , 在数字通信中可用作群同步信号 ,还可用作噪声源及在保密通信中起加密作用等。
伪噪声发生器在测距、通信等领域的应用日益受到人们重视。
目前,m序列产生实现方法主要有3种:(1)门电路实现该方法设计简单,但随移位寄存器级数的增长,电路装调困难,且占用的印制板面积较大。
(2)DSP编程实现该方法专业性过强,不适合一般用户。
一类基于FPGA的m序列发生器的设计

[收稿日期]20060525 [作者简介]邹学玉(1965),男,1988年大学毕业,副教授,博士生,现主要从事现代通信理论与技术、网络通信新技术方面的教学与研究工作。
一类基于FPGA 的m 序列发生器的设计 邹学玉,易国华 (长江大学电子信息学院,湖北荆州434023)[摘要]基于FP GA 的存储器结构,设计了产生m 序列的本原多项式的存储格式及其查询算法,并且提出了对任意级数n 的m 序列发生器的产生方法。
试验表明,使用该方法实现的m 序列发生器,结构简单,速度快,适用范围广。
[关键词]m 序列;信号发生器;FP GA[中图分类号]TP312;TN91414[文献标识码]A [文章编号]16731409(2006)03008403m 序列是伪随机序列[1~3]的一种,结构简单,实现方便。
在现代工程实践中,m 序列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。
例如,在连续波雷达中可用作测距信号,在遥控系统中可用作遥控信号,在多址通信中可用作地址信号,在数字通信中可用作群同步信号,还可用作噪声源及在保密通信中起加密作用等。
伪噪声发生器在测距、通信等领域的应用日益受到人们重视。
有关产生m 序列发生器的方法很多。
其中,用通用数字器件构成[4]的特点是速度可以很快,但硬件电路不便修改特性,只能产生单一n 级m 序列;用软件方式构成的特点是采用灵活的数据查询方式可以获得任意级数n 的本原多项式系数,从而实现m 序列的产生,但速度受到单片机工作速度的限制[5]。
而FP GA 具有硬件电路实现的优点,又具有设计上的灵活性,并且由于FP GA 便于实现大规模的数字系统,其中内嵌了一定数量的E 2PROM 。
为此,笔者将m 序列的本原多项式系数以表格的形式存储于FP GA 的E 2PROM 中,根据级数n 来查询本原多项式系数表,以得到其相应的本原多项式系数,由此设计出m 序列发生器。
1 基于FPGA 的m 序列产生原理m 序列信号发生器是在n 级线性移位寄存器[2]的基础上,加上反馈逻辑电路构成的。
基于FPGA 的伪随机序列的生成方法及应用

摘要:通过分析各种伪随机序列生成方法,提出了一种基于M 序列的连续抽样方法,可以生成满足自适应光学系统SPGD 控制算法要求的多路、相互独立以及服从伯努利分布的伪随机序列。
该方法适合于用FPGA等超大规模集成电路实现,且具有占用硬件资源较少,实现方便等优点。
用FPGA 实现了用于61 单元自适应光学系统SPGD 控制算法的伪随机序列,并将此方法应用于基于SPGD 控制算法的自适应光学系统实验中,实验表明,该方法能够满足自适应光学系统SPGD 算法的需求,系统实现成功闭环。
1 引言随机序列是一组满足特定统计学规律的数据,在信号理论分析中应用非常普遍。
由于精确的随机序列生成方法较为复杂,产生的随机序列不具有可重复性等特点,在很多应用场合使用伪随机序列。
伪随机序列在扩频通信、信息加密和系统测试等诸多领域中都有着广泛的应用。
在自适应光学SPGD 算法中,伪随机序列亦有相当重要的作用。
Vorontsov 等人在1997 年将SPGD 算法引入到自适应光学领域[2]。
国内在近几年开始了对 SPGD 算法在自适应光学系统应用的研究,并且在计算机上用软件编程实现了算法,进行了自适应光学的系统实验[3]。
自适应光学SPGD 控制算法的研究趋势是使用专用的信号处理硬件电路作为算法的实现平台,以获得更高的迭代速度和更好的收敛效果。
Cauwenberghs等人设计了专用的模拟超大规模集成电路实现SPGD 控制算法,并且在一些应用领域进行了实验[5]。
目前自适应光学系统的规模普遍达到几十上百单元。
针对多单元自适应光学系统SPGD 控制算法的特殊要求,本文提出了一种适合于用FPGA 硬件电路产生满足算法要求的多路伪随机序列的生成方法,完成了FPGA 电路的硬件实现,并将其用于实现61 单元自适应光学SPGD控制算法,同时进行自适应光学的闭环实验。
2 自适应光学 SPGD 控制算法对伪随机序列的要求SPGD(the Stochastic Parallel Gradient Descent algorithm)算法通过对多路的控制参数加入随机并行的扰动,使用性能指标测量值的变化量与控制参数的变化量进行控制参数的梯度估计,以迭代方式在梯度下降方向上进行控制参数的搜索。
基于FPGA的伪随机序列发生器设计

0 引言伪随机序列现已广泛应用于密码学、扩频通讯、导航、集成电路的可测性设计、现代战争中的电子对抗技术等许多重要领域。
伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理。
伪随机序列虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。
在已有的序列中,m序列的应用最为成熟和广泛,为此,本文给出线性m序列和基于m序列的非线性m子序列的FPGA实现方法。
由于FPGA的内部逻辑功能是通过向内部静态存储器单元加载配置数据来实现的,其配置文件决定了逻辑单元的逻辑功能以及模块间或与I/O间的连接,故可最终决定FPGA实现的功能。
FPGA的这种结构允许多次编程,并享有快速有效地对新设计进行优化的灵活性,为此,本文选用了altera 的cvclone系列FPGA芯片EPlC12-240PQFP,该芯片内部有12060个逻辑单元、239616 bit RAM、两个锁相环(PLL)。
本文应用移位寄存器理论来产生序列,其算法的关键是找到线性m序列和非线性m子序列移位寄存器的反馈逻辑式。
1 m序列的实现1.1 基于FPGA的m序列实现利用反馈移位寄存器产生0、1序列时,其n位反馈移位寄存器的逻辑功能如图1所示。
图中,xi蕾表示寄存器所处的状态,通常用0和1来代表两个可能的状态,并且把0和1看成是有限域GF(2)的两个元素。
f(x0,x1,…,xn-1)刻划了移位寄存器反馈逻辑的功能,它可以看成一个定义在GF(2)上并且在GF(2)中取值的n元函数,当f(x0,x1…,xn-1)可以表示成一线性齐次函数时。
即,相应的反馈移位寄存器是线性的,而由线性移位寄存器产生的序列就称为线性移位寄存器序列。
m序列就是线性移位寄存器序列。
对于一个n级m序列移位寄存器来说。
它在每一时刻的内部状态都可以看做有限域GF(2)上的一个n维向量,而反馈函数就是刻划了从每一时刻的状态到下一时刻状态的转移规律,或者说反馈函数定义了n维向量空间上的一个线性变换。
基于FPGA的伪随机序列发生器设计

位 反馈 移 位寄存 器 的逻辑 功能 如 图1 示 。 所
图 中,蕊 表示 寄存 器所 处 的状 态 ,通 常用O 和
1 来代 表 两 个 可 能 的状 态 。并 且 把0 1 成 是有 和 看
是 当伪 随机 序列 周期 足 够长 时 ,它 便具 有 随 机序 列 的 良好 统 计特 性 。在 已有 的序 列 中 。m序 列 的
利 用 反 馈 移 位 寄存 器 产 生0 1 列 时 ,其 1 、 序 3
收 稿 日期 :0 9 1 — 9 2 0 — 0 1
从 状 态 ( a+. k )到下 一 个 状 态 ( 1 2. n a k- k 1- a + . ) +_ +
" ed.l 2 1 . 电 子 元 器 件 主 用 c a z 0 02 c 4 9
O 引 言
伪 随机 序列 现 已广 泛应 用 于密 码 学 、扩 频通
输 出
讯 、导航 、集 成 电路 的可测 性设 计 、现 代 战争 中 的 电子 对抗 技术 等许 多重要 领 域 。伪 随机 序列 的
伪 随机 性表 现在 预 先 的可确 定性 、可重 复 产 生与 处 理 。伪 随机 序列 虽然 不是 真 正 的随机 序 列 ,但
列 和基 于m序 列 的非 线性 m子序 列 的F G 实 现 方 PA
法 。 由于F G P A的 内部 逻 辑 功 能 是 通 过 向 内部 静
数 ,当 。 ,…,-I
态存 储器 单 元加 载配 置数 据来 实 现 的 ,其配 置 文 件 决定 了逻 辑 单 元 的逻 辑 功 能 以及 模 块 间 或 与 I , O间 的 连 接 ,故 可 最 终 决 定 F G P A实 现 的 功 能 。
基于FPGA的伪随机序列发生器设计

基于FPGA的伪随机序列发生器设计随着通信理论的发展,早在20世纪40年代末,香农(Shannon)就曾指出,在某些情况下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。
目前广泛应用的伪随机噪声由数字电路产生的周期序列(经滤波等处理后)得到的。
我们将这种周期序列称为伪随机序列。
伪随机序列概述伪随机序列发展及应用随着通信技术的发展,在某些情况下,为了实现最有效的通信应采用具有白噪声统计特性的信号;为了实现高可靠的保密通信,也希望利用随机噪声;另外在测试领域,大量的需要使用随机噪声来作为检测系统性能的测试信号。
然而,利用随机噪声的最大困难是它难以重复再生和处理。
伪随机序列的出现为人们解决了这一难题。
伪随机序列具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理,有预先的可确定性和可重复性。
由于它的这些优点,在通信、雷达、导航以及密码学等重要的技术领域中伪随机序列获得了广泛的应用。
而在近年来的发展中,它的应用范围远远超出了上述的领域,如计算机系统模拟、数字系统中的误码测试、声学和光学测量、数值式跟踪和测距系统等也都有着广阔的使用。
伪随机序列通常由反馈移位寄存器产生,又可分为线性反馈移位寄存器和非线性反馈移位寄存器两类。
由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器,即为通常说的m序列,因其理论成熟,实现简单,应用较为广泛。
伪随机序列的特点决定了它有着重要并且广泛的应用,这里仅举出一些有代表性的用途。
误码率测量。
在数字通信中误码率是一项重要的质量指标,在实际测量数字通信系统的误码率时,一般来说,测量结果与信源发出信号的统计特性有关。
通常认为二进制信号0和1是以等概率随机出现的。
所以测量误码率时最理想的信源应是伪随机序列产生器。
这样测量的结果,我们认为是符合实际运用时的情况。
时延测量。
有时我们需要测量信号经过某一传输路径所收到的时间延迟,例如,需要测量某一延迟线的时间延迟。
基于FPGA的伪随机码研究

1绪论近年来,以FPG为代表的可编程ASIC器件发展极快,从最初的数百个门发展到现今的数百万个门,系列品种增多,功能更强,速度更快,功耗更小,价格更低。
因此,愈来愈受到电子界的青睐,开发基于FPGA勺数字集成系统设计的新技术方法将逐渐成为主流。
FPG技术发展出现几个新动向:一是在FPG中嵌人处理器(包括CPU微处理器、微控制器);二是高速并行I/O 口;三是实现数字信号处理功能。
针对以上动态,本课题通过对FPG技术的研究,对在FPG中实现伪随机序列发生器做了有益的研究与实践,设计中充分运用了自上而下、结构化、模块化设计思想。
伪随机序列具有良好的随机性,它的相关函数接近白噪声的相关函数(函数),即有窄的高峰或宽的功率谱密度,使它易于从其他信号或干扰中分离出来。
伪随机序列的伪随机性表现在:预先的可确定性、可重复性,使它易于实现相关接收和匹配接收,故有良好的抗干扰性能。
伪随机序列(又称伪噪声序列)广泛应用于通信、雷达、导航等重要的技术领域。
近年来,在自动控制、计算机、声学、光学测量、数字式跟踪和测距系统,以及数字网络系统的故障分析检测也得到广泛的应用。
1.1课题背景在现代工程实践中,伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。
例如,在连续波雷达中可用作测距信号,在遥控系统中可用作遥控信号,在多址通信中可用作地址信号,在扩频通信系统中,抗干扰、抗噪声、抗截获、信息数据隐蔽和保密、抗衰落、多址通信、实现同步与捕获等都与扩频码的设计密切相关。
在数字通信中可用作群同步信号,还可用作噪声源以及在保密通信中的加密作用等。
伪随机发生器在测距、通信等领域的应用日益受到人们重视。
EDA(电子设计自动化)技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映像和编程下载等工作(本文选用的开发工具为Altera公司的Quartus H)。
基于FPGA的多路伪随机序列发生器的设计与实现

基于FPGA的多路伪随机序列发生器的设计与实现引言伪随机序列生成器(Pseudorandom Number Generator,PRNG)在许多计算机应用中都是必不可少的工具。
PRNG通过输入一个种子(seed),然后根据一定的算法生成一个看似随机的序列。
然而,由于PRNG本质上是基于算法的,所以生成的序列实际上是可重复的、周期性的。
本文将介绍基于FPGA的多路伪随机序列发生器的设计与实现。
设计目标本设计的目标是实现一个多路的伪随机序列发生器,该发生器具有高速性能和可扩展性。
设计需满足以下要求:1.高速性能:PRNG需要生成大量的伪随机序列,因此需要具备较高的计算速度;2.可扩展性:PRNG需要同时生成多个伪随机序列,因此需要具备可扩展性,方便根据需求扩展生成的路数;3.随机性:生成的伪随机序列需要具备较高的随机性,能够满足实际应用的需求。
设计思路本设计采用LFSR(Linear Feedback Shift Register)算法来实现PRNG。
LFSR算法是一种经典的PRNG实现方式,可以通过移位寄存器和异或门来实现。
LFSR算法的优势在于其计算速度快、硬件实现简单。
具体实现步骤如下:1.设计LFSR模块:LFSR模块是PRNG的核心模块,通过移位寄存器和异或门来实现。
LFSR模块接收一个种子作为输入,并根据一定的生成多路伪随机序列的算法生成对应的伪随机序列。
2.设计控制模块:控制模块用于控制LFSR模块的生成和输出。
控制模块根据输入的控制信号来决定生成的路数和序列长度,并将生成的伪随机序列进行输出。
3.设计顶层模块:顶层模块对上述模块进行组合,实现多路伪随机序列发生器。
顶层模块接收输入的控制信号和种子,并将控制信号传递给控制模块,种子传递给LFSR模块。
最后将生成的伪随机序列输出。
实现与验证本设计实现采用FPGA开发板进行验证。
首先,搭建基本的开发板环境,包括连接FPGA开发板、安装相应的开发软件等。
一种新型基于FPGA的伪随机序列发生器设计

一种新型基于FPGA的伪随机序列发生器设计作者:赵怡余稀来源:《电子技术与软件工程》2013年第18期摘要:本文提出了一种具有可调特性的伪随机序列发生器,并使用硬件描述语言Verilog HDL和QuartusⅡ8.0进行描述和仿真电路。
结果表明,该设计在线性反馈移位寄存器基础上,产生的随机序列具有3~16任意级数可调和反馈系数可控的特点。
该设计与其他常见设计相比,具有灵活性好优点,可以广泛用于通信、信息安全等领域。
【关键词】FPGA 伪随机序列线性反馈移位寄存器可调1 引言伪随机序列是一种可以预先确定并可以重复产生和复制,且具有随机统计特性的二进制码序列。
伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理,虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。
在现代工程实践中,在信息安全、数字网络、移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。
本文设计利用Verilog HDL语言描述电路中各模块。
所设计的伪随机序列发生器具有3~16级的级数可调,且反馈函数中的反馈系数也可控。
相较于其他伪随机序列发生器[4-8],本设计具有级数可调的特性,还具有反馈系数可调的特性。
2 m序列的产生m序列是最别广泛采用的伪随机序列之一,除此之外,还有其他的伪随机序列,如Gold 序列、M序列等,本文设计的伪随机序列发生器是采用m序列设计的。
反馈函数可以写为:(模2加)。
反馈线的连接状态用ci表示,ci=1表示反馈线连通,即有反馈参加;ci=0,则表示此反馈线断开。
反馈线的连接状态的不同,就可能改变此移位寄存器输出序列的周期。
因此, ci的取值决定了移位寄存器的反馈连接和序列的结构。
级数(n)和反馈系数一旦确定,反馈移位寄存器的输出序列就确定了。
反馈移位寄存器的级数不同,m序列的反馈系数也不同。
本文将级数(n)和反馈系数设计成灵活可调的输入,使伪随机序列发生器输出序列可调,增加电路的灵活性。
基于FPGA的高速伪随机序列发生器设计

g e n e r a t i n g me t h o d o f h i g h - s p e e d p s e u d o r a n d o m s e q u e n c e b a s e d o n F PGA. Th i s me t h o d i s b a s e d o n m- s e q u e n c e s a mp l i n g t h e o r e m a n d s h i f t a d d i t i v e l y .I t c a n p a r a l l e l p r o d u c e mu l t i p l e g r o u p s o f m- s e q u e n c e ,wh i c h h a s d i f f e r e n t i n i t i a l p h a s e .F i n a l l y, t h r o u g h t h e mo d u l o 一 2 a d d e r , we c a n o b t a i n a h i g h - s p e e d m- s e q u e n c e . De p a r t u r e f r o m t h e b a s i c
中 图分 类 号 :TN9 1 9 TN 4 3 1 文 献 标 识 码 :A 国家 标 准 学 科 分 类 代 码 :5 1 0 . 1 0 5 0
De s i g n o f hi g h— s p e e d p s e u d o - r a n d o m s e q u e n c e g e n e r a t o r b a s e d o n FPGA
.
p r i n c i p l e s o f t h e m— s e q u e n c e ,h a r d wa r e d e s i g n a n d Mo d e l S i m s o f t wa r e s i mu l a t i o n o f h i g h — s p e e d m— s e q u e n c e g e n e r a t o r i s a c h i e v e d .Th e r e s u l t s o f e x p e r i me n t i n d i c a t e t h a t t h e p s e u d o — r a n d o m s e q u e n c e g e n e r a t o r wh i c h u s e s t h i s me t h o d h a s a
基于FPGA的全状态伪随机序列发生器的实现

基于FPGA的全状态伪随机序列发生器的实现
段颖妮;吕虹;张海峰
【期刊名称】《安徽工程大学学报》
【年(卷),期】2005(020)004
【摘要】针对伪随机序列信号产生的疑难问题,提出了通过设计非线性移位计数器的反馈网络函数,并根据伪随机序列三个性质,即平衡特性、游程特性、相关特性,遴选出能够实现性能优良的多位全状态伪随机序列发生器的非线性网络.给出了应用VHDL语言实现8位全状态伪随机序列的程序及应用MAXPLUSⅡ软件对该序列进行仿真的结果,并通过现场可编程阵列FPGA实现全状态伪随机序列发生器.【总页数】4页(P43-46)
【作者】段颖妮;吕虹;张海峰
【作者单位】安徽工程科技学院,电气工程系,安徽,芜湖,241000;安徽工程科技学院,电气工程系,安徽,芜湖,241000;暨南大学,光电工程研究所,广东,广州,510632
【正文语种】中文
【中图分类】TN431;TP302.2
【相关文献】
1.基于VHDL全状态伪随机序列发生器的设计 [J], 冷建伟;申迎风
2.全状态伪随机序列发生器的实现 [J], 张海峰;段颖妮;吕虹
3.基于FPGA的多路伪随机序列发生器的设计与实现 [J], 王兵
4.混沌伪随机序列发生器的 FPGA设计与实现 [J], 孙克辉;叶正伟;贺少波
5.基于DSP Builder的伪随机序列发生器设计及FPGA实现 [J], 杨东;王建业
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:讨论了应用移位寄存器在Ahera的FPGA芯片中实现线性和非线性伪随机序列的方法,该算法基于m序列本原多项式来获得线性m序列和非线性m子序列移位寄存器的反馈逻辑式。
文中给出了以Altera的QuartusⅡ为开发平台,并用VHDL语言实现的m序列的仿真波形。
关键词:伪随机序列;m序列;m子序列;移位寄存器;VHDL语言编程
0 引言
伪随机序列现已广泛应用于密码学、扩频通讯、导航、集成电路的可测性设计、现代战争中的电子对抗技术等许多重要领域。
伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理。
伪随机序列虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。
在已有的序列中,m序列的应用最为成熟和广泛,为此,本文给出线性m序列和基于m序列的非线性m子序列的FPGA实现方法。
由于FPGA的内部逻辑功能是通过向内部静态存储器单元加载配置数据来实现的,其配置文件决定了逻辑单元的逻辑功能以及模块间或与I/O间的连接,故可最终决定FPGA实现的功能。
FPGA的这种结构允许多次编程,并享有快速有效地对新设计进行优化的灵活性,为此,本文选用了altera的cyclone系列FPGA芯片。
EPlCl2-240PQFP,该芯片内部有12060个逻辑单元、239616 bit RAM、两个锁相环(PLL)。
本文应用移位寄存器理论来产生序列,其算法的关键是找到线性m序列和非线性m子序列移位寄存器的反馈逻辑式。
1 m序列的实现
1.1 基于FPGA的m序列实现
利用反馈移位寄存器产生0、1序列时,其n位反馈移位寄存器的逻辑功能如图1所示。
图中,xi表示寄存器所处的状态,通常用0和1来代表两个可能的状态,并且把0和1看成是有限域GF(2)的两个元素。
f(x0,x1,…,xn-1)刻划了移位寄存器反馈逻辑的功能,它可以看成一个定义在GF(2)上并且在GF(2)中取值的n元函数,当f(x0,x1,…,xn-1)可以表
示成一线性齐次函数时,即GF(2),相应的反馈移位寄存器是线性的,而由线性移位寄存器产生的序列就称为线性移位寄存器序列。
m 序列就是线性移位寄存器序列。
对于一个n级m序列移位寄存器来说,它在每一时刻的内部状态都可以看做有限域GF(2)上的一个n维向量,而反馈函数就是刻划了从每一时刻的状态到下一时刻状态的转移规律,或者说反馈函数定义了n维向量空间上的一个线性变换。
通常可以用Vn(F)代表域GF(2)上全体n元数组构成的n维向量空间,
a=(a0a1a2…an-1…)代表n级移位寄存器产生的m序列。
n级m序列移位寄存器的状态可以看做Vn(F)中的向量。
设f(λ)=λn+Cn-1λn-1+…+C0是多项式环F[λ]中的一次n多项式,那么,对于G(f)中的线性移位寄存器序列,从状态(akak+1…ak+n-1)到下一个状态(ak+1ak+2…ak+n)的转移就可以看成是Vn(F)的一个线性变换。
由于ak+n=cn-1ak+n-1+cn-2ak+n-2+…+coak,于是,状态转移变换用矩阵写出来就是:
称为线性移位寄存器的状态转移矩阵,显然,状态转移矩阵T和初始状态完全刻画了线性移位寄存器所产生的序列。
它在此建立起了反馈
=GF(2)之间的关系,这样就可以直接从m序列本原多项式出发,在FPGA中实现m序列移位寄存器结构并产生m序列。
若本原多项式的m序列移位寄存器反馈逻辑为,则本原多项式的m序列的VHDL 语言实现代码如下:
图2所示是该序列在QuaitusⅡ开发平台中的仿真波形。
其中,斜体0、1代码表示序列又一周期的开始,周而复始。
1.2序列伪随机性分析
对本原多项式是的m序列伪随机性进行分析时,主要是分析其平衡性和游程特性。
首先是平衡性。
通常在一个周期中,m序列的l出现的次数为2n-1次;0出现的次数2n-1-1次。
其次是游程特性。
即对于O<k≤n-2,其长度为k的0游程出现2n-k-2次;长度为k的l游程也出现2n-k-2次;长度为n-1的0游程出现1次;长度为n的l游程出现1次。
以上就是其中出现的全部游程。
平衡性和游程特性分析表明该序列符合m序列的统计特性。
2 非线性m子序列实现
m子序列是与m序列具有同周期、相同平衡性和不同局部游程的序列,m子序列移位寄存器的反馈多项式与m序列移位寄存器的反馈多项式的关系,可以根据m子序列的构造思想来计算,其中交换一对共轭状态的后继意味着反馈函数f(x)在共轭状态处取补,其中s=(s0s1…sn-1),,即f(x)’=f(x)+1。
其它状态处反馈函数不变,即f(x)’=f(x)+0。
因此,可由布尔函数理论推知:
现以本原多项式所对应的移位寄存器为出发点,以周期29-1的某一m子序列为例,给移位寄存器赋以初始值{000000001},并在此交换两对共轭状态的后继,其中;
那么,由布尔函数理论及式(1)和式(2)有:m子序列移位寄存器反馈逻辑为:
,
若将线性m序列和非线性m子序列整合在一起,那么,在Quartus中生成的序列发生器模块如图3所示。
图3中,L_prsg模块是线性伪随机序列发生器(m序列发生器),NL_prsg模块是非线性伪随机序列发生器(m子序列发生器)。
时钟clk选用2 MHz。
根据SEL[0..2]端子可选择不同周期的序列,m序列发生器中R序列周期可选;m子序列发生器中的序列周期可选。
若N_L_SEL端子取1,则选择非线性伪随机序列发生器,SEL[0. .2]端子取101,则选择周期是29-1的m子序列。
图4所示是序列发生器模块的仿真波形图。
比较周期是29-1的某一m子序列与同一周期的m序列可知,其两者具有相同的周期、平衡性、相近的自相关性以及不同的局部游程和不同的线性复杂度。
QUARTUS中的仿真报告表明,L_prsg模块将耗费96个Logic Elements,NL_prsg模块则耗费35个Logic Elements。
3 结束语
伪随机序列在通信、密码学、雷达、导航、芯片内建自测试方面具有广泛的应用,本文给出了线性m序列和基于m序列的m子序列的FPGA实
现方法。
本方法应用移位寄存器理论。
从m序列的本原多项式出发,其算法核心是找到m 序列本原多项式与线性m序列和m子序列移位寄存器反
馈逻辑式之间的关系,然后采用VHDL语言编程,并借助Qualt usⅡ开发平台实现序列。
文中通过对伪随机性分析表明:其所产生的序列符合m序列的统计特性。
m子序列也具有优良的伪随机特性,从而验证了该算法的正确性。