Determining the temporal position of a signal
The use of a matched filter set with sub-interval shifts allows for precise signal temporal position detection within a scan sequence, addressing accuracy and resource constraints without increasing sampling frequency.
Patent Information
- Application Number
- DE102020107429
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-03-26
- Filing Date
- 2020-03-18
- Publication Date
- 2025-10-09
- Estimated Expiration
- 2040-03-18
AI Technical Summary
Existing signal detection methods struggle to accurately determine the temporal position of a signal within a scan sequence without increasing the sampling frequency, which can be costly, power-consuming, or impractical due to memory or real-time constraints.
Utilizing a matched filter set of matched filters, each corresponding to a pattern signal shifted by a sub-interval shift, to analyze the sampling sequence and determine the temporal position of the signal with high accuracy.
Achieves highly accurate temporal position determination of signals within a scan sequence at a moderate sampling frequency, overcoming limitations of higher frequency requirements and reducing power consumption and memory demands.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical area
[0001] The present disclosure relates to the field of signal processing and, more particularly, to the detection of a signal in a sample sequence of samples from a sensor. background
[0002] Within the field of data processing, many scenarios involve the detection of a signal within a sample sequence, such as a pulse occurring within a sample sequence. Many such scenarios involve a collection of samples from a sensor at a selected frequency. The sequence of samples can be evaluated to detect whether a signal occurs within a sample sequence, such as a pulse sent by a transmitter that can be detected by the sensor. The sample sequence can be evaluated to detect both the occurrence of the signal (e.g., as a comparison to a background noise level of the sample sequence) and the temporal position within the sample sequence at which the sample is detected, such as the beginning, peak, and / or end point of the signal.
[0003] For example, a pulse may be emitted from a transmitter at a transmission time, and the sensor may be sampled at a 500-megahertz sampling frequency to measure the sensor's output at 2-nanosecond sampling intervals. Evaluation of the sampling sequence may result in detection of the pulse within the sampling sequence and a selected sample value representing the peak magnitude of the pulse, where the selected sample value may have occurred at a particular sampling time, indicating the arrival time of the sample value at the sensor. Comparing the transmission time reported by the transmitter with the sampling time of the sample value at the peak of the signal may allow a determination of the signal's travel time through a medium. Further comparison of the travel time with an estimated travel speed of the signal through the medium may allow a determination of the distance between the transmitter and the sensor. In some of these scenarios, such asIn LIDAR-based distance determination, the transmitter and sensor can be positioned close together, and an electromagnetic pulse transmitted by the transmitter can be reflected by a surface and detected by the sensor. By multiplying half the travel time by the estimated speed of the signal, the distance from the LIDAR transmitter / sensor combination to the reflecting surface can be determined.
[0004] The publication US 2018 / 0 259 645 A1 concerns photodetector measurements for LIDAR. In this context, the publication shows a LIDAR system in which the received sensor signal is filtered with a number of matched filters. Brief description
[0005] This Summary is intended to introduce, in a simplified form, a selection of concepts described further below in the Detailed Description. This Summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
[0006] In one embodiment of the techniques presented here, a method is provided for determining a temporal position of a received signal within a sampling sequence. The method includes sampling a sensor at a sampling frequency to generate the sampling sequence. The method further includes applying a matched filter set of matched filters to the sampling sequence to generate a matched filter correlation set of matched filter correlations, wherein impulse responses of the respective matched filters correspond to a sample signal at the sensor's sampling frequency shifted by a subinterval shift. The method further includes evaluating the matched filter correlations to determine a received signal subinterval shift. The method further includes determining the temporal position of the signal within the sampling sequence based at least on the received signal subinterval shift.
[0007] In one embodiment of the techniques presented here, a device for determining a temporal position of a received signal within a sampling sequence is provided. The device includes means for sampling a sensor at a sampling frequency to generate the sampling sequence. The device further includes means for applying a matched filter set to the sampling sequence to generate a matched filter correlation set, wherein impulse responses of the respective matched filters correspond to a sample signal at the sensor's sampling frequency shifted by a subinterval shift. The device further includes means for evaluating the matched filter correlations to determine a received signal subinterval shift. The device further comprises determining the temporal position of the signal within the sampling sequence based on at least the received signal subinterval shift.
[0008] In one embodiment of the techniques presented here, a sensor is provided for determining a temporal position of a received signal within a sampling sequence. The sensor includes a signal detector for applying a matched filter set of matched filters to a sampling sequence of the sensor at a sampling frequency, wherein the respective matched filters correspond to a sample signal at the sampling frequency shifted by a subinterval shift to identify a received signal subinterval shift of a received signal within the sampling sequence. The sensor further includes a temporal position determiner for determining a temporal position of the received signal within the sampling sequence based on at least the received signal subinterval shift within the sampling sequence.
[0009] In one embodiment of the techniques presented here, a time-of-flight device is provided that determines a time-of-flight of a signal. The time-of-flight device includes a transmitter for transmitting a transmitted signal. The time-of-flight device further includes a receiver for receiving a reflection of the transmitted signal by sampling a sensor at a sampling frequency to generate a sampling sequence comprising a received signal. The time-of-flight device further includes a signal detector for applying a matched filter set of matched filters to the sampling sequence, wherein impulse responses of the respective matched filters correspond to a sample signal sampled at the sampling frequency and shifted by a subinterval shift to identify a received signal subinterval shift within the sampling sequence.The propagation time device further includes a propagation time determiner that determines a propagation time of the transmission signal based on at least the reception signal subinterval shift of the reception signal within the sampling sequence.
[0010] To achieve the above and related objects, certain aspects and implementations are presented for illustrative purposes in the following description and the accompanying drawings. These illustrate only a few of the various ways in which one or more aspects may be utilized. Other aspects, advantages, and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the accompanying drawings. Description of the drawings Fig. Figure 1 is a representation of an example scenario with a signal runtime estimation. Fig. Figure 2 is a representation of an example scenario with an analysis of a signal at different sampling frequencies. Fig. 3 is a representation of an example scenario with a first example filter set of matched filters with impulse responses of the respective matched filters corresponding to a signal in a sampling sequence shifted by a subinterval shift according to the methods presented here. Fig. Figure 4 is an illustration of an example scenario with a second example set of matched filters, each corresponding to a signal in a sample sequence shifted by one subinterval, according to the techniques presented here. Fig. 5 is an illustration of an example scenario involving a determination of a temporal position of a signal within a sampling sequence using a matched filter set of matched filters according to the techniques presented here. Fig. Figure 6 is an illustration of an example method for determining a temporal position of a signal within a sampling sequence according to the techniques presented here. Fig. Figure 7 is a component block diagram illustrating an example sensor that determines a temporal position of a signal within a sampling sequence according to the techniques presented here. Fig. Figure 8 is a component block diagram illustrating an example of a delay device that determines a delay of a signal according to the methods presented herein. Fig. 9 is an illustration of an example of a computer-readable storage device storing instructions that, when executed by a processor of a device, cause the device to determine a temporal position of a signal within a sample sequence in accordance with techniques presented herein. Fig. 10A-10C are illustrations of example scenarios with matched filter sets that can be used to detect signals in sample sequences according to the techniques presented here. Fig. 11A-11B are illustrations of example scenarios with matched filter sets that can be used to detect signals in sample sequences according to the techniques presented here. Fig. Figure 12 is a representation of an example architecture that can be used to implement the techniques presented here. Fig. Figures 13A-13B are representations of an initial dataset providing results from a simulated application of the techniques presented here. Fig. Figure 14 is a representation of a second dataset providing results from a simulated application of the techniques presented here. Fig. Figure 15 is an illustration of an example computing environment in which at least some of the techniques presented here can be used. Detailed description
[0011] The claimed subject matter will now be described with reference to the drawings, wherein like reference characters refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. However, it may be apparent that the claimed subject matter may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate description of the claimed subject matter. A. Introduction
[0012] In the field of electronics, there are many scenarios in which a signal is detected within a sample sequence generated by a sensor. The signal can be singular (e.g., a pulse), aperiodic, or periodic; it can be generated by a natural source, an individual, or a mechanical or electronic device; it can be transmitted through many media, such as air, water, earth, a conductive wire, or a vacuum; and it can be detected by many different devices, such as photodiodes, microphones, electromagnetic sensors, pressure sensors, and transducers.
[0013] In many scenarios, monitoring a sensor can be performed solely to detect the occurrence of a signal. However, in some scenarios, a temporal position of the signal within the sampling sequence can be useful in applications of the detected signal. For example, the temporal position of the signal can indicate a temporal offset with respect to another event, such as a duration between a start time of the sampling sequence and a time at which the signal was detected. Additionally, in many applications, the accuracy of the temporal position within the sampling sequence can be important, as the accuracy can affect the resolution or error estimate in the occurrence of a corresponding feature as measured by the sensor.
[0014] Fig. 1 is a representation of an example scenario 100 with an application example in which a sampling sequence is analyzed to detect the occurrence and the temporal position of a transmission signal 108 within a sampling sequence in the context of a LIDAR-based distance estimation. It can be seen that in the example scenario 100 of the Fig. The application shown in Figure 1 is only one of many such applications, comprising one of many such signal types that can be analyzed using the techniques presented here.
[0015] The example scenario 100 of the Fig. 1 includes a first vehicle 102 that is equipped and configured to estimate the distance between the first vehicle 102 and one or more objects, including a second vehicle 104. The distance estimation may be of significant value in applications such as driver assistance (e.g., braking distance detection and early warning systems) and autonomous vehicle navigation. The first vehicle 102 may include a transmitter 106 that emits a transmit signal 108 through the air in the vicinity of the first vehicle 102. The transmit signal 108 may be at one or more selected wavelengths (e.g., an infrared beam), with a selected periodicity (e.g., 1000 instances per second); with a selected waveform (e.g., a nearly instantaneous pulse or a Gaussian intensity waveform); and / or with a selected directivity and / or collimation (e.g.,a forward-directed beam with comparatively tight collimation, similar to a laser). The reflection of the transmitted signal 108 may be directed back toward the first vehicle 102 and may therefore be detected as a received signal 110 by a sensor 112 positioned near the transmitter 106. The received signal 110 may, for example, be a received light pulse reflected back from an object. The sensor 112 may operate at a selected wavelength (e.g., a photodiode selectively sensitive to the wavelength emitted by the transmitter 106), and / or a sampled signal may be sampled at a sampling frequency (e.g., measuring the conductance of the photodiode over a sampling interval, e.g., 50 nanoseconds) to generate a chronological sequence of samples, each sample representing a measurement of the sensor (e.g.,Samples reflecting a photodiode measurement over a sampling interval of 50 nanoseconds. The sampling interval is therefore calculated by taking the inverse of the sampling frequency. Sensor 112 may be a single pixel or a cluster of binned pixels that output a combined sensor signal.
[0016] A scan sequence generated by a sensor 112 may be evaluated to detect an occurrence of the transmit signal 108, e.g., a waveform in the scan sequence that resembles a sample waveform (e.g., the waveform emitted by the transmitter 106). In some embodiments, the waveform to be detected may be a pulse waveform corresponding to a laser pulse waveform emitted by the emitter 106. The occurrence of the transmit signal 108 within the scan sequence may indicate a time of the receive signal 110 that includes the reflection of the transmit signal 108 from a surface. Furthermore, the temporal position of the transmit signal 108 within the scan sequence may indicate the time at which the sensor 112 detected the receive signal 110.Determining the detection time and comparing it with the time at which the transmitter 106 transmitted the transmission signal 108 can enable a determination of the total propagation time of the transmission signal 108 between the transmitter 106 and the reflective surface of an object, such as the second vehicle 104. In the example scenario 100 of FIG. Fig. 1, for example, the transmitter 106 transmits the transmitted signal 108 at a transmit time 114, and the sampling of the sensor 112 indicates the detection of the received signal 110 at a detection time 116. The difference between these times can indicate the time of flight 120 of the transmitted signal 108, e.g., two microseconds. Additionally, multiplying the time of flight 120 by the signal propagation speed 122 of the transmitted signal 108 (e.g., the speed of infrared light through air, e.g., 299.8 meters per microsecond) can indicate the distance traveled by the transmitted signal 108. Since such a travel time may reflect the path including the transmitter 106, the second vehicle 104, and the sensor 112, the resulting estimate of the round-trip distance 124 (e.g., 598.6 meters) may be divided by two to obtain a distance estimate 126 between the first vehicle 102 and the second vehicle 104 (e.g., 299.8 meters).In this way, a LIDAR transmitter and detector combination may enable the formulation of distance estimates 126 between the first vehicle 102 and nearby objects such as the second vehicle 104. The distance estimate 126 may be used, for example, to measure the stopping distance and warn a driver of the first vehicle 102 of unsafe driving conditions and / or to adjust the autonomous control of the vehicle, such as adjusting the speed of the first vehicle 102 to maintain a safe stopping distance relative to the second vehicle 104.
[0017] As in example scenario 100 of the Fig. As further illustrated in Figure 1, a key aspect of LIDAR-based distance estimation is the accuracy of signal detection, which manifests as an error 118 between the actual and estimated distances. The accuracy of signal detection may correspond to the variance in the detection time 116. For example, if the sensor 112 is sampled at a sampling frequency of 500 megahertz, each sample measurement of the sensor 112 is taken over a sampling interval of 2 nanoseconds (inverse of 500 megahertz), and the received signal 110 may have actually arrived at the sensor 112 at any time within the 2-nanosecond sampling interval. The error 118 of the detection time 116 is therefore identified as being up to 2 nanoseconds before or after the detected time.Although comparatively short, the sampling interval of the sample value and the resulting error are amplified by the high signal propagation velocity 122 of 299.8 meters per microsecond. Therefore, the difference of 2 nanoseconds between a first received signal 110 arriving at the beginning of a sampling interval and a second received signal 110 arriving at the end of a sampling interval can result in an error margin in the distance estimate 126 of approximately 60 centimeters.
[0018] As the example scenario 100 from Fig. As shown in Figure 1, the temporal position of the received signal 110 within the sampling sequence—as well as the accuracy of the determined temporal position—can significantly impact the functionality of systems that utilize such information. It can also be seen that the accuracy of the temporal position of the received signal 110 of the transmitted signal 108 is based at least in part on the sampling frequency of the sensor 112.
[0019] Fig. 2 shows an example scenario 200 with the analysis of a signal at different sampling frequencies. Fig. 2 shows an ideal received signal 110 in the absence of noise, but the sensor 112 may detect the received signal plus noise 204. The continuous-time output of the sensor 112 may be sampled (e.g., by an analog-to-digital converter) at a selected sampling frequency to generate a sample sequence 206 of samples, each comprising a measurement of the sensor 112 over a sampling interval. Sampling the sensor 112 at a high sampling frequency may generate a high-frequency sample 208, with the respective samples reflecting the output of the sensor 112 over a narrow sampling interval. Comparing the high-frequency sample 208 with the waveform of the ideal received signal 202 may enable high-frequency interpolation 210 of the high-frequency sample 208, including separating the ideal received signal 202 from noise.
[0020] As in example scenario 200 of Fig. 2, analysis of the discrete-time radio frequency sample 208 may enable detection of an instance of the receive signal 110 within the discrete-time sample sequence. Additionally, analysis of the radio frequency interpolation may identify the temporal position 212 of the receive signal 110 within the discrete-time sample sequence (e.g., the indices of the discrete-time samples in which the receive signal 110 appears and the corresponding sample times represented thereby). As an example, the temporal position 212 may be identified as a peak sample in the sample sequence; as a mean or median center of the receive signal 110 (e.g., a center of mass); and / or as the beginning or end of the receive signal 110, as indicated by the first or last sample in the sequence of samples over which the receive signal 110 appears in the discrete-time sample.However, the temporal position 212 of the received signal 110 may be determined with an accuracy based at least in part on the sampling interval 214 represented by each sample. If the sensor 112 is instead sampled at a lower sampling frequency, resulting in a smaller number of samples each collected over a larger sampling interval 214, the resulting mid-frequency interpolation 218 may produce a detection of the received signal 110 at approximately the same temporal position 212, but with a larger sampling interval 214, representing a greater potential variance within which the received signal 110 may have arrived at the sensor 112.A further reduction in the sampling frequency of the sensor 112 can produce a low-frequency interpolation 220, wherein the received signal 110 is again built up at approximately the same temporal position 212, but with an even larger sampling interval 214 in which the received signal 110 may have arrived at the sensor 112. The variance in the accuracy achieved by the interpolations at different sampling frequencies can affect the resolution of the resulting measurements based on the temporal position 212 of the received signal 110 within the sampling sequence. For example, if the temporal position 212 of the signal is used to estimate a distance in a LIDAR-based distance measurement system, each interpolation can produce a temporal position determination 216 with the same distance estimate 126, but with a different error that is inversely related to the sampling frequency.That is, high-frequency interpolation 210 may enable temporal position determination 216 and distance estimation 126 with a 10-centimeter error range; medium-frequency interpolation 218 may enable temporal position determination 216 and distance estimation 126 with a 45-centimeter error range; and low-frequency interpolation 220 may enable temporal position determination 216 and distance estimation 126 with an 80-centimeter error range.
[0021] In some signal analysis applications where the accuracy of the temporal position 212 of the received signal 110 is significant and determined to be insufficient, the accuracy and resulting resolution of the measurement may be increased by increasing the sampling frequency of the sensor 112. However, some applications may not allow an increase in the sampling frequency. As a first example, an analog-to-digital converter sampling the sensor 112 may have a maximum clock rate, and increasing the clock rate of the analog-to-digital converter may require additional circuitry, increase costs, and lead to incorrect calculations. As a second example, the number of samples in the sampling sequence 206 may exceed the memory capacity of a device analyzing the sampling sequence 206 to detect the received signal 110.It may therefore not be possible to detect the full waveform of the received signal 110 within the number of samples stored in the device's memory. As a third example, in scenarios that depend on real-time or near-real-time detection of the received signal 110, the detection of the received signal 110 and the determination of the temporal position 212 within a high-volume sampling sequence may be delayed to such an extent that they are no longer suitable for real-time or near-real-time application of such determinations. In some scenarios, increasing the sampling frequency of the sensor 112 may be possible but undesirable. For example, an analog-to-digital converter may sample the sensor 112 at a higher sampling frequency by scaling to a higher clock rate, but such scaling may increase the computational requirements of the conversion for each instance of the sampling sequence 206.The increased computing demands can, in turn, consume more power, which can shorten battery life when used in a mobile device with a limited-capacity battery. The increased clock speed and increased processing power of the processor can increase heat generation, which can raise the device temperature. Excessive temperature increases can increase the device's data error rates and can even damage the device's electronic components, such as the processor or memory.
[0022] Given the 200 in the example scenario, Fig. 2, it may be desirable to analyze a sampling sequence in order to determine the temporal position 212 of the transmitted signal 108 occurring therein with greater accuracy. Furthermore, it may be desirable to do this while maintaining a comparatively modest sampling frequency of the sensor 112, rather than increasing the sampling frequency to achieve greater accuracy. It may be desirable to provide techniques that increase the accuracy of determining the temporal position 212 of the signal 108 within the sampling sequence 206. B. Techniques presented
[0023] Presented herein are techniques for detecting a received signal 110 in a sampling sequence 206, wherein the detection includes determining the occurrence of the received signal 110 within the sampling sequence 206 and also the temporal position 212 of the waveform of the received signal 110 within the sampling sequence 206. Furthermore, the methods presented here can increase the accuracy of determining the temporal position 212 of the received signal 110 within the sampling sequence 206. It can be observed that sampling the sensor 112 at a selected sampling frequency (e.g., 500 megahertz sampling frequency, where the respective samples represent a detection over a sampling interval of 2 nanoseconds) can generate a first one of the sampling sequence 206 for a first received signal 110 arriving at the sensor 112 at a particular time, and a second one of the sampling sequence 206 for a second received signal 110 arriving one sample later (e.g.,2 nanoseconds later) arrives at the sensor 112. In both the first and second sampling sequences 206, the peak of the received signal 110 may have occurred during the same sampling interval 214 of the sampling process, and the received signal 110 may appear as a peak occurring at the same sampling index and thus the same temporal position 212 within the sampling sequence 206. A determination based on the index of the temporal position 212 of the peak, such as the example scenario 200 of FIG. Fig. 2, may only indicate that both receive signals 110 within the sample sequence 206 arrived within the same 2-nanosecond sample interval 214. However, the distribution of the receive signal 110 across the adjacent sample sequence that matches the waveform of the receive signal 110 may vary as a reflection of when each receive signal 110 arrived at the sensor 112. That is, both the first and second of the sample sequence 206 may have the receive signal 110 at the same temporal position 212 and the same general shape that matches the waveform of the receive signal 110, but the specific shape of the waveform may correspond to a temporal position offset of the receive signal 110 that is smaller than the sample interval 214.For example, in the first of the sampling sequence 206 for the earlier received signal 110, the magnitudes of the samples following the peak may be higher than the magnitudes of the corresponding samples in the second of the sampling sequence 206 for the later arriving received signal 110; and conversely, the magnitudes of the samples following the peak in the first of the sampling sequence 206 may be lower than the magnitudes of the corresponding samples in the second of the sampling sequence 206 for the later arriving received signal 110.
[0024] Comparing the shape of the waveform in the sampling sequence 206 with the waveforms of the ideal received signals 202, which have their peak at the same temporal position 212 but arrive with different subinterval shifts relative to the peak, may enable the determination of a temporal position offset of the temporal position 212 that is smaller than the sampling interval 214. One technique for performing such a comparison is to use a matched filter set of matched filters, each corresponding to a sample at the sampling frequency of the sensor 112 of a sample signal shifted by one subinterval shift (e.g., a sample of the sample signal delayed or advanced by an amount smaller than the sampling interval of each sample). The sample signal may, for example, correspond to a waveform of the light pulse signal transmitted by the transmitter 106.Each matched filter of the matched filter set may correspond to a sample with a different subinterval shift. A subinterval shift may be a shift (e.g., delay) of the sample signal by less than the sampling interval. Alternatively, the respective matched filters may correspond to a subsampling sequence of samples of the oversampled version of the sample signal. Taking the temporal position offset into account in the temporal position determination 216 based on comparing the match of the sample signal with how the received signal 110 is likely to appear upon arrival at the sensor 112 with different subinterval shifts may enable a more accurate determination of the temporal position 212 of the received signal 110. Furthermore, such increased accuracy may not result from increasing the sampling frequency of the sensor 112.Rather, the application of the techniques presented herein to a comparatively low-frequency sampling of the sensor 112 can lead to comparably high-accuracy results that match or, in some cases, even exceed the accuracy achievable by the high-frequency sampling 208 of the sensor 112.
[0025] The Fig. 3-4 show two techniques for determining the impulse responses of the matched filters of the matched filter set by sampling a sample signal 302 at the sampling frequency of the sensor 112 with different subinterval shifts 308.
[0026] Fig. 3 shows an example scenario 300 with a first example of impulse responses of a matched filter set 304 generated according to the methods presented here. In this example scenario 300, a sample signal set of sample signals 302 with subinterval shifts 308 (e.g., phase shifts of the received signal 110) is generated to reflect the arrival of the sample signal 302 at the sensor 112 at different times, wherein the differences in the times vary within the sampling interval 214 of the sampling frequency. For example, if the sampling frequency of the sensor 112 is 500 megahertz, so that the sampling interval and thus the sampling intervals 214 of the respective samples are 2 nanoseconds, then shifted sample signals 302 with subinterval shifts 308 of -0.2 times the sampling interval 214 can be considered (e.g., -0.4 nanoseconds); -0.1 times the sampling interval 214 (e.g. -0.2 nanoseconds); 0 times the sampling interval 214 (e.g.0 nanoseconds, or unshifted); +0.1 times the sample interval 214 (e.g., +0.2 nanoseconds); and +0.2 times the sample interval 214 (e.g., +0.4 nanoseconds). This signal set can span the range of subinterval shifts for a single sample interval 214 with a selected step size of 0.2 nanoseconds because further signal shifts exceed half the width of the sample interval 214 and are therefore detected as at least a complete shift of the pattern signal 302 by one or more samples. The respective sample signals 302 are then sampled at the intended sampling frequency of the sensor 112 to generate a matched filter set 304 of matched filters 306, wherein an impulse response of the respective matched filters 306 corresponds to the sample signal sampled at the sampling frequency of the sensor 112 and shifted by a subinterval shift 308 (e.g.a lead or a delay with a duration of less than one sampling interval 214). The subinterval shifts 308 of the respective matched filters 306 correspond to a temporal position offset of the temporal position 212 of the pattern signal 302 within the sampling sequence 206. For example, if a sampling sequence 206 has the pattern signal 302 that corresponds to a first of the matched filters 306, the received signal 110 can be identified within the sampling sequence 206 as being shifted by -0.4 sampling intervals, which corresponds to a lead of 0.4 nanoseconds compared to the sampling of the unshifted pattern signal 302.
[0027] The impulse responses of the respective matched filters 306 of the Fig. 3 can be generated, for example, by sampling the sample signal 302 at a selected subinterval shift for each matched filter 306. The sample signal 302 can, for example, contain a received light pulse measured under predetermined conditions, e.g., during a calibration process. In some embodiments, the sample signal 302 can comprise a known pulse waveform emitted by the transmitter 106. A technique for generating the impulse responses of the respective matched filters 306 in the example scenario 300 of Fig. 3 contains the equation: sT,i[n]=sT(nTs+(MOs−12−(i−1))TsMOS), i=1,…,MOS, n=1,…,NS, where: N S the number of matched filters 306 of the matched filter set 304; n comprises the index of a matched filter 306 of the matched filter set 304; i comprises the sampling index within the matched filter n; sT (...) the pattern signal 302 at the selected time; T S the duration of the sampling interval of the pattern signal 302; M OS the oversampling ratio relative to the sampling frequency of the sensor 112; and S T,i [n] contains the value of the matched filter n at the sampling index i.
[0028] Fig. 4 shows an example scenario 400 with a second example of a matched filter set 304 generated according to the techniques presented here. In this example scenario 300, an oversampled version of the sample signal 302 is evaluated at a higher sampling frequency than the sampling frequency of the sensor 112. For example, if the matched filter set 304 comprises four matched filters 306, the oversampling 402 of the sample signal 302 may include sampling the sample signal 302 at four times the sampling frequency of the sensor 112. The oversampling 402 may be divided into sets of subsamples (e.g., a first subsampling sequence with sample values 0, 4, 8, 12,...; a second subsampling sequence with sample values 1, 5, 9, 13,...; a third subsampling sequence with sample values 2, 6, 10, 14,...; and a fourth subsampling sequence with sample values 3, 7, 11, 15,...).The respective subsamples 404 of the oversampling 402 can be used to generate a matched filter set 304, wherein the impulse response of the respective matched filters 306 corresponds to a selected subsampling sequence of samples of the subsamples 404. Furthermore, each subsampling sequence corresponds to a representation of the received signal 110 arriving at the sensor 112 with the respective subinterval shift 308 (e.g., the first of the subsampling sequences can correspond to sampling at the sampling frequency of the sensor 112 of the received signal 110 arriving with a sample interval advance of -0.4 relative to the unshifted received signal 110). Accordingly, the impulse responses of the respective matched filters 306 of the matched filter set 304 are correlated with the pattern signal 302 within the sampling sequence 206, which is shifted from the temporal position 212 by the temporal position offset 310.For example, if the sampling sequence 206 includes the received signal 110 corresponding to the first of the matched filters 306, the received signal 110 can be identified as being shifted by -0.4 sampling intervals, which corresponds to a lead of 0.4 nanoseconds relative to the sampling of the unshifted received signal 110, by the temporal position 212.
[0029] The respective response functions of the matched filters 306 of the Fig. 4 can be generated once (e.g., in a matched filter setup routine) or multiple times using a subsampling sequence of subsamples of an oversampling 402 of the pattern signal 302. A technique for generating the respective matched filters 306 in the example scenario 400 of Fig. 4 contains the equation: sT,i[n]=sT(nTsMOS),n=1,MOS+i,…,(NS−1)MOS+i where: N Sthe number of matched filters 306 of the matched filter set 304; n comprises the index of the matched filter 306 of the matched filter set 304; i comprises the sampling index within the matched filter n; s T (...) comprises sampling the pattern signal 302 at the selected time corresponding to the subinterval shift 308; T S the sampling interval of the pattern signal 302; M OS the oversampling ratio relative to the sampling frequency of the sensor 112; and S T,i [n] contains the value of the matched filter n at sampling index i.
[0030] In the Fig. 5 shows an example scenario that illustrates the use of the matched filter set 304, such as the first example scenario 304 in the example scenario 300 of the Fig. 3 or the second example scenario 304 in the example scenario 400 from Fig. 4, for detecting the occurrence and temporal position of the received signal 110 within the sampling sequence 206. In this example scenario 500, the sensor 112 is subjected to a sample 502 at a sampling frequency 504, e.g., 500 megahertz, to generate a time-discrete sampling sequence 206 in which the received signal 110 may be present. The sensor 112 may, for example, comprise a pixel or other sensor element that generates the received signal 110 to be measured. The start position 506 of a sampling sequence may also be identified (e.g., as the start time of the sampling sequence as 20 nanoseconds). The reference position may, for example, be determined by the sample value that corresponds in time to the transmission time of the LIDAR pulse beam. Each of the matched filters of the matched filter set 304 receives the sample sequence 206 (either the sample sequence signal directly or a replica of the sample sequence).In order for each of the matched filters to receive the sampling sequence 206, the samples of the sampling sequence may be replicated multiple times, and the replicated samples are provided to the matched filter set. The matched filter set 304 may be applied to the sampling sequence 206 to determine whether the received signal 110 appears in the sampling sequence 206 at the respective temporal positions 212 relative to the starting position 506 of the sampling sequence. The matched filters of the matched filter set 304 may be arranged to process the sampling sequence in parallel. Thus, in this example scenario 500, the sampling sequence is provided in parallel to each matched filter 306 of the matched filter set 304 (e.g., by replicating the original sampling sequence 206 to produce identical copies), and the matched filters 306 process the sampling sequence 206 in parallel.Each matched filter 306 outputs a matched filter correlation 508 indicating the correlation of the matched filter 306 with the sample sequence 206 based on the impulse response of the respective matched filter 306. For example, the matched filter may determine a sequence of correlation values over time when the samples of the sample sequence 206 are input to the matched filter 306 over time. For each of the matched filters 306, the correlation value of this correlation value sequence is determined as the matched filter correlation 508 of the sample sequence along with the sample number to which the maximum correlation value corresponds. A temporal position 516 of the received signal 110 may be identified based on processing the matched filter correlation set of matched filter correlations 508 generated by the matched filter set 304 of matched filters 306. In the example scenario 500 of the . Fig. 5, the temporal position 516 is determined by multiplying the subinterval shifts 308 of the respective matched filters 306 by the matched filter correlation 508 and normalizing by the sum of the matched filter correlations 508 to generate a normalized, weighted subinterval shift 510 for each matched filter 306. The sum of the normalized, weighted subinterval shifts 510 generates a received signal subinterval shift 512 for the received signal 110 of 0.186, which reflects the subinterval shift 308 of the received signal 110 within the sampling sequence 206 according to the subinterval shifts 308 of the respective matched filters 306 and the matched filter correlations 508 of the respective matched filters 306 with the received signal 110 within the sampling sequence 206.The received signal subinterval shift 512 of 0.186 is multiplied by the sampling interval 214 of 2 nanoseconds to determine the temporal position offset 514 of 0.372 nanoseconds, which is added to the sampling sequence start position 506 to obtain a determination of the temporal position 516 as, for example, 20.372 nanoseconds. In some other embodiments, the position may be determined based on the time related to the index of the maximum correlation value of the matched filter with the maximum correlation value over the sampling sequence compared to the other maximum correlation values of the other matched filters over the sampling sequence. C. Technical Effects
[0031] Some embodiments of the evaluation of the sampling sequence 206 of sample values of the sensor 112 to determine the temporal position 212 of the received signal 110 according to the techniques presented here can enable a variety of technical features compared to other embodiments that do not use the techniques presented here.
[0032] A first example of a technical effect that an embodiment of the techniques presented here may have is the highly accurate determination of the received signal 110 by the sensor 112, which is not suitable for scaling to a higher sampling frequency 504. As a first such example, the sensor 112 may be designed to operate at a fixed, non-adjustable sampling frequency 504. As a second such example, the sensor 112 may be driven by an analog-to-digital converter (ADC) with a maximum clock rate, wherein the accuracy desired by the sensor 112 typically involves increasing the sampling frequency 504 beyond the maximum clock rate of the ADC.As a third such example, the sample sequence 206 to be evaluated may be stored in a fixed-length memory buffer, and increasing the sampling frequency 504 of the sample sequence 206 may increase the volume of samples representing a single instance of the received signal 110 beyond the capacity of the memory buffer. As a fourth such example, the signal-to-noise level of the sensor 112 may be acceptable when the sensor 112 is sampled at a low sampling frequency 504, but increasing the sampling frequency 504 and shortening the sampling interval 214 may reduce the signal-to-noise ratio, thereby lowering the correlation reliability of the detection of the received signal 110 below a threshold or, in some cases, making the continuous-time received signal 110 undetectable against the noise present in each sample.As a fifth such example, the evaluation of a larger data volume may delay the detection of the received signal 110 within the sampling sequence 206. In scenarios where such detection occurs in real-time or near-real-time, the delayed detection may exceed an acceptable processing delay threshold. In these scenarios, instead of increasing the sampling frequency 504 of the sensor 112, higher accuracy may be achieved at a lower or native sampling frequency 504 of the sensor 112 by using the techniques presented here.
[0033] A second example of a technical effect that an embodiment of the techniques presented here may have is a highly accurate determination of the received signal 110 by the sensor 112, which is capable of scaling up to a higher sampling frequency 504, but where the higher sampling frequency 504 has some potential disadvantages. As a first such example, increasing the sampling frequency 504 may generate a larger volume of samples. The increased data volume may necessitate a more powerful bus between the sensor 112 and the memory. As a second such example, the increased sampling volume may necessitate an expansion of the memory capacity of the device used for analysis, which may increase the material costs of the device, increase the size of the device, and / or divert memory from other functions of the device.Alternatively, even if the memory capacity of a device is capable of storing the entire sample sequence 206, the evaluation of each sample sequence 206 may consume more power and computational resources. As a third such example, the consumption of additional power may depend on a more powerful processor, which may increase the device's material cost and / or the device's size. As a fourth such example, the consumption of additional power may decrease the battery life of a mobile device with a limited-capacity battery. As a fifth such example, the consumption of additional power may increase heat production and thus the device's temperature. In some scenarios, the additional heat may be dissipated by passive or active device cooling, but the inclusion of such components may increase the device's material cost and / or the device's size.In some scenarios, additional cooling components may be incompatible with the device architecture. As a sixth such example, the elevated temperature may increase the operating temperature and thermal wear of various components of the device, which may increase the error rate or corruption of the collected data or the noise level of the sensor 112. The elevated temperature may also cause components to be damaged or even destroyed.
[0034] A third example of a technical effect that can be observed in an embodiment of the techniques presented here is an increase in the accuracy of the detected temporal position 212 of the received signal 110 within the sampling sequence 206. As shown in the example data sets of the Fig. 13-14, the simulation of the techniques presented here at a comparatively moderate sampling frequency 504 not only resulted in a significant increase in accuracy compared to other techniques applied at the same sampling frequency 504, but also higher accuracy than when evaluating sample sequences 206 of the sensor 112 collected at a higher sampling frequency 504. In scenarios in which the temporal position 212 of the received signal 110 is to be achieved with very high accuracy and reliability, the use of the techniques presented here can provide an aspect that increases the resulting accuracy of the temporal position determination 216. Furthermore, some scenarios can utilize both the techniques presented here and a higher sampling frequency 504 of the sensor 112 to achieve a combination of increases in the temporal position determination 216.These and other technical effects in the field of signal detection can be demonstrated by implementations of the techniques presented here. D. Embodiments
[0035] Fig. 6 is a first exemplary embodiment of the techniques presented herein, illustrated as an example method 600 for determining the temporal position 212 of the received signal 110 within the sampling sequence 206. The example method 600 may include a device and may be implemented, for example, as a set of instructions stored in a memory of the device, such as firmware, system memory, a hard disk drive, a solid-state storage component, or a magnetic or optical medium, wherein execution of the instructions by a processor of the device causes the device to operate in accordance with the techniques presented herein.
[0036] The example method 600 begins at 602 and includes sampling 604 a sensor 112 at a sampling frequency 504 to generate the sampling sequence 206. The sampling may include, for example, temporally sampling a time-varying photodiode output signal. The example method 600 also includes applying 606 a matched filter set 304 of matched filters 306 to the sampling sequence 206 to generate a matched filter correlation set of matched filter correlations 508, wherein impulse responses of the respective matched filters 306 correspond to the sample signal 302 at the sampling frequency 504 of the sensor 112 shifted by a subinterval shift 308. The example method 600 also includes the evaluation 608 of the matched filter correlations 508 to determine a received signal subinterval shift 512.The evaluation may, for example, consist of multiplying the respective matched filter correlations 508 of each matched filter 306 by the subinterval shift 308 of the matched filter 306; summing the products; and normalizing the sum by a second sum of the matched filter correlations 508. The example method 600 also includes determining 610 the temporal position 212 of the received signal 110 within the sampling sequence 206 based on at least the received signal subinterval shift 512. For example, the determination may include multiplying the received signal subinterval shift 512 by the sampling interval 214 to determine the temporal position offset 514 of the received signal 110, and then adjusting the temporal position 516 of the received signal 110 within the sampling sequence 206 by the temporal position offset 514.After the determination of the temporal position 212 of the received signal 110 within the sampling sequence 206 has been achieved according to the techniques presented here, the example method 600 thus ends at 612.
[0037] Fig. 7 is an illustration of an example scenario 700 with a second example embodiment of the techniques presented here, wherein the example embodiment includes an example detector 702 configured to detect the received signal 110 within the sampling sequence 206 generated by the example detector 702 at the sampling frequency 504. The example detector 702 includes a matched filter set 304 of matched filters 306, wherein the respective matched filters 306 correspond to the sample signal 302 shifted by the subinterval shift 308 at the sampling frequency 504. The example detector 702 may include a LIDAR distance measurement system. Some components of the example detector 702 may be implemented, e.g.as instructions stored in a volatile or non-volatile memory of the example detector 702 and executed by a processor, or as discrete components, such as circuits, that provide logical analysis of at least some of the techniques presented herein.
[0038] The example detector 702 includes a signal detector for applying the matched filter set 304 of matched filters 306 to a sampling sequence 206 of the sensor 112 at the sampling frequency 504 to generate a matched filter correlation set of matched filter correlations 508 and evaluate the matched filter correlations 508 to determine a subinterval shift of the received signal 512. The example detector 702 also includes a temporal position determiner 706 for determining a temporal position 212 of the received signal 110 within the sampling sequence 206 based at least in part on the received signal subinterval shift 512.As an example, the matched filter correlations 508 of the matched filter and the subinterval shifts 308 of the respective matched filters 306 may be multiplied, and the sum may be normalized by dividing by the sum of the matched filter correlations 508, thereby generating a sum representing the subinterval shift 512 of the received signal. The received signal subinterval shift 512 may be multiplied by the sampling interval 214 to generate the temporal position offset 514. The temporal position offset 514 may be added to the temporal position 212 in the sampling sequence 206 at which the received signal 110 was detected to generate the temporal position 516 of the received signal 110. In this way, the interaction of the components enables the example detector 702 to detect the temporal position 516 of the received signal 110 within the sampling sequence 206 according to the techniques presented here.
[0039] In the Fig. 8 illustrates an example scenario 800 with a third example embodiment of the techniques presented herein, including an example time-of-flight LIDAR device 804 that achieves time-of-flight determination of the transmit signal 108 between the time-of-flight LIDAR device 804 and the surface 802. The example scenario 800 also includes a fourth example embodiment of the techniques presented herein, including an example runtime system 812 that utilizes the resources of the time-of-flight LIDAR device 804 to achieve time-of-flight determination of the transmit signal 108. In this example scenario 800, the components of the example system 812 are stored as a collection of instructions in a memory 810 of the example runtime LIDAR device 804, wherein execution of the instructions causes the implementation of the respective components of the example system 812 that cooperate to perform the evaluation of the scan sequence 206 according to the techniques presented herein.
[0040] The example time-of-flight LIDAR device 804 includes the transmitter 106, which transmits the transmitted signal 108. The example time-of-flight LIDAR device 804 also includes the sensor 112, which receives the reflected signal 110. The example time-of-flight LIDAR device 804 further includes an analog-to-digital converter 806, which samples the sensor 112 at the sampling frequency 504 to generate the sampling sequence 206. The example time-of-flight LIDAR device 804 also includes, as part of the example system 812, the signal detector 704 that applies the matched filter set 304 from the matched filters 306 to the sample sequence 206, wherein respective matched filters 306 correspond to the sample signal 302 shifted by the subinterval shift 308 at the sampling frequency 504.The example time-of-flight LIDAR device 804 also includes, as part of the example system 812, a time-of-flight determiner 814 that evaluates the output of the signal detector 704 to determine the received signal subinterval shift 512 of the received signal 110 within the sampling sequence 206, and that determines the time-of-flight 120 of the received signal 110 within the sampling sequence 206 based on at least the received signal and the subinterval shift 512 of the received signal 110 within the sampling sequence 206. In this way, the example time-of-flight LIDAR device 804 and the example system 812 achieve detection of the received signal 110 within the sampling sequence 206 using the techniques presented here, which may result in the determination of the time-of-flight 120 of the received signal 110 within the sampling sequence 206 being performed with greater accuracy than can otherwise be achieved at the sampling frequency 504 of the sensor 112.
[0041] Yet another embodiment includes a computer-readable medium having processor-executable instructions configured to apply the techniques presented herein. Such computer-readable media may include various types of communication media, such as a signal propagating via various physical phenomena (e.g., an electromagnetic signal, an acoustic wave signal, or an optical signal) and in various wired scenarios (e.g., via an Ethernet or fiber optic cable) and / or wireless scenarios (e.g., a wireless local area network (WLAN) such as WiFi, a personal area network (PAN) such as Bluetooth, or a cellular or radio network), and encoding a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein.Such computer-readable media may also include (as a class of technologies that excludes communications media) computer-readable storage devices, such as a memory semiconductor (e.g., a semiconductor using SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), and / or SDRAM (Synchronous Dynamic Random Access Memory) technologies), a platter of a hard disk drive, a flash memory device, or a magnetic or optical disk (such as a CD-R, DVD-R, or floppy disk) that encodes a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein.
[0042] An example of a computer-readable medium that can be developed in this way is in the Fig. 9, wherein the implementation 900 comprises a computer-readable storage device 902 (e.g., a CD-R, DVD-R, or a disk of a hard disk drive) on which computer-readable data 904 is encoded. This computer-readable data 904, in turn, comprises a set of computer instructions 906 that, when executed on a processor 808 of a device 910, provide an embodiment that causes the device 910 to operate according to the techniques presented herein. As a first such example, the processor-executable instructions 906 may encode a sample of a sample sequence 206 to detect a receive signal 110 in a sample sequence 206, such as the example method 600 of the Fig. 6. As a second example, the processor-executable instructions 906 may cause the device 910 to operate as a sensor that detects a receive signal 110 in a sampling sequence 206, such as the example detector 702 in the example scenario 700 of the Fig. 7. As a third example, the processor-executable instruction 906 may cause the device 910 to operate as an example runtime determiner, such as the example runtime LIDAR device 804 in the example scenario 800 of the Fig. 8. As a fourth example, the processor-executable instructions 906 may encode a system that detects a receive signal 110 having the shape of the pattern signal 302 in a sample sequence 206, such as the example system 812 in the example scenario 800 of the Fig. 8. Many such computer-readable media can be developed by those of ordinary skill in the art that are designed to operate in accordance with the techniques presented herein. E. Variations
[0043] The techniques discussed herein may vary in many aspects, and some variations may provide additional advantages and / or mitigate disadvantages over other variations of these and other techniques. Furthermore, some variations may be implemented in combination, and some combinations may provide additional advantages and / or reduce disadvantages through synergistic cooperation. The variations may be incorporated into various embodiments to provide individual and / or synergistic advantages to these embodiments. E1. Scenarios
[0044] A first aspect, which may vary depending on the scenario in which the techniques can be used, concerns the devices with which these techniques can be used.
[0045] As a first variant of this first aspect, the techniques presented here can be used with a variety of device types, such as workstations, laptops, consoles, tablets, phones, portable media and / or gaming devices, embedded systems, devices, vehicles, and wearable devices. The device may comprise a collection of server entities, such as a collection of server processes running on a device; a user's personal group of interacting devices; a local collection of server entities comprising a computing cluster; and / or a geographically distributed collection of server entities spanning a region, including a globally distributed database. Such devices may be interconnected in various ways, such as locally wired connections (e.g.a bus architecture such as the Universal Serial Bus (USB) or a locally wired network such as Ethernet); locally wireless connections (e.g., Bluetooth connections or a Wi-Fi network); long-distance wireless connections (e.g., long-distance fiber optic connections encompassing the Internet); and / or long-distance wireless connections (e.g., cellular communications).
[0046] As a second variation of this first aspect, the techniques presented here can be used with a plurality of sensors 112 to detect the received signal 110 within the sampling sequence 206. For example, a photodiode such as a PAD (Photon Avalanche Diode) or SPAD (Single Photon Avalanche Diode) can generate the transmitted signal 108 based on light of different wavelengths; a microphone can have variable conductivity based on the pressure caused by sound waves; and a pressure sensor can have variable conductivity based on the physical pressure exerted on the sensor. Such scenarios can include transmitted signals 108 that are natural and / or organic or generated by an unrelated mechanical or electronic device, such asa man-made signal or a natural phenomenon, and the detection of the received signal 110 within the sampling sequence 206 can be achieved by the sensor 112. Alternatively, some scenarios include the transmission of the transmitted signal 108 by the transmitter 106 in cooperation with the sensor 112, such as in LIDAR-based distance estimation. As a third such example, the transmitted signal 108 and the received signal 110 can be singular, aperiodic, or periodically repeating. For repeatedly occurring transmitted signals 108 and received signals 110, the detection can include the correlation of the respective instances of the received signals 110, such as time differences between the received signals 110. In some embodiments, multiple transmitters can be used (e.g.MIMO beamforming applications, in which the transmit signals 108 are transmitted with different power from multiple antennas to transmit the receive signal 110 to a specific location) and / or multiple sensors 112 are used (e.g., a three-dimensional visual scanning system, wherein the sensors 112 are positioned at different locations and which simultaneously or sequentially scan or capture images of an object to generate a representation from multiple perspectives, or a triangulation technique, which involves the detection of the receive signals 110 by the sensor 112 moved to different locations and / or by multiple sensors 112 positioned at different locations).In some scenarios, the device may include a bidirectional transceiver that both transmits the transmit signal 108 via transmitter 106 to be detected by a second device and receives the receive signals 110 transmitted by the second device via sensor 112. This communication may be sequential and / or simultaneous, such as half-duplex or full-duplex transmission, and / or may be selectively transmitted from a first device to a second device or may include multicast or broadcast signal transmission. In some scenarios, the transmit signal 108 may be transmitted and / or the receive signal 110 may be detected as a positive or negative maximum amplitude; in other scenarios, the transmit signal 108 may be transmitted and / or the receive signal 110 may be detected as a low amplitude in a typically high-amplitude medium.
[0047] As a third variation of this first aspect, the techniques presented here can be used with signals that take different forms in a sample sequence 206. For example, the received signal 110 can comprise a pulse, and the sensor 112 can detect the pulse as a sudden increase in the size of the samples over a range of at least two samples over time. In some scenarios, the received signal 110 can be transmitted and / or detected as a direct increase in amplitude. In some scenarios, the received signal 110 can be transmitted and / or detected as a high-order difference with respect to a previous state or a reference point, such as a baseline. Alternatively or additionally, the received signal 110 can comprise a waveform, such as a Gaussian waveform, sine waveform, sinc wave, square waveform, triangular waveform, and / or sawtooth waveform.In some scenarios, multiple waveforms may be transmitted that resemble different symbols in a symbol set, such as a first waveform representing a digital 0 and a second waveform representing a digital 1, and detecting a signal further comprises identifying the symbol represented by the waveform of the received signal 110. In some embodiments, the waveform of a signal may include various features, such as amplitude and / or frequency modulation. The received signal 110 may be transmitted and / or detected according to the waveform (e.g., determining that the samples of the sample sequence 206 resemble the waveform, such as oscillations that resemble at least half an oscillation period).In some embodiments, detection of the waveform of received signal 110 may account for a change or adaptation of the waveform due to transmission by a transmitter 106, reflection by and / or transmission through one or more surfaces 802, propagation through a medium, and / or detection by sensor 112. As an example, a distance estimation sensor onboard a moving object and / or detection of moving objects may determine that a reflected waveform may exhibit a Doppler shift due to a relative velocity difference between the transmitter / sensor and the surface 802 reflecting the waveform.
[0048] As a third variation of this first aspect, the temporal position 212 of the received signal 110 within the sampling sequence 206 can represent various properties. As a first example, the sampling sequence 206 can be collected over a chronological scale, such as the sampling of the sensor 112 at the time sampling interval 214, and the temporal position 212 can correspond to the time at which the received signal 110 was received relative to the time of transmission of the transmitted signal 108.
[0049] As a fourth variant of this first aspect, the determination of the temporal position 212 of the received signal 110 within the sampling sequence 206 can enable a variety of further determinations that can be used in a variety of applications. As in the example scenario 100 of the Fig. As shown in Figure 1, a LIDAR-based imaging system using a time-of-flight sensor can determine the temporal position 212 of the received signal 110 within the sampling sequence 206 as the time-of-flight of the transmitted signal 108 over a distance. The time-of-flight can enable a determination of distances and / or ranges that can be useful in scenarios such as three-dimensional imaging, vehicle assistance, and autonomous control of vehicles such as cars, buses, trucks, trains, aircraft, and watercraft, including drones. Many scenarios can be identified in which the techniques presented here can be used. E2. Creating a filter set
[0050] A second aspect, which may vary between the embodiments of the techniques presented here, involves the generation of the impulse responses of the respective matched filters 306 of the matched filter set 304, which are to be applied to the signal sequence 206 in order to detect the received signal 110 within the sampling sequence 206. In the Fig. 10A-10C illustrate some example scenarios that include some additional variations in the generation of the matched filters 306 according to this second aspect.
[0051] As a first variant of this second aspect, the impulse response of the respective matched filters 306 of the matched filter set 304 can be generated statically and prior to receiving a request to detect the received signal 110 within the sampling sequence 206. For example, the type of the transmitted signal 108 and / or the received signal 110 to be detected can be known in advance, and a non-volatile memory of a device can store the various impulse responses of the respective matched filters 306 of the matched filter set 304 for use in detecting the received signal 110 within the sampling sequence 206 upon request. Alternatively, the matched filter set 304 can be generated statically but ad hoc to fulfill a request to detect the received signal 110 within the sampling sequence 206. As another example, the matched filter set 304 can be generated dynamically; e.g.a device may attempt to identify repeating receive signals 110 within the sampling sequence 206, and upon detection of a receive signal 110 of interest, the device may add a new matched filter 306 to the matched filter set 304 to identify a repetition of the receive signal 110 elsewhere within the sampling sequence 206.
[0052] As a second variation of this second aspect, various mathematical techniques can be used to generate the corresponding matched filters 306 of the matched filter set 304. In many such scenarios, the respective matched filters 306 can determine the matched filter correlation using a convolution element that provides an inverse conjugate of the signal 202 to be detected, such that a convolution sum applied by the matched filter 306 to the sampling sequence 206 (or conversely, the sampling sequence 206 to the matched filter 306) can result in detection of the received signal 110 at a selected temporal position 212 within the sampling sequence 206 where the match between the matched filter 306 and the received signal 110 within the sampling sequence 206 is maximum.Additionally, a variety of techniques may be used to calculate matched filters 306 that correspond to the received signal 110 within the sampling sequence 206 at various subinterval shifts 308. . Fig. 3 illustrates the first technique for calculating the respective matched filters 306 at different subinterval shifts 308, wherein the respective matched filters 306 are generated by sampling the pattern signal 302 at the respective subinterval shifts 308. Fig. 4 illustrates the second technique for calculating the respective matched filters 306 at different subinterval shifts 308, wherein the respective matched filters 306 comprise different subsampling sequences of the oversampling 402 of the pattern signal 302.
[0053] Fig. 10A illustrates a first example scenario 1000 with a third variation of this second aspect, in which respective matched filters 306 are applied to the received signal 110 across a window 1004 of the sampling sequence 206, wherein the width of the window interval (e.g., number of data points) corresponds to the width (e.g., number of data points) of the respective matched filters 306. Instead of applying the matched filter set 304 at every possible starting position within the sampling sequence 206, an embodiment may identify a peak amplitude within the sampling sequence 206 and identify the window 1004 of seven samples for comparison with the matched filter set 304.Applying the matched filters 306 to the window 1004 may focus the application of the matched filters 306 on the position of the received signal 110 within the sampling sequence 206, and applying the matched filter set 304 to the window 1004 of samples may enable further determination of the temporal position 212 according to the subinterval position of the received signal 110 within the sampling sequence 206.
[0054] In the Fig. 10B illustrates a second example scenario 1006 with a fourth variation of this second aspect, in which the matched filters 306 have a non-uniform subinterval shift 308 relative to neighboring matched filters 306 of the matched filter set 304. In this second example scenario 1006, the pattern signals 302 by which the matched filters 306 are generated are not uniformly distributed over the range of subinterval shifts 308, but rather they are concentrated near a specific subinterval shift 308 (e.g., a nominal zero point shift) and are more sparsely distributed at high subinterval shifts 308.Accordingly, several of the respective filters 306 correspond to the sample signals 302 with small subinterval shift distances relative to a neighboring matched filter 306, and some of the respective filters 306 correspond to the sample signals 302 with larger subinterval shift distances relative to a neighboring matched filter 306. The density of the matched filters 306 near the expected temporal position 212 can enable a fine-grained determination of the variance of the temporal position 212 of the signal in this area, which can indicate a very small change in the transmitted periodicity; and the small number of matched filters 306 with larger subinterval shifts 308 can, for example, detect a large variance between signal instances, which can represent an unusual but significant shift in the periodicity of the received signal 110 within the sampling sequence 206. Such a non-uniform matched filter set 304 can, for example,be useful to maintain close synchronization between a local clock or oscillator and a remote clock or oscillator of another device or with a periodic physical phenomenon.
[0055] Fig. 10C shows a third example scenario 1008 with a fifth variation of this second aspect, in which the matched filter set 304 comprises a number 1010 of matched filters of the matched filters 306. In some scenarios, the desired accuracy of the received signal 110 may change within the sampling sequence 206; e.g., a vehicle moving at high speed may result in a more accurate range measurement than a vehicle moving at low speed. A requirement specifying a selected resolution may be met by varying the number 1010 of matched filters in the matched filter set 304; e.g., additional matched filters 306 may be activated and thereby added to the matched filter set 304 to meet a requirement for more accuracy, and some matched filters 306 may be removed from the matched filter set 304 to meet a requirement for less accuracy.In some variants, the matched filter set 304 may include a large number of matched filters 306, all of which may be applied to a sampling sequence 206 to determine the temporal position 212 of the received signal 110 within the sampling sequence 206 with maximum accuracy, and a determination with lower accuracy may be achieved by applying only a subset of the matched filters 306 in the matched filter set 304. In some variations, a requirement to determine the temporal position 212 of the receive signal 110 within the sampling sequence 206 at a second selected resolution different from a selected resolution may be satisfied by renewing the matched filter set 304 with a second matched filter number 1010 different from a first matched filter number 1010, wherein the second matched filter number 1010 may be based at least on the second selected resolution.Many techniques can be used to generate different types of matched filter sets 304 for use in the techniques presented here. E3. Applying matched filters to sample sequences
[0056] A third aspect, which may vary between embodiments of the techniques presented herein, involves applying the matched filter set 304 to a sampling sequence 206 to determine the occurrence and temporal position 212 (e.g., the time at which the received signal 110 occurs in the sampling sequence 206) of the received signal 110 within the sampling sequence 206. Fig. 11 is an illustration of some example scenarios having some additional variations in generating matched filters 306 according to this second aspect.
[0057] As a first variant of this third aspect, the matched filter correlations 508 of respective matched filters 306 with the received signal 110 within the sampling sequence 206 can be determined in a variety of ways. As a first such example, the matched filter correlation 508 can reflect a match of the matched filter 306 with the temporal position 212 of the received signal 110 within the sampling sequence 206 based on an integration of a sample-by-sample multiplication of the signal samples and the samples representing the impulse response function. A complete match results in a nearly 100% matched filter correlation, and a complete absence of match results in a nearly 0% matched filter correlation. As a second such example, the matched filter correlation 508 may reflect a dissimilarity of the matched filter 306 with the received signal 110 within the sampling sequence 206, e.g.a sum or product of the magnitude differences and / or the variance of the magnitude differences between the samples of the matched filter 306 and the corresponding samples of the sample sequence 206, where a complete match results in an aggregate distance of zero and a complete absence of match results in a very large aggregate distance. In some variations, the matched filter correlation 508 can be determined as the standard deviation of the respective samples of the sample sequence 206 compared to the corresponding samples of the matched filter 306. In some variations, the matched filter correlation 508 for a first matched filter 306 can be determined relative to the matched filter correlations 508 for other matched filters 306 of the matched filter set 304.
[0058] As a second variant of this third aspect, the subinterval shift 512 of the received signal can be determined by identifying a selected matched filter that represents a maximum matched filter correlation from the matched filter correlation set 508. The subinterval shift 308 of the selected matched filter can be selected as the received signal subinterval shift 512. Accordingly, the temporal position 212 of the received signal 110 within the sampling sequence 206 can be adjusted by a temporal position offset 310 corresponding to the subinterval shift 308 of the selected matched filter to generate a temporal position determination 216 according to the methods presented here.
[0059] Fig. 11A shows a representation of a first example scenario 1100 with a third variant of this third aspect, in which distances 1102 between successive samples of the respective matched filters 306 and the corresponding samples of the sampling sequence 206 are calculated. In this first example scenario 1100, an aggregated distance between the samples of the sampling sequence 206 and the corresponding samples of each matched filter 306 is determined, which leads to a determination of a correlation reliability 1104 as the inverse of the aggregated distance. The correlation reliability 1104 can be used, for example, to determine an overall reliability for the detection of the received signal 110 within the sampling sequence 206. Alternatively or additionally, the correlation reliability 1104 can be used, for example, toto determine a deviation between the received signal 110 and the ideal received signal 202 or the sample signal 302, wherein a low correlation reliability 1104 indicates a significant deviation and a high probability that the correlation was caused by noise. In some embodiments, the matched filter correlation may be compared to a correlation reliability threshold 1106, wherein a failure of any matched filter correlation 508 to meet the correlation reliability threshold 1106 is reported as a lack or loss of the received signal 110 within the sampling sequence 206, which may, for example, result from a reduced signal-to-noise ratio.
[0060] In the Fig. 11 shows a second example scenario 1108 with a fourth variant of this third aspect, in which the respective matched filters 306 contribute to a combination 1110, such as a consensus determination of the temporal position 212 of the received signal 110 within the sampling sequence 206 as a consensus of the matched filter correlations 508 of the respective matched filters 306. In this example scenario 1108, each matched filter 306 provides the matched filter correlation 508, and the subinterval shifts 308 of the respective matched filters 306 can contribute to the combination 1110 relative to the matched filter correlation 508 and / or to the filter correlation reliability 1104 of the respective matched filters 306, such as according to the matched filter correlation distance between the matched filter 306 and the corresponding samples of the sampling sequence 206.An embodiment may therefore weight the respective time positions using the matched filter correlations 508 as a weight and calculate a weighted and normalized sum of the matched filter correlations 508 from the set of matched filter correlations, multiplied by the subinterval shifts 308 of the respective matched filters 304, as the received signal subinterval shift 512. In such an embodiment, for the respective matched filters 304, a product of the subinterval shifts 308 of the matched filter 306 with the matched filter correlation 508 of the matched filter 306 is calculated; a sum of the products of the respective matched filters 304 is calculated, the sum being normalized by a matched filter correlation sum of the matched filter correlations 508; and the received signal subinterval shift 512 is determined as the product of the sum and the sampling interval 214.Alternatively or additionally, the sum may be identified according to a mean or median of the matched filter correlations 508 among the matched filter set 304 of the matched filters 306.
[0061] As a fifth variation of this third aspect, the matched filter set 304 can be applied across a plurality of sampling sequences 206, and the matched filter correlations 508 of the respective matched filters 306 can be accumulated. For example, to detect received signals 110 within the sampling sequence 206 that are periodic with a known periodicity but have a comparatively poor signal-to-noise ratio, the matched filters 306 can be applied to a sequence of sampling sequences 206 acquired across the period. The poor signal-to-noise ratio can reduce the reliability of detecting the received signal 110 within the sampling sequence 206 at a particular temporal position 212. Instead, the sampling can comprise sampling the sensor at the sampling frequency to generate at least two replicated sampling sequences, thereby generating at least two sets of matched filter correlations 508.The sets of matched filter correlations 508 may be generated for the consecutive sample sequences 206, and the matched filter correlations 508 of the respective matched filters 306 may be accumulated. A consistently higher matched filter correlation 508 of a particular matched filter 306 within the matched filter set 304 across a plurality of sample sequences 206 may enable a more reliable determination of the temporal position 212 of the received signal 110 within the sample sequence 206. Many such techniques may be used to apply the matched filter set 304 to a sample sequence 206 according to the techniques presented herein. E4. Architectural Variations
[0062] A fourth aspect that may vary among embodiments of the techniques presented herein concerns variations in the architecture of the provided embodiments. Fig. 12 shows an architectural representation of an example embodiment.
[0063] As a first variation of this fourth aspect, an embodiment may store the sample sequence 206 in various ways. For example, a device may include a shift register with a sample length (e.g., of sufficient length to accommodate enough samples to represent one instance of the receive signal 110 within the sample sequence 206 when sampled at the sampling frequency 504 of the sensor 112). New samples may be inserted into the shift register, while old samples may be rotated out of the shift register. Alternatively, an embodiment may use a memory buffer to store the samples of the sample sequence 206.
[0064] Fig. 12 shows, as example 1200, an exemplary embodiment of the presented techniques in the form of a parallel evaluator 1202. In this parallel evaluator 1202, the output of the sensor 112, e.g., an avalanche photodiode 1204 ("APD"), is provided to a transimpedance amplifier 1206. The amplified continuous-time signal is sampled by an analog-to-digital converter 1208 ("A / D") at sampling frequency 504 to generate the sampling sequence 206. The sampling sequence 206 is then provided in parallel to a matched filter set 304 of matched filters 306, comprising an evaluator set of evaluators, each of which applies a single matched filter 306 to the sampling sequence 206.The parallel evaluators evaluate the sample sequence 206 simultaneously to generate a matched filter correlation set of matched filter correlations 508, and the determination 1210 of the respective evaluators is calculated as a maximum and / or average 1212, which identifies the received signal subinterval shift 1214. This architecture may be advantageous, for example, for applying a potentially large number of evaluators with different subinterval shifts 308 to the sample sequence 206 in order to accelerate the determination of the received signal 110 within the sample sequence 206 and its temporal position 212. Many such architectures can be developed and deployed according to the techniques presented here. F. Simulation results
[0065] Prototype implementations of some variations of the currently presented techniques were subjected to simulations which compare the results with other techniques, such as sampling the sensor 112 at the sampling frequency 504 without adaptation based on at least the subinterval shift 308 and sampling the received signal 110 within the sampling sequence 206 at the oversampling frequency 504 of the sensor 112 without adaptation based on at least the subinterval shift 308. The results of such simulations are shown in the Fig. 13A, Fig. 13B and Fig. 14 shown.
[0066] In the Fig. 13A, the simulation of the prototypes was carried out with a sampling rate of one gigahertz 1302. In the Fig. 13B, the simulation of the prototypes was performed at a 500-megahertz sampling rate 1312. Both simulations used Gaussian pulse shapes and Monte Carlo simulations over 5,000 trials at selected signal-to-noise ratios (a signal-to-noise ratio of 20 dB in the first simulation and a signal-to-noise ratio of 14 dB in the second simulation). In both simulations, the range error of the respective sampling techniques was determined as a cumulative distribution function, with more sophisticated correlation methods exhibiting steeper range error convergence. In both simulations, a first of the samples 1304 at sampling frequency 504 without adjustment based on a subinterval shift 308 exhibits poor range error. A second of the samples 1306 at a five-fold higher sampling frequency 504, but still without adjustment based on a subinterval shift 308, exhibits reduced measurement error.A third of the samples 1304 at the sampling frequency 504 using a matched filter set 304 of five matched filters corresponding to five subinterval shifts 308 according to the example scenario 300 of FIG. Fig. 3 and a fourth of the samples 1304 at the sampling frequency 504 using a matched filter set 304 of five matched filters corresponding to a subset selection of a set sampled 1306 at a five-fold greater sampling frequency 504 according to the example scenario 400 of the Fig. 4) however, have a further reduced range error than the first sample 1304, and even lower than the second sample 1306 with the higher sampling frequency. It should be noted that curves 1308 and 1310 result in the same cumulative distribution function and therefore in the Fig. 13A and the Fig. 13B are not distinguishable.
[0067] Similarly, in the Fig. 14 Simulation plots of the mean distance errors of various sampling techniques over a range of signal-to-noise ratios (represented by the horizontal axis) are shown. The mean distance error for a first of the samples 1402 at the sampling frequency 504 without adjustment based on a subinterval shift 308 shows a standard deviation of the distance error over a wide range of signal-to-noise ratios, even at a comparatively high signal-to-noise ratio. A second of the samples 1404 at a five-fold higher sampling frequency 504, but still without adjustment based on a subinterval shift 308, shows a decrease in the standard deviation of the distance error with increasing signal-to-noise ratio. A third of the samples 1406 at the sampling frequency 504 using a matched filter set 304 according to the example scenario 300 of the Fig. 3 and a fourth of the samples 1408 with the sampling frequency 504 using a matched filter set 304 according to the example scenario 400 of the Fig. 4, however, show a faster decrease in the standard deviation of the distance error over the signal-to-noise ratio, outperforming both the first of the samples 1402 and the second of the samples 1404 at the increased sampling frequency 504. Indeed, the reduction in the standard deviation of the distance error for both techniques presented here increases with increasing signal-to-noise ratio compared to the other techniques. These simulation results therefore demonstrate the increase in accuracy in determining the temporal position of the received signal 110 within the sampling sequence 206 according to the methods presented here. G. Computer environment
[0068] Fig. 15 and the following discussion provide a brief, general description of a suitable computing environment for implementing embodiments of one or more of the provisions listed herein. The operating environment of the Fig. 15 is merely an example of a suitable operating environment and is not intended to suggest any limitation on the scope of use or functionality of the operating environment. Examples of computing devices include, but are not limited to, personal computers, server computers, handheld or laptop devices, mobile devices (such as cellular phones, personal digital assistants (PDAs), media players, and the like), multiprocessor systems, consumer electronics, minicomputers, mainframe computers, distributed computing environments that include any of the above-mentioned systems or devices, and the like.
[0069] Although not required, embodiments are described in the general context of "computer-readable instructions" executed by one or more computing devices. Computer-readable instructions may be distributed over computer-readable media (discussed below). Computer-readable instructions may be implemented as program modules such as functions, objects, application programming interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the computer-readable instructions may be arbitrarily combined or distributed across different environments.
[0070] Fig. 15 shows an example 1500 of a system consisting of a computing device 1502 configured to implement one or more of the embodiments offered herein. In one configuration, the computing device 1502 includes at least a processing unit 1506 and a memory 1508. Depending on the exact configuration and type of computing unit, the memory 1508 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.), or a combination of both. This configuration is illustrated in the Fig. 15 represented by the dashed line 1504.
[0071] In some embodiments, device 1502 may include additional features and / or functions. For example, device 1502 may also include additional memory (e.g., removable and / or non-removable), including, but not limited to, magnetic or optical memory and the like. Such additional memory is described in the Fig. 15 by memory 1510. In one embodiment, computer-readable instructions for implementing one or more embodiments provided herein may be located in memory 1510. Memory 1510 may also store computer-readable instructions for implementing an operating system, an application program, and the like. Computer-readable instructions may be loaded into memory 1508 for execution, for example, by processing unit 1506.
[0072] The term "computer-readable media," as used herein, includes computer storage media. Computer storage media includes volatile and non-volatile, removable and non-removable media, implemented in any method or technology for storing information such as computer-readable instructions or other data. Memory 1508 and storage 1510 are examples of computer storage media. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other storage technologies, CD-ROM, digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by device 1502. Any of these computer storage media can be part of device 1502.
[0073] Device 1502 may also include communication link(s) 1516 that enable device 1502 to communicate with other devices. Communication link(s) 1516 may include, without limitation, a modem, a network interface card (NIC), an integrated network interface, a radio frequency transceiver, an infrared interface, a USB connection, or other interfaces for connecting device 1502 to other computing devices. Communication link(s) 1516 may include a wired or wireless connection. Communication link(s) 1516 may send and / or receive communication media.
[0074] The term "computer-readable media" may also include communications media. Communications media typically embody computer-readable instructions or other data in a "modulated data signal," such as a carrier wave or other transport mechanism, and includes all information delivery media. The term "modulated data signal" may include a signal in which one or more of its properties have been fixed or modified to encode information in the signal.
[0075] Device 1502 may include input device(s) 1514, such as a keyboard, mouse, stylus, voice input device, touch input device, infrared cameras, video input devices, and / or any other input device. Output device(s) 1512, such as one or more displays, speakers, printers, and / or any other output device, may also be included in device 1502. Input device(s) 1514 and output device(s) 1512 may be connected to device 1502 via a wired connection, a wireless connection, or any combination thereof. In one embodiment, an input device or output device of another computing device may be used as input device(s) 1514 or output device(s) 1512 for computing device 1502.
[0076] The components of computing device 1502 may be interconnected by various connections, such as a bus. Such connections may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), Firewire (IEEE 1394), an optical bus structure, and the like. In one embodiment, the components of computing device 1502 may be interconnected by a network. For example, memory 1508 may consist of multiple physical storage units located at different physical locations and interconnected by a network.
[0077] Those skilled in the art will recognize that storage devices used to store computer-readable instructions may be distributed across a network. For example, a computing device 1520 accessible over network 1518 may store computer-readable instructions to implement one or more of the embodiments offered herein. Computing device 1502 may access computing device 1520 and download some or all of the computer-readable instructions for execution. Alternatively, computing device 1502 may download portions of the computer-readable instructions as needed, or some instructions may be executed on computing device 1502 and some on computing device 1520. H. Summary of Claims
[0078] One embodiment of the presently disclosed techniques includes a method for determining a temporal position of a received signal within a sampling sequence. The method includes: sampling a sensor at a sampling frequency to generate the sampling sequence; applying a matched filter set of matched filters to the sampling sequence to generate a matched filter correlation set of matched filter correlations, wherein the impulse responses of the respective matched filters correspond to a sample signal at the sensor's sampling frequency shifted by a subinterval shift; evaluating the matched filter correlations to determine a subinterval shift of the received signal; and determining the temporal position of the signal within the sampling sequence based at least on the subinterval shift of the received signal.
[0079] One embodiment of the presently disclosed techniques includes an apparatus for determining a temporal position of a received signal within a sampling sequence. The apparatus includes: means for sampling a sensor at a sampling frequency to generate the sampling sequence; means for applying a matched filter set to the sampling sequence to generate a matched filter correlation set of matched filter correlations, wherein impulse responses of respective matched filters correspond to a sample signal at the sensor's sampling frequency shifted by a subinterval shift; means for evaluating the matched filter correlations to determine a received signal subinterval shift; and means for determining the temporal position of the signal within the sampling sequence based at least on the received signal subinterval shift.
[0080] An embodiment of the presently disclosed techniques includes a sensor comprising a signal detector for applying a matched filter set of matched filters to a sampling sequence of the sensor at a sampling frequency, wherein the respective matched filters correspond to a sample signal at the sampling frequency shifted by a subinterval shift to identify a received signal subinterval shift of a received signal within the sampling sequence; and a temporal position determiner for determining a temporal position of the received signal within the sampling sequence based on at least the received signal subinterval shift of the received signal within the sampling sequence.
[0081] An embodiment of the presently disclosed techniques includes a time-of-flight device having a transmitter for transmitting a transmit signal; a receiver for receiving a reflection of the transmit signal by sampling a sensor at a sampling frequency to generate a sampling sequence including a receive signal; a signal detector for applying a matched filter set of matched filters to the sampling sequence, wherein the impulse responses of the respective matched filters correspond to a pattern signal sampled at the sampling frequency and shifted by a subinterval shift to identify a receive signal subinterval shift of the receive signal within the sampling sequence; and a time-of-flight determiner that determines a time-of-flight of the transmit signal based on at least the receive signal subinterval shift of the receive signal within the sampling sequence. I. Use of terms
[0082] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary forms for implementing the claims.
[0083] Throughout this application, the terms "component," "module," "system," "interface," and the like are generally intended to refer to a computer-related entity, whether hardware, a combination of hardware and software, software, or software in execution. One or more components may be localized on one computer and / or distributed between two or more computers.
[0084] Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and / or design techniques for producing software, firmware, hardware, or a combination thereof for controlling a computer to implement the disclosed subject matter. As used herein, the term "article of manufacture" is intended to encompass a computer program accessible from any computer-readable device, carrier, or medium. Of course, those skilled in the art will recognize that many changes may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
[0085] Various acts of embodiments are provided herein. In one embodiment, one or more of the described acts may represent computer-readable instructions stored on one or more computer-readable media that, when executed by a computing device, cause the computing device to perform the described acts. The order in which some or all of the described acts are described should not be construed to mean that these acts are necessarily order-dependent. An alternative order will be appreciated by one of ordinary skill in the art having the benefit of this description. Further, it is understood that not all acts are necessarily present in every embodiment provided herein.
[0086] Any aspect or design described herein as an "example" should not necessarily be construed as advantageous over other aspects or designs. Rather, the use of the word "example" is intended to illustrate a possible aspect and / or implementation that may relate to the techniques presented herein. Such examples are not required for such techniques or intended to be limiting. Various embodiments of such techniques may include such an example, alone or in combination with other features, and / or may vary and / or omit the illustrated example.
[0087] As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise stated or clear from the context, "X uses A or B" means one of the natural inclusive permutations. That is, if XA, XB, or X uses both A and B, then "X uses A or B" is satisfied in each of the foregoing cases. Furthermore, as used in this application and the appended claims, the articles "a" and "an" can generally be construed to mean "one or more" unless otherwise stated or clear from the context that they are directed to a singular form.
[0088] Although the disclosure has been shown and described with respect to one or more implementations, equivalent changes and modifications will occur to others skilled in the art based on a reading and understanding of this description and the accompanying drawings. The disclosure includes all such changes and modifications and is limited only by the scope of the following claims. In particular, with respect to the various functions performed by the components described above (e.g., elements, resources, etc.), unless otherwise indicated, the terms used to describe such components are intended to correspond to all components that perform the specified function of the described component (e.g., that is functionally equivalent), even if they are not structurally equivalent to the disclosed structure that performs the function in the example implementations of the disclosure illustrated herein.Furthermore, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, that feature may be combined with one or more other features of the other implementations as may be desired and advantageous for a given or particular application. To the extent the terms "include," "comprise," "has," "with," or variations thereof are used in either the detailed description or the claims, these terms are intended to be included in a manner similar to the term "comprising."
Claims
[1] A method for determining a temporal position of a received signal (110) within a sampling sequence (206), comprising: Sampling (604) a sensor (112) at a sampling frequency to generate the sampling sequence (206); Applying (606) a matched filter set (304) of matched filters (306) to the sampling sequence (206) to generate a matched filter correlation set of matched filter correlations (508), wherein impulse responses of the respective matched filters (306) correspond to a sample signal (302) at the sampling frequency of the sensor (112) shifted by a subinterval shift (308); Evaluating (608) the matched filter correlations (508) to determine a received signal subinterval shift (512); and Determining (610) the temporal position of the received signal (110) within the sampling sequence (206) based on at least the received signal subinterval shift (512). [2] The method of claim 1, further comprising: generating the respective matched filters (306) by sampling the pattern signal (302) at the sampling frequency and using a set of different subinterval shifts (308) for the obtained matched filters (306). [3] The method of claim 2, wherein generating the respective matched filters (306) further comprises: generating the respective matched filters (306) according to an equation comprising: sT,i[n]=sT(nTs+(MOs−12−(i−1))TsMOS), i=1,…,MOS, n=1,…,NS, where: N S comprises a number of matched filters (306) of the matched filter set (304); n comprises an index of a matched filter (306) within the matched filter set (304); i comprises a sampling index for n; s T (...) the pattern signal (302) at a selected time; T S a duration of a sampling interval of the pattern signal (302); M OS an oversampling ratio relative to the sampling frequency of the sensor (112); and s T,i [n] comprises a value of a matched filter (306) at i. [4] A method according to any one of the preceding claims, further comprising: generating the respective matched filters (306) using a subsampling sequence of samples of an oversampled pattern of the received signal (110). [5] The method of claim 4, wherein generating the respective matched filters (306) further comprises: generating the respective matched filters (306) using an oversampled pattern of the received signal (110) according to an equation comprising: sT,i[n]=sT(nTsMOS)nn=i,MOS+i,…,(NS−1)MOS+i where: N S comprises a number of matched filters (306) of the matched filter set (304); n comprises an index of a matched filter (306) within the matched filter set (304); i comprises a sampling index for n; s T (...) the pattern signal (302) at a selected time; T S a duration of a sampling interval of the pattern signal (302); M OS an oversampling ratio relative to the sampling frequency of the sensor (112); and s T,i [n] comprises a value of a matched filter (306) at i. [6] The method of any preceding claim, wherein applying (606) the matched filter set (304) to the sampling sequence (206) further comprises: Selecting a window of samples within the sampling sequence (206); and Apply the matched filter set (304) to the window of samples. [7] The method of any preceding claim, wherein the matched filter set (304) further comprises: a first matched filter (306) that differs from a first adjacent matched filter (306) by a first subinterval shift distance; and a second matched filter (306) that differs from a second adjacent matched filter (306) by a second subinterval shift distance that differs from the first subinterval shift distance. [8] The method of any preceding claim, further comprising: generating the respective matched filters (306) with a matched filter number based on at least one selected resolution of the temporal position of the received signal (110). [9] The method of claim 8, further comprising: Receiving a request to determine the temporal position of the received signal (110) at a second selected resolution that differs from the selected resolution; and in response to the request, renewing the corresponding matched filters (306) with a second matched filter number based on at least the second selected resolution. [10] The method of any preceding claim, wherein determining the received signal subinterval shift (512) further comprises: Identifying a selected matched filter (306) that represents a maximum matched filter correlation (508) among the matched filter correlations (508) of the matched filter set (304); and Selecting the subinterval shift (308) of the selected matched filter (306) as the received signal subinterval shift (512). [11] The method of any preceding claim, wherein determining the received signal subinterval shift (512) further comprises: for each respective matched filter (306), calculating a product of the subinterval shift (308) of the respective matched filter (306) with a matched filter correlation (508) of the matched filter (306); and Calculating a sum of the products of the respective matched filters (306), wherein the sum is normalized by a matched filter correlation sum of the matched filter correlations (508). [12] Method according to one of the preceding claims, wherein: sampling (604) the sensor (112) further comprises: sampling the sensor (112) at the sampling frequency to generate at least two replicated sampling sequences; applying the matched filter set (304) to the sample sequence (206) further comprises: applying the matched filter set (304) to the at least two replicated sample sequences to generate at least two sets of matched filter correlations (508); and determining the received signal subinterval shift (512) further comprises: Accumulating the at least two matched filter correlation sets for the at least two replicated sample sequences; and Evaluating the at least two matched filter correlation sets accumulated over the at least two replicated sampling sequences to determine the received signal subinterval shift (512) of the received signal (110) within the sampling sequence (206). [13] The method of any preceding claim, further comprising: determining a signal reliability based on at least one correlation distance between the selected matched filter (306) and the sampling sequence (206). [14] The method of claim 13, wherein determining the signal reliability further comprises: determining the correlation distance as a standard deviation of samples of the sampling sequence (206) and corresponding samples of the matched filter (306). [15] The method of claim 13 or 14, further comprising: Comparing the signal reliability with a signal reliability threshold; and in response to the signal reliability failing to satisfy the signal reliability threshold, reporting an absence of the signal. [16] The method of any preceding claim, comprising: identifying a median subinterval offset based on at least one median of the respective time shifts corresponding to the respective maximum matched filter correlations (508) among the matched filter set (304). [17] Sensor comprising: a signal detector (704) for applying a matched filter set (304) of matched filters (306) to a sampling sequence (206) of the sensor (112) at a sampling frequency, wherein respective matched filters (306) correspond to a sample signal (302) at the sampling frequency shifted by a subinterval shift (308) to identify a received signal subinterval shift (512) of a received signal (110) within the sampling sequence (206); and a temporal position determiner (706) for determining a temporal position of the received signal (110) within the sampling sequence (206) based on at least the received signal subinterval shift (512) of the received signal (110) within the sampling sequence (206). [18] Sensor according to claim 17, wherein: the sampling sequence (206) is stored in a shift register with a sampling length; respective matched filters (306) comprise a filter length of the sample length; and the signal detector (704) applies the matched filter set (304) to the shift register. [19] Sensor according to claim 17 or 18, wherein: the matched filter set (304) further comprises an evaluation set of evaluators, each of which evaluates the sample sequence (206) to a matched filter (306) to generate a matched filter correlation (508); and the signal detector (704) applies the matched filter set (304) to the sampling sequence (206) by simultaneously applying the evaluators to the sampling sequence (206). [20] Runtime device comprising: a transmitter (106) for transmitting a transmission signal (108); a receiver for receiving a reflection of the transmitted signal (108) by sampling a sensor (112) at a sampling frequency to generate a sampling sequence (206) comprising a received signal (110); a signal detector (704) for applying a matched filter set (304) of matched filters (306) to the sampling sequence (206), wherein the impulse responses of the respective matched filters (306) correspond to a sample signal (302) sampled at the sampling frequency and shifted by a subinterval shift (308) to identify a received signal subinterval shift (512) of the received signal (110) within the sampling sequence (206); and a propagation time determiner (814) that determines a propagation time of the transmit signal (108) based on at least the receive signal subinterval shift (512) of the receive signal (110) within the sampling sequence (206).
Citation Information
Patent Citations
Accurate photo detector measurements for lidar
US20180259645A1