Radar-based data decoding method and device, storage medium and product
By adopting the parallel strategy of multi-core CPUs in weather radars to compress and decompress radar-based data, and using container object mode to convert data, the problem of low data decoding efficiency in front-end traditional weather radars is solved, and data processing efficiency is significantly improved.
Patent Information
- Application Number
- CN202510149470.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2025-06-03
AI Technical Summary
The front-end data decoding process of traditional weather radar is inefficient, which affects the processing timeliness of radar products.
By using the parallel strategy of multi-core CPUs, radar-based data is compressed and decompressed, the decompressed data is converted into floating-point values using container object mode, and each radial data is processed in parallel by multithreading.
It greatly improves the compression and decompression efficiency of radar-based data, reduces the conversion process in subsequent data processing, and accelerates the front-end processing of radar data.
Smart Images

Figure CN120090642A_ABST
Abstract
Description
[0001] This invention is a divisional application of a method, device, storage medium and product for radar-based data compression and decoding. The filing date of the parent case is August 28, 2024, and the application number is 2024111909153. Technical Field
[0002] This invention belongs to the technical field of data processing, and particularly relates to a parallel dual-polarization weather radar-based data decoding method, device, storage medium and product. Background Art
[0003] Weather radar-based data is the observation data recorded by a weather radar in a complete volume scan. Each base data of a traditional Doppler weather radar is about 10 MByte. With the introduction of dual-polarization technology and the improvement of resolution, the base data of a dual-polarization Doppler weather radar can reach 120 MByte or even higher. It takes about 5 - 6 minutes for an ordinary mechanically scanned Doppler weather radar to complete a volume scan, and only 1 minute for a one-dimensional phased array Doppler weather radar to complete the scan. A weather radar-based data needs to go through a series of processes to generate various meteorological products.
[0004] When processing multi-radar-based data, steps such as compressing, transmitting, and decompressing the base data are required. Currently, weather radars generally use a single Bzip2 algorithm (data compression algorithm). Based on an AMD Ryzen 9 7900X CPU, it takes 1 - 2 seconds to decompress and restore a compressed 28 MB base data to 120 MB, and the compression takes longer. At the same time, the observed values of the radar-based data are also lossily encoded, with one data saved per Byte. In actual use, it is usually necessary to decode it into floating-point numbers for calculation. The format of the radar-based data is mostly stored in a radial flow manner, and the usual flow decoding belongs to serial processing. Decoding the base data of a CINRAD-SA model (where SA represents the S-band A model radar) usually also takes between 1 - 2 seconds, and the conversion of phased array radar-based data takes even longer. The compression efficiency and decoding efficiency at the front end have a greater impact on the processing efficiency of radar products. Summary of the Invention
[0005] The purpose of this invention is to provide a radar-based data decoding method, device, storage medium and product to solve the problem of low efficiency in the front-end data decoding process of traditional weather radars.
[0006] This invention solves the above technical problems through the following technical solutions:
[0007] A radar-based data decoding method includes:
[0008] Receive the radar base data compression result; wherein, the radar base data compression result includes a data description header and each compressed data block;
[0009] Decompress the radar base data compression result to obtain decompressed data that is consistent with the original radar base data in binary encoding;
[0010] Construct a container object and pass the decompressed data into the container object;
[0011] Use the container object to read the file header from the decompressed data to obtain basic information; wherein, the basic information includes the number of plane scans, the number of radial data included in each plane scan, the observed elements, the number of radial sampling points for each observed element, as well as the radar station information and the electromagnetic parameters during observation;
[0012] Construct a plane scan list and a radial data list according to the basic information;
[0013] Construct a decoded data storage space for the plane scan list and the radial data list in the container object, and record the basic information and each plane scan information at the corresponding positions in the dictionary spaces of the base data information and the plane information in the container object;
[0014] Scan the radial data area of the decompressed storage space, determine the starting address of each radial data according to the size of each radial data, and then obtain the starting address of each radial data in the decompressed storage space, and construct a starting address list as an index;
[0015] Based on the starting address list and the index, use multi-thread parallel processing for each radial data, convert each sampling point of each observed element in the radial direction into a floating-point value, and store the converted floating-point value at the storage position corresponding to the corresponding plane scan, corresponding radial, corresponding element, and corresponding sampling point in the decoded data storage space of the container object.
[0016] Further, the decompression of the radar base data compression result specifically includes:
[0017] Parse the radar base data compression result to obtain a data description header;
[0018] Determine the size of the original radar base data according to the number of compressed data blocks and the size of the original data blocks in the data description header;
[0019] Determine the decompressed storage space according to the size of the original radar base data;
[0020] Construct a source address list in the compressed data area according to the size of each compressed data block in the data description header; construct a target address list in the decompressed storage space according to the size of each original data block in the data description header;
[0021] Based on the compression method in the data description header, use multiple threads to simultaneously decompress all compressed data blocks, decompress the compressed data blocks from the source address list to the target address list, and obtain the decompressed data blocks;
[0022] According to the decompressed data blocks, generate decompressed data in the decompression storage space that is consistent with the original radar base data in binary encoding.
[0023] Based on the same concept, the present invention also provides an electronic device, including a memory, a processor, and a computer program / instructions stored on the memory, and the processor executes the computer program / instructions to implement the radar base data decoding method as described above.
[0024] Based on the same concept, the present invention also provides a computer-readable storage medium, on which a computer program / instructions are stored, and when the computer program / instructions are executed by a processor, the radar base data decoding method as described above is implemented.
[0025] Based on the same concept, the present invention also provides a computer program product, including a computer program / instructions, and when the computer program / instructions are executed by a processor, the radar base data decoding method as described above is implemented.
[0026] Advantageous Effects
[0027] Compared with the prior art, the advantages of the present invention are as follows:
[0028] The present invention utilizes the multi-core performance of the CPU and uses a parallel strategy to accelerate the compression and decompression of radar base data, greatly improving the compression and decompression efficiency of radar base data; the present invention also parses the decompressed data from a binary data stream into a container object mode of floating-point numerical values suitable for calculation, reducing the conversion process in the subsequent radar data processing, and greatly accelerating the front-end processing of radar data. Description of the Drawings
[0029] In order to more clearly illustrate the technical solutions of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only one embodiment of the present invention, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts.
[0030] Figure 1 is a flowchart of the radar base data compression method in an embodiment of the present invention;
[0031] Figure 2 is a schematic diagram of the data size during the compression process in an embodiment of the present invention;
[0032] Figure 3It is a flowchart of the radar-based data decoding method in an embodiment of the present invention;
[0033] Figure 4 It is a schematic diagram of the data size during the decompression process in an embodiment of the present invention. Specific embodiments
[0034] The following combines the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts belong to the scope of protection of the present invention.
[0035] The following uses specific embodiments to elaborate on the technical solutions of the present application in detail. These several specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0036] Embodiment 1
[0037] As Figure 1 and Figure 2 shown, a radar-based data compression method provided by an embodiment of the present invention includes the following steps:
[0038] Step A1: Obtain the original radar-based data in binary encoding.
[0039] Generate a continuous binary-encoded original radar-based data through a volume scan (i.e., volume scan) observation of a dual-polarization weather radar. The original radar-based data includes a base data file header describing the basic information of the base data and all radial data encoding the observed values as single-byte integer values; the base data file header includes the number of plane scans corresponding to the radar-based data, the number of radial data included in each plane scan, the observed elements, the radial sampling points of each observed element, as well as the station information of the radar and the electromagnetic parameters during the observation.
[0040] Step A2: The compressor divides the storage area of the original radar-based data according to the number of CPU threads to obtain the starting addresses of each data block, that is, each original data block logically.
[0041] The number of original data blocks is less than the number of CPU threads. Exemplarily, if the number of CPU threads is 24, then the number N of original data blocks is less than 24. For example, the number N of original data blocks is 20.
[0042] Step A3: Determine the compression cache area according to the size of the original radar-based data, and set the offset position in the compression cache area for the compression data block corresponding to each original data block according to the size of each original data block.
[0043] Apply for a cache area with the same size as the original radar base data as the compression cache area according to the quantity and size of the original data blocks obtained in step A2, and locate the output offset position for each compressed data block according to the size of the original data block, so that when the original data block is compressed, the obtained compressed data stream can be directly written into the corresponding position of the compression cache area without overflow errors.
[0044] Exemplarily, as Figure 2 shown, assume that the size of the original radar base data is 2566 byte. The original radar base data is divided into 4 original data blocks. Then the sizes of the 4 original data blocks (i.e., uncompressed blocks) are 640 byte, 640 byte, 640 byte, and 646 byte respectively. The number of blocks in the compression cache area is the same as the number of original data blocks. The offset position of each compressed data block is the sum of the offset positions of the previous original data blocks. That is, the number of blocks in the compression cache area is 4, and each block corresponds to the size of the 4 original data blocks. The 4 offset positions are offset by 0, 640, 1280, and 1920 from the initial address of the compression cache area respectively. That is, the available space sizes for their output are 640 byte, 640 byte, 640 byte, and 646 byte respectively, ensuring no overflow when compression fails.
[0045] Step A4: The compressor uses multiple threads to simultaneously perform data compression on all original data blocks, and writes the obtained compressed data blocks into the corresponding positions of the compression cache area respectively.
[0046] Exemplarily, assume that the number of original data blocks is 4. Then the compressor uses 4 threads to simultaneously perform data compression on the 4 original data blocks. Each thread performs data compression on one original data block. Using thread parallelism to compress data blocks greatly improves the compression efficiency of the radar base data. The 4 compressed data blocks obtained by data compression are respectively stored in the corresponding positions of the compression cache area. Exemplarily, for 4 original data blocks with sizes of 640 byte, 640 byte, 640 byte, and 646 byte, the sizes of the 4 compressed data blocks obtained by compression are 64 byte, 100 byte, 124 byte, and 146 byte respectively. These 4 compressed data blocks are respectively located in the corresponding positions of the compression cache area. The space in each block of the compression cache area that is larger than the size of the compressed data block is the free space.
[0047] In a specific embodiment of the present invention, each thread uses the bzip2 or gzip or 7zip algorithm to perform data compression on the original data block to obtain the corresponding compressed data block.
[0048] Step A5: Determine the compressed storage space according to the number and size of the compressed data blocks and the size of the data description header, write the data description header and all the compressed data blocks into the compressed storage space in sequence, and then obtain the combined radar base data compression result.
[0049] Apply to the memory again for a continuous storage space according to the number and size of the compressed data blocks and the size of the data description header, and the size of the compressed storage space can be determined. The size of the compressed storage space is equal to the sum of the sizes of the compressed data blocks and the size of the data description header. The data description header includes information such as the compressed data identifier, the number of compressed data blocks, the compression method, the sizes of the compressed data blocks, and the sizes of the original data blocks.
[0050] Exemplarily, if the sizes of the 4 compressed data blocks obtained by compression are 64 byte, 100 byte, 124 byte, and 146 byte respectively, then the size of the compressed storage space is equal to the sum of 434 byte and the size of the data description header.
[0051] In the specific embodiment of the present invention, the calculation formula for the size of the data description header is:
[0052] S d =A 1 +A 2 +A 3 +A 4 +A 5 ×n;
[0053] Wherein, S d represents the size of the data description header, A 1 represents the number of bytes occupied by the compressed data identifier, A 2 represents the number of bytes occupied by the version number, A 3 represents the number of bytes occupied by the number of compressed data blocks, A 4 represents the number of bytes occupied by the compression method, A 5 represents the number of bytes occupied by the size of an original data block and its corresponding compressed data block, and n represents the number of compressed data blocks.
[0054] In this embodiment, the compressed data identifier is a string, with a total of 4 bytes, fixed as "PZCO", the number of bytes occupied by the version number is 4, the number of bytes occupied by the number of compressed data blocks is 4, the number of bytes occupied by the compression method is 8, and the number of bytes occupied by the size of an original data block and its corresponding compressed data block is 16 (i.e., 8 + 8), then S d =20 + 16×n.
[0055] First write the data description header into the compressed storage space, and then copy each compressed data block into the compressed storage space in sequence, and release the compressed cache area.
[0056] Embodiment 2
[0057] As Figure 3 shown, a radar-based data decoding method provided by the present invention includes:
[0058] Step B1: Receive the radar-based data compression result obtained by using the radar-based data compression method described in Embodiment 1.
[0059] Data compression is performed on the original radar-based data, and the radar-based data compression result is obtained. The radar-based data compression result is transmitted to the processing module through the network. In a specific embodiment of the present invention, the radar-based data compression result is obtained by using the radar-based data compression method of Embodiment 1 of the present invention, and then the radar-based data compression result stored in the compressed storage space is transmitted to the processing module in the form of a network data stream or saved as a file and shared. Among them, the radar-based data compression result includes a data description header and each compressed data block.
[0060] Step B2: Decompress the radar-based data compression result to obtain decompressed data that is consistent with the original radar-based data in binary encoding.
[0061] The processing module loads the radar-based data compression result into the memory and uses the decompressor to read the data description header and the size of each original data block. In a specific embodiment of the present invention, as Figure 4 shown, decompressing the radar-based data compression result specifically includes:
[0062] Step B2.1: Parse the radar-based data compression result to obtain a data description header.
[0063] Step B2.2: Determine the size of the original radar-based data according to the number of compressed data blocks and the size of the original data blocks in the data description header.
[0064] Step B2.3: Determine the decompression storage space according to the size of the original radar-based data.
[0065] As Figure 4 shown, the sum of the sizes of 4 compressed data blocks is 434 byte, the sizes of the 4 compressed data blocks are 64 byte, 100 byte, 124 byte, and 146 byte respectively, the sizes of the 4 original data blocks are 640 byte, 640 byte, 640 byte, and 646 byte respectively. Therefore, the size of the original radar-based data is 2566 byte, that is, the size of the decompression storage space is 2566 byte.
[0066] Step B2.4: Construct a source address list in the compressed data area according to the size of each compressed data block in the data description header; construct a target address list in the decompression storage space according to the size of each original data block in the data description header.
[0067] The source address list includes the starting addresses of each compressed data block, and the target address list includes the write addresses of the data streams (i.e., the original data blocks) obtained by decompressing the data of each compressed data block. The starting address of each compressed data block can be determined according to the size of each compressed data block, and the write address of the data stream obtained by decompression can be determined according to the size of the original data block corresponding to each compressed data block.
[0068] Step B2.5: Based on the compression method in the data description header, use multiple threads to simultaneously decompress all compressed data blocks, decompress the compressed data blocks from the source address list to the target address list, and obtain the decompressed data blocks.
[0069] Based on the compression method in the data description header and the starting addresses of the compressed data blocks in the source address list, the decompressor points the data input of each decompression thread to the starting address of the corresponding compressed data block, uses multiple threads to simultaneously decompress all compressed data blocks, and outputs the decompressed data stream to the corresponding target address.
[0070] Step B2.6: According to the decompressed data blocks, generate decompressed data consistent with the binary-encoded original radar base data in the decompression storage space.
[0071] Step B3: Construct a container object and pass the decompressed data in the decompression storage space into the container object.
[0072] Step B4: Use the container object to read the file header from the decompressed data to obtain basic information.
[0073] The basic information includes the site information of the radar, the electromagnetic parameter information during observation, the number of plane scans, the number of radial data included in each plane scan, the observation elements, and the radial sampling points of each observation element. Among them, the observation elements include multiple dual-polarization radar observation elements such as reflectivity intensity, radial velocity, spectral width, correlation coefficient, differential reflectivity, and differential phase shift coefficient.
[0074] Step B5: Construct a plane scan list and a radial data list according to the basic information.
[0075] Construct a corresponding plane scan list according to the number of plane scans, loop through the plane scan list, and construct a radial data list for each plane scan according to the number of radials in each plane scan list.
[0076] Step B6: In the container object, construct a decoded data storage space for the plane scan list and the radial data list, and record the basic information and each plane scan information at the corresponding positions in the dictionary spaces of the base data information and the plane information in the container object.
[0077] The container object stores the planar scan information in the basic information into the planar scan attribute, and according to the number of sampling points of each observable in each planar scan information, applies for the decoding data storage space of the corresponding observable for each radial to which each planar scan belongs. That is, the storage space size of each radial data is equal to the sum of the sizes of all observable elements, and the storage space size of each observable element is equal to the radial sampling points of that observable element × the floating-point number size.
[0078] Step B7: Scan the radial data area of the decompression storage space, determine the starting address of the radial data according to the size of each radial data, and then obtain the starting address of each radial data in the decompression storage space, and construct a starting address list as an index.
[0079] Scan the radial data part of the original radar base data in the decompression storage space, determine the starting address of each radial data according to the size of each radial data, and then construct a starting address list of each radial data included in the planar scan for each planar scan and use it as an index.
[0080] Step B8: Based on the starting address list and the index, use multi-threaded parallel processing for each radial data, convert each sampling point of each observable element on the radial into a floating-point value, and store the converted floating-point value into the storage location corresponding to the planar scan, corresponding radial, corresponding element, and corresponding sampling point in the decoding data storage space of the container object.
[0081] In the container object, each sampling point of the radar is located by four parameters: planar scan, radial, element, and sampling point. In the container object, for each planar scan, use multi-threaded parallel processing for each radial data to which it belongs. Each radial data is processed by one thread, that is, apply for a certain number of threads N according to the thread ability of the CPU, process N radials simultaneously at a time until all radials are processed, and then process the next planar scan until all planar scans are processed. This process converts each sampling point of each observable element on the radial from the encoded BYTE integer value into a floating-point value and stores it in the floating-point data storage corresponding to the planar scan, corresponding radial, corresponding element, and corresponding sampling point position of the container object, and finally obtains a weather radar base data container object stored as floating-point numbers, which is convenient for subsequent data processing.
[0082] The processing process of the container object includes data container construction, parameter conversion, and data decoding. Data container construction constructs a complete list of plane scans and a list of radial data from the basic data file header by obtaining the number of plane scans, the number of radials, the observed elements, and the number of sampling points for each observed element, and applies for corresponding floating-point space for each observed element of each radial data. Parameter conversion converts the parameters of the volume scan and the parameters of each plane scan into a dictionary of their respective objects, which consists of parameter names and parameter values; finally, the radial data is converted from the encoded data into decoded floating-point observed values.
[0083] Structurally, the container object represents the decompressed data as a set of radial scan objects in units of multiple radar radial data, and is divided into plane scan levels at different elevation angles according to the scan logic. Each sampling point of each observed quantity of the radial data is a floating-point value.
[0084] The container object is designed as an object-oriented encapsulation container for a volume scan record. Its data levels include: volume scan, plane scan, and radial unit. The volume scan contains the basic information of the volume scan, such as site parameters, performance parameters, and a list of plane scans; each plane scan is the circumferential scan data at an elevation angle, recording the observed data at that elevation angle and a list of radial units; each radial is the entity storage area of the observed data, including azimuth and elevation angles, and multiple floating-point arrays expressed in dictionary form, which are used to store the sampling data of a single radar radial detection. Each observed element applies for a corresponding number of floating-point arrays according to its number of sampling points to store the data of each sampling point.
[0085] The container object embodies the complete logical structure of the radar basic data. The container object can construct a data storage space after decoding according to the basic information such as the number of plane scans, the number of radials, and the size of the observed elements in the radar basic data, and realizes the access and operation of the data through the interface. The smallest unit of the data structure in the container object is the radial. Each radial unit contains several floating-point arrays, which are used to store the data values of each observed element on a scan line. For example, if it contains reflectivity, radial velocity, and spectral width, then this radial unit contains three floating-point arrays for the three observed quantities of reflectivity, radial velocity, and spectral width. A plane scan object is recorded by a list of radial units at the same elevation angle. The plane scan object also contains the parameters of each plane scan object recorded in dictionary form. Then, a complete radar basic data is composed of a list of plane scan objects at different elevation angles, and also contains the parameters of the radar basic data recorded in dictionary form. The present invention converts the encoded integer data into decoded floating-point observed values through the container object, reduces the data decoding process in subsequent processing, accelerates the data processing, and provides an object-oriented basic data access interface for the data calculation module.
[0086] To illustrate the effectiveness of the present invention, compression and decompression tests with different numbers of data blocks were conducted on multiple original radar-based data. The size of the original radar-based data is about 120 megabytes, and after compression, it is about 22 - 24 megabytes. The results on an AMD 7900x CPU are shown in Table 1, with the time unit in milliseconds. As can be seen from Table 1, when the number of blocks is more than 8, the decompression time of the data has reached the ideal performance to support interactive operations. Compared with the traditional single-block compression method of Bzip2, the present invention can greatly save time.
[0087] Table 1 Compression and decompression results for different numbers of data blocks
[0088]
[0089] The time taken to decode and convert radar-based data using different methods was tested, and the results are shown in Table 2, with the time unit in milliseconds. As can be seen from Table 2, compared with the traditional non-parallel method, the present invention adopts the optimal radial parallel decompression and conversion in the parallel scheme, greatly improving the efficiency of decompressing data and reducing the decompression time.
[0090] Table 2 Time results of data decoding and conversion using different methods
[0091]
[0092] The present invention adopts parallel processing and a reasonable processing strategy design, giving full play to the performance of the supporting hardware, enabling the compression, decompression, and decoding of radar-based data to achieve 5 - 8 times the performance of the non-parallel optimized processing in a hardware environment with 8 cores and 16 threads or more, greatly saving the processing time of data storage, decompression, and decoding at the front end.
[0093] Example 3
[0094] An embodiment of the present invention also provides an electronic device, which includes: a memory, a processor, and a computer program / instructions stored on the memory. The processor executes the computer program / instructions to implement the radar-based data compression method or the radar-based data decoding method in the embodiments of the present application.
[0095] Although not shown, the electronic device includes a processor that can perform various appropriate operations and processes according to programs and / or data stored in a read-only memory (ROM) or programs and / or data loaded from a storage section into a random access memory (RAM). The processor can be a multi-core processor or can include multiple processors. In some embodiments, the processor can include a general-purpose main processor and one or more special co-processors, such as a central processing unit, a graphics processing unit (GPU), a neural network processing unit (NPU), a digital signal processing unit (DSP), and so on. In the RAM, various programs and data required for device operation are also stored. The processor, ROM, and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.
[0096] The above-mentioned processor and memory are jointly used to execute the programs / instructions stored in the memory, and when the programs / instructions are executed by a computer, they can implement the methods, steps, or functions described in the above embodiments.
[0097] Although not shown, an embodiment of the present invention also provides a computer-readable storage medium, on which computer programs / instructions are stored, and when the computer programs / instructions are executed by a processor, they implement the radar-based data compression method or the radar-based data decoding method in the embodiments of the present application.
[0098] In the embodiments of the present invention, the storage medium includes permanent and non-permanent, removable and non-removable articles that can store information by any method or technology. Examples of storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible by a computing device.
[0099] A readable storage medium includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media do not include transitory computer-readable media, such as modulated data signals and carrier waves.
[0100] Although not shown, an embodiment of the present invention also provides a computer program product, including: a computer program / instructions, which when executed by a processor, implement the radar-based data compression method or the radar-based data decoding method in the embodiments of the present application.
[0101] The above-disclosed are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present invention can easily think of changes or variations, which should all be covered within the protection scope of the present invention.
Claims
1. A radar-based data decoding method, characterized in that: The decoding method comprises: Receiving a radar-based data compression result; wherein the radar-based data compression result includes a data description header and each compressed data block; Decompressing the radar-based data compression result to obtain decompressed data consistent with the binary-coded original radar-based data; Constructing a container object, and transferring the decompressed data into the container object; Using the container object to read the file header from the decompressed data, basic information is obtained; wherein the basic information includes the number of plane scans, the number of radial data contained in each plane scan, observation elements, the number of radial sampling points of each observation element, the site information of the radar, and the electromagnetic parameters during observation; Constructing a plane scan list and a radial data list according to the basic information; Constructing a decoding data storage space of the plane scan list and the radial data list in the container object, and recording the basic information and each plane scan information in a corresponding position of the dictionary space of the base data information and the plane information in the container object; Scan the radial data area of the decompressed storage space, determine the starting address of each radial data according to the size of each radial data, and then obtain the starting address of each radial data in the decompressed storage space, and construct a starting address list as an index; Based on the starting address list and index, each radial data is processed in parallel using multiple threads, each sampling point of each observed element on the radial direction is converted into a floating-point value, and the converted floating-point value is stored in the storage location of the corresponding plane scan, corresponding radial direction, corresponding element, and corresponding sampling point of the decoding data storage space in the container object.
2. The radar-based data decoding method according to claim 1, characterized in that: Decompressing the radar-based data compression result specifically includes: Parsing the radar-based data compression result to obtain a data description header; Determine the size of the original radar base data according to the number of compressed data blocks in the data description header and the size of the original data block; Determine the decompression storage space according to the size of the original radar base data; Constructing a source address list in the compressed data area according to the size of each compressed data block in the data description header; constructing a target address list in the decompressed storage space according to the size of each original data block in the data description header; Based on the compression method in the data description header, multiple threads are used to simultaneously decompress all compressed data blocks, and the compressed data blocks are decompressed from the source address list to the target address list to obtain decompressed data blocks; According to the decompressed data blocks, decompressed data consistent with the binary-coded original radar base data is generated in the decompressed storage space.
3. The radar-based data decoding method according to claim 2, characterized in that: The source address list includes a starting address of each compressed data block, and the starting address of each compressed data block is determined according to the size of the corresponding compressed data block; The target address list includes the write address of the data stream obtained by decompressing each compressed data block, and the write address of the data stream is determined according to the size of the original data block corresponding to each compressed data block.
4. The radar-based data decoding method according to claim 1, characterized in that: The observation elements include reflectivity intensity, radial velocity, spectral width, correlation coefficient, differential reflectivity and differential phase shift coefficient.
5. The radar-based data decoding method according to any one of claims 1 to 4, characterized in that: In the container object, the storage space size of each radial data is equal to the sum of the sizes of all observation elements, and the storage space size of each observation element is equal to the number of radial sampling points of the observation element×the size of the floating point number.
6. An electronic device comprising a memory, a processor, and a computer program / instruction stored in the memory, characterized in that: The processor executes the computer program / instructions to implement the radar-based data decoding method according to any one of claims 1 to 5.
7. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instruction is executed by a processor, the radar-based data decoding method according to any one of claims 1 to 5 is implemented.
8. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the radar-based data decoding method according to any one of claims 1 to 5 is implemented.