A method for computing a position of a receiver, the method comprising: acquiring, at a receiver, positioning signals from a plurality of transmitters in a terrestrial transmitter network; and computing a position of the receiver during an operating mode, wherein the operating mode is a first operating mode when the position of the receiver is computed by the receiver using the positioning signals, or a second operating mode when the position of the receiver is computed by a server using information the receiver determined from the positioning signals, characterised in that the method comprises identifying multipath components of the positioning signals by: generating a cross-correlation function by cross-correlating received samples with a transmitted sequence from a transmitter; extracting, from the cross-correlation function, a peak vector that includes a first number of samples left of a peak of the cross-correlation function and a second number of samples right of the peak; generating a reference peak vector from a correlation function measured in a channel environment that has low noise and at least one of easily separable multipath and no-multipath components; improving a signal-to-noise ratio in the peak vector by coherently averaging across at least one of a plurality of pseudorandom codes and a plurality of bits; calculating a Fourier Transform of the reference peak vector; generating a frequency domain estimate of a channel corresponding to the transmitted sequence using a Fourier Transform of a measured peak vector and the Fourier Transform of the reference peak vector; generating a reduced channel estimate vector from the frequency domain estimate of the channel; defining an estimated covariance matrix of the reduced channel estimate vector; performing singular value decomposition on the estimated covariance matrix; generating a vector of sorted singular values; using the vector of sorted singular values to separate signal and noise subspaces; generating a noise subspace matrix; and estimating time of arrival of a first path using the noise subspace matrix. acquiring, at a receiver, positioning signals from a plurality of transmitters in a terrestrial transmitter network; and computing a position of the receiver during an operating mode, wherein the operating mode is a first operating mode when the position of the receiver is computed by the receiver using the positioning signals, or a second operating mode when the position of the receiver is computed by a server using information the receiver determined from the positioning signals, characterised in that the method comprises identifying multipath components of the positioning signals by: generating a cross-correlation function by cross-correlating received samples with a transmitted sequence from a transmitter; extracting, from the cross-correlation function, a peak vector that includes a first number of samples left of a peak of the cross-correlation function and a second number of samples right of the peak; generating a reference peak vector from a correlation function measured in a channel environment that has low noise and at least one of easily separable multipath and no-multipath components; improving a signal-to-noise ratio in the peak vector by coherently averaging across at least one of a plurality of pseudorandom codes and a plurality of bits; calculating a Fourier Transform of the reference peak vector; generating a frequency domain estimate of a channel corresponding to the transmitted sequence using a Fourier Transform of a measured peak vector and the Fourier Transform of the reference peak vector; generating a reduced channel estimate vector from the frequency domain estimate of the channel; defining an estimated covariance matrix of the reduced channel estimate vector; performing singular value decomposition on the estimated covariance matrix; generating a vector of sorted singular values; using the vector of sorted singular values to separate signal and noise subspaces; generating a noise subspace matrix; and estimating time of arrival of a first path using the noise subspace matrix. generating a cross-correlation function by cross-correlating received samples with a transmitted sequence from a transmitter; extracting, from the cross-correlation function, a peak vector that includes a first number of samples left of a peak of the cross-correlation function and a second number of samples right of the peak; generating a reference peak vector from a correlation function measured in a channel environment that has low noise and at least one of easily separable multipath and no-multipath components; improving a signal-to-noise ratio in the peak vector by coherently averaging across at least one of a plurality of pseudorandom codes and a plurality of bits; calculating a Fourier Transform of the reference peak vector; generating a frequency domain estimate of a channel corresponding to the transmitted sequence using a Fourier Transform of a measured peak vector and the Fourier Transform of the reference peak vector; generating a reduced channel estimate vector from the frequency domain estimate of the channel; defining an estimated covariance matrix of the reduced channel estimate vector; performing singular value decomposition on the estimated covariance matrix; generating a vector of sorted singular values; using the vector of sorted singular values to separate signal and noise subspaces; generating a noise subspace matrix; and estimating time of arrival of a first path using the noise subspace matrix.