WO2023134666A1 - 终端定位方法、装置、设备以及介质 - Google Patents

终端定位方法、装置、设备以及介质 Download PDF

Info

Publication number
WO2023134666A1
WO2023134666A1 PCT/CN2023/071556 CN2023071556W WO2023134666A1 WO 2023134666 A1 WO2023134666 A1 WO 2023134666A1 CN 2023071556 W CN2023071556 W CN 2023071556W WO 2023134666 A1 WO2023134666 A1 WO 2023134666A1
Authority
WO
WIPO (PCT)
Prior art keywords
satellite
terminal
state
observation
positioning information
Prior art date
Application number
PCT/CN2023/071556
Other languages
English (en)
French (fr)
Inventor
苏景岚
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2023134666A1 publication Critical patent/WO2023134666A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/393Trajectory determination or predictive tracking, e.g. Kalman filtering

Definitions

  • the present application relates to the technical field of navigation and positioning, and in particular to a terminal positioning method, device, equipment and medium.
  • the terminal can be positioned (for example, lane-level positioning) through the navigation system and sensors such as vision sensors and radars as assistance. Based on the positioning results of the terminal, the user using the terminal can path navigation.
  • the visual sensor used as an auxiliary terminal positioning is affected by the weather, and the images it acquires cannot capture real road information.
  • the positioning accuracy of the terminal is too low.
  • Embodiments of the present application provide a terminal positioning method, device, device, and medium, which can improve terminal positioning accuracy.
  • an embodiment of the present application provides a terminal positioning method, including:
  • the set of positioning information includes positioning information corresponding to a plurality of satellites
  • the converted positioning information converted from the estimated motion state to calculate the deviation information between the positioning information corresponding to each satellite in the positioning information set and the converted positioning information, and determine the error adjustment factor corresponding to each satellite based on the deviation information, each The error adjustment factor corresponding to the satellite is used to adjust the error of the positioning information corresponding to each satellite;
  • the historical motion state of the terminal uses the historical motion state of the terminal to predict the predicted motion state of the terminal at the first moment through the state prediction model, the historical motion state includes the motion state of the terminal at least one moment before the first moment;
  • the positioning result of the terminal at the first moment is determined according to the adjusted motion state.
  • An embodiment of the present application provides a terminal positioning device on the one hand, including:
  • the satellite observation module is used to obtain a set of positioning information for the terminal at the first moment, the set of positioning information includes positioning information corresponding to a plurality of satellites; estimate the estimated motion state of the terminal at the first moment based on the positioning information, and obtain the terminal's pair of multiple Each of the satellites performs signal measurement measurement data, and estimates the error of the positioning information corresponding to each of the plurality of satellites based on the measurement data;
  • the satellite precision adjustment module is used to obtain the converted positioning information converted from the estimated motion state, to calculate the deviation information between the positioning information corresponding to each satellite in the positioning information set and the converted positioning information, and determine the corresponding position of each satellite based on the deviation information.
  • the error adjustment factor corresponding to each satellite is used to adjust the error of the positioning information corresponding to each satellite;
  • a prediction module configured to use the historical motion state of the terminal to predict the predicted motion state of the terminal at the first moment through a state prediction model, where the historical motion state includes the motion state of the terminal at least one moment before the first moment;
  • the adjustment module is used to apply the positioning information set, error and error adjustment factor to the state adjustment model to adjust the predicted motion state, and then obtain the adjusted motion state of the terminal at the first moment, and determine the terminal in the first time according to the adjusted motion state. Time positioning results.
  • An embodiment of the present application provides a computer device on the one hand, including a memory and a processor, the memory is connected to the processor, 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 computer program described in the embodiment of the present application.
  • a computer device including a memory and a processor, the memory is connected to the processor, 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 computer program described in the embodiment of the present application.
  • Embodiments of the present application provide, on the one hand, a computer-readable storage medium, in which a computer program is stored, and the computer program is adapted to be loaded and executed by a processor, so that a computer device having a processor executes the implementation of the present application.
  • a computer-readable storage medium in which a computer program is stored, and the computer program is adapted to be loaded and executed by a processor, so that a computer device having a processor executes the implementation of the present application.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method provided in the above aspect.
  • the terminal state information corresponding to the terminal can be estimated through satellite observation information, and the target filter can be established through the terminal state information, and through two processes of target filter time update and filter measurement update, from the satellite observation information
  • the accuracy of the terminal position can be improved by eliminating gross errors in the observation information, and determining the terminal positioning result corresponding to the terminal through the satellite observation information (second screening observation information) after eliminating the gross errors in the observation information.
  • FIG. 1A is a schematic structural diagram of a terminal positioning system provided by an embodiment of the present application.
  • FIG. 1B is a schematic flowchart of a terminal positioning method provided in an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a terminal positioning scenario provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a terminal positioning method provided in an embodiment of the present application.
  • Fig. 4 is a schematic flow chart of estimating terminal position and terminal clock error in the terminal state information provided by the embodiment of the present application;
  • FIG. 5 is a schematic flowchart of estimating terminal speed and terminal clock drift in terminal state information provided by an embodiment of the present application
  • FIG. 6 is a schematic flowchart of a middle-end positioning method provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of adaptive noise estimation of a filter system provided by an embodiment of the present application.
  • FIG. 8 is a schematic flow chart of measurement update of a target filter provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of an overall structure of a terminal positioning method provided in an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of an object filter provided by an embodiment of the present application.
  • FIG. 11A and FIG. 11B are schematic structural diagrams of a terminal positioning device provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • Satellite positioning terminal is used to process satellite signals and measure the geometric distance between the satellite positioning terminal and the satellite (ie, pseudo-range observation data) and the Doppler effect of satellite signals (ie, Doppler observation data ) electronic equipment.
  • a satellite positioning terminal may also be called a satellite positioning device.
  • Satellite positioning equipment usually includes modules such as antennas, satellite signal acquisition loops, and baseband signal processing.
  • the mobile terminal integrated with the satellite positioning device can calculate the current position coordinates of the mobile terminal according to the pseudo-range observation data and the Doppler observation data. Satellite positioning equipment can be widely used in many fields.
  • Satellite observation information refers to the observation data (also called positioning information) output by the satellite positioning equipment for positioning the satellite positioning equipment by observing and measuring satellite signals.
  • the satellite observation information may be at least one of data such as pseudorange observation data, Doppler observation data (also referred to as pseudorange rate observation value), and accumulated distance increment (Accumulated Delta Range, ADR).
  • the pseudo-range observation data is used to represent the geometric distance between the satellite and the satellite positioning equipment.
  • the Doppler observation data is used to represent the Doppler effect caused by the relative motion between the satellite positioning equipment and the satellite.
  • the accumulative distance increment is used to represent the variation of the geometric distance from the satellite to the satellite positioning device.
  • High-precision positioning service platform Currently, the continuously operating reference station (Continuously Operating Reference Stations, CORS) established using the multi-reference station network RTK (Real Time Kinematic, real-time dynamic positioning) technology has become the urban GNSS (Global Navigation Satellite System, global satellite system) Navigation system) application development hotspot.
  • the CORS system is a product of multi-directional and deep crystallization of high-tech such as satellite positioning technology, computer network technology, and digital communication technology.
  • the CORS system consists of five parts: a reference station network, a data processing center, a data transmission system, a positioning and navigation data dissemination system, and a user application system. Each reference station and data analysis center are connected together through a data transmission system to form a dedicated network.
  • the high-precision positioning service platform can be understood as the background data center of the CORS system, such as a CORS server.
  • the high-precision positioning service platform of the CORS system can broadcast differential service data to user terminals to achieve centimeter-level high-precision positioning.
  • the differential service data can refer to the satellite observation information (for example, pseudo-range observation data, Doppler observation data, etc.).
  • Centimeter-level high-precision positioning means that the terminal position calculated by the high-precision positioning service platform through the observation data of the CORS system can be accurate to centimeters.
  • FIG. 1A is a schematic structural diagram of a terminal positioning system provided by an embodiment of the present application.
  • the terminal positioning system has a continuous operating reference station (CORS) system and a user terminal cluster
  • the user terminal cluster may include one or more user terminals.
  • the number of user terminals is not limited here.
  • the user terminal cluster may include a user terminal 10e, a user terminal 10f, a user terminal 10h, and a user terminal 10g.
  • the high-precision positioning service platform can be understood as the background data center of the CORS system.
  • the high-precision positioning service platform can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, and can also provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, and network services Cloud servers for basic cloud computing services such as cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
  • the user terminals in the user terminal cluster may include but are not limited to: smart phones, tablet computers, notebook computers, palmtop computers, mobile internet devices (mobile internet device, MID), wearable devices (such as smart watches, smart bracelets, etc.), Aircraft (such as airplanes, drones, etc.) and on-board computers in autopilot systems and other mobile terminals that integrate satellite positioning equipment.
  • the high-precision positioning service platform can broadcast differential service data for each user terminal in the user terminal cluster, and the user terminals in the user terminal cluster can also report their positions to the high-precision positioning service platform.
  • the navigation satellite shown in FIG. 1A may be a navigation satellite of the global satellite navigation system (GNSS).
  • GNSS also known as the Global Navigation Satellite System
  • GNSS is a space-based radio navigation and positioning system that can provide users with all-weather 3-dimensional coordinates, speed, and time information at any point on the earth's surface or near-Earth space.
  • navigation satellites are referred to simply as satellites below.
  • the satellite 10 a , the satellite 10 b , the satellite 10 c and the satellite 10 d may be one or more GNSS navigation satellites. This application does not limit the GNSS type to which the satellite belongs.
  • the CORS system can obtain the original observation data corresponding to the navigation satellites of the global satellite navigation system (GNSS).
  • the received original observation data can be transmitted to the high-precision positioning service platform; the high-precision positioning service platform calculates the satellite observation information between each user terminal in the user terminal cluster and the navigation satellite in real time through these original observation data, and the satellite observation The information is broadcast to the corresponding user terminal, and the satellite observation information at this time can be called the differential service data broadcast by the high-precision positioning service platform for the user terminal.
  • the user terminal 10e may be a mobile terminal integrated with a satellite positioning device.
  • the user terminal 10e can obtain the satellite observation information between the user terminal 10e and each satellite from the high-precision positioning service platform of the CORS system, for example, the user terminal 10e is connected to the satellite 10a, satellite 10b, satellite 10c and satellite 10c shown in FIG. 1A respectively. Satellite observation information between satellites 10d. After the user terminal 10e acquires the satellite observation information, it can estimate the terminal state information of the user terminal 10e through the acquired satellite observation information. Wherein, if the satellite observation information is pseudo-range observation data, the terminal state information at this time may include terminal position and terminal clock error. If the satellite observation information is Doppler observation data, the terminal state information at this time includes terminal velocity and terminal clock drift.
  • the terminal state information at this time includes terminal speed, terminal position, terminal clock error, and terminal clock drift.
  • the satellite observation information in the embodiment of the present application may be at least one of pseudorange observation data, Doppler observation data, and ADR, such as pseudorange observation data, or pseudorange observation data and Doppler observation data, etc. .
  • the application does not limit the data type (for example, pseudorange data type, Doppler data type, etc.) and the number of data types of satellite observation information.
  • the clock error may refer to a clock error
  • the clock error in this application specifically relates to a satellite clock error and a terminal clock error.
  • the satellite clock difference refers to the difference between the satellite clock and the standard time; the terminal clock difference can also be called the receiver clock difference, that is, the difference between the receiver clock and the standard time.
  • Clock drift may refer to the rate of change of the clock error.
  • the clock drift in this application refers to the terminal clock drift and the satellite clock drift, the terminal clock drift refers to the receiver clock error change rate, and the satellite clock drift refers to the satellite clock error change rate.
  • FIG. 1B is a schematic flowchart of a terminal positioning method provided by an embodiment of the present application.
  • the terminal positioning method can be executed by a mobile terminal. As shown in Fig. 1B, the method may include the following steps.
  • Step S11 acquiring a set of positioning information for the terminal at the first moment, and estimating the estimated motion state of the terminal at the first moment based on the positioning information.
  • the positioning information set includes positioning information respectively corresponding to a plurality of satellites.
  • the terminal receives satellite signals sent by satellites (also called navigation and positioning signals), and measures and analyzes the received satellite signals of each satellite to obtain the positioning information of each satellite for the terminal (also called for satellite observation information).
  • the positioning information of a satellite for a terminal refers to information used for positioning the terminal obtained based on the satellite signal of the satellite received by the terminal.
  • the positioning information may include, for example, the distance between the terminal and the satellite (also referred to as pseudorange), Doppler frequency shift of the satellite signal, Doppler count of the satellite signal, ADR, and the like.
  • the method of each embodiment may be performed for each of these parameters. For example, for the pseudorange information in the positioning information, execute the method described in FIG. 1B to obtain the position of the terminal; for the Doppler information in the positioning information, execute the method in FIG. 1B to obtain the terminal's velocity, and so on.
  • the motion state of the terminal refers to one or more parameters related to the motion of the terminal, and may include, for example, the position of the terminal, the speed of the terminal, and the like.
  • Various motion states appearing in this article such as estimating motion state, predicting motion state, adjusting motion state, etc., refer to motion states obtained in different ways.
  • the estimated motion state is an estimation result of estimating the motion state of the terminal by using the positioning information of multiple satellites at the first moment.
  • Step S12 acquiring measurement data of signal measurement performed by the terminal on each of the plurality of satellites, and estimating an error of positioning information corresponding to each of the plurality of satellites based on the measurement data.
  • the terminal can also obtain some measurement data by measuring the satellite signals of each satellite, for example, the altitude angle of each satellite, the signal-to-noise ratio of the satellite signal, and so on.
  • the terminal can estimate the accuracy or the size of the error of the positioning information corresponding to each satellite.
  • the terminal may use a preset algorithm to separately calculate the measurement data corresponding to each satellite, so as to obtain an error measurement value of the positioning information corresponding to each satellite.
  • the preset algorithm may be an algorithm obtained by performing mathematical modeling using measurement data of satellite signals, such as a random error model.
  • the variable in the algorithm can be one or more parameters in the measurement data of the satellite signal, such as the altitude angle selected from the satellite, the signal-to-noise ratio of the satellite signal, etc., and the calculation result of the algorithm is the corresponding positioning information of the satellite.
  • the measure of error is the corresponding positioning information of the satellite.
  • the algorithm measures the error of the satellite positioning signal, where the error is the error related to the measurement data used in the algorithm. For example, when the algorithm uses the altitude angle of the satellite, the metric value obtained by the algorithm takes into account the influence of the altitude angle of the satellite on the propagation path of the satellite signal and the error generated in the positioning information obtained by the terminal. For another example, when the algorithm uses the signal-to-noise ratio of the satellite signal, the metric value obtained by the algorithm takes into account the error generated by the signal-to-noise ratio of the satellite signal in the positioning information.
  • a parameter for adjusting the output error measurement value may be included, which is referred to as an error adjustment factor herein.
  • the initial value of the error adjustment factor can be set to a preset default value, such as 0 (when the error adjustment factor is set as the offset of the error), or 1 (when the error adjustment factor is set as the scaling factor of the error).
  • Step S13 obtain the converted positioning information converted from the estimated motion state to calculate the deviation information between the positioning information corresponding to each satellite in the positioning information set and the converted positioning information, and determine the error adjustment factor for each satellite based on the deviation information, each The error adjustment factor of the satellite is used to adjust the error of the positioning information of each satellite.
  • Converting from the estimated motion state to obtain converted positioning information refers to converting one or more parameter values representing the motion state of the terminal into parameter values in the positioning information for positioning the terminal.
  • the position of the terminal in the estimated motion state may be converted into the distance between the terminal and the satellite by using the position of the satellite.
  • the operating speed of the satellite may be used to convert the estimated speed of the terminal in motion into a Doppler frequency shift between the terminal and the satellite.
  • the deviation information refers to the measurement information of the degree of deviation between the positioning information corresponding to the satellite and the converted positioning information.
  • the deviation information can be obtained by, for example, calculating the difference, variance, standard deviation, etc. between the positioning information and the converted positioning information.
  • the deviation information reflects the degree of deviation between the positioning information corresponding to each satellite and the converted positioning information corresponding to the estimated motion state, so it can be used to estimate the satellite signal transmitting equipment, the propagation path and environment of the satellite signal, and the receiving equipment of the satellite signal.
  • the error adjustment factor of each satellite is respectively determined by using the deviation information corresponding to each satellite.
  • the error adjustment factor is used to adjust the error of the positioning information of the satellite, for example, to increase or decrease the error.
  • the error adjustment factor may be an offset value, and adjusting the error may be adding an offset value to the error, and the offset value may be a positive number or a complex number.
  • the error adjustment factor may be a scaling factor, and adjusting the error may be based on the error multiplied by the scaling factor, and the scaling factor may be greater than 1, less than 1, or equal to 1.
  • Step S14 using the historical motion state of the terminal to predict the predicted motion state of the terminal at the first moment through the state prediction model, wherein the historical motion state includes the motion state of the terminal at least one moment before the first moment.
  • the state prediction model is used to predict the motion state at the next time according to the motion state at the previous time.
  • the state prediction model can be realized by a preset prediction algorithm or the like.
  • the parameters in the prediction algorithm may include the historical motion state of the terminal, and/or various known data selected from the terminal (such as historical motion state, historical positioning information, positioning information at the first moment, observation of satellite signals to obtain positioning information) time interval, etc.), and/or one or more parameters selected from the various parameters obtained by the terminal through calculation or estimation based on various known data (for example, for satellite signal transmitting equipment , propagation environment, receiving equipment, various algorithms, various errors in each model, various noise estimates, etc.).
  • the output of the prediction algorithm may be the predicted motion state of the terminal at the current moment (ie, the first moment).
  • Predicting the motion state refers to predicting the motion state at a later time by using the motion state at the previous moment, which embodies the reasoning and application of the rule of the terminal's motion state changing with time.
  • the estimating motion state in step S11 refers to estimating the real motion state of the terminal at the current moment by using the error-containing observation results (ie, positioning information) obtained at the current moment.
  • Step S15 apply the positioning information set, the error of each satellite's corresponding positioning information and the error adjustment factor to the state adjustment model to adjust the predicted motion state, and then obtain the adjusted motion state of the terminal at the first moment.
  • the state adjustment model is used to adjust the predicted motion state according to the positioning information corresponding to each satellite at the current moment and the information related to the error (error and error adjustment factor).
  • the adjustment process uses the positioning information from multiple satellites to correct the prediction results of the prediction algorithm, so as to counteract the inaccuracy of the prediction algorithm; The adverse effect of the error difference of each satellite on the finally determined motion state of the terminal (that is, to adjust the motion state) is reduced.
  • the state adjustment model can be implemented by an adjustment algorithm.
  • the parameters in the adjustment algorithm can be obtained from the predicted motion state, the positioning information of the satellites, the error and the error adjustment factor of the corresponding positioning information of each satellite.
  • the output of the adjustment algorithm may be the adjusted predicted motion state (referred to as adjusted motion state) of the terminal at the current moment (ie, the first moment).
  • the above state prediction model and state adjustment model can be realized by recursive estimation algorithm, state estimator and so on.
  • Step S16 determining the positioning result of the terminal at the first moment according to the adjusted motion state of the terminal at the first moment.
  • the method of determining the positioning result of the terminal by adjusting the motion state may be determined according to an application scenario of the positioning result. For example, in electronic map and navigation application scenarios, the adjusted motion state of the terminal (such as the longitude and latitude coordinates of the terminal position) can be converted into the position of the terminal in the electronic map (such as the road where the terminal is located) by combining map data, lane data, etc. , the lane where it is located, etc.), as the positioning result of the terminal.
  • the adjusted motion state of the terminal such as the longitude and latitude coordinates of the terminal position
  • the electronic map such as the road where the terminal is located
  • the error adjustment factor corresponding to each satellite is determined according to the deviation information of the converted positioning information corresponding to the estimated motion state according to the satellite observation information of each satellite (that is, the positioning information), which is used to correct the error of the positioning information of the satellite.
  • the error of the positioning information of each satellite can be adjusted according to the satellite observation information at that time. precise.
  • some preprocessing may be performed on the adopted positioning information to remove some abnormal information, so as to make the positioning result more accurate.
  • the positioning information of at least one satellite may be removed from the positioning information of the first number of satellites obtained by the terminal at the first moment by using an abnormality detection method to obtain a positioning information set.
  • the positioning information set including the positioning information of multiple satellites and the positioning information corresponding to a single satellite are also collectively referred to as satellite observation information.
  • the satellite observation information when satellite observation information refers to satellite observation information obtained from multiple satellites, the satellite observation information may refer to a set of positioning information; when satellite observation information refers to satellite observation information obtained from a part of multiple satellites When , the satellite observation information may refer to the positioning information corresponding to the part of satellites.
  • the updated positioning information set is also referred to as screening observation information.
  • the satellite observation information used to determine the terminal state information is not all the satellites obtained by the user terminal 10e Observation information, but the remaining satellite observation information after removing some of the gross errors in the observation information.
  • the remaining satellite observation information at this time may be referred to as the first screening observation information, that is, the terminal state information is determined by the first screening observation information.
  • Gross errors in observation information can refer to wrong observation results or over-limit errors caused by negligence in measurement, for example, observation target errors (such as satellite observation information is not the observation data between the satellite and the user terminal 10e), observation data reading errors wait.
  • the method for estimating the estimated motion state of the terminal at the first moment based on the positioning information of multiple satellites in the above step S11 may include:
  • the estimated motion state when the preset condition is satisfied is used as the estimated motion state of the terminal at the first moment.
  • the estimating process of estimating the motion state is to estimate the motion state of the terminal closest to the real state by using the satellite observation information of multiple satellites. Iterative convergence conditions can be designed according to needs, the estimated motion state can be adjusted iteratively, and whether the calculation of the estimated motion state after each adjustment meets the convergence condition can be judged. The estimated motion state when the convergence condition is satisfied is taken as the estimated motion state of the terminal at the first moment. Through such iterative adjustment, the error in estimating the motion state can be reduced.
  • FIG. 2 is a schematic diagram of a terminal positioning scenario provided by an embodiment of the present application.
  • the user terminal 20a shown in FIG. 2 may be any user terminal in the user terminal cluster shown in FIG. 1A .
  • Satellite positioning equipment is integrated in the user terminal 20a.
  • the user terminal 20a can receive satellite observation information broadcast by the CORS system.
  • the satellite observation information may include pseudorange observation data and Doppler observation data corresponding to each satellite.
  • This application does not limit the number of satellites corresponding to the satellite observation information, that is, does not limit the number of satellite observation information received.
  • the embodiment of the present application takes the reception of satellite observation information corresponding to 6 satellites as an example for illustration.
  • the satellite observation information received by the user terminal 20a includes a pseudorange observation data set 20b and a Doppler observation data set 20c.
  • the pseudo-range observation data set 20b is composed of pseudo-range observation data corresponding to six satellites, such as pseudo-range observation data 1 , pseudo-range observation data 2 , . . . , pseudo-range observation data 6 .
  • the Doppler observation data set 20c is composed of Doppler observation data corresponding to 6 satellites, for example, Doppler observation data 1, Doppler observation data 2, ..., Doppler observation data 6 .
  • the satellite observation information received by the user terminal 20a includes two types of data.
  • the pseudorange observation data in the pseudorange observation data set 20b can be called the pseudorange data type
  • the pseudorange observation data in the Doppler observation data set 20c The data may be referred to as a Doppler data type.
  • Satellite observation information of different data types can be processed independently. For example, by processing the pseudo-range observation data included in the pseudo-range observation data set 20b, the terminal position corresponding to the user terminal 20a can finally be obtained. By processing the Doppler observation data included in the Doppler observation data set 20c, the terminal velocity corresponding to the user terminal 20a can finally be obtained.
  • the terminal position and terminal clock error of the user terminal 20a can be used as an estimated parameter x, and the estimated parameter x can be denoted as (ru, dtr1).
  • ru is used to indicate the position of the terminal
  • dtr1 is used to indicate the clock difference of the terminal.
  • the estimation parameter x is optimized (ie iteratively updated) based on the pseudorange observation data in the pseudorange observation data set 20b, and the terminal position and terminal clock error of the user terminal 20a can be calculated.
  • the estimated parameter x can be initialized, that is, an initial value is set for the estimated parameter x, and the initial value of the estimated parameter x can be recorded as (ru_0, dtr1_0).
  • the initial value of the estimated parameter x may be set to 0, or may be a value set based on prior knowledge (the actual environment where the user terminal 20a is located). The present application does not limit the actual value of the initial value of the estimated parameter x.
  • the initial value (ru_0, dtr1_0) of the estimated parameter x can be iteratively updated through the pseudorange observation data set 20b.
  • the estimated parameter x is updated in each iteration, and the estimated parameter x of the next iteration is based on the estimated parameter x of the previous iteration, and the estimated parameter correction amount (also called the state information correction amount) is added.
  • the estimated parameter x converges, it means that the estimated parameter x has gone through an iterative cycle (an iterative cycle may include one or more iterations).
  • the estimated parameter x determined in each iteration cycle is the parameter value when convergence is reached.
  • the estimated parameter x determined in the first iteration cycle can be recorded as (ru_1, dtr1_1), that is, after the first iteration cycle, the terminal position is updated from the initial value ru_0 to ru_1, and the terminal clock error is changed from the initial value
  • the value dtr1_0 is updated to dtr1_1.
  • the estimation result may be checked, so as to further eliminate possible abnormal data, thereby further improving the accuracy of the estimation result.
  • the above method may also include:
  • At least one satellite corresponding to the satellite is removed from the positioning information set update the positioning information set, and use the updated positioning information set to iteratively adjust the initial estimated motion state;
  • the estimated motion state when the preset condition is satisfied is used as the estimated motion state of the terminal at the first moment.
  • Chi-square test (Chi-square test/Chi-Square Goodness-of -Fit Test). If the chi-square detection statistic in the first iterative cycle is less than the test threshold, it means that the chi-square test is passed, the above ru_1 can be determined as the terminal position of the user terminal 20a, and dtr1_1 can be determined as the terminal clock error of the user terminal 20a.
  • the inspection threshold can be set according to actual requirements, and the application does not limit the value of the inspection threshold.
  • the chi-square test is a hypothesis testing method for enumeration data that is widely used. The chi-square test is only an example in the embodiment of the present application, and the rest of the hypothesis testing methods with similar functions are also applicable to the present application. The inspection method is not limited here.
  • the pseudo-range observation data 2 fails the normal distribution test, the pseudo-range observation data 2 is determined as pseudo-range observation data gross error, and the pseudo-range observation data 2 is eliminated from the pseudo-range observation data set 20b.
  • the pseudorange observation data passing the normal distribution test are retained, that is, pseudorange observation data 1, pseudorange observation data 3, pseudorange observation data 4, pseudorange observation data 5, and pseudorange observation data 6 are retained.
  • (ru_1, dtr1_1) can be used as the initial value of the estimated parameter x in the new iteration cycle (referred to as the second iteration cycle here), through the above-mentioned reserved pseudo-range observation data 1, pseudo-range observation data 3, pseudo-range Observation data 4 , pseudorange observation data 5 and pseudorange observation data 6 continuously iteratively update (ru_1, dtr1_1).
  • the iterative process of the second iterative cycle is the same as that of the first iterative cycle, and the estimated parameter x determined in the second iterative cycle is denoted as (ru_2, dtr1_2).
  • a chi-square test can be performed on the output results of the second iteration period (calculation results associated with (ru_2, dtr1_2)). If the chi-square test is passed, the above ru_2 is determined as the terminal position of the user terminal 20a, and dtr1_2 is determined as the terminal clock error of the user terminal 20a. At this time, the above pseudorange observation data 1, pseudorange observation data 3, pseudorange observation data 4, pseudorange observation data 5 and pseudorange observation data 6 can be combined into a pseudorange observation data set 20d, and the pseudorange observation data set 20d is Obtained after eliminating gross error observation data in the pseudorange observation matrix 20b. In some embodiments, if the chi-square test still fails in the second iterative cycle, continue to use the normal distribution test to eliminate gross errors in the pseudo-range observation data, and enter the next iterative cycle until the chi-square test is passed.
  • the terminal velocity and terminal clock drift of the user terminal 20a may be used as an estimated parameter y, and the estimated parameter y may be denoted as (vu, dtr2).
  • the estimated parameter y may be denoted as (vu, dtr2).
  • vu is used to represent the terminal velocity
  • dtr2 is used to represent the terminal clock drift
  • the process of iteratively updating the estimated parameter y based on the Doppler observation data set 20c is similar to the above-mentioned estimation parameter x based on the pseudorange observation data set 20b
  • the iterative update process is not repeated here.
  • the terminal velocity of the user terminal 20a is vu_2 calculated by the Doppler observation data set 20c, and the terminal clock drift is dtr2_2.
  • the Doppler observation data set 20e (including the Doppler observation data set 20e) can be obtained.
  • the above-mentioned terminal position ru_2, terminal speed vu_2, terminal clock difference dtr1_2, and terminal clock drift dtr2_2 can be referred to as the terminal state information corresponding to the user terminal 20a, and the above-mentioned pseudorange observation data set 20d and Doppler observation data set 20e may be referred to as the first screening observation information.
  • the terminal position and terminal speed in the above terminal status information are only preliminary results determined based on iterative updates, and the preliminary results can be processed subsequently to obtain the final terminal positioning result.
  • the error existing in the positioning information corresponding to each satellite may be estimated according to the estimated motion state and the positioning information.
  • the measurement data of the satellite signals of each satellite may include at least one of the following: the altitude angle of the satellite, the signal-to-noise ratio of the satellite signal, the orientation of the satellite relative to the terminal, and the like.
  • the measurement data and the preset algorithm can be used to obtain the error of the positioning information corresponding to each satellite in the plurality of satellites (also referred to simply as the error corresponding to the satellite).
  • the observation error model of the satellite can be preset, and some parameters can be determined according to the measurement data of the actual satellite signal.
  • the measurement data can be processed to obtain the required parameter values, and the parameters in the satellite observation error model can be assigned to obtain the corresponding errors of each satellite. Since different satellites have different measurement data, such as signal-to-noise ratio, altitude angle, and azimuth relative to the terminal, etc., after the above processing, different satellites may have different errors, making the terminal positioning results more accurate.
  • the error adjustment factor can also be used to adjust the error corresponding to each satellite, so that the error obtained according to the preset observation error model can be fine-tuned, so that it can more accurately reflect the momentary error.
  • the error adjustment factor affects the weight of the positioning information of each satellite in the subsequent processing, and then affects the final positioning result.
  • the adjustment method may include: the deviation information between the positioning information corresponding to each satellite among the plurality of satellites and the converted positioning information and the error corresponding to each satellite are applied to a preset conversion relationship to determine the corresponding position of each satellite. Error adjustment factor.
  • the adjustment range of the first error adjustment factor corresponding to the first satellite is larger than that corresponding to the second satellite.
  • the second error adjustment factor of is the adjustment range of the error.
  • the above method may further include: initializing the state prediction model and the state adjustment model.
  • the initialization of the model can be performed at the initial stage when the terminal activates the positioning function, and can also be triggered and executed as needed during the positioning process.
  • the initialization may include:
  • the initial values of the parameters in the state adjustment model are obtained from the measurement data, errors and error adjustment factors corresponding to each of the plurality of satellites.
  • the state adjustment model when designing the state adjustment model, the influence of one or more parameters of the satellite on the positioning result is taken into account, then the state adjustment model will include one or more variables, and the value of this or these variables can be determined by the satellite's One or more of the above parameter values are determined.
  • the above one or more parameter values may be selected from a plurality of parameters in the measurement data of the satellite, an error corresponding to the satellite, and an error adjustment factor corresponding to the satellite.
  • the state adjustment model is to simulate the influence of one or more parameters of the satellite on the positioning result by establishing a mathematical model
  • the algorithm obtained by solving the mathematical model can be used as the state adjustment model, and one or more in the algorithm Variables are determined by one or more parameters of the satellite.
  • the above-mentioned state prediction model and state adjustment model may be implemented by any algorithm, state estimator, and the like. In some embodiments, the above-mentioned state prediction model and state adjustment model may be implemented by a state observation filter (for example, a robust Kalman filter).
  • a state observation filter for example, a robust Kalman filter
  • a filter (also used in this paper as “target filter” “to refer to, the filter can be a robust Kalman filter, for example), and the terminal state information (ru_2, vu_2, dtr1_2, dtr2_2) is set as the initial state parameter corresponding to the target filter, that is, the initial state parameter of the filter is (ru_2, vu_2, dtr1_2, dtr2_2).
  • the initial state parameters may refer to the above state parameters of the filter at time T0.
  • the state parameters at the next moment can be predicted by the state parameters at T0.
  • the state adjustment model can be realized by the initial state covariance matrix of the filter corresponding to the initial state parameters.
  • the state covariance matrix of the filter is used to characterize the correlation between the state parameters of the filter, such as the correlation between the terminal position, the terminal speed, the terminal clock difference and the terminal clock drift.
  • the initial state covariance matrix can be determined through the calculation results obtained by the above iterative update, for example, the parameters of the initial state covariance matrix can be determined by using the measurement data, errors and error adjustment factors of each of the multiple satellites.
  • step S14 using the state prediction model to predict the predicted movement state of the terminal at the first moment may include: applying the adjusted movement state of the terminal at the second moment in the historical movement state to the state prediction model, so that the state The prediction model estimates the predicted motion state of the terminal at the first moment based on the time difference between the first moment and the second moment.
  • the second moment is the moment when the terminal is positioned for the last time before the first moment.
  • the filter can be updated in time.
  • the time update here can be understood as the state prediction process, that is, based on the initial state parameters and the initial state covariance matrix, predict The state parameters of the filter at the next moment (that is, the predicted motion state) and the state covariance matrix at the next moment. That is, the state parameters at the current moment can be predicted by using the historical state parameters.
  • the state parameters at the current moment may be called predicted state parameters (that is, predicted motion state).
  • the process of determining the predicted state parameters is the time update (time update, also called prediction) stage of the filter (also called the state prediction stage).
  • the time update process of the filter includes the update of both the initial state parameter and the initial covariance matrix
  • the state parameter obtained by the time update is called the predicted state parameter, denoted as (ru_3, vu_3, dtr1_3, dtr2_3)
  • the state covariance matrix obtained by the time update is called the prediction covariance matrix.
  • the satellite observation information may be processed to remove gross errors and correct clock jumps.
  • the method can include:
  • Clock jump detection is performed on the deviation data after the elimination, and when a clock jump is detected, the predicted motion state is adjusted, and at least one parameter in the state adjustment model is adjusted.
  • the predicted motion state is used as a reference to perform outlier detection on the positioning information set, that is, the outlier detection is performed according to the deviation of the positioning information relative to the second converted positioning information corresponding to the predicted motion state.
  • the clock jump detection may include clock difference jump detection and clock drift jump detection.
  • the positioning information includes pseudo-range information
  • the deviation data is deviation data of the pseudo-range information
  • a clock jump detection is performed on the deviation data.
  • the positioning information includes Doppler information
  • the deviation data is the deviation data of the Doppler information
  • clock drift jump detection is performed on the deviation data.
  • abnormal information in the positioning information set can be further eliminated, and clock correction is performed on the updated positioning information set to make it more accurate.
  • the model to be used may be verified and adjusted before adjusting the predicted motion state.
  • the method can include:
  • the satellite observation information that makes the model verification parameter abnormal is further eliminated from the positioning information set; when the verification parameter value does not meet the threshold condition, the model is initialized, And the method is re-executed using the current positioning information set that has undergone gross error elimination, so as to optimize the results obtained in each step, so that the final positioning result obtained is more accurate.
  • adjusting the predicted motion state at the first moment may include:
  • the predicted motion state is adjusted by using the adjustment amount, so as to obtain the adjusted motion state of the terminal at the first moment.
  • the method may also include: before calculating the adjustment amount of the motion state parameter,
  • the state adjustment model is adjusted according to the prediction error information.
  • the fluctuation information of the motion state parameter can be obtained by performing statistical processing on the value of the motion state parameter in the historical motion state, for example, reflected by statistics such as variance.
  • the probability information of various values of the motion state parameters can be obtained by means of statistical processing, for example, represented by distribution functions or spectral densities.
  • the method for adjusting the state adjustment model may include, for each motion state parameter, using the prediction error information of the motion state parameter to calculate an offset value, and adding the offset value to the adjustment algorithm of the state adjustment model value.
  • the method for adjusting the state adjustment model may include, for each motion state parameter, using the prediction error information of the motion state parameter to calculate an offset value, and the algorithm involving the motion state parameter in the state adjustment model The offset value is introduced in , so that the offset value affects the calculation of the adjustment amount of the motion state parameter in the predicted motion state by the state adjustment model.
  • the measurement transformation relationship in the state adjustment model can also be updated, including:
  • the state adjustment model is adjusted by using the positioning information set and the error corresponding to each satellite and the error adjustment factor.
  • the measurement conversion relationship in the updated state adjustment model is used to adjust the predicted motion state of the terminal at the next moment after the first moment.
  • the above step of adjusting the predicted motion state at the first moment, when implemented by using a filter, is embodied as a measurement update process of the filter.
  • the filter completes the time update, that is, the state parameter of the filter is updated from the initial state parameter (ie, the above-mentioned terminal state information) to the predicted state parameter
  • the predicted state parameter of the filter can be measured and updated through the above-mentioned first screening observation information ( Also known as correction).
  • the filter after the filter completes the time update, it can perform measurement update based on the predicted state parameters and the predicted state covariance matrix.
  • the measurement update here can be understood as the process of correcting the predicted state parameters obtained by the aforementioned time update .
  • the measurement update of the filter may include clock error and clock drift jump detection and repair, filter model verification and repair, filter fault detection and repair, and other processes.
  • the correction is performed based on the predicted state parameters (that is, the predicted motion state) finally obtained in the time update stage.
  • the filter is verified and repaired through the first screening observation information.
  • the model verification parameter value of the filter is calculated.
  • the model parameter verification value does not meet the verification condition (for example, greater than or equal to the model verification threshold, the model verification threshold can be based on the actual needs to be set), it means that there is a fault in the filter, and the filter needs to be reset, that is, to reset the initial state parameters of the filter.
  • the first screening observation information can be tested (for example, normal distribution test, normal distribution can also be called Gaussian distribution), and continue to eliminate the first Obscure observation information in the observation information is screened to obtain second screened observation information.
  • the measurement update matrix of the filter in the measurement update phase (that is, the measurement transformation relationship in the state adjustment model) is constructed through the second screening observation information.
  • the measurement variance matrix of the filter in the measurement update stage can also be constructed according to the satellite observation error factor, and the predicted state parameters of the filter can be measured and updated through the measurement update matrix and measurement variance matrix to obtain the target state parameters.
  • the target state parameter is the result obtained by the filter in the measurement update phase.
  • the filter at this time may be verified again through the second screening observation information, for example, a test (for example, a normal distribution test) is performed on the second screening observation information. If the test passes, the target state parameter can be determined as the terminal location of the user terminal 10e. If the inspection fails, the corresponding satellite observation information is eliminated from the second screening observation information, that is, which satellite observation information in the second screening observation information fails the inspection, then the satellite observation information is eliminated to obtain new screening observation information ( For the convenience of description, the new screening observation information obtained at this time will be referred to as the fourth screening observation information below).
  • a test for example, a normal distribution test
  • the measurement update matrix is reconstructed through the fourth screening observation information, and the filter is measured and updated again until all the remaining satellite observation information has passed the inspection, and the state parameter of the filter at the current moment is output, and the state parameter at this time is the user terminal 10e end position.
  • the terminal positioning process of the user terminal is implemented through satellite observation information and filters.
  • the gross error of observation information in the satellite observation information can be eliminated as much as possible through the verification and repair process of the filter, so as to obtain more accurate terminal positioning results.
  • the above-mentioned first screening observation data needs to be used in the measurement update process of the filter (that is, the process of adjusting the predicted motion state), because the first The screening observation data includes the pseudorange observation data set 20d belonging to the pseudorange data type and the Doppler observation data set 20e belonging to the Doppler data type, so the pseudorange observation data set 20d and the Doppler observation data set 20e need to be Independent processing.
  • clock jump detection can be performed through the pseudo-range observation data in the pseudo-range observation data set 20d and the predicted state covariance matrix. It performs clock jump repair, that is, resets the state parameters and state covariance matrix of the filter, that is, updates are performed on the basis of the predicted state parameters and the predicted state covariance matrix. If no clock jump is detected, no clock jump repair is required.
  • clock drift jump detection can be performed through the Doppler observation data in the Doppler observation data set 20e and the predicted state covariance matrix.
  • the clock drift jump is repaired, that is, the state parameters and the state covariance matrix of the filter are reset, that is, the update is performed on the basis of the predicted state parameters and the predicted state covariance matrix. If no clock drift jump is detected, no clock drift jump repair is required.
  • the filter model verification can be carried out.
  • the model validation parameter values may include pseudorange validation parameter values and Doppler validation parameter values.
  • the pseudorange verification parameter value can be determined by the state covariance matrix and the pseudorange observation data set 20d obtained after detection and repair of the clock error and clock drift jump.
  • the Doppler verification parameter value can be determined by the state covariance matrix obtained after the detection and repair of the clock error and clock drift jump, and the Doppler observation data set 20e.
  • the filter has not passed the model verification, and the filter needs to be repaired, that is, re- Set the initial state parameters and initial state covariance matrix of the filter, and perform time update and measurement update based on the reset initial state parameters and initial state covariance matrix.
  • the filter has passed the model verification, where the pseudorange verification threshold and the Doppler verification threshold can both be
  • the pseudorange verification threshold and the Doppler verification threshold may be collectively referred to as the model verification threshold based on different values set according to actual requirements.
  • the filter passes the model verification, the observation data that causes the filter to diverge can be eliminated from the pseudorange observation data set 20d and the Doppler observation data set 20e through normal distribution detection, that is, the filter is screened out from the pseudorange observation data set 20d
  • the pseudo-range observation data set 20f is used to filter out the Doppler observation data set 20g from the Doppler observation data set 20e.
  • the pseudo-range observation data set 20d and the Doppler observation data set 20g can be called the second screening observation information.
  • the filter can be measured and updated through the pseudorange observation data set 20d and the Doppler observation data set 20g to obtain the target state parameter and the target state covariance matrix, and the target state parameter can be recorded as (ru_4, vu_4, dtr1_4, dtr2_4) .
  • the adjusted motion state can also be used to further detect satellite observation information, so that it is possible to eliminate more abnormal satellite observation information, thereby improving the accuracy of terminal positioning .
  • the above method may also include:
  • the predicted motion state is adjusted using the updated positioning information set.
  • the adjustment amount of the predicted motion state can also be used to detect, and when the detection fails, the current positioning information set is used to re-execute the above method, thereby improving the accuracy of terminal positioning .
  • the above method may also include:
  • the terminal position ru_4 and the terminal speed vu_4 in the target state parameters can be used as the terminal positioning result of the user terminal 20a.
  • the user of the user terminal 20a can be provided with accurate information in the navigation application.
  • navigation path For example, as shown in the navigation page 20h shown in FIG. 2, the position S1 is the position of the user terminal 20a in the electronic map (ie, the terminal position), and the area 20i is the real-time road condition of the path where the user terminal 20a is located. Different colors represent different road conditions. For example, a black area indicates that the road section is a heavily congested road section, a gray area indicates that the path is a lightly congested road section, and a white area indicates that the road section is not congested.
  • a lane-level driving route can be provided for the user terminal 20a, as shown in FIG. 2
  • the navigation page 20j is shown.
  • the position 20k is the lane driving position of the user terminal 20a on the road (i.e., the terminal position), and the black line is used to indicate the lane driving path of the user terminal 20a, that is, the above terminal positioning result can be accurate to the lane where the user terminal 20a is located, so as to realize the Lane-level positioning of user terminal 20a.
  • FIG. 3 is a schematic flowchart of a terminal positioning method provided in an embodiment of the present application.
  • the terminal positioning method can be executed by a computer device, which can be an electronic device integrated with a satellite positioning device, such as any user terminal in the user terminal cluster shown in FIG. 1A , or any terminal that needs to be positioned.
  • the terminal positioning method may include the following steps.
  • Step S101 determine terminal state information corresponding to the terminal through satellite observation information, and obtain first screening observation information from satellite observation information according to the terminal state information.
  • the computer device may send an ephemeris acquisition request to the CORS system.
  • the high-precision positioning service platform of the CORS system can obtain the real-time satellite navigation ephemeris from the satellite ephemeris database, and transmit the real-time satellite navigation ephemeris to the computer equipment in the form of binary stream.
  • the computer equipment can receive the satellite navigation ephemeris broadcast by the high-precision positioning service platform of the CORS system.
  • the computer equipment can also receive the satellite observation information broadcast by the high-precision positioning service platform of the CORS system.
  • the satellite navigation ephemeris may include a set of parameter lists for determining satellite positions
  • the satellite ephemeris database may include navigation ephemeris of all satellites.
  • Satellite observation information may include at least one of pseudorange observation data and Doppler observation data.
  • the computer equipment in this application may be a terminal to be located.
  • the satellite status information corresponding to each satellite is obtained.
  • the satellite status information at this time includes satellite position and satellite clock error.
  • the satellite status information at this time includes the satellite speed (that is, the satellite running speed) and the satellite clock drift.
  • the satellite status information at this time includes satellite position, satellite clock bias, satellite speed, and satellite clock drift.
  • the number of satellites can be N (N is a positive integer), and one satellite corresponds to one pseudorange observation data, one Doppler observation data, one satellite position, one satellite clock error, one satellite speed and one satellite Clock drift, the satellite position, satellite clock difference, satellite speed and satellite clock drift corresponding to each satellite may be different.
  • the satellite observation information includes pseudo-range observation data
  • the satellite position and satellite clock error corresponding to each satellite can be calculated, that is, the receiving time of the signal transmitted by the satellite is obtained.
  • the satellite observation information includes Doppler observation data
  • the satellite velocity and satellite clock drift corresponding to each satellite can be calculated based on the received Doppler observation data and the satellite navigation ephemeris.
  • the satellite observation equation between the terminal and the satellite can be constructed according to the satellite observation information and the satellite status information.
  • the terminal state information corresponding to the terminal can be obtained through the satellite observation equation, and based on the terminal state information, the first screening observation information can be obtained from the satellite observation information corresponding to the N satellites (for example, the pseudo-range observation in the above-mentioned embodiment corresponding to FIG. 2 Data set 20d and Doppler observation data set 20e).
  • the satellite observation information received by the terminal may have gross errors in the observation information. Therefore, in the process of calculating the terminal state information, a part of the gross errors in the observation information may be removed from the satellite observation information corresponding to the N satellites.
  • the satellite observation information actually used to calculate the terminal state information is only part of the satellite observation information corresponding to the N satellites, so the satellite observation information actually used when determining the terminal state information can be determined as the first screening observation information. For example, if the satellite observation information of satellite i in the satellite observation information corresponding to N satellites is gross error in observation information, then the satellite observation information of satellite i may be eliminated.
  • the terminal state information is obtained by estimating the satellite observation information of other satellites except satellite i
  • the satellite observation information of other satellites except satellite i among the N satellites may be used as the first screening observation information.
  • the quantity of the first screening observation information is less than or equal to the total quantity of all satellite observation information received by the terminal. For example, when the first screening observation information is pseudo-range observation data, the quantity of the first screening observation information is less than or equal to N (the number of satellites, that is, the total quantity of pseudo-range observation data received by the terminal).
  • the satellite observation information, the satellite state information, and the terminal state information in the embodiment of the present application are correlated.
  • the corresponding satellite state information is satellite position and satellite clock error
  • the corresponding terminal state information is terminal position and terminal clock error.
  • the satellite observation information is Doppler observation data
  • the corresponding satellite state information is satellite velocity and satellite clock drift
  • the corresponding terminal state information is terminal velocity and terminal clock drift.
  • the satellite observation information includes pseudorange observation data and Doppler observation data
  • the corresponding satellite status information is satellite position, satellite clock difference, satellite speed and satellite clock drift
  • the corresponding terminal status information is terminal position, terminal Clock difference, terminal speed and terminal clock drift will not be explained later.
  • the terminal receives the pseudo-range observation data corresponding to N satellites, based on the pseudo-range observation data and the satellite position and satellite clock error in the satellite status information, the following pseudo-range observation equation can be constructed:
  • the terminal receives Doppler observation data corresponding to N satellites respectively, based on the Doppler observation data and the satellite speed and satellite clock drift in the satellite status information, the following Doppler observation equation can be constructed:
  • the terminal velocity and terminal clock drift of the terminal can be estimated.
  • the pseudorange observation equation shown in formula (1) and the Doppler observation equation shown in formula (2) may be collectively referred to as satellite observation equations.
  • Step S102 setting the terminal state information as the initial state parameters of the filter, and obtaining the initial state covariance matrix of the filter for the initial state parameters.
  • This step is to initialize the state prediction model and the state adjustment model.
  • a filter can be established based on the terminal state information, that is, the filter is initialized through the terminal state information, and the terminal state information is set as the filter initial state parameters.
  • the number of state parameters of the filter depends on the number of parameters included in the terminal state information. For example, when the terminal state information includes terminal position, terminal clock difference, terminal speed and terminal clock drift, the initial state parameters of the filter can be set as Among them, [.]T represents the transposition of the matrix, and z(0) represents the initial state parameters of the filter.
  • the initial state covariance matrix of the filter for the initial state parameters (that is, the above state adjustment measurement transformations in the model).
  • the initial state covariance matrix can be used to characterize the correlation between initial state parameters.
  • the initial state covariance matrix is a diagonal matrix, which is also a symmetric matrix.
  • the initial state covariance matrix can be determined by first screening observation information and initial state parameters.
  • the filter can be a recursive filter, for example, the filter can include but not limited to: Kalman filter (Kalman Filter, EKF), extended Kalman filter (Extended Kalman Filter, EKF), unscented Kalman filter, Robust Kalman filter, etc.
  • Kalman Filter EKF
  • extended Kalman filter Extended Kalman Filter, EKF
  • unscented Kalman filter RKF
  • Robust Kalman filter etc.
  • the embodiment of the present application does not limit the type of the filter. For convenience of description, this embodiment uses a robust Kalman filter as an example for illustration.
  • Step S103 time updating the initial state parameters of the filter to obtain predicted state parameters, and time updating the initial state covariance matrix of the filter to obtain a predicted state covariance matrix.
  • the filter after the filter is initialized, the filter can be time-updated, the initial state parameter of the filter is updated to the predicted state parameter (that is, the predicted motion state), and the initial state covariance matrix is updated to the predicted state covariance matrix. variance matrix.
  • the time update process of the filter can be based on the initial state parameters to predict the state parameters.
  • the state parameter of the filter after the time update is completed may be called a predicted state parameter, and the state covariance matrix of the filter for the predicted state parameter may be called a predicted state covariance matrix.
  • the initial state parameters of the filter may be updated multiple times.
  • the initial state parameter of the filter is denoted as z(0)
  • the initial state covariance matrix of the filter is denoted as P(0).
  • z(0) can be considered as the state parameter of the filter at time 0
  • P(0) can be considered as the state covariance matrix of the filter at time 0.
  • the next (moment 1) state parameter for time updating of the filter can be denoted as z(1)
  • the covariance matrix of the next state can be denoted as P(1).
  • the state parameter of the filter at time t can be recorded as z(t), and the state covariance matrix at time t can be recorded as P(t).
  • z(t) is the predicted state parameter of the filter
  • P(t) is the predicted state covariance matrix of the filter.
  • Step S104 from the first screening observation information, select the second screening observation information used to construct the measurement update matrix of the filter, and construct the measurement variance matrix corresponding to the filter according to the satellite observation error factor determined by the terminal state information .
  • the measurement update of the filter may continue.
  • the state parameters at the beginning of the measurement update process are the predicted state parameters when the filter time update is completed, and the state covariance matrix at the beginning of the measurement update process is the predicted state covariance matrix when the filter time update is completed.
  • Model validation can be performed on the filter when measurement updates are performed on the filter. If the filter passes the model verification, the second screening observation information for constructing the measurement update matrix of the filter may be screened out from the first screening observation information through a normal distribution test. If the filter does not pass the model verification, it is necessary to repair the filter model, such as resetting the initial state parameters and initial state covariance matrix of the filter.
  • the model verification of the filter may include: constructing an observation variance matrix (that is, a matrix composed of errors of each satellite) through the signal-to-noise ratio corresponding to the first screening observation information and the altitude angle of the satellite corresponding to the first screening observation information.
  • the observation variance matrix corresponding to the first screening observation information may be referred to as a first observation variance matrix.
  • the model verification parameter value corresponding to the filter can be determined through the first observation residual matrix, the predicted state covariance matrix, the Jacobian matrix of the first screened observation data for the predicted state parameters, and the first observation variance matrix.
  • the observation residual matrix can refer to the matrix obtained by subtracting the formulas on both sides of the satellite observation equation, such as the matrix obtained by subtracting the equations of the pseudorange observation equation in the above formula (1), which can be It is called the observation residual matrix constructed by the N pseudorange observation data received by the terminal.
  • the observation equation corresponding to the first screening observation information can be constructed through the first screening observation information, the satellite state information of the satellite corresponding to the first screening observation information, and the predicted state information, and the observation equation on both sides of the equal sign
  • the above-mentioned first observation residual matrix can be obtained after subtracting the formulas.
  • the Jacobian matrix is a matrix in which the first-order partial derivatives are arranged in a certain way, and its determinant is called the Jacobian determinant.
  • the first observation residual matrix before obtaining the model verification parameter value corresponding to the filter, can also be roughed according to the quartile and absolute median difference of the first observation residual matrix
  • the difference detection process is used to obtain the second observation residual matrix.
  • the observation residual matrix constructed by the third screening observation information may be referred to as a second observation residual matrix.
  • the signal-to-noise ratio corresponding to the third screening observation information and the altitude angle of the satellite corresponding to the third screening observation information may be used to construct an observation variance matrix.
  • the observation variance matrix corresponding to the third screening observation matrix may be referred to as the first variance matrix.
  • the model verification parameter value corresponding to the filter can be determined through the second observation residual matrix, the predicted state covariance matrix, the Jacobian matrix of the second observed residual matrix for the predicted state parameters, and the first observation variance matrix.
  • the quantity of the third screening observation information is less than or equal to the quantity of the first screening observation information.
  • the quartile may refer to sorting the elements in the first observation residual matrix. Divide the sorted observation residual sequence into quarters. The element at the split point in the sorted observation residual sequence, the element at the quarter split point is called the lower quartile, the element at the half split point is called the median, and the three-quarter split point.
  • the elements of are called upper quartiles, that is, quartiles can include lower quartiles, medians, and upper quartiles.
  • the absolute median difference is the median of the absolute values of the new data obtained by subtracting the median from the elements in the residual matrix of the first observation. The absolute median difference is a measure of statistical dispersion. Gross error detection processing can be realized by a gross error detection method.
  • the method of performing gross error detection processing based on the quartile and the absolute median is only an example in the embodiment of the present application.
  • any other form of gross error detection method can also be used, for example, sequential gross error detection based on normal distribution, gross error detection based on quartile and absolute median difference etc. This application does not limit the gross error detection method for eliminating gross errors in satellite observation information.
  • the filter when the first screening observation data is pseudo-range observation data, the filter can be detected by the first screening observation information and the predicted state covariance matrix, and if the filter is detected If there is a clock error jump in the filter, the clock error jump repair is performed on the filter, that is, the state parameters and state covariance parameters of the filter are updated; if there is no clock error jump in the filter, the filter can maintain the current state parameters and the state covariance matrix.
  • the filter can be detected by the first screening observation information and the predicted state covariance matrix, and if it is detected that there is a clock drift jump in the filter, then Perform clock drift jump repair on the filter, that is, update the state parameters and state covariance parameters of the filter; if there is no clock drift jump in the filter, the filter can maintain the current state parameters and state covariance matrix.
  • the third screening observation information is screened out from the first screening observation information through gross error detection processing, clock error and clock drift jump detection and repair. After the filter completes the detection and repair of the clock error and clock drift jump, the model verification of the filter is performed, that is, the model verification parameter value corresponding to the filter is obtained.
  • the model verification parameter can be Perform standardized processing to obtain a standardized residual matrix; by performing a normal distribution test on the standardized residual matrix, the test results corresponding to each element contained in the standardized residual matrix are obtained; if the lth in the standardized residual matrix If the test result corresponding to the element does not meet the test conditions, it is determined that the lth element has not passed the normal distribution test, and the satellite observation information corresponding to the lth element is eliminated from the first screening observation information to obtain the second screening observation information ; l is a positive integer less than or equal to the quantity of the first screening observation information.
  • the model verification parameter value when the model verification parameter value is greater than or equal to the model verification threshold (that is, the model verification parameter value does not meet the preset threshold condition), then reset the initial state parameters and the initial state covariance matrix of the filter, that is, reset set filter.
  • the satellite observation information corresponding to the lth element can be eliminated from the third screening observation information to obtain the first Second screening observation information, at this time l is a positive integer less than or equal to the number of third screening observation information.
  • a third observation residual matrix can be constructed by using the second screening observation information, predicted state parameters (that is, the state parameters of the filter at the current moment) and satellite state information, and the first The three-observation residual matrix is determined as the measurement update matrix corresponding to the filter for the Jacobian matrix of the predicted state parameters.
  • the satellite observation error factor (that is, the error adjustment factor) can be obtained when determining the terminal state information, and the satellite observation error factor can also be called a random error model factor; the satellite observation error factor can include pseudo-range observation random error model factors and Doppler At least one of the random error model factors of Leer observation; the pseudo-range observation random error model factor can be used to measure the degree of difference between the pseudo-range observation data and the actual data, and the Doppler observation random error model factor can be used to measure the Doppler The degree of difference between the observed data and the actual data.
  • the measurement variance matrix corresponding to the filter can be constructed.
  • the measurement variance matrix can be a matrix with fixed values or based on experience model to determine.
  • Step S105 measure and update the predicted state parameters of the filter through the measurement update matrix, the second screening observation information, the predicted state covariance matrix, and the measurement variance matrix to obtain the target state parameters, and determine the corresponding terminal location of the terminal according to the target state parameters result.
  • the target state parameters and the target state covariance matrix can be obtained by performing measurement update on the predicted state parameters of the filter through the measurement update matrix, the second screening observation information, the predicted state covariance matrix, and the measurement variance matrix.
  • the difference between the target state parameter and the previous state parameter can be determined as the filter correction amount corresponding to the filter, and when the filter correction amount passes the test (the correction threshold can be set according to actual needs or experience), it can be Through the target covariance matrix, measurement variance matrix and measurement update matrix, the second residual covariance matrix corresponding to the filter is constructed; the second residual covariance matrix is used to test the normal distribution of the third observation residual matrix, and the first The test results corresponding to each element contained in the three-observation residual matrix; if the test results corresponding to each element in the third observation residual matrix meet the test conditions, the target state parameter is determined as the terminal corresponding to Terminal positioning results.
  • the terminal positioning results obtained in the embodiments of the present application can be applied to mobile phone terminal positioning and navigation application scenarios (for example, electronic map applications), and can also be applied to lane-level navigation application scenarios, which can achieve sub-meter level Or lane-level positioning, where sub-meter positioning means that the accuracy of terminal positioning results can reach decimeters, centimeters or even millimeters.
  • mobile phone terminal positioning and navigation application scenarios for example, electronic map applications
  • lane-level navigation application scenarios which can achieve sub-meter level Or lane-level positioning, where sub-meter positioning means that the accuracy of terminal positioning results can reach decimeters, centimeters or even millimeters.
  • the filter correction amount is greater than or equal to the correction threshold, it indicates that the filter is faulty, and the filter needs to be reset. If there is an element in the third observation residual matrix that fails the inspection, the satellite observation information corresponding to the element is eliminated, the fourth screening observation information is determined from the second screening observation information, and the measurement is reconstructed through the fourth screening observation information Update matrix.
  • the terminal state information corresponding to the terminal can be obtained through satellite observation information estimation, and a filter can be established through the terminal state information, and the observation can be eliminated from the satellite observation information through two processes of filter time update and filter measurement update.
  • Information gross error and by eliminating the satellite observation information after the observation information gross error, determine the terminal positioning result corresponding to the terminal, which can improve the accuracy of the terminal position, realize sub-meter or lane-level positioning, and assist lane-level positioning and navigation.
  • FIG. 4 and FIG. 5 are examples of implementations of step S11 in the above-mentioned embodiment in FIG. 1B and step S101 in the embodiment corresponding to FIG. 3 .
  • the satellite observation information includes pseudo-range observation data and Doppler observation data
  • the N pseudo-range observation data can be constructed as described above
  • the pseudorange observation equation shown in the formula (1) constructs the Doppler observation equation shown in the aforementioned formula (2) for the N Doppler observation equations.
  • the terminal position and terminal clock error corresponding to the terminal can be estimated by using the robust weighted least squares algorithm and the pseudorange observation equation; Terminal speed and terminal clock drift, terminal position, terminal speed, terminal clock difference, and terminal clock drift may be referred to as terminal status information.
  • the robust weighted least squares algorithm is an organic combination of the robust estimation principle and the least squares form through equivalent weights. The main body of the measured value generally conforms to the normal distribution. ) is a mathematical optimization method. It should be noted that the robust weighted least squares algorithm is only an example provided by the embodiment of the present application, and other mathematical optimization methods other than the robust weighted least squares algorithm are also applicable, such as Newton's method, random The gradient descent method is not limited in this application.
  • FIG. 4 is a schematic flowchart of estimating a terminal position and a terminal clock error in terminal state information provided by an embodiment of the present application.
  • the estimation process of the terminal position and the terminal clock error may include the following steps:
  • Step S201 setting an initial value of an estimated parameter, that is, an initial estimated motion state, which may include an initial terminal position and an initial terminal clock error.
  • the position of the terminal and the clock error of the terminal can be estimated by using the robust weighted least squares algorithm and the N pieces of pseudorange observation information.
  • the estimated parameter is Then the specific process of adopting the robust weighted least squares algorithm may include: setting the initial value of the estimated parameter x u , that is, setting the initial state information for the terminal, the initial state information at this time may include the initial terminal position and the initial terminal clock error, record for For example, ru_0 and dtr1_0 in the embodiment corresponding to FIG. 2 .
  • the purpose of using the robust weighted least squares algorithm is to continuously iteratively update the above estimated parameter xu to obtain the estimated values of the terminal position and the terminal clock error.
  • Step S202 constructing a pseudorange residual matrix.
  • the satellite observation equation between the terminal and the satellite is constructed through satellite observation information, initial state information, and satellite state information corresponding to the satellite.
  • the satellite observation information includes N pseudorange observation data
  • the initial state information It can include initial terminal position r u,0 and initial terminal clock error dt r,0
  • satellite status information can include satellite position and satellite clock error, so the constructed satellite observation equation is essentially a pseudo-range observation equation.
  • the separation distance between the initial terminal position and the satellite position can be obtained, such as
  • the form of the pseudorange observation equation is shown in the above formula (1), except that ru in the above formula (1) is replaced by r u,0 , and dtr is replaced by dt r,0 .
  • the two sides of the pseudorange observation equation can be subtracted to obtain the pseudorange residual matrix B0, which can also be referred to as the pseudorange residual matrix for short.
  • the elements in the pseudorange residual matrix B0 can be expressed as each pseudorange The residual value between the observed data and the estimate obtained from the initial terminal position, satellite position, initial terminal clock error, and satellite clock error.
  • Step S203 performing gross error detection on the pseudorange residual matrix based on the quartiles.
  • gross error detection can be performed on the pseudorange residual matrix B0 based on the first anomaly detection method, and the pseudorange observation data out of the N pseudorange observation data are eliminated. Difference.
  • the quartile method is used as an example of the first anomaly detection method to illustrate the gross error detection process.
  • other anomaly detection methods may also be used for gross error detection, which will not be repeated here.
  • the quartile-based gross error detection process can derive many different gross error detection schemes in the specific implementation process.
  • the gross error detection conditions are different, and the results obtained may also be different, resulting in
  • the outlier detection schemes for different results should be different, and a quartile-based outlier detection scheme is taken as an example below to describe the gross error detection process.
  • the elements in the pseudorange residual matrix B0 are sorted in ascending order, and the sorted pseudorange residual sequence is obtained.
  • M 1/4 is the lower quartile of the first sequence
  • M 3/4 is the upper quartile of the first sequence.
  • each element in the first sequence is subtracted from the median of the first sequence, and the absolute value of the result obtained after the subtraction is taken to obtain a new set of data.
  • the data of can be called the second sequence.
  • This operation is a process of updating the above-mentioned updated mask array again.
  • some gross errors in the pseudorange observation data can be eliminated from the N pseudorange observation data, and the pseudorange observation data after the gross error removal can be obtained, which can be called the fifth screening observation information.
  • the fifth screening observation information includes n1 pseudorange observation data, and n1 is a positive integer less than or equal to N.
  • n1 is less than N, it is necessary to reconstruct the pseudorange residual matrix B0 based on the fifth screening observation information. Compared with the previous The pseudorange residual matrix, the number of rows of the reconstructed B0 becomes smaller.
  • step S203 can be skipped, and jump directly from step S202 to step S204, then step S204 and subsequent steps are all performed on the basis of N pseudorange observation data of. If the number of obtained pseudo-range observation data becomes n1 after step S203 is executed, then step S204 and subsequent steps are performed on the basis of n1 pseudo-range observation data. For the convenience of description, the subsequent steps in the embodiment of the present application are all performed on the basis of n1 pseudo-range observation data, which will not be explained later.
  • Step S204 calculating the Jacobian matrix of the pseudorange observation equation with respect to the estimated parameters.
  • the estimated parameter of the k-1th iteration is the estimated parameters of the k-1th iteration.
  • the estimated parameters of the k-1th iteration include the initial terminal position and the initial terminal clock error
  • the satellite observation equation of each iteration is constructed by the estimated parameters of this iteration, that is, the k-1th iteration
  • the pseudorange observation equation needs to replace the terminal position and terminal clock error in the above formula (1) with the terminal position r u, k-1 and terminal clock error dt r, k-1 in x u , k-1 , and the
  • the satellite observation equation (pseudorange observation equation) of the k-1th iteration, for the partial derivative of the estimated parameter of the k-1th iteration is determined as the Jacobian matrix of the k-1th iteration, according to the k-1th iteration
  • the iterative satellite observation equation can construct the pseudorange residual matrix of the k-1th iteration.
  • the pseudorange residual matrix of the k-1th iteration is denoted as Bk-1
  • the Jacobian matrix of the k-1th iteration is denoted as G ⁇ , k-1
  • the Jacobian matrix G ⁇ , k-1 can be As shown in the following formula (3):
  • Step S205 constructing a pseudorange observation variance matrix.
  • the observation error parameter, the satellite observation information (pseudo-range observation data) corresponding to the N satellites can be ) signal-to-noise ratio, and the elevation angles corresponding to the N satellites respectively, determine the satellite observation errors corresponding to the N satellites respectively (the satellite observation errors here can be a pseudo-range random observation error model); and then the N satellites correspond to The satellite observation errors of are used as the diagonal elements of the matrix to construct the second observation variance matrix.
  • the second observation variance matrix can be the pseudorange observation variance matrix determined by N pseudorange observation data.
  • the observation error parameter n1
  • the corresponding pseudorange random observation error model is used as the diagonal elements of the matrix to construct the pseudorange observation variance matrix, which can be shown in the following formula (4):
  • W ⁇ , k-1 in the above formula (4) represents the variance matrix of the pseudo-range observation of the kth iteration
  • ⁇ ⁇ i represents the pseudo-range observation random error model (satellite observation error) corresponding to satellite i
  • ⁇ ⁇ i can be as follows As shown in formula (5):
  • CN0 i is the signal-to-noise ratio of the pseudo-range observation value of satellite i
  • el i represents the altitude angle of satellite i
  • ⁇ ⁇ is the pseudo-range observation parameter, which can be set according to actual needs, for example, ⁇ ⁇ can be set to 3 2. This application does not limit this.
  • the pseudorange observation variance matrix is a matrix with fixed values. During the iterative update process of the estimated parameter xu, if the pseudorange observation data used does not change, the pseudorange observation variance matrix remains unchanged ; If a gross error in the pseudo-range observation data is detected from the pseudo-range observation data and the gross error of the pseudo-range observation data is eliminated, it means that the pseudo-range observation data has changed, so the pseudo-range observation variance matrix can be reconstructed, that is, delete The satellite observation error of the satellite corresponding to the gross error of pseudo-range observation data; the more gross errors of pseudo-range observation data are eliminated, the fewer rows of pseudo-range observation variance matrix.
  • Step S206 calculating the estimated parameter correction amount, and updating the estimated parameter value.
  • the state information correction amount of the k-1th iteration can be as follows As shown in formula (6):
  • ⁇ x ⁇ , k-1 represents the state information correction of the k-1th iteration, also known as the estimated parameter correction of the k-1th iteration
  • B k-1 is the pseudorange of the k-1th iteration Residual matrix, such as shown in the following formula (7):
  • the estimated parameter xu can be updated according to the state information correction amount of the k-1th iteration, and the update process is shown in the following formula (8):
  • x u, k are the estimated parameters of the k-th iteration.
  • x u, k are the estimated parameters of the k-th iteration.
  • Step S207 calculating chi-square test statistics.
  • the estimated parameters of the k-1th iteration and the state information of the k-1th iteration The sum of corrections is determined as the estimated parameter of the kth iteration, that is, the estimated parameter of the kth iteration is obtained based on the above formula (8) And carry out chi-square test to the settlement result at this time; according to the satellite observation equation of the k iteration, construct the pseudorange residual matrix of the k iteration (that is, the above-mentioned B k ), and the pseudorange residual matrix of the k iteration The product of the corresponding transposed matrix, the inverse matrix corresponding to the pseudorange observation variance matrix, and the pseudorange residual matrix of the kth iteration is determined as the test statistic s.
  • the condition for ⁇ x ⁇ , k-1 to reach convergence can be
  • the value is not limited; the test statistic s can be shown in the following formula (9):
  • B k is the pseudorange residual matrix when the chi-square test is performed, it can also be called the post-test residual matrix.
  • test statistic s is less than the test threshold (can be set according to actual needs)
  • step S211 and step S212 for example, the estimated parameter of the kth iteration It is determined as the terminal position and the terminal clock error in the terminal status information corresponding to the terminal.
  • the subsequent steps S208 to S210 are performed, that is, the post-test residual covariance matrix obtained by calculation (which can be called the first residual covariance matrix) is compared with the post-test residual matrix (that is, the above-mentioned B k ) is subjected to a normal distribution test, and pseudo-range observation data that fail the normal distribution test are eliminated.
  • Step S208 calculating the post-test residual covariance matrix.
  • the second observation variance matrix that is, the pseudorange observation variance matrix W ⁇ , k-1
  • the residual covariance matrix can be shown as the following formula (11):
  • C B represents the post-test residual covariance matrix
  • Step S209 performing a normal distribution test on the post-test residual matrix according to the post-test residual covariance matrix.
  • Step S210 eliminating pseudo-range observation data that fails the normal distribution test.
  • the pseudo-range residual matrix of the kth iteration (post-test residual covariance matrix, that is, the pseudo-range residual that has performed the chi-square test difference matrix B k ) to carry out the normal distribution test, and obtain the test results corresponding to each element in the pseudorange residual matrix of the kth iteration; if the ith element in the pseudorange residual matrix of the kth iteration If the corresponding test result does not meet the test conditions, it is determined that the i-th element has not passed the normal distribution test, and the pseudo-range observation data associated with the i-th element is eliminated; i is a positive integer less than or equal to the number of pseudo-range observation data ; Use the remaining pseudo-range observation data after removing the pseudo-range observation data associated with the i-th element as the satellite observation information, and use the estimated parameters of the k-th iteration as the initial state information, and start to execute from the above step S201 again,
  • the iteration cycle is judged by whether it converges. For example, if the estimated parameters converge at the 10th iteration, but the solution information at this time does not pass the chi-square test, then the 1st iteration to the 10th iteration can be As the first iteration cycle, the estimated parameters reach convergence again at the 25th iteration, then the 11th iteration to the 25th iteration are used as the second iteration cycle, and so on until convergence is reached and the chi-square test is passed.
  • the number of iterations included in different iteration periods may be the same or different, and the pseudorange observation data used in different iteration periods may be the same or different, and usually they are different.
  • N( ⁇ ) in the formula (12) is the upper quantile of the normal distribution with a confidence degree of ⁇ , Denotes the i-th element in B k .
  • Step S211 adaptively estimating random error model factors of pseudorange observations.
  • the pseudo-range observation random error model factor can be adaptively estimated, which can also be called the pseudo-range observation error factor, and the pseudo-range observation random error model factor can be as follows: 13) as shown:
  • test statistic s When the test statistic s is less than the test threshold, the test statistic s and the number of pseudorange observation data included in B k may also refer to the number of rows of B k .
  • Step S212 output terminal position, random error model factor of pseudo-range observation and eliminated pseudo-range observation data information.
  • the estimated parameter of the k-th iteration can be used as the terminal position corresponding to the terminal, and the pseudo-range observation random error model factor can also be output
  • the remaining pseudo-range observation data obtained after removing some gross errors of the pseudo-range observation data can be called pseudo-range screening data.
  • the pseudorange screening data is the pseudorange observation data included in Bk .
  • FIG. 5 is a schematic flowchart of estimating terminal speed and terminal clock drift in terminal state information provided by an embodiment of the present application.
  • the estimation process of terminal speed and terminal clock drift may include the following steps:
  • Step S301 setting initial values of estimated parameters, namely initial terminal velocity and initial terminal clock drift.
  • the terminal velocity and the terminal clock drift can be estimated by using the robust weighted least squares algorithm and the N pieces of Doppler observation information.
  • the estimated parameter is The specific process of adopting the robust weighted least squares algorithm may include: setting the initial value of the estimated parameter y u , that is, setting the initial state information for the terminal, the initial state information at this time may include the initial terminal speed and the initial terminal clock drift, record for For example, vu_0 and dtr2_0 in the embodiment corresponding to FIG. 2 .
  • the purpose of using the robust weighted least squares algorithm is to continuously iteratively update the above estimated parameter y u , and estimate the corresponding terminal velocity and terminal clock drift of the terminal.
  • Step S302 constructing a Doppler residual matrix.
  • the satellite observation equation between the terminal and the satellite is constructed through satellite observation information, initial state information, and satellite state information corresponding to the satellite.
  • the satellite observation information includes N Doppler observation data
  • the initial state Information can include initial terminal velocity v u,0 and initial terminal clock error
  • Satellite state information may include satellite velocity and satellite clock drift, so the constructed satellite observation equation is essentially a Doppler observation equation. More specifically, it is possible to obtain the velocity difference between the initial terminal velocity and the satellite velocity, as well as the unit observation between the terminal and the satellite, e.g.
  • the Doppler observation equation between the terminal and the satellite is constructed; the form of the Doppler observation equation is as the above formula (2) As shown, just replace vu in the above formula (2) with v u, 0 , replace with Furthermore, the two sides of the Doppler observation equation can be subtracted to obtain a Doppler residual matrix, which can also be referred to simply as a Doppler residual matrix.
  • Step S303 performing gross error detection on the pseudorange residual matrix based on the quartiles.
  • Step S304 calculating the Jacobian matrix of the Doppler observation equation with respect to the estimated parameters.
  • Step S305 constructing a Doppler observation variance matrix.
  • Step S306 calculating the estimated parameter correction amount, and updating the estimated parameter value.
  • Step S307 calculating chi-square test statistics.
  • Step S308 calculating the post-test residual covariance matrix.
  • Step S309 performing a normal distribution test on the post-test residual matrix according to the post-test residual covariance matrix.
  • Step S310 eliminating Doppler observation data that fail the normal distribution test.
  • Step S311 adaptively estimating random error model factors of Doppler observations.
  • Step S312 output terminal velocity, Doppler observation random error model factor and eliminated Doppler observation data information.
  • step S303 to step S312 the specific implementation process from step S303 to step S312 is based on the update process of the estimated parameter yu based on the robust weighted least squares algorithm, and its algorithm flow is the same as the process of estimating the terminal position using pseudorange observation information in the above-mentioned embodiment corresponding to Figure 4 Similar, and will not be repeated here.
  • the robust weighted least squares algorithm to process N Doppler observation data
  • the terminal velocity and the random error model factor of Doppler observation can be output (It can also be called the Doppler observation error factor, and the aforementioned pseudo-range observation error factor is collectively referred to as the satellite observation error factor) data
  • these remaining Doppler observation data can be called Doppler screening data.
  • the Doppler screening data and the aforementioned pseudorange screening data may be referred to as the first screening observation information; the terminal position and terminal clock offset estimated by the pseudorange observation data, and the terminal velocity and terminal clock drift estimated by the Doppler observation data It may be collectively referred to as terminal status information corresponding to the terminal.
  • the terminal position and terminal velocity of the terminal are estimated by the robust weighted least squares algorithm, which can provide more accurate initial state parameters for establishing a filter, and can improve the positioning accuracy of the terminal.
  • FIG. 6 is a schematic flowchart of a method for locating a terminal provided in an embodiment of the present application.
  • the terminal positioning method can be executed by a computer device, which can be an electronic device integrated with a satellite positioning device, such as any user terminal in the user terminal cluster shown in FIG. 1A , or any terminal that needs to be positioned.
  • the satellite observation information includes pseudorange observation data and Doppler observation data
  • the state prediction model and state adjustment model are implemented by a robust Kalman filter as an example to describe in detail.
  • the terminal positioning method The following steps may be included.
  • Step S401 estimating terminal state information based on robust weighted least squares and satellite observation information.
  • step S401 For the specific implementation process of step S401, reference may be made to the descriptions in the above-mentioned embodiments corresponding to FIG. 4 and FIG. 5 , and details are not repeated here.
  • Step S402 establishing a robust Kalman filter from the terminal state information.
  • step S402 when the robust Kalman filter has completed the initialization process, step S402 is not required, and subsequent step S403 is directly performed.
  • the terminal position, terminal velocity, terminal clock error and terminal clock drift in the terminal state information can be set as the initial state parameters of the robust Kalman filter (filter), namely Through the signal-to-noise ratio corresponding to the pseudo-range screening data and the altitude angle of the satellite corresponding to the pseudo-range screening data, the pseudo-range observation variance matrix is constructed, which is recorded as W ⁇ t , and the signal-to-noise ratio corresponding to the Doppler screening data, and the Doppler The altitude angle of the satellite corresponding to the Le screening data is used to construct the Doppler observation variance matrix, denoted as The satellite observation error factor determined by the pseudo-range observation variance matrix, the terminal position and the terminal clock error (that is, the pseudo-range observation random error model factor It can also be called the pseudorange observation error factor), and the Jacobian matrix determined by the pseudo
  • p(0) is the initial state covariance matrix
  • diag represents the diagonal matrix
  • location covariance matrix is the velocity covariance matrix
  • position covariance matrix is the velocity covariance matrix
  • Step S403 estimating the filter system noise according to the historical state information, that is, the prediction error information of the state prediction model for at least one motion state parameter.
  • FIG. 7 is a schematic diagram of an adaptive noise estimation of a filter system provided by an embodiment of the present application.
  • the filter system noise adaptive estimation can include speed system noise estimation, clock drift system noise estimation and clock error system noise estimation, and the speed system noise estimation is realized through historical terminal speed information, the historical terminal speed The information may be a historical terminal speed sequence, the historical clock difference information may be a historical terminal clock difference sequence, and the historical clock drift information may be a historical terminal clock drift sequence.
  • the historical terminal speed sequence, historical terminal clock drift sequence and historical terminal clock difference sequence in the historical state information corresponding to the terminal can be obtained; the historical terminal speed sequence, historical terminal clock drift sequence and historical terminal clock difference sequence are all Determined by a time sliding window of size p, where p is a positive integer; the above historical state information may refer to state information generated during an update iteration process of robust weighted least squares.
  • the historical terminal speed sequence can be shown as formula (17):
  • T v (p) ⁇ v u (t 1 ), v u (t 2 ), v u (t 3 ), ..., v u (t p ) ⁇ (17)
  • T v (p) represents the historical terminal speed sequence, which means the historical terminal speed saved for p consecutive moments
  • v u (t 1 ) represents the terminal speed at time t 1
  • the historical terminal clock drift sequence can be expressed as formula (18 ) as shown:
  • dtr(p) ⁇ dtr(t 1 ), dtr(t 2 ), dtr(t 3 ), ..., dtr(t p ) ⁇ (19)
  • dtr(p) represents the historical terminal clock difference sequence, and represents the historical terminal clock difference saved for p consecutive moments.
  • the speed system noise estimation shown in Fig. 7 may include: obtaining the first variance value corresponding to the historical terminal speed sequence, denoted as ⁇ v (p), and calculating the difference between the first variance value and the time difference of adjacent epochs The product between is determined as the speed system noise corresponding to the filter; wherein, the first variance value can be shown in the following formula (20):
  • the velocity system noise of the filter can be expressed by the spectral density PSD v , and the spectral density PSD v is shown in the following formula (21):
  • dt represents the time difference between adjacent epochs.
  • the clock drift system noise estimation shown in FIG. 7 may include: obtaining the second variance value corresponding to the historical terminal clock drift sequence, denoted as The product between the second variance value and the time difference dt of adjacent epochs is determined as the clock drift system noise corresponding to the filter; wherein, the second variance value can be shown in the following formula (22):
  • the clock drift system noise of the filter can use the spectral density To represent, the spectral density As shown in the following formula (23):
  • the clock error system noise estimation shown in Figure 7 includes: obtaining the third-party difference value corresponding to the historical terminal clock difference sequence, denoted as ⁇ dtr (p), and calculating the difference between the third-party difference value and the time difference of adjacent epochs
  • the product of is determined as the clock error system noise corresponding to the filter; wherein, the third-party difference can be shown as the following formula (24):
  • the clock error system noise of the filter can be expressed by the spectral density PSD dtr , as shown in the following formula (25):
  • the noise of the velocity system, the noise of the clock drift system and the noise of the clock error system can be determined as the filter system noise corresponding to the filter, that is, the filter system noise includes the above-mentioned spectral density PSDv, spectral density and the spectral density PSD dtr .
  • the robust Kalman filter can be updated in time, for example, the state transition matrix of the filter (robust Kalman filter) can be constructed through the time difference of adjacent epochs, using The state transition matrix and initial state parameters of the filter predict the predicted state parameters.
  • the update method of the state parameters during the time update process of the filter is: the next state parameter is the product of the previous state parameter and the state transition matrix.
  • the predicted state covariance matrix is predicted using the state transition matrix, the filter system noise and the initial state covariance matrix of the filter.
  • the update method of the state covariance matrix in the filter time update process may include: when the predicted state covariance matrix is the state covariance matrix of the initial state covariance matrix in the filter at time t, then the above-mentioned predicted state parameters are also is the state parameter of the initial state parameter at time t, and t is a positive integer; the noise covariance matrix can be constructed through the filter system noise and the index information corresponding to the time difference between adjacent epochs; and then the filter at time t-1 can be obtained state covariance matrix; when t is 1, the state covariance matrix of the filter at time t-1 is the initial state covariance matrix; the state transition matrix, the state covariance matrix at time t-1 and the state transition matrix corresponding to The product between the transposed matrices is summed with the noise covariance matrix to obtain the prediction covariance matrix. Assuming that the state variance matrix of the filter at time t-1 is P(t-1), then at time t, the state covariance matrix
  • F(t-1) is the state transition matrix
  • Q(t-1) is the noise covariance matrix
  • the state transition matrix F(t-1) can be shown as formula (27):
  • ⁇ d is the relevant time of the Markov process, usually an empirical value, such as 5 seconds, 20 seconds, 50 seconds, etc.
  • the noise covariance matrix Q(t-1) can be shown as formula (28):
  • the state parameter x(t) of the filter F(t-1) x(t-1)
  • the time update process of the filter state parameter can be realized through this formula, through the above formula (26) to Formula (28) can realize the time update process of the filter state covariance matrix.
  • the state parameters of the filter are called predicted state parameters, and the predicted state covariance matrix of the filter state covariance matrix.
  • Step S404 adaptively estimating a random error model of satellite observation information (also called satellite observation error) according to the robust weighted least squares solution information.
  • the random error model of satellite observation information may include a random error model of pseudorange observation and a random error model of Doppler observation, and the random error model of satellite observation information may be shown in the following formula (29):
  • ⁇ ⁇ represents the random error model of pseudo-range observation
  • ⁇ ⁇ represents the observation error parameter corresponding to the pseudo-range observation data
  • ⁇ ⁇ and It can be adjusted according to experience or actual needs, such as ⁇ ⁇ 3 2
  • CN0 represents the signal-to-noise ratio of satellite observation information
  • el represents the altitude angle of the satellite.
  • Random Error Model Factors Observational by Pseudoranges can adaptively adjust the pseudo-range observation random error model ⁇ ⁇ , through the Doppler observation random error model factor Random error model for Doppler observations Carry out adaptive adjustment, for example as shown in the following formula (27):
  • Step S405 using robust weighted least squares solution information to preliminarily eliminate gross errors in satellite observation information to obtain first screening observation information.
  • the obtained remaining satellite observation information may be called the first screening observation information (ie, the current updated positioning information set).
  • the first screening observation information ie, the current updated positioning information set.
  • Step S406 constructing a satellite observation residual matrix for the first screening observation information, that is, a first observation residual matrix.
  • the first screening observation information at this time is the satellite observation information after gross errors are removed. It can be understood that although the first screening observation information here is satellite observation information after removing gross errors, it does not mean that the first screening observation information does not contain gross errors in observation information, it can only be understood as up to the current step, All detected gross errors in observation information have been eliminated. As for whether there are gross errors in observation information in the first screening observation information, it can be detected through subsequent steps.
  • the satellite observation residual matrix can be constructed by first screening the observation information and the predicted state parameters (that is, the predicted motion state), that is, to obtain the deviation data of the current (after removing gross errors) satellite observation information relative to the predicted motion state, where the satellite
  • the observation residual matrix may be referred to as a first observation residual matrix. Since the first screening observation information includes pseudorange observation data and Doppler observation data, two satellite observation residual matrixes can be constructed through the first screening observation information, that is, the first observation residual matrix can include the Doppler residual matrix and the pseudorange residual matrix. Assuming that the first screening observation information includes sn pseudo-range observation data, and sn is a positive integer less than or equal to N, the satellite observation equation constructed by sn pseudo-range observation data can be shown in the following formula (31):
  • the satellite observation equation shown in the above formula (31) can construct the pseudorange residual matrix in the first observation residual matrix
  • the pseudorange residual matrix It can be shown as the following formula (32):
  • the satellite observation equation constructed by qn Doppler observation data can be as follows Formula (33) shows:
  • the satellite observation equation shown in the above formula (33) can construct the Doppler residual matrix in the first observation residual matrix
  • the Doppler residual matrix It can be shown as the following formula (34):
  • outlier detection can be used to remove the detected abnormal observation information from the satellite observation residual matrix, that is, the deviation data of the satellite observation information relative to the predicted motion state. For example, when it is detected that the residual data corresponding to the satellite observation information of at least one satellite is an outlier, then the at least one satellite corresponding to data, so as to update the above-mentioned satellite observation residual matrix and positioning information set, the pseudorange residual matrix, Doppler residual matrix and first screening observation information used in the subsequent steps can all be used in this step to carry out anomalies on the residual matrix After value detection and elimination, the updated pseudorange residual matrix, Doppler residual matrix and first screening observation information are obtained.
  • the detection and repair of the clock jump may include the detection and repair of the clock error jump, and the detection and repair of the clock drift jump.
  • Step S407 performing clock jump detection and repair based on the pseudorange residual matrix.
  • the method shown in the following formula (36) can be used to detect clock bias jumps, namely:
  • the absolute median difference of Represents the pseudorange residual matrix the median of Represents the pseudorange residual matrix standard deviation of Represents the pseudorange residual matrix
  • ⁇ m and ⁇ clk are the clock error detection thresholds, for example, ⁇ m is called the first clock error detection threshold, and ⁇ clk is called the second clock error detection threshold
  • jump clk is the clock error jump value
  • It is the clock difference detection value.
  • Step S408 calculating the clock error jump value based on the pseudorange residual matrix and repairing the clock error.
  • the method shown in the following formula (37) can be used to repair
  • the clock bias jumps and resets the filter, that is, resets the state parameters and state covariance matrix of the filter, for example:
  • SQR(100.0) represents the square root of 100.
  • Step S409 detecting and repairing clock drift jumps based on the Doppler residual matrix.
  • the clock drift jump detection method is the same as the clock error jump detection method (that is, the above formula (35) and formula (36)), and will not be repeated here.
  • step S410 the clock drift jump value is calculated based on the Doppler residual matrix and the clock drift is repaired.
  • the method shown in the following formula (38) can be used to repair the clock drift jump and reset the filter, that is, to reset the state parameters and the state covariance matrix of the filter ,For example:
  • j dclk is the position of the clock drift in the filter state parameter z(t).
  • Step S411 calculating the verification parameter values of the filter model, and verifying and repairing the robust Kalman filter.
  • the filter model verification parameter value can be calculated, and whether there is a fault in the robust Kalman filter system can be judged by the model verification parameter value.
  • the model verification parameter value may include a pseudorange model verification parameter value and a Doppler model verification parameter value, and the model verification parameter value is as shown in the following formula (39):
  • ⁇ ⁇ is the verification parameter value of the pseudo-range model
  • Validate parameter values for the Doppler model P(t) is the state covariance matrix of the filter at time t
  • G ⁇ t is the pseudorange residual matrix With respect to the Jacobian matrix of the filter state parameters
  • the model validation parameter values at this time are the first observation residual matrix (including the pseudorange residual matrix) constructed by the first screening observation information and the Doppler residual matrix ), the Jacobian matrix (including the Jacobian matrix G ⁇ t and the Jacobian matrix ), the state covariance matrix P(t) of the filter, and the first observation variance matrix associated with the first screening observation information (including pseudorange observation variance matrix W ⁇ t and Doppler observation variance matrix ) build to get.
  • step S412 When the model verification parameter value of the filter is less than the model verification threshold, the following step S412 can be continued.
  • the model verification parameter value of the filter is greater than or equal to the model verification threshold, it means that the filter is faulty and the filter needs to be reset , repeatedly execute the above step S402, that is, reset the initial state parameters and the initial state covariance matrix of the filter.
  • Step S412 based on the normal distribution test, the gross error of the satellite observation information is eliminated, and the second screening observation information is obtained.
  • the model parameter values can be standardized to obtain a standardized residual matrix, where the standardized residual matrix can be called the first standardized residual matrix, and the first standardized residual matrix can include pseudorange standardized residual matrix and multiple Puller's standardized residual matrix, the first standardized residual matrix can be shown in the following formula (40):
  • b ⁇ represents the pseudorange normalized residual matrix in the first normalized residual matrix
  • the normal distribution test can be performed on the first standardized residual matrix to obtain the test results corresponding to each element contained in the first standardized residual matrix, and the test results at this time are as follows formula (41) Shown:
  • b ⁇ and l in the formula (41) represent the lth element in the pseudorange normalization residual matrix b ⁇
  • l is a positive integer less than or equal to the number of the first screening observation information
  • ⁇ ⁇ represents the pseudorange normalization
  • the test result corresponding to the lth element in the residual matrix b ⁇ Represents the Doppler normalized residual matrix
  • the lth element in Represents the Doppler normalized residual matrix
  • the threshold at this time can be called the first normal distribution test threshold
  • the pseudo-range observation data corresponding to the lth element in the pseudo-range standardized residual matrix b ⁇ is the gross error of the pseudo-range observation data, and the pseudo-range is eliminated Observational data gross error
  • ⁇ ⁇ is less than the first normal distribution test threshold
  • the gross error of the pseudorange observation data contained in the pseudorange screening data contained in the first screening observation information can be eliminated through the above formula (41), and the pseudorange observation data without the pseudorange observation data gross error can be obtained It can be
  • the threshold at this time can be called the second normal distribution test threshold
  • the Doppler standardized residual matrix The Doppler observation data corresponding to the lth element in is the gross error of the Doppler observation data, and the gross error of the Doppler observation data is eliminated; when When it is less than the threshold of the second normal distribution test, it indicates that the Doppler normalized residual matrix The lth element in satisfies the test conditions, and the Doppler standardized residual matrix is retained
  • the Doppler observation data corresponding to the lth element in the gross error of the Doppler observation data in the Doppler screening data included in the first screening observation information can be eliminated through the above formula (41), and the Doppler observation data without Doppler
  • the Doppler observation data with gross errors in the Doppler observation data can be referred to as candidate
  • Step S413 constructing a measurement update matrix from the second screening observation information.
  • the third observation residual matrix can be constructed through the second screening observation information obtained above, and the expression form of the third observation residual matrix can refer to the above formula (32) and the above formula (34), but the above formula ( 32) and the above formula (34) are created by the first screening observation information, and the third observation residual matrix is constructed by the second screening observation information; then the third observation residual matrix can be related to the filter current A Jacobian matrix of state parameters (eg, predicted state parameters) is determined as the filter's measurement update matrix.
  • the second screening observation information includes pseudorange observation information and Doppler observation data
  • the third observation residual matrix may include pseudorange residual matrix and Doppler residual matrix
  • the measurement update matrix may also include pseudorange Measurement update matrix and Doppler measurement update matrix.
  • Step S414 constructing a measurement variance matrix from the random error model of satellite observation information obtained through adaptive estimation.
  • the measurement variance matrix can be constructed through the satellite observation information random error model (also called satellite observation error) obtained by the aforementioned adaptive estimation.
  • the satellite observation information random error model is shown in the aforementioned formula (30), and the measurement
  • the variance matrix can be a matrix composed of empirical values determined by the random error model of satellite observation information shown in formula (30), that is, the measurement variance matrix is a fixed numerical matrix for the filter.
  • the specific values in the measurement observation matrix can be set based on actual requirements, which is not limited in this application.
  • the measurement variance matrix corresponding to the filter may include a pseudorange measurement variance matrix and a Doppler measurement variance matrix.
  • Step S415 correcting the motion state of the terminal according to the measurement update matrix and the measurement variance matrix.
  • the terminal motion state may be corrected through the measurement update matrix and the measurement update matrix, that is, the state parameters of the filter may be updated.
  • the state parameter of the filter can be updated according to the following formula (42):
  • x(a) represents the state parameters of the filter for the a-th moment (hereinafter referred to as time a), such as the predicted state parameters (ie, the predicted motion state) after the filter model verification and repair are completed.
  • the state parameter x(a) is the predicted state parameter after the filter completes the time update.
  • x'(a) represents the measured and updated state parameter corresponding to the ath moment (predicted motion state adjusted by the measurement update step).
  • H() represents the pseudorange filter gain updated by the filter at time a, Indicates the pseudorange residual matrix corresponding to the pseudorange observation data in the second screening observation information, that is, the pseudorange residual matrix in the third observation residual matrix.
  • P(a) represents the state covariance matrix of the filter at the time a, for example, the state covariance matrix corresponding to the state parameters after the filter model verification and repair is completed.
  • P(a) is the predicted state covariance matrix after the filter completes the time update.
  • P'(a) represents the state covariance matrix after the measurement update corresponding to the ath moment
  • G ⁇ a represents the Jacobian of the pseudorange residual matrix in the third observation residual matrix with respect to the filter state parameter x(a) matrix
  • R ⁇ (a) represents the pseudorange measurement variance matrix in the measurement variance matrix
  • I is the identity matrix.
  • the state parameters of the filter can be updated according to the following formula (43):
  • the state parameters of the filter can be updated through the above formula (42) and formula (43). If the filter has completed the measurement update at time a, the state parameter at time a can be determined as the target state parameter, and the state parameter at time a can be determined as the target state parameter.
  • the state covariance matrix is determined as the target state covariance matrix. In other words, if the filter passes the model validation at the beginning of the measurement update phase of the filter and does not need to be repaired, the third observation residual matrix at this time is based on the second screening observation information, the predicted state parameters and the second screening observation information The satellite state information of the corresponding satellite is constructed, and then the state parameters of the filter at time a can be obtained.
  • the state parameter at time a is the predicted parameter state after the filter completes the time update
  • the state covariance matrix at time a is the predicted state covariance matrix after the filter completes the time update.
  • the filter gain of the filter at time a is determined (that is, the above-mentioned Doppler filter gain and pseudorange filter gain H(a)); the product between the filter gain at time a and the third observation residual matrix, and the state parameter at time a are summed to obtain the target state parameter, the target state
  • the state covariance matrix corresponding to the parameters can be called the target state covariance matrix.
  • the terminal obtains the satellite observation information every preset time interval, and outputs the positioning result of the terminal through the processing of the method of each embodiment.
  • the above a-th moment refers to the moment when the terminal activates the positioning function and acquires the satellite observation information for the a-th time and obtains the positioning result of the terminal.
  • the satellite observation information and satellite signal measurement Data and estimated motion state initialize the state prediction model and state adjustment model (such as a filter), and use the estimated motion state as the motion state of the terminal determined at the first moment, and obtain the positioning result of the terminal accordingly.
  • the estimated motion state, the predicted motion state (that is, the state parameter after the time update), and the adjusted predicted motion state (that is, the state parameter after the measurement update) are sequentially obtained, Therefore, the motion state of the terminal is determined, and the positioning result of the terminal is obtained accordingly.
  • Step S416 detecting post-test satellite observation residuals and filter corrections.
  • the product of the filter gain at time a and the third observation residual matrix may be determined as the filter correction amount of the filter at time a, and the filter correction amount may include pseudorange filter correction and Doppler filter correction, the pseudorange filter correction can be recorded as dz, and the Doppler filter correction can be recorded as
  • the correction amount of the pseudorange filter can be expressed as like Greater than or equal to a given threshold (the threshold here can be called the first modified threshold, o represents the oth state parameter in the filter, and o is a positive integer less than or equal to the number of filter state parameters), it means filtering If the oth state parameter in the filter fails the inspection, the filter needs to be reset, that is, step S402 is re-executed; if If it is less than the first correction threshold, it means that the oth state parameter in the filter passes the test, and the current state parameter of the filter is kept.
  • the threshold here can be called the first modified threshold
  • o represents the oth state parameter in the filter
  • o is a positive integer less than or equal to the number of filter state parameters
  • Doppler filter correction like Greater than or equal to a given threshold (threshold here can be referred to as the second revised threshold), it means that the oth state parameter in the filter fails to pass the test, and the filter needs to be reset, that is, step S402 is re-executed; if If it is less than the second correction threshold, it means that the oth state parameter in the filter passes the test, and the current state parameter of the filter is kept.
  • both the above-mentioned first correction threshold and the second correction threshold may be values determined according to actual needs, which will not be described in detail in this application.
  • Step S417 performing a normal distribution test on the post-test satellite observation residuals.
  • the target state covariance matrix of the filter for the target state parameter that is, P'(a)
  • the target state covariance matrix for the target state parameter that is, P'(a)
  • the target state covariance matrix, measurement variance matrix and Measure the update matrix to construct the second residual covariance matrix corresponding to the filter; then, the second residual covariance matrix can be used to perform a normal distribution test on the third observation residual matrix to obtain the values contained in the third observation residual matrix Each element of corresponds to the test result.
  • the second residual covariance matrix includes a pseudorange residual covariance matrix and a Doppler residual covariance matrix, based on the pseudorange residual covariance matrix in the second residual covariance matrix, the third observation residual
  • the pseudo-range residual matrix in the difference matrix is tested for normal distribution, and the test results corresponding to each element in the pseudo-range residual matrix of the third observation residual matrix are obtained.
  • the test results at this time are as follows formula (44) Shown:
  • ⁇ si represents the result obtained after the normal distribution test of the sith element above.
  • the normal distribution test is performed on the Doppler residual matrix in the third observation residual matrix to obtain the third observation residual.
  • Each element in the Doppler residual matrix of the difference matrix corresponds to the test result respectively, and the test result at this time is shown in the following formula (45):
  • qi is a positive integer less than or equal to qn
  • ⁇ qi represents the result obtained after the normal distribution test is performed on the qith element above.
  • Step S4108 eliminating satellite observation information that fails the detection.
  • the satellite observation information corresponding to the element is eliminated.
  • ⁇ si in the above formula (44) is less than or equal to a given threshold (the threshold at this time can also be called the third normal distribution detection threshold)
  • the pseudorange observation data corresponding to the sith element is determined as the gross error of the pseudorange observation data
  • the gross error of the pseudo-range observation data is eliminated from the pseudo-range observation data contained in the second screening observation data.
  • the Doppler residual matrix representing the third observation residual matrix is determined to be the Doppler observation data coarse difference, and remove the gross error of the Doppler observation data from the Doppler observation data included in the second screening observation data.
  • the measurement update matrix is reconstructed, that is, the above step S413 is re-executed until All remaining satellite observations passed the normal distribution test results.
  • the first normal distribution test threshold and the third normal distribution test threshold in the present application can be the same value or different values
  • the second normal distribution test threshold and the fourth normal distribution test threshold can be It is the same numerical value, and may also be a different numerical value, which is not limited in the present application.
  • Step S419 outputting current terminal position and speed information.
  • the terminal position and terminal speed in the target state parameters may be determined as the corresponding terminal positioning results of the terminal.
  • the test results ( ⁇ si ) corresponding to each element in the pseudorange residual matrix of the third observation residual matrix are smaller than the third normal distribution detection threshold, and the Doppler of the third observation residual matrix
  • the terminal position and terminal velocity in the target state parameters of the output filter, the terminal position and terminal velocity at this time The speed is the terminal positioning result of the terminal.
  • the terminal state information corresponding to the terminal can be obtained through the robust weighted least squares algorithm and satellite observation information estimation, a robust Kalman filter can be established through the terminal state information, and the time update and In the two processes of measurement and update, the normal distribution test is used to remove the gross error of the observation information from the satellite observation information, and the terminal positioning result corresponding to the terminal is determined through the satellite observation information after the gross error of the observation information is removed, which can improve the accuracy of the terminal position , to achieve sub-meter or lane-level positioning, and assist lane-level positioning and navigation; the terminal positioning method implemented by robust weighted least squares algorithm and robust Kalman filter can be applied to various types (for example, consumer-level, measurement-type or other types) of satellite positioning equipment, which can improve the applicability of terminal positioning.
  • FIG. 8 is a schematic flowchart of a filter measurement update provided by an embodiment of the present application.
  • the terminal state information corresponding to the terminal is estimated based on robust weighted least squares and satellite observation information, and the filter is initialized and time updated based on the terminal state information.
  • the measurement update process of the filter, the state parameter of the filter after the time update is the predicted state parameter, and the state covariance matrix corresponding to the predicted state parameter.
  • the measurement update process of the filter may include the following steps:
  • Step S501 based on the solution information of the robust weighted least squares estimation, the gross error of the satellite observation information is eliminated, and the first screening observation information is obtained.
  • Step S502 constructing a satellite observation residual matrix based on the first screening observation information, that is, the first observation residual matrix.
  • step S501 and step S502 reference may be made to step S405-step S406 in the embodiment corresponding to FIG. 6 , which will not be repeated here.
  • Step S503 based on the quartile and the absolute median difference, gross error detection is performed on the first observation residual matrix to obtain the third screening observation information, and the satellite observation residual matrix is constructed from the third screening observation information, that is, the second observation residual matrix difference matrix.
  • the above-mentioned first observation residual matrix (such as the pseudorange residual matrix shown in the aforementioned formula (32) and the Doppler residual matrix shown in equation (34) ) to detect gross errors, remove the gross errors of satellite observation information in the first screening observation information, and obtain the third screening observation information, and the satellite observation residual matrix constructed by the third screening observation information can be called the second observation residual matrix.
  • the above gross error detection process may include: obtaining the quantile difference between the upper quartile of the first observation residual matrix and the lower quartile of the first observation residual matrix; The lower quartile of the difference matrix, and the product between the first gross error detection threshold and the quantile difference are subtracted to obtain the minimum element value corresponding to the first observation residual matrix; the first observation residual The upper quartile of the matrix, and the product between the first gross error detection threshold and the quantile difference are summed to obtain the maximum element value corresponding to the first observation residual matrix; the first observation residual matrix The ratio between the absolute value of the jth element in and the median of the first observation residual matrix subtracted from the absolute median difference of the first observation residual matrix is determined as the value to be verified, j is a positive integer less than or equal to the quantity of the first screening observation information; if the value to be verified is greater than the second gross error detection threshold, and the jth element is in the gross error value range, then the first observation residual matrix is removed from the first j elements, the second observation residual matrix is
  • the first observation residual matrix includes the pseudorange residual matrix and the Doppler residual matrix Therefore, when performing gross error detection processing on the first observation residual matrix, it is necessary to separately analyze the pseudorange residual matrix and the Doppler residual matrix Perform gross error detection.
  • the pseudorange residual matrix in the first observation residual matrix As an example, the gross error detection process is described; in the embodiment of this application, the pseudorange residual matrix The next four digits of Pseudorange residual matrix The upper quartile of Pseudorange residual matrix The minimum element value of is recorded as Pseudorange residual matrix The maximum element value of is recorded as minimum element value and the maximum element value It can be shown as the following formula (46):
  • the gross error detection flag value corresponding to the jth element in (j at this time is a positive integer less than or equal to the number sn of the pseudorange screening data contained in the first screening observation information), Represents the pseudorange residual matrix
  • the jth element in Represents the pseudorange residual matrix the median of Represents the pseudorange residual matrix
  • the absolute median difference of Represents the residual matrix for pseudoranges The second gross error detection threshold; where, and It can be set according to actual needs, which is not limited in this application.
  • Represents the pseudorange residual matrix The value to be verified can be referred to as the pseudorange residual matrix valid range of values, or pseudorange residual matrix The value range of gross error.
  • the corresponding gross error detection flag value is 1, which means The corresponding pseudo-range observation data is valid data, and the pseudo-range observation data is retained.
  • the corresponding gross error detection flag value is 0, which means The corresponding pseudo-range observation data is the gross error of the pseudo-range observation data, and the gross error of the pseudo-range observation data is eliminated.
  • the difference matrix refers to the residual matrix from the pseudorange The matrix obtained after removing the elements with gross error detection flag value of 0.
  • the Doppler residual matrix in the first observation residual matrix The same can be done with the above pseudorange residual matrix
  • the following formula (48) and formula (49) can be used for the Doppler residual matrix Perform outlier detection and eliminate Doppler residual matrix
  • the gross error of the Doppler observation data in the Doppler residual matrix constructed by removing the gross error of the Doppler observation data can be written as The Doppler residual matrix means from the Doppler residual matrix
  • formula (48) and formula (49) can be expressed as follows:
  • the first gross error detection threshold Denotes for the Doppler residual matrix
  • the second gross error detection threshold It can be set according to actual needs, which is not limited in this application; Represents the Doppler residual matrix The minimum element value of , Represents the Doppler residual matrix The maximum element value of .
  • the jth element of (j at this time is a positive integer less than or equal to the number qn of Doppler screening data contained in the first screening observation information), Represents the Doppler residual matrix
  • the absolute median difference of Represents the Doppler residual matrix The value to be verified, can be referred to as the Doppler residual matrix valid range of values, or Doppler Residual Matrix The value range of gross error.
  • the corresponding Doppler observation data is the Doppler observation data gross error, and the Doppler observation data gross error is eliminated; when When it is equal to 1, it means The corresponding Doppler observation data is valid data, and the gross error of the Doppler observation data is retained, so as to eliminate the Doppler observation data with the gross error of the Doppler observation data.
  • the above-mentioned pseudo-range observation data with gross errors removed from pseudo-range observation data and the Doppler observation data with Doppler observation data removed from gross errors can be determined as the third screening observation data. residual matrix and the Doppler residual matrix is called the second observation residual matrix.
  • Step S504 performing clock jump detection and repair based on the pseudorange residual matrix.
  • Step S505 calculating the clock error jump value based on the pseudorange residual matrix and repairing the clock error.
  • Step S506 detecting and repairing clock drift jumps based on the Doppler residual matrix.
  • step S507 the clock drift jump value is calculated based on the Doppler residual matrix and the clock drift is repaired.
  • Step S508 calculating the verification parameter values of the filter model, and verifying and repairing the robust Kalman filter.
  • Step S509 based on the normal distribution test, the gross error of the satellite observation value is eliminated, and the second screening observation information is obtained.
  • Step S510 constructing a measurement update matrix from the second screening observation information.
  • Step S511 constructing a measurement variance matrix from the random error model of satellite observation values obtained through adaptive estimation.
  • Step S512 correcting the motion state of the terminal according to the measurement update matrix and the measurement variance matrix.
  • Step S513 detecting post-test satellite observation residuals and filter corrections.
  • Step S514 performing a normal distribution test on the post-test satellite observation residuals.
  • Step S51 eliminating satellite observations that fail the detection.
  • step S5166 the update of the filter measurement is completed, and the terminal position and speed information of the filter at the current moment is output.
  • step S507 to step S516 can refer to the description of step S407 to step S419 in the embodiment corresponding to FIG. 6 , and details are not repeated here.
  • steps S507 to S516 in the embodiment of the present application is the same as that of the aforementioned steps S407 to S419, except that the satellite observation information used in the implementation process of steps S407 to S419 is The first screening observation information, and the satellite observation information used in the implementation process of steps S507 to S516 is the third screening observation information.
  • the clock jump detection and repair process in the embodiment of the present application may include: when the pseudorange residual matrix in the second observation residual matrix absolute median difference of and the pseudorange residual matrix in the second observation residual matrix median of The ratio between is less than the first clock error detection threshold ( ⁇ m ), and the pseudorange residual matrix in the second observation residual matrix standard deviation of and the pseudorange residual matrix in the second observation residual matrix average of When the ratio between is less than the first clock error detection threshold, the pseudorange residual matrix in the second observation residual matrix The ratio between the median of , and the square root operation results corresponding to the diagonal elements in the predicted state covariance matrix is determined as the clock error detection value; if the clock error detection value is greater than or equal to the second clock error detection threshold ( ⁇ clk ), it is determined that there is a clock jump in the filter, and the predicted state parameters and the predicted state covariance matrix in the filter are reset.
  • the first observation variance matrix in the embodiment of the present application is constructed by using the signal-to-noise ratio corresponding to the third screening observation information and the al
  • FIG. 9 is a schematic diagram of an overall structure of a method for locating a terminal provided in an embodiment of the present application.
  • the filter is described as an example of a robust Kalman filter.
  • the high-precision positioning service platform sends an ephemeris acquisition request, and obtains the ephemeris data from the high-precision positioning service platform.
  • the corresponding satellite status information including satellite position, satellite speed, satellite clock error and satellite clock drift
  • the terminal state information terminal position, terminal speed, satellite clock error and satellite clock drift
  • the robust Kalman filter is to complete the initialization of the robust Kalman filter (see step S402 in the embodiment corresponding to FIG. 6 ).
  • the filter system noise of the robust Kalman filter can be estimated (see step S403 in the embodiment corresponding to Figure 6), and the satellite observation random error can be estimated Model (refer to step S404 in the embodiment corresponding to FIG. 6 ) and gross error detection of satellite observation information (refer to step S405 in the embodiment corresponding to FIG. 6 ), etc.
  • step S503 gross error detection (see step S503 in the embodiment corresponding to FIG. 8 ), clock error and clock drift jump detection and repair (see the above-mentioned figure Steps S407 to S410 in the embodiment corresponding to 6), filter model verification and repair (refer to steps S411 to S412 in the embodiment corresponding to FIG. 6 above), and filter system fault detection and repair (refer to the above Steps S413 to S418) and other operations in the embodiment corresponding to FIG. 6 finally output the terminal positioning result corresponding to the terminal (including the final determined terminal position and terminal speed).
  • FIG. 10 is a schematic structural diagram of a filter provided by an embodiment of the present application.
  • the embodiment of the present application is described by taking the filter as an example of a robust Kalman filter. For example, as shown in FIG. Processes such as estimating dynamic filter system noise, filter timing updates, and filter measurement updates.
  • the filter initialization can be realized by obtaining the terminal position information through robust weighted least squares estimation; the random error model of pseudorange and Doppler observation can be solved by the robust weighted least squares estimation to obtain the terminal state information Estimated; the dynamic filter system noise can be estimated by the historical state information generated by the robust weighted least squares in the iterative update; the filter time update can be realized by the dynamic filter system noise; the filter measurement update can be obtained by filtering The results of the random error model and filter time update of the pseudorange and Doppler observations are implemented.
  • Filter measurement update may include clock error and clock drift jump detection and repair, filter model verification and repair, filter update settlement verification and repair (also called filter system fault inspection and repair), etc.
  • the filter The update settlement verification and restoration may include post-test satellite observation residual verification and model correction verification. The above operations may refer to the embodiment corresponding to the above-mentioned FIG. 8 , which will not be repeated here.
  • the terminal state information corresponding to the terminal can be obtained through the robust weighted least squares algorithm and satellite observation information estimation, a robust Kalman filter can be established through the terminal state information, and the time update and In the two processes of measurement and update, the normal distribution test is used to remove the gross error of the observation information from the satellite observation information, and the terminal positioning result corresponding to the terminal is determined through the satellite observation information after the gross error of the observation information is removed, which can improve the accuracy of the terminal position , to achieve sub-meter or lane-level positioning, and assist lane-level positioning and navigation; the terminal positioning method implemented by robust weighted least squares algorithm and robust Kalman filter can be applied to various types (for example, consumer-level, measurement-type or other types) of satellite positioning equipment, which can improve the applicability of terminal positioning.
  • FIG. 11A is a schematic structural diagram of a terminal positioning device provided by an embodiment of the present application.
  • the terminal positioning device may include:
  • the satellite observation module 111 is configured to obtain a set of positioning information for the terminal at the first moment, the set of positioning information includes positioning information corresponding to a plurality of satellites; estimate the estimated motion state of the terminal at the first moment based on the positioning information, and obtain the terminal pair measurement data of signal measurement performed by each of the plurality of satellites, and estimating an error of positioning information corresponding to each of the plurality of satellites based on the measurement data;
  • the satellite precision adjustment module 112 is used to obtain the converted positioning information converted from the estimated motion state, to calculate the deviation information between the positioning information corresponding to each satellite in the positioning information set and the converted positioning information, and determine each satellite based on the deviation information.
  • the corresponding error adjustment factor, the error adjustment factor corresponding to each satellite is used to adjust the error of the positioning information corresponding to each satellite;
  • the prediction module 113 is configured to use the historical motion state of the terminal to predict the predicted motion state of the terminal at the first moment through a state prediction model, where the historical motion state includes the motion state of the terminal at least one moment before the first moment;
  • the adjustment module 114 is configured to apply the positioning information set, the error and the error adjustment factor to the state adjustment model to adjust the predicted motion state, and then obtain the adjusted motion state of the terminal at the first moment, and determine the terminal at the first moment according to the adjusted motion state. The positioning result at a moment.
  • FIG. 11B is a schematic structural diagram of a terminal positioning device provided in an embodiment of the present application.
  • the terminal positioning device 1 may include: a terminal status acquisition module 11 , a filter initialization module 12 , a time update module 13 , an information screening module 14 , and a measurement update module 15 .
  • the terminal state acquisition module 11 is used to determine the terminal state information corresponding to the terminal through the satellite observation information, and obtain the first screening observation information from the satellite observation information according to the terminal state information;
  • the filter initialization module 12 is used to set the terminal state information as the initial state parameters of the filter, and obtain the initial state covariance matrix of the filter for the initial state parameters;
  • the time update module 13 is used to update the time of the initial state parameters of the filter to obtain the predicted state parameters, and to update the time of the initial state covariance matrix of the filter to obtain the predicted state covariance matrix;
  • the verification parameter value acquisition module 14 is used to filter out the second screening observation information used to construct the measurement update matrix of the filter from the first screening observation information, and construct the filter according to the satellite observation error factor determined by the terminal state information.
  • the measurement update module 15 is used to measure and update the predicted state parameters of the filter through the measurement update matrix, the second screening observation information, the predicted state covariance matrix and the measurement variance matrix to obtain the target state parameters, and determine the terminal according to the target state parameters The corresponding terminal positioning results.
  • the specific function implementation process of the terminal state acquisition module 11, the filter initialization module 12, the time update module 13, the information screening module 14, and the measurement update module 15 can refer to steps S101-step S105 in the above-mentioned embodiment corresponding to FIG. 3, No more details are given here.
  • the terminal state acquisition module 11 includes: an observation equation construction unit 111, a first observation variance construction unit 112, and a state information update unit 113;
  • the observation equation construction unit 111 is used to obtain satellite observation information received by the terminal, set initial state information for the terminal, and construct satellite observation between the terminal and the satellite through the satellite observation information, initial state information, and satellite state information corresponding to the satellite equation;
  • the first observation variance construction unit 112 is used to construct a second observation variance matrix through the signal-to-noise ratio corresponding to the satellite observation information and the altitude angle corresponding to the satellite;
  • the state information update unit 113 is configured to determine the state information correction amount corresponding to the terminal according to the second observation variance matrix and the satellite observation equation, and update the initial state information through the state information correction amount to obtain the terminal state information corresponding to the terminal.
  • the satellite observation information includes pseudorange observation data
  • the initial state information includes initial terminal position and initial terminal clock error
  • the satellite state information includes satellite position and satellite clock error
  • the observation equation construction unit 111 includes: a first acquisition subunit 1111, a first equation construction unit 1112;
  • the first obtaining subunit 1111 is used to obtain the separation distance between the initial terminal position and the satellite position, and obtain the clock difference between the initial terminal clock difference and the satellite clock difference;
  • the first equation construction unit 1112 is used to determine the first estimated value between the terminal and the satellite according to the separation distance and the clock difference, and construct the satellite observation between the terminal and the satellite through the first estimated value and pseudo-range observation data equation.
  • the satellite observation information includes Doppler observation data
  • the initial state information includes initial terminal velocity and initial terminal clock drift
  • the satellite state information includes satellite velocity and satellite clock drift
  • the observation equation construction unit 111 includes: a second acquisition subunit 1113, an estimation subunit 1114, and a second equation construction subunit 1115;
  • the second obtaining subunit 1113 is used to obtain the speed difference between the initial terminal speed and the satellite speed, and obtain the unit observation value between the terminal and the satellite;
  • the estimation subunit 1114 is used to obtain the clock drift difference between the initial terminal clock drift and the satellite clock drift, and determine the difference between the terminal and the satellite according to the product of the speed difference and the unit observation value and the clock drift difference. second estimate;
  • the second equation construction subunit 1115 is configured to construct a satellite observation equation between the terminal and the satellite through the product of the wavelength of the satellite broadcast signal and the Doppler observation data, and the second estimated value.
  • the number of satellites is N, and N is a positive integer; the first observation variance construction unit 112 is specifically used for:
  • the signal-to-noise ratio of the satellite observation information corresponding to the N satellites, and the altitude angles corresponding to the N satellites determine the satellite observation errors corresponding to the N satellites;
  • the satellite observation errors corresponding to the N satellites are used as the diagonal elements of the matrix to construct the second observation variance matrix.
  • satellite observation information includes pseudorange observation data
  • initial state information includes initial terminal position and initial terminal clock error
  • satellite state information includes satellite position and satellite clock error
  • terminal state information refers to initial state information after k times The result obtained after iteration, k is a positive integer
  • the state information updating unit 113 is specifically used for:
  • the estimated parameters of the k-1 iteration include the initial terminal position and the initial terminal clock error, and the satellite observation equation of each iteration is determined by the estimated parameters of this iteration Construct;
  • the satellite observation equation of the k-1 iteration is determined as the Jacobian matrix of the k-1 iteration for the partial derivative of the estimated parameter of the k-1 iteration, and according to the satellite observation equation of the k-1 iteration Construct the pseudorange residual matrix of the k-1th iteration;
  • the state information correction amount of the k-1th iteration is obtained;
  • the sum of the estimated parameter of the k-1 iteration and the state information correction of the k-1 iteration is determined as the estimated parameter of the k-th iteration ;
  • the pseudorange residual matrix of the kth iteration is constructed according to the satellite observation equation of the kth iteration, and the transpose matrix corresponding to the pseudorange residual matrix of the kth iteration, the inverse matrix corresponding to the pseudorange observation variance matrix, and the The product between the pseudorange residual matrices of k iterations is determined as the test statistic;
  • the estimated parameter of the kth iteration is determined as the terminal state information corresponding to the terminal.
  • observation equation construction unit 111 the observation equation construction unit 111, the first observation variance construction unit 112, the state information update unit 113, and the first acquisition subunit 1111 included in the observation equation construction unit 111, the first equation construction unit 1112, and the second acquisition subunit 1113 , the estimating subunit 1114 , and the specific function implementation process of the second equation constructing subunit 1115 can refer to the above-mentioned embodiments corresponding to FIG. 4 and FIG. 5 , and will not be repeated here.
  • the terminal positioning device 1 further includes: a residual covariance construction module 17, a normal distribution verification module 18, a pseudorange data elimination module 19, and an observation equation reconstruction module 20;
  • the residual covariance construction module 17 is used to construct the first residual covariance matrix according to the Jacobian matrix and the second observation variance matrix of the k-1th iteration if the test statistic is greater than or equal to the test threshold;
  • Normal distribution checking module 18 for carrying out normal distribution test to the pseudorange residual matrix of k iteration through the first residual covariance matrix, obtain each element in the pseudorange residual matrix of k iteration The corresponding test results;
  • Pseudorange data elimination module 19 for if the test result corresponding to the i-th element in the pseudo-range residual matrix of the kth iteration does not meet the test conditions, then determine that the i-th element has not passed the normal distribution test, and remove The pseudorange observation data associated with the i-th element; i is a positive integer less than or equal to the number of pseudorange observation data;
  • the observation equation reconstruction module 20 is used to use the remaining pseudorange observation data after removing the pseudorange observation data associated with the i-th element as satellite observation information, and use the estimated parameters of the kth iteration as initial state information, and re-execute A step of constructing a satellite observation equation between the terminal and the satellite through the initial state information, the satellite state information, and the satellite observation information.
  • the specific function implementation process of the residual covariance construction module 17, the normal distribution inspection module 18, the pseudorange data elimination module 19, and the observation equation reconstruction module 20 can refer to the step S208-step in the embodiment corresponding to the above-mentioned Fig. 4 S210, which will not be described in detail here.
  • the terminal state information includes terminal position, terminal speed, terminal clock difference, and terminal clock drift
  • the first screening observation information includes pseudorange screening data and Doppler screening data
  • the filter initialization module 12 includes: an initial state setting unit 121, a second observation variance construction unit 122, a position covariance determination unit 123, a speed covariance determination unit 124, and an initial state covariance determination unit 125;
  • the initial state setting unit 121 is used to set the terminal position, terminal speed, terminal clock difference and terminal clock drift in the terminal state information as the initial state parameters of the filter;
  • the second observation variance construction unit 122 is used to construct the pseudo-range observation variance matrix through the signal-to-noise ratio corresponding to the pseudo-range screening data and the altitude angle of the satellite corresponding to the pseudo-range screening data, and to construct the pseudo-range observation variance matrix through the signal-to-noise ratio corresponding to the Doppler screening data. Ratio, and the altitude angle of the satellite corresponding to the Doppler screening data, construct the Doppler observation variance matrix;
  • the position covariance determination unit 123 is used to pass the pseudorange observation variance matrix, the satellite observation error factor determined by the terminal position and the terminal clock error, and the Jacobian matrix determined by the pseudorange screening data, the terminal position, and the terminal clock error , to construct the position covariance matrix;
  • the velocity covariance determination unit 124 is used to use the Doppler observation variance matrix, the satellite observation error factor determined by the terminal velocity and the terminal clock drift, and the Jacques determined by the Doppler screening data, the terminal velocity, and the terminal clock drift. Ratio matrix, build speed covariance matrix;
  • the initial state covariance determining unit 125 is configured to determine the diagonal matrix formed by the position covariance matrix and the velocity covariance matrix as the initial state covariance matrix corresponding to the filter.
  • the specific function realization process of the initial state setting unit 121, the second observation variance construction unit 122, the position covariance determination unit 123, the speed covariance determination unit 124, and the initial state covariance determination unit 125 can refer to the corresponding implementation in the above-mentioned FIG. 6 Step S402 in the example will not be repeated here.
  • the time update module 13 includes: a state parameter update unit 131, a state covariance update unit 132;
  • a state parameter updating unit 131 is used to construct the state transition matrix of the filter by the time difference of adjacent epochs, and update the initial state parameters of the filter according to the state transition matrix to obtain the predicted state parameters;
  • the state covariance update unit 132 is configured to obtain the filter system noise corresponding to the filter based on the historical state information corresponding to the terminal, and perform time update on the initial state covariance matrix of the filter according to the state transition matrix and the filter system noise, Get the predicted state covariance matrix.
  • the predicted state covariance matrix is the state covariance matrix of the initial state covariance matrix in the filter at time t, and t is a positive integer;
  • the state covariance updating unit 132 is specifically used for:
  • the product of the state transition matrix, the state covariance matrix at time t-1, and the transposition matrix corresponding to the state transition matrix is summed with the noise covariance matrix to obtain the prediction covariance matrix.
  • step S403 the specific function realization process of the state parameter update unit 131 and the state covariance update unit 132 can refer to step S403 in the above embodiment corresponding to FIG. 6 , which will not be repeated here.
  • the state covariance update unit 132 includes: a historical information acquisition subunit 1321, a speed system noise determination subunit 1322, a clock drift system noise determination subunit 1323, and a clock error system noise determination subunit 1324;
  • the historical information acquisition subunit 1321 is used to obtain the historical terminal speed sequence, historical terminal clock drift sequence and historical The terminal clock difference sequence; the historical terminal velocity sequence, the historical terminal clock drift sequence and the historical terminal clock difference sequence are all determined by a time sliding window of size p, where p is a positive integer;
  • the speed system noise determination subunit 1322 is used to obtain the first variance value corresponding to the historical terminal speed sequence, and determine the product of the first variance value and the time difference between adjacent epochs as the speed system noise corresponding to the filter ;
  • the clock drift system noise determination subunit 1323 is used to obtain the second variance value corresponding to the historical terminal clock drift sequence, and determine the product of the second variance value and the time difference between adjacent epochs as the clock value corresponding to the filter. Drift system noise;
  • the clock error system noise determination subunit 1324 is used to obtain the third-party difference value corresponding to the historical terminal clock error sequence, and determine the product of the third-party difference value and the time difference between adjacent epochs as the clock error system corresponding to the filter Noise, the velocity system noise, the clock drift system noise and the clock difference system noise are determined as the filter system noise corresponding to the filter.
  • the information screening module 14 includes: a verification parameter value acquisition unit 141, a verification unit 142;
  • the verification parameter value acquisition unit 141 is used to determine the model verification parameter value corresponding to the filter through the first screening observation information, the predicted state covariance matrix, and the first observation variance matrix associated with the first screening observation information;
  • the verification unit 142 is configured to, when the model verification parameter value is less than the model verification threshold, filter out the second screening observation information for constructing the measurement update matrix of the filter from the first screening observation information through a normal distribution test.
  • step S104 the specific function realization process of the verification parameter value acquisition unit 141 and the verification unit 142 can refer to step S104 in the above embodiment corresponding to FIG. 3 , which will not be repeated here.
  • the verification parameter value acquisition unit 141 includes: a first observation residual determination subunit 1411, a gross error detection processing subunit 1412, a third observation variance determination subunit 1413, a verification parameter value determination subunit 1414;
  • the first observation residual determination subunit 1411 is configured to construct a first observation residual matrix through the first screening observation information, the satellite state information of the satellite corresponding to the first screening observation information, and the predicted state information;
  • the gross error detection processing subunit 1412 is used to perform gross error detection processing on the first observation residual matrix according to the quartile and absolute median difference of the first observation residual matrix to obtain the second observation residual matrix;
  • the third observation variance determination subunit 1413 is configured to determine the satellite observation information contained in the second observation residual matrix as the third screening observation information, pass the signal-to-noise ratio corresponding to the third screening observation information, and the third screening
  • the altitude angle of the satellite corresponding to the observation information is used to construct the first observation variance matrix
  • the verification parameter value determination subunit 1414 is used to determine the filter corresponding The model validation parameter values for .
  • the first observation residual determination subunit 1411, the gross error detection processing subunit 1412, the third observation variance determination subunit 1413, and the verification parameter value determination subunit 1414 can refer to the above-mentioned embodiment corresponding to FIG. 8 Step S502-step S508 in Step S502, which will not be repeated here.
  • the gross error detection processing subunit 1412 includes: a quantile difference acquisition subunit 14121, a minimum element value acquisition subunit 14122, a maximum element value acquisition subunit 14123, and a value determination subunit to be verified 14124, gross error elimination subunit 14125;
  • the quantile difference acquisition subunit 14121 is used to obtain the quantile difference between the upper quartile of the first observation residual matrix and the lower quartile of the first observation residual matrix;
  • the minimum element value acquisition subunit 14122 is used to subtract the product between the lower quartile of the first observation residual matrix and the product between the first gross error detection threshold and the quantile difference to obtain the first observation The minimum element value corresponding to the residual matrix;
  • the maximum element value acquisition subunit 14123 is used to sum the upper quartile of the first observation residual matrix, and the product between the first gross error detection threshold and the quantile difference to obtain the first observation The maximum element value corresponding to the residual matrix;
  • the value determination subunit 14124 to be verified is used for subtracting the jth element in the first observation residual matrix from the median of the first observation residual matrix, and subtracting the absolute value from the first observation residual matrix
  • the ratio between the absolute median difference is determined as the value to be verified; j is a positive integer less than or equal to the quantity of the first screening observation information;
  • the gross error elimination subunit 14125 is used to remove the jth element from the first observation residual matrix to obtain Two-observation residual matrix; gross error value range refers to the value range outside the corresponding range from the minimum element value to the maximum element value.
  • the quantile difference acquisition subunit 14121, the minimum element value acquisition subunit 14122, the maximum element value acquisition subunit 14123, the value determination subunit 14124 to be verified, and the gross error elimination subunit 14125 can be referred to above for the specific function realization process Step S503 in the embodiment corresponding to FIG. 8 will not be repeated here.
  • the second observation residual matrix is constructed through pseudorange screening data in satellite observation information
  • the terminal positioning device 1 also includes: a clock difference detection module 20, a clock difference jump repair module 21;
  • Clock error detection module 20 used for when the ratio between the absolute median difference of the second observation residual matrix and the median of the second observation residual matrix is less than the first clock error detection threshold, and the second observation residual matrix When the ratio between the standard deviation of the second observation residual matrix and the mean value of the second observation residual matrix is less than the first clock error detection threshold, the median of the second observation residual matrix and the diagonal elements in the predicted state covariance matrix The ratio between the corresponding square root operation results is determined as the clock error detection value;
  • Clock difference jump repair module 21 for if the clock difference detection value is greater than or equal to the second clock difference detection threshold, it is determined that there is a clock difference jump in the filter, and the predicted state parameter and predicted state covariance in the filter are reset matrix.
  • step S407 the specific function realization process of the clock difference detection module 20 and the clock difference jump repair module 21 can refer to step S407 to step S408 in the above embodiment corresponding to FIG. 6 , which will not be repeated here.
  • the verification unit 142 includes: a standardized residual acquisition subunit 1421, a first residual verification subunit 1422, and an observation information screening subunit 1423;
  • the standardized residual acquisition subunit 1421 is used to standardize the model verification parameters to obtain a standardized residual matrix when the model verification parameter value is less than the model verification threshold;
  • the first residual checking subunit 1422 is configured to perform a normal distribution test on the standardized residual matrix to obtain test results corresponding to each element included in the standardized residual matrix;
  • the observation information screening subunit 1423 is used to determine that the lth element has not passed the normal distribution test if the test result corresponding to the lth element in the standardized residual matrix does not meet the test conditions, and from the first screening observation information , the satellite observation information corresponding to the l-th element is eliminated to obtain the second screening observation information; l is a positive integer less than or equal to the quantity of the first screening observation information.
  • the specific function implementation process of the standardized residual acquisition subunit 1421, the first residual verification subunit 1422, and the observation information screening subunit 1423 can refer to step S412 in the above-mentioned embodiment corresponding to FIG. 6 , which will not be repeated here. .
  • the terminal positioning device 1 further includes: a filter reset module 22;
  • the filter reset module 22 is configured to reset the initial state parameters and the initial state covariance matrix of the filter when the model verification parameter value is greater than or equal to the model verification threshold.
  • the specific function realization process of the filter reset module 22 can refer to the description in the above embodiment corresponding to FIG. 8 , which will not be repeated here.
  • the target state parameter is the state parameter of the predicted state parameter in the filter at time a, where a is a positive integer;
  • the measurement update module 15 includes: a measurement update matrix determination unit 151, a filter state acquisition unit 152, a filter gain determination unit 153, a target state parameter acquisition unit 154, a filter correction amount determination unit 155, a residual covariance determination unit 156, A second residual checking unit 157, a positioning result determining unit 158;
  • the measurement update matrix determination unit 151 is configured to construct a third observation residual matrix through the second screening observation information, predicted state parameters, and satellite state information, and determine the Jacobian matrix of the third observed residual matrix for the predicted state parameters as a filter The measurement update matrix corresponding to the device;
  • the filter state acquisition unit 152 is used to obtain the state parameters of the filter at time a, and the state covariance matrix of the filter at time a; when i is 1, the state parameters at time a are predicted state parameters, and the state at time a
  • the covariance matrix is the predicted state covariance matrix; the state covariance matrix at time a is the covariance matrix of the filter for the state parameters at time a;
  • a filter gain determining unit 153 configured to determine the filter gain of the filter at time a through the state covariance matrix, the measurement update matrix and the measurement variance matrix at time a;
  • the target state parameter acquisition unit 154 is configured to sum the product of the filter gain at time a and the third observation residual matrix with the state parameter at time a to obtain the target state parameter.
  • the filter correction amount determination unit 155 is configured to determine the product of the filter gain at time a and the third observation residual matrix as the filter correction amount of the filter at time a;
  • the residual covariance determination unit 156 is used to obtain the target covariance matrix of the filter for the target state parameters when the filter correction amount at time a passes the test, and construct the target covariance matrix through the target covariance matrix, measurement variance matrix and measurement update matrix The second residual covariance matrix corresponding to the filter;
  • the second residual error checking unit 157 is configured to perform a normal distribution test on the third observation residual matrix through the second residual covariance matrix, and obtain the test results corresponding to each element contained in the third observation residual matrix ;
  • the positioning result determination unit 158 is configured to determine the target state parameter as the terminal positioning result corresponding to the terminal if the test results corresponding to each element in the third observation residual matrix meet the test conditions.
  • the measurement update matrix determination unit 151, the filter state acquisition unit 152, the filter gain determination unit 153, the target state parameter acquisition unit 154, the filter correction amount determination unit 155, the residual covariance determination unit 156, the second residual For the specific function implementation process of the checking unit 157 and the positioning result determining unit 158, refer to steps S413-step S419 in the above-mentioned embodiment corresponding to FIG. 6 , which will not be repeated here.
  • the terminal state information corresponding to the terminal can be obtained through the robust weighted least squares algorithm and satellite observation information estimation, a robust Kalman filter can be established through the terminal state information, and the time update and In the two processes of measurement and update, the normal distribution test is used to remove the gross error of the observation information from the satellite observation information, and the terminal positioning result corresponding to the terminal is determined through the satellite observation information after the gross error of the observation information is removed, which can improve the accuracy of the terminal position , to achieve sub-meter or lane-level positioning, and assist lane-level positioning and navigation; the terminal positioning method implemented by robust weighted least squares algorithm and robust Kalman filter can be applied to various types (for example, consumer-level, measurement-type or other types) of satellite positioning equipment, which can improve the applicability of terminal positioning.
  • FIG. 12 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • the computer device 1000 may be a user terminal of an integrated satellite positioning device, or may be a server of an integrated satellite positioning device, which will not be limited here.
  • this application takes computer equipment as an example of a user terminal integrated with satellite positioning equipment.
  • the computer equipment 1000 may include: a processor 1001, a network interface 1004 and a memory 1005.
  • the above computer equipment 1000 may also include: a user terminal an interface 1003, and at least one communication bus 1002. Wherein, the communication bus 1002 is used to realize connection and communication between these components.
  • the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
  • the network interface 1004 may 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. In some embodiments, the memory 1005 may also be at least one storage device located away from the aforementioned processor 1001 .
  • the memory 1005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.
  • 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 stored in the memory 1005 application to:
  • the initial state parameters of the filter are time-updated to obtain the predicted state parameters, and the initial state covariance matrix of the filter is time-updated to obtain the predicted state covariance matrix;
  • the second screening observation information used to construct the measurement update matrix of the filter is screened out, and the measurement variance matrix corresponding to the filter is constructed according to the satellite observation error factor determined by the terminal state information;
  • the second screening observation information the predicted state covariance matrix and the measurement variance matrix
  • the predicted state parameters of the filter are measured and updated to obtain the target state parameters
  • the terminal positioning results corresponding to the terminal are determined according to the target state parameters.
  • the computer device 1000 described in the embodiment of the present application can execute the description of the terminal positioning method in any of the embodiments corresponding to Figures 3-6 and Figure 8 above, and can also execute the implementations corresponding to Figures 11A and 11B above
  • the description of the terminal locating device 1 in the example will not be repeated here.
  • the description of the beneficial effect of adopting the same method will not be repeated here.
  • the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the aforementioned terminal positioning device 1, and the computer program includes The program instructions, when the processor executes the program instructions, can execute the description of the terminal positioning method in any one of the above embodiments corresponding to FIG. 3-FIG. 6 and FIG.
  • the description of the beneficial effect of adopting the same method will not be repeated here.
  • the technical details not disclosed in the embodiments of the computer-readable storage medium involved in the present application please refer to the description of the method embodiments of the present application.
  • program instructions may be deployed to execute on one computing device, or on multiple computing devices located at one site, or, alternatively, on multiple computing devices distributed across multiple sites and interconnected by a communication network .
  • Multiple computing devices distributed in multiple locations and interconnected by a communication network can form a blockchain system.
  • the embodiment of the present application also provides a computer program product or computer program, where the computer program product or computer program may include computer instructions, and the computer instructions may be stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor can execute the computer instruction, so that the computer device executes the method for locating the terminal in any one of the above embodiments corresponding to Figure 3- Figure 6 and Figure 8 description, therefore, it will not be repeated here.
  • the description of the beneficial effect of adopting the same method will not be repeated here.
  • the modules in the device of the embodiment of the present application can be combined, divided and deleted according to actual needs.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM).

Abstract

一种终端定位方法、装置、设备以及介质,该方法包括:获取多个卫星在第一时刻的针对终端的定位信息集合,基于定位信息集合估计终端在第一时刻的估计运动状态(S11);获取终端对多个卫星中每个卫星进行信号测量的测量数据,基于测量数据估计多个卫星中每个卫星对应的定位信息的误差(S12);获取从估计运动状态转换得到的转换定位信息,以计算多个卫星中每个卫星对应的定位信息与转换定位信息之间的偏离信息,基于偏离信息确定每个卫星对应的误差调整因子(S13);利用终端的历史运动状态,通过状态预测模型预测终端在第一时刻的预测运动状态(S14);将定位信息集合、误差和误差调整因子应用于状态调整模型,以对预测运动状态进行调整,进而获得终端在第一时刻的调整运动状态(S15);根据调整运动状态确定终端在第一时刻的定位结果(S16)。

Description

终端定位方法、装置、设备以及介质
本申请要求于2022年01月12日提交中国专利局、申请号为202210034069.0、发明名称为“终端定位方法、装置、设备以及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及导航定位技术领域,尤其涉及一种终端定位方法、装置、设备以及介质。
发明背景
目前的终端定位场景中,可以通过导航系统,并利用视觉传感器、雷达等传感器作为辅助,对终端进行定位(例如,车道级定位),基于该终端的定位结果,可以为使用该终端的用户进行路径导航。
然而,当该终端处于大雨、大雾或大雪等恶劣的天气环境中时,作为辅助终端定位的视觉传感器受天气的影响,其获取到的图像无法捕捉真实的道路信息,在利用全球定位系统、视觉传感器等辅助工具进行终端定位的过程中,造成终端的定位准确性过低。
发明内容
本申请实施例提供一种终端定位方法、装置、设备以及介质,可以提高终端的定位准确性。
本申请实施例一方面提供了一种终端定位方法,包括:
获取第一时刻针对终端的定位信息集合,所述定位信息集合包括多个卫星对应的定位信息;
基于定位信息集合估计终端在第一时刻的估计运动状态;
获取终端对多个卫星中每个卫星进行信号测量的测量数据,基于所述测量数据估计多个卫星中每个卫星对应的定位信息的误差;
获得从估计运动状态转换得到的转换定位信息,以计算定位信息集合中每个卫星对应的定位信息与转换定位信息之间的偏离信息,基于偏离信息确定每个卫星对应的误差调整因子,每个卫星对应的误差调整因子用于对每个卫星对应的定位信息的误差进行调整;
利用终端的历史运动状态,通过状态预测模型预测终端在第一时刻的预测运动状态,历史运动状态包括终端在第一时刻之前的至少一个时刻的运动状态;
将定位信息集合、误差和误差调整因子应用于状态调整模型,以对预测运动状态进行调整,进而获得终端在第一时刻的调整运动状态;及
根据调整运动状态确定终端在第一时刻的定位结果。
本申请实施例一方面提供了一种终端定位装置,包括:
卫星观测模块,用于获取第一时刻针对终端的定位信息集合,所述定位信息集合包括多个卫星分别对应的定位信息;基于定位信息估计终端在第一时刻的估计运动状态,获 取终端对多个卫星中每个卫星进行信号测量的测量数据,基于所述测量数据估计多个卫星中每个卫星对应的定位信息的误差;
卫星精度调整模块,用于获取从估计运动状态转换得到的转换定位信息,以计算定位信息集合中每个卫星对应的定位信息与转换定位信息之间的偏离信息,基于偏离信息确定每个卫星对应的误差调整因子,每个卫星对应的误差调整因子用于对每个卫星对应的定位信息的误差进行调整;
预测模块,用于利用终端的历史运动状态,通过状态预测模型预测终端在第一时刻的预测运动状态,历史运动状态包括终端在第一时刻之前的至少一个时刻的运动状态;
调整模块,用于将定位信息集合、误差和误差调整因子应用于状态调整模型,以对预测运动状态进行调整,进而获得终端在第一时刻的调整运动状态,根据调整运动状态确定终端在第一时刻的定位结果。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例中,可以通过卫星观测信息估计得到终端对应的终端状态信息,通过终端状态信息可以建立目标滤波器,通过目标滤波器时间更新和滤波器测量更新两个过程,从卫星观测信息中剔除观测信息粗差,并通过剔除观测信息粗差后的卫星观测信息(第二筛选观测信息),确定终端对应的终端定位结果,可以提高终端位置的准确性。
附图简要说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种终端定位系统的结构示意图;
图1B是本申请实施例提供的一种终端定位方法的流程示意图;
图2是本申请实施例提供的一种终端定位场景示意图;
图3是本申请实施例提供的一种终端定位方法的流程示意图;
图4是本申请实施例提供的一种估计终端状态信息中的终端位置和终端钟差的流 程示意图;
图5是本申请实施例提供的一种估计终端状态信息中的终端速度和终端钟漂的流程示意图;
图6是本申请实施例提供的一种中端定位方法的流程示意图;
图7是本申请实施例提供的一种滤波器系统噪声自适应估计的示意图;
图8是本申请实施例提供的一种目标滤波器的测量更新的流程示意图;
图9是本申请实施例提供的一种终端定位方法的整体结构示意图;
图10是本申请实施例提供的一种目标滤波器的结构示意图;
图11A、图11B是本申请实施例提供的终端定位装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
实施本发明的方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及以下几个概念。
卫星定位终端:卫星定位终端是指用于处理卫星信号,并测量该卫星定位终端与卫星之间的几何距离(即伪距观测数据)以及卫星信号的多普勒效应(即多普勒观测数据)的电子设备。卫星定位终端也可以称为卫星定位设备。卫星定位设备通常可以包括天线、卫星信号获取环路、基带信号处理等模块。集成了卫星定位设备的移动终端可以根据伪距观测数据和多普勒观测数据,计算移动终端的当前位置坐标。卫星定位设备可以广泛应用于多个领域。
卫星观测信息:卫星观测信息是指卫星定位设备通过对卫星信号进行观察和测量进而输出的用于对卫星定位设备进行定位的观测数据(也称为定位信息)。该卫星观测信息可以为伪距观测数据、多普勒观测数据(也可以称为伪距率观测值)、累加距离增量(Accumulated Delta Range,ADR)等数据中的至少一种数据。其中,伪距观测数据用于表示卫星与卫星定位设备之间的几何距离。多普勒观测数据用于表示卫星定位设备与卫星相对运动产生的多普勒效应。累加距离增量用于表示卫星至卫星定位设备的几何距离变化量。
高精定位服务平台:当前,利用多基准站网络RTK(Real Time Kinematic,实时动态定位)技术建立的连续运行参考站(Continuously Operating Reference Stations,CORS)已成为城市GNSS(Global Navigation Satellite System,全球卫星导航系统)应用的发展热点之一。CORS系统是卫星定位技术、计算机网络技术、数字通讯技术等高新科技多方位、深度结晶的产物。CORS系统由基准站网、数据处理中心、数据传输系统、定位导航数据播发系统、用户应用系统五个部分组成。各基准站与数据分析中心间通过数据传输系统连接成一体,形成专用网络。高精定位服务平台可以理解为CORS系统的后台数据中心,例 如CORS服务器。CORS系统的高精定位服务平台可播发差分服务数据至用户终端,以此实现厘米级高精度定位。其中,差分服务数据可以是指CORS系统在获取到卫星的原始观测数据后,由高精定位服务平台对原始观测数据进行处理后所得到的卫星观测信息(例如,伪距观测数据、多普勒观测数据等)。厘米级高精度定位是指高精定位服务平台通过CORS系统的观测数据所计算得到的终端位置可以精确到厘米。
请参见图1A,图1A是本申请实施例提供的一种终端定位系统的结构示意图。例如图1A所示,该终端定位系统连续运行参考站(CORS)系统和用户终端集群,该用户终端集群可以包括一个或多个用户终端。这里不对用户终端的数量进行限制。例如图1A所示,该用户终端集群可以包括用户终端10e、用户终端10f、用户终端10h以及用户终端10g等。其中,高精定位服务平台可以理解为CORS系统的后台数据中心。该高精定位服务平台可以为独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。用户终端集群中的用户终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、飞行器(例如飞机、无人机等)以及自动驾驶系统中的车载电脑等集成了卫星定位设备的移动终端。其中,高精定位服务平台可以为用户终端集群中的每个用户终端播发差分服务数据,用户终端集群中的用户终端也可以向高精定位服务平台上报位置。
如图1A所示的导航卫星可以为全球卫星导航系统(GNSS)的导航卫星。GNSS也称为全球导航卫星系统,可以在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统。为方便描述,下述将导航卫星简称为卫星。例如图1A所示,卫星10a、卫星10b、卫星10c以及卫星10d可以为一个或多个GNSS的导航卫星。本申请不对卫星所属的GNSS类型进行限定。
其中,CORS系统可以获取全球卫星导航系统(GNSS)的导航卫星所对应的原始观测数据。这些接收到的原始观测数据可以传输至高精定位服务平台;该高精定位服务平台通过这些原始观测数据实时计算用户终端集群中的各个用户终端与导航卫星之间的卫星观测信息,并将卫星观测信息播发给对应的用户终端,此时的卫星观测信息可以称为高精定位服务平台为用户终端所播发的差分服务数据。以图1A所示用户终端集群中的用户终端10e为例,该用户终端10e可以为集成了卫星定位设备的移动终端。该用户终端10e可以从CORS系统的高精定位服务平台中获取该用户终端10e与各个卫星之间的卫星观测信息,例如用户终端10e分别与图1A所示的卫星10a、卫星10b、卫星10c以及卫星10d之间的卫星观测信息。用户终端10e在获取到卫星观测信息后,可以通过这些获取到的卫星观测信息估计用户终端10e的终端状态信息。其中,若卫星观测信息为伪距观测数据,则此时的终端状态信息可以包括终端位置和终端钟差。若卫星观测信息为多普勒观测数据, 则此时的终端状态信息包括终端速度和终端钟漂。若卫星观测信息包括伪距观测数据和多普勒观测数据,此时的终端状态信息包括终端速度、终端位置、终端钟差以及终端钟漂。换言之,本申请实施例中的卫星观测信息可以为伪距观测数据、多普勒观测数据、ADR中的至少一种,例如伪距观测数据,或者伪距观测数据和多普勒观测数据,等。本申请对卫星观测信息的数据类型(例如,伪距数据类型、多普勒数据类型等)以及数据类型的数量不做限定。
可以理解的是,钟差可以是指时钟误差,本申请中的钟差具体涉及卫星钟差和终端钟差。卫星钟差是指卫星时钟与标准时间之间的差值;终端钟差也可以称为接收机钟差,即接收机时钟与标准时间之间的差值。钟漂可以是指钟差变化率。本申请中的钟漂涉及终端钟漂和卫星钟漂,终端钟漂是指接收机钟差变化率,卫星钟漂是指卫星钟差变化率。
图1B是本申请实施例提供的一种终端定位方法的流程示意图。该终端定位方法可以由可移动的终端执行。如图1B所示,该方法可以包括以下步骤。
步骤S11,获取第一时刻针对终端的定位信息集合,基于定位信息估计终端在第一时刻的估计运动状态。其中,定位信息集合包括多个卫星分别对应的定位信息。
在卫星定位技术中,终端接收来自卫星发送的卫星信号(也称为导航定位信号),对接收到的各个卫星的卫星信号进行测量和分析,从而获得各个卫星针对该终端的定位信息(也称为卫星观测信息)。一个卫星针对终端的定位信息是指基于终端接收的该卫星的卫星信号获得的用于对该终端进行定位的信息。一些实施例中,定位信息可以包括,例如,终端与卫星之间的距离(也称伪距)、卫星信号的多普勒频移、卫星信号的多普勒计数、ADR等。各实施例中,当定位信息包括多于一个参数时,例如包括伪距信息和多普勒信息时,可以针对这些参数中的每个参数执行各实施例的方法。例如,针对定位信息中的伪距信息,执行图1B所述的方法,得到终端的位置;针对定位信息中的多普勒信息,执行图1B的方法,得到终端的速度,等。
终端的运动状态是指与终端的运动相关的一个或多个参数,例如,可以包括,终端的位置、终端的速度,等。本文中出现的各种运动状态,例如估计运动状态、预测运动状态、调整运动状态等,是指通过不同的方式获得的运动状态。估计运动状态是利用第一时刻的多个卫星的定位信息对终端的运动状态进行估计的估计结果。
步骤S12,获取终端对多个卫星中每个卫星进行信号测量的测量数据,基于测量数据估计多个卫星中每个卫星对应的定位信息的误差。
除了对卫星信号进行处理以获得定位信息之外,终端还可以通过测量各个卫星的卫星信号获得一些测量数据,例如,各个卫星的高度角、卫星信号的信噪比,等。
通过获得的测量数据,终端可以估计各个卫星对应的定位信息的精确度或者误差的大小。例如,终端可以利用预设的算法对各个卫星对应的测量数据分别进行计算,以得到各个卫星对应的定位信息的误差的度量值。一些实施例中,预设的算法可以是利用卫星信号的测量数据进行数学建模得到的算法,例如随机误差模型。该算法中的变量可以是卫 星信号的测量数据中的一个或多个参数,例如选自卫星的高度角、卫星信号的信噪比,等,而该算法的计算结果是卫星对应的定位信息的误差的度量值。该算法可以度量卫星定位信号的误差,此时的误差是与算法中使用的测量数据有关的误差。例如,该算法使用卫星的高度角时,算法得到的度量值考虑了卫星的高度角对卫星信号传播路径产生影响进而在终端获得的定位信息中产生的误差。又例如,该算法使用卫星信号的信噪比时,算法得到的度量值考虑了卫星信号的信噪比在定位信息中产生的误差。
上述算法中,可以包括用于对输出的误差的度量值进行调整的参数,这里称为误差调整因子。误差调整因子的初始值可以设置为预设的默认值,例如0(误差调整因子设置为误差的偏移量时),或1(误差调整因子设置为误差的缩放系数时)。
步骤S13,获得从估计运动状态转换得到的转换定位信息,以计算定位信息集合中每个卫星对应的定位信息与转换定位信息的偏离信息,基于偏离信息确定每个卫星的误差调整因子,每个卫星的误差调整因子用于对该每个卫星的定位信息的误差进行调整。
从估计运动状态转换得到转换定位信息是指,将表示终端的运动状态的一个或多个参数值转换为用于对终端进行定位的定位信息中的参数值。例如,可以利用卫星的位置,将估计运动状态中的终端的位置转换为终端与卫星之间的距离。又例如,可以利用卫星的运行速度,将估计运动状态中的终端的速度转换为终端与卫星之间的多普勒频移。
偏离信息是指卫星对应的定位信息与转换定位信息相背离的程度的度量信息。偏离信息可以通过,例如,计算定位信息与转换定位信息之间的差、方差、标准差等的方式来获得。
偏离信息体现了各个卫星对应的定位信息与估计运动状态对应的转换定位信息之间的偏离程度,从而可以用于估计卫星信号发射设备、卫星信号的传播路径和环境、卫星信号的接收设备三个方面中存在的噪声和各种不确定性因素对定位信息的准确度造成的影响。通过利用各个卫星对应的偏离信息分别确定每个卫星的误差调整因子。误差调整因子用于对卫星的定位信息的误差进行调整,例如,增加误差,或者减小误差。例如,误差调整因子可以是偏移值,对误差进行调整可以是在误差的基础上加上偏移值,偏移值可以为正数或复数。又例如,误差调整因子可以是缩放系数,对误差进行调整可以是在误差的基础上乘以缩放系数,缩放系数可以大于1、小于1或等于1。
步骤S14,利用终端的历史运动状态,通过状态预测模型预测终端在第一时刻的预测运动状态,其中,历史运动状态包括终端在第一时刻之前的至少一个时刻的运动状态。
状态预测模型用于根据先前时刻的运动状态来预测在后时刻的运动状态。状态预测模型可以通过预先设定的预测算法等来实现。预测算法中的参数可以包括终端的历史运动状态、和/或选自终端的各种已知数据(例如历史运动状态、历史定位信息、第一时刻的定位信息、观测卫星信号以获取定位信息的时间间隔,等)的一种或多种参数,和/或选自终端基于各种已知数据通过计算或估计获得的各种参数中的一种或多种参数(例如,针对卫星信号发射设备、传播环境、接收设备、各算法、各模型中存在的各种误差、各种噪声 的估计量,等)。预测算法的输出可以是终端在当前时刻(即第一时刻)的预测运动状态。
预测运动状态是指利用先前时刻的运动状态对在后时刻的运动状态的预测,体现的是对终端的运动状态随时间变化的规律的推理和应用。步骤S11中的估计运动状态是指利用当前时刻获得的含有误差的观测结果(即定位信息)对当前时刻的终端真实运动状态的估计。
步骤S15,将定位信息集合、每个卫星的对应的定位信息的误差和误差调整因子应用于状态调整模型,以对预测运动状态进行调整,进而获得终端在第一时刻的调整运动状态。
状态调整模型用于根据当前时刻的各卫星对应的定位信息及与误差相关的信息(误差和误差调整因子)来对预测运动状态进行调整。该调整过程一方面利用来自多个卫星的定位信息对预测算法的预测结果进行修正,从而对抗预测算法的不准确性,另一方面在使用定位信息时参考了各卫星的误差的差异性,从而降低了各个卫星的误差的差异性对最终确定的终端的运动状态(即调整运动状态)的不良影响。状态调整模型可以由调整算法实现。调整算法中的参数可以从预测运动状态、卫星的定位信息、每个卫星的对应的定位信息的误差和误差调整因子中获得。调整算法的输出可以是终端在当前时刻(即第一时刻)的调整后的预测运动状态(简称调整运动状态)。
上述状态预测模型和状态调整模型可以由递推估计算法、状态估计器等来实现。
步骤S16,根据终端在第一时刻的调整运动状态确定终端在第一时刻的定位结果。
由调整运动状态确定终端的定位结果的方法可以根据定位结果的应用场景来确定。例如,在电子地图和导航应用场景中,可以结合例如地图数据、车道数据等,将终端的调整运动状态(例如终端位置的经纬度坐标)转换为终端在电子地图中的位置(例如终端所在的道路、所在的车道,等),作为终端的定位结果。
根据各实施例的方法,通过根据各卫星的卫星观测信息(即定位信息)相对估计运动状态对应的转换定位信息的偏离信息确定各卫星对应的误差调整因子,用于对卫星的定位信息的误差进行调整,可以在每次进行终端定位时,根据当时的卫星观测信息对各卫星的定位信息的误差进行调整,在定位过程中考虑了不同卫星的定位信息中误差的差异性,使得定位结果更加准确。
一些实施例中,在估计终端在第一时刻的估计运动状态之前,可以对所采用的定位信息进行一些预处理,剔除一些异常信息,使得定位结果更准确。例如,可以利用异常检测方法从终端在第一时刻获得的第一数目个卫星的定位信息中剔除至少一个卫星的定位信息,得到定位信息集合。
本文中,包括多个卫星的定位信息的定位信息集合和单个卫星对应的定位信息也统称为卫星观测信息。根据上下文,当卫星观测信息指代从多个卫星获得的卫星观测信息时,该卫星观测信息可以是指定位信息集合;当卫星观测信息指代从多个卫星中的一部分卫星获得的卫星观测信息时,该卫星观测信息可以是指该一部分卫星对应的定位信息。一 些实施例中,对定位信息集合进行了异常值检测和剔除后,更新的定位信息集合也被称为筛选观测信息。
其中,在基于卫星观测信息估计终端状态信息(即估计运动状态)的过程中,可以剔除一些观测信息粗差,即确定终端状态信息所使用的卫星观测信息并非用户终端10e所获取到的所有卫星观测信息,而是剔除了一部分观测信息粗差后所剩余的卫星观测信息。本申请实施例可以将此时剩余的卫星观测信息称为第一筛选观测信息,即终端状态信息是由第一筛选观测信息所确定的。观测信息粗差可以是指由于测量疏忽所造成的错误观测结果或超限的误差,例如,观测目标错误(如卫星观测信息并非卫星与用户终端10e之间的观测数据)、观测数据读取错误等。
一些实施例中,上述步骤S11中的基于多个卫星的定位信息估计终端在第一时刻的估计运动状态的方法可以包括:
设置初始的估计运动状态;
获得从初始的估计运动状态转换得到的初始的转换定位信息;
根据定位信息集合中各卫星对应的定位信息相对于初始的转换定位信息的偏离信息,对初始的估计运动状态进行迭代调整,直至预设条件得到满足;
将预设条件得到满足时的估计运动状态作为所述终端在第一时刻的估计运动状态。
该估计运动状态的估计过程,即利用多个卫星的卫星观测信息估计最接近真实的终端的运动状态。可以根据需要设计迭代的收敛条件,对估计运动状态进行迭代调整,并判断每次调整后的估计运动状态计算是否满足收敛条件。将满足收敛条件时的估计运动状态作为终端在第一时刻的估计运动状态。通过这样的迭代调整,可以减小估计运动状态的误差。
下面通过举例来对一些实施例的方法进行阐释。图2是本申请实施例提供的一种终端定位场景示意图。例如图2所示的用户终端20a可以为图1A所示用户终端集群中的任意一个用户终端。该用户终端20a中集成了卫星定位设备。该用户终端20a可以接收CORS系统播发的卫星观测信息。该卫星观测信息可以包括各个卫星对应的伪距观测数据和多普勒观测数据。本申请对卫星观测信息所对应的卫星数量不作限定,即对接收到的卫星观测信息的数量不作限定。例如图2所示,本申请实施例以接收到6个卫星对应的卫星观测信息为例进行举例说明。
该用户终端20a所接收到的卫星观测信息包括伪距观测数据集合20b和多普勒观测数据集合20c。伪距观测数据集合20b由6个卫星分别对应的伪距观测数据所组成,例如伪距观测数据1、伪距观测数据2、......、伪距观测数据6。多普勒观测数据集合20c由6个卫星分别对应的多普勒观测数据所组成,例如多普勒观测数据1、多普勒观测数据2、......、多普勒观测数据6。换言之,用户终端20a所接收到的卫星观测信息包括两种数据类型,伪距观测数据集合20b中的伪距观测数据可以称为伪距数据类型,多普勒观测数据集合20c中的伪距观测数据可以称为多普勒数据类型。
可以对不同数据类型的卫星观测信息进行独立处理。例如,通过对伪距观测数据集合20b中所包含的伪距观测数据进行处理,最终可以得到用户终端20a对应的终端位置。通过对多普勒观测数据集合20c中所包含的多普勒观测数据进行处理,最终可以得到用户终端20a对应的终端速度。
针对伪距观测数据集合20b,可以将用户终端20a的终端位置和终端钟差作为估计参数x,该估计参数x可以记为(ru,dtr1)。其中,ru用于表示终端位置,dtr1用于表示终端钟差。基于伪距观测数据集合20b中的伪距观测数据对估计参数x进行优化(即迭代更新),可以计算出用户终端20a的终端位置和终端钟差。可以对估计参数x进行初始化,即为估计参数x设置初始值,估计参数x的初始值可以记为(ru_0,dtr1_0)。其中,估计参数x的初始值可以设置为0,或者可以为基于先验知识(用户终端20a实际所处的环境)所设置的数值。本申请对估计参数x的初始值的实际数值不做限定。
通过伪距观测数据集合20b可以对估计参数x的初始值(ru_0,dtr1_0)进行不断迭代更新。每次迭代都会更新一次估计参数x,下一次迭代的估计参数x是在上一次迭代的估计参数x的基础上增加估计参数修正量(也可以称为状态信息修正量)。当估计参数x收敛时,表示估计参数x经过了一个迭代周期(一个迭代周期可以包括一次或多次迭代)。每个迭代周期所确定的估计参数x均为达到收敛时的参数值。例如图2所示,第一个迭代周期所确定的估计参数x可以记为(ru_1,dtr1_1),即经过第一个迭代周期后,终端位置由初始值ru_0更新为ru_1,终端钟差由初始值dtr1_0更新为dtr1_1。
一些实施例中,在一次迭代调整过程收敛时,可以对估计结果进行检验,从而进一步剔除可能存在的异常数据,从而进一步提高估计结果的准确性。例如,对初始的估计运动状态进行迭代调整,直至预设条件得到满足之后,上述方法还可以包括:
利用假设检验算法对预设条件得到满足时的估计运动状态进行检验;
响应于所述检验未通过,根据定位信息集合中各卫星对应的定位信息相对于预设条件得到满足时的估计运动状态对应的转换定位信息的偏离信息,从定位信息集合中剔除至少一个卫星对应的定位信息以更新定位信息集合,并利用更新后的定位信息集合执行对初始的估计运动状态进行迭代调整的步骤;
响应于所述检验通过,将预设条件得到满足时的估计运动状态作为终端在第一时刻的估计运动状态。
例如,可以对某一迭代周期(这里称为第一迭代周期)所输出的结果(与(ru_1,dtr1_1)关联的解算结果)进行卡方检验(Chi-square test/Chi-Square Goodness-of-Fit Test)。若第一迭代周期的卡方检测统计量小于检验阈值,则表示通过卡方检验,可以将上述ru_1确定为用户终端20a的终端位置,将dtr1_1确定为用户终端20a的终端钟差。其中,检验阈值可以根据实际需求进行设置,本申请对该检验阈值的取值不作限定。其中,卡方检验是一种用途很广的计数资料的假设检验方法,该卡方检验仅为本申请实施例中的一种举例,对于其余具有类似功能的假设检测方法同样适用于本申请,这里不对检验方法进行限定。
若第一迭代周期的卡方检测统计量大于或等于检验阈值,则表示未通过卡方检验,进而通过正态分布检验从伪距观测数据集合20b中剔除未通过正态分布检验的伪距观测数据。例如图2所示,伪距观测数据2未通过正态分布检验,则将伪距观测数据2确定为伪距观测数据粗差,从伪距观测数据集合20b中剔除该伪距观测数据2。通过正态分布检验的伪距观测数据则被保留下来,即保留了伪距观测数据1、伪距观测数据3、伪距观测数据4、伪距观测数据5以及伪距观测数据6。
随后,可以将(ru_1,dtr1_1)作为估计参数x在新的迭代周期(这里称为第二迭代周期)的初始值,通过上述保留下来的伪距观测数据1、伪距观测数据3、伪距观测数据4、伪距观测数据5以及伪距观测数据6,对(ru_1,dtr1_1)进行不断地迭代更新。第二迭代周期的迭代过程与第一个迭代周期的迭代过程相同,第二迭代周期所确定的估计参数x记为(ru_2,dtr1_2)。
同理,可以对第二迭代周期所输出的结果(与(ru_2,dtr1_2)关联的解算结果)进行卡方检验。若通过卡方检验,则将上述ru_2确定为用户终端20a的终端位置,将dtr1_2确定为用户终端20a的终端钟差。此时可以将上述伪距观测数据1、伪距观测数据3、伪距观测数据4、伪距观测数据5以及伪距观测数据6组成伪距观测数据集合20d,该伪距观测数据集合20d是剔除了伪距观测矩阵20b中的粗差观测数据后所得到的。一些实施例中,若第二迭代周期仍然未通过卡方检验,则继续通过正态分布检验剔除伪距观测数据粗差,并开始进入下一个迭代周期,直至通过卡方检验。
其中,针对多普勒观测数据集合20c,可以将用户终端20a的终端速度和终端钟漂作为估计参数y,该估计参数y可以记为(vu,dtr2)。其中,vu用于表示终端速度,dtr2用于表示终端钟漂;基于多普勒观测数据集合20c对估计参数y进行迭代更新的过程,类似于前述基于伪距观测数据集合20b对估计参数x的迭代更新过程,此处不再赘述。通过多普勒观测数据集合20c计算得到用户终端20a的终端速度为vu_2,终端钟漂为dtr2_2,剔除了多普勒观测数据粗差后可以得到多普勒观测数据集合20e(包括多普勒观测数据2、多普勒观测数据4以及多普勒观测数据5)。在上述基础上,可以将上述终端位置ru_2、终端速度vu_2、终端钟差dtr1_2、终端钟漂dtr2_2称为用户终端20a对应的终端状态信息,上述伪距观测数据集合20d和多普勒观测数据集合20e可以称为第一筛选观测信息。
一些实施例中,上述终端状态信息(ru_2,vu_2,dtr1_2,dtr2_2)中的终端位置和终端速度仅为基于迭代更新所确定的初步结果,该初步结果可以经过后续的处理,得到最终的终端定位结果。
各实施例中,在通过迭代调整过程得到终端在第一时刻的估计运动状态后,可以根据估计运动状态和定位信息估计各个卫星对应的定位信息中存在的误差。
各实施例中,各卫星的卫星信号的测量数据可以包括以下中的至少一个:卫星的高度角、卫星信号的信噪比、卫星相对于终端的方位,等。可以利用所述测量数据和预设的算法得到所述多个卫星中每个卫星对应的定位信息的误差(也简称为卫星对应的误差)。例 如,可以预先设定卫星的观测误差模型,其中的一些参数可以根据实际的卫星信号的测量数据决定。在获得了各卫星的卫星信号的测量数据后,可以对测量数据进行处理,得到所需要的参数值,并对卫星的观测误差模型中的参数进行赋值,从而得到各个卫星对应的误差。由于不同的卫星具有不同的测量数据,例如信噪比、高度角、相对于终端的方位等,经过上述处理,不同的卫星可以具有不同的误差,使得终端定位结果更准确。
一些实施例中,还可以利用误差调整因子对每个卫星对应的误差进行调整,这样可以对根据预设的观测误差模型得到的误差进行精细化调整,使其能够更准确地体现不同卫星在第一时刻的误差。该误差调整因子在后续处理中影响各个卫星的定位信息的权重,进而影响最终的定位结果。该调整方法可以包括:多个卫星中每个卫星对应的定位信息与所述转换定位信息之间的偏离信息和每个卫星对应的误差应用于预设的转换关系,以确定每个卫星对应的误差调整因子。其中,根据所述转换关系,当第一卫星对应的第一偏离信息大于第二卫星对应的第二偏离信息时,第一卫星对应的第一误差调整因子对误差的调整幅度大于第二卫星对应的第二误差调整因子对误差的调整幅度。
各实施例中,上述方法还可以包括:对状态预测模型和状态调整模型进行初始化。模型的初始化可以在终端激活定位功能的初始阶段执行,也可以在定位过程中根据需要被触发执行。所述初始化可以包括:
将状态预测模型的预测运动状态设置为终端在第一时刻的估计运动状态;
从多个卫星中每个卫星对应的测量数据、误差和误差调整因子中获得状态调整模型中的参数的初始值。
一个实施例中,在设计状态调整模型时考虑到了卫星的某一个或多个参数对定位结果的影响,则状态调整模型中会包括一个或多个变量,这个或这些变量的值可以通过卫星的上述一个或多个参数值确定。上述一个或多个参数值可以选自卫星的测量数据中的多个参数、卫星对应的误差、卫星对应的误差调整因子。例如,当状态调整模型是通过建立数学模型来模拟卫星的某一个或多个参数对定位结果的影响时,则通过求解数学模型获得的算法可以作为状态调整模型,而算法中的一个或多个变量则由卫星的一个或多个参数决定。
一些实施例中,上述状态预测模型和状态调整模型可以由任意的算法、状态估计器等来实现。一些实施例中,上述状态预测模型和状态调整模型可以由状态观测滤波器(例如,稳健卡尔曼滤波器)来实现。
为了进一步提高终端位置和终端速度的准确性,可以通过上述迭代更新所得到的结果,即上述估计得到的终端状态信息(即估计运动状态),建立一个滤波器(本文中也用″目标滤波器″来指代,该滤波器例如可以为稳健卡尔曼滤波器),将终端状态信息(ru_2,vu_2,dtr1_2,dtr2_2)设置为该目标滤波器对应的初始状态参数,即滤波器的初始状态参数为(ru_2,vu_2,dtr1_2,dtr2_2)。该初始状态参数可以是指滤波器在T0时刻的上述状态参数。通过T0时刻的状态参数可以预测下一个时刻的状态参数。。状态调整模型可以由 滤波器对应于该初始状态参数的初始状态协方差矩阵实现。该滤波器的状态协方差矩阵用于表征滤波器的状态参数之间的相关性,例如终端位置、终端速度、终端钟差以及终端钟漂之间的相关性。初始状态协方差矩阵可以通过上述迭代更新所得到的解算结果来确定,例如,可以利用多个卫星中每个卫星的测量数据、误差和误差调整因子来确定初始状态协方差矩阵的参数。
一些实施例中,步骤S14中,通过状态预测模型预测所述终端在第一时刻的预测运动状态可以包括:将历史运动状态中终端在第二时刻的调整运动状态应用于状态预测模型,使状态预测模型基于第一时刻和第二时刻之间的时间差推算终端在第一时刻的预测运动状态。其中,第二时刻为在第一时刻之前最后一次对该终端进行定位的时刻。
滤波器的初始状态参数和初始状态协方差参数设置完成后,可以对该滤波器进行时间更新,此处的时间更新可以理解为状态预测过程,即基于初始状态参数和初始状态协方差矩阵,预测滤波器下一个时刻的状态参数(即预测运动状态)和下一个时刻的状态协方差矩阵。也即,利用历史状态参数可以预测得到当前时刻的状态参数。当前时刻的状态参数可以称为预测状态参数(也即预测运动状态)。该预测状态参数的确定过程即为滤波器的时间更新(time update,也称为prediction)阶段(也可以称为状态预测阶段)。
一些实施例中,滤波器的时间更新过程包括初始状态参数和初始协方差矩阵两者的更新,将时间更新所得到的状态参数称为预测状态参数,记为(ru_3,vu_3,dtr1_3,dtr2_3),时间更新所得到的状态协方差矩阵称为预测协方差矩阵。
一些实施例中,为了使得定位结果更准确,可以在对预测运动状态进行调整前,先对卫星观测信息进行处理,对其中的粗差进行剔除,并对其中的时钟跳变进行校正。这时,该方法可以包括:
获取从预测运动状态转换得到的第二转换定位信息;
获取定位信息相对第二转换定位信息的偏差数据;
通过异常值检测从偏差数据中剔除至少一个卫星对应的偏差数据,并从定位信息集合中剔除该至少一个卫星对应的定位信息,从而更新定位信息集合;
对执行所述剔除后的偏差数据进行时钟跳变检测,当检测到时钟跳变时,对预测运动状态进行调整,并对状态调整模型中的至少一个参数进行调整。
这里使用预测运动状态来作为参照,对定位信息集合进行异常值检测,也即,按照定位信息相对预测运动状态对应的第二转换定位信息的偏差来进行异常值检测。
对于剔除了粗差之后的偏差数据进行时钟校正。这里,时钟跳变检测可以包括钟差跳变检测和钟漂跳变检测。定位信息包括伪距信息时,所述偏差数据为伪距信息的偏差数据,对所述偏差数据进行钟差跳变检测。定位信息包括多普勒信息时,所述偏差数据为多普勒信息的偏差数据,对所述偏差数据进行钟漂跳变检测。
通过以上处理,可以进一步剔除定位信息集合中的异常信息,并对更新后的定位信息集合进行时钟校正,使其更加准确。
一些实施例中,为了使得定位结果更准确,可以在对预测运动状态进行调整前,先对待使用的模型进行验证和调整。这时,该方法可以包括:
获取从预测运动状态转换得到的第二转换定位信息;
获取定位信息集合中的每个卫星对应的定位信息相对第二转换定位信息的偏差数据的集合;
通过异常值检测从偏差数据的集合中剔除至少一个第一卫星对应的偏差数据,并从定位信息集合中剔除所述至少一个第一卫星对应的定位信息,从而更新所述定位信息集合;
利用所述偏差数据的集合、所述状态调整模型以及所述定位信息集合计算模型验证参数值;
响应于所述模型验证参数值满足预设的阈值条件,对所述定位信息集合进行统计分布检测,剔除未通过所述统计分布检测的至少一个卫星对应的定位信息,从而更新所述定位信息集合;
响应于所述模型验证参数值不满足预设的阈值条件,对所述状态预测模型和所述状态调整模型进行初始化,并利用当前的定位信息集合执行预测所述终端在第一时刻的预测运动状态和对所述第一时刻的预测运动状态进行调整的步骤。
这样,通过对模型进行验证,在验证参数值满足阈值条件时,从定位信息集合中进一步剔除使得模型验证参数异常的卫星观测信息;当验证参数值不满足阈值条件时,则对模型进行初始化,并使用当前经历过粗差剔除后的定位信息集合重新执行该方法,以优化各个步骤获得的结果,使得最终获得的定位结果更准确。
一些实施例中,在上述步骤S15中,对所述第一时刻的预测运动状态进行调整可以包括:
将定位信息集合、预测运动状态、定位信息集合中每个卫星对应的误差和误差调整因子应用于状态调整模型,以获得运动状态调整量;
利用所述调整量对所述预测运动状态进行调整,以获得所述终端在第一时刻的调整运动状态。
可见,在对预测运动状态进行调整时,同时利用了预测运动状态、更新后的定位信息集合及其中每个卫星(即剔除一部分卫星后剩余的卫星)对应的误差和误差调整因子,并基于状态调整模型,调整后的预测运动状态的准确度更高。
一些实施例中,还可以对状态预测模型的误差性能进行估计,并利用估计的误差性能对状态调整模型进行调整,使得步骤S15中的调整过程可以在一定程度上修正状态预测模型的预测误差。此时,该方法还可以包括:在计算所述运动状态参数的调整量之前,
确定所述终端的历史运动状态中的至少一个运动状态参数的波动信息;
利用所述波动信息获得所述至少一个运动状态参数的各种取值的概率信息;
根据所述概率信息估计所述状态预测模型针对所述至少一个运动状态参数的预测 误差信息;
根据所述预测误差信息对所述状态调整模型进行调整。
其中,运动状态参数的波动信息可以通过对历史运动状态中的运动状态参数的值进行统计处理方式获得,例如,通过方差等统计量来体现。运动状态参数的各种取值的概率信息可以利用统计处理方式获得,例如,通过分布函数或谱密度来表示。
一些实施例中,对状态调整模型进行调整的方法可以包括,针对每个运动状态参数,利用该运动状态参数的预测误差信息计算一偏移值,在状态调整模型的调整算法中附加该偏移值。一些实施例中,对状态调整模型进行调整的方法可以包括,针对每个运动状态参数,利用该运动状态参数的预测误差信息计算一偏移值,在状态调整模型中涉及该运动状态参数的算法中引入该偏移值,从而使得该偏移值影响状态调整模型对预测运动状态中该运动状态参数的调整量的计算。
一些实施例中,在对预测运动状态调整后,还可以对状态调整模型中的测量变换关系进行更新,包括:
利用定位信息集合及其中每个卫星对应的误差和误差调整因子对所述状态调整模型进行调整。
更新后的状态调整模型中的测量变换关系用于对第一时刻之后的下一时刻终端的预测运动状态进行调整。
上述对第一时刻的预测运动状态进行调整的步骤,当利用滤波器实现时,则体现为滤波器的测量更新过程。在滤波器完成时间更新后,即滤波器的状态参数由初始状态参数(即上述终端状态信息)更新为预测状态参数,可以通过上述第一筛选观测信息对滤波器的预测状态参数进行测量更新(也可以称为校正)。一些实施例中,滤波器在完成时间更新后,可以基于预测状态参数和预测状态协方差矩阵进行测量更新,此处的测量更新可以理解为对前述时间更新所得到的预测状态参数进行校正的过程。滤波器的测量更新可以包括钟差和钟漂跳变探测与修复、滤波器模型验证与修复、滤波器故障检测与修复等过程。
在滤波器的测量更新(measurement update,也称为update)阶段,是基于时间更新阶段最终得到的预测状态参数(也即预测运动状态)来进行校正的。通过第一筛选观测信息对滤波器进行验证和修复,首先计算滤波器的模型验证参数值,当模型参数验证值不满足验证条件(例如,大于或等于模型验证阈值,该模型验证阈值可以根据实际需求进行设置)时,表示滤波器存在故障,需要重置滤波器,即重新设置该滤波器的初始状态参数。当模型参数验证值满足验证条件(例如,小于模型验证阈值)时,可以对第一筛选观测信息进行检验(例如,正态分布检验,正态分布也可以称为高斯分布),继续剔除第一筛选观测信息中的观测信息粗差,以得到第二筛选观测信息。通过第二筛选观测信息构建滤波器在测量更新阶段的测量更新矩阵(即状态调整模型中的测量变换关系)。另外,还可以根据卫星观测误差因子构建滤波器在测量更新阶段的测量方差矩阵,通过测量更新矩阵和测量方差矩阵,对滤波器的预测状态参数进行测量更新,得到目标状态参数。该目标状态参数 为滤波器在测量更新阶段所得到的结果。在得到目标状态参数后,可以通过第二筛选观测信息对此时的滤波器进行再次验证,例如对第二筛选观测信息进行检验(例如,正态分布检验)。检验通过则可以将该目标状态参数确定为用户终端10e的终端定位。检验不通过则从第二筛选观测信息中剔除相应的卫星观测信息,即第二筛选观测信息中的哪一个卫星观测信息未通过检验,则剔除该卫星观测信息,以得到新的筛选观测信息(为方便描述,下面将此时所得到的新的筛选观测信息称为第四筛选观测信息)。通过第四筛选观测信息重新构建测量更新矩阵,对滤波器再次进行测量更新,直至剩余的所有卫星观测信息均通过检验,输出滤波器在当前时刻的状态参数,此时的状态参数即为用户终端10e的终端位置。
本申请实施例中,通过卫星观测信息和滤波器实现用户终端的终端定位过程。在此过程中,可以通过滤波器的验证与修复过程,尽可能地剔除卫星观测信息中的观测信息粗差,以获取更准确的终端定位结果。
仍然以采用滤波器实现状态预测模型和状态调整模型为例进行说明,在滤波器的测量更新过程(也即对预测运动状态进行调整的过程)中需要使用上述第一筛选观测数据,由于第一筛选观测数据包含属于伪距数据类型的伪距观测数据集合20d和属于多普勒数据类型的多普勒观测数据集合20e,因此需要对伪距观测数据集合20d和多普勒观测数据集合20e进行独立处理。
其中,针对伪距观测数据集合20d,可以通过伪距观测数据集合20d中的伪距观测数据以及预测状态协方差矩阵进行钟差跳变探测,若探测到滤波器存在钟差跳变,则对其进行钟差跳变修复,即重新设置滤波器的状态参数和状态协方差矩阵,也就是说,在预测状态参数和预测状态协方差矩阵的基础上进行了更新。若未探测到钟差跳变,则无需进行钟差跳变修复。与此同时,针对多普勒观测数据集合20e,可以通过多普勒观测数据集合20e中的多普勒观测数据以及预测状态协方差矩阵进行钟漂跳变探测,若探测到滤波器存在钟漂跳变,则对其进行钟漂跳变修复,即重新设置滤波器的状态参数和状态协方差矩阵,也就是说,在预测状态参数和预测状态协方差矩阵的基础上进行了更新。若未探测到钟漂跳变,则无需进行钟漂跳变修复。
当钟差和钟漂跳变探测及修复均完成后,可以进行滤波器模型验证。
例如计算模型验证参数值。该模型验证参数值可以包括伪距验证参数值和多普勒验证参数值。伪距验证参数值可以由钟差和钟漂跳变探测和修复后所得到的状态协方差矩阵、伪距观测数据集合20d所确定。多普勒验证参数值可以由钟差和钟漂跳变探测和修复后所得到的状态协方差矩阵、多普勒观测数据集合20e所确定。当伪距验证参数值大于或等于伪距验证阈值,或多普勒验证参数值大于或等于多普勒验证阈值时,表示滤波器未通过模型验证,则需要对该滤波器进行修复,即重新设置滤波器的初始状态参数与初始状态协方差矩阵,并基于重新设置的初始状态参数与初始状态协方差矩阵进行时间更新和测量更新。当伪距验证参数值小于伪距验证阈值,且多普勒验证参数值小于多普勒验证阈值时,表示滤波器通过模型验证,此处的伪距验证阈值和多普勒验证阈值都可以是基于实际需求 所设置的不同数值,该伪距验证阈值和多普勒验证阈值可以统称为模型验证阈值。
若滤波器通过模型验证,则可以通过正态分布检测从伪距观测数据集合20d和多普勒观测数据集合20e中剔除造成滤波器发散的观测数据,即从伪距观测数据集合20d中筛选出伪距观测数据集合20f,从多普勒观测数据集合20e中筛选出多普勒观测数据集合20g,此时的伪距观测数据集合20d和多普勒观测数据集合20g可以称为第二筛选观测信息。通过伪距观测数据集合20d和多普勒观测数据集合20g可以对滤波器进行测量更新,得到目标状态参数和目标状态协方差矩阵,该目标状态参数可以记为(ru_4,vu_4,dtr1_4,dtr2_4)。
一些实施例中,在对预测运动状态进行调整后,还可以利用调整后得到的运动状态对卫星观测信息进行进一步检测,从而有可能剔除更多的异常卫星观测信息,进而提高终端定位的准确性。此时,上述方法还可以包括:
获取从调整运动状态转换得到的第三转换定位信息;
获取定位信息集合中每个卫星对应的定位信息相对第三转换定位信息的偏差数据的集合;
对偏差数据的集合进行统计分布检测;
从定位信息集合中剔除未通过统计分布检测的至少一个卫星的定位信息,从而更新定位信息集合;
利用更新后的定位信息集合对预测运动状态进行调整。
一些实施例中,在对预测运动状态进行调整后,还可以利用对预测运动状态的调整量进行检测,在检测不通过时利用当前的定位信息集合重新执行上述方法,进而提高终端定位的准确性。此时,上述方法还可以包括:
获取调整运动状态相对于所述预测运动状态的调整量;
响应于所述调整量不符合预设的阈值条件,对所述状态预测模型和所述状态调整模型进行初始化,并利用当前的定位信息集合执行预测终端在第一时刻的预测运动状态和对预测运动状态进行调整的步骤。
例如,当滤波器的滤波器修正量(即后一时刻的状态参数与前一时刻的状态参数之间的差值,也即用对预测运动状态的调整量)通过验证,且第二筛选观测信息均通过正态分布检验时,可以将目标状态参数中的终端位置ru_4和终端速度vu_4作为用户终端20a的终端定位结果。
一些实施例中,假设用户终端20a为智能手机,在手机终端定位导航应用场景中,获取到用户终端20a的终端位置和终端速度后,可以在导航应用中为该用户终端20a的使用者提供准确的导航路径。例如图2所示的导航页面20h所示,位置S1即为用户终端20a在电子地图中的位置(即终端位置),区域20i为用户终端20a所在路径的实时路况。不同的颜色表示不同的路况,例如黑色区域表示该路段属于重度拥挤路段,灰色区域表示该路径属于轻度拥堵路段,白色区域属于不拥挤路段等。
一些实施例中,假设用户终端20a为车载终端,在道路场景车道级导航应用中,获取到用户终端20a的终端位置和终端速度后,可以为该用户终端20a提供车道级行驶路径,例如图2所示的导航页面20j所示。位置20k即为用户终端20a在道路中的车道行驶位置(即终端位置),黑色线条用于表示用户终端20a的车道行驶路径,即上述终端定位结果可以精确到用户终端20a所在的车道,实现对用户终端20a的车道级定位。
请参见图3,图3是本申请实施例提供的一种终端定位方法的流程示意图。该终端定位方法可以由计算机设备执行,该计算机设备可以为集成了卫星定位设备的电子设备,例如图1A所示用户终端集群中的任一用户终端,或任一需要进行定位的终端。例如图3所示,该终端定位方法可以包括以下步骤。
步骤S101,通过卫星观测信息确定终端对应的终端状态信息,根据终端状态信息从卫星观测信息中获取第一筛选观测信息。
一些实施例中,计算机设备可以向CORS系统发送星历获取请求。CORS系统的高精定位服务平台接收到星历获取请求后,可以从卫星星历数据库中获取实时的卫星导航星历,并将实时的卫星导航星历以二进制流的形式传输至计算机设备。此时的计算机设备可以接收CORS系统的高精定位服务平台播发的卫星导航星历。计算机设备还可以接收CORS系统的高精定位服务平台所播发的卫星观测信息。其中,该卫星导航星历可以包括一组用于确定卫星位置的参数列表,卫星星历数据库中可以包括所有卫星的导航星历。卫星观测信息可以包括伪距观测数据、多普勒观测数据中的至少一种。本申请的计算机设备可以为待定位的终端。
其中,根据卫星观测信息和卫星导航星历,获取各个卫星分别对应的卫星状态信息。当卫星观测信息仅包含伪距观测数据时,此时的卫星状态信息包括卫星位置和卫星钟差。当卫星观测信息仅包含多普勒观测数据时,此时的卫星状态信息包括卫星速度(即卫星运行速度)和卫星钟漂。当卫星观测信息包含伪距观测数据和多普勒观测数据时,此时的卫星状态信息包括卫星位置、卫星钟差、卫星速度以及卫星钟漂。其中,卫星的数量可以为N个(N为正整数),一个卫星在同一时刻对应一个伪距观测数据、一个多普勒观测数据、一个卫星位置、一个卫星钟差、一个卫星速度以及一个卫星钟漂,每个卫星所对应的卫星位置、卫星钟差、卫星速度以及卫星钟漂可以是不同的。例如,卫星观测信息包括伪距观测数据时,基于接收到的伪距观测数据和卫星导航星历可以计算各个卫星分别对应的卫星位置和卫星钟差,即获取自身接收到卫星发射信号的接收时间,根据初始伪距观测值、接收时间以及光速值,确定卫星发射信号的发射时间,进而可以根据发射时间和卫星导航星历中所包含的参数列表,确定卫星对应的卫星位置和卫星钟差。同理,卫星观测信息包括多普勒观测数据时,基于接收到的多普勒观测数据和卫星导航星历可以计算各个卫星分别对应的卫星速度和卫星钟漂。
在获取到卫星观测信息以及卫星状态信息后,可以根据卫星观测信息与卫星状态信息,构建终端与卫星之间的卫星观测方程。通过卫星观测方程可以获取终端对应的终端 状态信息,基于终端状态信息可以从N个卫星所对应的卫星观测信息中获取第一筛选观测信息(例如,上述图2所对应实施例中的伪距观测数据集合20d和多普勒观测数据集合20e)。其中,终端所接收到的卫星观测信息中可能存在观测信息粗差,因此在计算终端状态信息的过程中,可能从N个卫星所对应的卫星观测信息中剔除了一部分观测信息粗差。计算终端状态信息所实际使用的卫星观测信息仅为N个卫星所对应卫星观测信息中的部分观测信息,因此可以将确定终端状态信息时所实际使用的卫星观测信息确定为第一筛选观测信息。例如,N个卫星所对应的卫星观测信息中的卫星i的卫星观测信息为观测信息粗差,则可以剔除卫星i的卫星观测信息。通过除卫星i之外的其余卫星的卫星观测信息估计得到终端状态信息时,可以将N个卫星中除卫星i之外的其余卫星的卫星观测信息作为第一筛选观测信息。第一筛选观测信息的数量小于或等于终端所接收到的所有卫星观测信息的总数量。例如第一筛选观测信息为伪距观测数据时,第一筛选观测信息的数量小于或等于N(卫星的数量,即终端接收到的伪距观测数据的总数量)。
可以理解的是,本申请实施例中的卫星观测信息、卫星状态信息以及终端状态信息三者之间是相关联的。例如卫星观测信息为伪距观测数据时,与之对应的卫星状态信息为卫星位置和卫星钟差,与之对应的终端状态信息为终端位置和终端钟差。卫星观测信息为多普勒观测数据时,与之对应的卫星状态信息为卫星速度和卫星钟漂,与之对应的终端状态信息为终端速度和终端钟漂。卫星观测信息包括伪距观测数据和多普勒观测数据时,与之对应的卫星状态信息为卫星位置、卫星钟差、卫星速度以及卫星钟漂,与之对应的终端状态信息为终端位置、终端钟差、终端速度以及终端钟漂,后续对此不再进行解释。
其中,若终端接收到N个卫星分别对应的伪距观测数据,则基于伪距观测数据以及卫星状态信息中的卫星位置和卫星钟差,可以构建如下伪距观测方程:
Figure PCTCN2023071556-appb-000001
其中,
Figure PCTCN2023071556-appb-000002
为终端接收到伪距观测数据,ru为终端位置,ri为卫星i对应的卫星位置,dtr为终端钟差,dti为卫星i对应的卫星钟差,c为真空中的光速值,ζi为误差改正数(包括电离层、对流层以及地球自转改正,可以由经验模型计算得到),||ru-ri||可以用于表示终端位置ru与卫星位置ri之间的欧几里得距离。在上述公式(1)中,除终端位置ru与终端钟差dtr之外的其余参数均是已知的,基于该公式(1)所示的伪距观测方程可以估计得到终端的终端位置和终端钟差。
一些实施例中,若终端接收到N个卫星分别对应的多普勒观测数据,则基于多普勒观测数据以及卫星状态信息中的卫星速度和卫星钟漂,可以构建如下多普勒观测方程:
Figure PCTCN2023071556-appb-000003
其中,
Figure PCTCN2023071556-appb-000004
为终端接收到多普勒观测数据,λ为卫星播发信号的波长,v i,i=1,2,......,N为第个卫星对应的卫星速度,
Figure PCTCN2023071556-appb-000005
为终端钟漂,v u为终端速度,
Figure PCTCN2023071556-appb-000006
为卫星i对应的卫星钟漂。基于该公式(2)所示的多普勒观测方程可以估计得到终端的终端速度和终端钟漂,在求解终端对应的终端速度和终端钟漂时,需要提供终端的终端位置以及各个卫星所对应的卫星位置。本申请实施例中,可以将公式(1)所示的伪距观测方程和公式(2)所示的多普勒观测方程统称为卫星观测方程。
步骤S102,将终端状态信息设置为滤波器的初始状态参数,获取滤波器针对初始状态参数的初始状态协方差矩阵。
该步骤是对状态预测模型和状态调整模型进行初始化。一些实施例中,在得到终端对应的终端状态信息以及第一筛选观测信息后,可以基于终端状态信息建立滤波器,即通过终端状态信息对滤波器进行初始化,将该终端状态信息设置为滤波器的初始状态参数。该滤波器的状态参数的数量取决于终端状态信息所包含的参数数量。例如终端状态信息包括终端位置、终端钟差、终端速度以及终端钟漂时,滤波器的初始状态参数可以设置为
Figure PCTCN2023071556-appb-000007
其中,[.]T表示为矩阵的转置,z(0)表示为滤波器的初始状态参数,与此同时,还可以获取滤波器针对初始状态参数的初始状态协方差矩阵(即上述状态调整模型中的测量变换关系)。该初始状态协方差矩阵可以用于表征初始状态参数之间的相关性。,该初始状态协方差矩阵为对角线矩阵,同样为对称矩阵。初始状态协方差矩阵可以通过第一筛选观测信息和初始状态参数来确定。
其中,滤波器可以为递归滤波器,例如滤波器可以包括但不限于:卡尔曼滤波器(Kalman Filter,EKF)、扩展卡尔曼滤波器(Extended Kalman Filter,EKF)、无迹卡尔曼滤波器、稳健卡尔曼滤波器等。本申请实施例对滤波器的类型不做限定。为方便描述,本实施例以稳健卡尔曼滤波器为例进行说明。
步骤S103,对滤波器的初始状态参数进行时间更新,得到预测状态参数,对滤波器的初始状态协方差矩阵进行时间更新,得到预测状态协方差矩阵。
一些实施例中,滤波器在完成初始化后,可以对滤波器进行时间更新,将滤波器的初始状态参数更新为预测状态参数(即预测运动状态),将初始状态协方差矩阵更新为预测状态协方差矩阵。滤波器的时间更新过程可以是在初始状态参数的基础上,进行状态参数预测。滤波器在时间更新完成后的状态参数可以称为预测状态参数,此时滤波器针对该预测状态参数的状态协方差矩阵可以称为预测状态协方差矩阵。
其中,在滤波器的时间更新过程中,可以对滤波器的初始状态参数进行多次更新。将滤波器的初始状态参数记为z(0),滤波器的初始状态协方差矩阵记为P(0)。z(0)可以认为 是滤波器在0时刻的状态参数,P(0)可以认为是滤波器在0时刻的状态协方差矩阵。对滤波器进行时间更新的下一个(1时刻)状态参数可以记为z(1),下一个状态协方差矩阵可以记为P(1)。以此类推,滤波器在t时刻的状态参数可以记为z(t),在t时刻的状态协方差矩阵可以记为P(t)。假设当前时刻为t时刻,则z(t)为滤波器的预测状态参数,P(t)为滤波器的预测状态协方差矩阵。
步骤S104,从第一筛选观测信息中,筛选出用于构建滤波器的测量更新矩阵的第二筛选观测信息,根据由终端状态信息所确定的卫星观测误差因子,构建滤波器对应的测量方差矩阵。
一些实施例中,在滤波器完成时间更新后,可以继续对滤波器进行测量更新。测量更新过程一开始的状态参数为滤波器时间更新完成时的预测状态参数,测量更新过程一开始的状态协方差矩阵为滤波器时间更新完成时的预测状态协方差矩阵。在对滤波器进行测量更新时,可以对滤波器进行模型验证。若滤波器通过模型验证,则可以通过正态分布检验从第一筛选观测信息中,筛选出用于构建滤波器的测量更新矩阵的第二筛选观测信息。若滤波器未通过模型验证,则需要对滤波器进行模型修复,例如重新设置滤波器的初始状态参数和初始状态协方差矩阵。
其中,滤波器的模型验证可以包括:通过第一筛选观测信息对应的信噪比、以及第一筛选观测信息所对应卫星的高度角,构建观测方差矩阵(即各卫星的误差构成的矩阵)。此时的第一筛选观测信息所对应的观测方差矩阵可以称为第一观测方差矩阵。可以通过第一观测残差矩阵、预测状态协方差矩阵、第一筛选观测数据针对预测状态参数的雅克比矩阵,以及第一观测方差矩阵,确定滤波器对应的模型验证参数值。其中,观测残差矩阵可以是指将卫星观测方程等号两边的式子相减所得到的矩阵,例如上述公式(1)中的伪距观测方程的等号两边相减所得到的矩阵,可以称为由终端所接收到的N个伪距观测数据所构建的观测残差矩阵。基于相同的原理,可以通过第一筛选观测信息、第一筛选观测信息所对应卫星的卫星状态信息,以及预测状态信息,构建第一筛选观测信息对应的观测方程,将该观测方程等号两边的式子进行相减后可以得到上述第一观测残差矩阵。雅克比矩阵是一阶偏导数以一定方式排列成的矩阵,其行列式称为雅可比行列式。
在一个或多个实施例中,在获取滤波器对应的模型验证参数值之前,还可以根据第一观测残差矩阵的四分位数和绝对中位差,对第一观测残差矩阵进行粗差探测处理,得到第二观测残差矩阵。换言之,通过第一观测残差矩阵的四分位数和绝对中位差,剔除第一筛选观测信息中的观测信息粗差,以得到第三筛选观测信息。该由第三筛选观测信息所构建的观测残差矩阵可以称为第二观测残差矩阵。此时可以将第三筛选观测信息对应的信噪比,以及第三筛选观测信息所对应卫星的高度角,构建观测方差矩阵。第三筛选观测矩阵所对应的观测方差矩阵可以称为第一方差矩阵。可以通过第二观测残差矩阵、预测状态协方差矩阵、第二观测残差矩阵针对预测状态参数的雅克比矩阵,以及第一观测方差矩阵,确定滤波器对应的模型验证参数值。第三筛选观测信息的数量小于或等于第一筛选观测信 息的数量。
其中,四分位数可以是指将第一观测残差矩阵中的元素进行排序。将排序后的观测残差序列按照四等分进行划分。排序后的观测残差序列中处于分割点的元素,四分之一分割点的元素称为下四分位数,二分之一分割点的元素称为中位数,四分之三分割点的元素称为上四分位数,即四分位数可以包括下四分位数、中位数以及上四分位数。绝对中位差是用第一观测残差矩阵中的元素减去中位数后得到的新数据的绝对值的中位数。绝对中位差是一种统计离差的测量。粗差探测处理可以通过粗差探测方法来实现。基于四分位数和绝对中位数进行粗差探测处理的方法仅为本申请实施例中的一种举例。例如上述描述的粗差探测方法之外,还可以采用其余任何形式的粗差探测方法,例如,基于正态分布的序贯粗差探测、基于四分位数和绝对中位差的粗差探测等,本申请对剔除卫星观测信息粗差的粗差探测方法不做限定。
在一个或多个实施例中,当第一筛选观测数据为伪距观测数据时,可以通过第一筛选观测信息和预测状态协方差矩阵,对滤波器进行钟差跳变探测,若探测到滤波器存在钟差跳变,则对滤波器进行钟差跳变修复,即更新滤波器的状态参数和状态协方差参数;若滤波器未存在钟差跳变,则滤波器可以保持当前的状态参数和状态协方差矩阵。当第一筛选观测数据为多普勒观测数据时,可以通过第一筛选观测信息和预测状态协方差矩阵,对滤波器进行钟漂跳变探测,若探测到滤波器存在钟漂跳变,则对滤波器进行钟漂跳变修复,即更新滤波器的状态参数和状态协方差参数;若滤波器未存在钟漂跳变,则滤波器可以保持当前的状态参数和状态协方差矩阵。一些实施例中,若通过粗差探测处理从第一筛选观测信息中筛选出第三筛选观测信息,则可以基于第三筛选观测信息和预测状态协方差矩阵进行钟差和钟漂跳变探测及修复。在滤波器完成钟差和钟漂跳变探测及修复之后,再对滤波器进行模型验证,即获取滤波器对应的模型验证参数值。
当滤波器的模型验证参数值小于模型验证阈值(即模型验证参数值满足预设的阈值条件,模型验证阈值可以根据实际需求进行设置,本申请对此不做限定)时,可以对模型验证参数进行标准化处理,得到标准化残差矩阵;通过对标准化残差矩阵进行正态分布检验,得到标准化残差矩阵中所包含的每个元素分别对应的检验结果;若标准化残差矩阵中的第l个元素所对应的检验结果不满足检验条件,则确定第l个元素未通过正态分布检验,从第一筛选观测信息中,剔除第l个元素所对应的卫星观测信息,得到第二筛选观测信息;l为小于或等于第一筛选观测信息的数量的正整数。一些实施例中,当模型验证参数值大于或等于模型验证阈值(即模型验证参数值不满足预设的阈值条件)时,则重新设置滤波器的初始状态参数和初始状态协方差矩阵,即重置滤波器。
一些实施例中,若通过粗差探测处理从第一筛选观测信息中筛选出第三筛选观测信息,则可以从第三筛选观测信息中,剔除第l个元素所对应的卫星观测信息,得到第二筛选观测信息,此时的l为小于或等于第三筛选观测信息的数量的正整数。
一些实施例中,在确定第二筛选观测信息后,可以通过第二筛选观测信息、预测状 态参数(即滤波器在当前时刻的状态参数)以及卫星状态信息构建第三观测残差矩阵,将第三观测残差矩阵针对预测状态参数的雅克比矩阵,确定为滤波器对应的测量更新矩阵。在确定终端状态信息时可以获取卫星观测误差因子(即误差调整因子),该卫星观测误差因子也可以称为随机误差模型因子;该卫星观测误差因子可以包括伪距观测随机误差模型因子和多普勒观测随机误差模型因子中的至少一种;伪距观测随机误差模型因子可以用于衡量伪距观测数据与实际数据之间的差异程度,多普勒观测随机误差模型因子可以用于衡量多普勒观测数据与实际数据之间的差异程度。通过卫星观测误差因子和各个卫星对应的随机误差模型(用于估计各个卫星对应的误差),可以构建滤波器对应的测量方差矩阵,该测量方差矩阵可以为具有固定值的矩阵,也可以基于经验模型来确定。
步骤S105,通过测量更新矩阵、第二筛选观测信息、预测状态协方差矩阵以及测量方差矩阵,对滤波器的预测状态参数进行测量更新,得到目标状态参数,根据目标状态参数确定终端对应的终端定位结果。
一些实施例中,通过测量更新矩阵、第二筛选观测信息、预测状态协方差矩阵以及测量方差矩阵,对滤波器的预测状态参数进行测量更新,可以得到目标状态参数和目标状态协方差矩阵。可以将目标状态参数与上一个状态参数之间的差值确定为滤波器对应的滤波器修正量,当该滤波器修正量通过检验(该修正阈值可以根据实际需求或经验进行设置)时,可以通过目标协方差矩阵、测量方差矩阵以及测量更新矩阵,构建滤波器对应的第二残差协方差矩阵;通过第二残差协方差矩阵对第三观测残差矩阵进行正态分布检验,得到第三观测残差矩阵中所包含的每个元素分别对应的检验结果;若第三观测残差矩阵中的每个元素分别对应的检验结果均满足检验条件,则将目标状态参数确定为终端对应的终端定位结果。一些实施例中,本申请实施例中所得到的终端定位结果可以应用在手机终端定位导航应用场景中(例如,电子地图应用),还可以应用在车道级导航应用场景中,可以实现亚米级或车道级定位,其中亚米级定位是指终端定位结果的精度可以达到分米、厘米甚至毫米。
一些实施例中,若滤波器修正量大于或等于修正阈值,则表示滤波器出现故障,需要重置滤波器。若第三观测残差矩阵中存在某个元素未通过检验,则剔除该元素所对应的卫星观测信息,从第二筛选观测信息中确定第四筛选观测信息,通过第四筛选观测信息重新构建测量更新矩阵。
本申请实施例中,可以通过卫星观测信息估计得到终端对应的终端状态信息,通过终端状态信息可以建立滤波器,通过滤波器时间更新和滤波器测量更新两个过程,从卫星观测信息中剔除观测信息粗差,并通过剔除观测信息粗差后的卫星观测信息,确定终端对应的终端定位结果,可以提高终端位置的准确性,实现亚米级或车道级定位,辅助车道级定位导航。
下面通过图4和图5对终端状态信息的确定过程进行详细描述。图4和图5是对上述图1B实施例的步骤S11、图3所对应实施例中的步骤S101的实施方式举例。其中, 当卫星观测信息包括伪距观测数据和多普勒观测数据时,在获取到N(N为正整数)个卫星分别对应的卫星状态信息后,可以对N个伪距观测数据构建如前述公式(1)所示的伪距观测方程,对N个多普勒观测方程构建如前述公式(2)所示的多普勒观测方程。一些实施例中,可以利用抗差加权最小二乘算法和伪距观测方程,估计终端对应的终端位置和终端钟差;利用抗差加权最小二乘算法和多普勒观测方程,估计终端对应的终端速度和终端钟漂,终端位置、终端速度、终端钟差以及终端钟漂可以称为终端状态信息。其中,抗差加权最小二乘算法是通过等价权将抗差估计原理与最小二乘形式有机结合起来,量测值的主体一般是符合正态分布的,最小二乘法(又称最小平方法)是一种数学优化方法。需要说明的是,该抗差加权最小二乘算法仅仅只是本申请实施例所提供的一种举例说明,除抗差加权最小二乘算法之外的其余数学优化方法同样适用,例如牛顿法、随机梯度下降法,本申请对此不做限定。
请参见图4,图4是本申请实施例提供的一种估计终端状态信息中的终端位置和终端钟差的流程示意图。例如图4所示,终端位置和终端钟差的估计过程可以包括以下步骤:
步骤S201,设置估计参数的初始值,即初始的估计运动状态,可以包括初始终端位置和初始终端钟差。
一些实施例中,对于终端所接收到的卫星观测信息中的N个伪距观测信息,可以利用抗差加权最小二乘算法和N个伪距观测信息来估计终端位置和终端钟差。假设估计参数为
Figure PCTCN2023071556-appb-000008
则采用抗差加权最小二乘算法的具体流程可以包括:设置估计参数x u的初始值,即为终端设置初始状态信息,此时的初始状态信息可包括初始终端位置和初始终端钟差,记为
Figure PCTCN2023071556-appb-000009
例如图2所对应实施例中的ru_0和dtr1_0。采用抗差加权最小二乘算法的目的在于不断迭代更新上述估计参数xu,以得到终端位置和终端钟差的估计值。
步骤S202,构建伪距残差矩阵。
一些实施例中,通过卫星观测信息、初始状态信息以及卫星所对应的卫星状态信息,构建终端与卫星之间的卫星观测方程,此时的卫星观测信息包括N个伪距观测数据,初始状态信息可以包括初始终端位置r u,0和初始终端钟差dt r,0,卫星状态信息可包括卫星位置和卫星钟差,因此构建的卫星观测方程其实质上为伪距观测方程。更具体地,可以获取初始终端位置与卫星位置之间的间隔距离,例如||r u,0-r i||(即初始终端位置与卫星i所对应的卫星位置之间的几何距离),以及获取初始终端钟差与卫星钟差之间的钟差差值,例如dt r,0-dt i;根据间隔距离和钟差差值,可以确定终端与卫星之间的第一估计值,例如||r u,0-r i||+c·dt r,0-c·dt ii,通过第一估计值和伪距观测数据,构建终端与卫星之间的伪距观测方程;该伪距观测方程的形式如上述公式(1)所示,只是将上述公式(1)中的ru替换为r u,0,dtr替换为dt r,0。进而可以将该伪距观测方程等式的两边进行相减,可以得到伪距残差矩阵B0,也可以简称为伪距残差矩阵,伪距残差矩阵B0中的元素可以表示为各个伪距观测数据与由初始终端位置、卫星位置、初始终端钟差以及卫星钟差所得到的 估计值之间的残差值。
步骤S203,基于四分位数对伪距残差矩阵进行粗差探测。
一些实施例中,在构建了伪距残差矩阵B0之后,可以基于第一异常检测方法对该伪距残差矩阵B0进行粗差探测,剔除N个伪距观测数据中的伪距观测数据粗差。这里,采用四分位数方法作为第一异常检测方法的例子来说明粗差探测的过程,其它实施例中还可以采用其它异常检测方法进行粗差探测,这里不再赘述。其中,基于四分位数的粗差探测过程在具体的实施过程中可以衍生出许多不同的粗差探测方案,例如针对相同的数据,粗差探测条件不同,所得到的结果也有可能不同,造成不同结果的粗差探测方案应该是不同的,下面以一种基于四分位数的粗差探测方案为例,对该粗差探测过程进行描述。
对伪距残差矩阵B0中的元素按照从小到大的顺序进行排序,得到排序后的伪距残差序列,该排序后的伪距残差序列可以称为第一序列,获取第一序列对应的初始掩码数组mask[N]={0,0,......,0},可以根据第一序列的上四分位数和下四分位数,对第一序列进行粗差探测,例如第一序列中的任一元素小于M 1/4-1.5·(M 3/4-M 1/4)或大于M 3/4+1.5·(M 3/4-M 1/4)时,mask[i]=mask[i]+1,否则不作处理,其中,i为小于N的正整数,此次操作是对初始掩码数组的更新处理过程。其中,M 1/4为第一序列的下四分位数,M 3/4为第一序列的上四分位数。
一些实施例中,将第一序列中的每个元素分别与第一序列的中位数进行相减,将对相减后所得到的结果取绝对值,得到一组新的数据,这组新的数据可以称为第二序列。获取第二序列的下四位数(记为
Figure PCTCN2023071556-appb-000010
)和上四位数(可以记为
Figure PCTCN2023071556-appb-000011
),当第二序列中的元素大于
Figure PCTCN2023071556-appb-000012
且小于
Figure PCTCN2023071556-appb-000013
时,可以将该元素添加到第三序列中,即第二序列中凡是满足上述条件的元素均加入第三序列中,计算第三序列的中位数(记为
Figure PCTCN2023071556-appb-000014
)。当第一序列中的任一元素
Figure PCTCN2023071556-appb-000015
满足
Figure PCTCN2023071556-appb-000016
时,mask[i]=mask[i]+1,否则不作处理,此次操作是对上述更新后的掩码数组再次进行更新处理的过程,此次更新后的掩码数组可以称为目标掩码数组,若目标掩码数组中的第i个元素(即mask[i])大于或等于1,则确定第一序列中的第i个元素所对应的伪距观测数据为粗差,进而剔除该第i个元素所对应的伪距观测数据。若mask[i]=0,则保留第一序列中的第i个元素所对应的伪距观测数据。通过上述粗差探测过程,可以从N个伪距观测数据中剔除一些伪距观测数据粗差,得到剔除粗差后的伪距观测数据,可以称之为第五筛选观测信息。假设第五筛选观测信息包括n1个伪距观测数据,n1为小于或等于N的正整数,当n1小于N时,需要基于第五筛选观测信息重新构建伪距残差矩阵B0,相比于之前的伪距残差矩阵,重新构建的B0的行数量变小了。
一些实施例中,在一种或多种实施例中,可以跳过步骤S203,直接从步骤S202跳转至步骤S204,那么步骤S204以及后续步骤均是在N个伪距观测数据的基础上进行的。若执行完步骤S203后所获取到的伪距观测数据的数量变成了n1个,则步骤S204以及后续步骤均是在n1个伪距观测数据的基础上进行的。为方便描述,本申请实施例中的后续步 骤均以n1个伪距观测数据为基础来执行,后面对此不再进行解释。
步骤S204,计算伪距观测方程关于估计参数的雅克比矩阵。
一些实施例中,假设第k-1迭代的估计参数为
Figure PCTCN2023071556-appb-000017
那么当k为1时,第k-1次迭代的估计参数包括初始终端位置和初始终端钟差,每次迭代的卫星观测方程由该次迭代的估计参数所构建,即第k-1次迭代的伪距观测方程需要将上述公式(1)中的终端位置和终端钟差替换为x u,k-1中的终端位置r u,k-1和终端钟差dt r,k-1,将第k-1次迭代的卫星观测方程(伪距观测方程),针对第k-1次迭代的估计参数的偏导数,确定为第k-1次迭代的雅克比矩阵,根据第k-1次迭代的卫星观测方程可以构建第k-1次迭代的伪距残差矩阵。其中,第k-1次迭代的伪距残差矩阵记为Bk-1,第k-1次迭代的雅克比矩阵记为G ρ,k-1,该雅克比矩阵G ρ,k-1可以如下述公式(3)所示:
Figure PCTCN2023071556-appb-000018
其中,在上述公式(3)中,
Figure PCTCN2023071556-appb-000019
表示第k-1次迭代时,终端至卫星i的单位观测向量。
步骤S205,构建伪距观测方差矩阵。
一些实施例中,若未执行前述步骤S203,或执行完上述步骤S203后未筛选出伪距观测数据粗差,则可以根据观测误差参数、N个卫星所对应的卫星观测信息(伪距观测数据)的信噪比,以及N个卫星分别对应的高度角,确定N个卫星分别对应的卫星观测误差(此处的卫星观测误差可以为伪距随机观测误差模型);进而将N个卫星分别对应的卫星观测误差作为矩阵对角元素,构建第二观测方差矩阵,此时的第二观测方差矩阵可以为N个伪距观测数据所确定的伪距观测方差矩阵。一些实施例中,若执行完上述步骤S203后剔除了伪距观测数据粗差,仅剩下n1个卫星对应的伪距观测数据(此处默认n1小于N),则可以根据观测误差参数、n1个伪距观测数据分别对应的信噪比,以及n1个伪距观测数据所关联的n1个卫星分别对应的高度角,确定n1个卫星分别对应的伪距随机观测误差模型;将n1个卫星分别对应的伪距随机观测误差模型作为矩阵对角元素,构建伪距观测方差矩阵,该伪距观测方差矩阵可以如下述公式(4)所示:
Figure PCTCN2023071556-appb-000020
其中,上述公式(4)中的W ρ,k-1表示第k次迭代的伪距观测方差矩阵,σ ρi表示卫星i对应的伪距观测随机误差模型(卫星观测误差),σ ρi可以如下述公式(5)所示:
Figure PCTCN2023071556-appb-000021
其中,CN0 i为卫星i的伪距观测值的信噪比,el i表示卫星i的高度角,δ ρ为伪距观测参数,该参数可以根据实际需求进行设置,例如δ ρ可以设置为3 2,本申请对此不做限定。
需要说明的是,伪距观测方差矩阵是一个具有固定数值的矩阵,在估计参数xu的迭代更新过程中,若所使用的伪距观测数据未发生变更,则该伪距观测方差矩阵保持不变;若从伪距观测数据中探测出伪距观测数据粗差,并剔除了该伪距观测数据粗差,则表示伪距观测数据发生了变更,因此可以重新构建伪距观测方差矩阵,即删除伪距观测数据粗差所对应卫星的卫星观测误差;剔除的伪距观测数据粗差越多,伪距观测方差矩阵的行数就越少。
步骤S206,计算估计参数修正量,并更新估计参数值。
一些实施例中,可以根据第k-1次迭代的雅克比矩阵G ρ,k-1、第k-1次迭代的伪距残差矩阵(即上述Bk-1)以及第二观测方差矩阵(即伪距观测方差矩阵W ρ,k-1),获取第k-1次迭代的状态信息修正量(也可以称为估计参数修正量),第k-1次迭代的状态信息修正量可以如下述公式(6)所示:
Figure PCTCN2023071556-appb-000022
其中,Δx ρ,k-1表示第k-1次迭代的状态信息修正量,也称为第k-1次迭代的估计参数修正量,B k-1为第k-1次迭代的伪距残差矩阵,例如下述公式(7)所示:
Figure PCTCN2023071556-appb-000023
其中,根据第k-1次迭代的状态信息修正量可以对估计参数xu进行更新,更新过程如下述公式(8)所示:
x u,k=x u,k-1+Δx ρ,k-1         (8)
其中,x u,k为第k次迭代的估计参数,对于每次迭代计算得到的状态信息修正量,均需要判断其是否达到收敛,例如在计算得到第k-1次迭代的状态信息修正量Δx ρ,k-1后,同样需要对其进行收敛性判断,若Δx ρ,k-1未达到收敛,则将第k次迭代的估计参数作为下一次迭代(第k+1次迭代)的初始值,重复执行步骤S201-步骤S206。若Δx ρ,k-1达到收敛,则继续执行后续步骤S207。
步骤S207,计算卡方检验统计量。
一些实施例中,当第k-1次迭代的状态信息修正量(即Δx ρ,k-1)达到收敛时,将第k-1次迭代的估计参数和第k-1次迭代的状态信息修正量之和,确定为第k次迭代的估计参数,即基于上述公式(8)得到第k次迭代的估计参数
Figure PCTCN2023071556-appb-000024
并对此时的结算结果进行卡方检验;根据第k次迭代的卫星观测方程构建第k次迭代的伪距残差矩阵(即上 述B k),将第k次迭代的伪距残差矩阵对应的转置矩阵、伪距观测方差矩阵对应的逆矩阵,以及第k次迭代的伪距残差矩阵之间的乘积,确定为检验统计量s。其中,Δx ρ,k-1达到收敛的条件可以为||Δx ρ,k-1||<10 -4,此处的10-4可以为根据实际需要所设置的值,本申请其具体取值不做限定;检验统计量s可以如下述公式(9)所示:
Figure PCTCN2023071556-appb-000025
其中,B k的表示形式如下述公式(10)所示:
Figure PCTCN2023071556-appb-000026
需要说明的是,由于B k是在进行卡方检验时的伪距残差矩阵,因此也可以称其为验后残差矩阵。
若检验统计量s小于检验阈值(可以根据实际需求进行设置),则执行步骤S211和步骤S212,例如将第k次迭代的估计参数
Figure PCTCN2023071556-appb-000027
确定为终端对应的终端状态信息中的终端位置和终端钟差。若检验统计量s大于或等于检验阈值,则执行后续步骤S208至步骤S210,即通过计算得到的验后残差协方差矩阵(可以称为第一残差协方差矩阵)对验后残差矩阵(即上述B k)进行正态分布检验,剔除未通过正态分布检验的伪距观测数据。
步骤S208,计算验后残差协方差矩阵。
一些实施例中,若检验统计量s大于或等于检验阈值,则根据第k-1次迭代的雅克比矩阵G ρ,k-1、第二观测方差矩阵(即伪距观测方差矩阵W ρ,k-1),构建验后残差协方差矩阵,残差协方差矩阵可以如下述公式(11)所示:
Figure PCTCN2023071556-appb-000028
其中,C B表示验后残差协方差矩阵。
步骤S209,根据验后残差协方差矩阵对验后残差矩阵进行正态分布检验。
步骤S210,剔除未通过正态分布检验的伪距观测数据。
一些实施例中,通过第一残差协方差矩阵(验后残差协方差矩阵)对第k次迭代的伪距残差矩阵(验后残差矩阵,即执行过卡方检验的伪距残差矩阵B k)进行正态分布检验,得到第k次迭代的伪距残差矩阵中的每个元素分别对应的检验结果;若第k次迭代的伪距残差矩阵中的第i个元素所对应的检验结果不满足检验条件,则确定第i个元素未通过正态分布检验,剔除第i个元素所关联的伪距观测数据;i为小于或等于伪距观测数据的数量的正整数;将剔除第i个元素所关联的伪距观测数据后所剩余的伪距观测数据作为卫星观测信息,将第k次迭代的估计参数作为初始状态信息,重新从上述步骤S201开始执行,即开始执行下一个迭代周期。其中,迭代周期是通过是否收敛来判断的,例如,估计参数在第10次迭代时达到收敛,但此时的解算信息未通过卡方检验,则可以将第1次迭代至 第10次迭代作为第一个迭代周期,估计参数在第25次迭代时再次达到收敛,则第11次迭代至第25次迭代作为第二个迭代周期,并以此类推,直至达到收敛并通过卡方检验。不同的迭代周期所包含的迭代次数可以相同,也可以不同,不同迭代周期中所使用的伪距观测数据可以相同,也可以不同,通常情况下是不同的。
其中,对验后残差矩阵(即B k)进行正态分布检验的过程如下述公式(12)所示:
Figure PCTCN2023071556-appb-000029
其中,公式(12)中的N(α)为置信度为α的正态分布上分位数,
Figure PCTCN2023071556-appb-000030
表示B k中的第i个元素。
步骤S211,自适应估计伪距观测随机误差模型因子。
一些实施例中,当检验统计量s小于检验阈值时,可以自适应估计伪距观测随机误差模型因子,也可以称为伪距观测误差因子,该伪距观测随机误差模型因子可以如下述公式(13)所示:
Figure PCTCN2023071556-appb-000031
其中,
Figure PCTCN2023071556-appb-000032
表示为伪距观测随机误差模型因子,该
Figure PCTCN2023071556-appb-000033
为检验统计量s小于检验阈值时,使用该检验统计量s与B k中所包含的伪距观测数据的数量,也可以是指B k的行数量。
步骤S212,输出终端位置、伪距观测随机误差模型因子和剔除伪距观测数据信息。
一些实施例中,当检验统计量s小于检验阈值时,可以将第k次迭代的估计参数作为终端对应的终端位置,还可以输出伪距观测随机误差模型因子
Figure PCTCN2023071556-appb-000034
以及剔除了部分伪距观测数据粗差后所得到的剩余伪距观测数据,这些剩余的伪距观测数可以称为伪距筛选数据。换言之,伪距筛选数据为B k所包含的伪距观测数据。
请参见图5,图5是本申请实施例提供的一种估计终端状态信息中的终端速度和终端钟漂的流程示意图。例如图5所示,终端速度和终端钟漂的估计过程可以包括以下步骤:
步骤S301,设置估计参数的初始值,即初始终端速度和初始终端钟漂。
一些实施例中,对于终端所接收到的卫星观测信息中的N个多普勒观测信息,可以利用抗差加权最小二乘算法和N个多普勒观测信息来估计终端速度和终端钟漂。假设估计参数为
Figure PCTCN2023071556-appb-000035
则采用抗差加权最小二乘算法的具体流程可以包括:设置估计参数y u的初始值,即为终端设置初始状态信息,此时的初始状态信息可包括初始终端速度和初始终端钟漂,记为
Figure PCTCN2023071556-appb-000036
例如图2所对应实施例中的vu_0和dtr2_0。采用抗差加权最小二乘算法的目的在于不断迭代更新上述估计参数y u,估计终端对应的终端速度和终端钟漂。
步骤S302,构建多普勒残差矩阵。
一些实施例中,通过卫星观测信息、初始状态信息以及卫星所对应的卫星状态信息,构建终端与卫星之间的卫星观测方程,此时的卫星观测信息包括N个多普勒观测数据,初 始状态信息可以包括初始终端速度v u,0和初始终端钟差
Figure PCTCN2023071556-appb-000037
卫星状态信息可包括卫星速度和卫星钟漂,因此构建的卫星观测方程其实质上为多普勒观测方程。更具体地,可以获取初始终端速度与卫星速度之间的速度差值,以及获取终端与卫星之间的单位观测值,例如
Figure PCTCN2023071556-appb-000038
获取初始终端钟漂与卫星钟漂之间的钟漂差值,根据速度差值与单位观测值之间的乘积,以及钟漂差值,确定终端与卫星之间的第二估计值,例如
Figure PCTCN2023071556-appb-000039
Figure PCTCN2023071556-appb-000040
通过卫星播发信号的波长和多普勒观测数据之间的乘积,以及第二估计值,构建终端与卫星之间的多普勒观测方程;该多普勒观测方程的形式如上述公式(2)所示,只是将上述公式(2)中的vu替换为v u,0
Figure PCTCN2023071556-appb-000041
替换为
Figure PCTCN2023071556-appb-000042
进而可以将该多普勒观测方程等式的两边进行相减,可以得到多普勒残差矩阵,也可以简称为多普勒残差矩阵。
步骤S303,基于四分位数对伪距残差矩阵进行粗差探测。
步骤S304,计算多普勒观测方程关于估计参数的雅克比矩阵。
步骤S305,构建多普勒观测方差矩阵。
步骤S306,计算估计参数修正量,并更新估计参数值。
步骤S307,计算卡方检验统计量。
步骤S308,计算验后残差协方差矩阵。
步骤S309,根据验后残差协方差矩阵对验后残差矩阵进行正态分布检验。
步骤S310,剔除未通过正态分布检验的多普勒观测数据。
步骤S311,自适应估计多普勒观测随机误差模型因子。
步骤S312,输出终端速度、多普勒观测随机误差模型因子和剔除多普勒观测数据信息。
其中,步骤S303至步骤S312的具体实现过程是基于抗差加权最小二乘算法对估计参数yu的更新过程,其算法流程与上述图4所对应实施例中利用伪距观测信息估计终端位置的流程类似,这里不再进行赘述。需要说明的是,利用抗差加权最小二乘算法对N个多普勒观测数据进行处理,可以输出终端速度、多普勒观测随机误差模型因子
Figure PCTCN2023071556-appb-000043
(也可以称为多普勒观测误差因子,该普勒观测误差因子与前述伪距观测误差因子统称为卫星观测误差因子)以及剔除了部分多普勒观测数据粗差所剩余的多普勒观测数据,这些剩余的多普勒观测数据可以称为多普勒筛选数据。该多普勒筛选数据和前述伪距筛选数据可以称为第一筛选观测信息;通过伪距观测数据估计的终端位置和终端钟差,以及通过多普勒观测数据估计的终端速度和终端钟漂可以统称为终端对应的终端状态信息。
本申请实施例中,通过抗差加权最小二乘算法估计终端的终端位置和终端速度,可以为建立滤波器提供了更为准确的初始状态参数,可以提高终端的定位准确性。
请参见图6,图6是本申请实施例提供的一种终端定位方法的流程示意图。该终端定位方法可以由计算机设备执行,该计算机设备可以为集成了卫星定位设备的电子设备,例如图1A所示用户终端集群中的任一用户终端,或任一需要进行定位的终端。本申请实施例以卫星观测信息包括伪距观测数据和多普勒观测数据、状态预测模型和状态调整模型 由稳健卡尔曼滤波器实现为例进行详细说明,例如图4所示,该终端定位方法可以包括以下步骤。
步骤S401,基于抗差加权最小二乘和卫星观测信息估计终端状态信息。
步骤S401的具体实现过程可以参见上述图4和图5所对应实施例中的描述,在此不再进行赘述。
步骤S402,由终端状态信息建立稳健卡尔曼滤波器。
一些实施例中,当稳健卡尔曼滤波器已经完成了初始化处理,则无需执行步骤S402,直接执行后续步骤S403。当稳健卡尔曼滤波器未初始化时,可以将终端状态信息中的终端位置、终端速度、终端钟差以及终端钟漂,设置为稳健卡尔曼滤波器(滤波器)的初始状态参数,即
Figure PCTCN2023071556-appb-000044
通过伪距筛选数据对应的信噪比,以及伪距筛选数据所对应卫星的高度角,构建伪距观测方差矩阵,记为W ρt,通过多普勒筛选数据对应的信噪比,以及多普勒筛选数据所对应卫星的高度角,构建多普勒观测方差矩阵,记为
Figure PCTCN2023071556-appb-000045
通过伪距观测方差矩阵、由终端位置和终端钟差所确定的卫星观测误差因子(即伪距观测随机误差模型因子
Figure PCTCN2023071556-appb-000046
也可以称为伪距观测误差因子),以及由伪距筛选数据、终端位置、终端钟差所确定的雅克比矩阵,记为G ρt,构建位置协方差矩阵;通过多普勒观测方差矩阵,由终端速度和终端钟漂所确定的卫星观测误差因子(即多普勒距观测随机误差模型因子
Figure PCTCN2023071556-appb-000047
也可以称为多普勒观测误差因子),以及由多普勒筛选数据、终端速度、终端钟漂所确定的雅克比矩阵
Figure PCTCN2023071556-appb-000048
构建速度协方差矩阵;将位置协方差矩阵和速度协方差矩阵所构成的对角线矩阵,确定为滤波器对应的初始状态协方差矩阵。其中,初始状态协方差矩阵是由抗差加权最小二乘算法计算得到的,其表示形式如下述公式(14)所示:
Figure PCTCN2023071556-appb-000049
其中,p(0)为初始状态协方差矩阵,diag表示对角线矩阵,
Figure PCTCN2023071556-appb-000050
为位置协方差矩阵,
Figure PCTCN2023071556-appb-000051
为速度协方差矩阵,位置协方差矩阵
Figure PCTCN2023071556-appb-000052
如下述公式(15)所示,速度协方差矩阵
Figure PCTCN2023071556-appb-000053
可以如下述公式(16)所示:
Figure PCTCN2023071556-appb-000054
Figure PCTCN2023071556-appb-000055
其中,G ρt为终端接收到的伪距观测数据进行抗差加权最小二乘估计后所得到的雅克比矩阵,即第一筛选观测信息中的伪距筛选数据所确定的雅克比矩阵;
Figure PCTCN2023071556-appb-000056
为终端接收到的多普勒观测数据进行抗差加权最小二乘估计后所得到的雅克比矩阵,即第一筛选观测信息中的多普勒筛选数据所确定的雅克比矩阵;W ρt为第一筛选观测信息中的伪距筛选数据所对应的伪距测量方差矩阵,
Figure PCTCN2023071556-appb-000057
为第一筛选观测信息中的多普勒筛选数据所对应的多普勒观测方差矩阵;
Figure PCTCN2023071556-appb-000058
为伪距观测随机误差模型因子,也称为伪距观测误差因子,
Figure PCTCN2023071556-appb-000059
为多普勒观测随机误差模型因子,也称为多普勒观测误差因子,I 3为单位矩阵。
步骤S403,根据历史状态信息估计滤波器系统噪声,也即状态预测模型针对至少一个运动状态参数的预测误差信息。
一些实施例中,请参见图7,图7是本申请实施例提供的一种滤波器系统噪声自适应估计的示意图。例如图7所示,滤波器系统噪声自适应估计可以包括速度系统噪声估计、钟漂系统噪声估计以及钟差系统噪声估计,速度系统噪声估计是通过历史终端速度信息来实现的,该历史终端速度信息可以为一个历史终端速度序列,历史钟差信息可以为一个历史终端钟差序列,历史钟漂信息可以为一个历史终端钟漂序列。
一些实施例中,可以获取终端对应的历史状态信息中的历史终端速度序列、历史终端钟漂序列以及历史终端钟差序列;历史终端速度序列、历史终端钟漂序列以及历史终端钟差序列均是通过尺寸为p的时间滑动窗口所确定的,p为正整数;上述历史状态信息可以是指在抗差加权最小二乘的更新迭代过程中所产生的状态信息。其中,历史终端速度序列可以如公式(17)所示:
T v(p)={v u(t 1),v u(t 2),v u(t 3),......,v u(t p)}      (17)
其中,T v(p)表示历史终端速度序列,表示连续p个时刻所保存的历史终端速度,v u(t 1)表示为t 1时刻的终端速度;历史终端钟漂序列可以如公式(18)所示:
Figure PCTCN2023071556-appb-000060
其中,
Figure PCTCN2023071556-appb-000061
表示历史终端钟漂序列,表示连续p个时刻所保存的历史终端钟漂;历史终端钟差序列可以如公式(19)所示:
dtr(p)={dtr(t 1),dtr(t 2),dtr(t 3),......,dtr(t p)}      (19)
其中,dtr(p)表示历史终端钟差序列,表示连续p个时刻所保存的历史终端钟差。
其中,例如图7所示的速度系统噪声估计可以包括:获取历史终端速度序列对应的第一方差值,记为σ v(p),将第一方差值和相邻历元的时间差之间的乘积,确定为滤波器对应的速度系统噪声;其中,第一方差值可以如下述公式(20)所示:
Figure PCTCN2023071556-appb-000062
其中,滤波器的速度系统噪声可以采用谱密度PSD v进行表示,谱密度PSD v如下述公式(21)所示:
PSD v=(σ v(p)) 2·dt        (21)
其中,dt表示相邻历元的时间差。
其中,例如图7所示的钟漂系统噪声估计可以包括:获取历史终端钟漂序列对应的第二方差值,记为
Figure PCTCN2023071556-appb-000063
将第二方差值和相邻历元的时间差dt之间的乘积,确定为滤波器对应的钟漂系统噪声;其中,第二方差值可以如下述公式(22)所示:
Figure PCTCN2023071556-appb-000064
其中,滤波器的钟漂系统噪声可以采用谱密度
Figure PCTCN2023071556-appb-000065
进行表示,谱密度
Figure PCTCN2023071556-appb-000066
如下述公式(23)所示:
Figure PCTCN2023071556-appb-000067
其中,例如图7所示的钟差系统噪声估计包括:获取历史终端钟差序列对应的第三方差值,记为σ dtr(p),将第三方差值和相邻历元的时间差之间的乘积,确定为滤波器对应的钟差系统噪声;其中,第三方差值可以如下述公式(24)所示:
Figure PCTCN2023071556-appb-000068
其中,滤波器的钟差系统噪声可以采用谱密度PSD dtr进行表示,例如下述公式(25)所示:
PSD dtr=(σ dtr(p)) 2·dt      (25)
进而可以将速度系统噪声、钟漂系统噪声以及钟差系统噪声确定为滤波器对应的滤波器系统噪声,即滤波器系统噪声包括上述谱密度PSDv,谱密度
Figure PCTCN2023071556-appb-000069
以及谱密度PSD dtr
一些实施例中,在完成滤波器系统噪声估计后,可以对稳健卡尔曼滤波器进行时间更新,例如可以通过相邻历元的时间差构建滤波器(稳健卡尔曼滤波器)的状态转移矩阵,利用状态转移矩阵和滤波器的初始状态参数预测该预测状态参数。例如,滤波器时间更新过程中状态参数的更新方式为:下一个状态参数是上一个状态参数与状态转移矩阵的乘积。利用状态转移矩阵、滤波器系统噪声和滤波器的初始状态协方差矩阵预测该预测状态协方差矩阵。
其中,滤波器时间更新过程中状态协方差矩阵的更新方式可以包括:当预测状态协方差矩阵为滤波器中的初始状态协方差矩阵在t时刻的状态协方差矩阵时,那么上述预测状态参数同样为初始状态参数在t时刻的状态参数,t为正整数;可以通过滤波器系统噪声以及相邻历元的时间差所对应的指数信息,构建噪声协方差矩阵;进而获取滤波器在t-1时刻的状态协方差矩阵;t为1时,滤波器在t-1时刻的状态协方差矩阵为初始状态协方差矩阵;将状态转移矩阵、t-1时刻的状态协方差矩阵以及状态转移矩阵对应的转置矩阵之间的乘积,与噪声协方差矩阵进行求和运算,得到预测协方差矩阵。假设滤波器在t-1时刻的状态方差矩阵为P(t-1),则在t时刻,滤波器的状态协方差矩阵P(t)可以如下述公式(26)所示:
P(t)=F(t-1)·P(t-1)·F T(t-1)+Q(t-1)      (26)
其中,F(t-1)为状态转移矩阵,Q(t-1)为噪声协方差矩阵,该状态转移矩阵F(t-1)可以如公式(27)所示:
Figure PCTCN2023071556-appb-000070
其中,τ d为马尔科夫过程的相关时间,通常为经验值,例如5秒、20秒、50秒,等。噪声协方差矩阵Q(t-1)可以如公式(28)所示:
Figure PCTCN2023071556-appb-000071
在t时刻,滤波器的状态参数x(t)=F(t-1)·x(t-1),通过该公式可以实现对滤波器状态参数的时间更新过程,通过上述公式(26)至公式(28),可以实现对滤波器状态协方差矩阵的时间更新过程,完成时间更新后滤波器的状态参数称为预测状态参数,滤波器的状态协方差矩阵的预测状态协方差矩阵。
步骤S404,根据抗差加权最小二乘解算信息自适应估计卫星观测信息随机误差模型(也可以称为卫星观测误差)。
一些实施例中,卫星观测信息随机误差模型可以包括伪距观测随机误差模型和多普勒观测随机误差模型,卫星观测信息随机误差模型可以如下述公式(29)所示:
Figure PCTCN2023071556-appb-000072
其中,σ ρ表示伪距观测随机误差模型,δ ρ表示伪距观测数据对应的观测误差参数,
Figure PCTCN2023071556-appb-000073
表示多普勒观测随机误差模型,
Figure PCTCN2023071556-appb-000074
表示伪距观测数据对应的观测误差参数,δ ρ
Figure PCTCN2023071556-appb-000075
可以根据经验或实际需求进行调整,例如δ ρ=3 2
Figure PCTCN2023071556-appb-000076
CN0表示卫星观测信息的信噪比,el表示卫星的高度角。通过伪距观测随机误差模型因子
Figure PCTCN2023071556-appb-000077
(伪距观测误差因子)可以对伪距观测随机误差模型τ ρ进行自适应调节,通过多普勒观测随机误差模型因子
Figure PCTCN2023071556-appb-000078
对多普勒观测随机误差模型
Figure PCTCN2023071556-appb-000079
进行自适应调节,例如下述公式(27)所示:
Figure PCTCN2023071556-appb-000080
步骤S405,利用抗差加权最小二乘解算信息初步剔除卫星观测信息粗差,得到第一筛选观测信息。
一些实施例中,利用抗差加权最小二乘解算信息剔除卫星观测信息粗差,所得到的剩余卫星观测信息可以称为第一筛选观测信息(即当前更新后的定位信息集合)。第一筛选观测信息的确定过程可以参见上述图4所对应实施例中的步骤S203和步骤S211中的描 述,这里不再进行赘述。如果在步骤S401中已经进行了粗差剔除,本步骤S405可以跳过。
步骤S406,对第一筛选观测信息构建卫星观测残差矩阵,即第一观测残差矩阵。
一些实施例中,通过抗差加权最小二乘解算信息获取到第一筛选观测信息后,此时的第一筛选观测信息即为剔除粗差后的卫星观测信息。可以理解的是,此处的第一筛选观测信息虽然为剔除粗差后的卫星观测信息,但是并不表示第一筛选观测信息已经不含有观测信息粗差,只能理解为到当前步骤为止,已经剔除了所有探测出来的观测信息粗差,至于第一筛选观测信息中还有没有观测信息粗差,可以通过后续步骤来进行探测。
通过第一筛选观测信息和预测状态参数(即预测运动状态)可以构建卫星观测残差矩阵,即获得当前的(剔除粗差后的)卫星观测信息相对预测运动状态的偏差数据,此处的卫星观测残差矩阵可以称为第一观测残差矩阵。由于第一筛选观测信息包括伪距观测数据和多普勒观测数据,因此通过第一筛选观测信息可以构建两个卫星观测残差矩阵,即第一观测残差矩阵可以包括多普勒残差矩阵和伪距残差矩阵。假设第一筛选观测信息包括sn个伪距观测数据,sn为小于或等于N的正整数,则通过sn个伪距观测数据所构建的卫星观测方程可以如下述公式(31)所示:
Figure PCTCN2023071556-appb-000081
由上述公式(31)所示的卫星观测方程可以构建第一观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000082
该伪距残差矩阵
Figure PCTCN2023071556-appb-000083
可以如下述公式(32)所示:
Figure PCTCN2023071556-appb-000084
一些实施例中,假设第一筛选观测信息中所包含qn个多普勒观测数据,qn为小于或等于N的正整数,则通过qn个多普勒观测数据所构建的卫星观测方程可以如下述公式(33)所示:
Figure PCTCN2023071556-appb-000085
由上述公式(33)所示的卫星观测方程可以构建第一观测残差矩阵中的多普勒残差矩阵
Figure PCTCN2023071556-appb-000086
该多普勒残差矩阵
Figure PCTCN2023071556-appb-000087
可以如下述公式(34)所示:
Figure PCTCN2023071556-appb-000088
一些实施例中,可以利用异常值检测从上述卫星观测残差矩阵,即卫星观测信息相对预测运动状态的偏差数据,中剔除检测出的异常观测信息。例如,当检测出至少一个卫星的卫星观测信息对应的残差数据为异常值,则从上述卫星观测残差矩阵和第一筛选观测信息(即当前的定位信息集合)中剔除该至少一个卫星对应的数据,从而更新上述卫星观测残差矩阵和定位信息集合,后续步骤中使用的伪距残差矩阵、多普勒残差矩阵和第一筛选观测信息均可以是本步骤对残差矩阵进行异常值检测和剔除后,得到的更新后的伪距残差矩阵、多普勒残差矩阵和第一筛选观测信息。
下面进行时钟跳变检测和修复,可以包括钟差跳变的检测和修复,以及钟漂跳变的检测和修复。
步骤S407,基于伪距残差矩阵进行钟跳探测和修复。
一些实施例中,当上述公式(32)所示的伪距残差矩阵
Figure PCTCN2023071556-appb-000089
满足下述公式(35)所示的关系式时,可以采用下述公式(36)所示的方式进行钟差跳变探测,即:
Figure PCTCN2023071556-appb-000090
Figure PCTCN2023071556-appb-000091
其中,
Figure PCTCN2023071556-appb-000092
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000093
的绝对中位差,
Figure PCTCN2023071556-appb-000094
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000095
的中位数,
Figure PCTCN2023071556-appb-000096
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000097
的标准差,
Figure PCTCN2023071556-appb-000098
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000099
的平均值,θ m和θ clk为钟差探测阈值,例如将θ m称为第一钟差探测阈值,将θ clk称为第二钟差探测阈值,
Figure PCTCN2023071556-appb-000100
表示滤波器在t时刻的状态协方差矩阵第j clk行第j clk列元素,此时t时刻的状态协方差矩阵可以为预测状态协方差矩阵,jump clk为钟差跳变值,
Figure PCTCN2023071556-appb-000101
为钟差探测数值。
步骤S408,基于伪距残差矩阵计算钟差跳变值并修复钟差。
一些实施例中,当jump clk为零时不作处理,表示没有出现钟差跳变;当jump clk等于1时则表示探测到钟差跳变,可以采用下述公式(37)所示的方式修复钟差跳变并重置滤波器,即重新设置滤波器的状态参数和状态协方差矩阵,例如:
Figure PCTCN2023071556-appb-000102
其中,SQR(100.0)表示对100进行开方。
步骤S409,基于多普勒残差矩阵进行钟漂跳变探测和修复。
一些实施例中,与上述钟差跳变探测处理过程类似,通过公式(34)所示的多普勒残差矩阵
Figure PCTCN2023071556-appb-000103
进行钟漂跳变探测和修复,钟漂跳变探测方法与钟差跳变探测方法相同(即上述公式(35)和公式(36)),此处不再进行赘述。
步骤S410,基于多普勒残差矩阵计算钟漂跳变值并修复钟漂。
一些实施例中,当探测到钟漂跳变时,可以采用下述公式(38)所示的方式修复钟漂跳变并重置滤波器,即重新设置滤波器的状态参数和状态协方差矩阵,例如:
Figure PCTCN2023071556-appb-000104
其中,j dclk为钟漂在滤波器状态参数z(t)的位置。
步骤S411,计算滤波器模型验证参数值,并对稳健卡尔曼滤波器进行验证和修复。
一些实施例中,在完成钟差和钟漂跳变探测后,可以计算滤波器模型验证参数值,通过该模型验证参数值来判断稳健卡尔曼滤波器系统是否存在故障。该模型验证参数值可以包括伪距模型验证参数值和多普勒模型验证参数值,模型验证参数值如下述公式(39)所示:
Figure PCTCN2023071556-appb-000105
其中,β ρ为伪距模型验证参数值,
Figure PCTCN2023071556-appb-000106
为多普勒模型验证参数值,P(t)为t时刻滤波器的状态协方差矩阵,G ρt为伪距残差矩阵
Figure PCTCN2023071556-appb-000107
关于滤波器状态参数的雅克比矩阵,
Figure PCTCN2023071556-appb-000108
为多普勒残差矩阵
Figure PCTCN2023071556-appb-000109
关于滤波器状态参数的雅克比矩阵。换言之,此时的模型验证参数值是由第一筛选观测信息所构建的第一观测残差矩阵(包括伪距残差矩阵
Figure PCTCN2023071556-appb-000110
和多普勒残差矩阵
Figure PCTCN2023071556-appb-000111
)、第一观测残差矩阵关于滤波器状态参数(例如预测状态参数)的雅克比矩阵(包括雅克比矩阵G ρt和雅克比矩阵
Figure PCTCN2023071556-appb-000112
)、滤波器的状态协方差矩阵P(t)以及第一筛选观测信息相关联的第一观测方差矩阵(包括伪距观测方差矩阵W ρt和多普勒观测方差矩阵
Figure PCTCN2023071556-appb-000113
)构建得到。
当滤波器的模型验证参数值小于模型验证阈值时,可以继续执行下述步骤S412,当滤波器的模型验证参数值大于或等于模型验证阈值时,表示该滤波器出现故障,需要重置滤波器,重复执行上述步骤S402,即重新设置滤波器的初始状态参数和初始状态协方差矩阵。
步骤S412,基于正态分布检验剔除卫星观测信息粗差,得到第二筛选观测信息。
一些实施例中,当滤波器的模型验证参数值小于模型验证阈值时,可以基于第一观测残差矩阵和正态分布检验对第一筛选观测信息进行粗差探测,从第一筛选观测信息中剔除导致滤波器发散的卫星观测信息粗差,得到更新后的第一筛选观测信息。例如,可以对模型参数值进行标准化处理,得到标准化残差矩阵,此处的标准化残差矩阵可以称为第一标准化残差矩阵,第一标准化残差矩阵可以包括伪距标准化残差矩阵和多普勒标准化残差矩阵,该第一标准化残差矩阵可以如下述公式(40)所示:
Figure PCTCN2023071556-appb-000114
其中,b ρ表示第一标准化残差矩阵中的伪距标准化残差矩阵,
Figure PCTCN2023071556-appb-000115
表示第一标准化残差矩阵中的多普勒标准化残差矩阵。
一些实施例中,可以对第一标准化残差矩阵进行正态分布检验,得到第一标准化残差矩阵中所包含的每个元素分别对应的检验结果,此时的检验结果如下述公式(41)所示:
Figure PCTCN2023071556-appb-000116
其中,公式(41)中的b ρ,l表示伪距标准化残差矩阵b ρ中的第l个元素,l为小于或等于第一筛选观测信息的数量的正整数,ω ρ表示伪距标准化残差矩阵b ρ中第l个元素所对应的检验结果;
Figure PCTCN2023071556-appb-000117
表示多普勒标准化残差矩阵
Figure PCTCN2023071556-appb-000118
中的第l个元素,
Figure PCTCN2023071556-appb-000119
表示多普勒标准化残差矩阵
Figure PCTCN2023071556-appb-000120
中第l元素所对应的检验结果。
当ω ρ大于或等于给定的阈值(此时的阈值可以称为第一正态分布检验阈值)时,表明伪距标准化残差矩阵b ρ中的第l个元素不满足检验条件(此时的检验条件为:小于第一正态分布检验阈值),将伪距标准化残差矩阵b ρ中的第l个元素所对应的伪距观测数据为伪距观测数据粗差,并剔除该伪距观测数据粗差;当ω ρ小于第一正态分布检验阈值时,表示表明伪距标准化残差矩阵b ρ中的第l个元素满足检验条件,保留伪距标准化残差矩阵b ρ中第l个元素所对应的伪距观测数据,通过上述公式(41)可以剔除第一筛选观测信息所包含的伪距筛选数据中的伪距观测数据粗差,得到不含伪距观测数据粗差的伪距观测数据,可以将其称为候选伪距观测数据。当
Figure PCTCN2023071556-appb-000121
大于或等于给定的阈值(此时的阈值可以称为第二正态分布检验阈值)时,表明多普勒标准化残差矩阵
Figure PCTCN2023071556-appb-000122
中的第l个元素不满足检验条件(此时的检验条件为:小于第二正态分布检验阈值),将多普勒标准化残差矩阵
Figure PCTCN2023071556-appb-000123
中第l个元素所对应的多普勒观测数据为多普勒观测数据粗差,并剔除该多普勒观测数据粗差;当
Figure PCTCN2023071556-appb-000124
小于第二正态分布检验阈值时,表示表明多普勒标准化残差矩阵
Figure PCTCN2023071556-appb-000125
中的第l个元素满足检验条件,保留多普勒标准化残差矩阵
Figure PCTCN2023071556-appb-000126
中第l个元素所对应的多普勒观测数据,通过上述公式(41)可以剔除第一筛选观测信息所包含的多普勒筛选数据中的多普勒观测数据粗差, 得到不含多普勒观测数据粗差的多普勒观测数据,可以将其称为候选多普勒观测数据;其中,上述第一正态分布检验阈值和第二正态分布检验阈值都可以是根据实际需求所确定的数值,本申请对此不再进行赘述。至此,完成了对滤波器的模型验证和修复,将前述候选伪距观测数据和候选多普勒观测数据确定为第二筛选观测信息(也即当前的卫星观测信息)。
步骤S413,由第二筛选观测信息构建测量更新矩阵。
一些实施例中,可以通过上述得到的第二筛选观测信息构建第三观测残差矩阵,第三观测残差矩阵的表现形式可以参见上述公式(32)和上述公式(34),只是上述公式(32)和上述公式(34)是由第一筛选观测信息所创建的,而第三观测残差矩阵是由第二筛选观测信息构建而成;进而可以将第三观测残差矩阵关于滤波器当前状态参数(例如,预测状态参数)的雅克比矩阵,确定为滤波器的测量更新矩阵。其中,由于第二筛选观测信息包括伪距观测信息和多普勒观测数据,因此第三观测残差矩阵可以包括伪距残差矩阵和多普勒残差矩阵,测量更新矩阵也可以包括伪距测量更新矩阵和多普勒测量更新矩阵。
步骤S414,由自适应估计得到的卫星观测信息随机误差模型构建测量方差矩阵。
一些实施例中,可以通过前述自适应估计得到的卫星观测信息随机误差模型(也可以称为卫星观测误差)构建测量方差矩阵,该卫星观测信息随机误差模型如前述公式(30)所示,测量方差矩阵可以是由公式(30)所示的卫星观测信息随机误差模型所确定的经验值构成的矩阵,即测量方差矩阵为针对滤波器的固定数值矩阵,在保证测量方差矩阵与卫星观测信息随机误差模型相关联的前提下,该测量观测矩阵中的具体取值可以基于实际需求来设置,本申请对此不做限定。其中,由于卫星观测信息随机误差模型包括伪距观测随机误差模型和多普勒观测随机误差模型,因此滤波器对应的测量方差矩阵可以包括伪距测量方差矩阵和多普勒测量方差矩阵。
步骤S415,由测量更新矩阵和测量方差矩阵修正终端运动状态。
一些实施例中,可以通过测量更新矩阵和测量更新矩阵对终端运动状态进行修正,即更新滤波器的状态参数。其中,对于第二筛选观测信息中的伪距观测数据,滤波器的状态参数可以按照下述公式(42)进行更新:
Figure PCTCN2023071556-appb-000127
其中,x(a)表示滤波器针对第a个时刻(以下简称a时刻)的状态参数,例如完成滤波器模型验证和修复之后的预测状态参数(即预测运动状态),当滤波器一开始就通过模型验证无需进行修复时,状态参数x(a)即为滤波器完成时间更新后的预测状态参数。x’(a)表示第a个时刻对应的测量更新后的状态参数(经过测量更新步骤调整后的预测运动状态)。H()表示滤波器在第a时刻更新的伪距滤波器增益,
Figure PCTCN2023071556-appb-000128
表示第二筛选观测信息中的伪距观测 数据所对应的伪距残差矩阵,即第三观测残差矩阵中的伪距残差矩阵。P(a)表示滤波器在第a个时刻时间的状态协方差矩阵,例如完成滤波器模型验证和修复之后的状态参数所对应的状态协方差矩阵,当滤波器一开始就通过模型验证无需进行修复时,P(a)即为滤波器完成时间更新后的预测状态协方差矩阵。P′(a)表示第a个时刻所对应的测量更新之后的状态协方差矩阵,G ρa表示第三观测残差矩阵中的伪距残差矩阵关于滤波器状态参数x(a)的雅克比矩阵,R ρ(a)表示测量方差矩阵中的伪距测量方差矩阵,I为单位矩阵。
一些实施例中,对于第二筛选观测信息中的多普勒观测数据,滤波器的状态参数可以按照下述公式(43)进行更新:
Figure PCTCN2023071556-appb-000129
其中,
Figure PCTCN2023071556-appb-000130
表示滤波器在第a个时刻更新的多普勒滤波器增益,
Figure PCTCN2023071556-appb-000131
表示第二筛选观测信息中的多普勒观测数据所对应的多普勒残差矩阵,即第三观测残差矩阵中的多普勒残差矩阵;
Figure PCTCN2023071556-appb-000132
表示第三观测残差矩阵中的多普勒残差矩阵关于滤波器状态参数x(a)的雅克比矩阵,
Figure PCTCN2023071556-appb-000133
表示测量方差矩阵中的多普勒测量方差矩阵;其中,上述伪距滤波器增益H(a)和多普勒滤波器增益
Figure PCTCN2023071556-appb-000134
都可以称为滤波器增益。
通过上述公式(42)和公式(43)可以对滤波器的状态参数进行更新,若滤波器完成了a时刻的测量更新,则可以将a时刻的状态参数确定为目标状态参数,将a时刻的状态协方差矩阵确定为目标状态协方差矩阵。换言之,若在滤波器的测量更新阶段一开始就通过模型验证,无需对其进行修复,则此时的第三观测残差矩阵是基于第二筛选观测信息、预测状态参数以及第二筛选观测信息所对应卫星的卫星状态信息所构建的,进而可以获取滤波器在a时刻的状态参数。a为1时,a时刻的状态参数为滤波器完成时间更新后的预测参数状态,a时刻的状态协方差矩阵为滤波器完成时间更新后的预测状态协方差矩阵。通过a时刻的状态协方差矩阵、测量更新矩阵以及测量方差矩阵,确定滤波器在a时刻的滤波器增益(即上述多普勒滤波器增益
Figure PCTCN2023071556-appb-000135
和伪距滤波器增益H(a));将a时刻的滤波器增益和第三观测残差矩阵之间的乘积,与a时刻的状态参数进行求和运算,得到目标状态参数,该目标状态参数对应的状态协方差矩阵可以称为目标状态协方差矩阵。
一些实施例中,终端每隔预设的时间间隔获取一次卫星观测信息,并经过各实施例的方法的处理输出终端的定位结果。上述第a个时刻是指,从终端激活定位功能开始,第a次获取卫星观测信息并获得终端的定位结果的时刻。对于第1个时刻,由于不存在历史运动状态的记录,可以在基于卫星观测信息估计终端在第1个时刻的估计运动状态(例如步骤S11、S401)后,利用卫星观测信息、卫星信号的测量数据、估计运动状态对状态预测模型和状态调整模型(例如滤波器)进行初始化,将估计运动状态作为第1个时刻确定的终端的运动状态,并据此得出终端的定位结果。从第2个时刻开始,再按照各实施例的 方法,依次获得估计运动状态、预测运动状态(即时间更新后的状态参数)、调整后的预测运动状态(即测量更新后的状态参数),从而确定终端的运动状态,并据此得出终端的定位结果。
步骤S416,对验后卫星观测残差和滤波器修正量进行检测。
一些实施例中,可以将a时刻的滤波器增益与第三观测残差矩阵之间的乘积,确定为滤波器在a时刻的滤波器修正量,该滤波器修正量可以包括伪距滤波器修正量和多普勒滤波器修正量,该伪距滤波器修正量可以记为dz,多普勒滤波器修正量可以记为
Figure PCTCN2023071556-appb-000136
其中,伪距滤波器修正量可以表示为
Figure PCTCN2023071556-appb-000137
Figure PCTCN2023071556-appb-000138
大于或等于给定的阈值(此处的阈值可以称为第一修正阈值,o表示滤波器中的第o个状态参数,o为小于或等于滤波器状态参数数量的正整数),则表示滤波器中的第o个状态参数检验不通过,需要重置滤波器,即重新执行步骤S402;若
Figure PCTCN2023071556-appb-000139
小于第一修正阈值,则表示滤波器中的第o个状态参数检验通过,保持滤波器当前的状态参数。多普勒滤波器修正量
Figure PCTCN2023071556-appb-000140
Figure PCTCN2023071556-appb-000141
大于或等于给定的阈值(此处的阈值可以称为第二修正阈值),则表示滤波器中的第o个状态参数检验不通过,需要重置滤波器,即重新执行步骤S402;若
Figure PCTCN2023071556-appb-000142
小于第二修正阈值,则表示滤波器中的第o个状态参数检验通过,保持滤波器当前的状态参数。其中,上述第一修正阈值和第二修正阈值都可以是根据实际需求所确定的数值,本申请对此不再进行赘述。当滤波器中的每个状态参数在伪距和多普勒时均通过检验,则表示滤波器对应的滤波器修正量通过检验。
步骤S417,对验后卫星观测残差进行正态分布检验。
一些实施例中,当滤波器对应的滤波器修正量通过检验时,可以获取滤波器针对目标状态参数的目标状态协方差矩阵,即P’(a),通过目标协方差矩阵、测量方差矩阵以及测量更新矩阵,构建滤波器对应的第二残差协方差矩阵;进而可以通过第二残差协方差矩阵对第三观测残差矩阵进行正态分布检验,得到第三观测残差矩阵中所包含的每个元素分别对应的检验结果。
其中,第二残差协方差矩阵包括伪距残差协方差矩阵和多普勒残差协方差矩阵,基于第二残差协方差矩阵中的伪距残差协方差矩阵,对第三观测残差矩阵中的伪距残差矩阵进行正态分布检验,得到第三观测残差矩阵的伪距残差矩阵中的每个元素分别对应的检验结果,此时的检验结果如下述公式(44)所示:
Figure PCTCN2023071556-appb-000143
其中,
Figure PCTCN2023071556-appb-000144
表示第三观测残差矩阵的伪距残差矩阵中的第si个元素,si为小于或等于sn的正整数,
Figure PCTCN2023071556-appb-000145
表示第二残差协方差矩阵中的伪距残差协方差矩阵,μ si表示上述第si个元素在进行正态分布检验后所得到的结果。
一些实施例中,基于第二残差协方差矩阵中的多普勒残差协方差矩阵,对第三观测残差矩阵中的多普勒残差矩阵进行正态分布检验,得到第三观测残差矩阵的多普勒残差矩阵中的每个元素分别对应的检验结果,此时的检验结果如下述公式(45)所示:
Figure PCTCN2023071556-appb-000146
其中,
Figure PCTCN2023071556-appb-000147
表示第三观测残差矩阵的伪距残差矩阵中的第si个元素,qi为小于或等于qn的正整数,
Figure PCTCN2023071556-appb-000148
表示第二残差协方差矩阵中的多普勒残差协方差矩阵,αqi表示上述第qi个元素在进行正态分布检验后所得到的结果。
步骤S418,剔除检测未通过的卫星观测信息。
一些实施例中,当第三观测残差矩阵中存在某个元素的检验结果不满足检验条件时,则剔除该元素所对应的卫星观测信息。其中,当上述公式(44)中的μ si小于或等于给定的阈值(此时的阈值也可以称为第三正态分布检测阈值)时,表示第三观测残差矩阵的伪距残差矩阵中的第si个元素不满足检验条件,将第si个元素所对应的伪距观测数据(即第二筛选观测信息中的第si个伪距观测数据)确定为伪距观测数据粗差,并从第二筛选观测数据所包含的伪距观测数据中剔除该伪距观测数据粗差。
当上述公式(45)中的α qi小于或等于给定的阈值(此处的阈值也可以称为第四正态分布检测阈值)时,表示第三观测残差矩阵的多普勒残差矩阵中的第qi个元素不满足检验条件,将第qi个元素所对应的多普勒观测数据(即第二筛选观测信息中的第qi个多普勒观测数据)确定为多普勒观测数据粗差,并从第二筛选观测数据所包含的多普勒观测数据中剔除该多普勒观测数据粗差。基于剔除伪距观测数据粗差后所得到的伪距观测数据,以及剔除多普勒观测数据粗差后所得到的多普勒观测数据,重新构建测量更新矩阵,即重新执行上述步骤S413,直至剩余的所有卫星观测信息均通过正态分布检验结果。其中,本申请中的第一正态分布检验阈值和第三正态分布检验阈值可以为相同的数值,也可以为不同的数值,第二正态分布检验阈值和第四正态分布检验阈值可以为相同的数值,也可以为不同的数值,本申请对此不作限定。
步骤S419,输出当前时刻终端位置和速度信息。
一些实施例中,当第三观测残差矩阵中的每个元素分别对应的检验结果均满足检验条件时,可以将目标状态参数中的终端位置和终端速度确定为终端对应的终端定位结果。换言之,当第三观测残差矩阵的伪距残差矩阵中的每个元素分别对应的检验结果(μ si)均小于第三正态分布检测阈值,且第三观测残差矩阵的多普勒残差矩阵中的每个元素分别对应的检验结果(α qi)均小于第四正态分布检验阈值时,输出滤波器的目标状态参数中的终端位置和终端速度,此时的终端位置和终端速度即为终端的终端定位结果。
本申请实施例中,可以通过抗差加权最小二乘算法和卫星观测信息估计得到终端 对应的终端状态信息,通过终端状态信息可以建立稳健卡尔曼滤波器,通过稳健卡尔曼滤波器的时间更新和测量更新两个过程,采用正态分布检验从卫星观测信息中剔除观测信息粗差,并通过剔除观测信息粗差后的卫星观测信息,确定终端对应的终端定位结果,可以提高终端位置的准确性,实现亚米级或车道级定位,辅助车道级定位导航;通过抗差加权最小二乘算法和稳健卡尔曼滤波器实现的终端定位方法,可以适用于各种类型(例如,消费级、测量型或其余类型)的卫星定位设备,可以提高终端定位的适用性。
请参见图8,图8是本申请实施例提供的一种滤波器的测量更新的流程示意图。可以理解地,本申请实施例可以是在基于抗差加权最小二乘和卫星观测信息估计得到终端对应的终端状态信息、并基于终端状态信息完成滤波器的初始化以及时间更新处理后,针对滤波器的测量更新过程,滤波器在时间更新后的状态参数为预测状态参数,与该预测状态参数相对应的状态协方差矩阵。例如图8所示,滤波器的测量更新过程可以包括以下步骤:
步骤S501,基于抗差加权最小二乘估计的解算信息剔除卫星观测信息粗差,得到第一筛选观测信息。
步骤S502,由第一筛选观测信息构建卫星观测残差矩阵,即第一观测残差矩阵。
其中,步骤S501和步骤S502的具体实现过程可以参见图6所对应实施例中的步骤S405-步骤S406,这里不再进行赘述。
步骤S503,基于四分位数和绝对中位差对第一观测残差矩阵进行粗差探测,得到第三筛选观测信息,由第三筛选观测信息构建卫星观测残差矩阵,即第二观测残差矩阵。
一些实施例中,可以对上述第一观测残差矩阵(如前述公式(32)所示的伪距残差矩阵
Figure PCTCN2023071556-appb-000149
和公式(34)所示的多普勒残差矩阵
Figure PCTCN2023071556-appb-000150
)进行粗差探测,剔除第一筛选观测信息中的卫星观测信息粗差,得到第三筛选观测信息,由第三筛选观测信息所构建的卫星观测残差矩阵,可以称为第二观测残差矩阵。其中,上述粗差探测过程可以包括:获取第一观测残差矩阵的上四分位数和第一观测残差矩阵的下四分位数之间的分位数差值;将第一观测残差矩阵的下四分位数,以及第一粗差探测阈值和分位数差值之间的乘积进行相减运算,得到第一观测残差矩阵对应的最小元素值;将第一观测残差矩阵的上四分位数,以及第一粗差探测阈值和分位数差值之间的乘积进行求和运算,得到第一观测残差矩阵对应的最大元素值;将第一观测残差矩阵中的第j个元素和第一观测残差矩阵的中位数进行相减运算后的绝对值,与第一观测残差矩阵的绝对中位差之间的比值,确定为待验证数值,j为小于或等于第一筛选观测信息的数量的正整数;若待验证数值大于第二粗差探测阈值,且第j个元素处于粗差取值范围,则从第一观测残差矩阵中剔除第j个元素,得到第二观测残差矩阵,构成第二观测残差矩阵的卫星观测信息可以称为第三筛选观测信息,该粗差取值范围是指最小元素值至最大元素值所对应范围之外的取值范围。
由于第一观测残差矩阵包括伪距残差矩阵
Figure PCTCN2023071556-appb-000151
和多普勒残差矩阵
Figure PCTCN2023071556-appb-000152
因此在对第一观测残差矩阵进行粗差探测处理时,需要分别对伪距残差矩阵
Figure PCTCN2023071556-appb-000153
和多普勒残差矩阵
Figure PCTCN2023071556-appb-000154
进行粗差探测。其中,下面以第一观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000155
为例,对粗差探测处理进行描 述;本申请实施例中,将伪距残差矩阵
Figure PCTCN2023071556-appb-000156
的下四位数记为
Figure PCTCN2023071556-appb-000157
伪距残差矩阵
Figure PCTCN2023071556-appb-000158
的上四分位数记为
Figure PCTCN2023071556-appb-000159
伪距残差矩阵
Figure PCTCN2023071556-appb-000160
的最小元素值记为
Figure PCTCN2023071556-appb-000161
伪距残差矩阵
Figure PCTCN2023071556-appb-000162
的最大元素值记为
Figure PCTCN2023071556-appb-000163
最小元素值
Figure PCTCN2023071556-appb-000164
和最大元素值
Figure PCTCN2023071556-appb-000165
可以如下述公式(46)所示:
Figure PCTCN2023071556-appb-000166
其中,
Figure PCTCN2023071556-appb-000167
表示针对伪距残差矩阵
Figure PCTCN2023071556-appb-000168
的第一粗差探测阈值,
Figure PCTCN2023071556-appb-000169
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000170
的上四位数和伪距残差矩阵
Figure PCTCN2023071556-appb-000171
的下四位数之间的分位数差值。伪距残差矩阵
Figure PCTCN2023071556-appb-000172
中的每个元素都可以按照下述公式(47)来进行粗差探测,公式(47)的表示形式如下:
Figure PCTCN2023071556-appb-000173
其中,
Figure PCTCN2023071556-appb-000174
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000175
中的第j(此时的j为小于或等于第一筛选观测信息中所包含的伪距筛选数据的数量sn的正整数)个元素对应的粗差探测标记值,
Figure PCTCN2023071556-appb-000176
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000177
中的第j个元素,
Figure PCTCN2023071556-appb-000178
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000179
的中位数,
Figure PCTCN2023071556-appb-000180
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000181
的绝对中位差,
Figure PCTCN2023071556-appb-000182
表示针对伪距残差矩阵
Figure PCTCN2023071556-appb-000183
的第二粗差探测阈值;其中,
Figure PCTCN2023071556-appb-000184
Figure PCTCN2023071556-appb-000185
可以根据实际需求进行设置,本申请对此不做限定。
Figure PCTCN2023071556-appb-000186
表示伪距残差矩阵
Figure PCTCN2023071556-appb-000187
的待验证数值,
Figure PCTCN2023071556-appb-000188
可以称为伪距残差矩阵
Figure PCTCN2023071556-appb-000189
的有效取值范围,
Figure PCTCN2023071556-appb-000190
Figure PCTCN2023071556-appb-000191
称为伪距残差矩阵
Figure PCTCN2023071556-appb-000192
的粗差取值范围。
当待验证数值
Figure PCTCN2023071556-appb-000193
小于或等于第二粗差探测阈值
Figure PCTCN2023071556-appb-000194
且伪距残差矩阵
Figure PCTCN2023071556-appb-000195
的第j个元素
Figure PCTCN2023071556-appb-000196
处于有效取值范围
Figure PCTCN2023071556-appb-000197
时,
Figure PCTCN2023071556-appb-000198
对应的粗差探测标记值为1,表示
Figure PCTCN2023071556-appb-000199
对应的伪距观测数据为有效数据,并保留该伪距观测数据。当待验证数值
Figure PCTCN2023071556-appb-000200
大于第二粗差探测阈值
Figure PCTCN2023071556-appb-000201
且伪距残差矩阵
Figure PCTCN2023071556-appb-000202
的第j个元素
Figure PCTCN2023071556-appb-000203
处于粗差取值范围
Figure PCTCN2023071556-appb-000204
Figure PCTCN2023071556-appb-000205
时,
Figure PCTCN2023071556-appb-000206
对应的粗差探测标记值为0,表示
Figure PCTCN2023071556-appb-000207
对应的伪距观测数据为伪距观测数据粗差,并剔除该伪距观测数据粗差。通过上述公式(47)可以从第一筛选观测信息所包含的伪距筛选观测数据中剔除伪距观测数据粗差,由剔除了伪距观测数据粗差的伪距观测数据所构建的伪距残差矩阵可以记为
Figure PCTCN2023071556-appb-000208
该伪距残差矩阵
Figure PCTCN2023071556-appb-000209
是指从伪距残差矩阵
Figure PCTCN2023071556-appb-000210
中剔除了粗差探测标记值为0的元素后所得到的矩阵。
同理,对于第一观测残差矩阵中的多普勒残差矩阵
Figure PCTCN2023071556-appb-000211
同样可以执行与上述伪距残差矩阵
Figure PCTCN2023071556-appb-000212
相同的粗差探测处理,例如可以通过下述公式(48)和公式(49)对多普勒残差矩阵
Figure PCTCN2023071556-appb-000213
进行粗差探测,剔除多普勒残差矩阵
Figure PCTCN2023071556-appb-000214
中的多普勒观测数据粗差,由剔除了多普勒观测数据粗差的多普勒观测数据所构建的多普勒残差矩阵可以记为
Figure PCTCN2023071556-appb-000215
该多普勒残差矩阵
Figure PCTCN2023071556-appb-000216
是指从多普勒残差矩阵
Figure PCTCN2023071556-appb-000217
中剔除了粗差探测标记值为0的元素后所得到的矩阵。其中,公式(48) 和公式(49)可以表示如下:
Figure PCTCN2023071556-appb-000218
Figure PCTCN2023071556-appb-000219
其中,
Figure PCTCN2023071556-appb-000220
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000221
的下四位数,
Figure PCTCN2023071556-appb-000222
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000223
的上四位数,
Figure PCTCN2023071556-appb-000224
表示针对多普勒残差矩阵
Figure PCTCN2023071556-appb-000225
的第一粗差探测阈值,
Figure PCTCN2023071556-appb-000226
表示针对多普勒残差矩阵
Figure PCTCN2023071556-appb-000227
的第二粗差探测阈值,
Figure PCTCN2023071556-appb-000228
Figure PCTCN2023071556-appb-000229
可以根据实际需求进行设置,本申请对此不做限定;
Figure PCTCN2023071556-appb-000230
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000231
的最小元素值,
Figure PCTCN2023071556-appb-000232
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000233
的最大元素值。
Figure PCTCN2023071556-appb-000234
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000235
的第j个元素(此时的j为小于或等于第一筛选观测信息中所包含的多普勒筛选数据的数量qn的正整数),
Figure PCTCN2023071556-appb-000236
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000237
中的第j个元素对应的粗差探测标记值,
Figure PCTCN2023071556-appb-000238
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000239
的中位数,
Figure PCTCN2023071556-appb-000240
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000241
的绝对中位差,
Figure PCTCN2023071556-appb-000242
表示多普勒残差矩阵
Figure PCTCN2023071556-appb-000243
的待验证数值,
Figure PCTCN2023071556-appb-000244
可以称为多普勒残差矩阵
Figure PCTCN2023071556-appb-000245
的有效取值范围,
Figure PCTCN2023071556-appb-000246
Figure PCTCN2023071556-appb-000247
称为多普勒残差矩阵
Figure PCTCN2023071556-appb-000248
的粗差取值范围。当
Figure PCTCN2023071556-appb-000249
等于0时,表示
Figure PCTCN2023071556-appb-000250
对应的多普勒观测数据为多普勒观测数据粗差,并剔除该多普勒观测数据粗差;当
Figure PCTCN2023071556-appb-000251
等于1时,表示
Figure PCTCN2023071556-appb-000252
对应的多普勒观测数据为有效数据,并保留该多普勒观测数据粗差,以此剔除了多普勒观测数据粗差的多普勒观测数据。本申请实施例中,可以将上述剔除了伪距观测数据粗差的伪距观测数据,以及剔除了多普勒观测数据粗差的多普勒观测数据确定为第三筛选观测数据,上述伪距残差矩阵
Figure PCTCN2023071556-appb-000253
和多普勒残差矩阵
Figure PCTCN2023071556-appb-000254
称为第二观测残差矩阵。
步骤S504,基于伪距残差矩阵进行钟跳探测和修复。
步骤S505,基于伪距残差矩阵计算钟差跳变值并修复钟差。
步骤S506,基于多普勒残差矩阵进行钟漂跳变探测和修复。
步骤S507,基于多普勒残差矩阵计算钟漂跳变值并修复钟漂。
步骤S508,计算滤波器模型验证参数值,并对稳健卡尔曼滤波器进行验证和修复。
步骤S509,基于正态分布检验剔除卫星观测值粗差,得到第二筛选观测信息。
步骤S510,由第二筛选观测信息构建测量更新矩阵。
步骤S511,由自适应估计得到的卫星观测值随机误差模型构建测量方差矩阵。
步骤S512,由测量更新矩阵和测量方差矩阵修正终端运动状态。
步骤S513,对验后卫星观测残差和滤波器修正量进行检测。
步骤S514,对验后卫星观测残差进行正态分布检验。
步骤S515,剔除检测未通过的卫星观测值。
步骤S516,滤波器测量更新完成,输出滤波器当前时刻的终端位置和速度信息。
其中,上述步骤S507至步骤S516的实现过程可以参见图6所对应实施例中步骤S407至步骤S419中的描述,此处不再进行赘述。
需要说明的是,本申请实施例中的步骤S507至步骤S516的实现方式与前述步骤S407至步骤S419的实现方式是相同的,只是步骤S407至步骤S419在实现过程中所使用的卫星观测信息为第一筛选观测信息,而步骤S507至步骤S516在实现过程中所使用的卫星观测信息为第三筛选观测信息。例如,本申请实施例中的钟差跳变探测及修复过程可以包括:当第二观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000255
的绝对中位差
Figure PCTCN2023071556-appb-000256
与第二观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000257
的中位数
Figure PCTCN2023071556-appb-000258
之间的比值小于第一钟差探测阈值(θ m),且第二观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000259
的标准差
Figure PCTCN2023071556-appb-000260
与第二观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000261
的平均值
Figure PCTCN2023071556-appb-000262
之间的比值小于第一钟差探测阈值时,将第二观测残差矩阵中的伪距残差矩阵
Figure PCTCN2023071556-appb-000263
的中位数,与预测状态协方差矩阵中的对角元素所对应的开根号运算结果之间的比值,确定为钟差探测数值;若钟差探测数值大于或等于第二钟差探测阈值(θ clk),则确定滤波器中存在钟差跳变,重新设置滤波器中的预测状态参数和预测状态协方差矩阵。本申请实施例的第一观测方差矩阵是通过第三筛选观测信息对应的信噪比,以及第三筛选观测信息所对应卫星的高度角所构建而成的。
请参见图9,图9是本申请实施例提供的一种终端定位方法的整体结构示意图。本申请实施例以滤波器是稳健卡尔曼滤波器为例进行描述,例如图9所示,可以获取包含伪距观测数据和多普勒观测数据的卫星观测信息,与此同时还可以向CORS系统的高精度定位服务平台发送星历获取请求,从高精度定位服务平台中获取星历数据,通过星历数据和卫星观测信息,可以获取卫星对应的卫星状态信息(包括卫星位置、卫星速度、卫星钟差以及卫星钟漂),进而可以利用抗差加权最小二乘和卫星观测信息估计终端状态信息(终端位置、终端速度、卫星钟差以及卫星钟漂),并由估计得到的终端状态信息建立稳健卡尔曼滤波器,即完成稳健卡尔曼滤波器的初始化(可以参见图6所对应实施例中的步骤S402)。
基于抗差加权最小二乘估计得到终端位置信息时的解算信息,可以估计稳健卡尔曼滤波器的滤波器系统噪声(可以参见图6所对应实施例中的步骤S403)、估计卫星观测随机误差模型(可以参见图6所对应实施例中的步骤S404)以及卫星观测信息粗差探测(可以参见图6所对应实施例中的步骤S405)等。
一些实施例中,针对初始化后的稳健卡尔曼滤波器,可以执行粗差探测(可以参见图8所对应实施例中的步骤S503)、钟差与钟漂跳变探测与修复(可以参见上述图6所对应实施例中的步骤S407至步骤S410)、滤波器模型验证与修复(可以参见上述图6所对应实施例中的步骤S411至步骤S412)以及滤波器系统故障检测与修复(可以参见上述图6所对应实施例中的步骤S413至步骤S418)等操作,最终输出终端对应的终端定位结果(包括最终确定的终端位置和终端速度)。
其中,请参见图10,图10是本申请实施例提供的一种滤波器的结构示意图。本申请实施例以滤波器是稳健卡尔曼滤波器为例进行描述,例如图10所示,稳健卡尔曼滤波器包括滤波器初始化、自适应估计伪距和多普勒观测随机误差模型、自适应估计动态滤波器系统噪声、滤波器时间更新以及滤波器测量更新等过程。其中,滤波器初始化可以通过抗差加权最小二乘估计得到终端位置信息来实现;伪距和多普勒观测随机误差模型可以通过抗差加权最小二乘在估计得到终端状态信息时的解算信息估计得到;动态滤波器系统噪声可以通过抗差加权最小二乘在迭代更新中所产生的历史状态信息估计得到;滤波器时间更新可以通过动态滤波器系统噪声来实现;滤波器测量更新可以通过滤波器时间更新和伪距和多普勒观测随机误差模型和滤波器时间更新的结果来实现。滤波器测量更新可以包括钟差与钟漂跳变探测与修复、滤波器模型验证和修复、滤波器更新结算验证和修复(也可以称为滤波器系统故障检验与修复)等操作,该滤波器更新结算验证和修复可以包括验后卫星观测残差检验和模型修正量检验,上述操作可以参见上述图8所对应的实施例,此处不再进行赘述。
可以理解的是,在本申请的具体实施方式中,涉及到用户终端的定位结果,当本申请以上是实力应用到具体产品或技术中时,需要获取用户许可或者同意,且终端定位结果的应用需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例中,可以通过抗差加权最小二乘算法和卫星观测信息估计得到终端对应的终端状态信息,通过终端状态信息可以建立稳健卡尔曼滤波器,通过稳健卡尔曼滤波器的时间更新和测量更新两个过程,采用正态分布检验从卫星观测信息中剔除观测信息粗差,并通过剔除观测信息粗差后的卫星观测信息,确定终端对应的终端定位结果,可以提高终端位置的准确性,实现亚米级或车道级定位,辅助车道级定位导航;通过抗差加权最小二乘算法和稳健卡尔曼滤波器实现的终端定位方法,可以适用于各种类型(例如,消费级、测量型或其余类型)的卫星定位设备,可以提高终端定位的适用性。
请参见图11A,图11A是本申请实施例提供的一种终端定位装置的结构示意图。例如图11A所示,该终端定位装置可以包括:
卫星观测模块111,用于获取第一时刻针对终端的定位信息集合,所述定位信息集合包括多个卫星分别对应的定位信息;基于定位信息估计终端在第一时刻的估计运动状态,获取终端对多个卫星中每个卫星进行信号测量的测量数据,基于所述测量数据估计多个卫星中每个卫星对应的定位信息的误差;
卫星精度调整模块112,用于获取从估计运动状态转换得到的转换定位信息,以计算定位信息集合中每个卫星对应的定位信息与转换定位信息之间的偏离信息,基于偏离信息确定每个卫星对应的误差调整因子,每个卫星对应的误差调整因子用于对每个卫星对应的定位信息的误差进行调整;
预测模块113,用于利用终端的历史运动状态,通过状态预测模型预测终端在第一时刻的预测运动状态,历史运动状态包括终端在第一时刻之前的至少一个时刻的运动状态;
调整模块114,用于将定位信息集合、误差和误差调整因子应用于状态调整模型,以对预测运动状态进行调整,进而获得终端在第一时刻的调整运动状态,根据调整运动状态确定终端在第一时刻的定位结果。
作为另一种功能模块的划分方式,请参见图11B,图11B是本申请实施例提供的一种终端定位装置的结构示意图。例如图11B所示,该终端定位装置1可以包括:终端状态获取模块11,滤波器初始化模块12,时间更新模块13,信息筛选模块14,测量更新模块15。
终端状态获取模块11,用于通过卫星观测信息确定终端对应的终端状态信息,根据终端状态信息从卫星观测信息中获取第一筛选观测信息;
滤波器初始化模块12,用于将终端状态信息设置为滤波器的初始状态参数,获取滤波器针对初始状态参数的初始状态协方差矩阵;
时间更新模块13,用于对滤波器的初始状态参数进行时间更新,得到预测状态参数,对滤波器的初始状态协方差矩阵进行时间更新,得到预测状态协方差矩阵;
验证参数值获取模块14,用于从第一筛选观测信息中,筛选出用于构建滤波器的测量更新矩阵的第二筛选观测信息,根据由终端状态信息所确定的卫星观测误差因子,构建滤波器对应的测量方差矩阵;
测量更新模块15,用于通过测量更新矩阵、第二筛选观测信息、预测状态协方差矩阵以及测量方差矩阵,对滤波器的预测状态参数进行测量更新,得到目标状态参数,根据目标状态参数确定终端对应的终端定位结果。
其中,终端状态获取模块11,滤波器初始化模块12,时间更新模块13,信息筛选模块14,测量更新模块15的具体功能实现过程可以参见上述图3所对应实施例中的步骤S101-步骤S105,此处不再进行赘述。
在一个或多个实施例中,终端状态获取模块11包括:观测方程构建单元111,第一观测方差构建单元112,状态信息更新单元113;
观测方程构建单元111,用于获取终端接收到的卫星观测信息,为终端设置初始状态信息,通过卫星观测信息、初始状态信息以及卫星所对应的卫星状态信息,构建终端与卫星之间的卫星观测方程;
第一观测方差构建单元112,用于通过卫星观测信息对应的信噪比和卫星对应的高度角,构建第二观测方差矩阵;
状态信息更新单元113,用于根据第二观测方差矩阵和卫星观测方程,确定终端对应的状态信息修正量,通过状态信息修正量对初始状态信息进行更新,得到终端对应的终端状态信息。
一些实施例中,卫星观测信息包括伪距观测数据,初始状态信息包括初始终端位置和初始终端钟差,卫星状态信息包括卫星位置和卫星钟差;
观测方程构建单元111包括:第一获取子单元1111,第一方程构建单元1112;
第一获取子单元1111,用于获取初始终端位置和卫星位置之间的间隔距离,以及获取初始终端钟差与卫星钟差之间的钟差差值;
第一方程构建单元1112,用于根据间隔距离和钟差差值,确定终端与卫星之间的第一估计值,通过第一估计值和伪距观测数据,构建终端与卫星之间的卫星观测方程。
一些实施例中,卫星观测信息包括多普勒观测数据,初始状态信息包括初始终端速度和初始终端钟漂,卫星状态信息包括卫星速度和卫星钟漂;
观测方程构建单元111包括:第二获取子单元1113,估计子单元1114,第二方程构建子单元1115;
第二获取子单元1113,用于获取初始终端速度与卫星速度之间的速度差值,以及获取终端与卫星之间的单位观测值;
估计子单元1114,用于获取初始终端钟漂与卫星钟漂之间的钟漂差值,根据速度差值与单位观测值之间的乘积,以及钟漂差值,确定终端与卫星之间的第二估计值;
第二方程构建子单元1115,用于通过卫星播发信号的波长和多普勒观测数据之间的乘积,以及第二估计值,构建终端与卫星之间的卫星观测方程。
一些实施例中,卫星的数量为N个,N为正整数;第一观测方差构建单元112具体用于:
根据观测误差参数、N个卫星所对应的卫星观测信息的信噪比,以及N个卫星分别对应的高度角,确定N个卫星分别对应的卫星观测误差;
将N个卫星分别对应的卫星观测误差作为矩阵对角元素,构建第二观测方差矩阵。
一些实施例中,卫星观测信息包括伪距观测数据,初始状态信息包括初始终端位置和初始终端钟差,卫星状态信息包括卫星位置和卫星钟差,终端状态信息是指初始状态信息在经过k次迭代后所得到的结果,k为正整数;
状态信息更新单元113具体用于:
获取第k-1次迭代的估计参数;k为1时,第k-1次迭代的估计参数包括初始终端位置和初始终端钟差,每次迭代的卫星观测方程由该次迭代的估计参数所构建;
将第k-1次迭代的卫星观测方程,针对第k-1次迭代的估计参数的偏导数,确定为第k-1次迭代的雅克比矩阵,根据第k-1次迭代的卫星观测方程构建第k-1次迭代的伪距残差矩阵;
根据第k-1次迭代的雅克比矩阵、第k-1次迭代的伪距残差矩阵以及第二观测方差矩阵,获取第k-1次迭代的状态信息修正量;
当第k-1次迭代的状态信息修正量达到收敛时,将第k-1次迭代的估计参数和第k-1次迭代的状态信息修正量之和,确定为第k次迭代的估计参数;
根据第k次迭代的卫星观测方程构建第k次迭代的伪距残差矩阵,将第k次迭代的伪距残差矩阵对应的转置矩阵、伪距观测方差矩阵对应的逆矩阵,以及第k次迭代的伪距残差矩阵之间的乘积,确定为检验统计量;
若检验统计量小于检验阈值,则将第k次迭代的估计参数确定为终端对应的终端状态信息。
其中,观测方程构建单元111,第一观测方差构建单元112,状态信息更新单元113,以及观测方程构建单元111所包含的第一获取子单元1111,第一方程构建单元1112,第二获取子单元1113,估计子单元1114,第二方程构建子单元1115的具体功能实现过程可以参见上述图4和图5所对应的实施例,此处不再进行赘述。
在一个或多个实施例中,该终端定位装置1还包括:残差协方差构建模块17,正态分布检验模块18,伪距数据剔除模块19,观测方程重新构建模块20;
残差协方差构建模块17,用于若检验统计量大于或等于检验阈值,则根据第k-1次迭代的雅克比矩阵、第二观测方差矩阵,构建第一残差协方差矩阵;
正态分布检验模块18,用于通过第一残差协方差矩阵对第k次迭代的伪距残差矩阵进行正态分布检验,得到第k次迭代的伪距残差矩阵中的每个元素分别对应的检验结果;
伪距数据剔除模块19,用于若第k次迭代的伪距残差矩阵中的第i个元素所对应的检验结果不满足检验条件,则确定第i个元素未通过正态分布检验,剔除第i个元素所关联的伪距观测数据;i为小于或等于伪距观测数据的数量的正整数;
观测方程重新构建模块20,用于将剔除第i个元素所关联的伪距观测数据后所剩余的伪距观测数据作为卫星观测信息,将第k次迭代的估计参数作为初始状态信息,重新执行通过初始状态信息、卫星状态信息以及卫星观测信息,构建终端与卫星之间的卫星观测方程的步骤。
其中,残差协方差构建模块17,正态分布检验模块18,伪距数据剔除模块19,观测方程重新构建模块20的具体功能实现过程可以参见上述图4所对应实施例中的步骤S208-步骤S210,此处不再进行赘述。
在一个或多个实施例中,终端状态信息包括终端位置、终端速度、终端钟差以及终端钟漂,第一筛选观测信息包括伪距筛选数据和多普勒筛选数据;
滤波器初始化模块12包括:初始状态设置单元121,第二观测方差构建单元122,位置协方差确定单元123,速度协方差确定单元124,初始状态协方差确定单元125;
初始状态设置单元121,用于将终端状态信息中的终端位置、终端速度、终端钟差以及终端钟漂,设置为滤波器的初始状态参数;
第二观测方差构建单元122,用于通过伪距筛选数据对应的信噪比,以及伪距筛选数据所对应卫星的高度角,构建伪距观测方差矩阵,通过多普勒筛选数据对应的信噪比,以及多普勒筛选数据所对应卫星的高度角,构建多普勒观测方差矩阵;
位置协方差确定单元123,用于通过伪距观测方差矩阵、由终端位置和终端钟差所确定的卫星观测误差因子,以及由伪距筛选数据、终端位置、终端钟差所确定的雅克比矩阵,构建位置协方差矩阵;
速度协方差确定单元124,用于通过多普勒观测方差矩阵,由终端速度和终端钟漂 所确定的卫星观测误差因子,以及由多普勒筛选数据、终端速度、终端钟漂所确定的雅克比矩阵,构建速度协方差矩阵;
初始状态协方差确定单元125,用于将位置协方差矩阵和速度协方差矩阵所构成的对角线矩阵,确定为滤波器对应的初始状态协方差矩阵。
其中,初始状态设置单元121,第二观测方差构建单元122,位置协方差确定单元123,速度协方差确定单元124,初始状态协方差确定单元125的具体功能实现过程可以参见上述图6所对应实施例中的步骤S402,此处不再进行赘述。
在一个或多个实施例中,时间更新模块13包括:状态参数更新单元131,状态协方差更新单元132;
状态参数更新单元131,用于通过相邻历元的时间差构建滤波器的状态转移矩阵,根据状态转移矩阵对滤波器的初始状态参数进行时间更新,得到预测状态参数;
状态协方差更新单元132,用于基于终端对应的历史状态信息,获取滤波器对应的滤波器系统噪声,根据状态转移矩阵和滤波器系统噪声,对滤波器的初始状态协方差矩阵进行时间更新,得到预测状态协方差矩阵。
一些实施例中,预测状态协方差矩阵为滤波器中的初始状态协方差矩阵在t时刻的状态协方差矩阵,t为正整数;
状态协方差更新单元132具体用于:
通过滤波器系统噪声以及相邻历元的时间差所对应的指数信息,构建噪声协方差矩阵;
获取滤波器在t-1时刻的状态协方差矩阵;t为1时,滤波器在t-1时刻的状态协方差矩阵为初始状态协方差矩阵;
将状态转移矩阵、t-1时刻的状态协方差矩阵以及状态转移矩阵对应的转置矩阵之间的乘积,与噪声协方差矩阵进行求和运算,得到预测协方差矩阵。
其中,状态参数更新单元131,状态协方差更新单元132的具体功能实现过程可以参见上述图6所对应实施例中的步骤S403,此处不再进行赘述。
在一个或多个实施例中,状态协方差更新单元132包括:历史信息获取子单元1321,速度系统噪声确定子单元1322,钟漂系统噪声确定子单元1323,钟差系统噪声确定子单元1324;
历史信息获取子单元1321,用于若初始状态信息包括终端位置、终端速度、终端钟差以及终端钟漂,则获取终端对应的历史状态信息中的历史终端速度序列、历史终端钟漂序列以及历史终端钟差序列;历史终端速度序列、历史终端钟漂序列以及历史终端钟差序列均是通过尺寸为p的时间滑动窗口所确定的,p为正整数;
速度系统噪声确定子单元1322,用于获取历史终端速度序列对应的第一方差值,将第一方差值和相邻历元的时间差之间的乘积,确定为滤波器对应的速度系统噪声;
钟漂系统噪声确定子单元1323,用于获取历史终端钟漂序列对应的第二方差值, 将第二方差值和相邻历元的时间差之间的乘积,确定为滤波器对应的钟漂系统噪声;
钟差系统噪声确定子单元1324,用于获取历史终端钟差序列对应的第三方差值,将第三方差值和相邻历元的时间差之间的乘积,确定为滤波器对应的钟差系统噪声,将速度系统噪声、钟漂系统噪声以及钟差系统噪声确定为滤波器对应的滤波器系统噪声。
其中,历史信息获取子单元1321,速度系统噪声确定子单元1322,钟漂系统噪声确定子单元1323,钟差系统噪声确定子单元1324的具体功能实现过程可以参见上述图6所对应实施例中的步骤S403,此处不再进行赘述。
在一个或多个实施例中,信息筛选模块14包括:验证参数值获取单元141,验证单元142;
验证参数值获取单元141,用于通过第一筛选观测信息、预测状态协方差矩阵,以及与第一筛选观测信息相关联的第一观测方差矩阵,确定滤波器对应的模型验证参数值;
验证单元142,用于当模型验证参数值小于模型验证阈值时,通过正态分布检验从第一筛选观测信息中,筛选出用于构建滤波器的测量更新矩阵的第二筛选观测信息。
其中,验证参数值获取单元141,验证单元142的具体功能实现过程可以参见上述图3所对应实施例中的步骤S104,此处不再进行赘述。
在一个或多个实施例中,验证参数值获取单元141包括:第一观测残差确定子单元1411,粗差探测处理子单元1412,第三观测方差确定子单元1413,验证参数值确定子单元1414;
第一观测残差确定子单元1411,用于通过第一筛选观测信息、第一筛选观测信息所对应卫星的卫星状态信息,以及预测状态信息,构建第一观测残差矩阵;
粗差探测处理子单元1412,用于根据第一观测残差矩阵的四分位数和绝对中位差,对第一观测残差矩阵进行粗差探测处理,得到第二观测残差矩阵;
第三观测方差确定子单元1413,用于将第二观测残差矩阵中所包含的卫星观测信息,确定为第三筛选观测信息,通过第三筛选观测信息对应的信噪比,以及第三筛选观测信息所对应卫星的高度角,构建第一观测方差矩阵;
验证参数值确定子单元1414,用于通过第二观测残差矩阵、预测状态协方差矩阵、第二观测残差矩阵针对预测状态参数的雅克比矩阵,以及第一观测方差矩阵,确定滤波器对应的模型验证参数值。
其中,第一观测残差确定子单元1411,粗差探测处理子单元1412,第三观测方差确定子单元1413,验证参数值确定子单元1414的具体功能实现过程可以参见上述图8所对应实施例中的步骤S502-步骤S508,此处不再进行赘述。
在一个或多个实施例中,粗差探测处理子单元1412包括:分位数差值获取子单元14121,最小元素值获取子单元14122,最大元素值获取子单元14123,待验证数值确定子单元14124,粗差剔除子单元14125;
分位数差值获取子单元14121,用于获取第一观测残差矩阵的上四分位数与第一观 测残差矩阵的下四分位数之间的分位数差值;
最小元素值获取子单元14122,用于将第一观测残差矩阵的下四分位数,以及第一粗差探测阈值和分位数差值之间的乘积进行相减运算,得到第一观测残差矩阵对应的最小元素值;
最大元素值获取子单元14123,用于将第一观测残差矩阵的上四分位数,以及第一粗差探测阈值和分位数差值之间的乘积进行求和运算,得到第一观测残差矩阵对应的最大元素值;
待验证数值确定子单元14124,用于将第一观测残差矩阵中的第j个元素和第一观测残差矩阵的中位数进行相减运算后的绝对值,与第一观测残差矩阵的绝对中位差之间的比值,确定为待验证数值;j为小于或等于第一筛选观测信息的数量的正整数;
粗差剔除子单元14125,用于若待验证数值大于第二粗差探测阈值,且第j个元素处于粗差取值范围,则从第一观测残差矩阵中剔除第j个元素,得到第二观测残差矩阵;粗差取值范围是指最小元素值至最大元素值所对应范围之外的取值范围。
其中,分位数差值获取子单元14121,最小元素值获取子单元14122,最大元素值获取子单元14123,待验证数值确定子单元14124,粗差剔除子单元14125的具体功能实现过程可以参见上述图8所对应实施例中的步骤S503,此处不再进行赘述。
在一个或多个实施例中,第二观测残差矩阵是通过卫星观测信息中的伪距筛选数据所构建的;
该终端定位装置1还包括:钟差探测模块20,钟差跳变修复模块21;
钟差探测模块20,用于当第二观测残差矩阵的绝对中位差与第二观测残差矩阵的中位数之间的比值小于第一钟差探测阈值,且第二观测残差矩阵的标准差与第二观测残差矩阵的平均值之间的比值小于第一钟差探测阈值时,将第二观测残差矩阵的中位数,与预测状态协方差矩阵中的对角元素所对应的开根号运算结果之间的比值,确定为钟差探测数值;
钟差跳变修复模块21,用于若钟差探测数值大于或等于第二钟差探测阈值,则确定滤波器中存在钟差跳变,重新设置滤波器中的预测状态参数和预测状态协方差矩阵。
其中,钟差探测模块20,钟差跳变修复模块21的具体功能实现过程可以参见上述图6所对应实施例中的步骤S407至步骤S408,此处不再进行赘述。
在一个或多个实施例中,验证单元142包括:标准化残差获取子单元1421,第一残差检验子单元1422,观测信息筛选子单元1423;
标准化残差获取子单元1421,用于当模型验证参数值小于模型验证阈值时,对模型验证参数进行标准化处理,得到标准化残差矩阵;
第一残差检验子单元1422,用于通过对标准化残差矩阵进行正态分布检验,得到标准化残差矩阵中所包含的每个元素分别对应的检验结果;
观测信息筛选子单元1423,用于若标准化残差矩阵中的第l个元素所对应的检验 结果不满足检验条件,则确定第l个元素未通过正态分布检验,从第一筛选观测信息中,剔除第l个元素所对应的卫星观测信息,得到第二筛选观测信息;l为小于或等于第一筛选观测信息的数量的正整数。
其中,标准化残差获取子单元1421,第一残差检验子单元1422,观测信息筛选子单元1423的具体功能实现过程可以参见上述图6所对应实施例中的步骤S412,此处不再进行赘述。
一些实施例中,该终端定位装置1还包括:滤波器重置模块22;
滤波器重置模块22,用于当模型验证参数值大于或等于模型验证阈值时,则重新设置滤波器的初始状态参数和初始状态协方差矩阵。
其中,滤波器重置模块22的具体功能实现过程可以参见上述图8所对应实施例中的描述,此处不再进行赘述。
在一个或多个实施例中,目标状态参数为滤波器中的预测状态参数在a时刻的状态参数,a为正整数;
测量更新模块15包括:测量更新矩阵确定单元151,滤波器状态获取单元152,滤波器增益确定单元153,目标状态参数获取单元154,滤波器修正量确定单元155,残差协方差确定单元156,第二残差检验单元157,定位结果确定单元158;
测量更新矩阵确定单元151,用于通过第二筛选观测信息、预测状态参数以及卫星状态信息构建第三观测残差矩阵,将第三观测残差矩阵针对预测状态参数的雅克比矩阵,确定为滤波器对应的测量更新矩阵;
滤波器状态获取单元152,用于获取滤波器在a时刻的状态参数,以及滤波器在a时刻的状态协方差矩阵;i为1时,a时刻的状态参数为预测状态参数,a时刻的状态协方差矩阵为预测状态协方差矩阵;a时刻的状态协方差矩阵是滤波器针对a时刻的状态参数的协方差矩阵;
滤波器增益确定单元153,用于通过a时刻的状态协方差矩阵、测量更新矩阵以及测量方差矩阵,确定滤波器在a时刻的滤波器增益;
目标状态参数获取单元154,用于将a时刻的滤波器增益和第三观测残差矩阵之间的乘积,与a时刻的状态参数进行求和运算,得到目标状态参数。
滤波器修正量确定单元155,用于将a时刻的滤波器增益和第三观测残差矩阵之间的乘积,确定为滤波器在a时刻的滤波器修正量;
残差协方差确定单元156,用于当a时刻的滤波器修正量通过检验时,获取滤波器针对目标状态参数的目标协方差矩阵,通过目标协方差矩阵、测量方差矩阵以及测量更新矩阵,构建滤波器对应的第二残差协方差矩阵;
第二残差检验单元157,用于通过第二残差协方差矩阵对第三观测残差矩阵进行正态分布检验,得到第三观测残差矩阵中所包含的每个元素分别对应的检验结果;
定位结果确定单元158,用于若第三观测残差矩阵中的每个元素分别对应的检验结 果均满足检验条件,则将目标状态参数确定为终端对应的终端定位结果。
其中,测量更新矩阵确定单元151,滤波器状态获取单元152,滤波器增益确定单元153,目标状态参数获取单元154,滤波器修正量确定单元155,残差协方差确定单元156,第二残差检验单元157,定位结果确定单元158的具体功能实现过程可以参见上述图6所对应实施例中的步骤S413-步骤S419,此处不再进行赘述。
本申请实施例中,可以通过抗差加权最小二乘算法和卫星观测信息估计得到终端对应的终端状态信息,通过终端状态信息可以建立稳健卡尔曼滤波器,通过稳健卡尔曼滤波器的时间更新和测量更新两个过程,采用正态分布检验从卫星观测信息中剔除观测信息粗差,并通过剔除观测信息粗差后的卫星观测信息,确定终端对应的终端定位结果,可以提高终端位置的准确性,实现亚米级或车道级定位,辅助车道级定位导航;通过抗差加权最小二乘算法和稳健卡尔曼滤波器实现的终端定位方法,可以适用于各种类型(例如,消费级、测量型或其余类型)的卫星定位设备,可以提高终端定位的适用性。
请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。例如图12所示,该计算机设备1000可以为集成卫星定位设备的用户终端,还可以为集成卫星定位设备的服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为集成了卫星定位设备的用户终端为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。一些实施例中,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。一些实施例中,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。例如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
通过卫星观测信息确定终端对应的终端状态信息,根据终端状态信息从卫星观测信息中获取第一筛选观测信息;
将终端状态信息设置为滤波器的初始状态参数,获取滤波器针对初始状态参数的初始状态协方差矩阵;
对滤波器的初始状态参数进行时间更新,得到预测状态参数,对滤波器的初始状态协方差矩阵进行时间更新,得到预测状态协方差矩阵;
从第一筛选观测信息中,筛选出用于构建滤波器的测量更新矩阵的第二筛选观测 信息,根据由终端状态信息所确定的卫星观测误差因子,构建滤波器对应的测量方差矩阵;
通过测量更新矩阵、第二筛选观测信息、预测状态协方差矩阵以及测量方差矩阵,对滤波器的预测状态参数进行测量更新,得到目标状态参数,根据目标状态参数确定终端对应的终端定位结果。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3-图6以及图8任一个所对应实施例中对终端定位方法的描述,也可执行前文图11A、11B所对应实施例中对终端定位装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的终端定位装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3-图6以及图8任一个所对应实施例中对终端定位方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3-图6以及图8任一个所对应实施例中对终端定位方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory, RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (19)

  1. 一种终端定位方法,由可移动的终端执行,所述方法包括:
    获取第一时刻针对所述终端的定位信息集合,所述定位信息集合包括多个卫星分别对应的定位信息;
    基于所述定位信息集合估计所述终端在所述第一时刻的估计运动状态;
    获取所述终端对所述多个卫星中每个卫星进行信号测量的测量数据,基于所述测量数据估计所述多个卫星中每个卫星对应的定位信息的误差;
    获得从所述估计运动状态转换得到的转换定位信息,以计算所述定位信息集合中每个卫星对应的所述定位信息与所述转换定位信息之间的偏离信息;
    基于所述偏离信息确定所述每个卫星对应的误差调整因子,所述每个卫星对应的所述误差调整因子用于对所述每个卫星对应的定位信息的误差进行调整;
    利用所述终端的历史运动状态,通过状态预测模型预测所述终端在所述第一时刻的预测运动状态,所述历史运动状态包括所述终端在所述第一时刻之前的至少一个时刻的运动状态;
    将所述定位信息集合、所述误差和所述误差调整因子应用于状态调整模型,以对所述预测运动状态进行调整,进而获得所述终端在第一时刻的调整运动状态;及
    根据所述调整运动状态确定所述终端在所述第一时刻的定位结果。
  2. 根据权利要求1所述的方法,进一步包括:
    利用异常检测方法从所述终端在所述第一时刻获得的第一数目个卫星的定位信息中剔除至少一个卫星的定位信息,得到所述定位信息集合。
  3. 根据权利要求1所述的方法,其中,基于所述定位信息估计所述终端在第一时刻的估计运动状态包括:
    设置初始的估计运动状态;
    获得从所述初始的估计运动状态转换得到的初始的转换定位信息;
    根据所述定位信息集合中各卫星对应的定位信息相对于所述初始的转换定位信息的偏离信息,对所述初始的估计运动状态进行迭代调整,直至预设条件得到满足;
    将预设条件得到满足时的估计运动状态作为所述终端在第一时刻的估计运动状态。
  4. 根据权利要求3所述的方法,进一步包括:
    利用假设检验算法对预设条件得到满足时的估计运动状态进行检验;
    响应于所述检验未通过,根据所述定位信息集合中各卫星对应的定位信息相对于预设条件得到满足时的估计运动状态对应的转换定位信息的偏离信息,从所述定位信息集合中剔除至少一个卫星对应的定位信息以更新所述定位信息集合,并利用更新后的所述定位信 息集合执行对所述初始的估计运动状态进行迭代调整的步骤;
    响应于所述检验通过,将预设条件得到满足时的估计运动状态作为所述终端在第一时刻的估计运动状态。
  5. 根据权利要求1所述的方法,其中,所述测量数据包括以下中的至少一个:卫星的高度角、卫星信号的信噪比;
    基于所述测量数据估计所述多个卫星中每个卫星对应的定位信息的误差包括:
    利用所述测量数据和预设的算法得到所述多个卫星中每个卫星对应的定位信息的误差。
  6. 根据权利要求1所述的方法,其中,基于所述偏离信息确定所述每个卫星对应的误差调整因子包括:
    将每个卫星对应的所述定位信息与所述转换定位信息之间的所述偏离信息和每个卫星对应的定位信息的误差应用于预设的转换关系,以确定每个卫星对应的误差调整因子;
    其中,根据所述转换关系,当第一卫星对应的第一偏离信息大于第二卫星对应的第二偏离信息时,第一卫星对应的第一误差调整因子对误差的调整幅度大于第二卫星对应的第二误差调整因子对误差的调整幅度。
  7. 根据权利要求1所述的方法,进一步包括:对所述状态预测模型和所述状态调整模型进行初始化,所述初始化包括:
    将所述状态预测模型的预测运动状态设置为所述终端在第一时刻的估计运动状态;
    从所述多个卫星中每个卫星的测量数据、所述误差和所述误差调整因子中获得所述状态调整模型中的参数的初始值。
  8. 根据权利要求1所述的方法,其中,通过状态预测模型预测所述终端在第一时刻的预测运动状态包括:
    将所述历史运动状态中所述终端在第二时刻的调整运动状态应用于所述状态预测模型,使所述状态预测模型基于所述第一时刻和所述第二时刻之间的时间差推算出所述终端在第一时刻的预测运动状态;
    其中,所述第二时刻为在所述第一时刻之前最后一次对所述终端进行定位的时刻。
  9. 根据权利要求1所述的方法,其中,进一步包括:
    获取从所述预测运动状态转换得到的第二转换定位信息;
    获取所述定位信息相对所述第二转换定位信息的偏差数据;
    通过异常值检测从所述偏差数据中剔除至少一个卫星对应的偏差数据,并从所述定位信息集合中剔除所述至少一个卫星对应的定位信息,从而更新所述定位信息集合;
    对执行所述剔除后的所述偏差数据进行时钟跳变检测,当检测到时钟跳变时,对所述预测运动状态进行调整,并对所述状态调整模型中的至少一个参数进行调整。
  10. 根据权利要求9所述的方法,其中,对执行所述剔除后的所述偏差数据进行时钟跳变检测包括以下中的至少一个:
    所述定位信息包括伪距信息,所述偏差数据为伪距信息的偏差数据,对所述偏差数据进行钟差跳变检测;
    所述定位信息包括多普勒信息,所述偏差数据为多普勒信息的偏差数据,对所述偏差数据进行钟漂跳变检测。
  11. 根据权利要求1所述的方法,其特征在于,进一步包括:
    获取从所述预测运动状态转换得到的第二转换定位信息;
    获取所述定位信息集合中的每个卫星对应的定位信息相对所述第二转换定位信息的偏差数据的集合;
    通过异常值检测从所述偏差数据的集合中剔除至少一个第一卫星对应的偏差数据,并从所述定位信息集合中剔除所述至少一个第一卫星对应的定位信息,从而更新所述定位信息集合;
    利用所述偏差数据、所述状态调整模型以及所述定位信息集合计算模型验证参数值;
    响应于所述模型验证参数值满足预设的阈值条件,对所述定位信息集合进行统计分布检测,剔除未通过所述统计分布检测的至少一个卫星对应的定位信息,从而更新所述定位信息集合;
    响应于所述模型验证参数值不满足预设的阈值条件,对所述状态预测模型和所述状态调整模型进行初始化,并利用当前的定位信息集合执行预测所述终端在第一时刻的预测运动状态和对所述第一时刻的预测运动状态进行调整的步骤。
  12. 根据权利要求1至11中任一权利要求所述的方法,其特征在于,对所述第一时刻的预测运动状态进行调整包括:
    将所述定位信息集合、所述预测运动状态、所述定位信息集合中每个卫星对应的所述误差和所述误差调整因子应用于所述状态调整模型,以获得运动状态调整量;
    利用所述调整量对所述预测运动状态进行调整,以获得所述终端在第一时刻的调整运动状态。
  13. 根据权利要求12所述的方法,进一步包括:在计算所述运动状态调整量之前,确定所述终端的历史运动状态中的至少一个运动状态参数的波动信息;
    利用所述波动信息获得所述至少一个运动状态参数的各种取值的概率信息;
    根据所述概率信息估计所述状态预测模型针对所述至少一个运动状态参数的预测误差信息;
    根据所述预测误差信息对所述状态调整模型进行调整。
  14. 根据权利要求12所述的方法,进一步包括:
    利用所述定位信息集合、所述定位信息集合中每个卫星对应的所述误差和所述误差调整因子对所述状态调整模型进行调整。
  15. 根据权利要求12所述的方法,进一步包括:
    获取从所述调整运动状态转换得到的第三转换定位信息;
    获得所述定位信息集合中每个卫星对应的定位信息相对所述第三转换定位信息的偏差数据的集合;
    对所述偏差数据的集合进行统计分布检测;
    从所述定位信息集合中剔除未通过统计分布检测的至少一个卫星对应的定位信息,从而更新所述定位信息集合;
    利用更新后的所述定位信息集合对所述预测运动状态进行调整。
  16. 根据权利要求12所述的方法,进一步包括:
    获取所述调整运动状态相对于所述预测运动状态的调整量;
    响应于所述调整量不符合预设的阈值条件,对所述状态预测模型和所述状态调整模型进行初始化,并利用当前的定位信息集合执行预测所述终端在第一时刻的预测运动状态和对所述预测运动状态进行调整的步骤。
  17. 一种终端定位装置,其特征在于,包括:
    卫星观测模块,用于获取第一时刻针对终端的定位信息集合,所述定位信息集合包括多个卫星分别对应的定位信息;基于所述定位信息估计所述终端在第一时刻的估计运动状态;获取所述终端对所述多个卫星中每个卫星进行信号测量的测量数据,基于所述测量数据估计所述多个卫星中每个卫星对应的定位信息的误差;
    卫星精度调整模块,用于获得从所述估计运动状态转换得到的转换定位信息,以计算所述多个卫星中每个卫星对应的所述定位信息与所述转换定位信息之间的偏离信息,基于所述偏离信息确定所述每个卫星对应的误差调整因子,所述每个卫星对应的所述误差调整因子用于对所述每个卫星对应的定位信息的误差进行调整;
    预测模块,用于利用所述终端的历史运动状态,通过状态预测模型预测所述终端在所述第一时刻的预测运动状态,所述历史运动状态包括所述终端在所述第一时刻之前的至少一个时刻的运动状态;
    调整模块,用于将所述定位信息、每个卫星对应的定位信息的所述误差和所述误差调整因子应用于状态调整模型,以对所述预测运动状态进行调整,进而获得所述终端在第一时刻的调整运动状态;根据所述调整运动状态确定所述终端在第一时刻的定位结果。
  18. 一种计算机设备,其特征在于,包括存储器和处理器;
    所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-16任一项所述的方法。
  19. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-16任一项所述的方法。
PCT/CN2023/071556 2022-01-12 2023-01-10 终端定位方法、装置、设备以及介质 WO2023134666A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210034069.0A CN114384569A (zh) 2022-01-12 2022-01-12 终端定位方法、装置、设备以及介质
CN202210034069.0 2022-01-12

Publications (1)

Publication Number Publication Date
WO2023134666A1 true WO2023134666A1 (zh) 2023-07-20

Family

ID=81202570

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/071556 WO2023134666A1 (zh) 2022-01-12 2023-01-10 终端定位方法、装置、设备以及介质

Country Status (2)

Country Link
CN (1) CN114384569A (zh)
WO (1) WO2023134666A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117268395A (zh) * 2023-09-20 2023-12-22 北京自动化控制设备研究所 一种无人机地图匹配位置跳变抑制方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117250647A (zh) * 2022-06-09 2023-12-19 腾讯科技(深圳)有限公司 定位方法、装置、设备及存储介质
CN114919627B (zh) * 2022-06-17 2023-06-09 重庆交通大学 一种基于ris技术的列车定位追踪的方法
CN115379560B (zh) * 2022-08-22 2024-03-08 昆明理工大学 一种无线传感网络中仅有距离量测信息下的目标定位与跟踪方法
CN115242297B (zh) * 2022-09-21 2022-11-25 腾讯科技(深圳)有限公司 移动终端的运动参数确定方法、装置、设备和存储介质
CN116222584B (zh) * 2023-05-10 2023-07-25 北京白水科技有限公司 群组导航定位中的分组信息的确定方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001208821A (ja) * 2000-01-28 2001-08-03 Toshiba Corp 測位用受信装置及びこの装置に適用される測位情報処理方法
JP2004077228A (ja) * 2002-08-13 2004-03-11 Keyware Solutions Inc Gpsによる自律測位方法、自律航法装置及びコンピュータプログラム
CN105849589A (zh) * 2013-12-27 2016-08-10 日本电气株式会社 全球导航卫星系统、定位终端、定位方法以及记录介质
US20180224555A1 (en) * 2017-02-09 2018-08-09 Samsung Electronics Co., Ltd. Method and apparatus for improving position-velocity solution in gnss receivers
JP2018128330A (ja) * 2017-02-08 2018-08-16 三菱スペース・ソフトウエア株式会社 測位計算装置、測位計算方法及び測位計算プログラム
CN112558125A (zh) * 2021-02-22 2021-03-26 腾讯科技(深圳)有限公司 一种车辆定位的方法、相关装置、设备以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001208821A (ja) * 2000-01-28 2001-08-03 Toshiba Corp 測位用受信装置及びこの装置に適用される測位情報処理方法
JP2004077228A (ja) * 2002-08-13 2004-03-11 Keyware Solutions Inc Gpsによる自律測位方法、自律航法装置及びコンピュータプログラム
CN105849589A (zh) * 2013-12-27 2016-08-10 日本电气株式会社 全球导航卫星系统、定位终端、定位方法以及记录介质
JP2018128330A (ja) * 2017-02-08 2018-08-16 三菱スペース・ソフトウエア株式会社 測位計算装置、測位計算方法及び測位計算プログラム
US20180224555A1 (en) * 2017-02-09 2018-08-09 Samsung Electronics Co., Ltd. Method and apparatus for improving position-velocity solution in gnss receivers
CN112558125A (zh) * 2021-02-22 2021-03-26 腾讯科技(深圳)有限公司 一种车辆定位的方法、相关装置、设备以及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117268395A (zh) * 2023-09-20 2023-12-22 北京自动化控制设备研究所 一种无人机地图匹配位置跳变抑制方法

Also Published As

Publication number Publication date
CN114384569A (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
WO2023134666A1 (zh) 终端定位方法、装置、设备以及介质
CN111886519B (zh) 定位系统、方法和介质
US11237276B2 (en) System and method for gaussian process enhanced GNSS corrections generation
CN109313268B (zh) 具有宽巷偏差校正值和窄巷偏差校正值的导航卫星的轨道和低延时时钟的确定
US11885890B2 (en) Method and apparatus of single epoch position bound
US20200209406A1 (en) Error Correction in GPS Signal
CN109154664B (zh) 具有低延时时钟校正值的导航卫星轨道和时钟的确定
CN109154670B (zh) 导航卫星宽巷偏差确定系统和方法
EP2488827A1 (en) System and method for compensating for faulty measurements
CN112327340B (zh) 终端定位精度评估方法、装置、设备以及介质
KR20130036145A (ko) 이동 정보 결정 장치, 수신기 및 그에 의한 방법
CN116643293A (zh) Gnss定位方法及装置、设备、存储介质
US20110181462A1 (en) System and Method for Positioning with GNSS Using Multiple Integer Candidates
CN110426717B (zh) 一种协同定位方法及系统、定位设备、存储介质
US11474263B2 (en) System and method for GNSS ambiguity resolution
KR102504015B1 (ko) 다중 저궤도위성을 이용한 도플러 효과 기반의 gnss 측위 정확도 향상 방법
US20240069213A1 (en) Correcting output of global satellite navigation receiver
US11340356B2 (en) System and method for integer-less GNSS positioning
CN115242297B (zh) 移动终端的运动参数确定方法、装置、设备和存储介质
WO2023236643A1 (zh) 定位方法、装置、设备及存储介质
CN113917509B (zh) 一种双差模糊度固定方法、设备以及可读存储介质
CN111505686B (zh) 一种基于北斗导航系统的粗差剔除方法
Xu et al. A Framework for Graphical GNSS Multipath and NLOS Mitigation
Haosheng Intelligent shadow matching based on improved multi-classifier for urban positioning
GB2607030A (en) Method and apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23740008

Country of ref document: EP

Kind code of ref document: A1