sinkie 发表于 2008-8-30 14:18:28

高速采集下的一个问题

我要采集一个信号,这个信号只是一个瞬间的脉冲
所以我要用很高的采样频率
现在问题是如何有效的分离出这个脉冲尖峰,并且我要对这个序列段进行积分
所以分离出来的数据是什么格式

我的设想是用TDMS存储 高速流数据
但是存储下来似乎没有办法分离出数据

有没有办法在采集时尽量只采集这个脉冲峰
这样可以减少很大的数据量

polo1983 发表于 2008-8-30 14:59:24

高速采集 肯定用触发才行,脉冲的话你可以用上升沿触发, 然后把记录延时设置成负 即可把脉冲完整采集

wdyjz 发表于 2008-8-31 10:43:13

1、TDMS或者二进制的方式保存数据,人工的将数据波形特征提取出来;可行;
2、外部触发采集的方式,设置一个门槛才启动AD,不见得最好,因为会失去一部分特征数据。

以前我在做这类的高速瞬态信号采集的时候,采用了软件定时的方法,提前在信号到之前20s左右开始启动AD。

真名就是高杰 发表于 2008-8-31 11:14:23

具体问题还是要具体的分析下,找出最好的办法。
你使用的采集硬件是什么,很重要。如果用示波器的话,设置触发方便,如果用数采卡,还是定时采集一段数据比较好。
TDMS其实并不快,二进制数据更快。

dinga 发表于 2008-8-31 11:22:16

呵呵~楼主遇到的问题和我的差不多,我是要捕捉一个高速冲击信号。

实现方法如下:采用触发采集的方式,在采集之前开辟一个二维数组(数组大小视系统内存大小设定,),然后设定一个阀值及一个“向前保留时长”,即在没有达到阀值前,程序一直采集数据存至二维数组中,但不保存,就像是一个示波器一样,只是观测信号,当信号幅值到达阀值时,在这个时间点向前保存“向前保留时长”这个长度的数据,另外向后保存 二维数组大小减去“向前保留时长”的数据,并停止采集,程序处于待命状态。

因为我只采集一个通道的数据,所以采样频率可以基本达到采集卡的最大值,我用的是2000K。
同时,因为我采集的是冲击信号,所以采样时长也不长,在捕捉到冲击信号之前,有0.3秒的数据,捕捉后(即触发后)有0.7秒的数据。一共为1秒钟数据。现在在正在实验室用着,呵呵~效果不错。

下面是程序截图,希望对你有所帮助。:


[ 本帖最后由 dinga 于 2008-8-31 11:30 编辑 ]

wdyjz 发表于 2008-8-31 13:20:35

dinga 的方式挺好,采用了飞机黑匣子的原理。
我当时做的程序是采集子弹的波形,用途虽然不一样,但原理是相通的。

phoenix254 发表于 2008-9-6 13:50:39

dinga兄,能否将你的VI上传上来呢?
页: [1]
查看完整版本: 高速采集下的一个问题