基于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]的基础上,加上反馈逻辑电路构成的。
- 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子序列也具有优良的伪随机特性,从而验证了该算法的正确性。