一种FPGA混沌信号发生器转让专利

申请号 : CN201610656146.0

文献号 : CN106254060B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 温玉琼邱默禹思敏吕金虎

申请人 : 广东工业大学

摘要 :

本发明公开了一种FPGA混沌信号发生器能够适用于不同的混沌系统,同时减少运算所需时间,降低硬件资源消耗。本发明的一种FPGA混沌信号发生器,包括:混沌系统生成单元、混沌信号生成单元和DA转换单元;混沌系统生成单元,用于通过开关的切换,生成不同的混沌系统,包括:Lorenz系统、Chen系统、Lü系统、2涡卷Chua系统、4涡卷Chua系统、网格9涡卷Chua混沌系统、6维取模离散系统、6维正弦迭代离散系统;混沌信号生成单元,用于根据所述混沌系统生成单元生成的混沌系统中生成所需的混沌信号;DA转换单元,用于将混沌信号转换为能够在示波器中显示的形式。

权利要求 :

1.一种FPGA混沌信号发生器,其特征在于,包括:

混沌系统生成单元、混沌信号生成单元和DA转换单元;

混沌系统生成单元,用于通过开关的切换,生成不同的混沌系统,包括:Lorenz系统、Chen系统、Lü系统、2涡卷Chua系统、4涡卷Chua系统、网格9涡卷Chua混沌系统、6维取模离散系统、6维正弦迭代离散系统;

所述混沌信号生成单元,用于根据所述混沌系统生成单元生成的混沌系统中生成所需的混沌信号;

所述DA转换单元,用于将所述混沌信号转换为能够在示波器中显示的形式;

其中,所述混沌系统生成单元包括:整数化处理子单元,用于对所述混沌系统进行整数化处理,得到整数化的混沌系统。

2.根据权利要求1所述的FPGA混沌信号发生器,其特征在于,所述混沌信号生成单元包括:选择子单元,用于根据状态机的当前状态选择工作或保持原值;

所述状态机的状态包括:

S0状态:在主时钟的上升沿,非线性项运算电路的比较器检测到当前状态为S0状态,DA驱动电路的ready信号为高电平时,通过计算混沌迭代方程中的非线性项,并将计算结果赋给时序逻辑电路,同时状态机会跳转到S1状态;如果ready为低电平,非线性项的输出保持原值,同时状态机停留在当前的S0状态;

S1状态:在主时钟的上升沿,迭代序列运算电路的比较器检测到当前状态是S1状态时,通过计算混沌迭代方程的迭代结果,并将计算结果赋给时序逻辑电路,同时状态机跳转到S2状态;

S2状态:在主时钟的上升沿,X0,Y0,Z0的运算电路比较器检测到当前状态是S2状态时,将迭代值输出信号X、Y、Z除低Nmin位外的部分赋给X0,Y0,Z0,同时状态机跳转到S3状态;

S3状态:在主时钟的上升沿,X0,Y0,Z0运算电路的比较器检测到当前状态是S3状态时,将当前电路时序逻辑部分的输出值通过加法器进行加1操作,加1后的结果赋给时序逻辑电路,实现向上取整,同时状态机跳转到S4状态;

S4状态,输出两路混沌信号到DA的左右路通道,在主时钟信号的上升沿,输出电路的比较器检测到当前状态是S4状态时,将调整的组合逻辑结果赋给时序逻辑电路,同时状态机跳转到S5状态;

S5状态,延时,在S5状态下,所有运算电路的输出都保持原值,延时一个时钟,使输出信号有一个稳定的过程,在下一个主时钟的上升沿,状态机跳转回S0状态。

3.根据权利要求2所述的FPGA混沌信号发生器,其特征在于,在上电或复位时,对本系统的时序逻辑部分进行复位,此时,时序逻辑的输出会变成verilog代码中设定好的复位值,时序逻辑的输出状态会根据主时钟的上升沿下状态机的状态进行更新。

4.根据权利要求1所述的FPGA混沌信号发生器,其特征在于,所述整数化处理子单元包括:表示模块,用于将混沌系统的参数全部用二进制数表示;

第一转化模块,用于对混沌迭代方程两端乘以 将全部参数转化成整数,得到对应的整数域混沌迭代方程;

第二转化模块进行整数域混沌方程的迭代,并将每一次迭代所得到的结果全部右移Nmin位,再进行向上取整,得到整数域混沌迭代方程。

5.根据权利要求1至4中任一项所述的FPGA混沌信号发生器,其特征在于,所述FPGA混沌信号发生器还包括复位单元,用于对音频解码芯片的相关寄存器进行初始化,对各个存放参数和数据的寄存器复位。

说明书 :

一种FPGA混沌信号发生器

技术领域

[0001] 本发明涉及混沌信号产生技术领域,尤其涉及一种FPGA混沌信号发生器。

背景技术

[0002] 目前报道的基于FPGA的混沌信号产生方法,主要是针对某一个特定混沌系统的设计,并且是采用设计浮点数运算单元进行运算,这种方案的主要不足之处体现在以下两个方面:
[0003] (1)方案只适用于某个特定的混沌系统,不具有通用性,因而更换系统时需要重新设计,开发周期长;
[0004] (2)设计浮点数运算模块,编程难度较大,且运算需要消耗更多的时间和占用更多的FPGA硬件资源。

发明内容

[0005] 本发明提供了一种FPGA混沌信号发生器能够适用于不同的混沌系统,同时减少运算所需时间,降低硬件资源消耗。
[0006] 本发明的一种FPGA混沌信号发生器,包括:
[0007] 混沌系统生成单元、混沌信号生成单元和DA转换单元;
[0008] 混沌系统生成单元,用于通过开关的切换,生成不同的混沌系统,包括:Lorenz系统、Chen系统、Lü系统、2涡卷Chua系统、4涡卷Chua系统、网格9涡卷Chua混沌系统、6维取模离散系统、6维正弦迭代离散系统;
[0009] 混沌信号生成单元,用于根据混沌系统生成单元生成的混沌系统中生成所需的混沌信号;
[0010] DA转换单元,用于将混沌信号转换为能够在示波器中显示的形式。
[0011] 可选的,
[0012] 混沌系统生成单元包括:
[0013] 整数化处理子单元,用于对混沌系统进行整数化处理,得到整数化的混沌系统。
[0014] 可选的,
[0015] 混沌信号生成单元包括:
[0016] 选择子单元,用于根据状态机的当前状态选择工作或保持原值;
[0017] 状态机的状态包括:
[0018] S0状态:在主时钟的上升沿,非线性项运算电路的比较器检测到当前状态为S0状态,DA驱动电路的ready信号为高电平时,通过计算混沌迭代方程中的非线性项,并将计算结果赋给时序逻辑电路,同时状态机会跳转到S1状态;如果ready为低电平,非线性项的输出保持原值,同时状态机停留在当前的S0状态;
[0019] S1状态:在主时钟的上升沿,迭代序列运算电路的比较器检测到当前状态是S1状态时,通过计算混沌迭代方程的迭代结果,并将计算结果赋给时序逻辑电路,同时状态机跳转到S2状态;
[0020] S2状态:在主时钟的上升沿,X0,Y0,Z0的运算电路比较器检测到当前状态是S2状态时,将迭代值输出信号X、Y、Z除低Nmin位外的部分赋给X0,Y0,Z0,同时状态机跳转到S3状态;
[0021] S3状态:在主时钟的上升沿,X0,Y0,Z0运算电路的比较器检测到当前状态是S3状态时,将当前电路时序逻辑部分的输出值通过加法器进行加1操作,加1后的结果赋给时序逻辑电路,实现向上取整,同时状态机跳转到S4状态;
[0022] S4状态,输出两路混沌信号到DA的左右路通道。在主时钟信号的上升沿,输出电路的比较器检测到当前状态是S4状态时,将调整的组合逻辑结果赋给时序逻辑电路,同时状态机跳转到S5状态;
[0023] S5状态,在S5状态下,所有运算电路的输出都保持原值,延时一个时钟,使输出信号有一个稳定的过程,在下一个主时钟的上升沿,状态机跳转回S0状态。
[0024] 可选的,
[0025] 在上电或复位时,对本系统的时序逻辑部分进行复位,此时,时序逻辑的输出会变成verilog代码中设定好的复位值,时序逻辑的输出状态会根据主时钟的上升沿下状态机的状态进行更新。
[0026] 可选的,
[0027] 整数化处理子单元包括:
[0028] 表示模块,用于将混沌系统的参数全部用二进制数表示;
[0029] 第一转化模块,用于对混沌迭代方程两端乘以 将全部参数转化成整数,得到对应的整数域混沌迭代方程;
[0030] 第二转化模块进行整数域混沌方程的迭代,并将每一次迭代所得到的结果全部右移Nmin位,再进行向上取整,得到整数域混沌迭代方程。
[0031] 可选的,
[0032] FPGA混沌信号发生器还包括复位单元,用于对音频解码芯片的相关寄存器进行初始化,对各个存放参数和数据的寄存器复位从以上技术方案可以看出,本发明实施例具有以下优点:
[0033] 本发明的FPGA混沌信号发生器实施例中包括,混沌系统生成单元、混沌信号生成单元和DA转换单元;混沌系统生成单元,用于通过开关的切换,生成不同的混沌系统,包括:Lorenz系统、Chen系统、Lü系统、2涡卷Chua系统、4涡卷Chua系统、网格9涡卷Chua混沌系统、
6维取模离散系统、6维正弦迭代离散系统;混沌信号生成单元,用于根据混沌系统生成单元生成的混沌系统中生成所需的混沌信号;DA转换单元,用于将所述混沌信号转换 为能够在示波器中显示的形式。从而该FPGA混沌信号发生器能够适用于不同的混沌系统。另一方面,所述混沌系统生成单元包括:整数化处理子单元,用于对所述混沌系统进行整数化处理,得到整数化的混沌系统。整数化后的混沌系统更适用于FPGA平台,有效减少运算时间,节省硬件资源。

具体实施方式

[0034] 本发明实施例提供了一种FPGA混沌信号发生器能够适用于不同的混沌系统,同时减少运算所需时间,降低硬件资源消耗。
[0035] 本发明的一种FPGA混沌信号发生器,包括:
[0036] 混沌系统生成单元、混沌信号生成单元和DA转换单元;
[0037] 混沌系统生成单元,用于通过开关的切换,生成不同的混沌系统,包括:Lorenz系统、Chen系统、Lü系统、2涡卷Chua系统、4涡卷Chua系统、网格9涡卷Chua混沌系统、6维取模离散系统、6维正弦迭代离散系统;
[0038] 所述混沌信号生成单元,用于根据混沌系统生成单元生成的混沌系统中生成所需的混沌信号;
[0039] DA转换单元,用于将混沌信号转换为能够在示波器中显示的形式。
[0040] 该FPGA混沌信号发生器进一步包括:
[0041] 整数化处理子单元,用于对所述混沌系统进行整数化处理,得到整数化的混沌系统。整数化后的混沌系统更适用于FPGA平台,有效减少运算时间,节省硬件资源[0042] 该FPGA混沌信号发生器进一步包括:
[0043] 混沌信号生成单元包括:
[0044] 选择子单元,用于根据状态机的当前状态选择工作或保持原值;
[0045] 状态机的状态包括:
[0046] S0状态:在主时钟的上升沿,非线性项运算电路的比较器检测到当前状态为S0状态,DA驱动电路的ready信号为高电平时,通过计算混沌迭代方程中的非线性项,并将计算结果赋给时序逻辑电路,同时状态机会跳转到S1状态;如果ready为低电平,非线性项的输出保持原值,同时状态机停留在当前的S0状态;
[0047] S1状态:在主时钟的上升沿,迭代序列运算电路的比较器检测到当前状态是S1状态时,通过计算混沌迭代方程的迭代结果,并将计算结果赋给时序逻辑电路,同时状态机跳转到S2状态;
[0048] S2状态:在主时钟的上升沿,X0,Y0,Z0的运算电路比较器检测到当前状态是S2状态时,将迭代值输出信号X、Y、Z除低Nmin位外的部分赋给X0,Y0,Z0,同时状态机跳转到S3状态;
[0049] S3状态:在主时钟的上升沿,X0,Y0,Z0运算电路的比较器检测到当前状态是S3状态时,将当前电路时序逻辑部分的输出值通过加法器进行加1操作,加1后的结果赋给时序逻辑电路,实现向上取整,同时状态机跳转到 S4状态;
[0050] S4状态,输出两路混沌信号到DA的左右路通道。在主时钟信号的上升沿,输出电路的比较器检测到当前状态是S4状态时,将调整的组合逻辑结果赋给时序逻辑电路,同时状态机跳转到S5状态;
[0051] S5状态,在S5状态下,所有运算电路的输出都保持原值,延时一个时钟,使输出信号有一个稳定的过程,在下一个主时钟的上升沿,状态机跳转回S0状态。
[0052] 在上电或复位时,对本系统的时序逻辑部分进行复位,此时,时序逻辑的输出会变成verilog代码中设定好的复位值,时序逻辑的输出状态会根据主时钟的上升沿下状态机的状态进行更新。利用verilog HDL编写代码,实现相应的数字电路功能,不仅适用于混沌信号发生器,也适用于视频混沌加密系统。
[0053] 整数化处理子单元进一步包括:
[0054] 表示模块,用于将混沌系统的参数全部用二进制数表示;
[0055] 第一转化模块,用于对混沌迭代方程两端乘以 将全部参数转化成整数,得到对应的整数域混沌迭代方程;
[0056] 第二转化模块进行整数域混沌方程的迭代,并将每一次迭代所得到的结果全部右移Nmin位,再进行向上取整,得到整数域混沌迭代方程。
[0057] FPGA混沌信号发生器还包括复位单元,用于对音频解码芯片的相关寄存器进行初始化,对各个存放参数和数据的寄存器复位。
[0058] 下面以一个具体应用中的例子对上述各单元模块的通信关系进行说明:
[0059] 选用XILINX公司的Virtex5系列,其音频解密器采用符合AC97标准的AD1981芯片的FPGA开发板作为硬件平台,FPGA产生的混沌信号通过AD芯片输出到3.5mm的耳机输出接口中,最后通过示波器显示输出结果。
[0060] 由于选用硬件平台的DA芯片位宽为20比特,因而选取混沌迭代序列的位宽为[19:19 19
0],能表示的有符号数的范围为-2 ~2 -1。通过调节混沌系统的比例扩张系数K,使混沌迭代序列的数值在这个范围内,选取合适的K值是通过采用MATLAB仿真的结果来确定的。
[0061] 建立软件开发环境。PC机安装XILINX公司的ISE14.7开发设计软件,选择Virtex5系列的XC5VLX110T器件来建立工程,实现与硬件平台的匹配。
[0062] 设n维离散混沌系统迭代方程的一般形式为:
[0063]
[0064] 式中bi(1≤i≤n), kij(1≤i,j≤n)为方程的参数,F1,F2,…,Fn为非线性函数,x1(k),x2(k),…,xn(k)为方程第k次迭代的结果,x1(k+1),x2(k+1),…,xn(k+1)为方程第k+1次迭代的结果。
[0065] 需要说明的是,在本发明中涉及到的Lorenz系统、Chen系统、Lü系统、2涡卷Chua系统、4涡卷Chua系统、网格9涡卷Chua系统、6维取模离散系统和6维正弦迭代离散系统,都可以用(1)式的形式来表示,这些方程的具体形式在此处不再全部给出。
[0066] 采用定点算法,进行整数化处理,处理方法如下:存在Nmin,用 乘以bi(1≤i≤n), kij(1≤i,j≤n),从而将上述参数全部转化成整数。根据(1)式,得:
[0067]
[0068] 式中均为
整数。
[0069] 由于在方程两端扩大了 倍,所以要将迭代输出值缩小 倍并向上取整后再进入下一轮迭代,得:
[0070]
[0071] 式中ceil表示向上取整。
[0072] 根据(2)式和(3)式设计整数化混沌系统的数字电路,其中作为主控的状态机电路状态分为S0、S1、S2、S3、S4、S5共六个状态,在S0态,如果DA芯片驱动电路的ready信号为高电平时,那么,非线性函数组合逻辑电路则更新非线性函数Fi(·)(1≤i≤n)的运算结果;在S1态,将本轮迭代的结果赋给相应的触发器;在S2态,将迭代输出电路的结果右移Nmin位并赋给相应触发器;在S3态,则将结果加1;在S4态,将两路混沌信号的数值赋给DA的左右路通道信号的输出电路;在S5态,所有电路的触发器输出保持原值。
[0073] Chua_4_scroll_gen模块电路的具体实施方式
[0074] 四涡卷Chua系统为典型实例来阐述其具体实施方式,这种实施方式对于其他混沌系统也同样是适用的。
[0075] 1)四涡卷Chua离散混沌系统的迭代方程为:
[0076]
[0077] f=mx(k)+d1(|x(k)+E1|-|x(k)-E1|)
[0078] +d2(|x(k)+E2|-|x(k)-E2|)+
[0079] +d3(|x(k)+E3|-|x(k)-E3|) (5)[0080] 在(4)式和(5)式中,T=0.0313=2-5,a=0.375=2-2+2-3,b=0.5625=2-1+2-4,m=0.1641=2-3+2-5+2-7,d1=-0.1641=-(2-3+2-5+2-7),E1=215,E2=88942,E3=154480,d2=
0.1641=2-3+2-5+2-7,d3=-0.1641=-(2-3+2-5+2-7)。
[0081] 2)采用定点算法,进行整数化处理。存在Nmin,使 乘以迭代方程两 端后,上述全部参数转化成整数,其中Nmin=7。迭代方程两端同时乘以 即乘以27,得:
[0082]
[0083]
[0084] 在(6)式和(7)式中的各个参数如下:E1=215=32768,E2=88942,E3=154480, 
[0085] 3)比例压缩和向上取整。由于在方程两端同时乘了27,所以要将迭代输出值缩小27倍并向上取整,再进入下一轮迭代,得:
[0086]
[0087] 式中ceil表示向上取整。
[0088] 4)设计整数域混沌系统的数字电路,并通过FPGA开发平台来实现,各个子电路均由组合逻辑及D触发器两部分组成,具体实施方式如下:
[0089] 对于Chua_4_scroll_gen模块的主控状态机电路。输出为当前的状态,作为其他运算电路的控制信号,其中状态机的状态分为6个,它们分别是S0、S1、S2、S3、S4、S5。
[0090] 对于产生非线性函数f的电路,两个比较器和与门构成多路选择器的控制电路,组合逻辑1的输出为f函数的运算结果,当满足状态机电路输出为S0且ready为高电平这一条件时,多路选择器将选择运算结果作为D触发器的输入,在主时钟clk的上升沿将输入更新到输出。如上述条件不满足,多路选择器将选择D触发器的输出作为它的输入,此时,D触发器的输出,即整个非线性函数电路的输出将保持原值。
[0091] 对于迭代方程X、Y、Z的运算电路。其中组合逻辑2、3、4输出分别是X、Y、Z的运算结果,当状态机输出S1时,在主时钟clk上升沿将本轮迭代的结果X、Y、Z分别赋给相应的D触发器,在状态机输出为其它状态时,运算电路的D触发器输出保持原值。
[0092] 对于实现对X、Y、Z信号的右移操作和向上取整的电路,当状态机电路输出为S2时,在主时钟clk的上升沿将X、Y、Z的26到7位分别输出给X0、Y0、Z0,以实现右移操作,在状态机电路的输出为S3时,X0、Y0、Z0分别加1,结果赋给相应的D触发器。在除S2和S3以外的其他状态,该部分电路的D触发器的输出保持原值。
[0093] 对于输出DA的左右路通道信号的电路。在状态机输出为S4时,多路选择器分别将X0、Y0发送到D触发器的输入,在主时钟clk的上升沿,将结果赋给相应的D触发器。在除S4以外的其他状态,该部分电路的D触发器的输出保持原值。
[0094] 多功能FPGA混沌信号发生器的硬件实现结果,将DA口的输出与示波器的输入相连接,通过多路开关的切换,在示波器上分别显示8个系统的混沌吸引子相图。
[0095] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。