WO2016132338A1 - System and method for estimating time of arrival (toa) - Google Patents
System and method for estimating time of arrival (toa) Download PDFInfo
- Publication number
- WO2016132338A1 WO2016132338A1 PCT/IB2016/050919 IB2016050919W WO2016132338A1 WO 2016132338 A1 WO2016132338 A1 WO 2016132338A1 IB 2016050919 W IB2016050919 W IB 2016050919W WO 2016132338 A1 WO2016132338 A1 WO 2016132338A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- waveform
- time
- filter
- point
- noise
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0205—Details
- G01S5/0218—Multipath in signal reception
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S11/00—Systems for determining distance or velocity not using reflection or reradiation
- G01S11/02—Systems for determining distance or velocity not using reflection or reradiation using radio waves
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0205—Details
- G01S5/0221—Receivers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/06—Position of source determined by co-ordinating a plurality of position lines defined by path-difference measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/309—Measuring or estimating channel quality parameters
- H04B17/336—Signal-to-interference ratio [SIR] or carrier-to-interference ratio [CIR]
Definitions
- the present invention in some embodiments thereof, relates to signal processing, and more particularly, to systems and methods for determining time of arrival (TO A).
- Time of arrival estimation is the estimation of the travel time of a radio signal from a single transmitter to a remote single receiver.
- the travel time may be expressed in units of time or in units of distance, as the distance between the transmitter and the receiver can be easily calculated by multiplying the time of arrival times the known speed of the radio wave.
- a difficulty in the estimation of time of arrival arises from the fact that the radio wave has multiple paths from the transmitter 10 to the receiver 12.
- the first path 14 is the direct path from the transmitter to the receiver, and is the path that TOA estimation seeks to identify.
- the shape of a waveform generated by the receiver 12 in response to the reception of the radio signal is a combined waveform which includes noise, and a sum of the first arriving waveform (corresponding to the first path 14) with a multitude of waveforms corresponding to other paths (for examples, 16, 18, and 20) which are received by the receiver 12 at later times.
- Each path is filtered to a desired bandwidth as the reference waveform does not exist outside this bandwidth.
- the bandwidth filtering causes each waveform to have early side lobes and late side lobes.
- the early side lobes interfere with waveforms corresponding to preceding (shorter) paths and the late side lobes interfere with waveforms corresponding to subsequent (longer) paths (echoes or multipath).
- the radio wave pulse (tap) 22 which has travelled via the first path 14 and has arrived at a time ⁇ has a first waveform 24 generated by the bandwidth filtering.
- Hie first waveform 24 has early side lobes 26 and late side lobes 28.
- the second waveform 30 generated after bandwidth filtering the second received radio wave pulse 32 (which as travelled the second path 16) has second early lobes 34 and second late lobes 36.
- the impulse response of bandwidth filter to each pulse has a sine or similar low-pass waveform in the time domain, as seen by the shapes of the waveforms in Fig. 2.
- the combined waveform that is received by the receiver therefore has a shape which includes a main lobe sided by early and late lobes.
- Two combined waveforms obtained by bandwidth filtering output responses of two antennas radio signals are shown in Figs. 3 and 4.
- the waveforms 40 and 42 are generated by bandwidth filtering the radio wave (a plurality of pulses) as received by two respective antennas.
- the waveforms 40 and 42 are very different from the waveform 44 corresponding to the reference waveforms (which is the filtered transmitted waveform, i.e. the multipath waveform that is transmitted by the transmitter and filtered by the prior art filter). It is therefore very difficult to use simple signal processing to find the exact time of arrival by comparing the reference waveform 34 to the filtered waveforms.
- the impulse response shape is usually a sine, a raised cosine, or some relatively slowly decaying waveform symmetrical around the origin.
- the reason for the symmetry is that the frequency domain matched filter creates a zero phase signal symmetrical in time domain.
- the matched filter is necessary to optimize symbol detection in noisy environment (used in conjunction with an equalizer). In this problem, the information is carried by all the taps.
- Some embodiments of the present invention relate to the use of a near-causal filter (near zero energy before the origin) which ensures that the first tap is not interfered (or less interfered) by subsequent taps. Filtering a signal in this manner makes it easier to identify the first tap, and therefore to calculate the TOA.
- a near-causal filter near zero energy before the origin
- 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.
- the slope of the main lobe is near the slope of the main lobe of the sine filter's impulse response.
- a width of the main lobe is larger than a width of a main lobe of a sine filter's impulse response, while being maintained near the width of the sine filter's main lobe.
- the method comprises: (i) if the first waveform is in a frequency domain, moving 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.
- the moving first waveform to a time domain comprises applying an inverse fast Fourier transform (iFFT) to the first waveform.
- iFFT inverse fast Fourier transform
- the predetermined threshold is about 10 dB over the estimated noise.
- following a rising curve of the main lobe of the first waveform in the time domain comprises oversampling the first waveform.
- oversampling is performed via inverse DFT (Discrete Fourier Transform), via CZT (Chirp-Z Transform), or via iFFT.
- the method for estimating a time of arrival of a signal comprises, between steps (iii) and (iv): determining a property comprising at least one of: a signal to noise ratio (SNR) of the first waveform in the time domain, a channel length, and a power delay profile; selecting one of a plurality of predetermined near-causal filters matching the property, the predetermined near-causal filters being pre-calculated for enabling better estimation of the time of arrival when applied to signals having corresponding properties; and applying the selected near-causal filter to the received signal.
- SNR signal to noise ratio
- the predefined decision technique comprises: selecting a first point at or above the first energy rise point on the first waveform and calculating SNR in a vicinity of the first point; and using a look-up table to match the SNR to a predetermined time offset between the first point and a waveform of a first pulse to be received.
- the predetermined time offset is determined via at least one of: one or more theoretical considerations, one or more simulations, previously acquired experimental data.
- the predefined decision technique comprises: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a matching between a shape of a segment between the at least two consecutive points and a shape of the reference waveform; determining one or more points along the first waveform until an operating point is found at which a match between the first waveform and the reference waveform is found; constructing an instance of the reference waveform from a segment in a vicinity of the operating point; and determining a time interval between the operating point and a center of the constructed instance of the reference waveform, the time interval being an estimate of the time of arrival.
- the operating is one of: a point at which a minimal least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found; a point at which a least squares error between the shape of the first waveform and a shape of a corresponding section of the reference waveform is below a first predetermined threshold and an energy of the point is above a second pre-determined threshold with respect to the estimated noise; a point at which a minimal weighted least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found, the minimal weighted least squares error being expressed as ⁇ ( ⁇ ' - ci 1 . (t 1 ' » sf C- 1 iy f - a ⁇ ' it )
- Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the reference waveform
- al is a complex scalar and tl is a time shift of the reference waveform
- X' l is a complex vector corresponding to a waveform of first pulse to be received
- C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise and N' is the noise left after subtracting a waveform of the first arriving pulse (first path) from Y' ;
- a point at which a weighted least squares error is below a predetermined error between the shape of the first waveform and a shape of a corresponding section of the reference waveform and an energy of the point is above a second pre-determined threshold with respect to the estimated noise.
- the predefined decision technique comprises: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a least squares error lY* !A) ⁇ between a shape of a first waveform and shapes of a sum at least two of instances of the reference waveform, the minimization formula being, where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the ith instance of reference waveform, ai is a complex scalar, 3 ⁇ 4 is a time shift of the ith instance of the reference waveform and i > 2; determining one or more points along the first waveform until an operating point is found at which the least square error is minimized or at which the least square error is below a certain threshold; constructing i instances of the reference
- the operating point at which the weighted least squares error is minimized or below a predefined threshold the weighted least squares error being: 1 - - " s iJ j where C the noise covanance matrix or the 2 or N point noise vector from the general model of signal plus noise, and is the noise left after subtracting i waveforms corresponding to first i arriving paths whose impact on the first path are to be taken into account wish to take into account (i>2 and includes the first path).
- the method for estimating a time of arrival of a signal comprises, before step (i): applying the near-causal filter to the received signal in time domain, in conjunction to a low pass filter.
- the method further comprises following the application of the near causal filter, at least one of: down-sampling, pilot descrambling, accumulation, and integration of the first waveform.
- the method comprises, prior to step (i): converting the received signal into a frequency domain signal; descrambling the frequency domain signal; applying the causal to the frequency domain signal filter in the frequency domain to generate a first waveform in the frequency domain; and converting the first waveform in the frequency domain filtered into the first waveform in the time domain.
- the method for estimating a time of arrival of a signal comprises, prior to step (i): at least one of down-sampling, pilot descrambling, accumulation, and integration of the received signal in the time domain to generate a correlated received waveform; converting the correlated received waveform into a frequency domain signal; applying the causal to the correlated received waveform in the frequency domain to generate a first waveform in the frequency domain; and converting the first waveform in the frequency domain filtered into the first waveform in the time domain.
- the method comprises constructing the near causal filter prior to applying the near causal filter.
- the non-causal region is a region of the early sidelobes of the and Wn, n »1 in the causal region elsewhere is relaxed; orthe causal region is determined by a length of the channel (PDP), the non-causal region length is set to be equal to or a little longer than a length of the channel and is defined with varying weight level w n ,n, and Wn, n is relaxed in the causal region.
- PDP length of the channel
- a system for estimating a time of arrival of a signal generated by a transmitting device as a transmitted pulse comprises: (a) a receiving device, configured for receiving the transmitted pulse and generating a received signal in response to the transmitted device; (b) a processing unit, configured for processing the received signal by: (i) applying a near-causal filter to the received signal in order to generate a first waveform, the near causal filter having an impulse response waveform wherein: a shape of an impulse response of the near causal 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 lob; the early side lobes have peaks proximal to a noise level of the first waveform; 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
- the memory unit is configured for storing data indicative of a plurality of adaptations of the near causal filter, each adaptation corresponding to a respective received signal having at least one respective property related at least one of a signal to noise ratio (SNR) of the received signal in the time domain, a channel length, and a power delay profile, and being configured for filtering the respective received signal in order to increase an accuracy of the estimation of the time of arrival after the received signal is filtered; and prior to applying the near causal filter, the processing unit is configured for extracting a value of the at least property of the received signal, and selecting an adaptation corresponding to the extracted value.
- SNR signal to noise ratio
- the processing unit is configured for identifying a location corresponding to a first received pulse by: selecting a first point at or above the first energy rise point on the first waveform and calculating SNR in a vicinity of the first point; using a look-up table to match the SNR to a predetermined time offset between the first point and a waveform of a first pulse to be received, the offset being the time coordinate; and the memory unit is configured for storing the look-up table, the look-up table comprising one or more lists corresponding to a respective one or more filters, each list having a sublist of SNR values and a corresponding sublist of time offset values, each time offset value corresponding to a respective SNR value.
- the processing unit is configured for identifying a location corresponding to a first received pulse by: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a matching between a shape of a segment between the at least two consecutive points and a shape of the reference waveform; determining one or more points along the first waveform until an operating point is found at which a match between the first waveform and the reference waveform is found, wherein the operating point is the identified location; the processing unit is configured for calculating the time of arrival data by: constructing an instance of the reference waveform from a segment in a vicinity of the operating point; and determining a time interval between the operating point and a center of the constructed instance of the reference waveform, the time interval being an estimate of the time of arrival; and the memory unit is configured for storing data indicative of the transmitted signal.
- the operating is one of: a point at which a minimal least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found; a point at which a least squares error between the shape of the first waveform and a shape of a corresponding section of the reference waveform is below a first predetermined threshold and an energy of the point is above a second pre-determined threshold with respect to the estimated noise; a point at which a minimal weighted least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found, the minimal weighted least squares error being expressed as where Y' and X'(tl) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the reference waveform, al is a complex scalar and tl is a time shift of the reference waveform, X' l is a complex vector corresponding to
- the processing unit is configured for identifying a location corresponding to a first received pulse by: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a least squares error between a shape of a first waveform and shapes of a sum at least two of instances of the reference waveform, the minimization formula being, where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the ith instance of reference waveform, ai is a complex scalar, ti is a time shift of the ith instance of the reference waveform and i > 2; determining one or more points along the first waveform until an operating point is found at which the least square error is minimized or at which the least square error is below a certain threshold, the operating point being the identified location; the processing unit is configured for identifying a location corresponding to a first received pulse by: applying
- the memory unit is configured for storing data indicative of a plurality of second adaptations of the near causal filter, each second adaptation corresponding to a respective first waveform having at least one respective property related at least one of a signal to noise ratio (SNR) of the first waveform in the time domain, a channel length of the first waveform in the time domain, and a power delay profile of the first waveform in the time domain, and being configured for filtering the received signal in order to increase an accuracy of the estimation of the time of arrival after the received signal is filtered; following the applying of the near causal filter, the processing unit is configured for: analyzing the first waveform and extracting therefrom at least one value of the at least one waveform property, and selecting a second adaptation corresponding to the extracted value, if available; and applying the second adaptation to the received signal, to generate a new first waveform to replace the previously generated first waveform.
- SNR signal to noise ratio
- FIG. 1 is a schematic drawings illustrating different paths taken by a radio wave traveling from an antenna to a receiver
- Fig. 2 is a graph showing the impulse responses of a plurality of single pulses (taps), the impulse responses being obtained by bandwidth filtering each pulse via a sine filter known in the prior art;
- Fig. 3 is a graph illustrating pulse shapes indicative of a plurality of taps as experimentally received by two antennas, the data being obtained by bandwidth filtering the output of the antennas via a sine filter known in the prior art;
- Fig. 4 is a graph in which a section of the graph of Fig. 3 is shown and enlarged, and in which a reference pulse shape is added;
- Fig. 5 is a graph in which a first waveform represents an impulse response of a near- causal filter of the present invention and a second waveform represents a an impulse response of a sine filter known in the art;
- Figs. 6 and 7 are phase vs frequency and power vs frequency representations of the impulse response of the near-causal filter of the present invention
- Figs. 8-10 are three flowcharts illustrating different method for implementing the filter of the present invention in time domain systems, such as GPS (global positioning system).
- GPS global positioning system
- FIG. 11 is a flowchart illustrating a method for estimating TOA, according to some embodiments of the present invention.
- Figs. 12 and 13 are experimentally obtained power vs distance graphs illustrating the 2-point or N-point decision method for estimating TOA, according to some embodiments of the present invention.
- Figs. 14 and 15 are experimentally obtained power vs distance graphs illustrating the near ML decision method, according to some embodiments of the present invention
- Figs. 16 and 17 are experimentally obtained power vs distance graphs illustrating measured SNR of the first path over noise plus remaining multipath for a received signal filtered by a prior art sine filter and a near-causal filter of the present invention
- Figs. 18 and 19 are graphs representing Cumulative Distribution Functions of the TOA estimate errors for signals filtered by causal filters of the present invention and by sine filters;
- Fig. 20 is a box diagram illustrating a computerized processing system configured for estimating TOA, according to some embodiments of the present invention.
- Fig. 5 is a graph in which a first waveform 100 represents a reference signal filtered by a filter of the present invention of the present invention and a second 102 waveform represents a reference signal filtered by a sine filter known in the art.
- the graph of Fig. 5 is a time domain graph expressed as power vs. distance.
- Fig. 6 is a frequency domain waveform corresponding to the waveform 100, and is expressed as phase vs. frequency.
- Fig. 7 is a frequency domain waveform corresponding to the waveform 100 and is expressed as power vs. frequency.
- the input signal is filtered via a filter of the present invention, to generate a filtered waveform.
- the filter used for filtering the input signal is a causal or near causal filter, wherein the shape of the filter's impulse response in time domain has the following characteristics:
- 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 between the main lobe's beginning and the main lobe's peak is larger than a corresponding width of a sine filter's impulse response between the sine filter' main lobe's beginning and the sine filter's main lobe's peak, while being maintained near the corresponding width in the sine filter's impulse response; for example, the above mentioned width of the impulse response of the filter of the present invention may be larger than the corresponding main lobe of a sine filter' impulse response by no more than 42%; and
- a ratio of the maximal power of the main lobe to a third maximal power of the tallest of the late lobes at a location at which aliasing occurs (due to down-sampling in frequency domain) is at least -30 dB;
- the frequency response of the filter of the present invention is near flat.
- each of the early lobes in the first waveform 100 obtained by a filter of the present invention are significantly smaller (less energetic) than the early lobes of the second waveform 102.
- the slope from the latest of the early lobes to the center of the central lobe in the first waveform 100 is near the slope of the main lobe of the second waveform 102. It will be shown later in the document, that the steep rise is an important element that facilitates identification of the time of arrival.
- the filter of the present invention can be obtained in a plurality of different methods, the scope of the present invention encompasses the actual filter and the effect that the filter has on an input signal generated by an antenna in response to a plurality of radio wave pulses.
- the following sections A to D describe methods for constructing the filter. These methods are merely examples and do not limit the scope of the present invention.
- n and k are respectively the time and frequency indices.
- Vectors and matrices in time domain are written in small letters, and the corresponding frequency domain quantities in capital letters.
- the filter's impulse response in time and frequency domain is
- the filter's desired frequency domain response is a vector G.
- G is the transmitted waveform.
- the kind of filter impulse response we are interested in Gk is real (zero phase), or if it has a phase, the phase is of no importance.
- e n and ek are respectively time and frequency domain error functions. For example, in the time domain's non-causal region e n « 1, otherwise e n is relaxed, ek « 1 for all k.
- w and V are respectively time and frequency domain diagonal weight matrices carefully chosen to achieve a desired impulse response shape.
- a strong weight Wn, n » 1 is chosen, and elsewhere Wn, n is relaxed.
- the non-causal region length is determined by the length of the channel (PDP).
- the non-causal region length is equal to or a little higher than the channel length to guarantee that no interference is incurred from subsequent multipath.
- the non-causal region length can be defined with varying weight level w n ,n, to take into account that late multipath tend to be weaker.
- the length of the early side lobes region could be extended to allow for a region with noise only (no multipath and weak side lobes). In that extended region, noise can be estimated relatively precisely.
- Vk,k is approximately constant for all k.
- P is an arbitrary frequency domain phase rotation diagonal matrix to be determined for best results. P can also apply some amplitude correction.
- the parameters e' and e' are small values relative to the values of the elements in matrices w and V, respectively.
- the parameters e' and e' are tweaked, manually or automatically in some optimization loop to achieve desired impulse response shape, or desired Time of Arrival estimation performance (such as desired cumulative distribution function of the estimation error, obtained for a given channel model).
- ⁇ * ⁇ * is the real part of the complex scalar X H P H VG
- the elements (modulus) of 1 can be collapsed to a constant value, such as 1, to suppress the oscillations of the power vs frequency graph of Fig. 3, so as to convert the graph of Fig. 3 to a square waveform
- a further phase search is performed for a refined value near the collapsed modulus, e.g. via gradient descent or any other optimization method to find a local maximum or minimum (depending on which formula we use).
- the main lobe's peak in the filter of the present invention has a generally lower energy with respect to a matched filter known in the art (typically a zero-phase sine filter). If the loss is significant, the ability to discriminate the main lobe from earlier lobes and noise (low to medium SNR) is decreased. Thus, a filter of the present invention should be constructed to ensure that the loss in the main peak's power does not reduce the ability to differentiate the main lobe from the early side lobes.
- the main lobe's width in the filter of the present invention is generally wider than the main lobe of a matched filter known in the art.
- the wider the main lobe the shallower the rise to the main lobe's peak. If the main lobe is too wide, it can be hard to discriminate the main lobe from overlapping multipath.
- a filter of the present invention should be constructed to ensure that the main lobe's width power does not reduce the ability to differentiate the main lobe from the overlapping multipath.
- can be chosen as a shortened versions of a sine filter.
- a unique parameter defines the filters, which is the length of the sine filter after it has been truncated in the time domain.
- the inventors have observed that the longer the sine filter, the less oscillations in the frequency domain, the more the causal rejection, but the weaker and wider the main lobe. The tradeoff depends on average SNR or SNR of first cluster of paths. Given the speed of the solution and its potential dependence on a unique parameter, it is well fit to be used in an automatic parameter optimization loop.
- the minimum phase filter design method may be used in combination with the constraints or weights method described above.
- One method supplies an initial impulse response for the other method, for example, and iterations between the two methods may be performed to arrive to a suitable solution.
- One method could also fix the amplitude or phase response for the other method, with iterations between the two.
- the transmitted waveform, before multipath and noise is denoted by vector G.
- the noise covariance matrix V is an identity matrix if the noise is white (non-colored).
- the conventional matched filter treats all multipaths equally. It is well suited for maximizing the energy captured by all of the multipath, for example, for data decoding. But it is not best suited for extracting the first path (or some path) from the rest of the multipath.
- the filter of the present invention which is aimed at simplifying the identification of the first path, is designed such that all the paths except the first path are considered colored noise, or colored interference in time domain.
- multipaths are normally statistically independent.
- the multipaths appear like normal noise, often Gaussian, convolved with the transmitted waveform G, which can often be all ones in the frequency domain's passband. I.e. there is often no distinction between normal noise and multipaths except for their power levels.
- the model for the construction of the filter of the present invention is essentially that the noise plus interference power levels in time domain suddenly increase after the first path arrives.
- Wi is the expected power level of path i (excluding the first path in this summation)
- Pi the diagonal phase ramp in frequency domain, or time shift in time domain, to shift path i by its time offset ti.
- ⁇ is the diagonal matrix of vector G. and W is
- W is Toeplitz and can be efficiently computed via one fast Fourier transform (FFT) followed by index shifts per row.
- FFT fast Fourier transform
- X After defining the expected Power Delay Profile (PDP) of the channel (i. multipath profile), X can be easily designed.
- the time domain impulse response x the waveform 100 in Fig. 5 and X typically has a shape such as the waveforms of Figs 6 and 7.
- Multiplying X by the transmitted waveform G, the reference waveform is obtained at the receiver side. I.e., it is the waveform received in the absence of noise and multipath.
- the effective SNR on each point of the reference waveform is a function of noise and multipath, and is maximized at the best operating point, which is a point typically before the peak of the reference waveform, if there is a nearby second path.
- the best operating point is a tradeoff between being as high as possible above noise, but as early as possible to be far from subsequent multipath.
- Matched Filter maximizes SNR in the absence of multipath, it fails to maximize SNR in their presence.
- the filter of the present invention is able to maximize SNR in the presence of multipath. This is clearly seen in Figs. 16 and 17.
- a cellular type channel ETU Extended Typical
- the transmission system is 4G (LTE) with 1 subframe of pilots.
- the curve 110 illustrates the measured SNR (sometimes denoted as SINR) of the first path over noise plus remaining multipath for a received signal filtered by a prior art sine filter (the filtered received signal is illustrated by curve 112).
- the curve 114 is the measured SNR (sometimes denoted as SINR) of the first path over noise plus remaining multipath for the same received signal filtered via the filter of the present invention, which has been determined by maximizing SNR.
- the curve 116 represents the filtered received signal.
- the best operating point (the identification of which will be discussed later) is 8dB stronger if the received signal is filtered via the filter of the present invention. This increase in the power of the operating point which facilitates the detection of the operating point.
- the filter can be constructed by isolating a number M of pre-selected paths.
- the problem is identical to the previous section, except for the fact that the M pre-selected paths are removed from the denominator, while all the remaining undesired paths are retained.
- the M-Path-Matched Filter method provided in this patent application significantly reduces the number of paths interfering with the first path (to 0, 1 or a few), and allows robust near-ML estimation by considering very few multipaths for joint estimation.
- a second use of the M-Path-Matched Filter is the Last Path-Matched Filter, which enables better detection of the last path, for example for channel length estimation.
- Another use could be to isolate the different paths one after the other, iteratively estimating the paths (and their respective positions), starting from the first path, for example, subtracting it, and then moving onto the second path and so on. This can be useful if need or desire arises to determine the position of arrival of some or all the paths.
- the paths can be found iteratively; using a First-Path Matched Filter, or M-Path-Matched filter, the first or M paths are detected, then subtracted from the filtered received signal Then the next path or the next M' paths are found, until all paths are detected and accounted for.
- M-Path-Matched filter a First-Path Matched Filter, or M-Path-Matched filter
- Figs. 8-10 three flowcharts illustrate different method for implementing the filter of the present invention in time domain systems, such as GPS (global positioning system).
- a first method is illustrated for time domain systems, e.g. in CDMA (code division multiple access) or GPS systems.
- Causal filtering is applied first to the received signal in time domain, usually at the same time as low-pass filtering is applied to remove out of band noise and interference.
- the causal filtering operation is thus merged with the low pass filtering operation.
- the causal filter can be applied in the form of an FIR or IIR filter that approximates the desired causal filter. This operation is followed by optional down- sampling, by pilot descrambling, by optional chip accumulation or integration, before reaching the final step for estimating TOA. At that stage, the impulse response looks causal and facilitates detection of first path from subsequent paths.
- Fig. 9 we provide the equivalent method for frequency domain systems such as OFDMA (Orthogonal frequency-division multiple access).
- An FFT or different operator is often used in these systems to convert the input signal into a frequency domain signal and so the causal filtering can be easily applied in frequency domain by multiplying with causal weights.
- an inverse FFT iFFT is applied to the filtered signal to convert it to time domain and estimating TOA.
- the first stage of correlation incorporates the usual low pass filtering, descrambling and accumulation. At that point, causal filtering can be applied in the frequency domain via FFT, causal weights and then iFFT.
- the difference between Fig. 8 and Fig. 10 is the time at which the causal filtering is applied: in the first case, the causal filtering is applied early on within the low pass filtering, while in the second case, the causal filtering is applies later after descrambling and accumulation, via FFT/iFFT.
- the causal filter may include a very long finite impulse response
- FIR infinite impulse response
- IIR infinite impulse response
- the IIR may be of minimum phase type filter or a filter that matches as closely as possible the desired response designed in sections A and B above.
- the IIR could be designed to match closely that response by tweaking its coefficients, or for example, by minimizing the error between the IIR and desired response, min B,A
- 2 where the IIR in Z transform is given by X(z) B(z)/A(z), and the desired response is on the unit circle (frequency domain).
- Matlab's invfreqz function may be used for such IIR design.
- Figs. 9 an 10 illustrate methods in which fast Fourier transform (FFT) and inverse fast Fourier transform (iFFT) are used.
- FFT fast Fourier transform
- iFFT inverse fast Fourier transform
- descrambling can be performed after FFT.
- Fig. 10 is made prior to FFT can benefit from scrambling sequences (+/- 1) in time domain, and from existing implementations.
- Using Chirp-Z Transform (CZT) instead of iFFT allows oversampling at low complexity in a region of interest if the approximate location of the peak is known.
- Fig. 11 is a flowchart 200 illustrating a method for estimating time of arrival of a received (input) signal filtered via the filter of the present invention.
- the filtered waveform is moved into the time domain where the first path can be more naturally observed.
- an iFFT is performed on the filtered waveform to move the waveform into time domain.
- the resulting impulse response in time domain contains the new reference waveform (transmitted waveform filtered by filter of the present invention), plus its echoes and noise.
- the first path is less impacted by subsequent multipath since the early side lobes of subsequent multipath are attenuated by the filter of the present invention.
- the goal now is to determine the time of arrival based on this new time domain impulse response.
- the noise level is estimated in the early samples before the (causal) signal starts (i.e. before the first path). Noise might contain some aliased signal, which can now be considered as noise.
- Noise power (or variance) estimation can be performed by averaging the power (or an approximation of the power) of a few samples in a region determined to be free of useful signal (prior to first path arrival). It could alternatively be performed by measuring the peak power levels of a few peak in that region, and then mapping those peak values to some level value compatible with a noise power level.
- the first energy/power and rise is then located.
- the first energy rise is identified in the first sample that is above a threshold relative to noise (e.g. 10 to 12dB above noise).
- the first energy rise can alternatively be a set of neighboring samples above threshold, for improved detection of the energy rise (e.g. a few neighboring samples 7 to 9dB above noise).
- such samples should not carry correlated noise, i.e. they should not usually be the nearest neighbors.
- the SNR is more accurately measured.
- the channel length or channel statistics may be more accurately measured as well.
- SNR is measured as the accumulation of the power (or approximate power) of a few samples known to contain useful signal over the pre-estimated noise power. Samples are known to contain useful signal if they occur after the first path, and are some level above noise power.
- the new SNR might be calculated as a local SNR in the region (samples) immediately following the energy rise instead of the overall SNR, which is impacted by faraway and non-interfering clusters of paths.
- a better suited filter from a plurality of predetermined filters of the present invention may be selected at 210, to replace the previously selected filter, and applied to the received signal.
- the plurality of predetermined filters are pre-calculated to match different types of channel models and/or SNR levels, to enable better/easier estimation of the TOA when such signals are received. The selection of the filter according to the signal's properties is explained in detail in Section III of this document.
- the rising curve of the main lobe is followed upwards at 212 by computing more samples (higher oversampling), for example via inverse DFT (Discrete Fourier Transform), via CZT (Circular Z Transform), or via usual inverse FFT.
- inverse DFT Discrete Fourier Transform
- CZT Chemical Z Transform
- the identification of the first pulse (and thus the estimation of the time of arrival) is at 214 performed via any of the following decision methods.
- the time offset to the first path is predicted via a pre-determined look up table.
- the look up table may be generated via simulation, and/or theoretical considerations, and/or via averages of measured offsets from the operating point to the center of the reference signal (this last method will be explained in detail in section B below). Given an SNR level and a detected signal value sufficiently above noise (to reduce noise), and sufficiently early (to reduce interference from subsequent multipath), the average time offset from such a point to the true first peak (i.e.
- NLOS Non-Line-of-Sight
- transmitted waveform G has been filtered by X to obtain X'; ⁇ is the diagonal matrix of G, and ⁇ is the diagonal matrix of X.
- the matching may be done according to any known shape matching technique.
- the matching is done by minimizing the least squares (LS) formula:
- the thresholds depend on one or more characteristics of the signal and noise level, and may be pre-computed and matched to the signal's measured characteristics via a look-up table or computed online according to measurements of such signal characteristic(s).
- the following of the curve's climb is stopped when the residual error starts increasing, which can signal that the point that is being analyzed is beyond the peak or that there are nearby multipath whose impact is commencing to be felt.
- the point at which the following of the curve is stopped corresponds to some known time shift ti of the reference curve. This time shift is an estimate of the position of the first path. This method can lead to more accurate results if the subsequent paths are not too nearby.
- the threshold may be determined via simulation or theoretical consideration as a level below which there is a desired probability that the correct match has been achieved. Depending on the case and on the user's requirements, the user may select the desired probability and use the selected probability to find the corresponding threshold via simulation or theoretical consideration.
- Figs. 12 and 13 are experimentally obtained power vs distance graphs illustrating the 2-point or N-point decision method.
- Fig. 13 is a detail of Fig. 12 with the addition of the reference waveform.
- the first waveform 300 and the second waveform 302 are waveforms of two received signals filtered via a filter of the present invention.
- Each received signal was output by the same receiving antenna as a response to two transmitted signals emitted by respective transmitting antennas.
- the transmitting antennas are located at the same location.
- the receiving antenna was at a high floor, where the first tap (pulse) was significantly stronger than the following taps.
- the received filtered waveforms 300 and 302 are compared to the reference waveform 304. It can be seen that the rise of the main lobes in both waveforms 300 and 302 closely match the rise of the main lobe from the reference signal. By following the rise of each waveform 300 and 302 and minimizing the residual LS error between each waveform 300 and 302 and the reference waveform 304, the operating point 306 of the waveforms 300 and 302 is found.
- the shape of the received filtered waveforms in the region of the operating point (or operating segment) allows the construction of the full reference waveform; and hence its time of arrival at the center (of the green waveform). It should be noted that even though the waveforms 302 and 304 are different, their operating point or operating segment is approximately the same, since they originate from to the same location with respect to the receiving antenna.
- the 3rd or more paths can be accounted for as above, i.e.
- [00163] ti provides an estimate of the TOA of the first path. If the residual error after LS matching with M paths is small (below a certain threshold, as explained above), the point at which the residual error is below a certain threshold is considered to be the operating point, and there is no need to try M+l paths. In some experimental cases analyzed by the examiners, the threshold has been found to be -20dB. However, this value may change according to properties of the noise and signal.
- Figs. 14 and 15 are experimentally obtained power vs distance graphs illustrating the near ML decision method.
- Fig. 14 is a detail of Fig. 13 with the addition of the first two reference waveforms.
- the first waveform 310 and the second waveform 312 are waveforms of two received signals filtered via a filter of the present invention. Each received signal was output by the same receiving antenna as a response to two transmitted signals emitted by respective transmitting antennas.
- the transmitting antennas are located at the same location.
- the receiving antenna was at a low floor, where the proportional power of the first tap (pulse) and subsequent taps was unknown, since there was no line of sight between the transmitting antennas and the receiving antennas.
- the graph includes the first reference waveform 314 and the second reference waveform 316 corresponding to first and second paths respectively.
- the reference waveforms have the same shape which is shifted both along space axis and the power axis to simulate two taps of different powers arriving at different times.
- the appropriate energies and times for the first and second reference waveforms are easily found since they are near an energy and time of an initial reference waveform estimated according to 2-point or N-point matching decision.
- the residual LS error between each waveform 310 and 312 and the reference waveforms 314 and 316 is below a certain threshold or starts to rise, the operating point 318 of each waveforms 310 and 312 is found. If needed, a third waveform can be added.
- C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise:
- V fliX'i + N ! i.e. N is the noise left after subtracting all paths i whose impact on the first path we wish to take into account (1 or more paths, including the first path).
- vector A is a vertical concatenation of the complex scalars ai
- the solution for vector A is the estimator
- a few possible values of matrix M can be precomputed, one value for each set of hypotheses £ j .
- a gradient descent or any optimization method can be used to fine tune the values of ⁇ around the initial pre-stored value. But this may require recomputing M, or some equivalent method.
- thresholds and filter selection can be tweaked per type of channel, e.g. based on delay spread, based on the energy of the first cluster of paths (relative to noise, i.e. SNR of first cluster). It is the first cluster that we wish to analyze and equalize.
- the first cluster can be defined as the first few samples where energy is detected.
- the thresholds may be set in two different ways: peak detection threshold (i.e. when a peak is found, useful at low SNR), or energy detection threshold (i.e. when energy rises above the noise, useful at high SNR).
- peak detection threshold i.e. when a peak is found, useful at low SNR
- energy detection threshold i.e. when energy rises above the noise, useful at high SNR.
- the TOA can be assumed to occur a few samples earlier than the detected peak.
- the TOA can be assumed to occur a few samples later than when energy is first detected.
- Interpolation, extrapolation, curve fitting, etc can also be used to locate the peak
- noise floor can be estimated using a moving average over the time domain channel impulse response.
- the SNR can be estimated using the maximum and minimum of the moving average filter, and can be used to select the decision method to choose.
- thresholds based on noise floor, peak power and/or peak average power can be used to tweak the parameters of the decision method.
- an initial estimate of the TOA can be made using a causal filter with minimal oversampling (e.g. Ik FFT for 601 carriers). Subsequently, a higher resolution channel impulse response (CIR) is computed using chirp-z transform (CZT). For this highly oversampled CIR a different frequency windowing filter can be applied, based on the estimated SNR (and channel type). This may be a causal filter or a non-causal with narrower impulse response to aid in peak detection.
- a causal filter with minimal oversampling
- CZT chirp-z transform
- Waveform matching Upon detecting the first cluster, waveform matching can be applied to separate independent taps. Examples of waveform matching were described above in section II.
- the TOA estimation problem can be modeled by a relatively small set of parameters.
- These parameters include filter design (e.g. the weights), threshold levels, oversampling, interpolation parameters, offset values, window search positions, average SNR, local SNR of first arriving cluster of paths, channel model, etc.
- filter design e.g. the weights
- threshold levels e.g. the threshold levels
- interpolation parameters e.g. the offset values
- window search positions e.g. the average SNR, local SNR of first arriving cluster of paths, channel model, etc.
- the channel model is used for optimizing the parameters and/or thresholds.
- the channel model can be a mix of channel models (and a mix of line-of-sight (LOS) and non-line -of-sight (NLOS) cases).
- LOS line-of-sight
- NLOS non-line -of-sight
- simulations are run to determine the best parameters for the filter and/or thresholds.
- a first set of parameters and/or thresholds are used as a starting point and simulations are run according to this first set.
- the simulations are the run again with a second set of parameters and/or thresholds which vary slightly from those of the first set.
- a new set of parameters and/or thresholds is chosen by further changing the parameters and/or thresholds along that gradient of the change of the parameters and/or thresholds from the first set to the second set. If results degrade, the new set of parameters and/or thresholds is chosen by further changing the parameters and/or thresholds along that gradient of the change of the parameters and/or thresholds from the first set to the second set.
- the optimization further includes restarting from a further set of parameters and/or thresholds and reiterating the above process, until there is a certain confidence that a global minimum has been of the cost function has been found.
- the cost function can be based on CDF (Cumulative Distribution Function) of the TOA error metric.
- CDF Cumulative Distribution Function
- the goal can be to minimize the outliers on this curve (e.g. 95th percentile has lowest possible error), or to maximize average performance (e.g. 70th percentile has lowest possible error, or average error is lowest possible for all channel instances).
- the near-causal filter used at -3dB and 12dB SNR is shown in Fig. 5.
- the near-causal filter that we used at -13dB is less stringent (cf. Table II) with reduced loss at the origin.
- the filters used in Figs. 18 and 19 were obtained according to the constraints or weights method described above ⁇
- EPA can be adjusted model such that the first path is stronger or weaker by +10dB, OdB, -lOdB and -20dB (with a given proportion mix of each case) in order to model near LOS and NLOS cases. Thresholds and parameters are the optimized as described in section III(D) above. As seen above in Figs. 13 and 14, the use of causal filters of the present invention can help estimating TOA in NLOS cases.
- the system 400 for estimating TOA is illustrated in Fig. 20.
- the system includes a receiving device 402, a processing unit 404, a memory unit 406, and an input/output interface 408.
- the system 400 is used for online TOA estimation, and may not be required to generate a causal filter described above. Instead, the system 400 may analyze a received signal, extracts one or more properties therefrom, and use the one or more properties to match the one or more properties of the received signal to a corresponding pre-calculated filter. In some embodiments of the present invention, a single pre-calculated filter is available for being applied to an incoming signal.
- the receiving device 402 may be any kind of detector able to detect the transmitted signal.
- the transmitted signal is a radio signal
- the receiving device is any kind of known antenna operating within a radio frequency.
- the receiving device 402 is configured for generating a received signal in response to the reception of the transmitted signal.
- the received signal is received by the processing unit 404, which applies a near-causal filter as described above to the received signal, to generate the first waveform.
- the processing unit 404 follows the method of Fig. 11 to estimate TOA, by using any one of the above described decision methods.
- the processing unit 404 may output the estimated TOA value to the input/output interface 408, which will communicate the value to a user, and/or stores the estimated value in the memory unit 406, for later use and/or further processing.
- the processing unit 404 extracts at least one value related to at least one property related to at least one of a signal to noise ratio (SNR) of the received signal in the time domain, a channel length, and a power delay profile.
- the memory unit 406 includes a plurality of pre-calculated instances/adaptations of the near-causal filter, each instance corresponding to a respective value of the one or more properties.
- the processing unit 404 selects the pre-calculated adaptation of the near-causal filter which corresponds to the extracted value.
- the pre-calculated filters are configured for filtering the matching received signals in order to enable more accurate and/or easier TOA estimation by the further processing of the filtered received signal (first waveform).
- the processing unit is configured for analyzing the first waveform, in order to check if a better instance of the near causal filter can be applied to the received signal.
- the near causal filter can be optimized to the received signal.
- the memory unit 406 is a non-volatile type of computer memory in communication with the processing unit and is configured for storing data indicative of: the non-causal filter or of a plurality of adaptations thereof, computer-readable instructions for processing the received signal, computer-readable instructions for processing the received signal for executing the at least one predefined decision technique.
- the input/output interface 408 is any type of interface that connects the processing unit to input and or output devices, to enable communication between the processing unit and a user.
- the processing unit comprises a microprocessor, microcontroller, custom
- ASIC application specific integrated circuit
- discreet circuitry selected on the basis of power consumption, size, processing speed, memory capacity, and other factors for performing all of the functionality of the apparatus.
- the system 400 may include a cellular phone, a smart phone, a tablet computer, a laptop computer, a desktop computer, or any similar computing/communication electronic device.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electromagnetism (AREA)
- Quality & Reliability (AREA)
- Radar Systems Or Details Thereof (AREA)
- Discrete Mathematics (AREA)
- Mathematical Physics (AREA)
- Noise Elimination (AREA)
Abstract
A technique is provided for estimating time of arrival of a signal transmitted as a pulse and received as a sum of pulses. The received signal is filtered with a novel filter that lowers the early side lobes of the received signal to noise level. A first energy rise point is identified at a point of the main lobe of the filtered received signal, at which the energy is higher than the noise by a predetermined level. Starting from the identification of the first energy rise points, the time of arrival is estimated via curve matching, in which the shape of the filtered received signal is matched to the shape of composed by a sum of one or more reference curves that are shifted both in time and in energy. The reference curves are found by applying to the transmitted signal the same filter applied to the received signal.
Description
System and Method for Estimating Time of Arrival
Technical Field
The present invention, in some embodiments thereof, relates to signal processing, and more particularly, to systems and methods for determining time of arrival (TO A).
Background of the Invention
[0001] Time of arrival estimation is the estimation of the travel time of a radio signal from a single transmitter to a remote single receiver. The travel time may be expressed in units of time or in units of distance, as the distance between the transmitter and the receiver can be easily calculated by multiplying the time of arrival times the known speed of the radio wave.
[0002] As shown in Fig. 1, a difficulty in the estimation of time of arrival arises from the fact that the radio wave has multiple paths from the transmitter 10 to the receiver 12. The first path 14 is the direct path from the transmitter to the receiver, and is the path that TOA estimation seeks to identify. However, the shape of a waveform generated by the receiver 12 in response to the reception of the radio signal is a combined waveform which includes noise, and a sum of the first arriving waveform (corresponding to the first path 14) with a multitude of waveforms corresponding to other paths (for examples, 16, 18, and 20) which are received by the receiver 12 at later times. Each path is filtered to a desired bandwidth as the reference waveform does not exist outside this bandwidth.
[0003] As seen in Fig. 2, the bandwidth filtering causes each waveform to have early side lobes and late side lobes. The early side lobes interfere with waveforms corresponding to preceding (shorter) paths and the late side lobes interfere with waveforms corresponding to subsequent (longer) paths (echoes or multipath). In Fig. 2, the radio wave pulse (tap) 22 which has travelled via the first path 14 and has arrived at a time το has a first waveform 24 generated by the bandwidth filtering. Hie first waveform 24 has early side lobes 26 and late side lobes 28. Similarly, the second waveform 30 generated after bandwidth filtering the second received radio wave pulse 32 (which as travelled the second path 16) has second early lobes 34 and second late lobes 36.
[0004] Commonly the impulse response of bandwidth filter to each pulse has a sine or similar low-pass waveform in the time domain, as seen by the shapes of the waveforms in Fig. 2. The combined waveform that is received by the receiver, therefore has a shape which includes a main lobe sided by early and late lobes. Two combined waveforms obtained by bandwidth filtering output responses of two antennas radio signals are shown in Figs. 3 and 4. The waveforms 40 and 42 are generated by bandwidth filtering the radio wave (a plurality of pulses) as received by two respective antennas. The waveforms 40 and 42 are very different
from the waveform 44 corresponding to the reference waveforms (which is the filtered transmitted waveform, i.e. the multipath waveform that is transmitted by the transmitter and filtered by the prior art filter). It is therefore very difficult to use simple signal processing to find the exact time of arrival by comparing the reference waveform 34 to the filtered waveforms.
[0005] Some techniques for extracting the time of arrival from such waveforms are known. However, such techniques are either simple to process and inaccurate or, like the Maximum Likelihood (ML) algorithm, accurate but very processing intensive, and therefore expensive.
Brief Summary of Embodiments of the Invention
[0006] The impulse response shape is usually a sine, a raised cosine, or some relatively slowly decaying waveform symmetrical around the origin. The reason for the symmetry is that the frequency domain matched filter creates a zero phase signal symmetrical in time domain. The matched filter is necessary to optimize symbol detection in noisy environment (used in conjunction with an equalizer). In this problem, the information is carried by all the taps.
[0007] However, the inventor has found that for estimating the TOA where the information is carried by the first tap only, and whose phase has no relevance in this case, the matched filter is not necessarily the right strategy. Some embodiments of the present invention, therefore, relate to the use of a near-causal filter (near zero energy before the origin) which ensures that the first tap is not interfered (or less interfered) by subsequent taps. Filtering a signal in this manner makes it easier to identify the first tap, and therefore to calculate the TOA.
[0008] (1) A method for estimating a time of arrival of a signal generated by a transmitting device as a transmitted pulse and received by a receiving device as a received signal, the received signal being filtered via a near-causal filter, to generate a first waveform indicative of a filtered received signal, wherein: a shape of an impulse response of the near causal 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. The early side lobes have peaks proximal to a noise level of the first waveform. 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. The slope of the main lobe is near the slope of the main lobe of the sine filter's impulse response. A width of the main lobe is larger than a width of a main lobe of a sine filter's impulse response, while being maintained near the width of the sine filter's main lobe. The method comprises: (i) if the first waveform is in a frequency domain, moving 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.
[0009] (2) In a variant of the method for estimating a time of arrival of a signal, a frequency response of the filter is near flat.
[0010] (3) In another variant of the method for estimating a time of arrival of a signal, the moving first waveform to a time domain comprises applying an inverse fast Fourier transform (iFFT) to the first waveform.
[0011] (4) In a further variant of the method for estimating a time of arrival of a signal, the predetermined threshold is about 10 dB over the estimated noise.
[0012] (5) In another variant of the method for estimating a time of arrival of a signal, following a rising curve of the main lobe of the first waveform in the time domain comprises oversampling the first waveform.
[0013] (6) In still another variant of the method for estimating a time of arrival of a signal, oversampling is performed via inverse DFT (Discrete Fourier Transform), via CZT (Chirp-Z Transform), or via iFFT.
[0014] (7) In a further variant, the method for estimating a time of arrival of a signal comprises, between steps (iii) and (iv): determining a property comprising at least one of: a signal to noise ratio (SNR) of the first waveform in the time domain, a channel length, and a power delay profile; selecting one of a plurality of predetermined near-causal filters matching the property, the predetermined near-causal filters being pre-calculated for enabling better estimation of the time of arrival when applied to signals having corresponding properties; and applying the selected near-causal filter to the received signal.
[0015] (8) In yet a further variant of the method, the predefined decision technique comprises: selecting a first point at or above the first energy rise point on the first waveform and calculating SNR in a vicinity of the first point; and using a look-up table to match the SNR to a predetermined time offset between the first point and a waveform of a first pulse to be received.
[0016] (9) In a variant of the method for estimating a time of arrival of a signal, the predetermined time offset is determined via at least one of: one or more theoretical considerations, one or more simulations, previously acquired experimental data.
[0017] (10) In another variant of the method for estimating a time of arrival of a signal, the predefined decision technique comprises: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a matching between a shape of a segment between the at least two consecutive points and a shape of the reference waveform; determining one or more points along the first waveform until an operating point is found at which a match between the first waveform and the reference waveform is found; constructing an instance of the reference waveform from a segment in a vicinity of the operating point; and determining a time interval between the operating point and a center of the constructed instance of the reference waveform, the time interval being an estimate of the time of arrival.
[0018] (11) In yet another variant of the method for estimating a time of arrival of a signal, the operating is one of: a point at which a minimal least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found; a point at which a least squares error between the shape of the first waveform and a shape of a corresponding section of the reference waveform is below a first predetermined threshold and an energy of the point is above a second pre-determined threshold with respect to the estimated noise; a point at which a minimal weighted least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found, the minimal weighted least squares error being expressed as πύη (¥' - ci1. (t1 '»sfC-1iyf - a^' it )
¾¾
y1 = a. A*"' , - ¥f
where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the reference waveform, al is a complex scalar and tl is a time shift of the reference waveform, X' l is a complex vector corresponding to a waveform of first pulse to be received, C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise and N' is the noise left after subtracting a waveform of the first arriving pulse (first path) from Y' ; and a point at which a weighted least squares error is below a predetermined error between the shape of the first waveform and a shape of a corresponding section of the reference waveform and an energy of the point is above a second pre-determined threshold with respect to the estimated noise.
[0019] (12) In a further variant of the method for estimating a time of arrival of a signal, the predefined decision technique comprises: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a least squares error lY* !A) ^ between a shape of a first waveform and shapes of a sum at least two of instances of the reference waveform, the minimization formula being, where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the ith instance of reference waveform, ai is a complex scalar, ¾ is a time shift of the ith instance of the reference waveform and i > 2; determining one or more points along the first waveform until an operating point is found at which the least square error is minimized or at which the least square error is below a certain threshold; constructing i instances of the reference waveform from a segment in a vicinity of the operating point; and determining a time interval between the operating point and a center of the first constructed instance of the reference waveform, the time interval being an estimate of the time of arrival.
[0020] (13) In still a further variant of the method for estimating a time of arrival of a signal, the operating point at which the weighted least squares error is minimized or below a predefined threshold, the weighted least squares error being: 1 - - " s iJ j where C the noise covanance matrix or the 2 or N point noise vector from the general model of signal plus noise, and is the noise left after subtracting i waveforms corresponding to first i arriving paths whose impact on the first path are to be taken into account wish to take into account (i>2 and includes the first path).
[0021] (14). In a variant, the method for estimating a time of arrival of a signal comprises, before step (i): applying the near-causal filter to the received signal in time domain, in conjunction to a low pass filter.
[0022] (15) In another variant, the method further comprises following the application of the near causal filter, at least one of: down-sampling, pilot descrambling, accumulation, and integration of the first waveform.
[0023] (16) In still another variant, the method comprises, prior to step (i): converting the received signal into a frequency domain signal; descrambling the frequency domain signal; applying the causal to the frequency domain signal filter in the frequency domain to generate a first waveform in the frequency domain; and converting the first waveform in the frequency domain filtered into the first waveform in the time domain.
[0024] (17) In a further variant, the method for estimating a time of arrival of a signal comprises, prior to step (i): at least one of down-sampling, pilot descrambling, accumulation, and integration of the received signal in the time domain to generate a correlated received waveform; converting the correlated received waveform into a frequency domain signal; applying the causal to the correlated received waveform in the frequency domain to generate a first waveform in the frequency domain; and converting the first waveform in the frequency domain filtered into the first waveform in the time domain.
[0025] (18) In yet a further variant, the method comprises constructing the near causal filter prior to applying the near causal filter.
[0026] (19) In a variant of the method for estimating a time of arrival of a signal the constructing of the near causal filter comprises: defining the filter in the frequency domain as by K-dimensional vector X, and in the time domain as a N-dimensional vector x, where X = Fx, F being a Fourier transform matrix having size K by N in which Fk n— e~2}m n/t/N; defining a matrix A as A = W + V, in which V is a frequency domain diagonal matrix having elements while w is a time domain diagonal matrix in which a strong weight Wn,n is selected in a non-causal region and elsewhere fW! is relaxed, and W is a Toeplitz of w; choosing values for the Yk k and .,; defining G is a vector representative of the filter's ideal frequency domain response, where and otherwise; defining as a diagonal matrix in which diagonal Gk,k elements correspond to G¾ elements of the vector G; defining P is an arbitrary frequency domain phase rotation diagonal matrix; defining P as a vector formed by diagonal elements ί ¾ of a matrix PH; solving P for max? PH( VA~i V(t)P; determining A' by using X = A~ lVG_P; determining x by using X = Fx; if necessary, tweaking Vk^ and wK ... in order to obtain satisfactory vectors X and x.
[0027] (20) In another variant of the method: the non-causal region is a region of the early sidelobes of the and Wn,n »1 in the causal region elsewhere is relaxed; orthe causal region is determined by a length of the channel (PDP), the non-causal region length is set to be equal to or a little longer than a length of the channel and is defined with varying weight level wn,n, and Wn,n is relaxed in the causal region.
(21) In yet another variant of the method, the constructing of the near causal filter comprises: defining the filter in the frequency domain as a K-dimensional vector X, and in the time domain as a N-dimensional vector x, where x = FRX , and F is a Fourier transform matrix having size K by N, in which Fk ir = e~Z ika/iN ; selecting \X\ to be a desired amplitude
response in the frequency domain, calculating X by using X = \X \ r H <^ i Yi _ where H is the Hilbert transform; calculating x by using x — FHX; and if necessary, tweaking \X\ in order to obtain satisfactory vectors X and x.
[0028] (22) In a further variant, a system for estimating a time of arrival of a signal generated by a transmitting device as a transmitted pulse, the system comprises: (a) a receiving device, configured for receiving the transmitted pulse and generating a received signal in response to the transmitted device; (b) a processing unit, configured for processing the received signal by: (i) applying a near-causal filter to the received signal in order to generate a first waveform, the near causal filter having an impulse response waveform wherein: a shape of an impulse response of the near causal 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 lob; the early side lobes have peaks proximal to a noise level of the first waveform; 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; the slope of the main lobe is near the slope of the main lobe of the sine filter's impulse response; a width of the main lobe is larger than a width of a main lobe of a sine filter's impulse response, while being maintained near the width of the sine filter's main lobe;
[0029] (ii) if the first waveform is in a frequency domain, moving first waveform to a time domain; (iii) estimating a noise level in early samples before a start of the first waveform in the time domain; (iv) 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; (v) from first energy rise point, following a rising curve of a main lobe of the first waveform in the time domain; and (vi) identifying a location corresponding a first received pulse within the first waveform in the time domain according to at least one predefined decision technique, and determining a time coordinate of the identified location to calculate the time of arrival; (vii) calculating the time of arrival data by using the time coordinate of the identified location and outputting the time of arrival; (c) a memory unit in communication with the processing unit and configured for storing data indicative of: the non-causal filter, computer-readable instructions for processing the received signal, computer-readable instructions for processing the received signal and for executing the at least one predefined decision technique.
[0030] (23) In a variant of the system for estimating a time of arrival of a signal generated by a transmitting device: the memory unit is configured for storing data indicative of a plurality
of adaptations of the near causal filter, each adaptation corresponding to a respective received signal having at least one respective property related at least one of a signal to noise ratio (SNR) of the received signal in the time domain, a channel length, and a power delay profile, and being configured for filtering the respective received signal in order to increase an accuracy of the estimation of the time of arrival after the received signal is filtered; and prior to applying the near causal filter, the processing unit is configured for extracting a value of the at least property of the received signal, and selecting an adaptation corresponding to the extracted value.
[0031] (24) In another variant of the system for estimating a time of arrival of a signal generated by a transmitting device: the processing unit is configured for identifying a location corresponding to a first received pulse by: selecting a first point at or above the first energy rise point on the first waveform and calculating SNR in a vicinity of the first point; using a look-up table to match the SNR to a predetermined time offset between the first point and a waveform of a first pulse to be received, the offset being the time coordinate; and the memory unit is configured for storing the look-up table, the look-up table comprising one or more lists corresponding to a respective one or more filters, each list having a sublist of SNR values and a corresponding sublist of time offset values, each time offset value corresponding to a respective SNR value.
[0032] (25) In still another variant of the system: the processing unit is configured for identifying a location corresponding to a first received pulse by: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a matching between a shape of a segment between the at least two consecutive points and a shape of the reference waveform; determining one or more points along the first waveform until an operating point is found at which a match between the first waveform and the reference waveform is found, wherein the operating point is the identified location; the processing unit is configured for calculating the time of arrival data by: constructing an instance of the reference waveform from a segment in a vicinity of the operating point; and determining a time interval between the operating point and a center of the constructed instance of the reference waveform, the time interval being an estimate of the time of arrival; and the memory unit is configured for storing data indicative of the transmitted signal.
[0033] (26) In a further variant of the system, the operating is one of: a point at which a minimal least squares error between a shape of the first waveform and a shape of a
corresponding section of the reference waveform is found; a point at which a least squares error between the shape of the first waveform and a shape of a corresponding section of the reference waveform is below a first predetermined threshold and an energy of the point is above a second pre-determined threshold with respect to the estimated noise; a point at which a minimal weighted least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found, the minimal weighted least squares error being expressed as
where Y' and X'(tl) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the reference waveform, al is a complex scalar and tl is a time shift of the reference waveform, X' l is a complex vector corresponding to a waveform of first pulse to be received, C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise and N' is the noise left after subtracting a waveform of the first arriving pulse (first path) from Y'; a point at which a weighted least squares error is below a predetermined error between the shape of the first waveform and a shape of a corresponding section of the reference waveform and an energy of the point is above a second pre-determined threshold with respect to the estimated noise.
[0034] (27) In yet a further variant of the system: the processing unit is configured for identifying a location corresponding to a first received pulse by: applying the near causal filter to the transmitted signal to generate a reference waveform; choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise; calculating a least squares error
between a shape of a first waveform and shapes of a sum at least two of instances of the reference waveform, the minimization formula being, where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the ith instance of reference waveform, ai is a complex scalar, ti is a time shift of the ith instance of the reference waveform and i > 2; determining one or more points along the first waveform until an operating point is found at which the least square error is minimized or at which the least square error is below a certain threshold, the operating point being the identified location; the processing unit is configured for calculating the time of arrival data by: constructing i instances of the reference waveform from a segment in a vicinity of the operating point;
determining a time interval between the operating point and a center of the first constructed instance of the reference waveform, the time interval being an estimate of the time of arrival; and the memory unit is configured for storing data indicative of the transmitted signal.
[0035] (28) In a variant of the system, the operating point at which the weighted least squares error is minimized or below a predefined threshold, the weighted least squares error being: where is the noise covariance matrix of the 2 or N point noise vector from the general model of signal plus noise Y' = έ - N( , and is the noise left after subtracting i waveforms corresponding to first i arriving paths whose impact on the first path are to be taken into account wish to take into account (i>2 and includes the first path).
[0036] (29) In another variant of the system: the memory unit is configured for storing data indicative of a plurality of second adaptations of the near causal filter, each second adaptation corresponding to a respective first waveform having at least one respective property related at least one of a signal to noise ratio (SNR) of the first waveform in the time domain, a channel length of the first waveform in the time domain, and a power delay profile of the first waveform in the time domain, and being configured for filtering the received signal in order to increase an accuracy of the estimation of the time of arrival after the received signal is filtered; following the applying of the near causal filter, the processing unit is configured for: analyzing the first waveform and extracting therefrom at least one value of the at least one waveform property, and selecting a second adaptation corresponding to the extracted value, if available; and applying the second adaptation to the received signal, to generate a new first waveform to replace the previously generated first waveform.
[0037] Other features and aspects of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the features in accordance with embodiments of the invention. The summary is not intended to limit the scope of the invention, which is defined solely by the claims attached hereto.
Brief Description of the Drawings
[0038] The present invention, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments of the invention. These drawings are provided to facilitate the reader's understanding of the invention and shall not be considered limiting of the breadth, scope, or applicability of the
invention. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale. In particular, the dB scale on many impulse response drawings should be assumed as a relative scale without particular meaning in an absolute manner. SNR (signal-to-noise ratio) values are relative and are therefore properly represented by the scale.
[0039] Some of the figures included herein illustrate various embodiments of the invention from different viewing angles. Although the accompanying descriptive text may refer to such views as "top," "bottom" or "side" views, such references are merely descriptive and do not imply or require that the invention be implemented or used in a particular spatial orientation unless explicitly stated otherwise.
[0040] Fig. 1 is a schematic drawings illustrating different paths taken by a radio wave traveling from an antenna to a receiver;
[0041] Fig. 2 is a graph showing the impulse responses of a plurality of single pulses (taps), the impulse responses being obtained by bandwidth filtering each pulse via a sine filter known in the prior art;
[0042] Fig. 3 is a graph illustrating pulse shapes indicative of a plurality of taps as experimentally received by two antennas, the data being obtained by bandwidth filtering the output of the antennas via a sine filter known in the prior art;
[0043] Fig. 4 is a graph in which a section of the graph of Fig. 3 is shown and enlarged, and in which a reference pulse shape is added;
[0044] Fig. 5 is a graph in which a first waveform represents an impulse response of a near- causal filter of the present invention and a second waveform represents a an impulse response of a sine filter known in the art;
[0045] Figs. 6 and 7 are phase vs frequency and power vs frequency representations of the impulse response of the near-causal filter of the present invention
[0046] Figs. 8-10 are three flowcharts illustrating different method for implementing the filter of the present invention in time domain systems, such as GPS (global positioning system).
[0047] Fig. 11 is a flowchart illustrating a method for estimating TOA, according to some embodiments of the present invention;
[0048] Figs. 12 and 13 are experimentally obtained power vs distance graphs illustrating the 2-point or N-point decision method for estimating TOA, according to some embodiments of the present invention;
[0049] Figs. 14 and 15 are experimentally obtained power vs distance graphs illustrating the near ML decision method, according to some embodiments of the present invention;
[0050] Figs. 16 and 17 are experimentally obtained power vs distance graphs illustrating measured SNR of the first path over noise plus remaining multipath for a received signal filtered by a prior art sine filter and a near-causal filter of the present invention;
[0051] Figs. 18 and 19 are graphs representing Cumulative Distribution Functions of the TOA estimate errors for signals filtered by causal filters of the present invention and by sine filters; and
[0052] Fig. 20 is a box diagram illustrating a computerized processing system configured for estimating TOA, according to some embodiments of the present invention.
[0053] The figures are not intended to be exhaustive or to limit the invention to the precise form disclosed. It should be understood that the invention can be practiced with modification and alteration, and that the invention be limited only by the claims and the equivalents thereof.
Detailed Description of the Embodiments of the Invention
[0054] From time-to-time, the present invention is described herein in terms of example environments. Description in terms of these environments is provided to allow the various features and embodiments of the invention to be portrayed in the context of an exemplary application. After reading this description, it will become apparent to one of ordinary skill in the art how the invention can be implemented in different and alternative environments.
[0055] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as is commonly understood by one of ordinary skill in the art to which this invention belongs. All patents, applications, published applications and other publications referred to herein are incorporated by reference in their entirety. If a definition set forth in this section is contrary to or otherwise inconsistent with a definition set forth in applications, published applications and other publications that are herein incorporated by reference, the definition set forth in this document prevails over the definition that is incorporated herein by reference.
[0056] Referring now to Figs. 5-7, Fig. 5 is a graph in which a first waveform 100 represents a reference signal filtered by a filter of the present invention of the present invention and a second 102 waveform represents a reference signal filtered by a sine filter known in the art. The graph of Fig. 5 is a time domain graph expressed as power vs. distance. Fig. 6 is a frequency domain waveform corresponding to the waveform 100, and is expressed as phase vs. frequency. Fig. 7 is a frequency domain waveform corresponding to the waveform 100 and is expressed as power vs. frequency.
[0057] Given an input signal (received signal or received waveform) generated by an antenna in response to the antenna's receipt of a radio signal composed of a plurality of taps, the input
signal is filtered via a filter of the present invention, to generate a filtered waveform. The filter used for filtering the input signal is a causal or near causal filter, wherein the shape of the filter's impulse response in time domain has the following characteristics:
[0058] (i) 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;
[0059] (ii) the early side lobes have peaks proximal to a noise level of the input signal;
[0060] (iii) 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;
[0061] (iv) the slope of the main lobe is near the slope of the main lobe of the sine filter's impulse response;
[0062] (v) a width between the main lobe's beginning and the main lobe's peak is larger than a corresponding width of a sine filter's impulse response between the sine filter' main lobe's beginning and the sine filter's main lobe's peak, while being maintained near the corresponding width in the sine filter's impulse response; for example, the above mentioned width of the impulse response of the filter of the present invention may be larger than the corresponding main lobe of a sine filter' impulse response by no more than 42%; and
[0063] (vi) a ratio of the maximal power of the main lobe to a third maximal power of the tallest of the late lobes at a location at which aliasing occurs (due to down-sampling in frequency domain) is at least -30 dB;
[0064] (vii) optionally, the frequency response of the filter of the present invention is near flat.
[0065] By comparing the waveforms 100 and 102, it can be seen that each of the early lobes in the first waveform 100 obtained by a filter of the present invention are significantly smaller (less energetic) than the early lobes of the second waveform 102. The slope from the latest of the early lobes to the center of the central lobe in the first waveform 100 is near the slope of the main lobe of the second waveform 102. It will be shown later in the document, that the steep rise is an important element that facilitates identification of the time of arrival.
[0066] Before preceding to the next section, it should be noted that in this document, vectors denoted by capital letters indicate vectors in the frequency domain, while vectors denoted by small letters indicate vectors in the time domain. However, at times, for simpler notation, the same formulas may be used interchangeably in frequency and time domain, and the same notation may be used in both domains. In any case, frequency and time domain are simply a change of basis with respect to each other.
[0067] Diagonal matrices in one domain transform into Toeplitz matrices in the other domain. And the element-wise product is a convolution in the other domain.
[0068] I. Construction of the Filter
[0069] It should be noted that while the filter of the present invention can be obtained in a plurality of different methods, the scope of the present invention encompasses the actual filter and the effect that the filter has on an input signal generated by an antenna in response to a plurality of radio wave pulses. The following sections A to D describe methods for constructing the filter. These methods are merely examples and do not limit the scope of the present invention.
[0070] A. Constraints or weights method
[0071] Denote the Fourier transform matrix by F of size K x N where K is the dimension of the frequency space and N is the dimension of the time space, and with element
(assuming K < N, and rows k > K are removed after re-ordering), n and k are respectively the time and frequency indices. Vectors and matrices in time domain are written in small letters, and the corresponding frequency domain quantities in capital letters. The filter's impulse response in time and frequency domain is
[0072] X = Fx
[0073] (and x = FHX, valid only if K = N). The filter's desired frequency domain response is a vector G. In a variant, G is the transmitted waveform. In another variant, Gk = 1 for k < K and Gk = 0 otherwise. For TOA estimation, the kind of filter impulse response we are interested in, Gk is real (zero phase), or if it has a phase, the phase is of no importance.
[0074] One solution to creating near-causal filters is to set time and frequency constraints on the filter's im ulse response such as
[0076] where en and ek are respectively time and frequency domain error functions. For example, in the time domain's non-causal region en « 1, otherwise en is relaxed, ek « 1 for all k.
[0077] The frequency domain constraints imply that a phase error is unimportant. Additional or alternative weighted least squares constraints are given by
xHwx < (FX - G ViPX - G) < t*
[0078] where w and V are respectively time and frequency domain diagonal weight matrices carefully chosen to achieve
a desired impulse response shape. In a first non limiting example, in the time domain's non- causal region a strong weight Wn,n » 1 is chosen, and elsewhere Wn,n is relaxed. In another non-limiting example, the non-causal region length (or the length of the early side lobes region) is determined by the length of the channel (PDP). The non-causal region length is equal to or a little higher than the channel length to guarantee that no interference is incurred from subsequent multipath. The non-causal region length can be defined with varying weight level wn,n, to take into account that late multipath tend to be weaker. The length of the early side lobes region could be extended to allow for a region with noise only (no multipath and weak side lobes). In that extended region, noise can be estimated relatively precisely. Vk,k is approximately constant for all k. P is an arbitrary frequency domain phase rotation diagonal matrix to be determined for best results. P can also apply some amplitude correction. The parameters e' and e' are small values relative to the values of the elements in matrices w and V, respectively. The parameters e' and e' are tweaked, manually or automatically in some optimization loop to achieve desired impulse response shape, or desired Time of Arrival estimation performance (such as desired cumulative distribution function of the estimation error, obtained for a given channel model).
[0079] There are solutions to the constrained quadratic optimization. But a simpler and quicker solution can be obtained by the following unconstrained least squares minimization where weights w and V and phase rotation (with amplitude correction) P are tweaked until a solution is found as follows:
mm xHwx ÷ ( ! >X -mHV(PX - G), ill
[0080] ,:· · '
[0081] We can convert the time domain xHwx quantity to frequency
domain XHWX where W is non-diagonal Toeplitz. Thus equation (1) can be written as
mm Λ' ,7 ;. Π " + V}X - XH PH¥G. (2)
[0082] ^
~
[0083] Let A = W + V ,—■ the matrix formed by the (real) vector of G, and 1 the vector formed by the diagonal P*k,k of matrix PH. Note that PH and V are diagonal matrices. Thus equation (2) can be written as
mm XHAX - mXMVGF. (3)
[0084] - f
[0085] ^ *· * is the real part of the complex scalar XHPHVG By solving solve the quadratic form (3) with respect to X, the following is obtained:
Λ" = .1
[0086] -} vci )
[0087] By replacing solution (4) into equation (3), what is obtained is
! S PMBF m
[0088]
[0089] where matrix ~" — is known. The solution for ' is the strongest
Eigen-vector (SEV), Finally, X is obtained from equation (4) and x = FHX. If the solution is unsatisfactory, the weights w and V are tweaked as desired and the process is re-iterated.
[0090] Optionally, the elements (modulus) of 1 can be collapsed to a constant value, such as 1, to suppress the oscillations of the power vs frequency graph of Fig. 3, so as to convert the graph of Fig. 3 to a square waveform In a variant, after collapsing the modulus of 1 , an additional phase search is performed for a refined value near the collapsed modulus, e.g. via gradient descent or any other optimization method to find a local maximum or minimum (depending on which formula we use).
[0091] Defining the weight matrices may be tricky due to algorithm convergence issues (especially when there are several equal eigenvalues resulting in multiple solutions). In some cases, the inventors have observed that the time domain weight should not be symmetrical to achieve convergence. The examples in Figs. 5-7 were generated for a Long-Term Evolution (LTE) 10MHz signal (K = 601 subcarriers, N = 1024 samples) with weights given in the Table I, case of high signal-to-noise ratio (SNR). Using the same method, a near-causal filter generated for low SNR is given in Table II.
[0092] Table I
Time domain
tt ■— 0 6.001 /V
I < n < 140. 0,002
.41 < ;->. < .V 1
[0093] Table II
Time ·]ι>·!·¾·η «V Frequency domain 1¾i
i) < < 1 0,1 0 < /,:■■: K
>· .< < 1 1 0.2 K < k < M.
ir* ·: K
[0094] B. Minimum phase filter design with Hilbert transform
[0095] Starting from a desired amplitude response in frequency domain |X|, the phase of the corres ondin minimum hase filter can be obtained via the Hilbert transform
[0097] and hence the impulse response in frequency and time domain can be obtained,
X = \X le-'W } i, = j?& X
[0098]
[0099] There are many possibilities to choose |X| from. It should be 0 in the stopband where we have no information (the transmitter normally does not transmit any information outside the allowed band). But in the passband, it can be flat, it can oscillate a bit, or it can monotonically decrease or increase. It can be a raised cosine, trapezoidal, a Hamming window, etc. Each possibility results in a different time domain impulse response with advantages and disadvantages. Thus, a suitable filter can be chosen for different input signals, depending on the features of the signals. The tradeoffs between using a filter of the present invention as opposed to using a matched filter known in the art are:
[00100] (a) The main lobe's peak in the filter of the present invention has a generally lower energy with respect to a matched filter known in the art (typically a zero-phase sine filter). If the loss is significant, the ability to discriminate the main lobe from earlier lobes and noise (low to medium SNR) is decreased. Thus, a filter of the present invention should be constructed to ensure that the loss in the main peak's power does not reduce the ability to differentiate the main lobe from the early side lobes.
[00101] (b) The main lobe's width in the filter of the present invention is generally wider than the main lobe of a matched filter known in the art. The wider the main lobe, the shallower the rise to the main lobe's peak. If the main lobe is too wide, it can be hard to discriminate the main lobe from overlapping multipath. Thus, a filter of the present invention should be constructed to ensure that the main lobe's width power does not reduce the ability to differentiate the main lobe from the overlapping multipath.
[00102] (c) The early lobes are rejected/decreased. This is called causal rejection. However, causal rejection has a lesser effect on the main lobe, decreasing the power at the main lobe's peak. On the one hand, weak causal rejection results in confusion with early lobes and noise, with little effect on the main lobe's peak. On the other hand, strong causal rejection, clearly greatly reduces the power of the early lobes, enabling a clear estimate of noise, but also lowers the power of the main lobe's peak.
[00103] The minimum phase filter design method is quite simple to implement in computerized signal processing and the Hilbert transform is fast to calculate; but finding the best |X| may be difficult. In a variant, |X| can be chosen as a shortened versions of a sine filter. Hence, a unique parameter defines the filters, which is the length of the sine filter after it has been truncated in the time domain. For this class of filters, the inventors have observed that the longer the sine filter, the less oscillations in the frequency domain, the more the causal rejection, but the weaker and wider the main lobe. The tradeoff depends on average SNR or SNR of first cluster of paths. Given the speed of the solution and its potential dependence on a unique parameter, it is well fit to be used in an automatic parameter optimization loop.
[00104] In another variant, the minimum phase filter design method may be used in combination with the constraints or weights method described above. One method supplies an initial impulse response for the other method, for example, and iterations between the two methods may be performed to arrive to a suitable solution. One method could also fix the amplitude or phase response for the other method, with iterations between the two.
[00105] C. Maximizing SNR with multipath treated like colored noise in time domain
[00106] In the frequency domain, the transmitted waveform, before multipath and noise, is denoted by vector G. The noise covariance matrix V is an identity matrix if the noise is white (non-colored). The impulse response of a conventional matched filter (MF) XMF, maximizes
SNR = —
[00107] XfF * A»F
[00108] and the solution is XMF = V"1 G.
[00109] The conventional matched filter treats all multipaths equally. It is well suited for maximizing the energy captured by all of the multipath, for example, for data decoding. But it is not best suited for extracting the first path (or some path) from the rest of the multipath.
[00110] Thus, the filter of the present invention, which is aimed at simplifying the identification of the first path, is designed such that all the paths except the first path are considered colored noise, or colored interference in time domain. Note that multipaths are normally statistically independent. In fact, the multipaths appear like normal noise, often Gaussian, convolved with the transmitted waveform G, which can often be all ones in the frequency domain's passband. I.e. there is often no distinction between normal noise and multipaths except for their power levels. The model for the construction of the filter of the
present invention is essentially that the noise plus interference power levels in time domain suddenly increase after the first path arrives.
[00111] ng can now be represented by
[00113] where Wi is the expected power level of path i (excluding the first path in this summation), Pi the diagonal phase ramp in frequency domain, or time shift in time domain, to shift path i by its time offset ti. By oversampling the time domain, limiting the multipath positions to oversampled time offsets, and setting Wi to zero where we don't expect any multipath, the noise plus multipath colored covariance matrix can be simplified to
[00114] V + rwrH
[00115] Where, in frequency domain, Γ is the diagonal matrix of vector G. and W is
Fourier transform of the diagonal matrix of time domain weights (or power levels) Wi. W is Toeplitz and can be efficiently computed via one fast Fourier transform (FFT) followed by index shifts per row.
[00116] The filter of the present invention X is now given by maximizing
XHGG X
SNR =
[00117] xM(v + rwr )x
[00118] and the solution is X = (V + Γ\¥ΤΗ )"! G.
[00119] After defining the expected Power Delay Profile (PDP) of the channel (i. multipath profile), X can be easily designed. The time domain impulse response x the waveform 100 in Fig. 5 and X typically has a shape such as the waveforms of Figs 6 and 7. Multiplying X by the transmitted waveform G, the reference waveform is obtained at the receiver side. I.e., it is the waveform received in the absence of noise and multipath.
[00120] It can be shown that the effective SNR on each point of the reference waveform (for the first path) is a function of noise and multipath, and is maximized at the best operating point, which is a point typically before the peak of the reference waveform, if there is a nearby second path. The best operating point is a tradeoff between being as high as possible above noise, but as early as possible to be far from subsequent multipath. While conventional Matched Filter maximizes SNR in the absence of multipath, it fails to maximize SNR in their presence. The filter of the present invention is able to maximize SNR in the presence of multipath. This is clearly seen in Figs. 16 and 17.
[00121] In both Figs, 16 and 17, a cellular type channel ETU (Extended Typical
Urban) with 10MHz bandwidth and an input SNR of 5dB is considered. The transmission system is 4G (LTE) with 1 subframe of pilots. In Fig. 16, the curve 110 illustrates the measured SNR (sometimes denoted as SINR) of the first path over noise plus remaining multipath for a received signal filtered by a prior art sine filter (the filtered received signal is illustrated by curve 112). In Fig. 17, the curve 114 is the measured SNR (sometimes denoted as SINR) of the first path over noise plus remaining multipath for the same received signal filtered via the filter of the present invention, which has been determined by maximizing SNR. The curve 116 represents the filtered received signal. It can be seen that in the filter of the present invention, the best operating point (the identification of which will be discussed later) is 8dB stronger if the received signal is filtered via the filter of the present invention. This increase in the power of the operating point which facilitates the detection of the operating point.
[00122] D. M-Path-Matched Filter
[00123] Instead of isolating the first path alone, as was done in section C above, the filter can be constructed by isolating a number M of pre-selected paths. The problem is identical to the previous section, except for the fact that the M pre-selected paths are removed from the denominator, while all the remaining undesired paths are retained.
[00124] This is useful, for example, when performing near-ML (near-Maximum
Likelihood) by considering M=2 paths to match the waveform while defining the remaining paths as noise. If the filter's impulse response X constructed considering the first path alone differs from the filter's impulse response X constructed considering the first M paths (for joint near-ML matching), the matching between the first M reference waveforms and the input signal may be improved. When M=2, the best operating point (maximum SNR) is relaxed by not being too constrained by the proximity of the second path. The second path will be jointly estimated with the first path and is not assumed as colored noise.
[00125] With respect to conventional very high complexity ML estimation, where many paths interfere with the first path and have to be accounted for, the M-Path-Matched Filter method provided in this patent application significantly reduces the number of paths interfering with the first path (to 0, 1 or a few), and allows robust near-ML estimation by considering very few multipaths for joint estimation.
[00126] A second use of the M-Path-Matched Filter is the Last Path-Matched Filter, which enables better detection of the last path, for example for channel length estimation.
[00127] Another use could be to isolate the different paths one after the other, iteratively estimating the paths (and their respective positions), starting from the first path, for example, subtracting it, and then moving onto the second path and so on. This can be useful if need or desire arises to determine the position of arrival of some or all the paths. The paths can be found iteratively; using a First-Path Matched Filter, or M-Path-Matched filter, the first or M paths are detected, then subtracted from the filtered received signal Then the next path or the next M' paths are found, until all paths are detected and accounted for.
[00128] After describing the above four methods for constructing a filter, it should be noted that using causal filtering does not preclude from using, in a hybrid manner, other techniques such as super-resolution techniques or ML. Super resolution techniques can encompass MUSIC, root MUSIC, Non-Gaussianness methods (such as independent component analysis (ICA)), etc.
[00129] Referring now to Figs. 8-10, three flowcharts illustrate different method for implementing the filter of the present invention in time domain systems, such as GPS (global positioning system). In Fig. 8, a first method is illustrated for time domain systems, e.g. in CDMA (code division multiple access) or GPS systems. Causal filtering is applied first to the received signal in time domain, usually at the same time as low-pass filtering is applied to remove out of band noise and interference. The causal filtering operation is thus merged with the low pass filtering operation. The causal filter can be applied in the form of an FIR or IIR filter that approximates the desired causal filter. This operation is followed by optional down- sampling, by pilot descrambling, by optional chip accumulation or integration, before reaching the final step for estimating TOA. At that stage, the impulse response looks causal and facilitates detection of first path from subsequent paths.
[00130] In Fig. 9, we provide the equivalent method for frequency domain systems such as OFDMA (Orthogonal frequency-division multiple access). An FFT or different operator is often used in these systems to convert the input signal into a frequency domain signal and so the causal filtering can be easily applied in frequency domain by multiplying with causal weights. After application of the causal filter, an inverse FFT (iFFT) is applied to the filtered signal to convert it to time domain and estimating TOA.
[00131] In Fig. 10, another method is provided for time domain systems such as
CDMA or GPS. The first stage of correlation incorporates the usual low pass filtering, descrambling and accumulation. At that point, causal filtering can be applied in the frequency domain via FFT, causal weights and then iFFT. The difference between Fig. 8 and Fig. 10 is the time at which the causal filtering is applied: in the first case, the causal filtering is applied
early on within the low pass filtering, while in the second case, the causal filtering is applies later after descrambling and accumulation, via FFT/iFFT.
[00132] In Fig. 8, the causal filter may include a very long finite impulse response
(FIR) filter or an infinite impulse response (IIR) filter in the time domain that creates a pseudo-causal impulse response. Using a FIR is usually unacceptable in mobile phones, because the causal filter is typically too long and necessitates too many multipliers per output sample.
[00133] The IIR may be of minimum phase type filter or a filter that matches as closely as possible the desired response designed in sections A and B above. The IIR could be designed to match closely that response by tweaking its coefficients, or for example, by minimizing the error between the IIR and desired response, min B,A |B - AX|2 where the IIR in Z transform is given by X(z) = B(z)/A(z), and the desired response is on the unit circle (frequency domain). For example, Matlab's invfreqz function may be used for such IIR design.
[00134] Figs. 9 an 10 illustrate methods in which fast Fourier transform (FFT) and inverse fast Fourier transform (iFFT) are used. In Fig. 9, descrambling can be performed after FFT. In Fig. 10 is made prior to FFT can benefit from scrambling sequences (+/- 1) in time domain, and from existing implementations. Using Chirp-Z Transform (CZT) instead of iFFT allows oversampling at low complexity in a region of interest if the approximate location of the peak is known.
[00135] II. Estimating the TOA
[00136] Following the construction of the filter, and the filter's application on the input signal, processing of the filtered signal is required in order to estimate the time of arrival.
[00137] Fig. 11 is a flowchart 200 illustrating a method for estimating time of arrival of a received (input) signal filtered via the filter of the present invention.
[00138] At 202, if the filtered waveform is in the frequency domain, the filtered waveform is moved into the time domain where the first path can be more naturally observed. Optionally, an iFFT is performed on the filtered waveform to move the waveform into time domain.
[00139] The resulting impulse response in time domain contains the new reference waveform (transmitted waveform filtered by filter of the present invention), plus its echoes and noise. The first path is less impacted by subsequent multipath since the early side lobes of subsequent multipath are attenuated by the filter of the present invention. The goal now is to determine the time of arrival based on this new time domain impulse response.
[00140] At 204, the noise level is estimated in the early samples before the (causal) signal starts (i.e. before the first path). Noise might contain some aliased signal, which can now be considered as noise. Noise power (or variance) estimation can be performed by averaging the power (or an approximation of the power) of a few samples in a region determined to be free of useful signal (prior to first path arrival). It could alternatively be performed by measuring the peak power levels of a few peak in that region, and then mapping those peak values to some level value compatible with a noise power level.
[00141] At 206, the first energy/power and rise is then located. In a variant, the first energy rise is identified in the first sample that is above a threshold relative to noise (e.g. 10 to 12dB above noise). The first energy rise can alternatively be a set of neighboring samples above threshold, for improved detection of the energy rise (e.g. a few neighboring samples 7 to 9dB above noise). Optionally, such samples should not carry correlated noise, i.e. they should not usually be the nearest neighbors.
[00142] Optionally at 208, the SNR is more accurately measured. In a variant, the channel length or channel statistics (Power Delay Profile (PDP)) may be more accurately measured as well. SNR is measured as the accumulation of the power (or approximate power) of a few samples known to contain useful signal over the pre-estimated noise power. Samples are known to contain useful signal if they occur after the first path, and are some level above noise power. The new SNR might be calculated as a local SNR in the region (samples) immediately following the energy rise instead of the overall SNR, which is impacted by faraway and non-interfering clusters of paths. Based on this information, a better suited filter from a plurality of predetermined filters of the present invention may be selected at 210, to replace the previously selected filter, and applied to the received signal. The plurality of predetermined filters are pre-calculated to match different types of channel models and/or SNR levels, to enable better/easier estimation of the TOA when such signals are received. The selection of the filter according to the signal's properties is explained in detail in Section III of this document.
[00143] From the first energy rise point, the rising curve of the main lobe is followed upwards at 212 by computing more samples (higher oversampling), for example via inverse DFT (Discrete Fourier Transform), via CZT (Circular Z Transform), or via usual inverse FFT.
[00144] As the rising curve of the main lobe is followed, the identification of the first pulse (and thus the estimation of the time of arrival) is at 214 performed via any of the following decision methods.
[00145] A. One -point decision in time domain
[00146] From a selected point on the rising curve that is sufficiently above noise (e.g., the first energy rise point or a point a little higher than the first energy rise point), and based on approximate SNR levels of the filtered receives signal in the time domain (preferably at the selected point), the time offset to the first path is predicted via a pre-determined look up table. The look up table may be generated via simulation, and/or theoretical considerations, and/or via averages of measured offsets from the operating point to the center of the reference signal (this last method will be explained in detail in section B below). Given an SNR level and a detected signal value sufficiently above noise (to reduce noise), and sufficiently early (to reduce interference from subsequent multipath), the average time offset from such a point to the true first peak (i.e. to the first path arrival) can be determined by simulation or theoretically. The SNR, noise level, and signal values of the received filtered signal are easily measured. Based on these measurement, the corresponding time offset is found on the lookup table. An interpolation can be performed between two look up table entries to fine tune the level and hence the time offset. This method is robust and able to detect weak first paths (in Non-Line-of-Sight (NLOS) condition).
[00147] B. 2-point or N-point matching decision in time domain
[00148] Rather than just 1 point, 2 or N consecutive points (or segments) are used on the received curve to match against the reference waveform X' .
[00149] X' = ΓΧ = Ψϋ =X G,
where transmitted waveform G has been filtered by X to obtain X'; Γ is the diagonal matrix of G, and Ψ is the diagonal matrix of X. Likewise, the received signal Y is filtered by X to obtain Υ'=ΨΥ=Χ Y.
[00150] The curve matching (or fitting) in this section is performed in time domain over a few consecutive samples.
[00151] The matching may be done according to any known shape matching technique. In a non-limiting example, the matching is done by minimizing the least squares (LS) formula:
[00152] mtn¾ti Yf - ¾ ¾.)|2 where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the filtered received waveform and from the reference waveform, ai is a complex scalar and ti is a time shift of the reference waveform; both parameters are to be
determined such that we minimize the least squares (LS) criterion. As the curve's climb is followed, the residual error of the LS formula should normally decrease. In some embodiments of the present invention, the following of the curve's climb is stopped when a predetermined minimum high level above noise is reached with an error that is below a predetermined threshold. The thresholds depend on one or more characteristics of the signal and noise level, and may be pre-computed and matched to the signal's measured characteristics via a look-up table or computed online according to measurements of such signal characteristic(s). In some embodiments of the present invention, the following of the curve's climb is stopped when the residual error starts increasing, which can signal that the point that is being analyzed is beyond the peak or that there are nearby multipath whose impact is commencing to be felt. The point at which the following of the curve is stopped (called the operating point), corresponds to some known time shift ti of the reference curve. This time shift is an estimate of the position of the first path. This method can lead to more accurate results if the subsequent paths are not too nearby.
[00153] It should be noted that if a threshold for the LS error is used, the threshold may be determined via simulation or theoretical consideration as a level below which there is a desired probability that the correct match has been achieved. Depending on the case and on the user's requirements, the user may select the desired probability and use the selected probability to find the corresponding threshold via simulation or theoretical consideration.
[00154] Figs. 12 and 13 are experimentally obtained power vs distance graphs illustrating the 2-point or N-point decision method. Fig. 13 is a detail of Fig. 12 with the addition of the reference waveform.
[00155] In Fig. 12, the first waveform 300 and the second waveform 302 are waveforms of two received signals filtered via a filter of the present invention. Each received signal was output by the same receiving antenna as a response to two transmitted signals emitted by respective transmitting antennas. The transmitting antennas are located at the same location. The receiving antenna was at a high floor, where the first tap (pulse) was significantly stronger than the following taps.
[00156] In Fig. 13, the received filtered waveforms 300 and 302 are compared to the reference waveform 304. It can be seen that the rise of the main lobes in both waveforms 300 and 302 closely match the rise of the main lobe from the reference signal. By following the rise of each waveform 300 and 302 and minimizing the residual LS error between each waveform 300 and 302 and the reference waveform 304, the operating point 306 of the waveforms 300 and 302 is found. The shape of the received filtered waveforms in the region
of the operating point (or operating segment) allows the construction of the full reference waveform; and hence its time of arrival at the center (of the green waveform). It should be noted that even though the waveforms 302 and 304 are different, their operating point or operating segment is approximately the same, since they originate from to the same location with respect to the receiving antenna.
[00157] C. Near-ML decision
[00158] If the second path is nearby leading to noisy mina t jy!— a1^?(r1)pmeasurements, then a 2-paths LS criterion (near-Maximum Likelihood (ML)) is applied as follows: [00159] min^, \Yf (fx) 2
[00160] by subtracting from the received signal both the first and second paths, located at hypothesized positions ti and ti respectively. The search areas for ti and ti are small (given that the time corresponding to the first path is approximately known), hence this method is not computationally intensive. The impact of the third path is likely to be small onto the rising edge of the first path. Hence, a near-ML estimate is achieved by considering the first and second paths only.
[00163] ti provides an estimate of the TOA of the first path. If the residual error after LS matching with M paths is small (below a certain threshold, as explained above), the point at which the residual error is below a certain threshold is considered to be the operating point, and there is no need to try M+l paths. In some experimental cases analyzed by the examiners, the threshold has been found to be -20dB. However, this value may change according to properties of the noise and signal.
[00164] It should be noted that even with M paths, the near-ML decision is always less computationally intensive than prior art ML, where many more path have to be taken into account due to their non-causal interference with the first path via their early side lobes.
[00165] Figs. 14 and 15 are experimentally obtained power vs distance graphs illustrating the near ML decision method. Fig. 14 is a detail of Fig. 13 with the addition of the first two reference waveforms.
[00166] In Fig. 14, the first waveform 310 and the second waveform 312 are waveforms of two received signals filtered via a filter of the present invention. Each received signal was output by the same receiving antenna as a response to two transmitted signals emitted by respective transmitting antennas. The transmitting antennas are located at the same location. The receiving antenna was at a low floor, where the proportional power of the first tap (pulse) and subsequent taps was unknown, since there was no line of sight between the transmitting antennas and the receiving antennas.
[00167] In Fig. 15, the graph includes the first reference waveform 314 and the second reference waveform 316 corresponding to first and second paths respectively. The reference waveforms have the same shape which is shifted both along space axis and the power axis to simulate two taps of different powers arriving at different times. The appropriate energies and times for the first and second reference waveforms are easily found since they are near an energy and time of an initial reference waveform estimated according to 2-point or N-point matching decision. When the residual LS error between each waveform 310 and 312 and the reference waveforms 314 and 316 is below a certain threshold or starts to rise, the operating point 318 of each waveforms 310 and 312 is found. If needed, a third waveform can be added.
[00168] D. Noise whitening via Weighted Least Squares (WLS)
[00169] All of the above LS-based decisions formulas can be much improved by using a Weighted LS (WLS) formula in order to whiten the colored noise when oversampling rate is high. The general formula changes to
[00170] min^ (Υ' £α^Υ¾))-¾-:1(Κ'
[00171] Where C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise:
[00172] V = fliX'i + N! i.e. N is the noise left after subtracting all paths i whose impact on the first path we wish to take into account (1 or more paths, including the first path).
[00173] E. General solution for near-ML with WLS matching problem
[00174] A general and compact expression of the model and WLS formula is given by
[00175] "' = XA + W'
mm( - XA~)!IC 1(Ϋ' - X/O
[00176] AX
[00177] where vector A is a vertical concatenation of the complex scalars ai, and the matrix X is a horizontal concatenation of the vectors X'(ti) (with i = 1 .. M) which includes the first path (i = 1) and as many nearby multipath as are desired or needed to consider to reduce their impact on the first path. The solution for vector A is the estimator
[00178] Λ - (X"€ ) 1X fC *l* f
[00179] And for X = ( '(ti), Λ'¾> ... X'iiM)}. i.e. for X'fa )„ i.e. for ti, we obtain minrH(/ - Xi'x8c-1x)-1x8c-1)iic-1i/ - x(xsc-Ix)-1xBc-i)r
[00180] s
[00181] i.e.
maxF^C-^ ^C-^-iX^C-^''
[00182] *
[00183] which can be expressed as
ma.KY!HM¥F
[00184] M
[00185] The matrix M of size N by N is given above, and depends on the hypotheses
£j. For a given hypothesis on the set of ti, matrix M is a constant and can be pre-computed and pre-stored. There does not exist a good solution A for any number of M included multipath, and any number N of matching points, and any spacing between the points. Usually, M < N, and the spacing between the N points should be sufficiently large to reduce correlation among them.
[00186] The above method's implementation can be accelerated in several ways.
[00187] F. Efficient implementation by pre -computing matrix M
[00188] A few possible values of matrix M can be precomputed, one value for each set of hypotheses £j . For example, for 2 paths (first path and second path), we could have 2x2 =
4, or 3x3 = 9 possible values for the hypotheses f; and hence for M. The value that τηακ Υ!ΜΜΥ'
maximizes M is selected.
[00189] Optionally, afterwards, a gradient descent or any optimization method can be used to fine tune the values of ^around the initial pre-stored value. But this may require recomputing M, or some equivalent method.
[00190] III. Parameter Optimization
[00191] For all the above methods, thresholds and filter selection can be tweaked per type of channel, e.g. based on delay spread, based on the energy of the first cluster of paths (relative to noise, i.e. SNR of first cluster). It is the first cluster that we wish to analyze and equalize. The first cluster can be defined as the first few samples where energy is detected. The thresholds may be set in two different ways: peak detection threshold (i.e. when a peak is found, useful at low SNR), or energy detection threshold (i.e. when energy rises above the noise, useful at high SNR). In the former case, the TOA can be assumed to occur a few samples earlier than the detected peak. In the latter case, the TOA can be assumed to occur a few samples later than when energy is first detected. Interpolation, extrapolation, curve fitting, etc, can also be used to locate the peak after the energy rise position is detected.
[00192] A. Using 2 thresholds (based on peak & noise floor)
[00193] In some embodiments of the present invention, noise floor can be estimated using a moving average over the time domain channel impulse response. The SNR can be estimated using the maximum and minimum of the moving average filter, and can be used to select the decision method to choose. Alternatively, thresholds based on noise floor, peak power and/or peak average power can be used to tweak the parameters of the decision method.
[00194] B. Adapting the thresholds and the causal filter
[00195] In some embodiments of the present invention, an initial estimate of the TOA can be made using a causal filter with minimal oversampling (e.g. Ik FFT for 601 carriers). Subsequently, a higher resolution channel impulse response (CIR) is computed using chirp-z transform (CZT). For this highly oversampled CIR a different frequency windowing filter can be applied, based on the estimated SNR (and channel type). This may be a causal filter or a non-causal with narrower impulse response to aid in peak detection.
[00196] C. Waveform matching
[00197] Upon detecting the first cluster, waveform matching can be applied to separate independent taps. Examples of waveform matching were described above in section II.
[00198] D. Automation and optimization
[00199] The inventors have observed that the TOA estimation problem can be modeled by a relatively small set of parameters. These parameters include filter design (e.g. the weights), threshold levels, oversampling, interpolation parameters, offset values, window search positions, average SNR, local SNR of first arriving cluster of paths, channel model, etc. These parameters can be optimized using various optimization techniques to achieve best results, in the sense of minimizing a cost function.
[00200] In some embodiments, the channel model is used for optimizing the parameters and/or thresholds. The channel model can be a mix of channel models (and a mix of line-of-sight (LOS) and non-line -of-sight (NLOS) cases). Given a channel type, simulations are run to determine the best parameters for the filter and/or thresholds. Optionally, a first set of parameters and/or thresholds are used as a starting point and simulations are run according to this first set. The simulations are the run again with a second set of parameters and/or thresholds which vary slightly from those of the first set. If results improve, a new set of parameters and/or thresholds is chosen by further changing the parameters and/or thresholds along that gradient of the change of the parameters and/or thresholds from the first set to the second set. If results degrade, the new set of parameters and/or thresholds is chosen by further changing the parameters and/or thresholds along that gradient of the change of the parameters and/or thresholds from the first set to the second set. In some embodiments of the present invention, the optimization further includes restarting from a further set of parameters and/or thresholds and reiterating the above process, until there is a certain confidence that a global minimum has been of the cost function has been found.
[00201] The cost function can be based on CDF (Cumulative Distribution Function) of the TOA error metric. The goal can be to minimize the outliers on this curve (e.g. 95th percentile has lowest possible error), or to maximize average performance (e.g. 70th percentile has lowest possible error, or average error is lowest possible for all channel instances).
[00202] Referring to Figs. 18 and 19, an LTE signal with 10MHz bandwidth, SNR of -
13dB, -3dB and 12dB, with 1 receiver antenna and 6 coherently combined PRS subframes (Positioning Reference Signals) is considered.
[00203] The waveform is sampled at 30.72Msps. First path detection thresholds are tweaked for the difficult channel ETU (Extended Typical Urban) channel (Fig. 18). The same thresholds are retested unchanged on the channel EVA (Extended Vehicular A) (Fig. 19), although these thresholds can be adapted to each channel type. In both cases OHz Doppler is assumed. Thresholds are tweaked independently for each of sine and near-causal filters, and at each SNR level, such that the error probability is minimized. The near-causal filter used at -3dB and 12dB SNR is shown in Fig. 5. The near-causal filter that we used at -13dB is less stringent (cf. Table II) with reduced loss at the origin. The filters used in Figs. 18 and 19 were obtained according to the constraints or weights method described above^
[00204] Simulation results for TOA estimation using 5000 ETU and 5000 EVA channel instances are given in Figs. 18 and 19. The cumulative distribution function is plotted as a function of the error in meters. It can be seen that by minimizing error probability, TOA estimation by using the causal or near causal filter of the present invention yield a higher probability of low error in all cases.
[00205] F. Adjusting the channel model before applying optimization
[00206] Parameter optimization can be performed for a given channel model but this can be misleading. Unless large field measurements are made, the typical theoretical channel models have to be adapted to take into account NLOS and other impacts. For example, simply choosing the Extended Pedestria A (EPA) channel model can be problematic, because the parameters for a sine filter (non-causal) can be optimized to achieve acceptable performance. But such parameters would fail when the first path is weak (NLOS).
[00207] Instead, EPA can be adjusted model such that the first path is stronger or weaker by +10dB, OdB, -lOdB and -20dB (with a given proportion mix of each case) in order to model near LOS and NLOS cases. Thresholds and parameters are the optimized as described in section III(D) above. As seen above in Figs. 13 and 14, the use of causal filters of the present invention can help estimating TOA in NLOS cases.
[00208] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not of limitation. Likewise, the various diagrams may depict an example architectural or other configuration for the invention, which is done to aid in understanding the features and functionality that can be included in the invention. The invention is not restricted to the illustrated example architectures or configurations, but the desired features can be implemented using a variety of alternative architectures and configurations. Indeed, it will be apparent to one of skill in the art how alternative functional, logical or physical partitioning
and configurations can be implemented to implement the desired features of the present invention. Also, a multitude of different constituent module names other than those depicted herein can be applied to the various partitions. Additionally, with regard to flow diagrams, operational descriptions and method claims, the order in which the steps are presented herein shall not mandate that various embodiments be implemented to perform the recited functionality in the same order unless the context dictates otherwise.
[00209] IV. System for estimating TOA
[00210] All the techniques described above regarding filter construction, filter selection, and TOA estimation require a processing system for being executed. Therefore, an aspect of some embodiments of the present invention relates to a system for estimating TOA.
[00211] The system 400 for estimating TOA is illustrated in Fig. 20. The system includes a receiving device 402, a processing unit 404, a memory unit 406, and an input/output interface 408.
[00212] Generally, the system 400 is used for online TOA estimation, and may not be required to generate a causal filter described above. Instead, the system 400 may analyze a received signal, extracts one or more properties therefrom, and use the one or more properties to match the one or more properties of the received signal to a corresponding pre-calculated filter. In some embodiments of the present invention, a single pre-calculated filter is available for being applied to an incoming signal.
[00213] The receiving device 402 may be any kind of detector able to detect the transmitted signal. In the case in which the transmitted signal is a radio signal, the receiving device is any kind of known antenna operating within a radio frequency. The receiving device 402 is configured for generating a received signal in response to the reception of the transmitted signal.
[00214] The received signal is received by the processing unit 404, which applies a near-causal filter as described above to the received signal, to generate the first waveform. The processing unit 404 follows the method of Fig. 11 to estimate TOA, by using any one of the above described decision methods. When the TOA estimation is complete, the processing unit 404 may output the estimated TOA value to the input/output interface 408, which will communicate the value to a user, and/or stores the estimated value in the memory unit 406, for later use and/or further processing.
[00215] Preferably, prior to the application of the filter, the processing unit 404 extracts at least one value related to at least one property related to at least one of a signal to noise ratio (SNR) of the received signal in the time domain, a channel length, and a power
delay profile. In some embodiments of the present invention, the memory unit 406 includes a plurality of pre-calculated instances/adaptations of the near-causal filter, each instance corresponding to a respective value of the one or more properties. The processing unit 404 selects the pre-calculated adaptation of the near-causal filter which corresponds to the extracted value. The pre-calculated filters are configured for filtering the matching received signals in order to enable more accurate and/or easier TOA estimation by the further processing of the filtered received signal (first waveform).
[00216] Optionally, following the application of the near causal filter the processing unit is configured for analyzing the first waveform, in order to check if a better instance of the near causal filter can be applied to the received signal. In this manner, the near causal filter can be optimized to the received signal.
[00217] The memory unit 406 is a non-volatile type of computer memory in communication with the processing unit and is configured for storing data indicative of: the non-causal filter or of a plurality of adaptations thereof, computer-readable instructions for processing the received signal, computer-readable instructions for processing the received signal for executing the at least one predefined decision technique.
[00218] The input/output interface 408 is any type of interface that connects the processing unit to input and or output devices, to enable communication between the processing unit and a user.
[00219] The processing unit comprises a microprocessor, microcontroller, custom
ASIC, and/or discreet circuitry selected on the basis of power consumption, size, processing speed, memory capacity, and other factors for performing all of the functionality of the apparatus.
[00220] The system 400 may include a cellular phone, a smart phone, a tablet computer, a laptop computer, a desktop computer, or any similar computing/communication electronic device.
Claims
1. 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 received signal being filtered via a near-causal filter, to generate a first waveform indicative of a filtered received signal wherein:
a shape of an impulse response of the near causal 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 lob;
the early side lobes have peaks proximal to a noise level of the first waveform; 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;
the slope of the main lobe is near the slope of the main lobe of the sine filter's impulse response;
a width of the main lobe is larger than a width of a main lobe of a sine filter's impulse response, while being maintained near the width of the sine filter's main lobe; the method comprising:
(i) if the first waveform is in a frequency domain, moving 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.
2. The method of claim 1, wherein a frequency response of the filter is near flat.
3. The method of claim 1, wherein moving first waveform to a time domain comprises applying an inverse fast Fourier transform (iFFT) to the first waveform.
4. The method of claim 1, wherein the predetermined threshold is about 10 dB over the estimated noise.
5. The method of claim 1, wherein following a rising curve of the main lobe of the first waveform in the time domain comprises oversampling the first waveform.
6. The method of claim 5, wherein oversampling is performed via inverse DFT (Discrete Fourier Transform), via CZT (Chirp-Z Transform), or via iFFT.
7. The method of claim 1, further comprising, between steps (iii) and (iv):
determining a property comprising at least one of: a signal to noise ratio
(SNR) of the first waveform in the time domain, a channel length, and a power delay profile;
selecting one of a plurality of predetermined near-causal filters matching the property, the predetermined near-causal filters being pre -calculated for enabling better estimation of the time of arrival when applied to signals having corresponding properties;
applying the selected near-causal filter to the received signal.
8. The method of claim 1, wherein the predefined decision technique comprises: selecting a first point at or above the first energy rise point on the first waveform and calculating SNR in a vicinity of the first point;
using a look-up table to match the SNR to a predetermined time offset between the first point and a waveform of a first pulse to be received.
9. The method of claim 8, wherein the predetermined time offset is determined via at least one of: one or more theoretical considerations, one or more simulations, previously acquired experimental data.
10. The method of claim 1, wherein the predefined decision technique comprises:
applying the near causal filter to the transmitted signal to generate a reference waveform;
choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise;
calculating a matching between a shape of a segment between the at least two consecutive points and a shape of the reference waveform;
determining one or more points along the first waveform until an operating point is found at which a match between the first waveform and the reference waveform is found;
constructing an instance of the reference waveform from a segment in a vicinity of the operating point;
determining a time interval between the operating point and a center of the constructed instance of the reference waveform, the time interval being an estimate of the time of arrival.
11. The method of claim 10, wherein the operating is one of:
a point at which a minimal least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found; a point at which a least squares error between the shape of the first waveform and a shape of a corresponding section of the reference waveform is below a first predetermined threshold and an energy of the point is above a second pre-determined threshold with respect to the estimated noise;
a point at which a minimal weighted least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found, the minimal weighted least squares error being expressed as
where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the reference waveform, ai is a complex scalar and ti is a time shift of the reference waveform, ΧΊ is a
complex vector corresponding to a waveform of first pulse to be received, C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise and N' is the noise left after subtracting a waveform of the first arriving pulse (first path) from Y';
a point at which a weighted least squares error is below a predetermined error between the shape of the first waveform and a shape of a corresponding section of the reference waveform and an energy of the point is above a second pre-determined threshold with respect to the estimated noise.
12. The method of claim 1, wherein the predefined decision technique comprises: applying the near causal filter to the transmitted signal to generate a reference waveform;
choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise;
calculating a least squares error {F?— £αέ-¥*{£έ)|* between a shape of a first waveform and shapes of a sum at least two of instances of the reference waveform, the minimization formula being, where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the ith instance of reference waveform, ai is a complex scalar, ti is a time shift of the ith instance of the reference waveform and i > 2;
determining one or more points along the first waveform until an operating point is found at which the least square error is minimized or at which the least square error is below a certain threshold;
constructing i instances of the reference waveform from a segment in a vicinity of the operating point;
determining a time interval between the operating point and a center of the first constructed instance of the reference waveform, the time interval being an estimate of the time of arrival.
13. The method of claim 12, wherein the operating point at which the weighted least squares error is minimized or below a predefined threshold, the weighted least squares error being:
(.¥'' -∑a£jSf,{ti}}JfC- 1CFr' -∑a,Z¾>)
where £ is the noise covariance matrix of the 2 or N point noise vector /¥' from the general model of signal plus noise Vs
and N* is the noise left after subtracting i waveforms corresponding to first i arriving paths whose impact on the first path are to be taken into account wish to take into account (i>2 and includes the first path).
14. The method of claim 1, further comprising, before step (i):
applying the near-causal filter to the received signal in time domain, in conjunction to a low pass filter.
15. The method of claim 14, further comprising, following the application of the near causal filter, at least one of: down-sampling, pilot descrambling, accumulation, and integration of the first waveform.
16. The method of claim 1, comprising, prior to step (i):
converting the received signal into a frequency domain signal;
descrambling the frequency domain signal;
applying the causal to the frequency domain signal filter in the frequency domain to generate a first waveform in the frequency domain; and
converting the first waveform in the frequency domain filtered into the first waveform in the time domain.
17. The method of claim 1, comprising, prior to step (i):
at least one of down-sampling, pilot descrambling, accumulation, and integration of the received signal in the time domain to generate a correlated received waveform;
converting the correlated received waveform into a frequency domain signal; applying the causal to the correlated received waveform in the frequency domain to generate a first waveform in the frequency domain; and
converting the first waveform in the frequency domain filtered into the first waveform in the time domain.
18. The method of claim 14, comprising constructing the near causal filter prior to applying the near causal filter.
19. The method of claim 18, wherein the constructing of the near causal filter comprises:
defining the filter in the frequency domain as by K-dimensional vector X, and in the time domain as a N-dimensional vector x, where X = Fx, F being a Fourier transform matrix having size K by N in which fc.„ = e~2j7rkn/ !$;
defining a matrix A as A = W + V, in which V is a frequency domain diagonal matrix having elements Vk_k , while w is a time domain diagonal matrix in which a strong weight w is selected in a non-causal region and elsewhere ΜΤλ¾ is relaxed, and W is a Toeplitz of w;
choosing values for the Vk k and M¾,S ;
defining G is a vector representative of the filter's ideal frequency domain response, where Gk = I for k < K and Gk = 0 otherwise;
defining £ as a diagonal matrix in which diagonal Gk,k elements correspond to
G¾ elements of the vector G;
defining P is an arbitrary frequency domain phase rotation diagonal matrix; defining P as a vector formed by diagonal elements P¾ k of a matrix Prf; solving P for maiP WiGl^A'1 V0P;
determining A' by using X— A^VGJ*;
determining x by using X = Fx;
if necessary, tweaking Vk,k and wR n in order to obtain satisfactory vectors X and x.
20. The method of claim 19, wherein:
the non-causal region is a region of the early side lobes of the and Wn,n»l in the causal region elsewhere w.„ i; is relaxed; or
the causal region is determined by a length of the channel (PDP), the non- causal region length is set to be equal to or a little longer than a length of the channel and is defined with varying weight level Wn,n, and Wn,n is relaxed in the causal region.
21. The method of claim 18, wherein the constructing of the near causal filter comprises:
defining the filter in the frequency domain as a K-dimensional vector X, and in the time domain as a N-dimensional vector x, where x = t' X , and F is a Fourier transform matrix having size K by N, in which t'kxl = e~Zjv:krt/ tN;
selecting \X\ to be a desired amplitude response in the frequency domain, calculating X by using X = j 'jg~!ff^¾ s s where H is the Hilbert transform; calculating x by using x = F¾;and
if necessary, tweaking \X\ in order to obtain satisfactory vectors X and x.
22. A system for estimating a time of arrival of a signal generated by a transmitting device as a transmitted pulse, the system comprising:
(a) a receiving device, configured for receiving the transmitted pulse and generating a received signal in response to the transmitted device;
(b) a processing unit, configured for processing the received signal by:
(i) applying a near-causal filter to the received signal in order to generate a first waveform, the near causal filter having an impulse response waveform wherein:
a shape of an impulse response of the near causal 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 lob;
the early side lobes have peaks proximal to a noise level of the first waveform;
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;
the slope of the main lobe is near the slope of the main lobe of the sine filter's impulse response;
a width of the main lobe is larger than a width of a main lobe of a sine filter's impulse response, while being maintained near the width of the sine filter's main lobe;
(ii) if the first waveform is in a frequency domain, moving first waveform to a time domain;
(iii) estimating a noise level in early samples before a start of the first waveform in the time domain;
(iv) 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;
(v) from first energy rise point, following a rising curve of a main lobe of the first waveform in the time domain; and
(vi) identifying a location corresponding a first received pulse within the first waveform in the time domain according to at least one predefined decision technique, and determining a time coordinate of the identified location to calculate the time of arrival;
(vii) calculating the time of arrival data by using the time coordinate of the identified location and outputting the time of arrival;
(c) a memory unit in communication with the processing unit and configured for storing data indicative of: the non-causal filter, computer-readable instructions for processing the received signal, computer-readable instructions for processing the received signal and for executing the at least one predefined decision technique.
23. The system of claim 22, wherein:
the memory unit is configured for storing data indicative of a plurality of adaptations of the near causal filter, each adaptation corresponding to a respective received signal having at least one respective property related at least one of a signal to noise ratio (SNR) of the received signal in the time domain, a channel length, and a power delay profile, and being configured for filtering the respective received signal in order to increase an accuracy of the estimation of the time of arrival after the received signal is filtered;
prior to applying the near causal filter, the processing unit is configured for extracting a value of the at least property of the received signal, and selecting an adaptation corresponding to the extracted value.
24. The system of claim 22, wherein:
the processing unit is configured for identifying a location corresponding to a first received pulse by:
selecting a first point at or above the first energy rise point on the first waveform and calculating SNR in a vicinity of the first point;
using a look-up table to match the SNR to a predetermined time offset between the first point and a waveform of a first pulse to be received, the offset being the time coordinate;
and
the memory unit is configured for storing the look-up table, the look-up table comprising one or more lists corresponding to a respective one or more filters, each list having a sublist of SNR values and a corresponding sublist of time offset values, each time offset value corresponding to a respective SNR value.
25. The system of claim 22, wherein:
the processing unit is configured for identifying a location corresponding to a first received pulse by:
applying the near causal filter to the transmitted signal to generate a reference waveform;
choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise;
calculating a matching between a shape of a segment between the at least two consecutive points and a shape of the reference waveform;
determining one or more points along the first waveform until an operating point is found at which a match between the first waveform and the reference waveform is found, wherein the operating point is the identified location;
the processing unit is configured for calculating the time of arrival data by: constructing an instance of the reference waveform from a segment in a vicinity of the operating point; and
determining a time interval between the operating point and a center of the constructed instance of the reference waveform, the time interval being an estimate of the time of arrival;
and
the memory unit is configured for storing data indicative of the transmitted signal.
26. The system of claim 25, wherein the operating is one of:
a point at which a minimal least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found; a point at which a least squares error between the shape of the first waveform and a shape of a corresponding section of the reference waveform is below a first predetermined threshold and an energy of the point is above a second pre-determined threshold with respect to the estimated noise;
a point at which a minimal weighted least squares error between a shape of the first waveform and a shape of a corresponding section of the reference waveform is found, the minimal weighted least squares error being expressed as mis 0" - 3. (iiDHt; -
¾¾
where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the reference waveform, ai is a complex scalar and ti is a time shift of the reference waveform, ΧΊ is a complex vector corresponding to a waveform of first pulse to be received, C is the noise covariance matrix of the 2 or N point noise vector N' from the general model of signal plus noise and N' is the noise left after subtracting a waveform of the first arriving pulse (first path) from Y';
a point at which a weighted least squares error is below a predetermined error between the shape of the first waveform and a shape of a corresponding section of the reference waveform and an energy of the point is above a second pre-determined threshold with respect to the estimated noise.
27. The system of claim 22, wherein:
the processing unit is configured for identifying a location corresponding to a first received pulse by:
applying the near causal filter to the transmitted signal to generate a reference waveform;
choosing at least two consecutive points on the first waveform above a predetermined energy level with respect to the estimated noise;
calculating a least squares error \ Y! ( ,;)]1 between a shape of a first waveform and shapes of a sum at least two of instances of the reference waveform, the minimization formula being, where Y' and X'(ti) are the complex vectors containing the 2 or N consecutive points, respectively taken from the first waveform and from the ith instance of reference waveform, ai is a complex scalar, ti is a time shift of the ith instance of the reference waveform and i > 2;
determining one or more points along the first waveform until an operating point is found at which the least square error is minimized or at which the least square error is below a certain threshold, the operating point being the identified location;
the processing unit is configured for calculating the time of arrival data by: constructing i instances of the reference waveform from a segment in a vicinity of the operating point;
determining a time interval between the operating point and a center of the first constructed instance of the reference waveform, the time interval being an estimate of the time of arrival;
and
the memory unit is configured for storing data indicative of the transmitted signal.
28. The system of claim 27, wherein the operating point at which the weighted least squares error is minimized or below a predefined threshold, the weighted least squares error being: where C is the noise covariance matrix of the 2 or N point noise vector N1 from the general model of signal plus noise Yf =
+ Ν', and N! is the noise left after subtracting i waveforms corresponding to first i arriving paths whose impact
on the first path are to be taken into account wish to take into account (i>2 and includes the first path).
29. The system of claim 23, wherein:
the memory unit is configured for storing data indicative of a plurality of second adaptations of the near causal filter, each second adaptation corresponding to a respective first waveform having at least one respective property related at least one of a signal to noise ratio (SNR) of the first waveform in the time domain, a channel length of the first waveform in the time domain, and a power delay profile of the first waveform in the time domain, and being configured for filtering the received signal in order to increase an accuracy of the estimation of the time of arrival after the received signal is filtered;
following the applying of the near causal filter, the processing unit is configured for:
analyzing the first waveform and extracting therefrom at least one value of the at least one waveform property, and selecting a second adaptation corresponding to the extracted value, if available; and
applying the second adaptation to the received signal, to generate a new first waveform to replace the previously generated first waveform.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21150631.6A EP3869225A1 (en) | 2015-02-19 | 2016-02-19 | System and method for estimating time of arrival (toa) |
CN201680011327.6A CN107250836B (en) | 2015-02-19 | 2016-02-19 | System and method for estimating time of arrival |
EP16752023.8A EP3259613B1 (en) | 2015-02-19 | 2016-02-19 | System and method for estimating time of arrival (toa) |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/626,734 | 2015-02-19 | ||
US14/626,734 US10042037B2 (en) | 2014-02-20 | 2015-02-19 | System and method for estimating time of arrival (TOA) |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016132338A1 true WO2016132338A1 (en) | 2016-08-25 |
Family
ID=56692115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2016/050919 WO2016132338A1 (en) | 2015-02-19 | 2016-02-19 | System and method for estimating time of arrival (toa) |
Country Status (4)
Country | Link |
---|---|
US (3) | US10042037B2 (en) |
EP (2) | EP3869225A1 (en) |
CN (1) | CN107250836B (en) |
WO (1) | WO2016132338A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018133644A1 (en) * | 2017-01-17 | 2018-07-26 | 中兴通讯股份有限公司 | Direct path extraction method and device |
CN110208745A (en) * | 2019-06-26 | 2019-09-06 | 河海大学常州校区 | A kind of hydrolocation method based on adaptive matched filter |
US20210091820A1 (en) * | 2018-08-07 | 2021-03-25 | Nestwave Sas | Indoor and outdoor geolocation and time of arrival estimation using wireless signals |
WO2022106043A1 (en) * | 2020-11-19 | 2022-05-27 | Nestwave Sas | Indoor and outdoor geolocation and time of arrival estimation using wireless signals |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014167633A1 (en) * | 2013-04-08 | 2014-10-16 | 三菱電機株式会社 | Air conditioner management device and air conditioner management system |
US10042037B2 (en) * | 2014-02-20 | 2018-08-07 | Nestwave Sas | System and method for estimating time of arrival (TOA) |
EP3136121B1 (en) * | 2014-04-21 | 2020-10-28 | Mitsubishi Electric Corporation | Localization device |
US20170195159A1 (en) * | 2014-08-01 | 2017-07-06 | Lg Electronics Inc. | Method for transmitting and identifying pilot sequence in wireless communication system |
US10177797B2 (en) * | 2015-01-09 | 2019-01-08 | Qualcomm Incorporated | Filter for use in time-of-arrival estimation in wireless communications |
FR3046315B1 (en) * | 2015-12-29 | 2018-04-27 | Thales | METHOD FOR UNIVALENT AND UNIVERSAL EXTRACTION OF KEYS FROM THE PROPAGATION CHANNEL |
EP3570450A4 (en) * | 2017-02-27 | 2019-12-18 | Mitsubishi Electric Corporation | Timing estimation device and timing estimation method |
WO2018205169A1 (en) * | 2017-05-10 | 2018-11-15 | Huawei Technologies Co., Ltd. | Method and device for estimating a time of arrival of a radio signal |
US10660056B2 (en) * | 2017-09-08 | 2020-05-19 | Qualcomm Incorporated | Techniques for timing control with filtering in orthogonal frequency division multiplexing-based systems |
CN110555047B (en) * | 2018-03-29 | 2024-03-15 | 日本电气株式会社 | Data processing method and electronic equipment |
US10327221B1 (en) * | 2018-05-25 | 2019-06-18 | Apple Inc. | Super-resolution technique for time-of-arrival estimation |
WO2019232801A1 (en) * | 2018-06-08 | 2019-12-12 | Nokia Shanghai Bell Co., Ltd. | Noise floor estimation for signal detection |
US10880678B1 (en) * | 2018-08-07 | 2020-12-29 | Nestwave Sas | Indoor and outdoor geolocation and time of arrival estimation |
CN111225406B (en) | 2018-11-27 | 2022-02-18 | 华为技术有限公司 | Timing measurement method and related equipment |
US11747429B2 (en) * | 2018-12-19 | 2023-09-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Differential matched summed positioning |
WO2020139381A1 (en) * | 2018-12-26 | 2020-07-02 | Didi Research America, Llc | System and methods for ranging operations using multiple signals |
CN109633538B (en) * | 2019-01-22 | 2022-12-02 | 西安电子科技大学 | Maximum likelihood time difference estimation method of non-uniform sampling system |
US11041944B2 (en) * | 2019-03-01 | 2021-06-22 | Beijing Voyager Technology Co., Ltd. | Constant false alarm rate detection in pulsed LiDAR systems |
US11082854B2 (en) * | 2019-09-27 | 2021-08-03 | Apple Inc. | Signal validation for secure ranging |
US11709244B2 (en) * | 2019-10-21 | 2023-07-25 | Banner Engineering Corp. | Near range radar |
EP3819657A1 (en) * | 2019-11-07 | 2021-05-12 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Methods and apparatuses for positioning in a wireless communications network |
US10833800B1 (en) * | 2020-04-03 | 2020-11-10 | Rohde & Schwarz Gmbh & Co. Kg | Method and system for channel detection |
CN111948601B (en) * | 2020-07-31 | 2024-01-30 | 中国电子科技集团公司第四十一研究所 | Single-station pure-angle target positioning and tracking method under non-Gaussian noise condition |
CN113411882B (en) * | 2021-06-15 | 2022-08-23 | 四川九洲电器集团有限责任公司 | Pulse signal TOA estimation method, terminal positioning method, device and terminal |
WO2024005921A1 (en) * | 2022-06-27 | 2024-01-04 | Qualcomm Incorporated | Ue positioning with frequency domain windowing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090149132A1 (en) * | 2007-12-10 | 2009-06-11 | Trueposition, Inc. | Detection of Time of Arrival of CDMA Signals in a Wireless Location System |
US20110286505A1 (en) * | 2008-05-26 | 2011-11-24 | Commonwealth Scientific And Industrial Research Organisation | Measurement of time of arrival |
US20110316747A1 (en) * | 2010-06-25 | 2011-12-29 | Qualcomm Incorporated | Leading edge detection |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631175B2 (en) * | 1998-04-03 | 2003-10-07 | Tellabs Operations, Inc. | Spectrally constrained impulse shortening filter for a discrete multi-tone receiver |
AU2001236855A1 (en) * | 2000-02-11 | 2001-08-20 | The Regents Of The University Of California | Method and apparatus for resolving multipath components for wireless location finding |
US6952446B1 (en) * | 2001-12-10 | 2005-10-04 | The United States Of America As Represented By The Secretary Of The Air Force | Digital filter bank followed by monobit receivers for signal processing |
US6711528B2 (en) * | 2002-04-22 | 2004-03-23 | Harris Corporation | Blind source separation utilizing a spatial fourth order cumulant matrix pencil |
AU2003903826A0 (en) * | 2003-07-24 | 2003-08-07 | University Of South Australia | An ofdm receiver structure |
CN101304280A (en) * | 2002-12-10 | 2008-11-12 | 艾达普特4有限公司 | Radio communication system employing spectral reuse transceivers |
US6947449B2 (en) * | 2003-06-20 | 2005-09-20 | Nokia Corporation | Apparatus, and associated method, for communication system exhibiting time-varying communication conditions |
US7564932B2 (en) * | 2003-11-26 | 2009-07-21 | Conexant Systems, Inc. | Method and system for enhancing bit rate in DMT quad spectrum systems |
JP2006262039A (en) * | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | Propagation path estimation method and propagation path estimation apparatus |
KR100939276B1 (en) * | 2008-04-22 | 2010-01-29 | 인하대학교 산학협력단 | UWB distance measurement system and driving method thereof |
US8041336B2 (en) * | 2009-05-29 | 2011-10-18 | Itt Manufacturing Enterprises, Inc. | Methods and apparatus for accurately determining signal time of arrival |
KR101893622B1 (en) * | 2010-06-24 | 2018-08-30 | 코다 와이어리스 피티와이 리미티드 | Estimation of a multipath signal in a wireless communication system |
EP2600343A1 (en) * | 2011-12-02 | 2013-06-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for merging geometry - based spatial audio coding streams |
US10042037B2 (en) * | 2014-02-20 | 2018-08-07 | Nestwave Sas | System and method for estimating time of arrival (TOA) |
CN104199025B (en) * | 2014-09-18 | 2017-02-15 | 中国科学院电子学研究所 | Ultra-wideband pseudo-random encoding radar system |
-
2015
- 2015-02-19 US US14/626,734 patent/US10042037B2/en active Active
-
2016
- 2016-02-19 CN CN201680011327.6A patent/CN107250836B/en active Active
- 2016-02-19 EP EP21150631.6A patent/EP3869225A1/en not_active Withdrawn
- 2016-02-19 WO PCT/IB2016/050919 patent/WO2016132338A1/en active Application Filing
- 2016-02-19 EP EP16752023.8A patent/EP3259613B1/en active Active
-
2018
- 2018-07-05 US US16/027,785 patent/US10539652B2/en active Active
-
2019
- 2019-12-02 US US16/699,954 patent/US11079467B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090149132A1 (en) * | 2007-12-10 | 2009-06-11 | Trueposition, Inc. | Detection of Time of Arrival of CDMA Signals in a Wireless Location System |
US20110286505A1 (en) * | 2008-05-26 | 2011-11-24 | Commonwealth Scientific And Industrial Research Organisation | Measurement of time of arrival |
US20110316747A1 (en) * | 2010-06-25 | 2011-12-29 | Qualcomm Incorporated | Leading edge detection |
Non-Patent Citations (1)
Title |
---|
See also references of EP3259613A4 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018133644A1 (en) * | 2017-01-17 | 2018-07-26 | 中兴通讯股份有限公司 | Direct path extraction method and device |
US20210091820A1 (en) * | 2018-08-07 | 2021-03-25 | Nestwave Sas | Indoor and outdoor geolocation and time of arrival estimation using wireless signals |
US11522576B2 (en) | 2018-08-07 | 2022-12-06 | Nestwave Sas | Indoor and outdoor geolocation and time of arrival estimation using wireless signals |
CN110208745A (en) * | 2019-06-26 | 2019-09-06 | 河海大学常州校区 | A kind of hydrolocation method based on adaptive matched filter |
WO2022106043A1 (en) * | 2020-11-19 | 2022-05-27 | Nestwave Sas | Indoor and outdoor geolocation and time of arrival estimation using wireless signals |
Also Published As
Publication number | Publication date |
---|---|
US10042037B2 (en) | 2018-08-07 |
US20200103491A1 (en) | 2020-04-02 |
US11079467B2 (en) | 2021-08-03 |
US20160306027A1 (en) | 2016-10-20 |
US10539652B2 (en) | 2020-01-21 |
EP3259613B1 (en) | 2021-01-13 |
EP3259613A4 (en) | 2018-11-07 |
EP3259613A1 (en) | 2017-12-27 |
CN107250836A (en) | 2017-10-13 |
EP3869225A1 (en) | 2021-08-25 |
CN107250836B (en) | 2021-06-29 |
US20180313930A1 (en) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11079467B2 (en) | System and method for estimating time of arrival (TOA) | |
KR101829248B1 (en) | Interference mitigation for positioning reference signals | |
TWI483592B (en) | Continuous sequential scatterer estimation | |
JP5801883B2 (en) | Multipath signal estimation in wireless communication systems | |
JP6165348B2 (en) | Interference identification apparatus, radio communication apparatus, and interference identification method | |
JP2016225981A (en) | Estimation device, estimation method of multipath time delay and receiver | |
WO2015183390A1 (en) | Positioning in indoor locations and other gps-denied environments | |
JP4324222B2 (en) | Apparatus and method for determining maximum correlation point | |
EP3732498A1 (en) | Position determination system having a deconvolution decoder using a joint snr-time of arrival approach | |
CN114785379A (en) | Underwater sound JANUS signal parameter estimation method and system | |
CN108833315A (en) | A kind of method and device of channel estimation | |
US11522576B2 (en) | Indoor and outdoor geolocation and time of arrival estimation using wireless signals | |
CN108462667B (en) | Frequency offset estimation method, device, storage medium and computer equipment | |
JP6399512B2 (en) | Source estimation method and source estimation apparatus using the same | |
JP6373809B2 (en) | Signal information acquisition system and signal information acquisition method | |
Huang et al. | Tracking channel variations in a time-varying doubly-spread underwater acoustic channel | |
US20230081564A1 (en) | Indoor and outdoor geolocation and time of arrival estimation using wireless signals | |
Chrabieh et al. | Advanced TOA Estimation For Multipath Channels | |
RU2713378C1 (en) | Method of estimating channel parameters in ofdm systems | |
WO2013146626A1 (en) | Improved cyclostationary detection based on estimating the roll-off factor of a transmit filter | |
JP2011176742A (en) | Channel response estimator | |
WO2022106043A1 (en) | Indoor and outdoor geolocation and time of arrival estimation using wireless signals | |
CN101500015A (en) | Method, system and apparatus for detecting signal | |
JP2007129549A (en) | Equalizer and equalizing method | |
CN110520749A (en) | Estimate the method and apparatus of wireless signal arrival time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16752023 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2016752023 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |