A method for estimating a time of arrival of a signal, the signal being generated by a transmitting device as a transmitted pulse and received by a receiving device as a received signal, the method comprising filtering the received signal via a filter, to generate a first waveform indicative of a filtered received signal wherein: a shape of an impulse response of the filter has a main lobe having a maximal power within the shape, early side lobes located before the main lobe, and late side lobes located after the main lobe; a ratio of the maximal power of the main lobe to a second maximal power of a tallest of the early side lobes within a desired distance from the main lobe is at least 13 dB; a width of the main lobe is larger than a width of a main lobe of a sinc filter's impulse response by no more than 42% the filter is created by setting time and frequency constraints on the impulse response using a time domain error function and a frequency domain error function; the method further comprising: (i) if the first waveform is in a frequency domain, moving the first waveform to a time domain; (ii) estimating a noise level in early samples before a start of the first waveform in the time domain; (iii) identifying a first energy rise point on the first waveform in the time domain, in which an energy rises above a predetermined threshold relative to the estimated noise level; (iv) from first energy rise point, following a rising curve of a main lobe of the first waveform in the time domain; and (v) identifying a location of a first pulse within the first waveform in the time domain, according to a predefined decision technique. a shape of an impulse response of the filter has a main lobe having a maximal power within the shape, early side lobes located before the main lobe, and late side lobes located after the main lobe; a ratio of the maximal power of the main lobe to a second maximal power of a tallest of the early side lobes within a desired distance from the main lobe is at least 13 dB; a width of the main lobe is larger than a width of a main lobe of a sinc filter's impulse response by no more than 42% the filter is created by setting time and frequency constraints on the impulse response using a time domain error function and a frequency domain error function; the method further comprising: (i) if the first waveform is in a frequency domain, moving the first waveform to a time domain; (ii) estimating a noise level in early samples before a start of the first waveform in the time domain; (iii) identifying a first energy rise point on the first waveform in the time domain, in which an energy rises above a predetermined threshold relative to the estimated noise level; (iv) from first energy rise point, following a rising curve of a main lobe of the first waveform in the time domain; and (v) identifying a location of a first pulse within the first waveform in the time domain, according to a predefined decision technique. (i) if the first waveform is in a frequency domain, moving the first waveform to a time domain; (ii) estimating a noise level in early samples before a start of the first waveform in the time domain; (iii) identifying a first energy rise point on the first waveform in the time domain, in which an energy rises above a predetermined threshold relative to the estimated noise level; (iv) from first energy rise point, following a rising curve of a main lobe of the first waveform in the time domain; and (v) identifying a location of a first pulse within the first waveform in the time domain, according to a predefined decision technique. <EOS>