Daily Archives: 2011年4月6日

数据采集和处理

开学以来这段时间一直在操心ARES流变仪模拟信号的数据采集问题,碰了些壁。现在还没完全实现,先记点笔记,等完全实验了,我就要把整个过程整理出来,放在英语个人主页上。

目的

从ARES仪器背板取模拟信息的目的是进行更加自由的实验数据处理。具体地说,ARES随机软件TA Orchestrator 7.2.1软件包的主程序Orchestrator内置的动态测试方式都不能显示每个数据的原始波形情况,数据点的采集时间和采集区间也不能自由设定。如果使用Arbitrary Waveform Test,每个区间(zone)的数据点数是有限的,对于振荡频率较高的实验就无法获得完整波形。以上限制是我考虑自己采集ARES模拟信号的主要原因,但是建立了采集平台之后能做的事就不仅限于此了。

ARES模拟输出信号特征

关于这方面信息我之前已经贴过了,由于方便所以不妨再贴(豆丁网有些图片转换不正常):

数据采集设备

从上面的ppt里也看到,我选择了NI USB-9215A。安装了附送的LabView SignalExpress软件之后,可以很方便的看到信号和调整采样率(上面的ppt有例子)。

实时数据处理

数据处理这一步分两个方面,一数学方面,用什么公式从原始数据提取频率、振幅、相位等信号;另一方面就是软件实现。

关于数学方面,有两个方法,一个是离散Fourier变换,另一个是互相关(cross correlation)。这两种方法在以下ppt里面有所介绍:

其中,关于Windows Correlation技术,我还要认真看一下,思考能不能也用类似的技术从非线性数据里获取高次谐波。

然后,关于软件方面。起初我只是从LabView SignalExpress里,把时间序列数据存到txt文件里。然后在OriginPro里打开,去头去尾,FFT,作图,用取值软件取出峰值和峰位,然后记录下来,每花这一番功夫其实只获得一个数据。实际应用的时候肯定不能这样搞,而是要利用计算机的处理速度,实时地给出最终的流变数据。目前有几种可能的途径。首先,LabView SignalExpress可能支持某种实时的频域分析,甚至支持自定义函数。如果这个有戏的话,应该是最优先采用的方法。这方面让许国智师弟回去看help去了。

其次就是使用TA Orchestrator软件包附带的RheoCorr软件。这个软件是属于Fast Data Sampling Option的一部分,在安装TA Orchestrator要勾上此项才会有。TA的Fast Data Sampling Option是ARES的一个附件。它包括一个NI DAQPad-6020E,以及使用TA Orchestrator软件包中相关附件的一个License Key。其中DAQPad-6020E从流变仪获取模拟信号,转换后可由RheoCorr软件读取并自动进行处理。RheoCorr跟Orchestrator有个接口。因此使用Orchestrator控制流变仪的同时就可以调用RheoCorr从而调用DAQPad-6020E。因此整个workflow也很integrated,听起来是个很不错的选择。

理论上说,使用其他NI公司的DAQ产品,也可以配合RheoCorr。我就寻思着现在购买的NI USB-9215A是不是也可以这么用。先问TA公司的客户要了一个License Key(友情免费)。但是发现,RheoCorr软件不支持新的DAQmx软件包的动态链接库,由于这是RheoCorr软件设计时固有的特点,没办法,只能迁就RheoCorr软件,卸载掉DAQmx,改装Traditional NI-DAQ。这东西原来还不支持64-bit Windows,于是把Windows也卸载了,改装一个32-bit版本的。到最后,最致命的问题出现了,我的NI 9215A产品太新了,不支持Traditional NI-DAQ!所以,想让NI USB-9215A跟RheoCorr软件“亲密接触”的可能性基本上不存在了。

不过,RheoCorr软件也并没有什么特别的技术。既然迁就不了它,那就自己写一个得了。

所以第三个方式就是使用Matlab来处理数据。这就需要Matlab和数据采集卡的驱动程序之间有一个数据接口。MATLAB自带的Data Acquicition Toolbox就支持NI DAQmx。可是我在我机子上的MATLAB上找了半天就是找不到Data Acquisition Toolbox,上google折腾了半天,才搞清楚原来Data Acquisition Toolbox不支持64-bit Windows,因此64-bit的MATLAB是不含这个toolbox的。Easy,把我原有的MATLAB卸了,重装了个32-bit版本的,就见到了这个toolbox了。关于Data Acquisition Toolbox的应用,最简单地范例就是以电脑自带的声卡作为硬件,拿mic录声音。但是要拿外接的NI USB-9215A作为硬件,可能就不那么顺利了。这个要等回实验室之后插上数据卡来试。这里有一个针对NI DAQmx范例文件。

除了MATLAB自带的Data Acquisition Toolbox之外,NI自己也做了一个DAQmx Tools。到底哪个好,也要通过常试比较一下。

最终,利用这些Toolbox,我还要自己写一个完整的程序,以形成一个比较整合的自动化的流变测试实验流程。真是任重而道远啊。