A method comprising: receiving signals, in a receiver from a transmitter, along a traveled path and recording, in a memory, signal power levels of the received signals, wherein the traveled path is a path actually traveled by the receiver; inputting a first estimated track, wherein the first estimated track includes an estimate of the traveled path of the receiver; identifying, by a processor, extracted features of the recorded signal power levels, wherein identifying the extracted features includes: identifying a first observed change of the recorded signal power levels corresponding to a first point (A1, T1) on the first estimated track, and identifying a second observed change of the recorded signal power levels corresponding to a second point (B1, T2) on the first estimated track, wherein each of the first observed change and the second observed change is caused by a propagation path between the transmitter and the receiver transitioning between an unobstructed and an obstructed propagation path as the receiver moves along the traveled path; and determining, by the processor, expected features of expected signal power levels, wherein determining expected features includes: generating expected signal power levels at points along the first estimated track by modeling signal propagation, identifying a first expected change of the expected signal power levels corresponding to a third point on the first estimated track, and identifying a second expected change of the expected signal power levels corresponding to a fourth point on the first estimated track, wherein each of the first expected change and the second expected change is caused by a modeled propagation path transitioning between an obstructed propagation path and an unobstructed propagation path, determining a track bias based on the first point (A1, T1) associated with first observed change, the second point (B1, T2) associated with second observed change, the third point associated with first expected change, and the fourth point associated with the second expected change; and generating a corrected track based on the first estimated track and the track bias. receiving signals, in a receiver from a transmitter, along a traveled path and recording, in a memory, signal power levels of the received signals, wherein the traveled path is a path actually traveled by the receiver; inputting a first estimated track, wherein the first estimated track includes an estimate of the traveled path of the receiver; identifying, by a processor, extracted features of the recorded signal power levels, wherein identifying the extracted features includes: identifying a first observed change of the recorded signal power levels corresponding to a first point (A1, T1) on the first estimated track, and identifying a second observed change of the recorded signal power levels corresponding to a second point (B1, T2) on the first estimated track, wherein each of the first observed change and the second observed change is caused by a propagation path between the transmitter and the receiver transitioning between an unobstructed and an obstructed propagation path as the receiver moves along the traveled path; and identifying a first observed change of the recorded signal power levels corresponding to a first point (A1, T1) on the first estimated track, and identifying a second observed change of the recorded signal power levels corresponding to a second point (B1, T2) on the first estimated track, wherein each of the first observed change and the second observed change is caused by a propagation path between the transmitter and the receiver transitioning between an unobstructed and an obstructed propagation path as the receiver moves along the traveled path; and determining, by the processor, expected features of expected signal power levels, wherein determining expected features includes: generating expected signal power levels at points along the first estimated track by modeling signal propagation, identifying a first expected change of the expected signal power levels corresponding to a third point on the first estimated track, and identifying a second expected change of the expected signal power levels corresponding to a fourth point on the first estimated track, wherein each of the first expected change and the second expected change is caused by a modeled propagation path transitioning between an obstructed propagation path and an unobstructed propagation path, generating expected signal power levels at points along the first estimated track by modeling signal propagation, identifying a first expected change of the expected signal power levels corresponding to a third point on the first estimated track, and identifying a second expected change of the expected signal power levels corresponding to a fourth point on the first estimated track, wherein each of the first expected change and the second expected change is caused by a modeled propagation path transitioning between an obstructed propagation path and an unobstructed propagation path, determining a track bias based on the first point (A1, T1) associated with first observed change, the second point (B1, T2) associated with second observed change, the third point associated with first expected change, and the fourth point associated with the second expected change; and generating a corrected track based on the first estimated track and the track bias.