A location and tracking system comprising wireless base stations, an input interface, and a processor, wherein the processor is adapted to: (a) receive physical environment inputs and provide an initial physical environment model with wall segment parameters; (b) generate an initial channel parameters fingerprint of projected signal strengths in the environment according to the initial environment model; (c) at time intervals: monitor channel parameters of a mobile node in the environment, determine possible mobile node trajectories, and simulate motion of the node along a h th trajectory to create a corresponding fitness function, said fitness function describing how similar the channel parameters estimated along the h th trajectory by the prediction model are to gathered channel parameters by the mobile node along its trajectory; (d) modify said wall segment parameters of the environment model according to said fitness function of the h th mobile node trajectory by adjustment of current parameters of said wall segments towards optimised parameters of said wall segments which influence the channel parameters along the h th trajectory, in which the adjustment is given by: Lw t i = Lw t - 1 i + Δ ⁢ Lw t i, where: Lw i t represents i th wall segment loss at time (index of iteration) t, Lw i t-1 represents i th wall segment loss at iteration t -1, Δ Lw i t denotes the delta of a wall segment loss at time t, (e) update the fingerprint according to the modification of the environment model in step (d); (f) perform location error estimation which takes into account the re-calculated fingerprint and gathered channel parameters and the h th trajectory as a ground truth; (g) rank the H hypotheses taking into account localisation errors along the trajectories; (h) repeat steps to (g) in subsequent iterations for each of the H hypotheses; and (i) select a limited number of the most likely hypotheses and terminate the other hypotheses. (a) receive physical environment inputs and provide an initial physical environment model with wall segment parameters; (b) generate an initial channel parameters fingerprint of projected signal strengths in the environment according to the initial environment model; (c) at time intervals: monitor channel parameters of a mobile node in the environment, determine possible mobile node trajectories, and simulate motion of the node along a h th trajectory to create a corresponding fitness function, said fitness function describing how similar the channel parameters estimated along the h th trajectory by the prediction model are to gathered channel parameters by the mobile node along its trajectory; monitor channel parameters of a mobile node in the environment, determine possible mobile node trajectories, and simulate motion of the node along a h th trajectory to create a corresponding fitness function, said fitness function describing how similar the channel parameters estimated along the h th trajectory by the prediction model are to gathered channel parameters by the mobile node along its trajectory; (d) modify said wall segment parameters of the environment model according to said fitness function of the h th mobile node trajectory by adjustment of current parameters of said wall segments towards optimised parameters of said wall segments which influence the channel parameters along the h th trajectory, in which the adjustment is given by: Lw t i = Lw t - 1 i + Δ ⁢ Lw t i, where: Lw i t represents i th wall segment loss at time (index of iteration) t, Lw i t-1 represents i th wall segment loss at iteration t -1, Δ Lw i t denotes the delta of a wall segment loss at time t, Lw i t represents i th wall segment loss at time (index of iteration) t, Lw i t-1 represents i th wall segment loss at iteration t -1, Δ Lw i t denotes the delta of a wall segment loss at time t, (e) update the fingerprint according to the modification of the environment model in step (d); (f) perform location error estimation which takes into account the re-calculated fingerprint and gathered channel parameters and the h th trajectory as a ground truth; (g) rank the H hypotheses taking into account localisation errors along the trajectories; (h) repeat steps to (g) in subsequent iterations for each of the H hypotheses; and (i) select a limited number of the most likely hypotheses and terminate the other hypotheses.