Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
The technical solution of the present application will be described below by way of specific examples.
Referring to fig. 1, a schematic flow chart illustrating steps of a method for processing difference data according to an embodiment of the present application is shown, which may specifically include the following steps:
s101, collecting multi-frame differential data, wherein the multi-frame differential data have a specific data frame structure;
it should be noted that the method can be applied to a terminal device. That is, the execution main body of the embodiment is the terminal device, and the terminal device collects and processes the differential data, so that the processed differential data can be used by the receiver to perform high-precision positioning test, and the problem that the differential data cannot be conveniently obtained in the research, development, verification and manufacturing processes of the high-precision receiver is solved. The terminal device may be a mobile phone, a computer, or a vehicle-mounted terminal, and the specific type of the terminal device is not limited in this embodiment.
Typically, the differential data conforms to some standard protocol. For example, the RTCM3.2 standard protocol. RTCM is short for the international maritime industry radio technology committee, and RTCM3.2 is a data transmission format proposed by and commonly used by this committee for establishing standards for global navigation positioning systems and real-time dynamic operations.
The differential data collected in this embodiment may be differential data conforming to the RTCM3.2 standard protocol described above. Of course, the collected differential data may also be data conforming to other standards or protocols according to different practical applications, which is not limited in this embodiment.
As each standard or protocol will make a specification for the corresponding data structure. E.g. specifying what the frame header format is, what the data frame length is, etc. Therefore, for any differential data, the data frame structure of the differential data can be determined on the basis of the standard or protocol which the differential data conforms to.
S102, identifying difference data of each frame according to the data frame structure;
in this embodiment, the processing of the differential data may be performed frame by frame. Therefore, after the multi-frame differential data are collected, each frame of differential data can be respectively identified according to the data frame structure of the differential data.
S103, adding time information to each frame of differential data respectively, and saving each frame of differential data added with time information as a differential data file;
in the present embodiment, the time information added for each frame of differential data may refer to a time at which the frame of differential data is received, and the time information may be added in the form of a time stamp in the differential data corresponding to one frame.
After all the differential data are added with the time information, all the differential data can be stored as a differential data file for a subsequent receiver to use in testing. Of course, the frame differential data may be saved after adding time information to each frame differential data, which is not limited in this embodiment.
S104, when target time information output by a receiver is detected, target differential data are retrieved from the differential data file according to the target time information;
the receiver in this embodiment may be a GNSS receiver. The differential data collected, processed and stored by the foregoing steps may be used for testing of the receiver.
In a specific implementation, the receiver may first output a time information when performing the test. The time information may be a time output after the receiver actually receives the radio frequency data. That is, the receiver is connected to the radio frequency data acquisition playback instrument, and the radio frequency data acquisition playback instrument directly acquires GNSS satellite signals (radio frequency data) and then outputs corresponding time information.
After detecting the time information, the terminal device may search from the stored differential data file according to the time information, and find the differential data added with the same time information as target differential data for subsequent testing.
And S105, sending the target differential data to the receiver, wherein the target differential data is used for indicating the receiver to perform positioning test.
After the target differential data is sent to the receiver, the receiver can use the differential data to perform a corresponding positioning test. For example, the rationality and accuracy of the positioning algorithm may be verified, among other things.
In the embodiment of the application, by collecting multiple frames of differential data, each frame of differential data can be identified according to the data frame structure of the differential data, then time information is added to each frame of differential data, and each frame of differential data added with the time information is stored as a differential data file, so that when target time information output by a receiver is detected, target differential data can be retrieved from the differential data file according to the target time information, and the receiver can be instructed to perform corresponding positioning test by sending the target differential data to the receiver. According to the embodiment, the differential data are acquired through the terminal equipment, and special or special equipment is not needed in the acquisition process, so that the acquisition cost of the differential data is reduced; meanwhile, the time information is added to each frame of differential data, so that the stored differential data can be reused, the differential data can be used in the multi-test process only by acquiring the differential data once, the differential data does not need to be acquired in real time in each test, the test cost is further reduced, the problems of data transmission delay and the like possibly caused by the influence of the network communication speed are solved, and the accuracy of subsequent tests is improved.
Referring to fig. 2, a schematic flow chart illustrating steps of another method for processing difference data according to an embodiment of the present application is shown, which may specifically include the following steps:
s201, receiving multi-frame differential data transmitted by a preset reference station or a data side, wherein the multi-frame differential data has a specific data frame structure;
the execution subject of this embodiment is a terminal device, and the differential data acquired, processed, and stored by the terminal device may be provided to the GNSS receiver for performing a positioning test.
In a specific implementation, the differential data transmitted by the reference station or the third-party data party can be received by the terminal equipment for processing.
For example, an application program adapted to the reference station may be installed on the terminal device, a communication connection between the application program and the reference station is established, and then the differential data transmitted by the reference station is received by the application program.
Alternatively, a dedicated application program for receiving the differential data may be acquired from the third-party data provider and installed on the terminal device, and the differential data provided by the third-party data provider may be acquired by operating on the application program. The third party data party may be a company or an entity dedicated to providing the differential data.
In general, the differential data conforms to a standard or protocol, and the data frame structure of the received differential data can be determined according to the differential data format defined by the standard or protocol.
S202, reading preset bytes of to-be-detected data in the multi-frame differential data;
in this embodiment, the processing of the differential data may be performed frame by frame. Therefore, after the multi-frame differential data are collected, each frame of differential data can be respectively identified according to the data frame structure of the differential data.
In identifying the differential data for each frame, consecutive N bytes of data may be first read from the received data. The N bytes may be a length of one frame of differential data defined by a current standard or protocol, or may be a length of a certain part of one frame of differential data, such as a length of a header of a data frame, which is not limited in this embodiment.
S203, detecting whether the data to be detected comprises a data frame header or not according to the data frame structure;
as an example of the present application, a frame of differential data may be determined by identifying a header of a data frame. Therefore, after reading N bytes of data, it may first be detected whether a data frame header is included in the N bytes.
For example, the RTCM3.2 standard protocol is taken as an example. Referring to the RTCM3.2 standard protocol, the header of the RTCM3.2 data frame is fixed to "11010011", so that it can first determine whether the "11010011" data segment is a true header by determining whether the read N bytes include the above-mentioned "11010011" data segment, and if so, continuing to combine the data length and CRC (Cyclic Redundancy Check) Check result.
After detecting that the read N bytes include the data frame header, step S204 may be executed to sequentially identify each frame of differential data from the data frame header.
S204, sequentially identifying difference data of each frame from the head of the data frame;
for example, the length of a frame of differential data in a protocol may be first determined, and then a section of data of a corresponding length may be sequentially read from the detected frame header as the frame of differential data. Alternatively, a frame header of the received multi-frame differential data and a part between the frame header and a subsequent frame header may be used as the one-frame differential data by identifying the frame headers.
S205, respectively determining the system time of each frame of differential data according to the data frame structure, wherein the system time is the time of a satellite navigation system tracked by the receiver;
generally, according to the protocol definition, a data frame structure of one frame of differential data includes a corresponding system time, which may be the time of a satellite navigation system tracked by the receiver. For example, the GPS System (Global Positioning System) may be used, or the BDS System (BeiDou Navigation Satellite System) or other Satellite Navigation systems may be used, which is not limited in this embodiment.
S206, converting the system time into a coordinated universal time, and adding time information to each frame of differential data by adopting the coordinated universal time;
generally, the system time and the coordinated universal time UTC have a certain conversion relationship, and after the current system time is obtained, the system time can be converted into the corresponding UTC time according to the type of the navigation system used by the receiver.
Take the target navigation system as a GPS system as an example. In general, GPS time is UTC + leap seconds, and in GPS, UTC is used as a reference, and zero time is 1 month, 5 midnight in 1980, that is, 1 month, 6 days zero in 1980. Therefore, the corresponding UTC time can be converted according to the GPS time, the GPS zero time and the leap second parameter.
The UTC time may be converted into a time stamp as time information of one frame of differential data according to a corresponding format.
It should be noted that, for differential data protocols of different versions, time information may be analyzed according to a specific protocol definition, and a timestamp is added to differential data, and in a file to which the timestamp has been added, differential data content in the file may also be directly modified, so that the differential data protocol may be applied to fault-tolerant verification of a receiver when differential data is erroneous, and the like.
S207, sequentially saving each frame of differential data added with time information as a differential data file according to the sequence of the time information;
when storing each frame of differential data to which time information is added as a differential data file, the arrangement may be performed in a certain order. For example, each frame of differential data may be arranged in the sequential order of the time information and then saved as a differential data file.
S208, when target time information output by the receiver is detected, target differential data are retrieved from the differential data file according to the target time information;
s209, sending the target differential data to the receiver, wherein the target differential data is used for indicating the receiver to perform positioning test.
Since steps S208 to S209 in this embodiment are substantially the same as steps S104 to S105 in the foregoing embodiment, reference may be made to each other, and details of this embodiment are not repeated.
In the embodiment, each frame of differential data is identified according to the protocol definition of the differential data, and is stored as a differential data file according to a certain sequence after corresponding time information is added to the differential data, so that the stored differential data can be reused, the differential data can be used in a plurality of testing processes only by acquiring the differential data once, and the differential data does not need to be acquired in real time during each testing; the processed differential data are stored according to a certain sequence, which is beneficial to accelerating the subsequent searching speed when the target differential data of certain time information are searched from the differential data file.
Referring to fig. 3, a schematic flow chart illustrating steps of a further method for processing difference data according to an embodiment of the present application is shown, which may specifically include the following steps:
s301, collecting multi-frame differential data, wherein the multi-frame differential data has a specific data frame structure;
s302, identifying difference data of each frame according to the data frame structure;
s303, adding time information to each frame of differential data respectively, and saving each frame of differential data added with time information as a differential data file;
since steps S301 to S303 in this embodiment are substantially the same as steps S101 to S103 and S201 to S207 in the foregoing embodiment, they may refer to each other, and are not described again in this embodiment.
S304, when detecting a format statement output by a receiver, extracting target time information in the format statement;
generally, when a receiver performs a test, the receiver outputs a corresponding format statement according to a certain format, and the format statement includes positioning data, time information, and the like. The position of the time information in the format statement can be determined according to the protocol definition, and then the time information of the position is extracted.
It should be noted that the time information may be a time output after the receiver actually receives the rf data. That is, the receiver is connected to the radio frequency data acquisition playback instrument, and the radio frequency data acquisition playback instrument directly acquires GNSS satellite signals (radio frequency data) and then outputs corresponding time information.
S305, searching target differential data corresponding to time information which is the same as the target time information in the differential data file;
when the target differential data is searched, the time information of each frame of differential data in the stored differential data file can be traversed based on the extracted time information, and when the differential data which is the same as the time information output by the receiver is searched, the frame of differential data can be extracted, and the search is stopped.
S306, sending the target differential data to the receiver, wherein the target differential data is used for indicating the receiver to perform positioning test.
In a specific implementation, the terminal device may select to send the frame differential data immediately or send the frame differential data after delaying for a certain time according to an actual requirement, which is not limited in this embodiment.
Referring to fig. 4, a schematic flowchart illustrating steps of a method for testing a receiver according to an embodiment of the present application is shown, which may specifically include the following steps:
s401, outputting a format statement to a terminal device when an instruction for testing a receiver is received, wherein the format statement comprises target time information;
it should be noted that the method can be applied to a receiver. That is, the execution subject of the present embodiment is a receiver, and the test of the receiver can be completed by receiving the differential data collected and processed by the foregoing embodiments.
In this embodiment, the test for the receiver may be triggered by an instruction. That is, at the beginning of the test, a test instruction may be sent to the receiver. In response to the test instruction, the receiver may output a format statement of a specific format after actually receiving the radio frequency data, where the format statement includes the target time information.
S402, receiving target differential data returned by the terminal equipment aiming at the target time information, wherein the target differential data is obtained by retrieving the terminal equipment from a preset differential data file according to the target time information, and the preset differential data file is generated by acquiring multi-frame differential data by the terminal equipment and adding time information to each frame of differential data;
in this embodiment, after detecting the format statement output by the receiver, the terminal device extracts the target time information from the format statement, and can search out the target differential data, in which the time information corresponding to the timestamp is the same as the target time information, from a preset differential data file according to the target time information and return the target differential data to the receiver.
The preset differential data file may be generated by the terminal device by collecting multiple frames of differential data and adding time information to each frame of differential data, and the specific process may refer to the description of each step in the differential data processing method in the foregoing embodiment, which is not described in detail in this embodiment.
And S403, performing positioning test by using the target differential data.
In the embodiment, the differential data acquired and processed by the terminal equipment is received for testing, special or special equipment is not needed in the acquisition process, and the instrument cost of the differential data in the testing process is reduced; meanwhile, the stored differential data can be reused, so that the differential data can be used in the multi-test process only by acquiring the differential data once, and the differential data does not need to be acquired in real time during each test, thereby further reducing the test cost.
For ease of understanding, the differential data processing method and the test method of the receiver of the present embodiment are described below with reference to a specific example.
The whole testing process of the receiver comprises two parts, namely a data acquisition part and a data playback part. The data acquisition part is mainly used for acquiring, processing and storing the differential data and the satellite signal data; the data playback part uses the collected data to test the receiver.
Fig. 5 is a schematic diagram of the data acquisition process of the present embodiment. The whole data acquisition process comprises the acquisition of GNSS satellite signal data (radio frequency data) and the acquisition of GNSS differential data. The GNSS satellite signal data acquisition can use a GNSS satellite signal collector (radio frequency acquisition playback instrument), and the GNSS differential data acquisition can use intelligent terminal equipment, such as a mobile phone, a computer, a vehicle-mounted terminal and the like. The signal source of the GNSS satellite signal may be a GNSS satellite signal from an actual antenna, or a GNSS satellite signal from a satellite signal simulator. In the process, the acquired GNSS satellite signals can be stored in a hard disk of the radio frequency acquisition playback instrument and used together with the subsequently acquired GNSS differential data. The GNSS differential data may be differential data from the Internet or an actual reference station, or may be differential data provided by a third party via a network, or may be differential data from a self-installed reference station. In the process, the GNSS differential data can be directly acquired by using an application program installed on the intelligent terminal equipment, and the time information of each frame is analyzed and added into the GNSS differential data, and finally stored in a file of the terminal equipment and stored in a memory of the terminal equipment. For the acquisition, processing and saving of the GNSS differential data, reference may be made to the description of steps S201 to S207 in the foregoing embodiment.
As shown in fig. 6, it is a schematic diagram of the data playback process of the present embodiment. The whole data playback process comprises the GNSS satellite signal data playback and the GNSS differential data playback. The radio frequency acquisition playback instrument plays back the acquired GNSS satellite signal data, and the GNSS receiver to be tested receives the playback signal and outputs time information. When the application program on the terminal equipment plays back the GNSS differential data, after receiving the time information output by the GNSS receiver to be tested, the application program searches in the stored differential data file according to the detected time information, and after searching the same time information, the application program can select whether to send the frame differential data to the GNSS receiver to be tested, and select to send the frame differential data immediately or after delaying for a certain time according to actual requirements.
For example, the information output by the receiver may be represented as follows:
“$GNGGA,035117.00,2308.477816,N,11329.968626,E,4,18,0.70,35.7,M,-4.3,M,1.0,1136*46”
the time information contained is identified as "035117.00". Then, corresponding time information is retrieved from the saved GNSS difference data, for example, the GNSS difference data added with the time stamp includes the following data:
“
....................
035115.00,xxxxx
035116.00,xxxxx
035117.00,xxxxx
035118.00,xxxxx
....................
”
the retrieved target differential data is "035117.00, xxxxx", and the frame differential data may be sent to the GNSS receiver and used by the receiver for testing.
The embodiment can directly acquire the differential data through the terminal equipment without other special or special equipment. In order to cooperate with satellite signal data to carry out research and development algorithm verification, factory mass production test, customer acceptance test and the like, only one radio frequency acquisition playback instrument needs to be added on the basis, a plurality of radio frequency acquisition playback instruments do not need to be used, and the instrument cost of data acquisition is reduced.
Secondly, the differential data collected by the embodiment can be directly stored on the terminal equipment in a text form, the data volume is greatly reduced compared with the radio frequency data of the collecting reference station, and the data storage is simpler and more convenient.
Thirdly, the embodiment can be simultaneously suitable for different scenes such as simulator signals, actual satellite signals and the like, and in the acquisition process, various external input environments can be relatively fixed, so that the method is favorable for scene problem recurrence and test verification problem recurrence, and is favorable for algorithm research of GNSS differential positioning.
Fourthly, when the differential data are played back, the on-off of the differential data can be flexibly controlled, the communication condition of an actual network is simulated, the influence of the on-off of the differential data on the performance of a receiver is conveniently researched, and the algorithm research and verification are facilitated; the played back differential data can also directly modify the content of the differential data added with the time stamp, so that the research and verification of the GNSS differential solution are facilitated.
Fifthly, the reusable differential data and the reusable radio frequency data are matched, so that the method can be suitable for research and development algorithm verification, factory volume production test, customer acceptance test and the like, the cost of research and development, volume production, acceptance verification and the like of GNSS differential solution is reduced, and the cost of renting third-party GNSS differential data is reduced. When the radio frequency data and the differential data are collected, time does not need to be strictly aligned, alignment of the differential data and the radio frequency data can be achieved according to time provided by the receiver during playback, and the method is simple to achieve. By using the method of directly analyzing the time information in the differential data and combining the UTC time output after the receiver actually receives the radio frequency data in real time to send each frame of differential data, the data of each frame in the differential data can be accurately aligned with the data played by the radio frequency, and the accumulation of time errors can not occur.
It should be noted that, the sequence numbers of the steps in the foregoing embodiments do not mean the execution sequence, and the execution sequence of each process should be determined by the function and the inherent logic of the process, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Referring to fig. 7, a schematic diagram of an apparatus for processing differential data according to an embodiment of the present application is shown, where the apparatus is suitable for a terminal device, and specifically may include the following modules:
the device comprises an acquisition module 701, a processing module and a processing module, wherein the acquisition module 701 is used for acquiring multi-frame differential data, and the multi-frame differential data has a specific data frame structure;
an identifying module 702, configured to identify difference data of each frame according to the data frame structure;
an adding module 703, configured to add time information to each frame of differential data;
a saving module 704, configured to save each frame of differential data to which time information is added as a differential data file;
a retrieving module 705, configured to, when target time information output by a receiver is detected, retrieve target differential data from the differential data file according to the target time information;
a sending module 706, configured to send the target differential data to the receiver, where the target differential data is used to instruct the receiver to perform a positioning test.
In this embodiment, the acquisition module 701 may specifically include the following sub-modules:
and the differential data receiving submodule is used for receiving multi-frame differential data transmitted by a preset reference station or a data side.
In this embodiment of the application, the identification module 702 may specifically include the following sub-modules:
the data reading submodule to be detected is used for reading data to be detected of preset bytes in the multi-frame differential data;
a data frame header detection submodule, configured to detect whether the data to be detected includes a data frame header according to the data frame structure;
and the differential data identification submodule is used for sequentially identifying each frame of differential data from the head of the data frame if the data to be detected comprises the head of the data frame.
In this embodiment, the adding module 703 may specifically include the following sub-modules:
a system time determining submodule, configured to determine a system time of the differential data of each frame according to the data frame structure, where the system time is a time of a satellite navigation system tracked by the receiver;
the coordinated universal time conversion submodule is used for converting the system time into coordinated universal time;
and the time information adding submodule is used for adding time information to the differential data of each frame by adopting the coordinated universal time.
In this embodiment of the present application, the saving module 704 may specifically include the following sub-modules:
and the differential data file storage submodule is used for sequentially storing each frame of differential data added with time information as a differential data file according to the sequence of the time information.
In this embodiment of the application, the retrieving module 705 may specifically include the following sub-modules:
the target time information extraction submodule is used for extracting target time information in the format statement when the format statement output by the receiver is detected;
and the target differential data retrieval submodule is used for retrieving target differential data corresponding to the time information which is the same as the target time information from the differential data file.
Referring to fig. 8, a schematic diagram of a testing apparatus for a receiver according to an embodiment of the present application is shown, which may specifically include the following modules:
an output module 801, configured to output a format statement to a terminal device when receiving an instruction for performing a receiver test, where the format statement includes target time information;
a receiving module 802, configured to receive target differential data returned by the terminal device for the target time information, where the target differential data may be retrieved by the terminal device from a preset differential data file according to the target time information, and the preset differential data file may be generated by acquiring multi-frame differential data by the terminal device and adding time information to each frame of differential data;
and the testing module 803 is configured to perform a positioning test by using the target differential data.
For the apparatus embodiment, since it is substantially similar to the method embodiment, it is described relatively simply, and reference may be made to the description of the method embodiment section for relevant points.
Referring to fig. 9, a schematic diagram of a terminal device according to an embodiment of the present application is shown. As shown in fig. 9, the terminal apparatus 900 of the present embodiment includes: a processor 910, a memory 920, and a computer program 921 stored in the memory 920 and operable on the processor 910. The processor 910 implements steps in various embodiments of the differential data processing method described above, such as steps S101 to S105 shown in fig. 1, when executing the computer program 921. Alternatively, the processor 910, when executing the computer program 921, implements the functions of each module/unit in each device embodiment described above, for example, the functions of the modules 701 to 706 shown in fig. 7.
Illustratively, the computer program 921 may be partitioned into one or more modules/units, which are stored in the memory 920 and executed by the processor 910 to accomplish the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which may be used to describe the execution of the computer program 921 in the terminal device 900. For example, the computer program 921 may be divided into an acquisition module, an identification module, an addition module, a storage module, a retrieval module, and a sending module, where the specific functions of the modules are as follows:
the device comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring multi-frame differential data, and the multi-frame differential data has a specific data frame structure;
the identification module is used for identifying the difference data of each frame according to the data frame structure;
the adding module is used for respectively adding time information to each frame of differential data;
the storage module is used for storing each frame of differential data added with the time information into a differential data file;
the retrieval module is used for retrieving target differential data in the differential data file according to the target time information when the target time information output by the receiver is detected;
and the sending module is used for sending the target differential data to the receiver, and the target differential data is used for indicating the receiver to perform positioning test.
The terminal device 900 may be a desktop computer, a notebook, a palm computer, or other computing devices. The terminal device 900 may include, but is not limited to, a processor 910, a memory 920. Those skilled in the art will appreciate that fig. 9 is only one example of a terminal device 900 and does not constitute a limitation of terminal device 900 and may include more or fewer components than shown, or some components may be combined, or different components, e.g., terminal device 900 may also include input-output devices, network access devices, buses, etc.
The Processor 910 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The storage 920 may be an internal storage unit of the terminal device 900, such as a hard disk or a memory of the terminal device 900. The memory 920 may also be an external storage device of the terminal device 900, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), or the like, provided on the terminal device 900. Further, the memory 920 may also include both an internal storage unit and an external storage device of the terminal device 900. The memory 920 is used for storing the computer program 921 and other programs and data required by the terminal device 900. The memory 920 may also be used to temporarily store data that has been output or is to be output.
The embodiment of the application also discloses a computer-readable storage medium, which stores a computer program, and the computer program can realize the steps of the differential data processing method according to the above-mentioned method embodiments when being executed by a processor.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same. Although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.