一种解决探地雷达数据采集系统中数据溢出的技术方法

xiaoxiao2020-10-23  16

一种解决探地雷达数据采集系统中数据溢出的技术方法
【技术领域】
[0001]本发明属于探地雷达技术工程探测领域,特别涉及利用计算机和电子信息耦合技术,解决探地雷达数据采集系统中采集与存储速度不匹配导致的数据溢出问题,从而实现数据的实时采集与存储。
【背景技术】
[0002]探地雷达是一种快速、高效、无损探测的物探方法。传统的探地雷达设备的采集系统通常采用等效采样方式,采样速度低,这种采样方法的优点是对采集和存储系统硬件要求低且容易实现,缺点是:(I)等效采样有一个前提即在一个周期内相邻的反射信号没有差异或者差异不大,实际中这一条件往往难以实现,导致误差的产生;(2)采样速度低决定了雷达探测速度低。目前,探地雷达采用实时采样方法是一个重要的发展方向,一方面可以提高探测的精度,另外一方面也使得雷达的快速探测成为可能。
[0003]目前探地雷达采集系统使用的是实时采样方法,实时采样率可达到8GSamples/s,采样间隔125ps,试验测得传输并保存(普通的I/O读和写操作)一个采样点至硬盘中则需要13ns,采集速度与存储速度相差近100倍。巨大的速度不匹配问题会引起数据的溢出丢失,难以实现数据的实时采集与存储,进而影响到雷达设备的整体性能。

【发明内容】

[0004]本发明的目的是为解决上述雷达采集系统中的数据溢出问题,提出一种解决探地雷达数据采集系统中数据溢出的方法,将计算机技术与电子信息技术耦合在一起,解决了数据实时采集与存储速度不匹配的瓶颈问题,成功实现了数据的实时采集与存储。
[0005]本发明提出的一种解决探地雷达数据采集系统中数据溢出的技术方法,其特征在于,包括以下步骤:
[0006]I)数字转换器ADC双采集模式配置及采集参数设置:雷达数据采集系统设计为4个线程并行工作,系统开始时即进入初始化阶段。在此阶段,线程I进行ADC初始化配置,线程3进行QSB-M(—种数据采集设备)初始化,线程4则创建数据文件F。其中,ADC配置了双采集模式,其同步配置的目的是为实现雷达反射信号数据采集的连续性和完整性,并且在实验基础上得到最优配置参数,采集参数设置如下:循环缓冲区单元个数为3,每个单元内部数据段个数为333。任一线程中设置I个全局控制变量S和11个全局数据向量组D、D’、D”、D1、D1’、D11’、D2、D11、D21、D22、D23,其中变量S表示ADC内存是否被线程读取的状态,它有两个值O和1,9个全局数据向量组分别用于存放读取的数据值且均赋初值O。任一线程新建一个数据队列Q,用于存放待写入数据;
[0007]2)数据采集工作流程设计:基于I)的初始化配置,雷达数据采集系统进入数据采集阶段(涉及采集设备ADC工作部分不属于本专利内容,本专利涉及的内容是设计数据采集和存储的工作流程,包括各线程间数据通讯及数据传输)。雷达数据采集包括雷达反射信号的采集和头文件数据的采集,在此阶段,线程I和线程2完成雷达数据的采集,线程3完成头文件数据的采集。线程I首先侦听变量S(O表示正在被读取,I表示没有线程读取),当侦听到的S值为O时,则继续侦听,直至S值为I。当侦听到的S值为I时,该线程直接访问ADC内存同时该S值变为O,并从ADC内存中读取并存放数据至计算机内存Dl中,然后发送指令释放ADC中Dl所对应的内存空间(该空间变为空),继而释放变量S (释放后S值变为1,其可被其它线程侦听并进行数据读取)。线程I从读取的数据Dl中提取出有用的数据Dl I,并将Dll和D2合并为数据D,完成雷达数据和相应的头文件数据的合并,最后将D放入队列Q的首部中,至此线程I的一个工作循环结束,再次开始侦听变量S。线程2的工作流程类似于线程1,不同的是线程2从ADC内存中读取的是D1’,然后提取出Dll’,D11’和D2合并为D’,最终将D’放入队列Q的首部中。两个线程根据侦听变量S的状态交替控制ADC内存数据的读取,从而保证了数据读取的连续性,避免了因读取速度慢引起的数据溢出问题。线程3首先读取计算机系统的时间,包括时、分、秒、微妙并将该值保存至D21中,然后通过QSB-M读取测量轮编码数据并保存至D22中,再然后读取通道标签数据并保存至D23中,最后将D21、D22和D23合并为D2,即为头文件数据,专供线程I和线程2调用,从而确保线程I和线程2采集到的雷达数据与头文件数据在时间上严格一致;
[0008]3)数据存储工作流程设计:基于2)采集到的数据队列Q,线程4主要完成该队列Q的存储任务。线程4首先检测队列Q中是否有数据存在,如果没有则继续检测,如果有数据,则读取队列Q末尾数据并存储在D”中(该数据字节数与D和D’相同),然后在队列Q中删除掉与D”对应的数据,最后将数据D”写入到预先创建的数据文件F中,至此线程4的一个工作循环结束,再次对数据队列Q进行检测;
[0009]4)当数据采集完成时,线程1、线程2和线程3停止工作,而线程4则继续工作直至队列Q中的数据全部被写入文件F中,从而保证数据存储的完整性。至此4个线程任务全部结束。
[0010]本发明主要具有以下技术优点:
[0011]I)计算机与电子信息的耦合技术解决了雷达采集系统中因速度不匹配引起的数据溢出并丢失问题,实现了数据的实时采集与存储;
[0012]2)数字转换器ADC双采集模式同步配置,其目的是为实现雷达反射信号数据采集的连续性和完整性,并且在大量的实验基础上,得到最优配置参数,参数设置如下:循环缓冲区单元个数为3,每个单元内部数据段个数为333 ;
[0013]3)多线程数据采集、存储工作流程的设计,两个线程根据侦听变量S的状态交替控制ADC内存数据的读取,从而保证了数据读取的连续性,避免了因读取速度慢引起的数据溢出问题。另外,通过队列Q实现了采集数据的完整存储。
【附图说明】
[0014]图1为技术流程图。
[0015]图2为雷达采集原始数据图。
【具体实施方式】
[0016]下面结合附图和【具体实施方式】对本发明作进一步详细描述:
[0017]本实例中用到了 NI公司的测量轮编码器和QSB-M采集设备;计算机CPU为4核17处理器,主频为2.67GHz, 8GB内存;采集系统的工作流程控制程序在Labview环境中开发设计。雷达信号的发射重复频率为30KHz(周期为33us),采样窗口为40ns,所以对每个脉冲信号的采样点数为320个,每个数据为16bit。如图1所示,为解决雷达数据采集中的数据溢出问题,所用到的技术方法如下:
[0018]I)数字转换器ADC双采集模式配置及采集参数设置:雷达数据采集系统设计为4个线程并行工作,系统开始时即进入初始化阶段。在此阶段,线程I进行ADC初始化配置,线程3进行QSB-M初始化,线程4则创建数据文件NewData。其中,ADC配置了双采集模式,并且采集参数设置如下:循环缓冲区单元个数为3,每个单元内部数据段个数为333,信号幅值为±2V。线程2设置I个全局控制变量S和11个全局数据向量组D、D’、D”、D1、D1’、D11’、D2、D11、D21、D22、D23,其中变量S表示ADC内存是否被线程读取的状态,它有两个值O和1,9个全局数据向量组分别用于存放读取的数据值且均赋初值O。任一线程新建一个数据队列Q,用于存放待写入数据;
[0019]2)数据采集工作流程设计:基于I)的初始化配置,雷达数据采 集系统进入数据采集阶段。雷达数据采集包括雷达反射信号的采集和头文件数据的采集,在此阶段,线程I和线程2完成雷达数据的采集,线程3完成头文件数据的采集。线程I首先侦听变量S (O表示正在被读取,I表示没有线程读取),当侦听到的S值为O时,则继续侦听,直至S值为I。当侦听到的S值为I时,该线程直接访问ADC内存同时该S值变为0,并从ADC内存中读取并存放数据至计算机内存Dl中,然后发送指令释放ADC中Dl所对应的内存空间(该空间变为空),继而释放变量S (释放后S值变为1,其可被其它线程侦听并进行数据读取)。线程I从读取的数据Dl中提取出有用的数据D11,并将Dll和D2合并为数据D,完成雷达数据和相应的头文件数据的合并,最后将D放入队列Q的首部中,至此线程I的一个工作循环结束,再次开始侦听变量S。线程2的工作流程类似于线程1,不同的是线程2从ADC内存中读取的是D1’,然后提取出Dll’,Dll’和D2合并为D’,最终将D’放入队列Q的首部中。两个线程根据侦听变量S的状态交替控制ADC内存数据的读取,从而保证了数据读取的连续性,避免了因读取速度慢引起的数据溢出问题。线程3首先读取计算机系统的时间,包括时、分、秒、微妙并将该值保存至D21中,然后通过QSB-M读取测量轮编码数据并保存至D22中,再然后读取通道标签数据并保存至D23中,最后将D21、D22和D23合并为D2,即为头文件数据,专供线程I和线程2调用,从而确保线程I和线程2采集到的雷达数据与头文件数据在时间上严格一致;
[0020]3)数据存储工作流程设计:基于2)采集到的数据队列Q,线程4主要完成该队列Q的存储任务。线程4首先检测队列Q中是否有数据存在,如果没有则继续检测,如果有数据,则读取队列Q末尾数据并存储在D”中(该数据字节数与D和D’相同),然后在队列Q中删除掉与D”对应的数据,最后将数据D”写入到预先创建的数据文件NewData中,至此线程4的一个工作循环结束,再次对数据队列Q进行检测;
[0021]4)当数据采集完成时,线程1、线程2和线程3停止工作,而线程4则继续工作直至队列Q中的数据全部被写入文件NewData中,从而保证数据存储的完整性。至此4个线程任务全部结束。
[0022]为了验证该数据采集系统的实用性,本实例还建立了一个探测模型,一个是长宽高大小为0.63X0.45mX0.25m的塑料盒子装满细沙,然后将一根钢筋(直径15mm)埋在距表面0.1m深度的沙子中,另一个则是被放置在距地面上0.55m处的一根6#螺纹钢筋(直径20mm))。用该雷达系统对目标进行探测并采集数据(前后移动对目标体两次探测),探测结果如图2所示(a为沙盒探测结果,b为地面钢筋探测结果,黑色圈标示的是两个钢筋的雷达反射图像)。
【主权项】
1.一种解决探地雷达数据采集系统中数据溢出的技术方法,其特征在于,在雷达数据采集和存储过程中,设计多线程并行处理工作流程,完成探地雷达数据和头文件数据的读取和存储任务,进而实现防止探地雷达数据采集系统中的数据溢出问题;所述数据采集和写入过程包括以下步骤: 1)数字转换器ADC双采集模式配置及采集参数设置:雷达数据采集系统设计为4个线程并行工作,系统开始时即进入初始化阶段。在此阶段,线程I进行ADC初始化配置,线程3进行QSB-M(—种数据采集设备)初始化,线程4则创建数据文件F。其中,ADC配置了双采集模式,其同步配置的目的是为实现雷达反射信号数据采集的连续性和完整性,并且在实验基础上得到最优配置参数,采集参数设置如下:循环缓冲区单元个数为3,每个单元内部数据段个数为333。任一线程中设置I个全局控制变量S和11个全局数据向量组D、D’、D”、D1、D1’、D11’、D2、D11、D21、D22、D23,其中变量S表示ADC内存是否被线程读取的状态,它有两个值O和1,9个全局数据向量组分别用于存放读取的数据值且均赋初值O。任一线程新建一个数据队列Q,用于存放待写入数据; 2)数据采集工作流程设计:基于I)的初始化配置,雷达数据采集系统进入数据采集阶段。雷达数据采集包括雷达反射信号的采集和头文件数据的采集,在此阶段,线程I和线程2完成雷达数据的采集,线程3完成头文件数据的采集。线程I首先侦听变量S(O表示正在被读取,I表示没有线程读取),当侦听到的S值为O时,则继续侦听,直至S值为I。当侦听到的S值为I时,该线程直接访问ADC内存同时该S值变为O,并从ADC内存中读取并存放数据至计算机内存Dl中,然后发送指令释放ADC中Dl所对应的内存空间(该空间变为空),继而释放变量S (释放后S值变为1,其可被其它线程侦听并进行数据读取)。线程I从读取的数据Dl中提取出有用的数据D11,并将Dll和D2合并为数据D,完成雷达数据和相应的头文件数据的合并,最后将D放入队列Q的首部中,至此线程I的一个工作循环结束,再次开始侦听变量S。线程2的工作流程类似于线程1,不同的是线程2从ADC内存中读取的是D1’,然后提取出Dll’,Dll’和D2合并为D’,最终将D’放入队列Q的首部中。两个线程根据侦听变量S的状态交替控制ADC内存数据的读取,从而保证了数据读取的连续性,避免了因读取速度慢引起的数据溢出问题。线程3首先读取计算机系统的时间,包括时、分、秒、微妙并将该值保存至D21中,然后通过QSB-M读取测量轮编码数据并保存至D22中,再然后读取通道标签数据并保存至D23中,最后将D21、D22和D23合并为D2,即为头文件数据,专供线程I和线程2调用,从而确保线程I和线程2采集到的雷达数据与头文件数据在时间上严格一致; 3)数据存储工作流程设计:基于2)采集到的数据队列Q,线程4主要完成该队列Q的存储任务。线程4首先检测队列Q中是否有数据存在,如果没有则继续检测,如果有数据,则读取队列Q末尾数据并存储在D”中(该数据字节数与D和D’相同),然后在队列Q中删除掉与D”对应的数据,最后将数据D”写入到预先创建的数据文件F中,至此线程4的一个工作循环结束,再次对数据队列Q进行检测; 4)当数据采集完成时,线程1、线程2和线程3停止工作,而线程4则继续工作直至队列Q中的数据全部被写入文件F中,从而保证数据存储的完整性。至此4个线程任务全部结束。2.根据权利要求1所述的一种解决探地雷达数据采集系统中数据溢出的技术方法,所述的方法中涉及采集设备ADC工作部分不属于本专利内容,本专利涉及的内容是设计数据采集和存储的工作流程,包括各线程间数据通讯及数据传输流程。
【专利摘要】本发明涉及一种解决探地雷达数据采集系统中数据溢出的技术方法,主要解决数据实时采样率高而传输和存储速度慢引起的数据溢出丢失问题,方法包括:1.数字转换器ADC初始化过程中双采集模式同步配置及最优采集参数设置;2.设计多线程数据采集工作流程,完成探地雷达数据和头文件数据的读取与传输任务,避免了因读取速度慢引起的数据溢出问题;3.设计数据存储工作流程,通过建立数据存储队列结构,确保采集数据的完整存储。本发明将计算机技术与电子信息技术耦合在一起,解决了探地雷达数据采集系统中的数据溢出问题,成功实现了数据的实时采集与存储。
【IPC分类】G06F21/52
【公开号】CN104881600
【申请号】CN201510349824
【发明人】许献磊, 杨峰, 夏云海, 李涛涛
【申请人】中国矿业大学(北京)
【公开日】2015年9月2日
【申请日】2015年6月23日
转载请注明原文地址:https://www.famiwei.com/read-8138476.html

最新回复(0)