Object tracking using reconstruction of data transmitted by wireless detection signals from a limited detection frequency.
The system addresses vulnerabilities and regulatory issues in wireless tracking by using random detection frequencies and interpolation techniques to achieve accurate, real-time object tracking.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- INFINEON TECHNOLOGIES AMERICAS CORP
- Filing Date
- 2023-04-28
- Publication Date
- 2026-04-27
AI Technical Summary
Existing wireless tracking technologies using uniform detection frequencies are vulnerable to external attacks and may conflict with regulations, while randomly selecting frequencies complicates accurate distance tracking.
A system and method for tracking moving objects using a limited set of randomly selected detection frequencies, employing frequency and temporal interpolation to reconstruct a complete set of detection values, and utilizing techniques like low-pass filtering and Fourier transforms to eliminate aliasing and improve accuracy.
Enables computationally efficient, high-speed, real-time monitoring of object locations with reduced vulnerability to spoofing attacks and compliance with regulatory standards.
Smart Images

Figure 0007836957000017 
Figure 0007836957000018 
Figure 0007836957000019
Abstract
Description
[Technical Field]
[0001] This disclosure relates to wireless networks. More specifically, this disclosure relates to tracking the location and speed of wireless devices by detecting sensing signals that transmit information about the distance to such devices. This disclosure further relates to techniques and systems that can track wireless devices using a reconstructed set of sensing signals based on a limited number of sensing frequencies. [Background technology]
[0002] Personal area networks (PANs), such as Bluetooth (BT), Bluetooth Low Energy (BLE), and wireless local area networks (WLANs), such as WiFi networks and other networks operating under IEEE 802.11 or other wireless standards, provide wireless connectivity for a variety of personal, industrial, scientific, and medical applications. Many BT, BLE, and IEEE 802.11 applications utilize identification and secure communication that presupposes the correct localization of the various objects carrying the wireless device. For example, automotive applications deploy passive keyless entry systems that localize (locate) a key fob based on its proximity to the vehicle, thereby locking / unlocking / starting the car. Similarly, tire pressure monitoring systems identify specific tires whose pressure drops below a certain reading. The BLE specification defines various techniques for performing object localization, such as estimating the signal strength of a received radio signal (e.g., Received Signal Strength Indicator, RSSI), the angle of arrival (direction) (AoA) of a radio signal, high-precision distance measurement using time-of-flight (ToF) channel detection (HADM), phase-based ranging (PBR), and other techniques. AoA estimates the direction of wave propagation using multiple sensors (antennas) that utilize the phase difference of one or more unmodulated tones arriving at the sensors (located at different points in space). Similarly, channel detection (e.g., HADM) estimates the distance to an object (e.g., another BLE device) by measuring the phase delay accumulated by multiple signals of different frequencies along the path from an initiator radio device back to a return radio device. [Brief explanation of the drawing]
[0003] [Figure 1] According to several embodiments, an example setup for trajectory determination and tracking using a wireless device is shown. [Figure 2] The following are examples of the operation flow during distance-based object tracking according to several embodiments. [Figure 3A]According to several embodiments, one exemplary embodiment of a wireless (BT or BLE) system capable of supporting effective trajectory determination and tracking for fast and accurate localization of objects is shown. [Figure 3B] According to several embodiments, one exemplary embodiment of a wireless (WLAN) system capable of supporting effective trajectory determination and tracking for fast and accurate localization of objects is shown. [Figure 4] According to several embodiments, examples of the operational flow for reconstructing detected values performed in the frequency and / or time domain are shown. [Figure 5A] According to several embodiments, the reconstruction of detected values from a limited set of random frequency detected signals is demonstrated. [Figure 5B] According to several embodiments, the reconstruction of detected values from a limited set of random frequency detected signals is demonstrated. [Figure 6A] According to several embodiments, frequency selection and reconstruction of detected values in the time domain are shown. [Figure 6B] According to several embodiments, frequency selection and reconstruction of detected values in the time domain are shown. [Figure 7] The advantages of using a low-pass filter in reconstructing detected values in the time domain are demonstrated according to several embodiments. [Figure 8] This is a flowchart of an example method that uses the reconstruction of a detected value from a limited set of random frequency detected signals, according to several embodiments. [Figure 9] This is a flowchart of an example method using frequency selection and reconstruction of detected values in the time domain for effective tracking of wireless devices, according to several embodiments. [Modes for carrying out the invention]
[0004] In various applications, wireless devices and various moving (or movable) objects carrying wireless devices, such as people, vehicles, mobile phones, key fobs, items stored in a warehouse, etc., may be tracked using wireless (e.g., radio) signals. The distance to an object may be measured (e.g., using PBR technology) for a series of times t i and the trajectory of the object may be determined based on the measured distances d i (t i ). The distance to the object may be determined from the phase, e.g., Δφ j acquired by a detection signal at several frequencies f j =4πf j d / c when the signal propagates to and back from the object. Optimal (accurate) distance estimation can utilize detection frequencies f j =f0+(j - 1)Δf with a uniform interval, where j = 1, 2... and the frequency interval is Δf. However, using a uniform sense of detection frequencies can make the wireless network and devices vulnerable to external (e.g., spoofing) attacks and may also conflict with government regulations. On the other hand, randomly (or pseudo-randomly) selecting detection frequencies can make the application of various available distance tracking algorithms difficult and / or more inaccurate.
[0005] Aspects and embodiments of the present disclosure address these and other limitations of the existing technology by enabling a system and method for effective tracking of moving objects using random detection frequencies. In some embodiments, during any given detection event occurring at time t i , a number l of detection frequencies f j is selected, and the number l may be any fraction of all m frequencies (operating frequencies) being used. Next, the detection signals are prepared, transmitted by each selected frequency, and returned from the device whose movement is being tracked. Next, the return signal r(f j ,t i associated with the frequency f j and the detection time (event) ti The phase and amplitude of the detected signal may be considered as the detected signal data points (cells) within the frequency-time space (grid) of the detected signal. This frequency-time space is the fraction l / m of all detected cells known from the measurement, and the measured data points (detected values) r(f j ,t i The remaining fraction (1-l / m) of the cells lacking ) may be partially filled. Various techniques disclosed in this specification use all the frequencies {f j The complete set of data points for} contains the detected value r(f j ,t i This makes it possible to interpolate ).
[0006] In some embodiments, frequency interpolation, for example, interpolation within the same time slice may be used (fixed t i However, different f j ). In some embodiments, temporal interpolation, for example, interpolation within the same frequency slice may be used (fixed f j However, different t i ). In some embodiments, frequency interpolation and temporal interpolation may be used together. In some embodiments, frequency and / or temporal interpolation are used to interpolate the detected value r(f j ,t i ) may be performed directly on the basis of the following: In some embodiments, frequency and / or temporal interpolation may be performed on the detected value which undergoes a specific transformation (folding) that allows for the identification of contributions to the detected signal from strong paths of wave propagation and enables interpolation that recognizes these strong paths.
[0007] In some embodiments, during temporal interpolation, unknown (missing) data points are padded with zero values (r(f j ,t i )=0), (time variable t i (Regarding) it is converted to a spectral representation (r(f j ,t i)→r(f j ,Ω)), by the Fourier component that is faster than a certain predetermined threshold (Ω>Ω T ), or it may be filtered using a low-pass filter to remove the spectral representation part (r(f j Next, the inverse Fourier transform r(f) is roughly shown using the Heaviside function. j ,Ω)Θ(Ω T -Ω)→R(f j ,t i ) is a reconstructed (interpolated) set of detected values (R(f) for the entire range of detection time and frequency. j ,t i You may restore )).
[0008] In some embodiments, the detection frequency is the dynamic probability P(t last ) may be used to select for each detection event, and the dynamic probability P(t last ) is the last time t that a specific frequency was selected for the set of detection signals. last Depends on t last Since it increases with the increase of, for example, each detection frequency is at a predetermined time interval τ max It is used at least once during this period. This facilitates the removal of aliasing (ghost objects). For more details, see the given frequency f j When the detection signal is repeated every τ seconds and an object moving at velocity v is detected, the continuous detection signal acquires a phase difference of Δφ = 4πvτ / c. This is because the interval [-v max , v max An object having a velocity of ], at a distance of [v max ,3v max ], [3v max ,5v max ], [-3v max ,v max ], [-5v max ,-3v max When it appears similarly to an object with a velocity such as ] (velocity aliasing), the maximum velocity that can be determined by this sequence of detection signals (determined from the condition Δφ=2π) is, v max =c / (2f j τ') This means that the speed of the tracked device is c / (2f j τ max If it is known that the interval τ does not exceed ), max At least once for each frequency f j By selecting this option, velocity aliasing can be eliminated. In addition, the techniques described eliminate or reduce distance aliasing. Specifically, frequency f over the distance 2d to / from an object. j The phase obtained by the signal = f0 + (j-1)Δf is Δφ j = 4πf0d / c + 4π(j-1)Δfd / c. These phases have a period with respect to the distance d (when the phases differ by 2π). d max = c / 2Δf' It has a periodicity, which is also the maximum distance that can be determined by a detection signal having a frequency interval Δf, and the interval [0,d max Objects located within ] are within distance [d max ,2d max ], [2d max ,3d max This means that it appears similarly to an object located within an interval such as [ ].
[0009] The described technology allows for the detection of multiple events t i The pseudo-random frequency {f} selected as part of the j For}, a limited set of measured detection values {r(f j ,t i Using )}, an extended set of detected values {R(f j ,t i This enables the reconstruction of ). As detailed below, the reconstructed (extended) set of detected values may be used to compute a likelihood tensor P(d0,v) that determines the likelihood (probability) that the motion of the returning object, characterized by parameters d0 (reference distance at time t=0) and v (velocity), is described by the trajectory d=d0+vt.
[0010] In one example of a BLE system, during a detection event, different frequencies (tones) f from the BT bandwidth (i.e., from 2.402 GHz to 2.480 GHz) are used. j N waves of (j∈[1,m]) may be transmitted by other wireless devices or wireless devices that perform trajectory tracking of an object carrying such wireless devices. In other examples of IEEE 802.11 wireless systems, the tone of the sample set may also be a subcarrier transmitted simultaneously in the long training field (LTF) of the packet. The transmitted signal may be reflected along the same path by a returning device (a device whose trajectory is being estimated). A sensor (e.g., an antenna) may detect the arrival of m returned signals and extract phase information from these signals, which represents the length of the propagation path. In some examples, the m signals reflected by an object may follow multiple paths, e.g., n paths (including paths corresponding to line-of-sight propagation, as well as paths including reflections from walls, ceilings and / or other objects (including multiple reflections)). These types of paths may be identified as multiple maximum values of a likelihood tensor, which may further allow for the distinction between line-of-sight propagation and multi-path reflection, as described later.
[0011] The advantages of the disclosed embodiments include computationally efficient trajectory tracking for high-speed, real-time monitoring of the locations of various objects in a wireless network environment, which may include multiple wireless devices and various additional objects.
[0012] Figure 1 shows an example setup for trajectory determination and tracking using a wireless device according to several embodiments. The wireless device 100 may be any BT device, BLE device, or any other type of device capable of generating, transmitting, receiving, and processing electromagnetic sensing signals. In some embodiments, the sensing signal may be a wireless signal in the frequency range of the IEEE 802.11 wireless standard (e.g., 2.4 GHz band, 5 GHz band, 60 GHz band) or any other wireless communication band. In some embodiments, the sensing signal may be compatible with one or more IEEE 802.11 wireless standards. The wireless device 100 may include one or more sensors 102 capable of transmitting and receiving sensing signals. The sensors 102 may include one or more antennas, or may be communication-coupled to one or more antennas, and the antennas may be, for example, dipole antennas, loop antennas, multiplexed-input-output (MIMO) antennas, antenna arrays, or any other type of device capable of transmitting and receiving electromagnetic signals. The localization system may consist of one or more wireless devices 100. The environment of the wireless device 100 may include one or more objects, for example, object 104, or additional objects not clearly depicted in Figure 1. Object 104 may be a wireless device capable of wirelessly communicating with the wireless device 100 (or may carry or transport the wireless device). While the following refers to trajectory tracking performed by the wireless device 100, it should be understood that similar techniques and embodiments may be used, for example, for distance estimation and trajectory determination / tracking performed by object 104 using the determined trajectory of the wireless device 100 (and / or any additional devices).
[0013] The wireless device 100 may generate and transmit multiple detection signals. In some embodiments, the detection signals may have different frequencies (tones). More specifically, the wireless device 100 may generate a signal 106-1 containing multiple (e.g., N) tones, e.g., f0, f0+Δf1, f0+Δf2, and transmit the generated signal to an object 104, which may be a responding device belonging to the same wireless network as the wireless device 100. The responding device may perform an analysis of the received signal 106-1 and evaluate the phase information used in the return signal 107-1. The wireless device 100 may similarly perform an evaluation of the phase information of the return signal 107-1 and estimate the distance between the wireless device 100 and the responding device (object 104-1) based on the total phase changes. Each tone of the transmitted signal 106-1 (and correspondingly the return signal 107-1) may transmit its own phase information. In particular, the distance d1 and frequency f over which the signal 106-1 travels between the wireless device 100 and the object 104. j The total phase change Δφ associated with the same distance d1 over which the return signal 107-1 travels is Δφ j =4πf j d1 / c, where c is the speed of light. This phase change represents the distance d1(t1) to object 104 at time t1. The callout portion in Figure 1 schematically shows the structure of signal 107-1 (shown by the dashed line) returning from object 104.
[0014] Later in time t2, object 104 may move to a different position 105. (For example, N detection tones f jA new detection signal 106-2 (similarly having the same characteristics) may be transmitted by the wireless device 100, giving rise to a return signal 107-2 that transmits phase information representing a new distance d2(t2) to object 104. As shown in Figure 1, an additional return signal 107-3 may reach the sensor 102 of the wireless device 100 through different paths, including reflection from other objects, e.g., wall 108. The distance d3(t2) over which the signal 107-3 travels may be greater than the line-of-sight propagation distance d2. One return signal path is shown for time t1, and two paths are shown for time t2, but any number of return signal paths may be shown for any detection time t (to detect an event). i It may exist for that purpose. Similarly, the transmitted signal path may also include multiple path propagation (not depicted in Figure 1). In some examples, the direct line-of-sight path may be blocked by other objects, so only paths with one or more reflections may exist. Since object 104 is moving relative to other objects in the environment, the number of paths may change over time, for example, at different detection times t (for detecting events). i They may differ in this respect.
[0015] Phase change Δφ transmitted by the return detection signal j This may be performed using a multiple signal classification (MUSIC) algorithm, a generalized cross-correlation (GCC) algorithm, an inverse Fourier transform algorithm, or any other suitable processing algorithm that can be further improved according to embodiments of this disclosure. As described below, the following operation is performed when an event t is detected. i This is performed for each of them, and the respective likelihood vector P i (d) may be determined. Likelihood vector P i (d) may also be a vector (array) in distance space having specific values of likelihood vectors that represent the likelihood (probability, or proportional to probability, or having some relationship with probability) of various distances to the wireless device being tracked. Next, multiple likelihood vectors P i (d) may be combined with the likelihood tensor, which will be described in detail below.
[0016] As shown in FIG. 1, the detection event initiated by the wireless device 100 (in each of the detection times t i ) may include transmitting N return signals (each having a different frequency f j ) and then detecting. Each of the detected detection values r j may characterize the superposition of waves propagating along n paths, and some (or all) of the paths may include one or more reflections. [Number] Here, S k represents the amplitude of the wave traveling through the k-th path, n j is the noise associated with the forward propagation (and detection) of the j-th frequency (tone, channel) f j , n ’ j is the noise associated with the reverse propagation (and detection) of the j-th frequency, a j (d) is a steering vector (also denoted as a^(d) in vector notation) that describes the phase change through a distance d that can take on one of the values d = d1...ds n . In particular, for N equally spaced detection tones, f j = f0+(j - 1)Δf, and the steering vector may have the form a j (d) = exp[4πi(j - 1)Δfd / c].
[0017] In an embodiment of the MUSIC algorithm, using the detection values, an N×N covariance matrix, R jl = 〈r[[ID=X38]] j r l * 〉 may be constructed, where the angular brackets 〈...〉 mean statistical average, and r l * represents the complex conjugate of r l . In some embodiments, the covariance matrix is the square root of the detection values (having appropriately selected sign values), e.g., R jl = 〈√r j √r l* It may be formed using >. In some embodiments, the statistical mean may be performed using frequency domain smoothing, for example, using the smooth(MUSIC) algorithm. In some embodiments, the statistical mean may include averaging in the time domain, for example, by collecting multiple instances of the data. In some embodiments, time averaging is not performed. Due to uncorrelated noise, <n j n l * >=δ jl σ 2 And, σ 2 This is the noise dispersion in a single detection channel.
[0018] The covariance matrix R^ is the n signal eigenvectors s^ (1) ...s^ (n) and (Nn) noise eigenvectors g^ (n+1) ...g^ (N) It may have (which generally defines what is called a noise subspace), and the subscript α enumerates various eigenvectors. For uncorrelated noise, the noise eigenvectors are perpendicular to the steering vector, i.e.,
number
number
number
[0019] The above example of the MUSIC localization vector is intended to be illustrative. In various embodiments, the localization vector P(d) may be obtained using different procedures. For example, in the GCC method, the localization vector is
number
[0020] In some embodiments, the likelihood vector P(d) may be transformed into a likelihood tensor P(d0,v). The transformation P(d)→P(d0,v) may be performed in various ways. This can be done by substituting a single independent variable in P(d) with two dependent variables (d→d0,v). In some embodiments, likelihood vectors from multiple detection events may be combined into a likelihood tensor as follows: P(d0,v)=P1(d0+vt1)+P2(d0+vt2). In some embodiments, different likelihood vectors are obtained using different weights, for example, W1 and W2. P(d0,v)=W1P1(d0+vt1)+W2P2(d0+vt2) The weights may be W1 and W2, and the weights W1 and W2 may be used to normalize the P(d) vector such that the sum of P(d) is 1, for example, the likelihood vector corresponds to a closer range to which a higher weight is given. In these equations, the likelihood vectors are identified by the subscripts 1 and 2 which refer to the detected events, and even if the function used to construct each likelihood vector is the same, e.g., P(d), its measurements contribute to the data for each likelihood vector. The likelihood tensor P(d0,v) is a quantity defined in a two-dimensional space of distance d0 and velocity v. The actual values d0 and v for the tracked object are obtained by the optimization procedure, for example, by the maximum value of P(d0,v) or alternatively, P -1 This can also be determined by finding the minimum value of (d0,v). In this example, we combine two likelihood vectors, but any number of likelihood vectors can be combined in the same way.
[0021] The process described above may continue with additional detection data for each new detection event (i=3, 4, ...) and a new likelihood vector P i (d0+vt i It is used to update the likelihood tensor. P(d0,v)→P(d0,v)+W i ·P i (d0+vt i ) In some embodiments, the number of detection events counted in the likelihood tensor may be limited to a predetermined number M of detection events. After M contributions to the likelihood tensor have been collected, when each additional contribution is added, the earliest contribution (for example, the i=1 contribution in this example) is subtracted from the likelihood tensor. P(d0,v)→P(d0,v)+W M+1 ·P M+1 (d0+vt i )-W1·P1(d0+vt i ) A number M may be chosen such that it includes multiple detection events, but still ensures that the object's velocity is not substantially different over the duration of the last M detection events. For example, if one detection event occurs every 0.1 seconds, the maximum number of events included in the likelihood tensor may be M=10. As a result, optimizing the likelihood tensor provides an accurate estimate of the average velocity (and reference distance) to the object over a last 0.5-second sliding window, which may be short enough for a constant velocity model to be sufficiently accurate under many practical conditions.
[0022] In the embodiments described above, the likelihood tensor for a combination of events is the harmonic mean P = P1 + P2 + ... of the likelihood vectors calculated for each event. In some embodiments, instead of the harmonic mean, the likelihood tensor for a combination of events may be the sum of the likelihood vectors calculated for each event = P1 + P2 + ..., or any other suitable means. For example, in some embodiments where different detection events have a unequal number of sub-events, the likelihood vectors calculated for each individual event may be weighted by optimally chosen weights, such as weights proportional to the number of sub-events for each detection event, or empirically determined weights.
[0023] In the example above, position-velocity determination and tracking are represented using a two-dimensional (2D) likelihood tensor P(d0,v) in position-velocity space. Similar techniques may be used for trajectory determination and tracking in higher dimensions where multiple coordinates of an object and multiple components of its velocity are determined. For example, in the more general case, the trajectory is represented by a vector model r → =r → 0+v → It may also be determined using t, and the vector reference position is r → 0 = (x0, y0...) and the vector velocity is v → =(v x ,v y...) where x and y are any appropriate coordinates, including Cartesian coordinates, polar coordinates, elliptic coordinates, spherical coordinates, cylindrical coordinates, etc. The higher-dimensional (HD) likelihood tensor is m (e.g., m=2 or m=3) coordinates x, y and m velocity components v x ,v y It may also be a tensor in a 2m-dimensional space. More specifically, the likelihood tensor may be as follows:
number
[0024] Figure 2 shows an example of the operation flow 200 during distance-based object tracking using a single sensing station according to several embodiments. As shown in Figure 2, the wireless device detects the current distance d(t) to the object being tracked. i The wireless device may collect detection data representing (block 202). The detection data may be obtained using a limited set of detection frequencies. In block 204, using the limited set of detection data, an extended (or reconstructed) set of detection data for an extended set of frequencies may be obtained, as detailed below. The wireless device may then generate a 2D likelihood tensor (as described above). For example, in block 206, the wireless device may use the MUSIC algorithm, or any other algorithm using uniform frequency steps or uniform time steps, to generate a set of likelihood vectors P i(d) may be obtained. In some embodiments, a variety of other algorithms may be used, including but not limited to GCC, inverse fast Fourier transform, or any other suitable algorithm. The wireless device may then track the distance and / or velocity of the object using any suitable tracking algorithm 208. In one non-restrictive exemplary embodiment, the tracking algorithm 208 may include constructing a 2D likelihood tensor P(d0,v). The 2D likelihood tensor may be constructed, for example, using discretization and interpolation techniques, according to any of the techniques described above. The trajectory of the object may be estimated by finding one or more extrema of each likelihood tensor using the 2D likelihood tensor P(d0,v).
[0025] Figure 3A shows one exemplary embodiment of a wireless (BT or BLE) system 300 that, according to several embodiments, can support effective trajectory determination and tracking for fast and accurate localization of objects. The wireless system 300 may be a BL network, a BLE network, Wi-Fi or any other type of wireless network (e.g., PAN, WLAN, etc.). The wireless system 300 may include any number of host devices 302 (one host device is depicted for brevity). The host device 302 may be any desktop computer, laptop computer, tablet, telephone, smart TV, sensor, appliance, system controller (e.g., air conditioning, heating, hot water controller), component of a security system, medical testing or monitoring equipment, automotive equipment or any other type of device. The host device 302 may be coupled to each wireless device 304 (e.g., via wiring connections). For brevity, a single wireless device 304 is shown, but it should be understood that the host device 302 may be coupled to any number of such wireless devices (e.g., BLE wireless devices and Zigbee(R) wireless devices). In some embodiments, the wireless device 304 may be implemented as an integrated circuit (IC) device (for example, located on a single semiconductor die). In some embodiments, various modules and components may be optional or shared among multiple wireless devices coupled to a host device (for example, the antenna 306 and / or processor 352 may be shared among multiple wireless devices).
[0026] The wireless device 304 may transmit and receive radio waves (e.g., a detection signal or a radio frequency (RF) signal) using one or more antennas 306. The radio frequency (RF) signal received by antenna 306 may be processed by radio 310, which may include filters (e.g., a bandpass filter), a low-noise radio frequency amplifier, a down-conversion mixer, an intermediate frequency amplifier, an analog-to-digital converter, an inverse Fourier transform module, a non-analysis module, an interleaver, an error correction module, a scrambler, and other (analog and / or digital) circuits that may be used to process the modulated signal received by antenna 306. Radio 310 may further include a tone (frequency) generator to generate a radio signal with a selected tone. Radio 310 may also include an antenna control circuit to control access to one or more antennas 306 (including switching between antennas). Radio 310 may also include other radio control circuits, such as a phase measurement circuit and a tone selection circuit. A phase measurement circuit can perform phase measurement on the received signal, for example, IQ decomposition, and may include measuring the phase difference between the received signal and the local oscillator signal. A tone selection circuit can select a tone for transmission.
[0027] The radio 310 may provide the received (and digitized) signal to the components of the PHY 320. The received signal may transmit information relating to radio wave propagation (referred to in this specification as a detected value or signal value) to and from one or more return devices. The PHY 320 may support one or more operating modes, for example, a BLE operating mode. Although one PHY 320 is shown, there may be any appropriate number of PHY layers (each supporting a number of operating modes). The PHY 320 may convert the digital signal received from the radio 310 into a frame that can be supplied to the link layer 330. The link layer 330 may have many states, for example, advertise, scan, start, connect, and wait. The link layer 330 may convert the frame into a data packet. During transmission, data processing may occur in the opposite direction, with the link layer 330 converting the data packet into a frame, which is then converted into a digital signal by the PHY 320 to be supplied to the radio 310. The radio 310 may convert digital signals into radio signals and may transmit radio signals using the antenna 306. In some embodiments, the radio 310, PHY 320, and link layer 330 may be implemented as part of a single integrated circuit.
[0028] The wireless device 304 may include a protocol stack 340. The protocol stack 340 may include several protocols, for example, the Logical Link Control Adaptation Protocol (L2CAP), which may perform segmentation and reassembly of data packets generated by one or more applications 303 running on the host device 302. Specifically, L2CAP may divide data packets of any size into packets of a size and format that can be processed by the link layer 330 as output by the application 303. L2CAP may perform error detection operations. The protocol stack 340 may include a generic access profile (GAP) and a generic attribute profile (GATT). The GAP may specify how the wireless device 304 advertises itself on the wireless network, discovers other network devices, and establishes a wireless link with the discovered devices. The GATT may specify how data exchange can occur between two communication wireless devices once a connection between them is established. The protocol stack 340 may further include a security manager (SM) that controls how data pairing, signing, and encryption are performed. GATT may also use an attribute protocol (ATT) that specifies how units of data are transferred between devices. The wireless device 304 may also include other components not explicitly shown in Figure 3A, such as a host controller interface.
[0029] The wireless device 304 may include a controller 350, which may include one or more processors 352, such as a central processing unit (CPU), a finite state machine (FSM), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and the like. The processors 352 may also include custom logic and / or programmable logic or any combination thereof. In some embodiments, the controller 350 may be a single processing device that supports data transmission and reception and processes associated with distance (and / or angle) estimation calculations. In some embodiments, the wireless device 304 may have a dedicated processor for distance (and / or angle) estimation calculations, which is separate from the processor that performs other operations on the wireless device 304, such as processes associated with data transmission and reception.
[0030] The wireless device 304 may also include a power management unit (PMU) 370 for managing clock / reset and power resources. The wireless device 304 may further include an input / output (I / O) controller 380 to enable communication with other external devices and structures (including non-network devices). In some embodiments, the input / output controller 380 may include a general-purpose I / O (GPIO) interface, a USB interface, a serial digital interface (SDI), a PCM digital audio module, a general-purpose asynchronous transceiver (UART), and I 2 C, I 2 S or any other I / O component may be enabled.
[0031] The controller 350 may include a memory 360, which may be read-only memory (ROM) and / or volatile, such as random access memory (RAM) (or may include these). The memory 360 may store code and supporting data for the object localization engine 362, the data reconstruction engine 364, the tone selection engine 366, and other suitable engines. In some embodiments, any one or more of the engines may be located on the host device 302, as shown by the respective dashed boxes in Figure 3A. The engines may also operate in relation to a domain-specific application 303, which may be a device or asset tracking application, an indoor navigation application, an authentication application, or any other suitable application. The placement of engines 362 to 366 on the host device 302 or the wireless device 304 may be based on domain-specific criteria and power constraints. In embodiments where low latency is a high priority, engines 362 to 366 may be located on the wireless device 304. In other embodiments where reduced power consumption is advantageous, engines 362 to 366 may be located on the host device 302. In some embodiments, some engines (e.g., tone selection engine 366) may be located on the wireless device 304, while other engines (e.g., object localization engine 362 and data reconstruction engine 364) may be located on the host device 302.
[0032] Application 303 may use information about various objects located within the environment of the host device 302 / wireless device 304 (which in some embodiments may be implemented on a single platform or near each of them). This type of information may include distance to the object, orientation relative to the object, orientation of the object, or other arbitrary spatial characteristic data relative to the host device 302 / wireless device 304. The data may be provided by the object localization engine 362, which receives and processes the detected data, which is then reconstructed by the data reconstruction engine 364, for example, as detailed below. In some embodiments, the object localization engine 362 provides the tone selection engine 366 with an expected range of distances to the objects. The expected range of distances may depend on the specific application 303 supported by the operation of the wireless device 304. For example, in a key fob application, the distance range may be as high as a few meters, while in a warehouse product tracking application, the distance range may be tens of meters or more. Based on the range of received distances, the tone selection engine 366 may select a tone for a given detection event, which may be a tone separated by a uniform frequency increment, e.g., f0 + (k-1) × Δf. The tone selection engine 366 may further specify the total number N (e.g., k=1...N) of tones to be used. In some embodiments, the tone selection engine 366 may select a tone that maximizes the use of available bandwidth (e.g., BT bandwidth), a tone that maximizes the range of detection distance (e.g., narrowly spaced tones), or a tone that maximizes the accuracy of detection distance (e.g., widely spaced tones). In some embodiments, the tone selection engine 366 may select tones randomly or according to any predetermined pattern.
[0033] The selected tone may be provided to the protocol stack 340 (and link layers 330 and PHY 320), which may cause the radio 310 to generate a signal with the selected tone and transmit the generated signal to the external environment. The radio 310 may then receive reflected (returned) signals from various objects (other radio devices) in the environment and determine the phase shift experienced by the reflected signals by comparing the phase information transmitted by the reflected signals with the phase information of a local oscillator copy of the transmitted signal. The radio 310 may further determine the amplitude of the reflected signals. The amplitude and phase information may be provided (e.g., in the form of detected values) to a data reconstruction engine 364 that computes a covariance matrix. The data reconstruction engine 364 may include a position-velocity estimator 110 (as depicted in Figure 1). An object localization engine 362 may estimate the trajectory and perform tasks such as object tracking, object authentication, and maintaining communication with the object.
[0034] Figure 3B shows one exemplary embodiment of a wireless (WLAN) system 301 that, according to several embodiments, can support effective trajectory determination and tracking for fast and accurate localization of objects. Although the wireless system 300 has been described above in relation to a BT / BLE embodiment, a similar system may be used in relation to any WLAN (e.g., Wi-Fi) embodiment. In the WLAN wireless system 301, a suitable wireless medium access control (MAC) layer 332 may be used in place of the link layer 330, in addition to the WLAN-specific PHY layer 320 and protocol stack 340. In Wi-Fi and other WLAN systems, the sensing tone may be transmitted in a single packet.
[0035] Figure 4 shows an example of the operation flow 400 of reconstructing the detected value performed in the frequency and / or time domain according to several embodiments. As schematically depicted in Figure 4, the frequency selector 402 selects the detected time (event) t i A set of random frequencies {f j} may be selected. In some embodiments, the frequency selector 402 can select m frequencies out of the operating range of frequencies, e.g., the total number M of available frequencies. For example, the available frequencies can include a set of 1 MHz channels within the [2402 MHz, 2480 MHz] range of BT frequencies. In some embodiments, m = M, and in other embodiments, m < M. For each detection event, the frequency selector 402 may select l frequencies to be used in the detection signal, which is transmitted to and received from the return device. In some embodiments, l = m, and in other embodiments, l < m. In some embodiments, each frequency f j is randomly selected. In some embodiments, each frequency f j is pseudo-randomly selected. In particular, the selected frequencies may appear random to an external observer, but are deterministically generated, e.g., based on a secret key and / or any other arbitrary method agreed upon by the communication wireless devices (e.g., the device performing the tracking and the target device). In some embodiments, as detailed below, the probability of selecting a particular frequency f j may depend on the time elapsed since this frequency was last selected.
[0036] Next, the wireless device hosting the frequency selector 402 may prepare, transmit a detection signal having the selected frequencies, and receive a return signal having the same frequencies. The phase and amplitude information transmitted by the return signal is used by the wireless device to generate a limited set {r(f j ,t i )}404 of random detection values, where a portion of the l / m detection values is known while a portion of the (1 - l / m) detection values is unknown. In block 410, the wireless device performs reconstruction of the detection values, and as detailed below, a reconstructed set {R(f j ,t i)} may be obtained. In particular, the reconstruction of the detected value may include signal fold / unfold 412, path removal / recovery 414 and interpolation 416. In an embodiment of expanding frequency interpolation, the detected value {r(f j ,t i )} is first transformed using an appropriate fold transform, (temporarily) removing one or more strong paths of propagation, performing interpolation 416 to recover the removed paths of propagation, and finally, the full set of signals reconstructed using an unfold transform {R(f j ,t i )}420 may be obtained. Next, object tracking and / or trajectory estimation 430 may be performed from the reconstructed set of signals 420 using any suitable technique, including but not limited to any of the techniques described above. In embodiments where temporal interpolation is unfolded, the detected value {r(f j ,t i {R(f j ,t i )}420 may be obtained. In some embodiments, interpolation in the spectral representation may include using a low-pass filter 418.
[0037] Figure 5A shows the reconstruction of detection values from a limited set of detection signals of random frequencies 500 according to several embodiments. m detection frequencies f1, f2...f m A limited set of 504 detection values (depicted as a grid) obtained using (vertical axis) and multiple detection events / time (horizontal axis) is schematically shown. Each gray cell in the grid represents time t i During the detection event that occurs in the above location, the frequency f j The detection value r(f) is obtained using the detection signal having j ,t i) represents. Between each detection event, l detection values may be obtained corresponding to l frequencies selected for that particular event. In some embodiments, frequency f j These may be selected randomly or pseudo-randomly. The white cells in the limited set of detected values 504 depict the detected values (frequencies) that were not selected (and measured) during each event, and are therefore unknown. In some embodiments, a wireless device tracking another device (a return device) to obtain a reconstructed set of detected values 520 may perform the following actions:
[0038] In one non-limiting embodiment, each detection event t i For (i=1...n), the processing unit of the wireless device uses the l×l covariance matrix R jk (t i )=r(f j ,t i )r * (f k ,t i ) may be constructed. As a result, n covariance matrices 506 may be constructed. Next, using the covariance matrices 506, for example, a preliminary trajectory estimate 508 (d(t)=d0+vt) of the response device may be obtained, as described above. For example, the processing unit may obtain a steering vector a j (d) = exp[4πif j The covariance matrix R is determined by [d / c]. jk (t i ) construct a suitable evaluation means (e.g., likelihood tensor), and from the optimization of this means, the trajectory parameters d0 and v (or r → 0 and v →) may be determined. In some embodiments, the trajectory parameters can be determined using some other techniques, e.g., GCC method, correlation signals for different detection frequencies and events. In some embodiments, velocity and distance may be estimated using separate techniques, for example, velocity may be estimated from the correlation of signals acquired using the same detection frequency for different detection events, and distance may be estimated using a time-of-flight technique. In some embodiments, velocity may be estimated based on distance measured at two (or more) different times. In some embodiments, the estimation of distance and / or velocity may be improved by filtering techniques, e.g., using a Kalman filter or any similar filter. In some embodiments, all n covariance matrices 506 may be used for trajectory estimation. In some embodiments, only some of the covariance matrices 506 (e.g., 2, 3, etc.) may be used for trajectory estimation.
[0039] Next, using the determined parameters d0 and v, a steering vector 507 is generated for each of the n detection events, for example, a j (t i )=exp[4πif j (d0+vt i You can also obtain ) / c]. Next, using the obtained steering vector, you can create n available l×l covariance matrices R jk (t i Each of the (signal fold 510) may be transformed to obtain a set of n fold matrices. In one embodiment, this is the binomial product F of the steering vectors. jk (t i Covariance matrix R jk (t i This may be done by calculating the element-wise (Hadamard) multiplication of ). T jk (t i )=F jk (t i )R jk (t i ), F jk (t i )=a j (t i )a k * (t i )
[0040] Element T of the fold (transformation) covariance matrix jk (t i The signal may be dominated by one or more strong paths in signal propagation, such as line-of-sight paths, strong reflection paths (e.g., from nearby walls), etc. Since these kinds of strong paths can distort the reconstruction (interpolation) of weaker paths, the processing loop can perform path removal 512 of one or more strong paths in signal propagation. In some embodiments, the strong paths are determined by a given fold covariance matrix T jk (t i Determine the average element of ) and set that average element to T jk (t i The reduced fold matrix, for example, is obtained by subtracting from the original matrix.
number
[0041] Next, the obtained (first-order) reduced fold matrix R' jk , (t i ) may be used as part of the elimination loop indicated by the dashed arrow in Figure 5A. More specifically, the reduced covariance matrix R' jk (t i At least some of the new eigenvectors of ) are the trajectory parameters d'0 and v' (or r → '0 and v → ') may be calculated and used to update. Then, using the updated parameters d'0 and v', a steering vector 507, e.g., a' j (t i )=exp[4πif j (d'0+v't i) / c] may be updated. Next, using the obtained steering vectors, the n available l×l covariance matrix R jk (t i ) transform each or at least part of (signal fold 510) and a new set of fold matrices, e.g., T' jk (t i )=F' jk (t i )R' jk (t i ) is the binomial product F' of the updated steering vectors. jk (t i )=a' j (t i )a' k * (t i ) may be obtained using ). Next, the second strong path is the average element
number
number
[0042] After a predetermined number of paths have been removed, the processing unit of the wireless device may perform interpolation 514. For example, if two paths have been removed, interpolation 514 will perform interpolation 514 on a quadratic reduced covariance matrix R'' jk (t i) may be performed based on. In some embodiments, interpolation 514 may be performed in both the time domain and the frequency domain using, for example, linear interpolation, cubic interpolation, etc. For example, the covariance matrix is the difference of frequencies f j -f k function R" jk (t i )≒R”(f j -f k ,t i ) It may be assumed that this is the case. Fold matrix F jk (t i For this reason, this property may be satisfied by the structure, whereas the same may be considered approximated for the measured covariance matrix. Thus, the extended m × m reduced covariance matrix R''(f j -f k ,t i ) is a smaller size l×l n diminished covariance matrix R''(f j -f k ,t i It may be obtained from the available values of the covariance matrix R''(f j -f k ,t i ) is the frequency difference f j -f k R''(f) corresponds to ∈[-(l-1)Δf, (l-1)Δf] j -f k ,t i This may include information about (2l-1) different values of ). In some embodiments, each value R''(f j -f k ,t i ) is a predetermined difference f j -f k Multiple matrix elements R'' having jk (t i ) may be obtained by averaging (it is R" jk (t i (This may be visualized as elements belonging to the various lower-left / upper-right diagonals of the matrix). For example, in an l×l covariance matrix, (various f j and f k(due to) the difference f of the same value j -f k (l-|f j -f k There may be | / Δf) elements. j -f k ,t i ) may be obtained by averaging all (or a subset) of these elements.
[0043] Correspondingly, the extended m×m reduced covariance matrix R'' jk (t i ) is n detection times t i Interpolation may be performed from (2l-1) distinct values (generally non-adjacent) available for each of the values. Any suitable two-dimensional interpolation (e.g., bilinear interpolation, bi-Kubric interpolation) may be used. The output of interpolation 514 is the m × m reduced covariance matrix R'' jk (t i ) may be extended to ). Next, the processing unit of the wireless device may perform other loop processing (indicated by dashed arrows), including route recovery 516 and signal unfolding 518. For more details, see matrix R” jk (t i In an example where is a quadratic reduced matrix (obtained after removing two paths), path recovery 516 and signal unfolding 518 may be performed as follows:
number
[0044] The embodiment described in relation to Figure 5A is f j -f k and t i We unfold a two-dimensional interpolation in the space, with an additional approximation where the covariance matrix depends on the frequency difference. In some embodiments, the interpolation is performed in three-dimensional space f without any additional assumptions about frequency dependence. j ,f k t i It may be performed in [location].
[0045] Figure 5A and the corresponding description above illustrate one possible technique for obtaining a reconstructed set of 520 detected values, and various other variations of the reconstruction of detected values are within the scope of this disclosure. More specifically, as shown in Figure 5B, in some embodiments, the processing unit of the wireless device processes the covariance matrix R jk (t i Without forming a detected value r(f j ,t i Reconstruction may be performed directly based on the signal vector 505 consisting of ). In this type of embodiment, the detected value r(f j ,t i) can also be considered as n signal vectors (e.g., l constituent vectors) folded using the steering vector, and t(f j ,t i )=r(f j ,t i )a j (t i ) Next, one or more strong paths can be eliminated, for example, by subtracting one or more average values, as follows:
number
number
[0046] Figures 6A and 6B illustrate the frequency selection and reconstruction of detected values in the time domain according to several embodiments. In Figure 6A, m frequencies f1, f2...f mAn operating frequency range 602 having is schematically depicted (by a horizontal solid line), and the operating frequency range 602 may represent a subset of the entire available frequency range 604 (corresponding to both the horizontal solid and dashed lines). The operating frequency range 602 has adjacent frequency ranges, but this is not required, and any non-adjacent frequency ranges may be used.
[0047] Detection event t j Between each of these, one or more frequencies f j A frequency may be selected. For the sake of brevity and ease of explanation, we will show that only one frequency (as indicated by the black dots) is selected during each detection event. However, it should be understood that any number of frequencies may be selected during a single detection event. Since the detection signals using the selected frequencies may be transmitted sequentially, a single frequency signal is transmitted and received over a specific time (e.g., 0.3 ms). In some embodiments, detection signals of different frequencies may be transmitted and received in parallel. In some embodiments, a specific detection event, e.g., event t next Frequency selection for this may be performed probabilistically using the dynamic probability of selection 606. For example, the dynamic probability is for each frequency f j all time intervals τ max It may be constructed so that it is certain to be selected at least once during the time interval τ max During this time, N detection signals are transmitted and received (for example, N = τ max (0.3ms). Therefore, a specific frequency f j is time τ j Not selected for the next detection event t next Therefore, this frequency f j The file has probability P j is, τ j An increasing function, for example, P j =A / (τ max -τ j ') However, A can be any appropriately chosen coefficient. In some embodiments, τ max and τj Any other function can be used. In some embodiments, τ j ga τ max When it reaches or exceeds a certain value, to avoid a large value (infinity), probability P j It can be replaced with some fixed value.
[0048] The length of the horizontal bar in Figure 6A illustrates the concept of dynamic probability. For example, frequency f m It was not selected during any of the nine most recent detection events, and as a result, during the next detection event, frequency f m The probability of selecting frequency f3 is high. On the other hand, frequency f3 is selected during very recent detection events, and as a result, the probability of selecting frequency f3 is low.
[0049] In some embodiments, each of the (n=N-1) very recent detection events has a specific frequency f j If not selected, this frequency may be reliably selected during the next detection event. In some embodiments, the time interval τ is such that all m detection frequencies are likely to be selected during N consecutive detection events. max The number of detected events N during time τ may be sufficiently large (and therefore, time τ max (This can be sufficiently long). For example, if l frequencies are selected between each detection event, then on average, N / l detection events will be taken to select each detection frequency. Therefore, the time interval τ max The number of detection events N during this period may be at least N ≥ m / l. In some embodiments, the time interval τ maxThe number N of detection events between events may be substantially greater than m / l, reducing the likelihood of frequency "collisions." Frequency collisions relate to situations where more than l frequencies were not selected between any given detection events, during the last (N-1) detection events. Therefore, the number N may be chosen to be sufficiently large such that the probability of frequency collisions is less than the target threshold, which is, for example, less than 5%, less than 2%, or any other value set considering target accuracy based on the type and nature of the application 303 using device / object tracking. In some embodiments, the coefficient A in the example equation above can be chosen to normalize the probability as follows, resulting in one frequency being selected between each detection event.
number
[0050] Each black circle in Figure 6A represents the detection value r(f) measured when the corresponding detection signal returns. j ,t i ) may be associated with the result set {r(f j ,t i )} represents a limited set of 404 randomly detected values in Figure 4. Figure 6B shows the limited set {r(f j ,t i )} is defined for all frequencies within the operating range of frequency 602 {R(f j ,t i The interpolation up to the reconstructed set of 420 is shown. It should be understood that various interpolation schemes may be used to achieve the reconstruction of the detected values. In one non-restrictive example, interpolation may be performed using the Whittaker-Shannon technique. Specifically, unknown detected values, depicted by white circles in Figure 6B, may be replaced with zeros (padding 605). Then the padded detected values r pad (f j ,t i ) are the same frequency f j Associated with, t iThe different values of may undergo temporal interpolation 608, and the temporal interpolation 608 is performed over time t i Regarding the padded detection value r pad (f j ,t i Converting ) into a spectral representation (r pad (f j ,t i )→r pad (f j Apply a low-pass filter to restrict the spectral representation to spectral frequency Ω values below a certain threshold (Ω < Ω0), and then perform the inverse spectral transform to obtain the reconstructed detected values (r pad (f j , Ω < Ω0) → R(f j ,t i )) may be included. Any suitable low-pass filter may be used. For example, if a "brickwall" low-pass filter is used, the reconstructed detected value R(f j ,t i ) is the sink function sin(Ω0t i ) / [2πt i Using ], the padded detected value r pad (f j ,t i ) may be expressed by convolution. It should be understood that the brickwall low-pass filter is just one possible embodiment, and any other known low-pass filter may be used instead. In some embodiments, the low-pass filter may be adaptable. In some embodiments, a Wiener filter may be used in addition to (or instead of) the low-pass filter. This interpolation and filtering process may be performed for each time slice of padded detected values (indicated by the gray boxes in Figure 6B). The acquired reconstructed set of detected values {R(f j ,t i Using )}820, as described above, the trajectory of the returning object, for example, d(t) = d0 + vt or r → =r → 0+v →t may be determined. Numerous other variations of filtering using temporal interpolation 608 and low-pass filter 610 may be used. For example, in some embodiments, no inverse spectral transform is used, and trajectory determination is performed on the filtered spectral representation r of the padded detected values. pad (f j It may also be performed directly based on Ω < Ω0). In some embodiments, any suitable interpolation in the time domain (e.g., linear interpolation or cubic interpolation) may be used instead of padding 605.
[0051] In some embodiments, reconstruction involves a time lag t. lag It may be performed in conjunction with the following: For example, at time t, the reconstruction may be performed using the detected values obtained up to the current time t, at time tt lag It may be performed up to time t. This can increase the accuracy of the reconstruction. More specifically, when the reconstruction is performed up to time t, most of the frequency f j It may have detection values that are unknown for very recent detection events. As shown in Figure 6B, only one frequency f3 is associated with detection values acquired during very recent detection events. Consequently, the reconstruction of detection values for very recent detection events (for all frequencies other than f3) may include extrapolation from past detection events (black circles). On the other hand, the reconstruction may have detection values for time tt lag When executed for detection events up to tt, additional frequencies f6 and f7 are used at time tt lag The detected value is obtained between and t. As a result, reconstruction of more frequencies (e.g., f3, f6, and f7) is possible (time tt). lag (Previously obtained) Past detection values and (Time tt lag This may include interpolation between the "future" detected values (obtained between time t and time t). This type of delay-based interpolation reconstruction is more accurate than (delay-free) extrapolation reconstruction and may be preferred when accuracy in trajectory determination is important. In some embodiments, (delay-free) extrapolation reconstruction may be performed when the speed of trajectory determination is more important than accuracy.
[0052] Figure 7 illustrates the advantages of using a low-pass filter in reconstructing the detected value in the time domain according to several embodiments. The environment 700 of the radio device 702 located in a vehicle includes a return device 704 (e.g., a key fob carried by the vehicle owner) and a wall 706 that can reflect the radio signal. The return device 704 is moving toward the radio device 702 at a speed of 5 km / h. Three paths of radio signal propagation include a direct line-of-sight (LoS) path that experiences shadowing 710, a strong reflection 712 from the wall 706, and a weak reflection 714 from the ground. Figure 7 also shows an estimation of the distance from the radio device to the return device 704 in a situation where the distance from the radio device to the wall 706 is approximately 13 m. The image on the left 708 is a heatmap depicting the detected (test) distance d to the return device 704 as a function of the exact distance D between the radio device 702 and the return device 704, detected using temporal interpolation of the detected signal without low-pass filtering. As a result of the presence of multiple signal propagation paths, multiple distances d are detected. More specifically, line 710-1 corresponds to the direct LoS path (d1=D), line 712-1 corresponds to the signal reflected from the wall (d2=26m-D), and line 714-1 corresponds to a combination of lines 712-1 and 714 (d3=13m). This type of combination can occur when a sensing signal from wireless device 702 propagates through the LoS path to return device 704, and the return signal is reflected by wall 706 (or vice versa). An additional ghost line 716 (d2=15m+D) is d at a frequency step Δf=10MHz. max The maximum resolution distance is c / 2Δf=15m, which is caused by distance aliasing. Image 720 on the right is a heatmap depicting the detection (test) distance d to the same return device 704 in an embodiment using low-pass filtering. As shown in Image 720 on the right, removing the lower portion of the spectral representation of the reconstructed set of detection values removes the ghost lines 716 that are present in Image 708 on the left without filtering.
[0053] Figures 8 to 9 are flowcharts of example methods 800 to 900 that, according to several embodiments, use a sensing signal having a random frequency for effective determination and tracking of the trajectory of an object in the environment of a wireless device. Methods 800 to 900 may be performed to identify the distance to one or more objects in the external environment. Methods 800 to 900 may be performed by a BT wireless device, a BLE wireless device, a WLAN wireless device, or any other suitable wireless device or apparatus. The wireless device may also include a radio configured to transmit multiple sensing radio waves, e.g., Bluetooth sensing waves, Bluetooth slow energy sensing waves, or Wi-Fi sensing waves, using one or more antennas. Methods 800 to 900 may be performed by a wireless controller of the wireless device, e.g., controller 350 in Figure 3A. The controller may include memory (e.g., memory 360) and a processing device (e.g., processor 352) communication-coupled to the memory. The processing device may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), firmware and / or software or any combination thereof. The controller 350 may receive data from the radio 310, the PHY 320, and other components / modules. In some embodiments, the processing device performing methods 800 to 900 may execute instructions of the data reconstruction engine 364. In certain embodiments, each of methods 800 to 900 may be performed by a single processing thread. Alternatively, each of methods 800 to 900 may be performed by two or more processing threads, each thread performing one or more individual functions, routines, subroutines, or operations of the corresponding method. The processing threads performing methods 800 to 900 may be synchronized (e.g., using semaphores, critical sections, and / or other thread synchronization mechanisms). Alternatively, the processing threads performing methods 800 to 900 may be executed asynchronously with respect to each other. The various operations of methods 800 to 900 may be performed in a different order compared to the instructions shown in Figures 8 to 9.Some operations in methods 800 to 900 may be performed in parallel with other operations. Some operations may be optional.
[0054] Figure 8 is a flowchart of an example method 800 that uses the reconstruction of detection values from a limited set of detection signals of random frequencies, according to several embodiments. Method 800 may also include collecting detection data for multiple detection events by a wireless device. More specifically, in block 810, Method 800 includes a set of detection values (e.g., set {r(f j ,t i This may include obtaining )}). The set of detected values may include multiple subsets of detected values. Each subset of detected values may be selected for each of multiple detection events, e.g., detection event t1, detection event t2, etc. Each subset of detected values may be associated with each subset of a set of operating frequencies. For example, subsets of detected values r(f1, t1), r(f2, t1)... may be associated with subsets f1, f2... of operating frequencies (e.g., BT frequency range) selected during detection event t1. In some embodiments, each subset of frequencies f1, f2... is selected pseudo-randomly. Each subset of frequencies may be known to the return device (e.g., the tracked device). In some embodiments, the number of selected frequencies may be 8, 10, etc., or for detection event t i Any other number is acceptable.
[0055] In block 820, method 800 may continue to obtain a preliminary estimate of the return device's trajectory (e.g., d(t) = d0 + vt). For example, the wireless device may determine a likelihood tensor (e.g., P(d,v)) using two or more subsets of the detected values, and use the likelihood tensor to obtain a preliminary estimate of the trajectory as detailed above. In block 830, method 800 may continue to obtain a fold representation of the set of detected values using the preliminary estimate of the return device's trajectory. The fold representation may be any appropriate representation of the detected values, e.g., a fold covariance matrix of the detected values, a fold vector of the detected values, etc. In addition, the fold representation may be any of the above (or additional) examples with one or more paths removed, for example, the fold representation may be a set of matrices R' with a single path removed. jk (t i ), the set of matrices R after removing two paths. jk (t i ) may also include such as.
[0056] In particular, obtaining a fold representation of a set of detected values, as shown in the upper callout portion of Figure 8, may involve one or more iterations. Each of the one or more iterations may involve performing the operations of blocks 832 to 836 for each of several subsets of detected values. More specifically, in block 832, the processing device of the wireless device may apply the fold transformation to a first representation of each subset (or at least several subsets) of detected values. For example, the first representation of a subset of detected values may be a covariance matrix for each subset of detected values, e.g., R, as detailed in relation to Figures 9A and 9B. jk (t i ) or vector of detected values (r(f j ,t i )) may include a fold transformation (e.g., transformation T jk (t i )=R jk (t i )F jk (t i)) may be based on a preliminary estimation of the trajectory. In particular, a fold transform (e.g., F jk (t i )) is the first representation of each subset of the detected values (for example, R jk (t i Applying this to the steering vector (for example, a j (t i ), a k * (t i This may include applying the )) to each subset of the detected values (for example, R jk (t i )F jk (t i ), here, F jk (t i )=a j (t i )a k * (t i )). In some embodiments, the phase of the steering vector (for example, a j (t i )=exp[4πif j (d0+vt i ) / c]) is the distance to the return device (for example, when detecting event t i When d = d0 + vt i ) may depend on the distance to the return device d0+vt. i This may be obtained using a preliminary estimation of the return device's trajectory.
[0057] In block 834, method 800 subtracts a value determined by considering multiple elements of the folded first representation of each subset of the detected value from each of the multiple elements of the folded first representation of each subset of the detected value, thereby obtaining a second representation of each subset of the detected value (for example,
number
number
[0058] In block 840, the processing device for the wireless device uses a fold representation of the set of detected values to reconstruct the set of detected values (e.g., matrix R jk (t i )) may be generated. In some embodiments, the fold representation of a set of detected values may include each of the fold representations of multiple subsets of detected values. (For example, different detected events t i Set of matrices R for jk (t iThe reconstructed set may include reconstructed sense values for at least a portion (or all) of the set of operating frequencies and for at least a portion of the multiple sense events. Generating a reconstructed set of sense values using a fold representation of the set of sense values, as shown in the lower callout portion of Figure 8, may include performing interpolation in block 842 using fold representations for each of the multiple subsets of sense values. In some embodiments, the interpolation is performed between two or more frequencies of the set of operating frequencies. In some embodiments, the interpolation may be further performed between two or more of the multiple sense events. In block 844, the processing device may apply an unfold transform to the interpolated fold representation, and in block 846, it may recover one or more paths of signal propagation between the radio device and the return device. For example, recovering one or more paths may involve the previously subtracted average value
number
[0059] In block 850, method 800 may include determining one or more spatial characteristics of the return device using a reconstructed set of detected values. In some embodiments, the operation of block 850 may be any other operation that determines the distance to the return device, the velocity of the return device, the trajectory of the return device, e.g., a set of distances and / or velocities of the return device over a set of time, the direction relative to the return device, etc., using any suitable method, e.g., a method using uniform frequency steps or uniform time steps, e.g., MUSIC.
[0060] Figure 9 is a flowchart of an example method 900 that uses frequency selection and reconstruction of detected values in the time domain for effective tracking of a wireless device, according to several embodiments. Method 900 may include collecting detected data for multiple detected events by blocks 910 to 930, which are repeated for each detected event. More specifically, in block 910, Method 900 uses one or more frequency f by the wireless device (or processing unit of the wireless device). j This may include probabilistically selecting the frequencies. In some embodiments, the number of selected frequencies may be 8, 10, or the number of detected events t i This can be any other number. In some embodiments, one or more frequencies f j Each frequency is selected by a probability determined by taking into account the time elapsed since the previous selection of that frequency (or the number of detection events that have occurred). For example, the probability of selecting a particular frequency may increase with the time elapsed since the previous selection of that frequency. In some embodiments, the target time interval (e.g., as described in relation to Figures 6A to 6B, τ) is used. max The probability of selecting a specific frequency over a certain period is at least a threshold probability, e.g., 95%, 98%, etc. In some embodiments, the threshold probability is 1 (100% probability). In some embodiments, the target time interval is the expected maximum speed v of the return device. max Taking this into consideration, for example, τ max =c / (2f j v max) is determined. In some embodiments, frequency selection may be performed probabilistically, for example, pseudorandomly. In some embodiments, method 900 may include communicating one or more selected frequencies to a return device. For example, the wireless device may select a number of frequencies (e.g., 1, 2, 4, 10, etc.) and notify the return device of the selected frequencies (e.g., between one exchanging sensing signals with the return device, or via separate communications). In some embodiments, the probabilistic selection of frequencies may be performed during the actual tracking of the wireless device. In some embodiments, the probabilistic selection may be performed before tracking the wireless device. For example, the initiator device may exchange with the wireless device one or more parameters of a previously selected frequency or frequency selection algorithm. The parameters may include one or more seeds for a random generation function (or similar parameters) that define the starting point of a pseudorandom number sequence.
[0061] In block 920, method 900 uses a wireless device, for example, a wireless module, to transmit one or more selected frequencies f j The method may continue to transmit a set of detection signals having . In block 930, the method 900 may include the wireless device obtaining a set of detection values that characterize a return detection signal generated by the return device in response to receiving a set of detection signals. Different detection events t i All of the set of detected values obtained for this purpose are a random and limited set of detected values in Figure 4 {r(f j ,t i )}404 may be configured.
[0062] In block 940, method 900 is (limited set {r(f j ,t i Using the acquired set of detected values (which together constitute {R(f j ,t iThis may include generating )}). The reconstructed set of detected values may include multiple subsets. For example, a first (second, etc.) subset of the reconstructed set may include one or more frequencies {f j A first frequency f1 (or second frequency f2, etc.) of} is associated with a first frequency f1 (or second frequency f2, etc.), and is generated using the detected value associated with the first frequency f1 (or second frequency f2, etc.), and may be acquired between one or more of a set of detected events (e.g., multiple detected events t1, t2, etc.). In some embodiments, a first (or second, etc.) subset of the reconstructed set of detected values is generated using interpolation from the detected value associated with the first frequency (or second frequency, etc.), and is acquired between one or more of a set of detected events. In some embodiments, as depicted by the callout portion in Figure 9, in block 942, the interpolation may include acquiring a padded subset of detected values by representing unknown detected values associated with the first (or second, etc.) frequency with zero values. In block 944, the interpolation may further include applying a low-pass filter to remove portions of the spectral representation of the padded subset of detected values.
[0063] In block 950, method 900 may include determining the estimated trajectory of the return device using a reconstructed set of detected values. In some embodiments, the operation of block 950 may include any other operation to determine the distance to the return device, the velocity of the return device, the trajectory of the return device, for example, a set of distances and / or velocities of the return device over a set of time, etc., using any suitable method, e.g., MUSIC, GCC, etc.
[0064] It should be understood that the above description is illustrative and not intended to limit. Many other embodiments will be apparent to those skilled in the art upon reading and understanding the above description. While this disclosure provides specific examples, it should be recognized that the systems and methods of this disclosure are not limited to the examples described in this specification and may be implemented with modifications within the scope of the attached claims. Accordingly, the specification and drawings should be considered illustrative rather than restrictive. Therefore, the scope of this disclosure should be determined with respect to the attached claims, together with the entire scope of equivalents entitlement to this type of claim.
[0065] The methods, hardware, software, firmware, or code embodiments described above may be implemented via instructions or code stored on a machine-accessible, machine-readable, computer-accessible, or computer-readable medium that is executable by a processing element. "Memory" includes any mechanism for providing (i.e., storing and / or transmitting) information in a machine-readable form, such as a computer or electronic system. For example, "Memory" includes random-access memory (RAM), such as static RAM (SRAM) or dynamic RAM (DRAM), ROM, magnetic or optical storage media, flash memory elements, electronic storage devices, optical storage devices, acoustic storage devices, and any type of tangible machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine-readable form.
[0066] Throughout this specification, any reference to “one embodiment” or “embodiment” means that a particular feature, structure, or characteristic described in relation to an embodiment is included in at least one embodiment of the disclosure. Therefore, occurrences of the phrase “one embodiment” or “in an embodiment” in various places throughout this specification do not necessarily all refer to the same embodiment. Furthermore, in one or more embodiments, particular features, structures, or characteristics may be combined in any suitable manner.
[0067] In the above-mentioned specification, detailed descriptions have been given with reference to specific exemplary embodiments. However, it is evident that various modifications and changes may be made, as described in the appended claims, without departing from the broader spirit and scope of the disclosure. Therefore, the specification and drawings should be considered illustrative rather than restrictive. Furthermore, the above-mentioned uses, embodiments and / or other exemplary language of embodiments may refer to different embodiments and potentially the same embodiments, not necessarily the same embodiments or examples.
[0068] The terms “example” or “exemplary” as used in this specification are used to mean that they serve as examples, illustrations, or explanations. Any aspect or design described in this specification as “example” or “exemplary” is not necessarily construed as being preferable or advantageous to other aspects or designs. Rather, the use of the terms “example” or “exemplary” is intended to present the concept in a specific way. When used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless otherwise specified or made clear from the context, “X includes A or B” is intended to mean any of the natural inclusive sortings. That is, “X includes A or B” is satisfied in any of the above examples if X includes A, X includes B, or X includes both A and B. In addition, the singular indefinite article used in this application and the attached claims should generally be construed as meaning “one or more” unless otherwise specified or made clear from the context. Furthermore, throughout this specification, the use of the terms “embodiment” or “one embodiment” is not intended to mean the same embodiment unless otherwise stated. Also, terms such as “first,” “second,” “third,” and “fourth” used in this specification are intended as labels to distinguish between different elements and do not necessarily have an ordinal meaning according to their numerical designation.
Claims
1. A wireless device obtains a set of detection values characterizing a return detection signal received from a return device, wherein the set of detection values comprises a plurality of subsets of detection values, each of which subsets of detection values is associated with a subset of a set of operating frequencies, and each subset is selected for each of a plurality of detection events. The steps include obtaining a preliminary estimate of the trajectory of the return device, The steps include obtaining a fold representation of the set of detected values using the preliminary estimation of the trajectory of the return device, A step of generating a reconstructed set of detected values using the fold representation of the set of detected values, wherein the reconstructed set comprises reconstructed detected values for at least a portion of the set of operating frequencies and for at least a portion of the plurality of detected events. The steps include determining one or more spatial characteristics of the return device using the reconstructed set of detected values, Includes, The elements T jk (ti) of the fold covariance matrix of the aforementioned fold representation are expressed by multiplying the covariance matrix R jk (ti) of the detected value r (f j, ti) by the binomial product F jk (ti) of the steering vector. method.
2. Each subset of the set of operating frequencies is selected pseudo-randomly, and the selected subset is known to the return device. The method according to claim 1.
3. The step of obtaining the fold representation of the set of detected values includes one or more repetitions, each of which is For each of the plurality of subsets of the detected values, Applying a fold transform to fold the first representation of each subset of the detected values, wherein the fold transform is based on the preliminary estimation of the trajectory. Obtaining a second representation of each subset of the detected value by subtracting a value determined by considering multiple elements of the folded first representation of each subset of the detected value from each of the multiple elements of the folded first representation of each subset of the detected value, Using two or more second representations of the subset of the detected values, one or more spatial characteristics of the return device are obtained. including, The method according to claim 1.
4. The first representation of each of the subsets of the detected values comprises a covariance matrix for each of the subsets of the detected values. The method according to claim 3.
5. Applying the fold transformation to the first representation of each of the subsets of the detected values includes applying the steering vector to each of the subsets of the detected values. The phase of the steering vector depends on the distance to the return device. The distance to the return device is obtained using the preliminary estimation of the trajectory of the return device. The method according to claim 3.
6. The fold representation of the set of detected values comprises each of the fold representations of the plurality of subsets of the detected values, Generating a reconstructed set of detected values using the fold representation of the set of detected values includes performing interpolation using the fold representation for each of the plurality of subsets of the detected values. The method according to claim 1.
7. The interpolation is performed between two or more frequencies of the set of operating frequencies. The method according to claim 6.
8. The interpolation is further performed between two or more of the multiple detection events. The method according to claim 7.
9. Using the fold representation of the set of detected values to generate the reconstructed set of detected values, Applying an unfold transformation, To recover one or more paths of signal propagation between the wireless device and the return device, Further including, The method according to claim 6.
10. For each of the multiple detection events, The wireless device selects one or more frequencies, The steps include: transmitting a set of detection signals having one or more selected frequencies using the wireless device; A step of obtaining a set of detection values characterizing a return detection signal using the wireless device, wherein the return detection signal is received from the return device in response to the transmitted set of detection signals. A step of generating a reconstructed set of detected values, wherein a first subset of the reconstructed set of detected values is associated with a first frequency of one or more frequencies and is generated using a first subset of acquired detected values, and the first subset of acquired detected values is associated with a first frequency and is acquired between one or more of the plurality of detection events, The steps include determining one or more spatial characteristics of the return device using the reconstructed set of detected values, A method including, Each of the one or more frequencies is selected using a probability that increases with time since the previous selection of each frequency. The method further includes the step of communicating the one or more frequencies selected by the wireless device to the return device. method.
11. For each of the multiple detection events, The wireless device selects one or more frequencies, The steps include: transmitting a set of detection signals having one or more selected frequencies using the wireless device; A step of obtaining a set of detection values characterizing a return detection signal using the wireless device, wherein the return detection signal is received from the return device in response to the transmitted set of detection signals. A step of generating a reconstructed set of detected values, wherein a first subset of the reconstructed set of detected values is associated with a first frequency of one or more frequencies and is generated using a first subset of acquired detected values, and the first subset of acquired detected values is associated with a first frequency and is acquired between one or more of the plurality of detection events, The steps include determining one or more spatial characteristics of the return device using the reconstructed set of detected values, Includes, Each of the one or more frequencies is selected by a probability over a target time interval that is at least a threshold probability. The target time interval is determined considering the expected maximum speed of the return device. method.
12. A second subset of the reconstructed set of detected values is associated with a second frequency of the one or more frequencies and is generated using the second subset of the acquired detected values. The second subset of the acquired detection values is associated with the second frequency and is acquired during at least one of the plurality of detection events. The method according to claim 10 or 11.
13. For each of the multiple detection events, The wireless device selects one or more frequencies, The steps include: transmitting a set of detection signals having one or more selected frequencies using the wireless device; A step of obtaining a set of detection values characterizing a return detection signal using the wireless device, wherein the return detection signal is received from the return device in response to the transmitted set of detection signals. A step of generating a reconstructed set of detected values, wherein a first subset of the reconstructed set of detected values is associated with a first frequency of one or more frequencies and is generated using a first subset of acquired detected values, and the first subset of acquired detected values is associated with a first frequency and is acquired between one or more of the plurality of detection events, The steps include determining one or more spatial characteristics of the return device using the reconstructed set of detected values, Includes, The first subset of the reconstructed set of detected values is generated using interpolation from the first subset of the acquired detected values. The aforementioned interpolation is, By representing the unknown detected values associated with the first frequency with zero values, a padded subset of the detected values is obtained. Applying a low-pass filter to remove a portion of the spectral representation of the padded subset of the detected values, including, method.
14. A radio configured to transmit multiple radio frequency (RF) signals, each of which is transmitted according to the Bluetooth, Bluetooth Low Energy, or Wi-Fi protocol, Memory and A processing device coupled to the memory, A device equipped with, The processing device is In response to the transmitted RF signal, a set of signal values is obtained that characterizes the return RF signal received from the return device and comprises multiple subsets of signal values. Obtain a preliminary estimate of the trajectory of the return device, Using the preliminary estimation of the trajectory of the return device, a fold representation of the set of signal values is obtained. Using the fold representation of the set of signal values, a reconstructed set of signal values is generated. Using the reconstructed set of signal values, one or more spatial characteristics of the return device are determined. It is configured in such a way, The elements T jk (ti) of the fold covariance matrix of the aforementioned fold representation are expressed by multiplying the covariance matrix R jk (ti) of the detected value r (f j, ti) by the binomial product F jk (ti) of the steering vector. Device.
15. To obtain the fold representation of the set of signal values, the processing device performs one or more iterations, and each of the one or more iterations is For each of the plurality of subsets of the signal values, Applying a fold transform to fold a first representation of each subset of the signal values, wherein the fold transform is based on the preliminary estimation of the trajectory. Obtaining a second representation of each subset of the signal value by subtracting a value determined by considering the multiple elements of the folded first representation of each subset of the signal value from each of the multiple elements of the folded first representation of each subset of the signal value, Obtaining one or more spatial characteristics of the return device using two or more of the second representations of the subset of signal values, Equipped with, The apparatus according to claim 14.
16. The fold representation of the set of signal values comprises each of the fold representations of the plurality of subsets of the signal values, Using the fold representation of the set of signal values, the processing device generates a reconstructed set of signal values, For each of the plurality of subsets of the signal values, interpolation is performed using the fold representation. Apply the unfold transformation, To recover one or more paths of signal propagation between the wireless device and the return device, The apparatus according to claim 14.
Citation Information
Patent Citations
Nulling-widening broadband robust adaptive beamforming method
CN109143190A
Distance measuring apparatus, distance measuring method, reflector and communication system
JP2009080133A
Method for estimating source and source estimation device
JP2016080589A
Distance measurement device, distance measurement system, and distance measurement method
JP2020026970A
Frequency subband channel estimation
JP2020500467A