大地电磁实时视电阻率计算方法、装置及存储介质制造方法及图纸

技术编号:38153400 阅读:13 留言:0更新日期:2023-07-13 09:19
本发明专利技术公开了一种大地电磁实时视电阻率计算方法,在嵌入式MCU中采用三重处理结构,分为中断处理函数、前处理线程、后处理线程,并使用滑动累加处理方式,将采集过程与处理分离。采集过程以DMA的获取方式读写数据,不占用MCU处理机时,MCU对于采集过程仅处理中断消息转发。并对接收采集数据内存区域使用内存池技术,降低数据区获取效率和增加数据区的连续性。MCU的绝大部分机时都将可以用于处理线程。又将处理算法分布在前处理线程和后处理线程。前处理线程用于快速响应采集数据是否满足条件,对于满足计算条件的数据进行累加。后处理线程用于计算最后的大地电磁视电阻率数据。线程用于计算最后的大地电磁视电阻率数据。线程用于计算最后的大地电磁视电阻率数据。

【技术实现步骤摘要】
大地电磁实时视电阻率计算方法、装置及存储介质


[0001]本专利技术涉及地质勘查的数据处理
,尤其涉及一种大地电磁实时视电阻率计算方法、计算机装置及计算机可读存储介质。

技术介绍

[0002]大地电磁视电阻率计算在传统的解决方案中,通常采用的做法有两种。
[0003]第一种方案是,采集仪器先采集原始时间序列数据并存储,工作完成后(通常是一天的工作完成后)将数据导入装载X86处理器的PC。再使用PC上的预处理软件从原始时间序列数据中计算大地电磁视电阻率数据。这种方案的缺点是现场施工人员无法实时得到当前采集点位的视电阻率数据,无法及时处理各种现场施工异常或者根据现场干扰异常进行有效调整。
[0004]第二种方案是,采集仪器先采集一小段原始时间序列数据,比如3*4096采样长度的原始时间序列数据。然后仪器停止采集,进入计算阶段,调用视电阻率提取算法计算视电阻率。采集仪器会把该过程重复几次,比如8次。最后对这8次数据进行Robust估计得到结果视电阻率数据。这种方案效率较高,实现了现场能看到视电阻率的功能。但缺点是采集与计算反复切换,导致系统真正采集时间对比总耗时占比不大,浪费较多野外施工时间。且需要在内存中保存每一次的结果视电阻率数据,在嵌入式系统中通常内存容量有限,无法保存大量的数据。最后的结果是该方案形成最后结果电阻率数据的原始数据量较小,容易收到干扰响应。
[0005]因此,有必要提供一种新的大地电磁实时视电阻率计算方法。

技术实现思路

[0006]本专利技术的主要目的在于提供一种新的大地电磁实时视电阻率计算方法、计算机装置及计算机可读存储介质,以解决上述的技术问题。
[0007]为实现上述目的,本专利技术提供的一种大地电磁实时视电阻率计算方法,包括步骤:S1,通过MCU以DMA的获取方式,获取原始时间序列数据,并存储到DMA缓存,在所述DMA缓存采集满时,记录该缓存为已填充区,并将已填充区的地址发动给前处理线程;S21,所述前处理线程根据所述已填充区的地址,获取所述原始时间序列数据,并对所述原始时间序列数据进行筛选,筛选符合仪器满幅值的数据;S22,所述前处理线程计算符合所述步骤S21的筛选结果的所述原始时间序列数据的相干度数据,判断该相干度数据是否符合最低相干度要求,若是,则进入步骤S23;S23,若是,则所述前处理线程锁定所述相干度数据符合最低相干度要求的合格数据对应的结果功率谱数据的互斥锁;S24,所述前处理线程累加所述相干度数据符合最低相干度要求的合格数据到结果功率谱数据,并更新所述结果功率谱数据的累加次数加1,解锁所述结果功率谱数据的互斥锁,并返回所述步骤S21;
S31,所述后处理线程在所述累加次数达到预设处理次数时,锁定所述结果功率谱数据的互斥锁,并更新所述结果功率谱数据的处理次数加1;S32,所述后处理线程将所述结果功率谱数据与校正数据相乘得到校正后结果功率谱数据;S33,使用校正后结果功率谱数据计算相干度数据,并判断校正后结果功率谱数据计算的相干度数据是否大于最低相干度要求,若是,则进入步骤S34;S34,使用校正后结果功率谱数据,计算视阻抗系数、视电阻率、视电阻率相位数据,并解锁所述结果功率谱数据的互斥锁,并返回所述步骤S31。
[0008]进一步地,所述步骤S1中包括:S11,响应采集启动信号,从内存池中获取2个新的数据区,设置到所述DMA缓存的上缓存和下缓存中,并启动采集DMA数据传输,并将采集到的原始时间序列数据存储至所述上缓存或者下缓存中;S12,在所述上缓存采集满时,触发DMA中断处理函数;其中,所述中断处理函数处理中,MCU从所述内存池中获取1个新的数据区,设置到所述DMA缓存的所述上缓存;S13,在所述下缓存采集满时,触发DMA中断处理函数;其中,所述中断处理函数处理中,MCU从所述内存池中获取1个新的数据区,设置到所述DMA缓存的所述下缓存;S14,将所述步骤S12和S13中所述新的数据区更新设置为对应的DMA缓存位置,将记录采集满的所述上缓存和所述下缓存的缓存地址并记录为为已填充区,并将已填充区的地址发动给前处理线程。
[0009]进一步地,还包括步骤S15:在所述DMA中断处理函数处理中,若MCU从所述内存池中获取新的数据区失败,则放弃更新设置DMA缓存,并放弃后续的处理操作。
[0010]进一步地,所述步骤S21包括:S211,遍历所述原始时间序列数据的所有数据,统计绝对值超过仪器满幅值*0.99的值数量是否占比超过总数据量的5%;若是,则判定该原始时间序列数据溢出,不处理该次原始时间序列数据,并释放所述原始时间序列数据对应的已填充区返回到所述内存池;若否,则进入步骤S212;S212,遍历所述原始时间序列数据的所有数据,统计绝对值小于仪器满幅值*0.000001的值数量是否占比超过总数量的95%;若是,则判定该原始时间序列数据为零,不处理该次原始时间序列数据,并释放所述原始时间序列数据对应的已填充区返回到所述内存池;若否,则进入步骤S22。
[0011]进一步地,所述步骤时22包括:从符合所述步骤S21的筛选结果的所述原始时间序列数据划分出每个通道的数据,对每个通道的数据使用傅里叶变换把时间序列数据转换为频率域数据,使用所述频率域数据计算功率谱数据,使用所述功率谱数据计算该次数据的相干度数据;并释放该符合所述步骤S21的筛选结果的所述原始时间序列数据对应的已填充区返回到所述内存池。
[0012]进一步地,所述步骤时22之后还包括:在所述相干度数据不符合最低相干度要求时,则放弃该相干度数据数据对应的原始时间序列数据,并释放该符合所述步骤S21的筛选结果的所述原始时间序列数据对应的已填充区返回到所述内存池;并返回步骤S21。
[0013]进一步地,所述步骤S33之后还包括,若否,则放弃和清空该相干度数据对应的校
正后结果功率谱数据,并解锁所述结果功率谱数据的互斥锁,返回步骤S31。
[0014]本专利技术还提供一种计算机装置,包括存储器、MCU、存储在所述存储器中并可在所述处理器上运行的计算机程序,所述MCU执行所述计算机程序时实现如上任一项所述的大地电磁实时视电阻率计算方法的步骤。
[0015]本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述大地电磁实时视电阻率计算方法的步骤。
[0016]本专利技术提供的大地电磁实时视电阻率计算方法在嵌入式MCU中采用三重处理结构,分为中断处理函数、前处理线程、后处理线程,并使用滑动累加处理方式,将采集过程与处理分离。采集过程以DMA的获取方式读写数据,不占用MCU处理机时,MCU对于采集过程仅处理中断消息转发。并对接收采集数据内存区域使用内存池技术,降低数据区获取效率和增加数据区的连续性。MCU的绝大部分机时都将可以用于处理线程。又将处理算法分布在前处理线程和后处理线程。前处理线程用于快速响应采集数据是否满足条件,对于满足计算条件的数据进行累加。后处理线程用于计算最后的大地电本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大地电磁实时视电阻率计算方法,其特征在于,包括步骤:S1,以DMA的获取方式,获取原始时间序列数据,并存储到DMA缓存,在所述DMA缓存采集满时,记录该缓存为已填充区,并将已填充区的地址发动给前处理线程;S21,所述前处理线程根据所述已填充区的地址,获取所述原始时间序列数据,并对所述原始时间序列数据进行筛选,筛选符合仪器满幅值的数据;S22,所述前处理线程计算符合所述步骤S21的筛选结果的所述原始时间序列数据的相干度数据,判断该相干度数据是否符合最低相干度要求,若是,则进入步骤S23;S23,所述前处理线程锁定所述相干度数据符合最低相干度要求的合格数据对应的结果功率谱数据的互斥锁;S24,所述前处理线程累加所述相干度数据符合最低相干度要求的合格数据到结果功率谱数据,并更新所述结果功率谱数据的累加次数加1,解锁所述结果功率谱数据的互斥锁,并返回所述步骤S21;S31,所述后处理线程在所述累加次数达到预设处理次数时,锁定所述结果功率谱数据的互斥锁,并更新所述结果功率谱数据的处理次数加1;S32,所述后处理线程将所述结果功率谱数据与校正数据相乘得到校正后结果功率谱数据;S33,使用校正后结果功率谱数据计算相干度数据,并判断校正后结果功率谱数据计算的相干度数据是否大于最低相干度要求,若是,则进入步骤S34;S34,使用校正后结果功率谱数据,计算视阻抗系数、视电阻率、视电阻率相位数据,并解锁所述结果功率谱数据的互斥锁,并返回所述步骤S31。2.根据权利要求1所述的方法,其特征在于,所述步骤S1中包括:S11,响应采集启动信号,从内存池中获取2个新的数据区,设置到所述DMA缓存的上缓存和下缓存中,并启动采集DMA数据传输,并将采集到的原始时间序列数据存储至所述上缓存或者下缓存中;S12,在所述上缓存采集满时,触发DMA中断处理函数;其中,所述中断处理函数处理中,MCU从所述内存池中获取1个新的数据区,设置到所述DMA缓存的所述上缓存;S13,在所述下缓存采集满时,触发DMA中断处理函数;其中,所述中断处理函数处理中,MCU从所述内存池中获取1个新的数据区,设置到所述DMA缓存的所述下缓存;S14,将所述步骤S12和S13中所述新的数据区更新设置为对应的DMA缓存位置,将记录采集满的所述上缓存和所述下缓存的缓存地址并记录为为已填充区,并将已填充区的地址发动给前处理...

【专利技术属性】
技术研发人员:张道军巨德彬黄龙闫臣权
申请(专利权)人:湖南元石仪器有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1