smartloc module

Functions to process TU Chemnitz SmartLoc dataset measurements.

class smartloc.SmartLocRaw(input_path)[source]

Bases: NavData

Class handling raw measurements from SmartLoc dataset [1].

The SmartLoc dataset is a GNSS dataset from TU Chemnitz Dataset is available on their website [2]. Inherits from NavData().

References

TU Chemnitz raw specific loading and preprocessing.

Should input path to RXM-RAWX.csv file.

Parameters:

input_path (string or path-like) – Path to measurement csv file

static _row_map()[source]

Map of row names from loaded to gnss_lib_py standard

Returns:

row_map – Dictionary of the form {old_name : new_name}

Return type:

Dict

postprocess()[source]

TU Chemnitz raw specific postprocessing

smartloc.calculate_gt_ecef(smartloc_raw)[source]

Calculate ground truth positions in ECEF.

Parameters:

smartloc_raw (gnss_lib_py.navdata.navdata.NavData) – Instance of NavData containing SmartLoc data

Returns:

smartloc_los – Instance of NavData containing GT ECEF positions in meters.

Return type:

gnss_lib_py.navdata.navdata.NavData

smartloc.calculate_gt_vel(smartloc_raw)[source]

Calculate ground truth velocity and acceleration in ECEF.

Parameters:

smartloc_raw (gnss_lib_py.navdata.navdata.NavData) – Instance of NavData containing SmartLoc data

Returns:

smartloc_los – Instance of NavData containing GT ECEF velocity and acceleration in meters per second and meters per second^2.

Return type:

gnss_lib_py.navdata.navdata.NavData

smartloc.remove_nlos(smartloc_raw)[source]

Remove NLOS and ‘no information’ measurements from SmartLoc.

The dataset’s paper [3] says the following about their NLOS classification process: “The NovAtel receiver is also able to provide raw measurement (pseudorange) information like the u-blox receiver. The u-blox receiver provide information about all received satellite signals. The NovAtel receiver seems to exclude some satellites in harsh environments, which might be affected by NLOS. NovAtel used for receiving a Pinwheel antenna and internally different algorithms. Hence, we use this information to build a NLOS detection based on different satellites availabilities in both receivers. Therefore, we remember the last received set of satellites from NovAtel and time of data. When we receive in next step a set of satellites from u-blox, we compare the availability of each satellite and time span since the last update from the NovAtel. If the time span is too high or the satellite was never seen before, the pseudorange measurement or satellite marked as NLOS. In the other case, the measurement marked as LOS. This approach gives a hint for the type of LOS or NLOS of a given measurement and we export this information to complete the datasets.”

Parameters:

smartloc_raw (gnss_lib_py.navdata.navdata.NavData) – Instance of NavData containing SmartLoc data

Returns:

smartloc_los – Instance of NavData containing only LOS labeled measurements

Return type:

gnss_lib_py.navdata.navdata.NavData

References