基于FPGA的双精度混沌信号发生器制造技术

技术编号:8657498 阅读:179 留言:0更新日期:2013-05-02 01:21
基于FPGA的双精度混沌信号发生器,采用两条并行的运算支路完成三路信号的运算,其中一条支路以分时段工作的方式完成两路信号的运算,另一条支路完成另一路信号的运算;信号发生器包括时序控制单元、数据选择单元、数据存储单元和两个浮点数运算单元,两个浮点数运算单元构成两条并行的运算支路,信号发生器为个单元模块提供状态控制信号;每个浮点数运算单元中都设有一个数据分配单元、一个浮点数加法器、一个浮点数乘法器和一个具有数据分配的功能的存储单元;在大幅减少芯片使用面积的同时,明显提高了工作频率。

【技术实现步骤摘要】

本专利技术涉及高精度数字信号处理与数字图像加密领域,具体说来就是一种符合IEEE-754标准的、利用现场可编程门阵列(FPGA)设计的具有双精度浮点数的Lorenz双涡卷混沌信号发生器。
技术介绍
信息安全技术是一门综合的学科,它涉及信息论、计算机科学、密码学和数学等多方面知识,它的主要任务是研究计算机系统和通信网络内的信息保护方法以实现系统内信息交流的安全、保密、真实和完整。其核心问题之一其实就是密码学理论,而密码学已经成为信息安全方面的一个难点也是热点课题。密码学可以说是一门比较古老但又拥有年轻血液的学科,早在几千年前它就用于国家之间机密信息的交流。从古至今,密码学随着科技手段的发展都保持着蓬勃的生机,在信息爆炸的当今社会,加密技术的研究显得尤为重要。混沌系统是一种非线性的确定性系统,由于系统内部非线性相互作用而表现出了非周期的行为。混沌的许多特性恰好能够满足密码学的基本要求:混沌动力学方程的确定性保证了通信双方在收发过程和解密过程中的可靠性;混沌轨道的发散特性及对初始条件的敏感性正好满足密码系统设计的扩散原则;混沌吸引子的拓扑传递性与混合性正好满足混淆原则;混沌输出信号的宽带功率谱和快速衰减的自相关性是对抗频谱分析的有利保障。因此混沌理论能够直接用于设计密码算法,这为信息安全理论和加密技术的发展提供了新的研究方向,如何实现混沌系统、产生可控制的混沌信号成为人们研究的热点。近年来,随着各种技术手段的发展,人们由最初的模拟电子电路转向利用数字器件实现混沌信号以提高系统构建的灵活性,各种数字化的技术手段层出不穷。Lorenz混沌信号发生器是一种基于最经典的双涡卷混沌吸引子系统一Lorenz混沌吸引子系统的混沌信号发生装置。该混`沌吸引子系统是由美国气象学家Lorenz于1963年提出的,其动力学系统方程如下所示:Cl) 其中=16,P =45.92,=4。显然,(I)式是一个连续性的系统方程,为了将该连续系统应用于数字系统中,就必须对系统进行离散化处理。常用的方法是Euler算法,也可以采用Runge-Kutta算法。相比较而言,Euler算法的实现比较简便。离散化后的系统能够很好的反映原系统的动力学特性,其系统方程如下所示:(2) 其中增益系数为:G1= , G2= , G3= , G4=,G5=,G6=,G7=。取0.001,根据奈奎斯特采样定理,采样频率一定要大于混沌信号截止频率的2倍,所以一定要小于某一个特定的阈值。取得越小,离散系统就越能精确反映连续系统的混沌动态特性。如果取得太大,将无法得到正确的仿真结果。此外,混沌系统需要选定初始值,混沌电路就像一个振荡器,在有一点“扰动”的前提下,才会“起振”,最终才会进入持续的混沌运动状态。在这里选取=15,=18,=31。根据学者们的研究以及实验,还有多组典型的参数和初始值可以选取,这里不再一一列举。文献[I]Mohammed A.Aseeri, Mohamed1.Sobhy.Lorenz chaotic model usingfiled programmable gate array (FPGA).45th Midwest Symposium on Circuits andSystems, 2002.最早提出了利用FPGA技术实现Lorenz混沌系统的方法,文献[2]张钰,禹思敏,刘明华.用FPGA技术产生多涡卷超混沌吸引子的研究[J].电路与系统学报,2007, 12(1):39-43等采用DSP Builder技术以实现各种多涡卷超混沌吸引子,图1就是采用DSP Builder技术在Simulink中建立的26位精度的Lorenz双润卷混沛吸引子的模型。DSP Builder是Altera公司和Mathworks公司合作开发的一款FPGA设计工具,该工具可以将系统表不成一个高度抽象的模块,并自动将系统映射为一个基于FPGA的硬件方案。DSP Builder是内嵌在MATLAB的Simulink中进行工作的,它以一个被称为ALTERADSP Builder块包含在Simulink库里,可以把它看成是Simulink的一个工具包,也就是说,可以在Simulink建模仿真工具中调用Altera公司的DSP Builder模块并根据需要修改模块参数,进行系统的建模和仿真。除了图形化的系统建模外,DSP Builder还可以通过使用Signal Compiler模块自动生成VHDL代码,自动完成大部分的设计过程和仿真,直至把设计文件下载至FPGA开发板上。采用DSP Builder技术具有直观、方便快捷的优点,能够节省大量人力,缩短研发周期,但是其主要缺点是不能从根本上解决时序控制的问题,难以实现混沌同步,这就限制了其在保密通信领域的应用。于是,就有学者回到直接利用FPGA技术实现混沌系统的道路上。文献[3]周武杰,禹思敏.基于IEEE-754标准和现场可编程门阵列技术的混沌产生器的设计与实现.物理学 报,2008, 57(8): 4738-4747提出了基于IEEE-754标准的混沌信号发生器的设计与实现方法。利用FPGA技术设计Lorenz混沌系统的主要设计理念在于将整个系统划分为若干个基本功能模块,主要包括浮点数乘法器、浮点数加/减法器、数据选择器等主要模块。这种方法具有很强的通用性,可以用于各类高精度数字信号处理系统的设计。图2为利用该方法搭建的双精度Lorenz混沛信号发生器在Alrera公司的Quartus II工具中建立的模型,图中数据选择器通过输入端SEL对初始值进行选择,浮点数加法器和浮点数乘法器级联得到一次迭代运算结果。这种利用FPGA技术设计混沌信号发生器的方法能够很好的解决时序控制问题,为混沌同步的应用扫清了障碍,但是该方法占用FPGA逻辑资源较多,这就使得其在有限芯片面积上无法集成更多功能,限制了设计的应用范围,同时提高了实际工程应用的成本。针对上述缺陷,文献[4]刘玉民,张雨虹,姚明林,基于FPGA的混沌信号发生器的设计与实现.计算机工程与设计,2010, 31 (18): 3972-3974提出了一种采用面积优化思想,复用耗费逻辑资源较多的浮点运算模块的方案,基于Altera EP1C3T144C8芯片(仅含有2910个逻辑单元)成功设计并实现了单精度Lorenz混沌信号发生器。该方案将整个系统划分为若干个基本功能模块,主要包括浮点乘法器、浮点加/减法器、数据选择器、数据分配器、时序控制模块和数值转换模块等主要模块。采用数据选择器来复用浮点数运算器,采用数据分配器对浮点乘法、浮点加/减法运算结果进行分配,使其分配到相应的数据寄存器进行寄存。采用利用状态机编写的时序控制模块为浮点乘法器、浮点加/减法器、数据选择器、数据分配器等模块提供时序控制信号,根据所进行的13次浮点数运算,将系统划分为13个工作周期也即是13个状态,以协调各模块有序工作。该方案的系统架构原理如图3所示,其中Ini_X、Ini_Y、Ini_Z,分别代表混沌系统“起振”所需的初始值,MUX为数据选择单元,用于初始值的选择及其对浮点数运算器的复用,ADD与MULTI分别代表浮点数加法器与浮点数乘法器,DEMUTI为数据分配单元,对浮点数本文档来自技高网...

【技术保护点】
基于FPGA的双精度混沌信号发生器,其特征在于:采用两条并行的运算支路完成三路信号的运算,其中一条支路以分时段工作的方式完成两路信号的运算,另一条支路完成另一路信号的运算;信号发生器包括时序控制单元、数据选择单元(MUX)、数据存储单元(RAM1)和两个浮点数运算单元(FPU),两个浮点数运算单元(FPU)构成两条并行的运算支路,时序控制单元为各单元模块提供状态控制信号;三路信号的初始值输入数据选择单元(MUX),数据存储单元(RAM1)输出三路信号的运算结果,并将运算结果反馈至数据选择单元(MUX),数据选择单元(MUX)用于将三路信号的初始值以及由数据存储单元(RAM1)反馈的三路信号运算结果分配至两个浮点数运算单元(FPU);每个浮点数运算单元(FPU)中都设有一个数据分配单元(DEMUTI)、一个浮点数加法器(ADD)、一个浮点数乘法器(MULTI)和一个具有数据分配的功能的存储单元(RAM2),数据分配单元(DEMUTI)将输入的信号分配至浮点数加法器(ADD)和浮点数乘法器(MULTI),浮点数加法器(ADD)和浮点数乘法器(MULTI)的运算结果传入存储单元(RAM2),存储单元(RAM2)根据当前状态将运算结果存入结果分配到相应的地址进行暂存或者从相应地址读出数据传回数据分配单元(DEMUTI)。...

【技术特征摘要】
1.基于FPGA的双精度混沌信号发生器,其特征在于:采用两条并行的运算支路完成三路信号的运算,其中一条支路以分时段工作的方式完成两路信号的运算,另一条支路完成另一路信号的运算;信号发生器包括时序控制单元、数据选择单元(MUX)、数据存储单元(RAMl)和两个浮点数运算单元(FPU),两个浮点数运算单元(FPU)构成两条并行的运算支路,时序控制单元为各单元模块提供状态控制信号;三路信号的初始值输入数据选择单元(MUX),数据存储单元(RAMl)输出三路信号的运算结果,并将运算结果反馈至数据选择单元(MUX),数据选择单元(MUX)用于将三路信号的初始值以及由数据...

【专利技术属性】
技术研发人员:向菲陈曦何谷慧宋潇栗素娟
申请(专利权)人:河南科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1