当前位置: 首页 > 期刊 > 《第四军医大学学报》 > 2002年第8期
编号:10925532
用ActiveX控件实现数值神经元的D/A输出
http://www.100md.com 《第四军医大学学报》 2002年第8期
     关键词: 神经元;数值模拟;D/A输出

     0 引言

    随着神经科学中关于神经元电兴奋特性的研究日趋深入,对有关簇放电(bursting)发生机制已建立了大量的数学模型,并用于对多种类型bursting的研究与模拟中[1,2] .但由于数值计算过程难以为生物学者所掌握,因此研制开发便于他们使用的数值模拟环境对促进非线性动力学成为他们得力的研究工具非常重要.生物系统在混沌激励下的动力学行为更为复杂,但更接近实际情况.现有刺激器仍无法产生依照研究人员意愿而定制的混沌激励信号.在建立神经元模拟环境的基础上,将其计算结果驱动D/A口输出,从而产生研究者定制的信号激励,将为生物系统混沌激励下的动力学实验研究奠定技术条件.

    1 方法

    本课题主要使用编程工具Delphi5,同时利用Vi-sual Fortran来完成数值计算功能,并实现将模拟结果通过D/A编程输出,使之成为可编程的刺激器.

    1.1 数值计算模块的建立 用Visual Fortran强大的数值计算功能来完成这一模块的设计.该模块为三种簇放电数值模型的计算模块,用Visual Fortran编写算法函数和子程序,再编译成动态链接库(DLL)供Delphi编写的主程序调用.将数值计算部分做成DLL模块,可以较容易地进行混合语言编程,实现函数的动态调用.运用动态链接库技术有利于日后算法更新时的模块版本升级,并且不必改动主程序.

    1.2 图形用户界面(GUI)的设计 GUI的设计是在Delphi5的开发平台上,利用Delphi自带的控件,以及第三方控件来完成.运用SkinEngine控件包,实现了实时界面风格转换功能.随控件附带有25种不同界面风格的存贮文件,可以根据用户的喜好,更换程序界面的外观风格.还能够自己制作界面风格的存贮文件.波形显示区用到了Sgraph控件包,可以方便波形绘制的编码.在显示的时候,可以上下、左右拖动绘图区,还可以局部放大波形,方便用户对波形的观察.左侧的参数显示区和右侧的快捷功能按钮区则利用了ksOffice控件包,可以将参数显示区和功能按钮区上卷,有效地增加显示区域里波形的信息量.

    1.3 数模转换输出的实现 采用National Instruments公司的ComponentWorks Data Acquistion(DAQ)ActiveX控件来对硬件接口编程.本系统选用的数据采集卡是National In-struments公司的PCI-6024E,所以采用ComponentWorks ActiveX控件可以很好地发挥其功能,并且使用起来非常简单、方便.设计要求D/A输出的刷新率要能达到100K·s-1 .

    2 结果

    建立了三种簇放电数学模型的数值计算模块,用动态链接库技术并结合静态数组方法实现了数值计算模块与图形用户界面的接口.运用DMA传送方法实现了在奔腾Ⅲ800,128MB内存的PC机上100K·s-1 的D/A传送速率.

    3 讨论

    由于较高的实时输出要求,较难实现D/A输出的同时显示输出波形,可以用多线程技术来真正实现多显示通道同时显示波形.在程序的模块化设计上,可以把参数设置窗体也编成DLL,更加模块化,升级性更强.由于使用的是National Instruments的ComponentWorks ActiveX控件来对D/A编程,所以对于其他公司的数据采集卡能不能很好的驱动没有验证.这些都是需要改进的地方.

    参考文献:

    [1]Eugene MI.Neural excitability,spiking and bursting [J].Int J bifurcation Chaos,2000;10(6):1171-1266.

    [2]Liu YH,Wang XJ.Spike-frequency adaptation of a generalized integrate-and fire model neuron [J].J Comput Neurosci,2001;10:25-45.

    作者简介: 蔡志华(1970-),女(汉族),江苏省无锡市人.助教.Tel.(029)3374437

    1 第四军医大学研究生院,陕西西安710033,

    2 陕西省人民医院心胸外科

    编辑 袁天峰, http://www.100md.com(蔡志华 张俊沧 黄雪芹)