Real-time apparent resistivity calculation method, device and storage medium for magnetotelluric sounding
By adopting triple processing structure and sliding accumulation method in embedded MCU, the real-time and efficiency problems of earth electromagnetic visibility resistivity calculation are solved, real-time data processing and memory optimization are realized on-site, and construction efficiency and data accuracy are improved.
Patent Information
- Application Number
- CN202310363615.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-07
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2043-04-07
AI Technical Summary
The existing earth electromagnetic visibility resistance calculation method cannot achieve real-time calculation, resulting in on-site construction personnel being unable to obtain visibility resistance data in time, affecting construction adjustments, and the existing solutions are inefficient or insufficient memory, so they cannot effectively process large amounts of data.
An embedded MCU with triple processing structure includes interrupt processing functions, preprocessing threads and postprocessing threads. Combined with DMA data acquisition and memory pooling technology, it separates the acquisition and processing process, and uses sliding accumulation method for data processing. The priority is interrupt processing functions > preprocessing threads > postprocessing threads.
Real-time calculation of visual resistivity data in embedded systems is realized, which improves the continuity and efficiency of data processing, reduces field construction time, avoids the problem of insufficient memory, and ensures the real-time and accuracy of data processing.
Smart Images

Figure CN116400425B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data processing in geological exploration, and in particular to a method for calculating real-time apparent resistivity of magnetotelluric sounding, a computer device, and a computer-readable storage medium. Background Art
[0002] In traditional solutions for calculating magnetotelluric apparent resistivity, there are usually two common practices.
[0003] The first solution is that the acquisition instrument first acquires and stores the original time series data. After the work is completed (usually after one day's work), the data is imported into a PC equipped with an X86 processor. Then, preprocessing software on the PC is used to calculate the magnetotelluric apparent resistivity data from the original time series data. The disadvantage of this solution is that on-site construction personnel cannot obtain the apparent resistivity data of the current acquisition point in real time, and cannot timely handle various on-site construction anomalies or make effective adjustments according to on-site interference anomalies.
[0004] The second solution is that the acquisition instrument first acquires a small segment of the original time series data, such as the original time series data with a sampling length of 3 * 4096. Then the instrument stops acquiring and enters the calculation stage, calling the apparent resistivity extraction algorithm to calculate the apparent resistivity. The acquisition instrument repeats this process several times, such as 8 times. Finally, a Robust estimation is performed on these 8 sets of data to obtain the resulting apparent resistivity data. This solution has higher efficiency and realizes the function of being able to see the apparent resistivity on-site. However, the disadvantage is that the acquisition and calculation are repeatedly switched, resulting in a relatively small proportion of the actual acquisition time in the total elapsed time of the system, wasting a lot of field construction time. And it is necessary to save the resulting apparent resistivity data for each time in the memory. In an embedded system, the memory capacity is usually limited and cannot save a large amount of data. The final result is that the amount of original data for forming the final resulting resistivity data is small and is easily affected by interference responses.
[0005] Therefore, it is necessary to provide a new method for calculating real-time apparent resistivity of magnetotelluric sounding. Summary of the Invention
[0006] The main objective of the present invention is to provide a new method for calculating real-time apparent resistivity of magnetotelluric sounding, a computer device, and a computer-readable storage medium to solve the above technical problems.
[0007] To achieve the above objective, a method for calculating real-time apparent resistivity of magnetotelluric sounding provided by the present invention includes the steps of:
[0008] S1, obtaining the original time series data through the DMA acquisition method by the MCU, and storing it in the DMA buffer. When the DMA buffer is full, record this buffer as the filled area, and send the address of the filled area to the preprocessing thread;
[0009] S21. The preprocessing thread obtains the original time series data according to the address of the filled area, and filters the original time series data to filter out the data that meets the full amplitude value of the instrument;
[0010] S22. The preprocessing thread calculates the coherence data of the original time series data that meets the filtering result of step S21, and determines whether the coherence data meets the minimum coherence requirement. If so, it proceeds to step S23;
[0011] S23. If so, the preprocessing thread locks the mutex of the result power spectrum data corresponding to the qualified data whose coherence data meets the minimum coherence requirement;
[0012] S24. The preprocessing thread accumulates the qualified data whose coherence data meets the minimum coherence requirement into the result power spectrum data, updates the accumulation count of the result power spectrum data by 1, unlocks the mutex of the result power spectrum data, and returns to step S21;
[0013] S31. When the accumulation count reaches the preset processing count, the postprocessing thread locks the mutex of the result power spectrum data and updates the processing count of the result power spectrum data by 1;
[0014] S32. The postprocessing thread multiplies the result power spectrum data by the calibration data to obtain the calibrated result power spectrum data;
[0015] S33. Calculate the coherence data using the calibrated result power spectrum data, and determine whether the coherence data calculated from the calibrated result power spectrum data is greater than the minimum coherence requirement. If so, proceed to step S34;
[0016] S34. Use the calibrated result power spectrum data to calculate the apparent impedance coefficient, apparent resistivity, and apparent resistivity phase data, unlock the mutex of the result power spectrum data, and return to step S31.
[0017] Further, step S1 includes:
[0018] S11. In response to the acquisition start signal, obtain 2 new data areas from the memory pool, set them in the upper cache and lower cache of the DMA cache, start the acquisition of DMA data transmission, and store the acquired original time series data in the upper cache or lower cache;
[0019] S12. When the upper cache is full of acquisitions, trigger the DMA interrupt handling function; among them, during the processing of the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it in the upper cache of the DMA cache;
[0020] S13. When the lower cache is full, trigger the DMA interrupt handling function. During the processing of the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it to the lower cache of the DMA cache.
[0021] S14. Update and set the new data area in steps S12 and S13 to the corresponding DMA cache positions, record the cache addresses of the upper cache and the lower cache that are full as the filled areas, and send the addresses of the filled areas to the pre-processing thread.
[0022] Further, it further includes step S15: During the processing of the DMA interrupt handling function, if the MCU fails to obtain a new data area from the memory pool, give up updating and setting the DMA cache and give up subsequent processing operations.
[0023] Further, step S21 includes:
[0024] S211. Traverse all the data of the original time series data, and count whether the number of values whose absolute value exceeds 0.99 times the full amplitude of the instrument accounts for more than 5% of the total data volume. If so, determine that the original time series data overflows, do not process this original time series data, and release the filled area corresponding to the original time series data back to the memory pool. If not, enter step S212.
[0025] S212. Traverse all the data of the original time series data, and count whether the number of values whose absolute value is less than 0.000001 times the full amplitude of the instrument accounts for more than 95% of the total number. If so, determine that the original time series data is zero, do not process this original time series data, and release the filled area corresponding to the original time series data back to the memory pool. If not, enter step S22.
[0026] Further, step S22 includes: Divide the data of each channel from the original time series data that meets the screening results of step S21, convert the time series data of each channel into frequency domain data using Fourier transform, calculate the power spectrum data using the frequency domain data, and calculate the coherence data of this data using the power spectrum data; and release the filled area corresponding to the original time series data that meets the screening results of step S21 back to the memory pool.
[0027] Further, after step S22, it further includes: When the coherence data does not meet the minimum coherence requirement, give up the original time series data corresponding to the coherence data, and release the filled area corresponding to the original time series data that meets the screening results of step S21 back to the memory pool; and return to step S21.
[0028] Further, after the step S33, if not, then discard and clear the corrected result power spectrum data corresponding to the coherence data, unlock the mutex of the result power spectrum data, and return to step S31.
[0029] The present invention also provides a computer device, including a memory, an MCU, and a computer program stored in the memory and operable on the MCU. When the MCU executes the computer program, the steps of the magnetotelluric real-time apparent resistivity calculation method described in any one of the above are implemented.
[0030] The present invention also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the magnetotelluric real-time apparent resistivity calculation method described in any one of the above are implemented.
[0031] The magnetotelluric real-time apparent resistivity calculation method provided by the present invention adopts a triple processing structure in an embedded MCU, which is divided into an interrupt processing function, a pre-processing thread, and a post-processing thread, and uses a sliding accumulation processing method to separate the acquisition process from the processing. The acquisition process reads and writes data in the DMA acquisition mode, without occupying the MCU processing time. The MCU only processes the interrupt message forwarding for the acquisition process. And the memory pool technology is used for the memory area receiving the acquisition data, reducing the data area acquisition efficiency and increasing the continuity of the data area. Most of the MCU time can be used for the processing thread. The processing algorithm is also distributed in the pre-processing thread and the post-processing thread. The pre-processing thread is used to quickly respond whether the acquired data meets the conditions, and accumulate the data that meets the calculation conditions. The post-processing thread is used to calculate the final magnetotelluric apparent resistivity data. In terms of priority, the interrupt processing function > the pre-processing thread > the post-processing thread, which provides the continuity of data processing for low-performance processors. Description of the Drawings
[0032] Figure 1 It is a schematic flowchart of the magnetotelluric real-time apparent resistivity calculation method in an embodiment of the present invention;
[0033] Figure 2 It is a schematic sub-flowchart of step S1 in an embodiment of the present invention;
[0034] Figure 3 It is a schematic hardware structure diagram of the computer electronic device in an embodiment of the present invention.
[0035] The implementation, functional features, and advantages of the object of the present invention will be further described with reference to the embodiments and the accompanying drawings. Detailed Embodiment
[0036] It should be understood that the specific embodiments described herein are merely for explaining the present invention and are not intended to limit the present invention.
[0037] In the following description, suffixes such as "module", "component", or "unit" used to represent elements are only for facilitating the description of the present invention and have no specific meaning in themselves. Therefore, "module", "component", or "unit" can be used interchangeably.
[0038] Please refer to Figure 1 , to achieve the above object, a magnetotelluric real-time apparent resistivity calculation method provided in an embodiment of the present invention includes the steps:
[0039] S1. Obtain the original time series data through the MCU (Microcontroller Unit) in the DMA (Direct Memory Access) acquisition mode, and store it in the DMA cache. When the DMA cache is full, record this cache as the filled area, and send the address of the filled area to the preprocessing thread.
[0040] S21. The preprocessing thread obtains the original time series data according to the address of the filled area, and filters the original time series data to filter out the data that meets the full amplitude value of the instrument.
[0041] S22. The preprocessing thread calculates the coherence data of the original time series data that meets the filtering result of step S21, and determines whether the coherence data meets the minimum coherence requirement. If so, enter step S23.
[0042] S23. If so, the preprocessing thread locks the mutex of the result power spectrum data corresponding to the qualified data whose coherence data meets the minimum coherence requirement.
[0043] S24. The preprocessing thread accumulates the qualified data whose coherence data meets the minimum coherence requirement into the result power spectrum data, updates the accumulation times of the result power spectrum data by 1, unlocks the mutex of the result power spectrum data, and returns to step S21.
[0044] S31. When the accumulation times reach the preset processing times, the postprocessing thread locks the mutex of the result power spectrum data and updates the processing times of the result power spectrum data by 1.
[0045] S32. The postprocessing thread multiplies the result power spectrum data by the correction data to obtain the corrected result power spectrum data.
[0046] S33. Calculate the coherence data using the corrected result power spectrum data, and determine whether the coherence data calculated from the corrected result power spectrum data is greater than the minimum coherence requirement. If so, proceed to step S34;
[0047] S34. Use the corrected result power spectrum data to calculate the apparent impedance coefficient, apparent resistivity, and apparent resistivity phase data, unlock the mutex of the result power spectrum data, and return to step S31.
[0048] Furthermore, please also combine Figure 2 In step S1, it includes:
[0049] S11. In response to the acquisition start signal, obtain 2 new data areas from the memory pool, set them in the upper cache and lower cache of the DMA buffer, start the acquisition of DMA data transmission, and store the acquired original time series data in the upper cache or lower cache;
[0050] S12. When the upper cache is full of acquisitions, trigger the DMA interrupt handling function; among them, during the processing of the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it in the upper cache of the DMA buffer;
[0051] S13. When the lower cache is full of acquisitions, trigger the DMA interrupt handling function; among them, during the processing of the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it in the lower cache of the DMA buffer;
[0052] S14. Update and set the new data areas in steps S12 and S13 to the corresponding DMA buffer positions, record the cache addresses of the upper cache and lower cache that are full of acquisitions and record them as the filled areas, and send the addresses of the filled areas to the pre-processing thread.
[0053] Specifically, the processing steps of the interrupt handling function include:
[0054] 1.1. The MCU uses DMA to obtain the original time series data and uses the required sequence length as the DMA length. DMA uses a dual-buffer mode and has an automatic upper and lower cache switching function.
[0055] When DMA acquisition starts, obtain 2 new data areas from the memory pool, set them in the upper and lower caches of the DMA buffer, and start the acquisition of DMA data transmission.
[0056] 1.2. When the DMA upper cache is full of acquisitions, trigger the DMA interrupt handling function. In the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it in the upper cache of the DMA buffer.
[0057] 1.3. When the lower buffer of the DMA buffer is full, the DMA interrupt handling function is triggered. In the interrupt handling function, the MCU obtains a new data area from the memory pool and sets it to the lower buffer of the DMA buffer.
[0058] 1.4. In the DMA interrupt handling function, if the MCU fails to obtain a new data area from the memory pool, it abandons updating the settings of the DMA buffer and subsequent processing operations.
[0059] In the DMA interrupt handling function, if the MCU successfully obtains a new data area from the memory pool, it obtains the cache address corresponding to the old buffer, which is called the filled area, updates and sets the corresponding DMA buffer position. And it sends the filled area address to the pre-processing thread.
[0060] Further, it also includes step S15: In the process of handling the DMA interrupt handling function, if the MCU fails to obtain a new data area from the memory pool, it abandons updating the settings of the DMA buffer and subsequent processing operations.
[0061] Further, the step S21 includes:
[0062] S211. Traverse all the data of the original time series data, and count whether the number of values whose absolute value exceeds 0.99 times the full amplitude of the instrument accounts for more than 5% of the total data volume; if so, it is determined that the original time series data overflows, does not process this original time series data, and releases the filled area corresponding to the original time series data back to the memory pool; if not, it proceeds to step S212;
[0063] S212. Traverse all the data of the original time series data, and count whether the number of values whose absolute value is less than 0.000001 times the full amplitude of the instrument accounts for more than 95% of the total number; if so, it is determined that the original time series data is zero, does not process this original time series data, and releases the filled area corresponding to the original time series data back to the memory pool; if not, it proceeds to step S22.
[0064] Further, the step 22 includes: dividing the data of each channel from the original time series data that meets the screening results of the step S21, converting the time series data of each channel into frequency domain data using Fourier transform, calculating the power spectrum data using the frequency domain data, and calculating the coherence data of this data using the power spectrum data; and releasing the filled area corresponding to the original time series data that meets the screening results of the step S21 back to the memory pool.
[0065] Further, after the step 22, the following steps are also included: when the coherence data does not meet the minimum coherence requirement, the original time series data corresponding to the coherence data is discarded, and the filled area corresponding to the original time series data that meets the screening result of the step S21 is released and returned to the memory pool; and return to step S21.
[0066] Specifically, the algorithm function logic of the preprocessing thread is as follows:
[0067] 2.1 The preprocessing thread waits for new messages from the inter-thread messages.
[0068] 2.2 The preprocessing thread obtains the address of the filled area from the inter-thread messages, and the area pointed to by this address is the original time series data.
[0069] 2.3 Traverse all the data of this original time series data, and count whether the number of values whose absolute value exceeds 0.99 times the full amplitude of the instrument accounts for more than 5% of the total data volume. If the ratio exceeds 5%, it is determined that the original time series data of this time overflows, the original time series data of this time is not processed, the filled area is released and returned to the memory pool, and return to 2.1. If there is no overflow, proceed to the next data processing.
[0070] 2.4 Traverse all the data of this original time series data, and count whether the number of values whose absolute value is less than 0.000001 times the full amplitude of the instrument accounts for more than 95% of the total number. If the ratio exceeds 95%, it is determined that the original time series data of this time is zero, the original time series data of this time is not processed, the filled area is released and returned to the memory pool, and return to 2.1. If it is not zero, proceed to the next data processing.
[0071] 2.5 Divide the data of each channel from the original time series data, and use Fourier transform to convert the time series data of each channel into frequency domain data. And release the filled area and return to the memory pool.
[0072] 2.6 Calculate the power spectrum data using the frequency domain data.
[0073] 2.7 Calculate the coherence data of this data using the power spectrum data.
[0074] 2.8 Determine whether the coherence data of this time is greater than the minimum correlation requirement set by the system. If it is less than the minimum coherence requirement, discard this data and return to waiting for messages at the beginning. If it is greater than the minimum coherence requirement, proceed to the next data processing.
[0075] 2.9 Lock the mutex of the result power spectrum data and wait for the locking to complete.
[0076] 2.10 Accumulate the power spectrum data corresponding to the frequency points where the coherence data of this time is greater than the minimum coherence requirement to the result power spectrum data.
[0077] 2.11 Update the accumulation count of the result power spectrum data by increasing it by 1.
[0078] 2.12 Unlock the mutex of the result power spectrum data.
[0079] 2.13 Return to the start of the thread and wait for new messages.
[0080] Furthermore, after the step S33, it also includes that if not, then discard and clear the corrected result power spectrum data corresponding to the coherence data, unlock the mutex of the result power spectrum data, and return to step S31.
[0081] Specifically, the algorithm function logic of the post-processing thread is as follows:
[0082] 3.1. The thread starts and waits until it checks that the accumulation count of the result power spectrum data is greater than the processing count of the result power spectrum data.
[0083] 3.2. Lock the mutex of the result power spectrum data. After waiting for the locking to complete, update the processing count of the result power spectrum data by increasing it by 1.
[0084] 3.3. Multiply the result power spectrum data by the correction data to obtain the corrected result power spectrum data.
[0085] 3.4. Calculate the coherence data using the corrected result power spectrum data.
[0086] 3.5. Determine whether the coherence data calculated from the corrected result power spectrum data is greater than the minimum coherence requirement. If it is less, then discard the data of this time, clear the corrected result power spectrum data corresponding to the frequency points where the coherence is less than the minimum coherence requirement, unlock the mutex of the result power spectrum data, and return to step 3.1. If it is greater than the minimum coherence requirement, then proceed to the next step.
[0087] 3.6. Calculate data such as the apparent impedance coefficient, apparent resistivity, and apparent resistivity phase using the corrected result power spectrum data.
[0088] 3.7. Unlock the mutex of the result power spectrum data and return to step 3.1.
[0089] Please also combine Figure 3 , the present invention also provides a computer device 10, including a memory 51, an MCU 52, and a computer program 53 stored in the memory 51 and executable on the MCU 52. When the MCU 52 executes the computer program 53, it implements the steps of the magnetotelluric real-time apparent resistivity calculation method described in any one of the above.
[0090] The present invention also provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of the magnetotelluric real-time apparent resistivity calculation method described in any one of the above are implemented.
[0091] The magnetotelluric real-time apparent resistivity calculation method provided by the present invention adopts a triple processing structure in an embedded MCU, which is divided into an interrupt processing function, a pre-processing thread, and a post-processing thread, and uses a sliding accumulation processing method to separate the acquisition process from the processing. The acquisition process reads and writes data in the form of DMA acquisition, without occupying the processing time of the MCU. The MCU only processes the forwarding of interrupt messages for the acquisition process. And the memory pool technology is used for the memory area receiving the acquired data to reduce the data area acquisition efficiency and increase the continuity of the data area. Most of the processing time of the MCU can be used for the processing thread. The processing algorithm is also distributed in the pre-processing thread and the post-processing thread. The pre-processing thread is used to quickly respond to whether the acquired data meets the conditions and accumulate the data that meets the calculation conditions. The post-processing thread is used to calculate the final magnetotelluric apparent resistivity data. In terms of priority, the interrupt processing function > the pre-processing thread > the post-processing thread, which provides the continuity of data processing for low-performance processors.
[0092] That is, in the specific embodiments of the present invention, when the computer program of the computer-readable storage medium is executed by a processor, the steps of the above-mentioned magnetotelluric real-time apparent resistivity calculation method are implemented, and the corresponding technical effects can also be achieved.
[0093] Exemplarily, the computer program of the computer-readable storage medium includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc.
[0094] In the description of this specification, the descriptions referring to terms such as "one embodiment", "another embodiment", "other embodiments", or "the first embodiment to the Xth embodiment" mean that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, method steps, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.
[0095] The serial numbers of the embodiments of the present invention above are only for description and do not represent the advantages or disadvantages of the embodiments.
[0096] The above are only the preferred embodiments of the present invention, and do not limit the patent scope of the present invention thereby. Any equivalent structure or equivalent process transformation made by using the content of the specification and drawings of the present invention, or directly or indirectly applied in other related technical fields, shall be equally included in the patent protection scope of the present invention.
Claims
1. A real-time apparent resistivity calculation method for magnetotelluric sounding, characterized in that Including the steps: S1. Obtain the original time series data in the acquisition mode of DMA and store it in the DMA cache. When the DMA cache is full, record this cache as the filled area and send the address of the filled area to the pre-processing thread; S21. The pre-processing thread obtains the original time series data according to the address of the filled area and filters the original time series data to filter out the data that meets the full amplitude value of the instrument; S22. The pre-processing thread calculates the coherence data of the original time series data that meets the filtering result of step S21, and judges whether the coherence data meets the minimum coherence requirement. If so, go to step S23; S23. The pre-processing thread locks the mutex of the result power spectrum data corresponding to the qualified data whose coherence data meets the minimum coherence requirement; S24. The pre-processing thread accumulates the qualified data whose coherence data meets the minimum coherence requirement into the result power spectrum data, updates the accumulation times of the result power spectrum data by 1, unlocks the mutex of the result power spectrum data, and returns to step S21; S31. When the accumulation times reaches the preset processing times, the post-processing thread locks the mutex of the result power spectrum data and updates the processing times of the result power spectrum data by 1; S32. The post-processing thread multiplies the result power spectrum data by the calibration data to obtain the calibrated result power spectrum data; S33. Calculate the coherence data using the calibrated result power spectrum data, and judge whether the coherence data calculated by the calibrated result power spectrum data is greater than the minimum coherence requirement. If so, go to step S34; S34. Calculate the apparent impedance coefficient, apparent resistivity, and apparent resistivity phase data using the calibrated result power spectrum data, unlock the mutex of the result power spectrum data, and return to step S31.
2. The method according to claim 1, wherein In step S1, it includes: S11. In response to the acquisition start signal, obtain 2 new data areas from the memory pool, set them in the upper cache and the lower cache of the DMA cache, start the acquisition of DMA data transmission, and store the acquired original time series data in the upper cache or the lower cache; S12. When the upper cache is full, trigger the DMA interrupt handling function; among them, during the processing of the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it in the upper cache of the DMA cache; S13. When the lower cache is full, trigger the DMA interrupt handling function; among them, during the processing of the interrupt handling function, the MCU obtains 1 new data area from the memory pool and sets it in the lower cache of the DMA cache; S14. Update and set the new data areas in steps S12 and S13 to the corresponding DMA cache positions, record the cache addresses of the upper cache and the lower cache that are full as the filled area, and send the address of the filled area to the pre-processing thread.
3. The method according to claim 2, wherein It further includes step S15: During the processing of the DMA interrupt handling function, if the MCU fails to obtain a new data area from the memory pool, it abandons updating the DMA cache settings and subsequent processing operations.
4. The method according to claim 2, wherein The said step S21 includes: S211, traverse all the data of the original time series data, and count whether the number of values with absolute values exceeding 0.99 times the full amplitude of the instrument accounts for more than 5% of the total data volume; if so, it is determined that the original time series data overflows, and this time of original time series data is not processed, and the filled area corresponding to the original time series data is released and returned to the memory pool; if not, it proceeds to step S212; S212, traverse all the data of the original time series data, and count whether the number of values with absolute values less than 0.000001 times the full amplitude of the instrument accounts for more than 95% of the total number; if so, it is determined that the original time series data is zero, and this time of original time series data is not processed, and the filled area corresponding to the original time series data is released and returned to the memory pool; if not, it proceeds to step S22.
5. The method according to claim 4, characterized in that, The said step S22 includes: dividing the data of each channel from the original time series data that meets the screening result of the said step S21, converting the time series data into frequency domain data for each channel's data using Fourier transform, calculating power spectrum data using the frequency domain data, and calculating the coherence data of this time of data using the power spectrum data; and releasing the filled area corresponding to the original time series data that meets the screening result of the said step S21 and returning it to the memory pool.
6. The method according to claim 4, wherein After the said step S22, it further includes: when the coherence data does not meet the minimum coherence requirement, the original time series data corresponding to the coherence data is abandoned, and the filled area corresponding to the original time series data that meets the screening result of the said step S21 is released and returned to the memory pool; and it returns to step S21.
7. The method according to claim 1, wherein After the said step S33, it further includes, if not, abandoning and clearing the corrected result power spectrum data corresponding to the coherence data, unlocking the mutex of the result power spectrum data, and returning to step S31.
8. A computer device, comprising a memory, an MCU, and a computer program stored in the memory and executable on the MCU, characterized in that, When the MCU executes the computer program, it implements the steps of the magnetotelluric real-time apparent resistivity calculation method according to any one of claims 1 to 7.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the magnetotelluric real-time apparent resistivity calculation method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Magnetotelluric sounding method power spectrum intelligent selection method based on deep learning classification
CN115166839A
AU5834199A