A navigation system (100A, 100B, 100C, 300A, 300B, 300C) comprising: at least one inertial sensor configured to detect motion of the system and generate inertial data; at least one aiding device configured to generate aiding device measurement data; at least one processing unit configured to: subtract a previously calculated un-smoothed navigation solution from the aiding device measurement data to determine error measurements between the aiding device measurement data supplied by the aiding device and the previously calculated un-smoothed navigation solution; generate navigation state variable error resets based on the error measurements between the aiding device measurement data and the previously calculated navigation solution (112, 120); generate an un-smoothed navigation solution based on the inertial data and the aiding device measurement data by calculating the un-smoothed navigation solution based on the inertial data and the navigation state variable error resets, the un-smoothed navigation solution including the navigation state variable error resets; sum the navigation state variable error resets into a cumulative sum of the navigation state variable error resets; high pass filter the cumulative sum of the navigation state variable error resets; and subtract the high pass filtered cumulative sum of the navigation state variable error resets from the un-smoothed navigation solution to generate a smoothed navigation solution. at least one inertial sensor configured to detect motion of the system and generate inertial data; at least one aiding device configured to generate aiding device measurement data; at least one processing unit configured to: subtract a previously calculated un-smoothed navigation solution from the aiding device measurement data to determine error measurements between the aiding device measurement data supplied by the aiding device and the previously calculated un-smoothed navigation solution; generate navigation state variable error resets based on the error measurements between the aiding device measurement data and the previously calculated navigation solution (112, 120); generate an un-smoothed navigation solution based on the inertial data and the aiding device measurement data by calculating the un-smoothed navigation solution based on the inertial data and the navigation state variable error resets, the un-smoothed navigation solution including the navigation state variable error resets; sum the navigation state variable error resets into a cumulative sum of the navigation state variable error resets; high pass filter the cumulative sum of the navigation state variable error resets; and subtract the high pass filtered cumulative sum of the navigation state variable error resets from the un-smoothed navigation solution to generate a smoothed navigation solution. subtract a previously calculated un-smoothed navigation solution from the aiding device measurement data to determine error measurements between the aiding device measurement data supplied by the aiding device and the previously calculated un-smoothed navigation solution; generate navigation state variable error resets based on the error measurements between the aiding device measurement data and the previously calculated navigation solution (112, 120); generate an un-smoothed navigation solution based on the inertial data and the aiding device measurement data by calculating the un-smoothed navigation solution based on the inertial data and the navigation state variable error resets, the un-smoothed navigation solution including the navigation state variable error resets; sum the navigation state variable error resets into a cumulative sum of the navigation state variable error resets; high pass filter the cumulative sum of the navigation state variable error resets; and subtract the high pass filtered cumulative sum of the navigation state variable error resets from the un-smoothed navigation solution to generate a smoothed navigation solution.