应用介绍
推荐一组自主研发的免费的ActiveX控件,涉及如下领域,科学数值计算,数字信号处理,图形图像,数据挖掘与数据视觉化,虚拟仪器等领域。
(一)基于控件的虚拟仪器系统
可用Microsoft Visual Basic 6.0,Visual C/C++ 6.0,Visual Studio.net(C#,VB.NET)作为开发环境,用一系列与仪器开发相关的ActiveX控件(OCX)作为虚拟仪器的开发部件,构件基于计
算机的软件化仪器,满足数据采集、监视、存储、处理、回放、以及交互分析、报告制作打印等应用需求。这些控件包括:
(1)数值计算(CoDsp45.ocx):解线性方程组,解一元n次方程,矩阵逆、行列式、相乘、特征值、特征向量求解,线性规划,特殊函数计算等。
(2)信号处理(DatView45.ocx):快速傅立叶变换(FFT),余弦变换(DCT),小波变换,功率谱估计,AR模型,FIR、IIR滤波器设计与滤波,自适应滤波,相关与卷积,数据压缩,数值微分与积分,信号仿真 ,线性系统零极点计算和幅频相频特性等。
(3)时间序列分析(pwdsp45.ocx):数据插值与拟合,多元线性回归,数值排序,统计参数估计(较小值、较大值、均值、方差、标准差、中值、众数、过零率、偏度、峰度),统计检验,数据平滑,数据分布等。
(5)科学图形绘制(WaveRun.ocx,RtSigWave.ocx,ShortWave.ocx,Plotxy54.ocx,mesh45.ocx,vicontour45.ocx,matview45.ocx):二维数据图形表达(曲线、直方图、饼图、散点图),三维数据图形表达(等高线图、三维网状图形、三维表面图形、三维投影图形),动态波形实时监视,信号波形表达与测量等。
(6)图像处理(cqmimg60.ocx):BMP、PCX、TIF、GIF、JPG格式图像文件读写,图像显示,图像创建,图像中数据操纵,图像的基本处理(旋转、镜像、转置、重新采样、插值、变换),图像中图形的绘制,实时动态图像,图像打印等。
(7)多通道信号表达与分析(DataSeries5.ocx):多通道信号波形的回顾浏览、测量,波形点和波形段标记,信号处理,信号交互分析,信号处理结果的图形和图像表达等。
(8)数据管理(Rectab.ocx):支持Access 3.0数据库(MDB),功能包括建立数据库以及数据表与字典,打开数据库文件并显示记录,在数据表中增加、删除、修改记录,并对记录进行排序、查找、统计等。建立记录与文件关联。
(9)动画制作(GifAni45.ocx):给定一系列图片文件,可将其合并成一个GIF文件,构成动画;也可以将一个GIF动画文件转化成一系列图片文件;用此控件可制作GIF动画。
(10)打印报告制作(DataReport.ocx):用此控件通过编程制作图文并茂打印报告,具有组合多行文字、表格、曲线、直方图、饼图、图像在一起,生成打印报告,并具有打印预览功能等。
(二)信号表达与处理控件(DataSeries5.ocx)简介
数字信号处理:随机分布数据仿真;矩阵运算(逆,转置,乘,行列式,特征值);数据平滑、插值、拟合、抽样;解方程(线性方程组,一元n次代数方程);离散正交变换(FFT,DCT,
DST,小波变换,Walsh变换等);AR模型参数估计;数字滤波器设计与滤波(FIR,IIR);功率谱估计;自相关和互相关;常用统计参量计算;特殊函数计算;数值排序;数据压缩;字符串
特殊处理;本机信息获取。
信号数据表达:信号数据属性;信号设置;波形表达(绘图,定位,测量,选段,选段删除,通道插入与删除);波峰表达和操作(设置,标记,修改,删除,统计);选段表达和操作(设置,标记,列表,修改,删除);MS WORD模板报告;打开文件;较近打开文件列表。
图形与图像:图像文件打开、保存、打印;创建新图像;图像数据操作;图像处理(反色、旋转、镜像、灰度、改尺寸、插值、轮廓);图像显示;绘图区域与坐标纸;图形绘制(直方图、XY曲线、散点图、波形曲线);数值矩阵的图形显示(二维插值、三维网线图、瀑布图、表面图、伪彩色图像、等值线);图像区域填充及面积周长。
(三)科学工程计算和图形部件
科学工程计算和图形控件组包括数值计算控件、信号处理和表示控件、信号动态波形表示控件、二维科学图形控件、三维科学图形控件等一系列解决科学和工程中科学计算以及计算数值结果
图形表示的ActiveX控件。
在科学技术高度发展和计算机广泛应用的今天,科学计算和计算机紧密结合,应用十分广泛。特别是原来很多需要专门芯片计算的问题,现在可以用软件来实现,也为科学计算软件的应用带来了新的机遇。数值计算、信号处理和科学图形在生物医学工程、航空航天、振动工程、无损检测、石油勘探、水利电力、自动控制、仪器仪表、水文、雷达、通信、声纳、遥测遥感、医学等许多领域有着十分广泛的应用,无论是系统仿真、理论模拟还是仪器制作、数据分析统计、系统测控都与科学计算、信号处理和科学图形的理论和算法存在千丝万缕的联系,它们在各技术领域的渗透几乎无孔不入。但是由于科学与工程计算涉及到较深奥和较广泛的数学和理论知识,对于比较复杂的算法设计,需要熟悉相关数学知识,通晓相关理论基础,以及熟练计算机软件编程和算法设计,因而造成它们和实际的结合具有一定的难度。为了把科学计算、信号处理等复杂的理论更好地应用到各技术领域,国内很多科技工作者开发了很多算法程序,并以源代码的形式出版在各种书籍之中,如1995年由电子工业出版社出版的《C语言数值算法程序大全》,1993年由学苑出版社出版的《Microsoft C科学与工程工具库》,1988年由科学出版社出版的《数字信号处理程序库》和《振动信号处理程序库》等等,书中提供了用FORTRAN 语言、C语言、BASIC语言编写的源程序,但是不够和规范,比较零散,缺乏集成,甚至包含有印刷等错误。这些书籍中的算法程序,在一定程度和范围上满足了部分专业技术水平较高人员的需要,但还远远不够。其原因在于(1)对使用者的技术和理论水平要求较高;(2)即使拥有了源程序,对用户来说仍然需要录入、修改和测试程序,花费大量的时间。(3)程序比较零散,不容易灵活地组合各种算法;(4)大部分程序是以Fortran语言提供,翻译成当今流行的语言很难;(5)已经不能满足当前计算机软件发展的要求;(6)不易移植到当今流行的操作系统上运行;(7)不易与当今流行的软件开发工具结合。
美国Mathworks公司从事了十多年的科学计算和科学图形方面的研究和软件产品开发工作,研制了高性能数值计算软件系统MATLAB,它集数值计算、科学图形、编程环境和解释语言于一体,是一套高性能数值计算和数据分析软件,已经成为了工程和科学研究的工业标准,为国内外广大科学家和工程师使用。但是MATLAB自成体系,不能在通用软件开发工具(如Visual C/C++,Visual Basic, PowerBuilder等)中直接调用,用户很难把其中优质的算法、漂亮的图形嵌入自己的应用程序之中。因此它的应用只限于科学研究、理论模拟和仿真以及数据分析之中,不能把它嵌入到自己的软件产品之中。然而MATLAB的广泛流行使用,对于科学与工程计算控件的推广应用将起到积极的作用,因为我们可以先用MATLAB来快速实现理论模拟仿真实验,较后用控件来实现算法,做成应用软件。所以科学计算、信号处理和科学图形ActiveX控件是计算机软硬件发展的产物,是科学技术高度发展的产物,是各学科领域应用需求的产物。首先,随着个人计算机的高度发展,高速度、大内存和大硬盘的个人计算机的出现为科学计算和科学图形软件在个人计算机上的实现提供了物质基础;特别是计算机软件和编程工具的巨大发展,面向对象的编程和可视化编程已经成了软件开发的主流。这些控件正是为了适应计算机软硬件发展,把数值计算、信号处理和科学图形融为一体而研制出来的一套实用的开发工具包。它适合于多种软件开发工具(如Visual C/C++,VisualBasic, Visual Foxpro、Power Builder等),是面向对象编程的功能部件。数值计算、信号处理和科学图形加入到控件这个大家庭的同时,也为应用软件开发人员提供极大的想象和便利,提供十分有价值的选择。有了这些控件,应用软件开发人员就不再需要为复杂的信号处理算法担忧,也不用去设计复杂的科学图形程序了,只要将控件加入应用软件中,设置控件中的一些属性和调用控件中一些方法,就可以实现原来望而生畏的许多功能,就可以把有限的精力集中
到主要目标上,用较短的时间、较少的经费和较少的人员开发出功能强大、界面精美、非常实用的应用程序。其次,随着信息处理技术在各学科领域的不断广泛和深入的应用和计算机的普及,人们希望计算机不只是办公、数据库管理的工具,更希望它是数据分析、测量控制、辅助设计和复杂计算的工具,把计算机的应用提高到更高的水平。数值计算、信号处理和科学图形ActiveX控件组正是为计算机的这种应用提供了强有力的基础。数值计算、信号处理和科学图形的应用十分广泛,是很多应用技术的基础,但是应用起来又十分困难,问题是没有人们使用起来简单方便的工具。有了科学计算、信号处理和科学图形控件,用户只须了解一些基本概念,就可以利用控件的属性、方法和事件进行编程,完成您复杂编程任务。对于推广这些理论方法在各技术领域的应用具有十分重要的意义。数值计算、信号处理和科学图形又是联系紧密、互相渗透的几个领域,例如在信号处理中存在大量的数值计算,而数值计算和信号处理的结果又经常用科学图形来表示。在这些控件中不仅包含了许多传统的算法,而且对这些算法进行了规范,并且引入了一些较新的算法。我们把这三方面的控件集中起来,构成科学与工程计算和图形控件组,以便人们更好地使用它们,利用面向对象的可视化编程工具和其他控件来解决自己领域的问题。
信号静态波形浏览可用于直观地以波形形式显示所采集的数字信号,并对其进行测量和打印等各种操作,在计算机屏幕上可显示多通道数字信号波形,对波形进行翻页显示,设置每屏显示的数据点数,对波形进行宽度和高度测量、点测量,波形打印,实现数据文件打开、保存,设置波形的曲线颜色、背景颜色、坐标网格颜色,控制波形重叠或分开显示,选择一段波形,控制坐标网格、工具条、状态条、标题栏的显示或隐藏等。信号动态波形浏览可用于信号实时动态波形监视和回顾,并可与自适应信号处理方法相结合,实现自适应信号处理和监视任务。可选择滚动或刷新两种波形更新方式,多通道波形可重叠或分开显示,可设置背景颜色、波形颜色,可给特定时间点加标记,改变波形滚动或刷新的方向等。二维科学图形控件包括曲线图、直方图、饼图、极坐标图等各种图形。并可通过控件的属性和方法来设置图形的不同属性,如边框、背景、坐标网格,曲线的线型、线色,直方图的条色、立体效果等。三维科学图形控件包括立体网格图、线阵图、填充图,等高线图等。并可通过控件的属性和方法来设置图形的特性和呈现形式。数值计算控件包括插值、微分、积分、解方程、矩阵运算、特殊函数计算、曲线拟合、概要统计、线性回归、统计检验、数据平滑、数值排序、数据压缩、线性规划等许多算法,可以直接调用。
信号处理控件包括相关和卷积、滤波器设计和滤波、自适应滤波、正交变换、功率谱估计、AR模型参数估计、随机信号产生等许多信号处理算法函数,可供用户直接调用。