软件LabVIEW(Laboratory Virtual Instrument Engi-neering Workbench,实验室虚拟仪器工程平台)是美国NI公司(National Instruments Cornpany)研制的一种编程语言,由于LabVIEW采用基于流程图的图形化编程语言,因此也被称为G语言(Graphics Language)。G语言编写的程序称为虚拟仪器VI(Virtual Instruments),他的界面和功能与真实仪器十分相像,在LabVIEW环境下开发的应用程序都被冠以VI后缀,以表示虚拟仪器的含义。一个VI由三部分组成:程序前面板(Frorlt Panel)、数据流框图程序(Diagram program)和图标/连接端口(Icon/TerlTli-nal)。
随着现代测试与仪器技术的发展,目前虚拟仪器概念已经发展成为一种创新的仪器设计思想,成为设计复杂测试仪器和测试系统的主要方法和手段。本文通过构造一个转折点值α可变的3分段线性奇函数利用LabVIEW设计一种新的虚拟混沌信号产生器。由于此仪器参数调节方便、易实现、可靠性高、实时性好,与传统的自治混沌系统相比,此仪器输出的混沌信号更适合于作为混沌保密通信系统的信息载体,提高通信系统的安全性。
2 新型混沌信号产生器的概述
混沌是非线性动力系统所特有的一种运动形式,他广泛地存在于自然界。一般而言,混沌现象隶属于确定性系统而难以预测,隐含于复杂系统但又不可分解以及呈现多种混沌无序却又颇有规则的图像。 在非线性电路中产生各种不同类型并适合保密通信的混沌与超混沌信号是近年来物理学和信息科学界所关注的一个热门课题,目前在国内外已取得了许多相关的研究成果,如三阶混沌电路、四阶变型混沌电路、四阶MCK超混沌电路、洛伦兹电路、蔡氏电路、多涡卷混沌与超混沌电路等。最近美国学者Sprott通过计算机穷举法,又提出了一类新的三阶混沌电路,其主要特征是能产生单层单螺旋、单层双螺旋混沌吸引子。
在混沌电路、四阶MCK超混沌电路以及Sprott所提出的一类混沌电路中,非线性函数f(χ)大多是采用转折点值和斜率值均为固定的分段线性函数。本文在文献[1,2]的基础上,通过构造一个α转折点值可变的三分段线性奇函数,研究了一种新型混沌产生器,其主要特点是:随着转折点值α在0<α≤1范围内变化时,电路从倍周期分岔进入混沌状态,可产生双层单螺旋、单层单螺旋、双层双螺旋和单层双螺旋4种不同类型的混沌吸引子。
美国学者SpIott于2000年前后提出了一类能产生单层单螺旋、单层双螺旋混沌吸引子的电路,其电路的状态方程表示为:
式(1)中的β=0.6,当f(χ)=│χ│-1时,电路产生的单层单螺旋混沌吸引子,当f(χ)=sgn(χ)-χ时,可产生单层双螺旋混沌吸引子。
在文献[1,2]研究结果的基础上,构造一个转折点值α可变的三分段线性奇函数[3]:
式(2)中f(χ)和χ的单位均为V,由式(1),(2),可得用转折点值α可变的三分段线性奇函数构成的混沌产生器如图1所示。
图1中的所示的元件参数为:R0=1kΩ,Ra=1.67kΩ,R=15kΩ,C0=33nF,有源器件OP1~OP5均为运算放大器TL082,电源供电电压为±15V,R0为可调电阻,调节其大小可改变,f(χ)的转折点值和斜率。f(χ)的伏安特性如图2所示。
本文通过图形化设计语言LabVIEW 8.2来设计新型混沌信号产生器。 3基于虚拟仪器的新型混沌信号产生器的设计
3.1设计原理
新型混沌信号产生器采用美国NI公司开发的图形化设计语言LabVIEW 8.2进行设计,借助LabVIEW强大的数值计算功能,求解三阶微分方程(1),然后通过虚拟仪器观察混沌信号。
3.2基于LabVIEW的混沌电路具体编程[4]
新建LabVIEW窗口,在前面板内进行前面板设汁,在后面板内进行流程图设计。
3.2.1 前面板设计
(1)6个图形控件
其中3个图形控件分别用来显示状态变量X,Y和Z的混沌时序图,另3个图形控件用来显示状态变量X,Y和Z相互的相平面图。
操作Controls>>Graph>>Waveform Graph三次,调入三个图形控件Graph,分别标记为"X时序图"、"Y时序图"、"Z时序图";操作Controls>>Graph>>XY Graph三次,调入3个图形控件,分别标记为"XY相图"、"XZ相图"和"YZ相图"。
(2)7个数字型控件
他们分别是:用来输入方程(1)的初值χ0,y0,z0操作Controls>>Numeric>>Dial三次,得到3个输入型数字控件,标记为"z0","y0","z0";用来输入方程(1)的参数α和出及画图参数等,操作Controls>>Numeric>>Nu-meric Control四次,得到4个输入型数字控件,分别标记为"α","dt","画点的总数目"、"画一次的点的数目"。
(3)1个布尔开关
他用来控制程序运行,操作Controls>>Boolean>>Stop Button。设置开关按钮"停止"。
3.2.2流程图设计
在流程图窗口内执行Function>>Structures>>while Loop操作,建立一个循环。
在while loop左、右边框上,分别单击右键,操作AddShift Register各6次。
在while Loop边框外,执行Function>>Array>>Array constant操作,值设为0。
在这个While循环内,执行Function>>Structures>>Formula Node操作,在公式框内写入微分方程
在Formula Node的右边框上,单击右键,操作AddOutput五次。分别输 入"χ","Y","z","α","dt"
在Formula Node的右边框上,单击右键,操作AddOutput三次。分别输入"dχ","dy","dz"。
执行Function>>Array>>Build Array操作3次
执行Function>>Array>>Replace Array Subset操作3次。
执行Function>>Array>>Array To Cluster操作3次。
执行Function>>Numeric>>Conversion>>To Long Integer操作一次,分别输 入"Number of Points","Points per Draw"
执行Function>>Numeric>>>Quotient & Remain-der操作
执行Function>>Time & Dialog>>Wait(ms)操作,输入0。
执行Function>>Boolean>>True constant操作。
虚拟新型混沌信号产生器后面板流程图按照图4进行连线即可。
3.3 混沌信号产生器信号的输出
安装NI公司的PCI26014数据采集卡并设置参数,操作Function>>Data Acquisition>>Analog Output>>AOUpdate Channel.vi一次,形成一个图标,图标的仪器号设为1,通道号设置为O。将图标的输入与状态变量X相连,这样就可由数据采集卡输出状态变量X的、混沌信号。
3.4 LabVIEW仿真结果
在LabVIEW前面板上观察到的图形如图5所示:
在实际的实验硬件电路中,通过示波器观察到的图像和图5,完全一致。
4 结 语
本文应用美国NI公司的LabVIEW虚拟仪器技术结合混沌理论设计并制造了虚拟混沌信号产生器,Lab-VIEW友好的可视化图形界面,使用户在操作时感觉同操作真实的仪器设备一样。利用此仪器可很方便地演示新型混沌信号产生器的各种混沌状态,并且可由数据采集卡采集混沌信号输出。由于此仪器参数调节方便,易实现,可靠性高,实时性好,与传统的自治混沌系统相比,此仪器输出的混沌信号更适合于作为加密混沌通信系统的信息载体,提高通信系统的安全性,也提供了一种研究非线性系统的新途径。