A navigation system 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 ; 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 ; 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 ; 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 . <EOS>