Data processing method, device and computer-readable storage medium
By optimizing the state variables in RTK technology, the problem of insufficient positioning accuracy in RTK technology is solved, and high-precision positioning of the mobile station is achieved.
Patent Information
- Application Number
- CN202111432169.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-29
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2041-11-29
AI Technical Summary
In RTK technology, synchronous updating of state variables in existing technologies results in poor accuracy of prior position estimation of position parameters, thereby reducing the positioning accuracy of the mobile station.
By performing estimation and optimization processing on the first a posteriori velocity state vector, a second a posteriori velocity state vector is generated. Based on this vector, a vector estimation processing is performed on the first a posteriori position state vector to generate a priori position state vector. Finally, the priori position state vector is vector optimized using observation data to improve positioning accuracy.
The positioning accuracy of the mobile station is improved, ensuring high-precision position information at the second moment.
Smart Images

Figure CN116184458B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of Internet, and particularly relates to a data processing method, device and computer readable storage medium. BACKGROUND
[0002] With the continuous development of positioning technology and communication technology, people have higher and higher requirements for the convenience and accuracy of positioning, and the demand for navigation positioning is also more and more extensive.
[0003] In the moving process of the flow end, real-time positioning can be performed by using a real-time kinematic (RTK) phase difference technology. The positioning process can include state updating (i.e., estimating the state quantity at the next moment by using the state quantity at the previous moment) and observation updating (i.e., optimizing the estimated state quantity by using the observation quantity at the next moment). In the RTK technology, the state variables are updated synchronously, and the state updating of the position parameter is based on the speed parameter at the previous moment. At this time, the accuracy of the prior position estimate is poor, thereby reducing the accuracy of the posterior position estimate, and thus reducing the positioning accuracy of the flow station (a measurement station including the flow end). SUMMARY
[0004] The embodiments of the present application provide a data processing method, device and computer readable storage medium, which can improve the positioning accuracy of the flow station.
[0005] In one aspect, the embodiments of the present application provide a data processing method, comprising:
[0006] obtaining a first posterior velocity state vector of the flow station at a first moment, the first posterior velocity state vector comprising a first speed and a first acceleration, obtaining a first posterior position state vector of the flow station at the first moment, the first posterior position state vector comprising a first position and a first double-difference ambiguity, and obtaining observation data associated with the flow station at a second moment; the first moment is earlier than the second moment;
[0007] performing estimation and optimization processing on the first posterior velocity state vector to obtain a second speed and a second acceleration of the flow station at the second moment, and generating a second posterior velocity state vector according to the second speed and the second acceleration;
[0008] performing vector estimation processing on the first posterior position state vector according to the second posterior velocity state vector to obtain an optimized position and an optimized double-difference ambiguity of the flow station at the second moment, and generating a prior position state vector according to the optimized position and the optimized double-difference ambiguity;
[0009] performing vector optimization processing on the prior position state vector according to the observation data and the first posterior position state vector to obtain a second position and a second double-difference ambiguity of the flow station at the second moment.
[0010] The embodiment of the application provides a data processing device, comprising:
[0011] The data acquisition module is configured to acquire a first posteriori velocity state vector of the flow station at the first time point, the first posteriori velocity state vector comprising a first velocity and a first acceleration, acquire a first posteriori position state vector of the flow station at the first time point, the first posteriori position state vector comprising a first position and a first double-difference ambiguity, and acquire observation data associated with the flow station at the second time point; the first time point is earlier than the second time point;
[0012] The first generation module is configured to perform a prediction optimization process on the first posteriori velocity state vector to obtain a second velocity and a second acceleration of the flow station at the second time point, and generate a second posteriori velocity state vector according to the second velocity and the second acceleration;
[0013] The second generation module is configured to perform a vector prediction process on the first posteriori position state vector according to the second posteriori velocity state vector to obtain an optimized position and an optimized double-difference ambiguity of the flow station at the second time point, and generate a priori position state vector according to the optimized position and the optimized double-difference ambiguity;
[0014] The third generation module is configured to perform a vector optimization process on the priori position state vector according to the observation data and the first posteriori position state vector to obtain a second position and a second double-difference ambiguity of the flow station at the second time point.
[0015] The second generation module comprises
[0016] The first acquisition unit is configured to acquire a state transition matrix associated with the second posteriori velocity state vector and for the first position;
[0017] The first determination unit is configured to determine a position state transition matrix according to the state transition matrix for the first position and a state transition matrix for the first double-difference ambiguity;
[0018] The first processing unit is configured to perform a vector prediction process on the first posteriori position state vector according to the position state transition matrix to obtain the optimized position and the optimized double-difference ambiguity of the flow station at the second time point.
[0019] The third generation module comprises
[0020] The second acquisition unit is configured to acquire a first posteriori position state covariance matrix corresponding to the first posteriori position state vector and acquire a first state transition covariance matrix of the flow station at the first time point;
[0021] The first generation unit is configured to generate a priori position state covariance matrix of the flow station at the second time point according to the position state transition matrix, the first posteriori position state covariance matrix and the first state transition covariance matrix.
[0022] a third obtaining unit, configured to obtain a double-difference carrier phase observation function associated with the first posterior position state vector and a double-difference pseudo-range observation function associated with the first posterior position state vector;
[0023] a second processing unit, configured to combine the double-difference carrier phase observation function and the double-difference pseudo-range observation function into a double-difference observation function, and perform linear processing on the double-difference observation function to obtain a linear double-difference observation function;
[0024] a second generating unit, configured to generate, according to the observation data and the linear double-difference observation function, a position observation matrix for the first posterior position state vector and a position observation vector including a double-difference pseudo-range observation value and a double-difference carrier phase observation value;
[0025] a third processing unit, configured to perform vector optimization processing on the prior position state vector according to the prior position state covariance matrix, the position observation vector, and the position observation matrix to obtain a second position of the rover station at the second time and a second double-difference ambiguity.
[0026] The third processing unit comprises:
[0027] a first determining sub-unit, configured to determine a position estimation observation vector according to the position observation matrix and the prior position state vector;
[0028] a first obtaining sub-unit, configured to obtain a first innovation vector between the position estimation observation vector and the position observation vector;
[0029] a second determining sub-unit, configured to determine a target prior position observation covariance matrix according to a prior position observation covariance matrix associated with the position observation vector, the prior position state covariance matrix, the position observation matrix, and the first innovation vector;
[0030] a first generating sub-unit, configured to generate a first gain matrix according to the prior position state covariance matrix, the target prior position observation covariance matrix, and the position observation matrix;
[0031] a second generating sub-unit, configured to perform vector optimization processing on the prior position state vector according to the first gain matrix and the first innovation vector to obtain the second position of the rover station at the second time and the second double-difference ambiguity.
[0032] The third processing unit further comprises:
[0033] The third determining subunit is configured to determine a second posterior position state covariance matrix of the rover station at a second time according to the first gain matrix, the position observation matrix, and the prior position state covariance matrix; the second posterior position state covariance matrix refers to a covariance matrix corresponding to a second posterior position state vector; the second posterior position state vector comprises a second position and a second double-difference ambiguity; and the second posterior position state covariance matrix is used to generate a third position of the rover station at a third time; and the second time is earlier than the third time.
[0034] The second determining subunit comprises:
[0035] The first processing subunit is configured to generate an innovation covariance matrix corresponding to the first innovation vector according to the position observation matrix, the prior position state covariance matrix, and a prior position observation covariance matrix associated with the position observation vector.
[0036] The second processing subunit is configured to perform normalization processing on the first innovation vector according to the innovation covariance matrix to obtain a normalized innovation vector.
[0037] The third processing subunit is configured to determine a kernel function matrix according to the normalized innovation vector, and determine a target prior position observation covariance matrix according to the prior position observation covariance matrix and the kernel function matrix.
[0038] The normalized innovation vector comprises normalized innovation values e i , i is a positive integer, and i is less than or equal to a dimension number of the normalized innovation vector; and the kernel function matrix comprises kernel function values .
[0039] The third processing subunit is specifically configured to, if an absolute value of the normalized innovation value e i is less than or equal to an absolute value threshold, determine the target value as the kernel function value .
[0040] The third processing subunit is specifically configured to, if the absolute value of the normalized innovation value e i is greater than the absolute value threshold, determine a ratio between the absolute value threshold and the absolute value as the kernel function value .
[0041] The third processing subunit is specifically configured to determine the kernel function matrix according to the kernel function value corresponding to each normalized innovation value.
[0042] The first generating module comprises:
[0043] The fourth processing unit is configured to obtain a velocity state transition matrix associated with a motion function, perform vector prediction processing on the first posterior velocity state vector to obtain an to-be-optimized acceleration and an to-be-optimized velocity of the flow station at the second time, and generate the prior velocity state vector according to the to-be-optimized acceleration and the to-be-optimized velocity.
[0044] The fifth processing unit is configured to perform vector optimization processing on the prior velocity state vector according to the velocity state transition matrix, the observation data and the first posterior velocity state vector to obtain the second velocity and the second acceleration of the flow station at the second time.
[0045] The fifth processing unit comprises:
[0046] The second acquisition subunit is configured to obtain a first posterior velocity state covariance matrix corresponding to the first posterior velocity state vector, and obtain a second state transition covariance matrix of the flow station at the first time.
[0047] The third generation subunit is configured to generate a prior velocity state covariance matrix of the flow station at the second time according to the velocity state transition matrix, the first posterior velocity state covariance matrix and the second state transition covariance matrix.
[0048] The fourth generation subunit is configured to generate a velocity observation matrix and a velocity observation vector according to the observation data, and perform vector optimization processing on the prior velocity state vector according to the prior velocity state covariance matrix, the velocity observation vector and the velocity observation matrix to obtain the second velocity and the second acceleration of the flow station at the second time.
[0049] The fourth generation subunit comprises:
[0050] The fourth processing subunit is configured to obtain a carrier phase observation function, and perform inter-epoch difference processing on the carrier phase observation function to obtain a differential carrier phase observation function.
[0051] The fifth processing subunit is configured to perform inter-station difference processing on the differential carrier phase observation function to obtain a double-difference carrier phase observation function.
[0052] The sixth processing subunit is configured to perform inter-satellite difference processing on the double-difference carrier phase observation function to obtain a triple-difference carrier phase observation function.
[0053] The seventh processing subunit is configured to perform linear processing on the triple-difference carrier phase observation function to obtain a linear triple-difference carrier phase observation function.
[0054] The seventh processing subunit is further configured to determine a velocity observation matrix and a velocity observation vector comprising a triple-difference carrier phase observation value according to the observation data and the linear triple-difference carrier phase observation function.
[0055] The sixth processing subunit is specifically configured to determine a velocity estimation observation vector according to the velocity observation matrix and the prior velocity state vector.
[0056] The sixth processing subunit is further specifically configured to obtain a second innovation vector between the velocity estimation observation vector and the velocity observation vector.
[0057] The sixth processing subunit is further specifically configured to determine a second gain matrix according to the prior velocity state covariance matrix, the velocity observation matrix, and a prior velocity observation covariance matrix associated with the velocity observation vector.
[0058] The sixth processing subunit is further specifically configured to perform vector optimization on the prior velocity state vector according to the second gain matrix and the second innovation vector, to obtain the second velocity and the second acceleration of the flow station at the second time.
[0059] The data obtaining module comprises:
[0060] The fourth obtaining unit is configured to obtain first original observation data of the flow station at the second time, second original observation data of a reference station associated with the flow station at the second time, and satellite ephemeris data of a satellite associated with the flow station at the second time.
[0061] The second determining unit is configured to determine the first original observation data, the second original observation data, and the satellite ephemeris data as observation data.
[0062] The computer device provided in the application comprises a processor, a memory, and a network interface.
[0063] The processor is connected to the memory and the network interface, the network interface is configured to provide a data communication function, the memory is configured to store a computer program, and the processor is configured to call the computer program to enable the computer device to execute the method in the application.
[0064] The computer readable storage medium provided in the application stores a computer program, and the computer program is adapted to be loaded by a processor and execute the method in the application.
[0065] The computer program product or the computer program provided in the application comprises computer instructions stored in a computer readable storage medium; a processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to enable the computer device to execute the method in the application.
[0066] From the above, it can be seen that the embodiment of the present application first performs an estimation and optimization processing on the first a posteriori velocity state vector at the first moment to obtain the second a posteriori velocity state vector at the second moment, and then performs vector estimation processing on the first a posteriori position state vector at the first moment based on the second a posteriori velocity state vector to obtain the a priori position state vector at the second moment; by replacing the first a posteriori velocity state vector with the second a posteriori velocity state vector, that is, separating the first a posteriori velocity state vector and the first a posteriori position state vector, the accuracy of the a priori position state vector can be improved, and then when the a posteriori position state vector is vector optimized according to the observation data and the first a posteriori position state vector, a high-precision second position of the mobile station at the second moment can be obtained, that is, the positioning accuracy of the mobile station can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0068] Figure 1 This is a schematic diagram of a system architecture provided by an embodiment of the present application;
[0069] Figure 2 This is a flow chart of a data processing method provided in an embodiment of the present application;
[0070] Figure 3 This is a schematic diagram of a data processing scenario provided by an embodiment of the present application;
[0071] Figure 4 This is a schematic diagram of a data processing scenario provided by an embodiment of the present application;
[0072] Figure 5 This is a flow chart of a data processing method provided in an embodiment of the present application;
[0073] Figure 6 This is a flow chart of a data processing method provided in an embodiment of the present application;
[0074] Figure 7 is a structural diagram of a data processing device provided in an embodiment of the present application;
[0075] Figure 8 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0076] With reference to the drawings of the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.
[0077] For ease of understanding, first, some nouns are simply explained as follows:
[0078] Location Based Services (LBS): LBS service is a location-related service provided by a wireless operation company for a user; the LBS service is to obtain the current location of a positioning device by using various types of positioning technology, and to provide information resources and basic services to the positioning device through a mobile Internet. The LBS service integrates mobile communication, Internet, spatial positioning, location information, big data and other information technologies, and uses a mobile Internet service platform for data updating and interaction, so that the user can obtain corresponding services through spatial positioning.
[0079] Global Navigation Satellite System (GNSS): A global satellite navigation system can provide 3D coordinates, speed and time information for users at any location on the earth's surface or in near-earth space. Common global satellite navigation systems include the Global Positioning System (GPS), the BeiDou Navigation Satellite System (BDS), the GLONASS satellite navigation system and the GALILEO positioning system. The earliest one is the GPS (Global Positioning System), which is also the most technically sophisticated system at present. With the full-service opening of the BDS and GLONASS systems in the Asia-Pacific region in recent years, especially the rapid development of the BDS system in the civil field. Satellite navigation systems have been widely used in navigation, communication, consumer entertainment, surveying and mapping, time service, vehicle management and automobile navigation and information services, and the overall development trend is to provide high-precision services for real-time applications. In the embodiments of the present application, the global satellite navigation system can be used for accurate positioning of a mobile station.
[0080] Intelligent Vehicle Infrastructure Cooperative Systems (IVICS), referred to as vehicle infrastructure cooperative systems, is a development direction of intelligent transportation systems (ITS). The vehicle infrastructure cooperative system is to use advanced wireless communication and new generation Internet technologies to implement dynamic real-time information interaction between vehicles and roads in all directions, and to develop vehicle active safety control and road cooperative management on the basis of full-time and space dynamic traffic information collection and fusion, to fully realize the effective cooperation of man, vehicle and road, to ensure traffic safety and improve traffic efficiency, so as to form a safe, efficient and environmentally friendly road traffic system. In the embodiments of the present application, the intelligent vehicle infrastructure cooperative system can be used for precise positioning of vehicles.
[0081] Real-time kinematic (RTK) needs to use two receivers for positioning, wherein the reference station and the mobile station (i.e. the rover station) are both receivers and can receive satellite signals, and there is data transmission between the reference station and the rover station. The reference station sends its observation data to the rover station, and the rover station calculates the coordinates by differencing the observation data of the reference station, its own observation data and satellite ephemeris data, to achieve precise positioning.
[0082] Ambiguity of whole cycles, also known as whole cycle unknown, is the whole cycle unknown corresponding to the first observation value of the phase difference between the carrier phase and the reference phase in the carrier phase measurement of the global positioning system technology.
[0083] Accumulated delta range (ADR) refers to the phase change value of the GNSS signal in the mobile terminal. The embodiments of the present application measure the speed based on ADR, to improve the convergence speed of ambiguity in the positioning process of the rover station using carrier phase.
[0084] Please refer to Figure 1 , Figure 1 is a system architecture diagram provided by the embodiments of the present application. As Figure 1 shown, the system can include a service server 100 and a terminal cluster, and the terminal cluster can include one or more terminal devices, and the present application does not limit the number of terminal devices, and as Figure 1 shown, the terminal cluster can specifically include terminal device 200a, terminal device 200b, terminal device 200c,..., and terminal device 200n.
[0085] Among them, there can be a communication connection between the terminal clusters, for example, there is a communication connection between the terminal device 200a and the terminal device 200b, and there is a communication connection between the terminal device 200a and the terminal device 200c. At the same time, any terminal device in the terminal cluster can have a communication connection with the service server 100, for example, there is a communication connection between the terminal device 200a and the service server 100, wherein the above communication connection is not limited to the connection mode, which can be connected directly or indirectly through wired communication, or directly or indirectly through wireless communication, or through other ways, which is not limited in this application.
[0086] It should be understood that each terminal device in the terminal cluster as shown in Figure 1 may be installed with an application client, which can respectively interact with the service server 100 as shown in Figure 1 above, that is, the above communication connection when the application client runs in each terminal device. Among them, the application client can be a navigation application, a live application, a social application, an instant messaging application, a game application, a shopping application, a payment application, a browser and other applications with positioning function. Among them, the application client can be an independent client, or an embedded sub-client integrated in a certain client (such as a social client, an education client and a multimedia client, etc.), which is not limited here. Taking the social application as an example, the service server 100 can be a collection of multiple servers including the background server corresponding to the social application, the data processing server, etc. Therefore, each terminal device can transmit data with the service server 100 through the application client corresponding to the social application, such as each terminal device can upload its positioning to the service server 100 through the application client of the social application, and then the service server 100 can download the positioning to other terminal devices or transmit it to the cloud server.
[0087] It can be understood that in the specific embodiments of the present application, the user information (such as the original data and the second position described below) and other related data are involved. When the embodiments of the present application are applied to specific products or technologies, the user's permission or consent is required, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards in relevant regions.
[0088] For the convenience of subsequent understanding and description, the embodiments of the present application can be described in Figure 1The terminal cluster shown selects one terminal device as a mobile terminal (which can be regarded as a mobile station), i.e., a computer device that can be used on the move, such as terminal device 200a as a mobile terminal. When the observation data associated with the mobile station at the second time is obtained, the terminal device 200a can send the observation data at the second time, the first posteriori velocity state vector (including the first velocity and the first acceleration) of itself at the first time, and the first posteriori position state vector (including the first position and the first double-difference ambiguity) of itself at the first time to the service server 100 as raw data. Further, after the service server 100 receives the raw data sent by the terminal device 200a, the first posteriori velocity state vector can be estimated and optimized to obtain the second velocity and the second acceleration of the mobile station at the second time, and the second posteriori velocity state vector can be generated according to the second velocity and the second acceleration. Further, the service server 100 can perform vector estimation on the first posteriori position state vector according to the second posteriori velocity state vector to obtain the to-be-optimized position and the to-be-optimized double-difference ambiguity of the mobile station at the second time, and the priori position state vector can be generated according to the to-be-optimized position and the to-be-optimized double-difference ambiguity. It can be understood that the second posteriori velocity state vector can represent the average velocity and the average acceleration between the first time and the second time, which can better represent the state quantity change of the mobile station between the first time and the second time compared with the first posteriori velocity state vector representing the average velocity and the average acceleration between the previous time of the first time and the first time. Therefore, using the second posteriori velocity state vector to perform state estimation (i.e., state update) on the first posteriori position state vector can improve the accuracy of the priori position state vector. Further, the service server 100 can perform vector optimization on the priori position state vector according to the observation data and the first posteriori position state vector to obtain the second position and the second double-difference ambiguity of the mobile station at the second time. It can be understood that since the priori position state vector has high accuracy, the error between the observation data and the priori position state vector can be reduced, so that when the observation data is used to perform vector optimization on the priori position state vector, the high-precision second position of the mobile station at the second time can be obtained, i.e., the positioning of the mobile station is improved.
[0089] Further, the service server 100 can obtain map data associated with the second position, and send the second position, the second double-difference ambiguity, and the map data to the terminal device 200a. After the terminal device 200a receives the second position, the second double-difference ambiguity, and the map data sent by the service server 100, the terminal device 200a can display the second position and the map data on the screen corresponding thereto. Further, the user of the terminal device 200a can determine the position thereof and the next movement behavior by checking the second position and the map data.
[0090] Optionally, it can be understood that a plurality of service servers can be included in the system architecture, one terminal device can be connected with one service server, each service server can obtain the original data uploaded by the terminal device connected therewith, so as to process the original data to obtain the second position, obtain the map data associated with the second position, and return the second position and the map data to the terminal device connected therewith.
[0091] Optionally, the terminal device 200a can be understood as an integrated information processing platform, which has very rich communication modes, for example, can communicate through a global system for mobile communication (GSM), 4G (fourth generation communication technology) wireless operation network communication, can also communicate through a wireless fidelity (WiFi), Bluetooth and infrared; in addition, the terminal device 200a is integrated with a global satellite navigation system positioning chip, which can be used to process satellite signals and accurately position the user of the terminal device 200a. Therefore, if the terminal device 200a locally stores the above-mentioned map data, the terminal device 200a can locally estimate and optimize the first posterior speed state vector, vector estimate the first posterior position state vector, and vector optimize the prior position state vector, and the local processing process is consistent with the processing process of the service server 100, so this place will not be described in detail, and can refer to the description in the above. Since generating map data involves a large amount of calculation, the local map data of the terminal device 200a can be generated by the service server 100 and sent to the terminal device 200a.
[0092] It should be noted that the above-mentioned service server 100, terminal device 200a, terminal device 200b, terminal device 200c,..., terminal device 200n can all be blockchain nodes in a blockchain network, and the data described throughout the text (such as original data, second position and map data) can be stored, and the storage method can be that the blockchain node generates a block according to the data, and adds the block to the blockchain for storage.
[0093] The blockchain is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm, and is mainly used for arranging data in chronological order and encrypting the data into a ledger so that the data cannot be tampered with and forged, and the data can be verified, stored, and updated. The blockchain is essentially a decentralized database, each node in the database stores a same blockchain, and the blockchain network can distinguish the nodes into core nodes, data nodes, and light nodes. The core nodes, data nodes, and light nodes together form blockchain nodes. Among them, the core nodes are responsible for the consensus of the whole blockchain network, that is, the core nodes are consensus nodes in the blockchain network. For the process of writing transaction data in the ledger in the blockchain network, the data nodes or light nodes in the blockchain network obtain the transaction data, deliver the transaction data in the blockchain network (that is, the nodes deliver in the manner of a baton), until the consensus node receives the transaction data, and the consensus node packages the transaction data into a block, performs consensus on the block, and writes the transaction data into the ledger after the consensus is completed. Here, the transaction data is exemplified by original data, a second position, and map data, and the business server 100 (a blockchain node) generates a block according to the transaction data after the consensus of the transaction data, and stores the block into the blockchain network; and for reading of the transaction data (that is, the original data, the second position, and the map data), the blockchain node can obtain the block containing the transaction data in the blockchain network, and further obtain the transaction data in the block.
[0094] It can be understood that the method provided by the embodiments of the present application can be executed by a computer device, which includes but is not limited to a terminal device or a business server. The business server can be a physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud database, cloud service, cloud computing, cloud function, cloud storage, network service, cloud communication, middleware service, domain name service, security service, CDN, and big data and artificial intelligence platform. The terminal device includes but is not limited to a mobile phone, a computer, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, and the like. The terminal device and the business server can be directly or indirectly connected through a wired or wireless manner, which is not limited in the embodiments of the present application.
[0095] It can be understood that the above system architecture can be applied to lane-level navigation, which can restore a real road scene and provide a user with a fine lane positioning result. When a lane needs to be changed (for example, near a turning intersection or a highway ramp), a more fine lane-level action guide can be provided, the understanding difficulty of the user for the navigation is reduced, and the driving safety is improved.
[0096] Exemplarily, taking the terminal device 200a as a smart phone as an example, a user installs a mobile phone navigation application on the smart phone. The service server 100 sends map data to the smart phone, thereby the smart phone determines a real-time lane-level positioning result in combination with real-time positioning data (which can include the second position described above) and the map data. Based on this, the mobile phone navigation application can display the real-time lane-level positioning result.
[0097] Exemplarily, taking the terminal device 200a as a vehicle-mounted device as an example, a user installs a vehicle-mounted navigation application on the vehicle-mounted device. The service server 100 sends map data to the vehicle-mounted device, thereby the vehicle-mounted device determines a real-time lane-level positioning result in combination with real-time positioning data and the map data. Based on this, the vehicle-mounted navigation application can display the real-time lane-level positioning result.
[0098] The above system architecture can also be applied to scenarios such as automatic driving and operation vehicle management, and specific business scenarios will not be enumerated here.
[0099] Further, please refer to Figure 2 , Figure 2 is a flow diagram of a data processing method provided by an embodiment of the present application. The data processing method can be executed by a service server (for example, the service server 100 shown in the above Figure 1 , can be executed by a mobile terminal (which can be any terminal device in the terminal cluster described above Figure 1 , for example, the terminal device 200a), and can also be executed by interaction between the service server and the mobile terminal. For ease of understanding, an embodiment of the present application takes the method executed by the mobile terminal as an example for description. As shown in Figure 2 , the data processing method can at least include the following steps S101-S104.
[0100] Step S101, obtaining a first posterior speed state vector of a flow station at a first time point, the first posterior speed state vector including a first speed and a first acceleration; obtaining a first posterior position state vector of the flow station at the first time point, the first posterior position state vector including a first position and a first double-difference ambiguity; and obtaining observation data associated with the flow station at a second time point; the first time point is earlier than the second time point.
[0101] Specifically, obtaining first original observation data of the flow station at the second time point, obtaining second original observation data of a reference station associated with the flow station at the second time point, and obtaining satellite ephemeris data of a satellite associated with the flow station at the second time point; determining the first original observation data, the second original observation data, and the satellite ephemeris data as the observation data.
[0102] The reference station is a ground fixed observation station which continuously observes satellite navigation signals for a long time and transmits observation data to a data center in real time or at a fixed time through communication facilities. The flow station refers to a mobile observation station, which can be equivalent to a mobile terminal in the embodiments of the present application.
[0103] The mobile terminal can be integrated with a global satellite navigation system positioning chip to obtain observation data at a fixed time for positioning. The observation data corresponding to the flow station and the reference station respectively include carrier phase observation values and pseudo ranges. The first time can be any time after the mobile terminal starts the positioning function. If the first time is the initial time, the mobile terminal calculates the initial state through the single point positioning method, which can include the initial position, the initial speed and the initial acceleration, and assigns the corresponding variance to each state. If the first time is not the initial time, the state of the flow station (i.e. the mobile terminal) at the first time is the posterior state estimate value (including the first posterior speed state variable and the first posterior position state vector described above), which is the optimal estimate of the flow station at the first time, and its generation process is consistent with the process of generating each state variable of the flow station at the second time. The second time is later than the second time, and the first time can also be referred to as the first epoch, and the second time can also be referred to as the second epoch. It can be understood that in actual application, the scenario where the first time is not the initial time is more common.
[0104] The state variable corresponding to the flow station includes non-observation, which can specifically include the speed, acceleration, position and ambiguity of the flow station. Among them, the first speed is used to represent the speed of the flow station at the first time, the first acceleration is used to represent the acceleration of the flow station at the first time, the first position is used to represent the position of the flow station at the first time, and the first double-difference ambiguity is used to represent the double-difference ambiguity of the flow station at the first time. It can be understood that the representation meaning of the second speed, the second acceleration, the second position and the second double-difference ambiguity described below can be understood by analogy, so no further description is given.
[0105] In order to accurately position, the embodiments of the present application divide the state variables into two categories, one category of state variables including the speed and acceleration of the mobile terminal (i.e. the flow station), and the other category of state variables including the position and double-difference ambiguity of the mobile terminal. In order to facilitate description, the embodiments of the present application divide the posterior state vector at each time into the posterior speed state vector including the speed and acceleration, and the posterior position state vector including the position and double-difference ambiguity. Among them, the first posterior speed state vector is used to represent the posterior speed state vector of the flow station at the first time, and the first posterior position state vector is used to represent the posterior position state vector of the flow station at the first time.
[0106] Please see Figure 3 , Figure 3 is a scene diagram of data processing provided by the embodiments of the present application. As shown inFigure 3 As shown, the mobile terminal 302a is placed on the mobile vehicle 30a, and the mobile vehicle 30a is located in the middle lane of the three-lane at the first time. According to the first posterior speed state vector 301a and the second posterior position state vector 302c, the mobile terminal 302a can display the navigation prompt information 301a, i.e., "speed 10 m / s, acceleration 1 m / s, and 30 m to the destination", so that the user can know his / her position, speed and acceleration according to the navigation prompt information 301a.
[0107] The mobile vehicle 30a travels to the second time, and the mobile terminal 302a can obtain the first raw observation data 305a of itself at the second time, the second raw observation data 303c of the reference station 301d at the second time, and the satellite ephemeris 304c (equivalent to satellite ephemeris data) sent by the server 302d corresponding to each satellite. The first raw observation data 305c can include the pseudo-range between the satellite and the mobile terminal 302a, and the carrier phase received by the mobile terminal 302a, and the number of satellites is not limited in the embodiment of the application, and is at least two, such as Figure 3 As shown, the satellites can include satellite 301b, satellite 302b, …, satellite 303b, and the type of satellite is not limited in the embodiment of the application, and can be a GPS satellite, a Beidou satellite, etc. The second raw observation data 303c can include the pseudo-range between the reference station 301a and the satellite, and the carrier phase received by the reference station.
[0108] In step S102, the first posterior speed state vector is estimated and optimized to obtain the second speed and the second acceleration of the mobile station at the second time, and the second posterior speed state vector is generated according to the second speed and the second acceleration.
[0109] Specifically, a speed state transition matrix associated with the motion function is obtained, the first posterior speed state vector is vector estimated to obtain the to-be-optimized acceleration and the to-be-optimized speed of the mobile station at the second time, and the prior speed state vector is generated according to the to-be-optimized acceleration and the to-be-optimized speed; the prior speed state vector is vector optimized according to the speed state transition matrix, the observation data and the first posterior speed state vector, to obtain the second speed and the second acceleration of the mobile station at the second time.
[0110] The specific process of obtaining the second speed and the second acceleration of the flow station at the second time can include: obtaining a first posterior speed state covariance matrix corresponding to the first posterior speed state vector, and obtaining a second state transition covariance matrix of the flow station at the first time; generating a prior speed state covariance matrix of the flow station at the second time according to the speed state transition matrix, the first posterior speed state covariance matrix, and the second state transition covariance matrix; generating a speed observation matrix and a speed observation vector according to the observation data, and performing vector optimization processing on the prior speed state vector according to the prior speed state covariance matrix, the speed observation vector, and the speed observation matrix to obtain the second speed and the second acceleration of the flow station at the second time.
[0111] The specific process of generating the speed observation matrix and the speed observation vector according to the observation data can include: obtaining a carrier phase observation function, performing inter-epoch difference processing on the carrier phase observation function to obtain a differential carrier phase observation function; performing inter-station difference processing on the differential carrier phase observation function to obtain a double-difference carrier phase observation function; performing inter-satellite difference processing on the double-difference carrier phase observation function to obtain a triple-difference carrier phase observation function; performing linear processing on the triple-difference carrier phase observation function to obtain a linear triple-difference carrier phase observation function; and determining the speed observation matrix and the speed observation vector including a triple-difference carrier phase observation value according to the observation data and the linear triple-difference carrier phase observation function.
[0112] The specific process of obtaining the second speed and the second acceleration of the flow station at the second time can include: determining a speed estimation observation vector according to the speed observation matrix and the prior speed state vector; obtaining a second innovation vector between the speed estimation observation vector and the speed observation vector; determining a second gain matrix according to the prior speed state covariance matrix, the speed observation matrix, and a prior speed observation covariance matrix associated with the speed observation vector; and performing vector optimization on the prior speed state vector according to the second gain matrix and the second innovation vector to obtain the second speed and the second acceleration of the flow station at the second time.
[0113] It can be known from step S101 that the mobile terminal has generated the posterior state estimation value of each state variable at the first time, i.e., the first speed, the first acceleration, the first position and the first double-difference ambiguity, and then the to-be-optimized speed and the to-be-optimized acceleration at the second time can be predicted according to the first posterior speed state vector (including the first speed and the first acceleration) at the first time and the speed state transition matrix. It should be noted that the state transition matrix in the embodiment of the present application includes two types, the first type of state transition matrix is for the state variable composed of speed and acceleration, and the second type of state transition matrix is for the state variable composed of position and double-difference ambiguity. In order to facilitate description, the first type of state transition matrix is referred to as a speed state transition matrix, and the second type of state transition matrix is referred to as a position state transition matrix.
[0114] In order to accurately estimate the to-be-optimized speed and the to-be-optimized acceleration of the flow station at the second time, the Kalman filtering method is used to estimate the first posterior speed state vector in the embodiment of the present application. In this step, the state variable is the speed and the acceleration of the flow station, and then the state equation of the first posterior speed state vector can be expressed by formula (1).
[0115] (1)
[0116] In formula (1), t represents the first time, t+1 represents the second time, represents the coordinate of the first speed on the x-axis, represents the coordinate of the first speed on the y-axis, represents the coordinate of the first speed on the z-axis, represents the coordinate of the first acceleration on the x-axis, represents the coordinate of the first acceleration on the y-axis, represents the coordinate of the first acceleration on the z-axis. represents the coordinate of the to-be-optimized speed (equivalent to the prior speed state estimation value of the flow station at the second time) on the x-axis, represents the coordinate of the to-be-optimized speed on the y-axis, represents the coordinate of the to-be-optimized speed on the z-axis, represents the coordinate of the to-be-optimized acceleration (equivalent to the prior acceleration state estimation value of the flow station at the second time) on the x-axis, represents the coordinate of the to-be-optimized acceleration on the y-axis, represents the coordinate of the to-be-optimized acceleration on the z-axis. represents the time interval between the first time and the second time, which can also be referred to as a time difference operator. The first term on the right side of formula (1) represents the speed state transition matrix.
[0117] Generally, the state equation for the speed and the acceleration assumes that the mobile terminal moves in a uniform variable linear motion in a short time, and a motion equation is used. In the application scenario of the mobile terminal, in order to avoid a large acceleration value caused by abnormal data and thus a speed solving error, based on the analysis of the application scenario of the mobile terminal, the acceleration remains unchanged, and the case of keeping a high acceleration is rare. In order to improve the filtering stability, the state equation for the acceleration is modified as above. It can be understood that the element for the acceleration in the speed state transition matrix can be set according to the actual application scenario, and the application is set to 0.5.
[0118] The embodiment of the application can solve the to-be-optimized speed and the to-be-optimized acceleration of the current state based on the motion equation, the first speed and the first acceleration, and simplify formula (1) into formula (2).
[0119] (2)
[0120] In formula (2), the is equal to the left side item in formula (1), and represents a prior speed state vector, represents a speed state transition matrix, and represents a first posterior speed state vector.
[0121] The mobile terminal combines the to-be-optimized acceleration and the to-be-optimized speed to obtain the prior speed state vector. Further, the mobile terminal obtains a first posterior speed state covariance matrix corresponding to the first posterior speed state vector, and obtains a second state transition covariance matrix of the mobile station at the first time, wherein the first posterior speed state covariance matrix is used to represent the posterior estimation covariance corresponding to the first posterior speed state vector, and the second state transition covariance matrix is used to represent the error between the speed state transition matrix and the actual process. Further, the mobile terminal solves the prior estimation covariance of the prior speed state vector at the second time, that is, the prior speed state covariance matrix, specifically generates the prior speed state covariance matrix of the mobile station at the second time according to the speed state transition matrix, the first posterior speed state covariance matrix and the second state transition covariance matrix. The above process can be expressed by formula (3).
[0122] (3)
[0123] In formula (3), the represents the first posterior speed state covariance matrix, represents the transpose matrix corresponding to the first posterior speed state covariance matrix, represents the second state transition covariance matrix, which can be given by the difference between the speed state estimation value and the speed reference value in the actual test; and Represents the prior velocity state covariance matrix. Optional, During the selection process, the current speed state and acceleration state of the mobile terminal can be considered and dynamically adjusted to further improve the accuracy.
[0124] Furthermore, the mobile terminal performs vector optimization processing on the prior velocity state vector based on the observation data to obtain the carrier phase observation function corresponding to the mobile station. The carrier phase observation function can be shown as formula (4).
[0125] (4)
[0126] Among them, the formula (4) Represents a mobile station (i.e., a mobile terminal), Indicates satellite, Indicates mobile station Observation satellite The carrier phase observation value of Indicates the mobile station and satellite The ionospheric delay between Indicates the mobile station and satellite The tropospheric delay between Indicates the mobile station and satellite The phase observation wavelength between For satellite The fuzziness parameter, Indicates the receiver clock error, that is, the clock error corresponding to the mobile terminal, Indicates the satellite clock error. Indicates the mobile station and satellite The geometric distance between Expressed as the speed of light in a vacuum.
[0127] First, the original observation data only includes the carrier phase observation value in formula (4), so the carrier phase observation function needs to be processed. The carrier phase observation value has high accuracy but there are ambiguity parameters. Generally speaking, when there is no cycle slip, the ambiguity parameters remain unchanged between epochs. Therefore, the carrier phase observation function is first subjected to inter-epoch differential processing, and the differential carrier phase observation function for time (epoch) is obtained, as shown in formula (5).
[0128] (5)
[0129] in, is a time difference operator, which can be set according to the actual application scenario. The embodiment of the present application does not limit the value of the time difference operator; represents the inter-epoch difference value of the carrier phase observation value, an epoch difference value representing a geometric distance, an epoch difference value representing tropospheric delay, an epoch difference value representing ionospheric delay, an epoch difference value representing ambiguity, an epoch difference value representing clock error of the mobile terminal, an epoch difference value representing satellite clock error.
[0130] Generally, when the sampling rate is 1s, ionospheric and tropospheric changes slowly over time, and the ambiguity parameter is constant without cycle slip, so are approximately equal to 0. Thus, formula (5) can be simplified as formula (6) as follows.
[0131] (6)
[0132] wherein the epoch difference of satellite clock error (i.e. clock drift) can be calculated according to the parameters in the obtained satellite ephemeris, and the clock drift of the clock error corresponding to the mobile terminal is related to the device, and since its coefficient is the speed of light, it has a great impact on the final solution. To solve this problem, the mobile terminal groups the second original observation data of the reference station with the first original observation data of the rover station into a triple-difference carrier phase observation function, which is first analogized to formula (4) - formula (6) to obtain the differential carrier phase observation function of the reference station for the epoch, as shown in formula (7).
[0133] (7)
[0134] wherein in formula (7) represents the reference station, represents the reference station observing the satellite , and represents the epoch difference value of the geometric distance between the reference station and the satellite , represents the epoch difference value of the clock error corresponding to the reference station.
[0135] Further, the mobile terminal performs inter-station difference processing on formula (6) and formula (7) to obtain a double-difference carrier phase observation function for the satellite , which can be expressed by formula (8).
[0136] (8)
[0137] wherein in formula (8) represents an inter-station difference operator, represents , and The inter-station difference value between express as well as The difference between stations, express as well as The inter-station difference value.
[0138] The above formula (4)-formula (8) is the mobile terminal for satellite The double difference (including inter-epoch difference and inter-station difference) processing is done by analogy with formula (4)-formula (8). The mobile terminal is close to the satellite. Perform double difference processing to obtain the satellite The double-difference carrier phase observation function is obtained. Further, the two double-difference carrier phase observation functions are subjected to inter-satellite difference processing to obtain the triple-difference carrier phase observation function, which can be expressed by formula (9).
[0139] (9)
[0140] Among them, the formula (9) represents the double difference operator, including the inter-station difference operator and the inter-satellite difference operator, express as well as The inter-satellite difference between According to the above The meaning can be understood by analogy and will not be elaborated here; express as well as The inter-satellite difference between According to the above The meaning can be understood by analogy and will not be elaborated here.
[0141] Among them, the reference station in the above formula Can be equivalent to Figure 3 The reference station 301d shown in the example, the satellite Can be Figure 3 Any satellite in the satellite cluster of the example, such as satellite 301b, satellite Can be Figure 3 Another satellite in the illustrated satellite constellation, such as satellite 302b.
[0142] Furthermore, the mobile terminal performs linear processing on the triple-difference carrier phase observation function to obtain a linear triple-difference carrier phase observation function, which can be expressed by formula (10).
[0143] (10)
[0144] wherein the formula (10) is represents the first position, represents the first speed, represents the satellite at the first time, represents the satellite at the first time, represents the satellite at the first time, represents the satellite at the first time, and , and can be solved by the satellite ephemeris data, so that can be solved.
[0145] The embodiment of the application adopts linear Kalman filtering to calculate observation update, wherein the formula (9) is an observation quantity for the speed and the acceleration, which is taken as a speed observation vector (namely, an observation vector for the state variable of the speed and the acceleration), a 3*3 matrix is obtained, which is spliced with the matrix corresponding to the formula (10) to obtain an observation matrix for the state variable of the speed and the acceleration, in order to facilitate description, the matrix is referred to as a speed observation matrix.
[0146] Further, the mobile terminal determines a speed estimation observation vector according to the speed observation matrix and the prior speed state vector, wherein the speed estimation observation vector includes estimation observation values corresponding to the speed and the acceleration respectively, a second innovation vector between the speed estimation observation vector and the speed observation vector, namely, an error between the speed estimation observation vector and the speed observation vector, the above process can be expressed by the formula (11).
[0147] (11)
[0148] wherein the formula (11) is equal to , represents the speed observation vector, , represents the speed observation matrix, is a conversion matrix from the state variable (herein, the speed and the acceleration) to the measurement (observation), represents the correlation between the state (herein, the speed and the acceleration) and the observation (herein, the carrier phase observation value), represents the prior speed state vector, represents the speed estimation observation vector, represents the second innovation vector.
[0149] Further, the mobile terminal determines a second gain matrix according to the prior speed state covariance matrix, the speed observation matrix, and a prior speed observation covariance matrix associated with the speed observation vector; performs vector optimization on the prior speed state vector according to the second gain matrix and a second innovation vector, to obtain a second speed and a second acceleration of the mobile station at the second time; and the above process can be represented by formula (12).
[0150] (12)
[0151] wherein, in formula (12), the represents the prior speed observation covariance matrix, represents the second gain matrix, represents the second posterior speed state vector, including the second speed obtained after observation optimization of the to-be-optimized speed, and the second acceleration obtained after observation optimization of the to-be-optimized acceleration; represents a unit matrix, represents a posterior speed state covariance matrix of the mobile station at the second time, that is, corresponding covariance matrix.
[0152] It can be known from the above that the embodiment of the application aims at the problem that the cycle slip of the carrier phase observation data of the mobile terminal is frequent and the ambiguity is difficult to converge, and improves the convergence speed of the ambiguity in the process of positioning of the mobile terminal using the carrier phase based on ADR data speed measurement.
[0153] In step S103, the first posterior position state vector is subjected to vector prediction processing according to the second posterior speed state vector, to obtain a to-be-optimized position and a to-be-optimized double-difference ambiguity of the mobile station at the second time, and a prior position state vector is generated according to the to-be-optimized position and the to-be-optimized double-difference ambiguity.
[0154] Specifically, a state transition matrix associated with the second posterior speed state vector and for the first position is obtained; a position state transition matrix is determined according to the state transition matrix for the first position and a state transition matrix for the first double-difference ambiguity; and the first posterior position state vector is subjected to vector prediction processing according to the position state transition matrix, to obtain the to-be-optimized position and the to-be-optimized double-difference ambiguity of the mobile station at the second time.
[0155] It can be understood that the first speed represents the average speed between the first time and the previous time thereof, and thus if the position parameter is updated according to the first posterior speed state vector, the accuracy of the position parameter after the update is poor, and then the variance between the observation for the position and the state for the position is large, which finally leads to poor positioning effect. Based on the above-mentioned existing defects, the embodiments of the present application separate the state variables composed of speed and acceleration, and the state variables composed of position and double-difference ambiguity, that is, first, the first posterior speed state vector is filtered and updated to obtain the average speed from the first time to the second time, which process please refer to the above step S102, and then the position parameter is state updated according to the second posterior speed state vector, in this step, the state variable is the position of the rover station and the ambiguity (actually the double-difference ambiguity), first, the state equation including the second posterior speed state vector and the first position is constructed, which can be expressed by formula (13).
[0156] (13)
[0157] In formula (13), x2, y2 and z2 represent the coordinates of the second posterior speed state vector on the x-axis, the y-axis and the z-axis respectively, represents the prior position estimate value of the rover station at the second time, represents the first position, represents the second speed, represents the second acceleration.
[0158] In order to write the above formula (13) as a standard equation, the embodiments of the present application increase the homogeneous term 1 in the position parameter, and the position state variable is , and formula (13) can be written as formula (14) as follows.
[0159] (14)
[0160] In formula (14), x2, y2 and z2 represent the coordinates of the second posterior speed state vector on the x-axis, the y-axis and the z-axis respectively, represents the coordinate of the second posterior speed state vector on the x-axis, represents the coordinate of the second posterior speed state vector on the y-axis, represents the coordinate of the second posterior speed state vector on the z-axis; represents the coordinate of the first position on the x-axis, represents the coordinate of the first position on the y-axis, represents the coordinate of the first position on the z-axis; represents the coordinate of the to-be-optimized position (equivalent to the prior position state estimate value of the rover station at the second time) on the x-axis, represents the coordinate of the to-be-optimized position on the y-axis, represents the coordinate of the to-be-optimized position on the z-axis; represents the state transition matrix for the position variable.
[0161] Since the ambiguity parameter remains unchanged between epochs, the state equation for the ambiguity can be expressed by formula (15).
[0162] (15)
[0163] wherein, in formula (15), the represents the first double-difference ambiguity, represents the to-be-optimized double-difference ambiguity of the flow station at the second time, represents a state transition matrix for the double-difference ambiguity, and the dimension is equal to the number of satellites.
[0164] Further, the mobile terminal splices the state transition matrix for the first position and the state transition matrix for the first double-difference ambiguity to obtain a position state transition matrix for the position and the double-difference ambiguity, and in the same way, by splicing the to-be-optimized position and the to-be-optimized double-difference ambiguity, an a priori position state vector is obtained, and the splicing process can be a combination between the above formula (14) and the above formula (15), to obtain the following formula (16).
[0165] (16)
[0166] wherein, in formula (16), the represents the a priori position state vector, including the to-be-optimized position and the to-be-optimized double-difference ambiguity, represents the position state transition matrix, represents the first a posteriori position state vector.
[0167] As known above, in order to solve the problem that there are a large number of gross errors in the observation data of the mobile terminal, the second a posteriori velocity state vector is obtained based on the ADR solution, and the high-precision a priori position estimation value (i.e., the to-be-optimized position) is calculated based on the second a posteriori velocity state vector.
[0168] In step S104, the a priori position state vector is vector-optimized according to the observation data and the first a posteriori position state vector, to obtain the second position and the second double-difference ambiguity of the flow station at the second time.
[0169] Specifically, a first posterior position state covariance matrix corresponding to the first posterior position state vector is obtained, and a first state transition covariance matrix of the rover station at the first time is obtained; an a priori position state covariance matrix of the rover station at the second time is generated according to the position state transition matrix, the first posterior position state covariance matrix and the first state transition covariance matrix; a double-difference carrier phase observation function associated with the first posterior position state vector and a double-difference pseudorange observation function associated with the first posterior position state vector are obtained; the double-difference carrier phase observation function and the double-difference pseudorange observation function are combined to form a double-difference observation function, and the double-difference observation function is linearly processed to obtain a linear double-difference observation function; a position observation matrix for the first posterior position state vector and a position observation vector including a double-difference pseudorange observation value and a double-difference carrier phase observation value are generated according to the observation data and the linear double-difference observation function; the a priori position state vector is subjected to vector optimization processing according to the a priori position state covariance matrix, the position observation vector and the position observation matrix, to obtain a second position of the rover station at the second time and a second double-difference ambiguity.
[0170] Further, the mobile terminal obtains a first posterior position state covariance matrix corresponding to the first posterior position state vector, and obtains a first state transition covariance matrix of the rover station at the first time, wherein the first posterior position state covariance matrix is used to represent an a posteriori estimation covariance corresponding to the first posterior position state vector, and the first state transition covariance matrix is used to represent an error between the position state transition matrix and an actual process. Further, the mobile terminal solves an a priori estimation covariance for the a priori position state vector at the second time, i.e., the a priori position state covariance matrix, specifically, generates the a priori position state covariance matrix of the rover station at the second time according to the position state transition matrix, the first posterior position state covariance matrix and the first state transition covariance matrix. The above process can be expressed by formula (17).
[0171] (17)
[0172] In formula (17), x1 represents the first posterior position state vector, x2 represents the a priori position state vector, P1 represents the first posterior position state covariance matrix, P2 represents the a priori position state covariance matrix, H1 represents the position state transition matrix, H2 represents the first state transition covariance matrix, and I represents an identity matrix. P1 represents the first posterior position state covariance matrix, P1 represents the first posterior position state covariance matrix, P2 represents the a priori position state covariance matrix, for a position parameter, a covariance of a difference between a result after state updating in a test process and a reference coordinate can be counted as an empirical value, and for an ambiguity parameter, it is a diagonal matrix, and a diagonal element is 1e-8; P2 represents the a priori position state covariance matrix. Optionally, In the selection process of P2, the current position state of the mobile terminal can be considered for dynamic adjustment, so as to further improve the accuracy.
[0173] Further, the mobile terminal obtains a double-difference carrier phase observation function associated with the first posterior position state vector and a double-difference pseudo-range observation function associated with the first posterior position state vector, wherein the double-difference carrier phase observation function is a function generated after inter-station difference processing and inter-satellite difference processing are performed on the carrier phase observation function, and the double-difference pseudo-range observation function is a function generated after inter-station difference processing and inter-satellite difference processing are performed on the pseudo-range observation function. The generation process of the two double-difference functions can refer to the generation process of the triple-difference carrier phase observation function in step S102, and the difference is that the inter-epoch difference processing is performed on the carrier phase observation function in step S102, and thus the description is not repeated here.
[0174] The mobile terminal combines the double-difference carrier phase observation function and the double-difference pseudo-range observation function to obtain a double-difference observation function, as shown in equation (18).
[0175] (18)
[0176] In equation (18), the double-difference carrier phase observation value is represented by , the double-difference geometric distance is represented by , the double-difference ambiguity is represented by , and the double-difference pseudo-range observation value is represented by , wherein , and can be determined by the first observation raw data and the second observation raw data.
[0177] The embodiment of the application can write equation (18) as equation (19) as follows:
[0178] (19)
[0179] In equation (19), the state variable is represented by , including the position and the double-difference ambiguity, and the observation quantity is represented by , including the double-difference pseudo-range observation value and the double-difference carrier phase observation value.
[0180] Further, the mobile terminal performs linear processing on the double-difference observation function to obtain a linear double-difference observation function, as shown in equation (20).
[0181] (20)
[0182] Therefore, the mobile terminal can obtain the position observation matrix for the first posterior position state vector and the position observation vector including the double-difference pseudo-range observation value and the double-difference carrier phase observation value from the linear double-difference observation function.
[0183] Subsequently, the mobile terminal performs vector optimization processing on the prior position state vector according to the prior position state covariance matrix, the position observation vector, and the position observation matrix, to obtain the second position of the mobile station at the second time and the second double-difference ambiguity, which will not be described herein and can be seen from the following Figure 6 It can be understood that, based on the prior position estimate obtained in step S103, the embodiment of the present application can reduce the influence of abnormal observation data on the position of the mobile station at the second time, and improve the positioning accuracy.
[0184] Please refer to Figure 4 , Figure 4 is a scene diagram of data processing provided by the embodiment of the present application. As shown in Figure 4 , after determining the second position, the mobile terminal can obtain road information of the second position from the map data, render the road information, and display a road video frame associated with the road information, as shown in Figure 4 , the road video frame can include navigation prompt information 302a, as shown in Figure 4 , for example, "speed 10 m / s, 19 m to the destination, please slow down and drive to the right lane", at this time, the user can perform a speed reduction operation and a right turning operation according to the prompt; optionally, the mobile terminal can generate navigation prompt voice corresponding to the navigation prompt information 302a and play it in real time.
[0185] Please refer to Figure 5 , Figure 5 is a flow diagram of a data processing method provided by the embodiment of the present application. As shown in Figure 5 , the data processing method can include steps S201-S207.
[0186] Step S201, system initialization. The mobile terminal calculates the initial position, initial speed, and other initial states at the initial time through single point positioning, and assigns appropriate variances.
[0187] Step S202, velocity and position parameters. If the mobile terminal is at the initial time, the velocity and position parameters are the initial values calculated by the mobile terminal through single point positioning, and if the mobile terminal is not at the initial time, the velocity and position parameters are the posteriori estimate values at the previous time (for example, the first time described above).
[0188] Step S203, observation data. The mobile terminal obtains observation data at the current time (for example, the second time described above), which includes first raw observation data obtained by the mobile terminal itself, second raw observation data sent by the reference station, and satellite ephemeris data.
[0189] Step S204, velocity parameter state updating. The mobile terminal performs vector prediction processing on the first posterior velocity state vector composed of the first velocity and the first acceleration, to obtain a prior velocity state vector of the mobile terminal at the second time.
[0190] Step S205, velocity parameter observation updating. The mobile terminal performs vector optimization processing on the prior velocity state vector based on the observation data, to obtain a second posterior velocity state vector of the mobile terminal at the second time.
[0191] Step S206, position parameter state updating. The mobile terminal performs vector prediction processing on the first posterior position state vector composed of the first position and the first double-difference ambiguity, to obtain a prior position state vector of the mobile terminal at the second time.
[0192] Step S207, position parameter observation updating to be robust. The mobile terminal calculates the error between the estimated observation value and the actual observation value based on the prior position estimate (i.e. the position to be optimized), to determine whether the actual observation value has gross errors. The actual observation value with large gross errors is subjected to weight reduction processing, to obtain a second position. Similarly, a second double-difference ambiguity is obtained.
[0193] To sum up, the embodiment of the application can obtain a high-precision velocity estimate (i.e. the second velocity) based on the three-difference carrier phase difference method. The process can be completed in a single epoch, without the need for long-time convergence. Further, the second velocity can improve the precision of the position parameter state equation. Therefore, the embodiment of the application can not only accelerate the convergence speed of the position parameter and the ambiguity, but also improve the positioning precision of the second position.
[0194] In addition, the embodiment of the application separates the velocity updating and the position updating. The velocity is first subjected to filter updating to obtain the average velocity from the first time to the second time, and then the position parameter is subjected to state updating. Through the adjustment, the precision of the position parameter obtained by the state updating can be greatly improved. That is, by separating the filter of the position parameter and the velocity parameter, a high-precision position parameter estimate can be obtained, the variance of the information parameter is reduced, the robust Kalman filter can act on smaller gross errors, and therefore the positioning precision can be improved.
[0195] It can be known from the above that the embodiment of the application performs estimation and optimization processing on the first posterior velocity state vector at the first time to obtain a second posterior velocity state vector at the second time, and then performs vector estimation processing on the first posterior position state vector at the first time based on the second posterior velocity state vector to obtain a prior position state vector at the second time; by replacing the first posterior velocity state vector with the second posterior velocity state vector, that is, by separating the first posterior velocity state vector and the first posterior position state vector, the accuracy of the prior position state vector can be improved, and then when the vector optimization processing is performed on the prior position state vector based on the observation data and the first posterior position state vector, the high-precision second position of the flow station at the second time can be obtained, that is, the positioning accuracy of the flow station can be improved.
[0196] Further, please refer to Figure 6 , Figure 6 is a flow diagram of a data processing method provided by the embodiment of the application. As Figure 6 shown, the data processing process can include the following steps S1041-S1046, and steps S1041-S1046 are a specific embodiment of step S104 in the embodiment corresponding to Figure 2 .
[0197] Step S1041, determining a position estimation observation vector according to the position observation matrix and the prior position state vector.
[0198] Step S1042, obtaining a first innovation vector between the position estimation observation vector and the position observation vector.
[0199] In combination with the description of steps S1014-S1042, the position estimation observation vector includes estimated observation values corresponding to the position and double-difference ambiguity respectively, and the first innovation vector between the position estimation observation vector and the position observation vector, that is, the error between the position estimation observation vector and the position observation vector, can be obtained, and the above process can be expressed by formula (21).
[0200] (21)
[0201] In formula (21), z represents the position estimation observation vector, z represents the first innovation vector.
[0202] Step S1043, determining a target prior position observation covariance matrix according to the prior position observation covariance matrix, the prior position state covariance matrix, the position observation matrix and the first innovation vector associated with the position observation vector.
[0203] Specifically, based on the position observation matrix, the prior position state covariance matrix and the prior position observation covariance matrix associated with the position observation vector, the innovation covariance matrix corresponding to the first innovation vector is generated; the first innovation vector is normalized according to the innovation covariance matrix to obtain a normalized innovation vector; the kernel function matrix is determined according to the normalized innovation vector, and the target prior position observation covariance matrix is determined according to the prior position observation covariance matrix and the kernel function matrix.
[0204] Among them, the normalized innovation vector includes the normalized innovation value e i , i is a positive integer, and i is less than or equal to the number of dimensions of the normalized innovation vector; the kernel function matrix includes the kernel function value The specific process of determining the kernel function matrix according to the normalized innovation vector may include: if the normalized innovation value e i If the corresponding absolute value is less than or equal to the absolute value threshold, the target value is determined as the kernel function value. ; If the normalized innovation value e i If the corresponding absolute value is greater than the absolute value threshold, the ratio between the absolute value threshold and the absolute value is determined as the kernel function value. ; Determine the kernel function matrix according to the kernel function value corresponding to each normalized new information value.
[0205] The process of the mobile terminal generating the innovation covariance matrix corresponding to the first innovation vector can be expressed by formula (22).
[0206] (twenty two)
[0207] Among them, in formula (22) represents the prior position observation covariance matrix, represents the innovation covariance matrix.
[0208] The embodiment of the present application uses robust Kalman filtering to observe and update the position parameters, which is similar to the above Figure 3 Unlike the observation update of the velocity parameters in step S102 (i.e., vector optimization of the prior velocity state vector), this step uses the first new information vector to downweight the prior position state vector with large gross errors to improve positioning accuracy. The mobile terminal first determines the target prior position observation covariance matrix. The determination process can be seen in Formula (23) and Formula (24).
[0209] (twenty three)
[0210] (twenty four)
[0211] Among them, in formula (23) represents the first innovation vector elements, represents the diagonal of the innovation covariance matrix elements, represents the first in the normalized innovation vector elements; β represents the absolute value threshold, which can be adjusted according to the actual application scenario. represents the kernel function matrix; in formula (24) Represents the target prior position observation covariance matrix.
[0212] Step S1044: Generate a first gain matrix according to the priori position state covariance matrix, the target priori position observation covariance matrix, and the position observation matrix.
[0213] Step S1045 : performing vector optimization processing on the prior position state vector according to the first gain matrix and the first innovation vector to obtain a second position and a second double-difference ambiguity of the mobile station at a second moment.
[0214] Step S1046, determining the second a posteriori position state covariance matrix of the mobile station at the second moment based on the first gain matrix, the position observation matrix and the prior position state covariance matrix; the second a posteriori position state covariance matrix refers to the covariance matrix corresponding to the second a posteriori position state vector; the second a posteriori position state vector includes the second position and the second double-difference ambiguity; the second a posteriori position state covariance matrix is used to generate the third position of the mobile station at the third moment; the second moment is earlier than the third moment.
[0215] This application implements filtering by separating position and velocity parameters to obtain high-precision position parameter predictions, reducing the variance of the innovation parameters. This allows the robust Kalman filter to work on smaller gross errors, further improving positioning accuracy. Optionally, the robust operation can be combined with the surrounding three-dimensional model in the map to downgrade satellites that may be obstructed.
[0216] Combined with the description of steps S1044-S1046, the first new information vector reflects the error between the current observation and the state prediction value. If there is a gross error in the observation value, it can be calculated through anti-error Kalman filtering to reduce the impact of the gross error on the positioning result and generate a high-precision second position and a second double-difference ambiguity.
[0217] Specifically, the mobile terminal determines the first gain matrix based on the prior position state covariance matrix, the position observation matrix and the target prior position observation covariance matrix; based on the first gain matrix and the first new information vector, the prior position state vector is vector optimized to obtain the second position and the second double-difference ambiguity of the mobile station at the second moment; the above process can be expressed by formula (25).
[0218] (25)
[0219] wherein, in the formula (25), x^ (1) represents the first posterior velocity state vector of the first time point, x^ (2) represents the second posterior velocity state vector of the second time point, and x^ (2) = x^ (1) + K^ (2) * (z^ (2) - H^ (2) * x^ (1) ) represents the second posterior velocity state vector of the second time point obtained by performing the estimation and optimization on the first posterior velocity state vector of the first time point. H^ (2) represents the first gain matrix, and x^ (2) represents the posterior position state covariance matrix of the flow station at the second time point, i.e. x^ (2) represents the posterior position state covariance matrix of the flow station at the second time point, i.e.
[0220] As known above, the embodiment of the application performs estimation and optimization on the first posterior velocity state vector of the first time point to obtain the second posterior velocity state vector of the second time point, and then generates the prior position state vector of the second time point based on the second posterior velocity state vector and the first posterior position state vector of the first time point. By replacing the first posterior velocity state vector with the second posterior velocity state vector, i.e. by separating the first posterior velocity state vector and the first posterior position state vector, the accuracy of the prior position state vector can be improved, and thus the accuracy of the second position of the flow station at the second time point can be improved, i.e. the positioning accuracy of the flow station can be improved.
[0221] Further, please refer to Figure 7 , Figure 7 is a structural schematic diagram of a data processing device provided by the embodiment of the application. The data processing device can be a computer program (including program code) running in a computer device, for example, the data processing device is an application software; the device can be used to execute the corresponding steps in the method provided by the embodiment of the application. As shown in Figure 7 the data processing device 1 can include: an acquisition data module 11, a first generation module 12, a second generation module 13, and a third generation module 14.
[0222] The acquisition data module 11 is configured to acquire the first posterior velocity state vector of the flow station at the first time point, which includes a first velocity and a first acceleration, acquire the first posterior position state vector of the flow station at the first time point, which includes a first position and a first double-difference ambiguity, and acquire observation data associated with the flow station at the second time point; the first time point is earlier than the second time point.
[0223] The first generation module 12 is configured to perform estimation and optimization on the first posterior velocity state vector to obtain a second velocity and a second acceleration of the flow station at the second time point, and generate a second posterior velocity state vector according to the second velocity and the second acceleration.
[0224] The second generation module 13 is configured to perform vector estimation on the first posterior position state vector according to the second posterior velocity state vector to obtain a to-be-optimized position and a to-be-optimized double-difference ambiguity of the flow station at the second time point, and generate a prior position state vector according to the to-be-optimized position and the to-be-optimized double-difference ambiguity.
[0225] The third generating module 14 is configured to perform vector optimization on the prior position state vector according to the observation data and the first posterior position state vector, to obtain the second position of the moving station at the second time and the second double-difference ambiguity.
[0226] The specific function implementation manners of the data obtaining module 11, the first generating module 12, the second generating module 13 and the third generating module 14 can be referred to the above Figure 2 The steps S101-S104 in the corresponding embodiment will not be repeated here.
[0227] Please refer to Figure 7 The second generating module 13 can include a first obtaining unit 131, a first determining unit 132 and a first processing unit 133.
[0228] The first obtaining unit 131 is configured to obtain a state transition matrix for the first position associated with the second posterior velocity state vector;
[0229] The first determining unit 132 is configured to determine a position state transition matrix according to the state transition matrix for the first position and the state transition matrix for the first double-difference ambiguity.
[0230] The first processing unit 133 is configured to perform vector prediction on the first posterior position state vector according to the position state transition matrix, to obtain the to-be-optimized position and the to-be-optimized double-difference ambiguity of the moving station at the second time.
[0231] The specific function implementation manners of the first obtaining unit 131, the first determining unit 132 and the first processing unit 133 can be referred to the above Figure 2 The step S103 in the corresponding embodiment will not be repeated here.
[0232] Please refer to Figure 7 The third generating module 14 can include a second obtaining unit 141, a first generating unit 142, a third obtaining unit 143, a second processing unit 144, a second generating unit 145 and a third processing unit 146.
[0233] The second obtaining unit 141 is configured to obtain a first posterior position state covariance matrix corresponding to the first posterior position state vector, and obtain a first state transition covariance matrix of the moving station at the first time.
[0234] The first generating unit 142 is configured to generate a prior position state covariance matrix of the moving station at the second time according to the position state transition matrix, the first posterior position state covariance matrix and the first state transition covariance matrix.
[0235] The third obtaining unit 143 is configured to obtain a double-difference carrier phase observation function associated with the first posterior position state vector and a double-difference pseudo-range observation function associated with the first posterior position state vector.
[0236] The second processing unit 144 is configured to combine the double-difference carrier phase observation function and the double-difference pseudo-range observation function into a double-difference observation function, and perform linear processing on the double-difference observation function to obtain a linear double-difference observation function.
[0237] The second generating unit 145 is configured to generate, according to the observation data and the linear double-difference observation function, a position observation matrix for the first posterior position state vector and a position observation vector including the double-difference pseudo-range observation value and the double-difference carrier phase observation value.
[0238] The third processing unit 146 is configured to perform vector optimization processing on the prior position state vector according to the prior position state covariance matrix, the position observation vector and the position observation matrix to obtain the second position of the rover station at the second time and the second double-difference ambiguity.
[0239] The specific function implementation manners of the second obtaining unit 141, the first generating unit 142, the third obtaining unit 143, the second processing unit 144, the second generating unit 145 and the third processing unit 146 can be referred to the above Figure 2 Corresponding to step S104 in the embodiment, details are not repeated here.
[0240] Please refer to Figure 7 The third processing unit 146 can include a first determining sub-unit 1461, a first obtaining sub-unit 1462, a second determining sub-unit 1463, a first generating sub-unit 1464 and a second generating sub-unit 1465.
[0241] The first determining sub-unit 1461 is configured to determine a position estimation observation vector according to the position observation matrix and the prior position state vector.
[0242] The first obtaining sub-unit 1462 is configured to obtain a first innovation vector between the position estimation observation vector and the position observation vector.
[0243] The second determining sub-unit 1463 is configured to determine a target prior position observation covariance matrix according to a prior position observation covariance matrix associated with the position observation vector, the prior position state covariance matrix, the position observation matrix and the first innovation vector.
[0244] The first generating sub-unit 1464 is configured to generate a first gain matrix according to the prior position state covariance matrix, the target prior position observation covariance matrix and the position observation matrix.
[0245] The second generating sub-unit 1465 is configured to perform vector optimization on the prior position state vector according to the first gain matrix and the first innovation vector, to obtain the second position and the second double-difference ambiguity of the rover station at the second moment.
[0246] The specific function implementation of the first determining sub-unit 1461, the first obtaining sub-unit 1462, the second determining sub-unit 1463, the first generating sub-unit 1464 and the second generating sub-unit 1465 can be referred to the above Figure 6 Corresponding to steps S1041-S1045 in the above embodiment, details are not repeated here.
[0247] Please refer to Figure 7 The third processing unit 146 can further include a third determining sub-unit 1466.
[0248] The third determining sub-unit 1466 is configured to determine a second posterior position state covariance matrix of the rover station at the second moment according to the first gain matrix, the position observation matrix and the prior position state covariance matrix; the second posterior position state covariance matrix refers to a covariance matrix corresponding to a second posterior position state vector; the second posterior position state vector includes the second position and the second double-difference ambiguity; the second posterior position state covariance matrix is used to generate a third position of the rover station at a third moment; the second moment is earlier than the third moment.
[0249] The specific function implementation of the third determining sub-unit 1466 can be referred to the above Figure 6 Corresponding to step S1046 in the above embodiment, details are not repeated here.
[0250] Please refer to Figure 7 The second determining sub-unit 1463 can include a first processing sub-unit 14631, a second processing sub-unit 14632 and a third processing sub-unit 14633.
[0251] The first processing sub-unit 14631 is configured to generate an innovation covariance matrix corresponding to the first innovation vector according to the position observation matrix, the prior position state covariance matrix and a prior position observation covariance matrix associated with the position observation vector;
[0252] The second processing sub-unit 14632 is configured to perform normalization processing on the first innovation vector according to the innovation covariance matrix, to obtain a normalized innovation vector;
[0253] The third processing sub-unit 14633 is configured to determine a kernel function matrix according to the normalized innovation vector, and determine a target prior position observation covariance matrix according to the prior position observation covariance matrix and the kernel function matrix.
[0254] The specific function implementation of the first processing subunit 14631, the second processing subunit 14632, and the third processing subunit 14633 can be referred to the above Figure 6 Corresponding to step S1043 in the above embodiment, details are not repeated here.
[0255] Please refer to Figure 7 The normalized innovation vector includes normalized innovation values e i i is a positive integer, and i is less than or equal to the dimension number of the normalized innovation vector; the kernel function matrix includes kernel function values ;
[0256] The third processing subunit 14633 is specifically configured to determine the target value as the kernel function value i if the absolute value of the corresponding normalized innovation value e ;
[0257] The third processing subunit 14633 is specifically configured to determine the target value as the kernel function value i if the absolute value of the corresponding normalized innovation value e ;
[0258] The third processing subunit 14633 is specifically configured to determine the kernel function matrix according to the kernel function value corresponding to each normalized innovation value.
[0259] The specific function implementation of the third processing subunit 14633 can be referred to the above Figure 6 Corresponding to step S1043 in the above embodiment, details are not repeated here.
[0260] Please refer to Figure 7 The first generation module 12 can include a fourth processing unit 121 and a fifth processing unit 122.
[0261] The fourth processing unit 121 is configured to obtain a speed state transition matrix associated with a motion function, perform vector prediction processing on a first posterior speed state vector to obtain a to-be-optimized acceleration and a to-be-optimized speed of the flow station at the second time, and generate a prior speed state vector according to the to-be-optimized acceleration and the to-be-optimized speed.
[0262] The fifth processing unit 122 is configured to perform vector optimization processing on the prior speed state vector according to the speed state transition matrix, observation data, and the first posterior speed state vector to obtain a second speed and a second acceleration of the flow station at the second time.
[0263] The specific function implementation of the fourth processing unit 121 and the fifth processing unit 122 can be referred to the aboveFigure 2 Corresponding to step S102 in the embodiment, details are not repeated here.
[0264] Please refer to Figure 7 The fifth processing unit 122 can include a second acquisition sub-unit 1221, a third generation sub-unit 1222, and a fourth generation sub-unit 1223.
[0265] The second acquisition sub-unit 1221 is configured to acquire a first posteriori velocity state covariance matrix corresponding to the first posteriori velocity state vector, and acquire a second state transition covariance matrix of the flow station at the first time.
[0266] The third generation sub-unit 1222 is configured to generate a priori velocity state covariance matrix of the flow station at the second time according to the velocity state transition matrix, the first posteriori velocity state covariance matrix, and the second state transition covariance matrix.
[0267] The fourth generation sub-unit 1223 is configured to generate a velocity observation matrix and a velocity observation vector according to the observation data, and perform vector optimization processing on the priori velocity state vector according to the priori velocity state covariance matrix, the velocity observation vector, and the velocity observation matrix, to obtain the second velocity and the second acceleration of the flow station at the second time.
[0268] The specific function implementation of the second acquisition sub-unit 1221, the third generation sub-unit 1222, and the fourth generation sub-unit 1223 can refer to the above Figure 2 Corresponding to step S102 in the embodiment, details are not repeated here.
[0269] Please refer to Figure 7 The fourth generation sub-unit 1223 can include a fourth processing sub-unit 12231, a fifth processing sub-unit 12232, a sixth processing sub-unit 12233, and a seventh processing sub-unit 12234.
[0270] The fourth processing sub-unit 12231 is configured to acquire a carrier phase observation function, and perform inter-epoch difference processing on the carrier phase observation function to obtain a differential carrier phase observation function.
[0271] The fifth processing sub-unit 12232 is configured to perform inter-station difference processing on the differential carrier phase observation function to obtain a double-difference carrier phase observation function.
[0272] The sixth processing sub-unit 12233 is configured to perform inter-satellite difference processing on the double-difference carrier phase observation function to obtain a triple-difference carrier phase observation function.
[0273] The seventh processing sub-unit 12234 is configured to perform linear processing on the triple-difference carrier phase observation function to obtain a linear triple-difference carrier phase observation function.
[0274] The seventh processing subunit 12234 is further configured to determine a velocity observation matrix and a velocity observation vector including triple difference carrier phase observations according to the observation data and the linear triple difference carrier phase observation function.
[0275] The specific function implementation manners of the fourth processing subunit 12231, the fifth processing subunit 12232, the sixth processing subunit 12233 and the seventh processing subunit 12234 can refer to the above Figure 2 Corresponding to step S102 in the above embodiment, details are not repeated here.
[0276] Please refer to Figure 7 The sixth processing subunit 12233 is specifically configured to determine a velocity estimation observation vector according to the velocity observation matrix and the prior velocity state vector.
[0277] The sixth processing subunit 12233 is further configured to obtain a second innovation vector between the velocity estimation observation vector and the velocity observation vector.
[0278] The sixth processing subunit 12233 is further configured to determine a second gain matrix according to the prior velocity state covariance matrix, the velocity observation matrix and a prior velocity observation covariance matrix associated with the velocity observation vector.
[0279] The sixth processing subunit 12233 is further configured to perform vector optimization on the prior velocity state vector according to the second gain matrix and the second innovation vector, to obtain the second velocity and the second acceleration of the mobile station at the second time.
[0280] The specific function implementation manner of the sixth processing subunit 12233 can refer to the above Figure 2 Corresponding to step S102 in the above embodiment, details are not repeated here.
[0281] Please refer to Figure 7 The data acquisition module 11 can include a fourth acquisition unit 111 and a second determination unit 112.
[0282] The fourth acquisition unit 111 is configured to acquire first original observation data of the mobile station at the second time, acquire second original observation data of a reference station associated with the mobile station at the second time, and acquire satellite ephemeris data of a satellite associated with the mobile station at the second time.
[0283] The second determination unit 112 is configured to determine the first original observation data, the second original observation data and the satellite ephemeris data as the observation data.
[0284] The specific function implementation manners of the fourth acquisition unit 111 and the second determination unit 112 can be referred to the above Figure 2 Corresponding to step S101 in the embodiment, details are not repeated here.
[0285] As known above, the embodiment of the application first performs estimation and optimization processing on the first posterior speed state vector at the first time to obtain the second posterior speed state vector at the second time, and then performs vector estimation processing on the first posterior position state vector at the first time based on the second posterior speed state vector to obtain the prior position state vector at the second time; by replacing the first posterior speed state vector with the second posterior speed state vector, i.e. separating the first posterior speed state vector and the first posterior position state vector, the accuracy of the prior position state vector can be improved, and then when performing vector optimization processing on the prior position state vector according to the observation data and the first posterior position state vector, the high-precision second position of the flow station at the second time can be obtained, i.e. the positioning accuracy of the flow station can be improved.
[0286] Further, please refer to Figure 8 , Figure 8 is a structural schematic diagram of a computer device provided by the embodiment of the application. As shown in Figure 8 , the computer device 1000 can include at least one processor 1001 such as a CPU, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002. The communication bus 1002 is used to realize the connection and communication between the components. The user interface 1003 can include a display screen (Display) and a keyboard (Keyboard), and the network interface 1004 can optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 can be a high-speed RAM memory or a non-volatile memory such as at least one disk memory. The memory 1005 can also be at least one storage device located away from the aforementioned processor 1001. As shown in Figure 8 , the memory 1005 as a computer storage medium can include an operating system, a network communication module, a user interface module, and a device control application program.
[0287] In the computer device 1000 shown in Figure 8 , the network interface 1004 can provide network communication functions; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application program stored in the memory 1005 to realize:
[0288] obtain a first posterior velocity state vector of the flow station at the first time point, the first posterior velocity state vector comprising a first velocity and a first acceleration, obtain a first posterior position state vector of the flow station at the first time point, the first posterior position state vector comprising a first position and a first double-difference ambiguity, and obtain observation data associated with the flow station at a second time point; the first time point is earlier than the second time point;
[0289] perform a prediction optimization process on the first posterior velocity state vector to obtain a second velocity and a second acceleration of the flow station at the second time point, and generate a second posterior velocity state vector according to the second velocity and the second acceleration;
[0290] perform a vector prediction process on the first posterior position state vector according to the second posterior velocity state vector to obtain a to-be-optimized position and a to-be-optimized double-difference ambiguity of the flow station at the second time point, and generate a prior position state vector according to the to-be-optimized position and the to-be-optimized double-difference ambiguity;
[0291] perform a vector optimization process on the prior position state vector according to the observation data and the first posterior position state vector to obtain a second position and a second double-difference ambiguity of the flow station at the second time point.
[0292] It should be understood that the computer device 1000 described in the embodiments of the present application can perform the description of the data processing method in the foregoing Figure 2 、 Figure 5 and Figure 6 corresponding embodiments, and can also perform the description of the data processing apparatus 1 in the foregoing Figure 7 corresponding embodiments, which will not be described here again. In addition, the beneficial effects of using the same method will not be described again.
[0293] The embodiments of the present application also provide a computer readable storage medium, which stores a computer program, the computer program comprising program instructions, the program instructions being executed by a processor to implement the data processing method provided by each step in Figure 2 、 Figure 5 and Figure 6 , and specific implementation manners can be referred to the above Figure 2 、 Figure 5 and Figure 6 steps, which will not be described here again. In addition, the beneficial effects of using the same method will not be described again.
[0294] The computer readable storage medium can be an internal storage unit of the data processing apparatus or the computer device, for example, a hard disk or a memory of the computer device. The computer readable storage medium can also be an external storage device of the computer device, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like. Further, the computer readable storage medium can include both the internal storage unit and the external storage device of the computer device. The computer readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer readable storage medium can also be used to temporarily store data that has been output or will be output.
[0295] The computer program product or the computer program includes computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium. The processor executes the computer instructions, so that the computer device can execute the description of the data processing method in the foregoing Figure 2 、 Figure 5 and Figure 6 embodiments, which will not be described herein. In addition, the description of the beneficial effects of using the same method will not be described herein.
[0296] The terms "first", "second", and the like in the specification and claims of the embodiments of the present application and the drawings are used to distinguish different objects, and are not used to describe a specific order. In addition, the term "comprising" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, device, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but can optionally include steps or units that are not listed, or can optionally include other steps or units inherent to the process, method, device, product, or apparatus.
[0297] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be realized in electronic hardware, computer software, or a combination of both. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been described in general terms in the above description. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0298] The method and related apparatus provided by the embodiments of the present application are described with reference to the method flowchart and / or structural schematic diagram provided by the embodiments of the present application, and each flow and / or block of the method flowchart and / or structural schematic diagram and the combination of the flows and / or blocks in the flowchart and / or block diagram can be implemented by computer program instructions. The computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device that implements the functions specified in the flowchart Figure 1 of one or more flows and / or the structural schematic diagram of one or more blocks. Figure 1 The computer program instructions can also be stored in a computer readable memory capable of causing the computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including instruction devices, which implement the functions specified in the flowchart Figure 1 of one or more flows and / or the structural schematic diagram of one or more blocks. Figure 1 The computer program instructions can also be loaded into the computer or other programmable data processing device, so that a series of operation steps are performed on the computer or other programmable device to produce a computer implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in the flowchart Figure 1 of one or more flows and / or the structural schematic diagram of one or more blocks.
[0299] The above disclosure is only the preferred embodiments of the present application, and of course cannot limit the scope of the rights of the present application, so the equivalent changes made according to the claims of the present application still fall within the scope of the present application.
Claims
1. A data processing method, characterized in that: include: Obtaining a first a posteriori velocity state vector of a mobile station at a first moment, including a first velocity and a first acceleration; obtaining a first a posteriori position state vector of the mobile station at the first moment, including a first position and a first double-difference ambiguity; and obtaining observation data associated with the mobile station at a second moment, wherein the first moment is earlier than the second moment; performing an estimation optimization process on the first a posteriori velocity state vector to obtain a second velocity and a second acceleration of the rover at the second moment, and generating a second a posteriori velocity state vector based on the second velocity and the second acceleration; performing vector estimation processing on the first a posteriori position state vector according to the second a posteriori velocity state vector to obtain a position to be optimized and a double-difference ambiguity to be optimized of the mobile station at the second moment, and generating a priori position state vector according to the position to be optimized and the double-difference ambiguity to be optimized; Obtaining a first a posteriori position state covariance matrix corresponding to the first a posteriori position state vector, and obtaining a first state transfer covariance matrix of the mobile station at the first moment; generating a priori position state covariance matrix of the mobile station at the second moment according to the position state transfer matrix, the first a posteriori position state covariance matrix, and the first state transfer covariance matrix; Acquire a double-difference carrier phase observation function associated with the first a posteriori position state vector and a double-difference pseudorange observation function associated with the first a posteriori position state vector; The double-difference carrier phase observation function and the double-difference pseudorange observation function are combined into a double-difference observation function, and the double-difference observation function is linearly processed to obtain a linear double-difference observation function; Generate a position observation matrix for the first a posteriori position state vector and a position observation vector including double-difference pseudorange observation values and double-difference carrier phase observation values according to the observation data and the linear double-difference observation function; According to the priori position state covariance matrix, the position observation vector and the position observation matrix, vector optimization processing is performed on the priori position state vector to obtain a second position and a second double-difference ambiguity of the mobile station at the second moment.
2. The method according to claim 1, characterized in that The performing vector estimation processing on the first a posteriori position state vector according to the second a posteriori velocity state vector to obtain the position to be optimized and the double-difference ambiguity to be optimized of the mobile station at the second moment includes: Obtaining a state transfer matrix associated with the second a posteriori velocity state vector and for the first position; determining a position state transfer matrix based on a state transfer matrix for the first position and a state transfer matrix for the first double-difference ambiguity; According to the position state transfer matrix, vector estimation processing is performed on the first posterior position state vector to obtain the position to be optimized and the double-difference ambiguity to be optimized of the mobile station at the second moment.
3. The method according to claim 1, characterized in that The performing vector optimization processing on the priori position state vector according to the priori position state covariance matrix, the position observation vector, and the position observation matrix to obtain a second position and a second double-difference ambiguity of the mobile station at the second moment includes: Determining a position estimation observation vector based on the position observation matrix and the priori position state vector; Obtaining the position estimation observation vector and a first innovation vector between the position observation vectors; Determining a target priori position observation covariance matrix based on the priori position observation covariance matrix associated with the position observation vector, the priori position state covariance matrix, the position observation matrix, and the first innovation vector; Generate a first gain matrix according to the priori position state covariance matrix, the target priori position observation covariance matrix and the position observation matrix; According to the first gain matrix and the first innovation vector, vector optimization processing is performed on the priori position state vector to obtain a second position and a second double-difference ambiguity of the mobile station at the second moment.
4. The method according to claim 3, characterized in that The method further comprises: A second a posteriori position state covariance matrix of the mobile station at the second moment is determined based on the first gain matrix, the position observation matrix and the prior position state covariance matrix; the second a posteriori position state covariance matrix refers to the covariance matrix corresponding to the second a posteriori position state vector; the second a posteriori position state vector includes the second position and the second double-difference ambiguity; the second a posteriori position state covariance matrix is used to generate a third position of the mobile station at a third moment; the second moment is earlier than the third moment.
5. The method according to claim 3, characterized in that The determining a target priori position observation covariance matrix according to the priori position observation covariance matrix associated with the position observation vector, the priori position state covariance matrix, the position observation matrix, and the first innovation vector includes: Generate an innovation covariance matrix corresponding to the first innovation vector according to the position observation matrix, the priori position state covariance matrix, and the priori position observation covariance matrix associated with the position observation vector; Normalizing the first innovation vector according to the innovation covariance matrix to obtain a normalized innovation vector; A kernel function matrix is determined according to the normalized innovation vector, and the target prior position observation covariance matrix is determined according to the prior position observation covariance matrix and the kernel function matrix.
6. The method according to claim 5, characterized in that The normalized innovation vector includes the normalized innovation value e i , i is a positive integer, and i is less than or equal to the number of dimensions of the normalized innovation vector; the kernel function matrix includes the kernel function value ; The determining of a kernel function matrix according to the normalized innovation vector includes: If the normalized innovation value e i If the corresponding absolute value is less than or equal to the absolute value threshold, the target value is determined as the kernel function value. ; If the normalized innovation value e i If the corresponding absolute value is greater than the absolute value threshold, the ratio between the absolute value threshold and the absolute value is determined as the kernel function value. ; The kernel function matrix is determined according to the kernel function values corresponding to each normalized innovation value.
7. The method according to claim 1, characterized in that The performing an estimation optimization process on the first a posteriori velocity state vector to obtain a second velocity and a second acceleration of the mobile station at the second moment includes: Obtaining a velocity state transfer matrix associated with the motion function, performing vector pre-estimation processing on the first posterior velocity state vector according to the velocity state transfer matrix to obtain an acceleration and a velocity to be optimized of the rover at the second moment, and generating a priori velocity state vector according to the acceleration and the velocity to be optimized; According to the velocity state transfer matrix, the observation data and the first a posteriori velocity state vector, vector optimization processing is performed on the a priori velocity state vector to obtain a second velocity and a second acceleration of the rover at the second moment.
8. The method according to claim 7, characterized in that The step of performing vector optimization processing on the a priori velocity state vector according to the velocity state transfer matrix, the observation data, and the first a posteriori velocity state vector to obtain a second velocity and a second acceleration of the rover at the second moment includes: Obtaining a first a posteriori velocity state covariance matrix corresponding to the first a posteriori velocity state vector, and obtaining a second state transition covariance matrix of the mobile station at the first moment; generating a priori velocity state covariance matrix of the rover at the second moment according to the velocity state transfer matrix, the first a posteriori velocity state covariance matrix, and the second state transfer covariance matrix; Based on the observation data, a velocity observation matrix and a velocity observation vector are generated. Based on the prior velocity state covariance matrix, the velocity observation vector and the velocity observation matrix, vector optimization processing is performed on the prior velocity state vector to obtain the second velocity and second acceleration of the mobile station at the second moment.
9. The method according to claim 8, characterized in that Generating a velocity observation matrix and a velocity observation vector according to the observation data includes: Obtaining a carrier phase observation function, performing inter-epoch difference processing on the carrier phase observation function to obtain a differential carrier phase observation function; Performing inter-station difference processing on the differential carrier phase observation function to obtain a double-difference carrier phase observation function; performing inter-satellite differential processing on the double-difference carrier phase observation function to obtain a triple-difference carrier phase observation function; Performing linear processing on the triple-difference carrier phase observation function to obtain a linear triple-difference carrier phase observation function; The velocity observation matrix and the velocity observation vector including the triple-difference carrier phase observation values are determined based on the observation data and the linear triple-difference carrier phase observation function.
10. The method according to claim 8, characterized in that The step of performing vector optimization processing on the a priori velocity state vector according to the a priori velocity state covariance matrix, the velocity observation vector, and the velocity observation matrix to obtain a second velocity and a second acceleration of the rover at the second moment includes: Determining a speed estimation observation vector based on the speed observation matrix and the priori speed state vector; Acquire the velocity estimation observation vector and a second innovation vector between the velocity observation vector; determining a second gain matrix based on the a priori speed state covariance matrix, the speed observation matrix, and a a priori speed observation covariance matrix associated with the speed observation vector; The priori velocity state vector is vector optimized according to the second gain matrix and the second innovation vector to obtain a second velocity and a second acceleration of the rover at the second moment.
11. The method according to claim 1, wherein The obtaining of observation data associated with the mobile station at a second moment includes: Acquire first original observation data of the mobile station at the second moment, acquire second original observation data of a base station associated with the mobile station at the second moment, and acquire satellite ephemeris data of a satellite associated with the mobile station at the second moment; The first original observation data, the second original observation data, and the satellite ephemeris data are determined as the observation data.
12. A computer device, characterized in that: include: A processor, a memory, and a network interface; the processor is connected to the memory and the network interface, wherein the network interface is used to provide a data communication function, the memory is used to store a computer program, and the processor is used to call the computer program so that the computer device executes the method described in any one of claims 1 to 11.
13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which is suitable for being loaded and executed by a processor, so that a computer device having the processor executes the method according to any one of claims 1 to 11.
14. A computer program product, characterized in that The computer program product comprises computer instructions stored in a computer-readable storage medium, wherein the computer instructions are suitable for being read and executed by a processor, so as to cause a computer device having the processor to perform the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Distributed kalman filter architecture for carrier range ambiguity estimation
US20180180743A1