The following description relates to using over-the-air signals for passive motion detection.
Motion detection systems have been used to detect movement, for example, of objects in a room or an outdoor area. In some example motion detection systems, infrared or optical sensors are used to detect movement of objects in the sensor's field of view. Motion detection systems have been used in security systems, automated control systems and other types of systems.
In some aspects of what is described, a wireless sensor device (e.g., a listening device) eavesdrops on over-the-air signals (e.g., wireless signals) exchanged between network devices in a space. In some cases, the over-the-air signals include either beamforming reports, physical (PHY) frames including preambles or training symbols, or both. In some instances, the listening device is able to extract movement or motion information through examination of available over-the-air information normally exchanged by wireless devices communicating among each other. Motion may be detected based on the extracted movement or motion information. The listening device may obtain over-the-air information exchanged between wireless devices without the listening device having any association to the wireless network on which the over-the-air information is being exchanged. In this case, the over-the-air information may be used to sense motion of objects in a remote environment, in a passive manner. In some cases, by examining beamforming dynamic information exchanged between devices, a motion detection region may be constrained to the space or environment in which the communicating wireless devices reside. In some instances, this allows the listening device to be placed anywhere within listening range of the communicating wireless devices.
The systems and techniques described here may provide one or more advantages in some instances. For example, the listening device may provide passive motion sensing so the motion detection may be performed discretely, e.g., by law enforcement, security, etc. Further, the listening device may passively detect motion based on wireless communication devices communicating using known protocols or processes (e.g., aspects of the IEEE 802.11 standard) implemented on commercially available wireless communication devices. In some instances, motion may be detected within a geographically constrained sensing area regardless of placement of the listening device.
In some aspects of what is described, over-the-air information is exchanged among wireless devices according to the IEEE 802.11ax standard. In the IEEE 802.11ax standard, a downlink transmission can occur from an access point device to wireless devices associated with the access point device. The downlink transmission can include a High-Efficiency Long Training Field” PHY frame, also known as HE-PHY frame, that is addressed to the wireless devices. The HE-PHY frame of the downlink transmission can include a trigger frame. The access point device can allocate respective subsets of subcarriers, or resource units (RUs) to the respective wireless devices, and the trigger frame can include an indication of the resource unit allocation. The wireless devices transmit an uplink-orthogonal frequency-division multiple access (UL-OFDMA) transmission to the access point device in response to receiving and processing the trigger frame. In the UL-OFDMA transmission, the wireless devices transmit respective HE-PHY frames to the access point device simultaneously using their respective subset of subcarriers. The listening device (or any other device) receiving the downlink HE-PHY frame and the UL-OFDMA transmission can use these transmissions to sense motion of objects in an environment. The systems and techniques described here may provide one or more advantages in some instances. For example, since the UL-OFDMA transmission allows the wireless devices to transmit respective HE-PHY frames to the access point device simultaneously, a single UL-OFDMA transmission can be used to compute multiple channel responses associated with different motion detection zones in the environment. Consequently, motion of objects in multiple motion detection zones can be sensed simultaneously.
Beamforming dynamic information may be indicative of the behavior of, or information generated or used by, wireless communication devices in performing beamforming operations over time. For example, beamforming dynamic information may include feedback or steering matrices generated by wireless communication devices communicating according to an IEEE 802.11 standard (e.g., the IEEE 802.11-2012 standard or the IEEE 802.11ac-2013 standard). By analyzing changes in the beamforming dynamic information of wireless communication devices, motion in the space may be inferred/detected. For example, in some implementations, feedback and steering matrices generated by wireless communication devices in a beamforming wireless communication system may be analyzed over time to detect changes in the estate (which may be caused by motion of an object). Beamforming may be performed between devices based on some knowledge of the channel state (e.g., through feedback properties generated by a receiver), which can be used to generate one or more steering properties (e.g., a steering matrix) that are applied by a transmitter device to shape the transmitted beam/signal in a particular direction or directions. Thus, changes to the steering or feedback properties used in the beamforming process indicate changes in the channel state, which may be caused by moving objects in the space accessed by the wireless communication system.
In some implementations, for example, a steering matrix may be generated on a transmitter device (beamformer) based on a feedback matrix communicated to the transmitter device by a receiver device (beamformee), derived from channel sounding. Because the steering and feedback matrices are related to propagation characteristics of the channel, these matrices change as objects move within the channel. Changes in the channel characteristics are accordingly reflected in these matrices, and by analyzing the matrices, motion can be detected, and different characteristics of the detected motion can be determined.
Channel sounding may refer to the process performed to acquire Channel State Information (CSI) from each of the different receiver devices in a wireless communication system. In some instances, channel sounding is performed by sending training symbols (e.g., a null data packet (NDP) as specified in the IEEE 802.11ac-2013 standard) and waiting for the receiver devices to provide feedback that includes a measure of the channel. In some instances, the feedback includes a feedback matrix calculated by each of the receiver devices. This feedback may then be used to generate the steering matrix used to pre-code the data transmission by creating a set of steered beams, which may optimize reception at one or more receiver devices. The channel sounding process may be performed repeatedly by a wireless communication system. The steering matrix may therefore repeatedly update, such as, for example, to minimize the impact of the propagation channel change to the data transmission quality. By observing changes in the steering matrix (or feedback matrix) over time, motion by an object in the channel can be detected. Further, in some cases, different categories of motion (e.g., human motion vs. dog/cat motion) can be identified.
Changes in the beamforming or feedback matrices can be determined in a number of ways. In some cases, for example, a variance for each entry in the matrix is analyzed, or the linear independence of matrix columns (e.g., rank). This information can, for example, allow for determining a number of independently fading paths present in the channel. In some cases, if the coefficients of this linear independence are changing, the changes could be due to a moving object restricted to a certain zone. If the number of linearly independent columns itself changes, the changes could be due to wide-spread changes across the channel, allowing different kinds of multipath to be created and destroyed. In some cases, the time series of this inter-column correlation can be analyzed to determine, for example, how slow or fast these changes are occurring.
In some instances, the beamforming is performed according to a standardized process. For example, the beamforming may be performed according to an IEEE 802.11 standard (e.g., 802.11n, 802.11ac, 802.11ax standards, etc.). The beamforming may be an optional or mandatory feature of the standard. Beamforming may be performed according to another standard, or in another manner. In some cases, the 802.11 standard applies adaptive beamforming using multi-antenna spatial diversity to improve data transmission quality between network nodes. Moving objects change spatial characteristics of the environment by changing multipath propagation of transmitted wireless signals. As a result, such movement can influence a beamforming steering configuration performed by a device according to the 802.11 standard. By observing how the spatial configuration (e.g., beamforming) of the beamformer changes over time (e.g., via the steering matrix generated by the beamformer based on a feedback matrix), physical motion within the area covered by wireless transmission may be detected.
In some implementations, the beamformee 120 determines channel state information (CSI) 124 based on the wireless signal(s) received at the receiver 122. The beamformee 120 then computes, using the feedback matrix calculator 126, a feedback matrix 104 based on the CSI 124. In some cases, the feedback matrix calculator 126 generates a feedback matrix 104 that is indicative of conditions of the channel 130. Therefore, changes within the feedback matrix 104 over time may be indicative of changes in conditions of the channel 130, which in turn may be correlated to changes occurring in a spatial region spanned by the channel 130 (e.g., a zone between the beamformer 110 and beamformee 120). As a consequence, changes within the feedback matrix 104 over time may be used to wirelessly sense changes occurring in the spatial region spanned by the channel 130. As an example, changes within the feedback matrix 104 over time may be used for motion detection (e.g., presence, location, or intensity of motion), presence detection, gesture detection, and other applications.
The feedback matrix 104 is sent by the beamformee 120 to the beamformer 110. In some cases, the feedback matrix 104 is sent to the beamformer 110 in a compressed format (e.g., as a compressed version of the feedback matrix 104 computed by the feedback matrix calculator 126). In some implementations, the feedback matrix calculator 126 generates a V-matrix or a compressed V-matrix (CV-matrix). The beamformer 110 then generates, using the steering matrix calculator 116, a steering matrix 114 based on the feedback matrix 104. The steering matrix 114 is then used by the transmitter 112 to focus or steer the next wireless signal transmission to the beamformee 120.
In some implementations, the beamforming process performed by the system 100 is based on a standard, such as, for example, an IEEE 802.11 standard. In some cases, the beamforming system 100 can be modeled by Equation (1):
yk=HkQkxk+n (1)
where xk represents a vector [x1, x2, . . . , xn] transmitted in subcarrier frequency k by the transmitter 112, yk represents a vector [y1, y2 . . . , yn] received by the receiver 122, Hk represents a channel response matrix for subcarrier frequency k of dimensions NRX×NTX (where NRX is the number of antennas at the receiver and NTX is the number of antennas at the transmitter), Qk is a steering matrix applied to the transmitted signal xk and having dimension NTX×NSTS (where NSTS is the number of elements in xk), and n represents white (spatially and temporally) Gaussian noise.
In some implementations, explicit beamforming may be used. For example, explicit beamforming requires explicit feedback from the beamformee 120 of the current channel state. In such implementations, the beamformee 120 computes the channel matrices Hk based on the Long Training Field (LTF) included in a null data packet transmitted by the beamformer 110 to the beamformee 120. The channel matrices Hk may then be encoded into a matrix Vk. In some cases, the matrix Vk is sent by the beamformee 120 to the beamformer 110 in a Beamforming Report Field using an Action No Ack Management Frame. The beamformee 120 may also perform a similar beamforming process to determine a steering matrix for sending beamformed signals to the beamformer 110.
The wireless communication network system 200 may include one or more wireless devices 220A, 220B, 220C, 220D and a wireless access point (AP) 230. The wireless devices 220A, 220B, 220C, 220D can operate in the wireless communication network system 200, for example, according to a wireless network standard or another type of wireless communication protocol. The wireless devices 220A, 220B, 220C, 220D may include, or may be, a mobile device (e.g., a smartphone, a smart watch, a tablet, a laptop computer, etc.), a wireless-enabled device (e.g., a smart thermostat, a Wi-Fi enabled camera, a smart TV), or another type of device that communicates in the wireless communication network system 200. In some examples, one or more of the wireless devices 220A, 220B, 220C, 220D (e.g., the wireless device 220D shown in
In the example shown in
When the wireless devices 220A, 220B, 220C, 220D seek to connect to or communicate with the AP 230, the wireless devices 220A, 220B, 220C, 220D may go through an authentication and association phase with the AP 230. Among other things, the association phase assigns address information (e.g., an association ID or another type of unique identifier) to each of the wireless devices 220A, 220B, 220C, 220D. For example, within the IEEE 802.11 family of standards for Wi-Fi, each of the wireless devices 220A, 220B, 220C, 220D may identify itself using a unique 48-bit address (e.g., the MAC address), although the wireless devices 220A, 220B, 220C, 220D may be identified using other types of identifiers embedded within one or more fields of a message. The address information (e.g., MAC address or another type of unique identifier) can be either hardcoded and fixed, or randomly generated according to the network address rules at the start of the association process. Once the wireless devices 220A, 220B, 220C, 220D have associated to the AP 230, their respective address information may remain fixed. Subsequently, a transmission by the AP 230 or the wireless devices 220A, 220B, 220C, 220D includes, at a minimum, the address information (e.g., MAC address) of the transmitting wireless device and the address information (e.g., MAC address) of the receiving device (e.g., the AP 230). The address information (e.g., the MAC addresses of the transmitting and receiving devices) is not part of an encrypted or scrambled payload. Consequently, the identities of the transmitting and receiving devices (e.g., as indicated by their address information) may be accessible to a device that is within listening range of the communication and eavesdropping on the communication between the transmitting and receiving devices. The identity of the transmitting and receiving devices may, as an example, be used by the eavesdropping device to determine a link identifier that establishes the identity of a respective link within the wireless communication network system 200.
A listening device 250-1 resides outside the wireless communication network system 200. For example, the listening device 250-1 is not connected to, associated with, or communicating via the AP 230 or any of the wireless devices 220A, 220B, 220C, 220D. In some instances, the wireless communication network system 200 is unaware of the presence of the listening device 250-1. For example, the listening device 250-1 may not go through the above-described authentication or association phase and, as a result, none of the AP 230 or the wireless devices 220A, 220B, 220C, 220D is aware of the existence or presence of the listening device 250-1.
Although the listening device 250-1 is not connected to, associated with, or communicating via the wireless communication network system 200, the listening device 250-1 may be within a listening range of the transmissions occurring within the wireless communication network system 200. As a result, the listening device 250-1 may eavesdrop on over-the-air (OTA) signals (e.g., wireless signals) exchanged among the wireless devices 220A, 220B, 220C, 220D and the AP 230. Such OTA signals may contain beamforming reports, physical (PHY) frames, or a combination thereof. Furthermore, each OTA signal transmitted in the wireless communication network system 200 may be associated with a respective link since, as described above, each OTA signal may include or contain address information (e.g., MAC addresses or another type of unique identifier) of the transmitting and receiving devices. The listening range within which eavesdropping may occur may depend, at least in part, on a frequency band used for the OTA signals or the physical properties of the environment (e.g., the channel 130 in
As discussed above, the OTA signals may contain beamforming reports. Such beamforming reports may be auxiliary information exchanged over-the-air between communicating devices and may be used to optimize performance (e.g., improve data transmission rate or signal-to-noise ratio (SNR)) through the process of beamforming. Information within the beamforming reports may directly or indirectly (e.g., through a transformation) represent a channel response or channel state. For example, in some cases, MIMO systems require measuring and characterizing the propagation between two communicating wireless devices. Such measurement and characterization of the propagation may be used to perform beamforming or beamsteering in order to optimize performance. In the example of
As discussed above, each OTA communication by the wireless devices 220A, 220B, 220C, 220D and the AP 230 includes address information (e.g., the MAC addresses) of the transmitting device and the receiving device. Additionally, the address information is not part of an encrypted or scrambled payload. Therefore, when OTA signals are transmitted within the wireless communication network system 200, both the channel response payload (e.g., included in the beamforming report 260) and the address information of the devices involved in the exchange are accessible to the listening device 250-1. Therefore, each beamforming report 260 is associated with a respective link within the wireless communication network system 200 (e.g., a physical path between the wireless device 220B and the AP 230 in the example of
As discussed above, the OTA signals may contain a physical (PHY) frame, e.g., transmitted by the AP 230 or one or more of the wireless devices 220A, 220B, 220C, 220D. As an illustration, in the example shown in
The PHY frame 900 also includes a PHY data payload 910. Encoded within the PHY data payload 910 is a Media Access Control (MAC) layer frame 912. In the example of
In some cases, transmission of PHY frames (e.g., by the AP 230 or any of the wireless devices 220A, 220B, 220C, 220D) occurs more frequently than the exchange of beamforming reports 260. Therefore, wireless sensing based on the PHY frames may have a higher temporal resolution compared to wireless sensing based on the beamforming reports 260. In some examples, wireless sensing based on the PHY frames (e.g., containing the preamble or training field 270) may be augmented or combined with wireless sensing based on the beamforming reports 260 (e.g., as described in greater detail below in
As discussed above in
The object 340 may be moving within the environment 300 (e.g., along a movement path 345 within the environment 300). One or more of the OTA signals transmitted within the environment 300 (e.g., containing the beamforming reports 260 or PHY frames) may be affected by the moving object 340. Unbeknownst to the wireless devices 220A, 220B, 220C, 220D and the AP 230, the listening device 250-1 may eavesdrop on, collect, and organize the OTA signals containing the beamforming reports 260 and the PHY frames.
In some instances, the beamforming reports 410A, 410B may include, or may be, a type of standardized beamforming report, an example being the CSI or H-matrix, V-matrix, or CV-matrix beamforming reports defined in the 802.11 standards, although the beamforming reports 410A, 410B may be other types of dynamic beamforming information. In implementations where the beamforming reports 410A, 410B include, or are, standardized beamforming reports defined in the 802.11 standards, the CSI-matrix, V-matrix, or CV-matrix beamforming reports may be derived from the H-matrix defined in the 802.11 standards, where the H-matrix includes the magnitude and phase response for each subcarrier frequency. In some examples, the CSI-matrix, V-matrix, or CV-matrix beamforming reports may undergo further transformations to better match the needs of the beamforming application.
In the example of
At 504, a second set of motion data is generated (e.g., using a second type of motion detection process) based on the second subset of wireless signals (e.g., the OTA signals 400-2 and 400-4). The second set of motion data may include a second set of motion scores, which may be based on channel responses computed from PHY frames (e.g., including the preamble or training fields 420A, 420B) using, as an example, PHY channel estimation. In some instances, the PHY channel estimation is not defined by a standard and is, instead, left to the manufacturer of the receiver to implement an algorithm to compute the channel response. The second set of motion data may further include a second set of link identifiers, which may be generated based on the address information 440A, 440B. In some examples, the second set of link identifiers may include some or all of links included in the first set of link identifiers.
Example types of motion detection processes that can be used to generate the first and second sets of motion scores include the techniques described in U.S. Pat. No. 9,523,760 entitled “Detecting Motion Based on Repeated Wireless Transmissions,” U.S. Pat. No. 9,584,974 entitled “Detecting Motion Based on Reference Signal Transmissions,” U.S. Pat. No. 10,051,414 entitled “Detecting Motion Based On Decompositions Of Channel Response Variations,” U.S. Pat. No. 10,048,350 entitled “Motion Detection Based on Groupings of Statistical Parameters of Wireless Signals,” U.S. Pat. No. 10,108,903 entitled “Motion Detection Based on Machine Learning of Wireless Signal Properties,” U.S. Pat. No. 10,109,167 entitled “Motion Localization in a Wireless Mesh Network Based on Motion Indicator Values,” U.S. Pat. No. 10,109,168 entitled “Motion Localization Based on Channel Response Characteristics,” U.S. Pat. No. 10,459,076 entitled “Motion Detection Based on Beamforming Dynamic Information,” and other techniques. As an example, a first type of motion detection process that operates on the beamforming reports 410A, 410B (e.g., as described in U.S. Pat. No. 10,459,076 entitled “Motion Detection Based on Beamforming Dynamic Information”) may be used to generate the first set of motion scores, while a second type of motion detection process that operates on the channel responses computed from the preamble or training fields 420A, 420B (e.g., as described in U.S. Pat. No. 9,584,974 entitled “Detecting Motion Based on Reference Signal Transmissions”) may be used to generate the second set of motion scores.
Each of the first and second sets of motion scores may include, or may be, a scalar quantity indicative of a level of signal perturbation in the environment (e.g., the environment 300) accessed by the first and second subsets of wireless signals, respectively. Additionally or alternatively, the first and second sets of motion scores may include, or may be, an indication of whether there is motion, whether there is an object present, or an indication or classification of a gesture performed in the environment accessed by the first and second subsets of wireless signals, respectively.
At 506, the one or more processors may generate a combined motion data set including the first and second sets of motion data. In some implementations, the first set of motion data and the second set of motion data may be input into a logical OR operator to generate the combined motion data set. In some implementations, a weighted sum of the first set of motion data and the second set of motion data may be used to generate the combined motion data set.
At 508, motion within the environment accessed by the first and second subsets of wireless signals is analyzed based on the combined motion data set. In some implementations, analyzing motion within the environment based on the combined motion data set may include determining whether motion occurred within the environment. Additionally or alternatively, analyzing motion within the environment based on the combined motion data set may include determining the location or intensity of motion performed in the environment.
An advantage of generating a combined motion data set including the first and second sets of motion data (e.g., at 506) is that subsequent motion analysis (e.g., at 508) may be based on the combined motion data set, thereby giving a broader or more accurate view of motion occurring within the environment accessed by the first and second subsets of wireless signals compared to cases where only the first set of motion data or the second set of motion data is used to analyze motion. In some examples (such as in the examples shown in
In some examples (such as in the examples shown in
In some examples (such as in the examples shown in
In some examples (such as in the examples shown in
In some examples (such as in the examples shown in
While the examples shown in
In some instances, the listening device 250-1 may identify the wireless link between two distinct devices by analyzing the source and destination information in the wireless signal. In some instances, the listening device 250-1 may identify a wireless link based on the MAC address of the transmitting device (e.g., TX MAC Address 6101A) and the MAC address of the receiving device (e.g., RX MAC address 6102A) in the wireless signal including the CSI Beamform Report 610A. In some implementations, each beamforming report is fed to its corresponding motion algorithm. For example, a CSI-Beamform Report 610A is processed by a CSI-Motion Algorithm 620A, a V-Beamform Report 610B is processed by a V-Motion Algorithm 620B, and a CV-Beamform Report 610C is processed by a CV-Motion Algorithm 620C. In some cases, each of the motion algorithms output data related to motion affecting the wireless signals transmitted between two devices. Because the listening device 250-1 can associate beamforming reports 610A, 610B, 610C with wireless links associated with the wireless communication network system 200 contained in the environment 300, the motion data for the wireless links is constrained to that particular environment 300.
In other instances, the listening device 250-1 may observe transmissions of PHY frames (e.g., including preambles or training fields) by one or more wireless devices. Similar to the beamforming report transmissions, the listening device 250-1 may obtain the MAC address of the transmitter of the PHY frame, and then identify the wireless link represented by the physical path between the transmitter device and the listening device 250-1 (e.g., device to sensor). The listening device 250-1 performs channel estimation 610D using the PHY frame (e.g., using the preambles or training fields of the PHY frame). In this case, the channel estimation is associated with the channel quality of the link between the transmitting device and the listening device 250-1 and not the link between the transmitting device and the receiving device for which the wireless signal was addressed. Typically, the listening device 250-1 is interested in wireless signals transmitted in and through the environment 300. Therefore, in some instances, the listening device 250-1 analyzes the signal to determine if the wireless signal is associated with a wireless link between two wireless devices in the environment 300. For example, using the TX MAC Address 6101D and RX MAC Address 6102D of the wireless signal, the listening device 250-1 may determine whether the wireless signal including the PHY frame was transmitted on a wireless link corresponding to a wireless link in the environment 300. As another example, based on received signal strength/power and wireless link identification (e.g., transmitter+receiver MAC address), the physical distance to the listening device 250-1 can be estimated. This may enhance the ability to exclude devices that reside outside a desired environment 300 but that are still within listening range of the listening device 250-1. The received signal strength/power can be, for example, a Signal-To-Noise-Ratio (SNR) (e.g., represented in dB as the ratio between signal-power to noise-power) computed by the listening device 250-1, a Receive-Signal-Strength-Indicator (RSSI) (a measure of signal power received) computed by the listening device 250-1, or another type of value.
In cases in which the wireless signal is associated with a wireless link in the environment 300, the listening device performs channel estimation processing on the PHY frame training field. In cases in which the wireless signal is not associated with a link in the remote environment 300, the listening device 350 may ignore the wireless signal and perform no further processing. In some implementations, each PHY channel estimation is fed to its corresponding motion algorithm, e.g., PHY Channel Estimation Motion Algorithm 620D, to extract motion information.
In some implementations, one or more received and observed data 610A, 610B, 610C, 610D, are obtained by the listening device 250-1 over a time period. In some cases, multiple instances of the same type of beamforming report or multiple PHY signals may be observed or received. In other cases, no instances of one or more types of beamforming reports may be received. However, in most cases, it is expected that at least one PHY signal associated with a link in the environment 300 is received by the listening device 250-1 as these signals are typically transmitted more frequently than beamforming reports. In some implementations, the listening device accumulates beamform reports 610A, 610B, 610C that are observed, and PHY frames (e.g., including preambles or training fields) received over a period of time.
In some implementations, the output of a motion algorithm 620A, 620B, 620C, 620D is fed to a corresponding process that converts motion data extracted by a respective motion algorithm to a relative motion amplitude or score 630A, 630B, 630C, 630D. While the motion algorithms 620A, 620B, 620C, 620D may have some similarities between them, they are managed separately. In some instances, the motion amplitudes or scores 630A, 630B, 630C, 630D for each type of motion data provide the data in a common format for all types of received or observed data in the environment 300. In some instances, motion amplitudes or scores 630A, 630B, 630C, 630D are determined for each wireless link, e.g., a particular TX MAC Address/RX MAC Address pair. The motion amplitude/scores for each wireless link are combined (e.g., summed 640) to derive a combined motion links value 650 associated with the wireless links.
In some cases, the motion amplitude score may be or include a motion indicator value. In an example, if motion is detected based on the received or observed data 610A, 610B, 610C, 610D after being processed by its corresponding motion algorithm 620A, 620B, 620C, 620D, then a motion indicator value (MIV) may be computed by the listening device 250-1. The MIV represents a degree of motion detected by the device based on the beamform reports 610A, 610B, 610C, or preamble or training fields 610D received by the listening device 250-1. For instance, higher MIVs can indicate a high level of channel perturbation (due to the motion detected), while lower MIVs can indicate lower levels of channel perturbation. Higher levels of channel perturbation may indicate motion in close proximity to the device. The MIVs may include aggregate MIVs (representing a degree of motion detected in the aggregate by the listening device 250-1 based on PHY training fields), link MIVs (representing a degree of motion detected on particular communication links between respective devices in the environment 300), or a combination thereof. In some implementations, MIVs are normalized, e.g., to a value from zero (0) to one hundred (100).
At 710, the sensor device eavesdrops or listens to Wi-Fi air traffic and identifies and receives beamforming reports. At 720, the sensor device associates each beamforming report with a respective wireless link using the receiver and transmitter MAC addresses (e.g., as discussed above in reference to
At 740, the sensor device eavesdrops or listens to Wi-Fi air traffic and identifies and receives normal data transmissions (e.g., including PHY frames). At 750, the sensor device uses preambles or training fields to compute channel responses and identifies a transmitter using a MAC address, thereby associating each channel response with a respective transmitter. At 760, for each transmitter, a time field of received channel responses is processed using a suitable motion detection process (e.g., an algorithm corresponding to detecting motion based on normal data transmissions including PHY frames). The result of 760 is a second set of motion data. At 770, the motion detection results from all links and sources are combined to analyze or monitor motion in a remote environment (e.g., environment 300 that is remote from the listening device 250-1 or the processing devices 280, 286, and 290).
The example interface 830 can communicate (receive, transmit, or both) wireless signals. For example, the interface 830 may be configured to receive radio frequency (RF) signals formatted according to a wireless communication standard (e.g., Wi-Fi or Bluetooth), e.g., wireless signals transmitted by wireless devices in a remote environment, or other wireless devices within listening range of the wireless sensor device. In some cases, the interface 830 may be configured to transmit signals, e.g., to transfer data to a server or other device, but in instances where the wireless sensor device is passive or operates in a passive mode, it does not communicate with the remote environment (e.g., as described in
In some cases, a radio subsystem in the interface 830 can include one or more antennas and radio frequency circuitry. The radio frequency circuitry can include, for example, circuitry that filters, amplifies or otherwise conditions analog signals, circuitry that up-converts baseband signals to RF signals, circuitry that down-converts RF signals to baseband signals, etc. Such circuitry may include, for example, filters, amplifiers, mixers, a local oscillator, etc. The radio subsystem can be configured to receive radio frequency wireless signals on the wireless communication channels. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. A radio subsystem may include additional or different components. In some implementations, the radio subsystem can be or include the radio electronics (e.g., RF front end, radio chip, or analogous components) from a conventional modem, for example, from a Wi-Fi modem, pico base station modem, etc. In some implementations, the antenna includes multiple antennas.
In some cases, a baseband subsystem in the interface 830 can include, for example, digital electronics configured to process digital baseband data. As an example, the baseband subsystem may include a baseband chip. A baseband subsystem may include additional or different components. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic to operate the radio subsystem, to communicate wireless network traffic through the radio subsystem, to extract channel response information from PHY frame preamble training signals, or to perform other types of processes. For instance, the baseband subsystem may include one or more chips, chipsets, or other types of devices that are configured to encode signals and deliver the encoded signals to the radio subsystem for transmission, or to identify and analyze data encoded in signals from the radio subsystem (e.g., by decoding the signals according to a wireless communication standard, by processing the signals according to a motion detection process, or otherwise).
In some instances, the radio subsystem in the example interface 830 receives baseband signals from the baseband subsystem, up-converts the baseband signals to radio frequency (RF) signals, and wirelessly transmits the radio frequency signals (e.g., through an antenna). In some instances, the radio subsystem in the example interface 830 wirelessly receives radio frequency signals (e.g., through an antenna), down-converts the radio frequency signals to baseband signals, and sends the baseband signals to the baseband subsystem. The signals exchanged between the radio subsystem and the baseband subsystem may be digital or analog signals. In some examples, the baseband subsystem includes conversion circuitry (e.g., a digital-to-analog converter, an analog-to-digital converter) and exchanges analog signals with the radio subsystem. In some examples, the radio subsystem includes conversion circuitry (e.g., a digital-to-analog converter, an analog-to-digital converter) and exchanges digital signals with the baseband subsystem.
The example processor 810 can execute instructions, for example, to generate output data based on data inputs. The instructions can include programs, codes, scripts, modules, or other types of data stored in memory 820. Additionally or alternatively, the instructions can be encoded as pre-programmed or re-programmable logic circuits, logic gates, or other types of hardware or firmware components or modules. The processor 810 may be or include a general-purpose microprocessor, as a specialized co-processor or another type of data processing apparatus. In some cases, the processor 810 performs high level operation of the wireless sensor device 800. For example, the processor 810 may be configured to execute or interpret software, scripts, programs, modules, functions, executables, or other instructions stored in the memory 820. In some implementations, the processor 810 be included in the interface 830. In some instances, processor 810 may be configured to execute instructions that cause the wireless sensor device 800 to detect motion in a remote environment, e.g., by the process described in
The example memory 820 may include computer-readable storage media, for example, a volatile memory device, a non-volatile memory device, or both. The memory 820 may include one or more read-only memory devices, random-access memory devices, buffer memory devices, or a combination of these and other types of memory devices. In some instances, one or more components of the memory can be integrated or otherwise associated with another component of the wireless communication device 800. The memory 820 may store instructions that are executable by the processor 810. For example, the instructions may be stored in passive motion detection 822 module in memory 820. The instructions may include instructions for obtaining first channel response information including signals transmitted wirelessly on a communication network in a remote environment, each signal including a beamforming report, and associating each beamforming report with a respective wireless link in the remote environment, each wireless link corresponding to a transmitting wireless communication device and a receiving wireless communication device pair. The instructions may further include instructions for receiving one or more physical (PHY) frame preamble training fields transmitted by wireless communication devices in a listening range of the sensor device, extracting second channel response information from each of the one or more PHY frame preamble training fields, and associating the second channel response information from each of the one or more PHY frame preamble training fields to its respective wireless communication link. The instructions may further include instructions for combining the first channel response information and the second channel response information for each wireless link in the remote environment, and detecting motion of an object in the remote environment by analyzing the combination of the first and second channel response information for each wireless link in the remote environment, such as through one or more of the operations as described in
The example power unit 840 provides power to the other components of the wireless communication device 800. For example, the other components may operate based on electrical power provided by the power unit 840 through a voltage bus or other connection. In some implementations, the power unit 840 includes a battery or a battery system, for example, a rechargeable battery. In some implementations, the power unit 840 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external source) and coverts the external power signal to an internal power signal conditioned for a component of the sensor device 800. The power unit 840 may include other components or operate in another manner.
The wireless devices 220A, 220B, 220C, 220D and the AP 230 can communicate with one another via RF signals, for example, according to the IEEE 802.11ax standard. A draft of the IEEE 802.11ax standard is published in a document entitled “P802.11ax/D8.0, Oct 2020—IEEE Approved Draft Standard for Information technology—Telecommunications and information exchange between systems Local and metropolitan area networks—Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 1: Enhancements for High Efficiency WLAN,” which was approved by the IEEE-SA Standards Board in February 2021, accessible at https://ieeexplore.ieee.org/servlet/opac?punumber=9248708, and hereby incorporated by reference in its entirety.
In the IEEE 802.11ax standard, the respective uplink transmissions 1004A, 1004B, 1004C, 1004D can be an uplink-orthogonal frequency-division multiple access (UL-OFDMA) transmission from the wireless devices 220A, 220B, 220C, 220D to the AP 230. A UL-OFDMA transmission is a feature of the so-called “High-Efficiency Long Training Field” PHY frame, also known as HE-PHY (e.g., in the Wi-Fi 6 standard, according to the IEEE 802.11ax standard).
In a UL-OFDMA transmission, the wireless devices 220A, 220B, 220C, 220D transmit respective HE-PHY frames to the AP 230 simultaneously. In some implementations, simultaneous transmission of the respective HE-PHY frames can include a transmission in parallel at approximately the same time. In some instances, the simultaneous transmission of the respective HE-PHY frames can start or end at the same time (e.g., at exactly the same time); however, in other implementations, the simultaneous transmission of the respective HE-PHY frames can partially or fully overlap in time with each other, even if they are not precisely synchronized.
The simultaneous transmission of respective HE-PHY frames from the wireless devices 220A, 220B, 220C, 220D to the AP 230 can occur because the wireless devices 220A, 220B, 220C, 220D are assigned respective sets of OFDM subcarriers for their respective PHY frames. In some instances, the respective sets of OFDM subcarriers are referred to as respective resource units (RUs). In some instances, beamforming may also be used for the UL-OFDMA transmission, thus resulting in an UL-OFDMA with multi-user MIMO (MU-MIMO) transmission.
The first DL HE-PHY frame 1106 can include a preamble and a trigger frame, and can be addressed to the wireless devices 220A, 220B, 220C, 220D. In some instances, the trigger frame includes a triggered response scheduling (TRS) control field, which can be used by the AP 230 to allocate respective RUs to the wireless devices 220A, 220B, 220C, 220D. The TRS control field can also be used by the AP 230 to specify a set of parameters for the subsequent UL-OFDMA transmission 1108 from the wireless devices 220A, 220B, 220C, 220D to the AP 230. In some instances, the set of parameters can include the duration of the UL-OFDMA transmission 1108, the target RSSI for the UL-OFDMA transmission 1108 (e.g., as measured at the AP 230), or the high-efficiency modulation and coding scheme of the UL-OFDMA transmission 1108. Other parameters for the subsequent UL-OFDMA transmission 1108 can also be specified in the TRS control field.
In response to receiving and processing the first DL HE-PHY frame 1106, the wireless devices 220A, 220B, 220C, 220D perform respective uplink transmissions 1004A, 1004B, 1004C, 1004D that transmit the UL-OFDMA transmission 1108 to the AP 230. The UL-OFDMA transmission 1108 is transmitted in accordance with the RU allocation and the parameters specified in the trigger frame of the first DL HE-PHY frame 1106. In some instances, such as in the example shown in
Since the UL-OFDMA transmission 1108 allows the wireless devices 220A, 220B, 220C, 220D to transmit respective HE-PHY frames to the AP 230 simultaneously, a single UL-OFDMA transmission 1108 can be used to detect motion in multiple motion detection zones simultaneously.
The second DL HE-PHY frame 1110 can include a preamble and a multi-user (MU) block acknowledgement, and can be addressed to the wireless devices 220A, 220B, 220C, 220D. In some instances, the MU block acknowledgement of the second DL HE-PHY frame 1110 can be used by the AP 230 to acknowledge receipt of the UL-OFDMA transmission 1108. In some instances, such as in the example shown in
In some instances, each of the first DL HE-PHY frame 1106, the UL-OFDMA transmission 1108, and the second DL HE-PHY frame 1110 can include a MAC layer frame encoded within (e.g., encapsulated within) the data payload of an HE-PHY frame, analogous to the example shown in
In some implementations, HE-PHY frames can have one of a plurality of PPDU formats, including a High-Efficiency Single-User PPDU (HE SU PPDU) format, a High-Efficiency Trigger-Based PPDU (HE TB PPDU) format, a High-Efficiency Multi-User PPDU (HE MU PPDU) format, and a High-Efficiency Enhanced-Range PPDU (HE ER PPDU) format.
In some instances, a HE-PHY frame having the HE MU PPDU format can be used to carry multiple MAC data payloads to the wireless devices 220A, 220B, 220C, 220D using the downlink transmission 1002. The multiple MAC data payloads are transmitted to the wireless devices 220A, 220B, 220C, 220D at the same time (e.g., simultaneously). To allow for the simultaneous transmission of multiple MAC data payloads to the wireless devices 220A, 220B, 220C, 220D, the data payloads can be multiplexed on the downlink transmission 1002 by frequency (e.g., using an OFDMA scheme) or by spatial stream (e.g., by beamforming).
In some instances, a HE-PHY frame having the HE ER PPDU format has a HE-SIG-A field that is twice the duration of the HE-SIG-A field in a HE-PHY frame having the HE SU PPDU format. The HE-PHY frame having the HE ER PPDU format can be used to carry a single MAC data payload.
As seen in
An example HE-LTF is described on page 620 of the draft of the IEEE 802.11ax standard as follows:
In the example shown in
In the example shown in
In the example shown in
In the HE-PHY frame 1201 having the HE TB PPDU format, the pre-HE modulated fields (e.g., the L-STF 1203, the L-LTF 1205, the L-SIG field 1207, the RL-SIG field 1209, the HE-SIG-A field 1211) are sent on 20 MHz channels where the HE modulated fields of the respective wireless devices 220A, 220B, 220C, 220D are located. Consequently, when HE modulated fields are located in more than one 20 MHz channel (e.g., as seen in the examples shown in
The BCC encoder 1402 operates on input data and can be a convolution encoder using industry standard polynomials g0=133(8), g1=171(8) and rate=1/2. In some instances, higher encoding rates of 2/3 and 3/4 can be achieved via puncturing. The BCC interleaver 1404 performs a bit rotation process that operates on a block size equal to the number of bits in a single OFDM symbol. In some instances, the interleaving performed by the BCC interleaver 1404 can be performed in two operations, where first adjacent coded bits are mapped onto non-adjacent subcarriers, and secondly adjacent coded bits are mapped in an alternating fashion onto less/more significant bits of the constellation. The constellation mapper 1406 performs a mapping process that takes the BCC Encoded and Interleaved signal, and determines the complex (e.g., in-phase (I) and quadrature-phase (Q)) subcarrier modulation. For each OFDM subcarrier, a group of bits corresponding to the QAM order (e.g, 16-QAM takes 4 bits, 64-QAM takes 6 bits, where 2{circumflex over ( )}Bits=QAM order) is used to represent the amplitude of both the I and Q components of the modulation based on a pre-determined constellation encoding. For cases of the non-MIMO fields of an HE PPDU of
The transmitter block 1400 can include multiple transmit chains. Some of the multiple transmit chains can include a cyclic shift for Diversity (CSD) per chain block 1412, an insert guard interval (GI) and window block 1414, and an analog and RF block 1416. The CSD per chain block 1412 can be applied on transmitters which contain multiple output antennas. In some instances, for non-MIMO fields of an HE PPDU of
As discussed above, the trigger frame can be a MAC layer frame encoded within the data payload 1202 of the HE-PHY frame 1200 having the HE SU PPDU format. At the MAC layer, data can be referred to as a media access control (MAC) protocol data unit (MPDU), which can be a unit of data exchanged between two peer MAC entities using the services of the physical (PHY) layer. In some instances, an MPDU can also be referred to as a medium access control (MAC) frame. The MPDU can include a preamble followed by a payload. Both the preamble and payload can be digital data, represented in binary format.
The common information field 1504 can contain configuration information that is common to all the wireless devices 220A, 220B, 220C, 220D responding to the trigger frame 1300 from the AP 230. As seen in
In some instances, the UL BW field 1700 specifies the entire bandwidth of all available frequency subcarriers of the wireless communication channel (e.g., the entire bandwidth BW shown in
As seen in
The second to eighth bits (e.g., B1-B7) of RU allocation field 1800 can be encoded to identify which RU and bandwidth is assigned for the subsequent UL-OFDMA transmission. Table 1 shows example encodings that can be used for the second to eighth bits of the RU allocation field 1800.
As seen in Table 1, if the UL BW field indicates a 160 MHz PPDU, the description indicates the RU index for the primary 80 MHz channel or secondary 80 MHz channel, as indicated by the first bit (130) of the RU allocation field 1800.
The GI and HE-LTF type field 1702 of the common information field 1504 can be used to specify, to the wireless devices 220A, 220B, 220C, 220D), the HE-LTF type and guard interval that the respective wireless devices 220A, 220B, 220C, 220D are to be uses when transmitting the HE TB PPDU response. The HE-LTF type indicates a duration of the HE-LTF symbol, with a 1×HE-LTF type corresponding to an HE-LTF symbol duration of 3.2 μs, a 2×HE-LTF type corresponding to an HE-LTF symbol duration of 6.4 μs, and a 4×HE-LTF type corresponding to an HE-LTF symbol duration of 12.8 μs. Table 2 shows example encodings that can be used for the GI and HE-LTF type field 1702.
The information in the GI and HE-LTF type field 1702 can be used when computing the respective channel responses, since the encoding of the GI and HE-LTF type field 1702 can determine the number of frequency points and spacing of the excited subcarriers in the HE-LTF, and thus the frequency resolution of the respective channel responses.
The MU-MIMO HE-LTF mode field 1704 of the common information field 1504 can be used to specify the HE-LTF mode as either single-streamed or masked, using the encoding in Table 3.
The trigger frame 1500 can indicate whether the uplink multi-user transmission following it uses HE single stream pilot HE-LTF mode or HE masked HE-LTF sequence mode if the HE-LTF type of the HE TB PPDU is 2×HE-LTF or 4×HE-LTF. A HE, no pilot HE-LTF mode is used if the HE-LTF type of the HE TB PPDU is 1×HE-LTF. If the HE single stream pilot HE-LTF mode is used, no masking is applied to the HE-LTF. The HE single stream pilot HE-LTF mode can be used for any UL-OFDMA transmission, including UL-OFDMA with MU-MIMO transmissions.
The HE-LTF field allows the device receiving the HE TB PPDU to estimate the channel (e.g., MIMO channel) between the set of constellation mapper outputs (e.g., seen in
The doppler field 1708 of the common information field 1504 allows the transmitter of the trigger frame 1500 (e.g., the AP 230) to request the wireless devices 220A, 220B, 220C, 220D to periodically include a “midamble” within the data transmission. The midamble can be an HE-LTF inserted periodically within the transmission (e.g., to allow the device receiving the HE TB PPDU to re-equalize for a rapidly changing channel due to a high Doppler presence). If multiple midambles are present in the transmission of the HE TB PPDU, the channel responses can be computed multiple times per transmission of the HE TB PPDU. If the doppler field 1708 is enabled (e.g. set to 1), the number of HE-LTF symbols and midamble periodicity field 1706 of the common information field 1504 can be used to indicate how frequently the midamble is included within the data transmission.
As seen in
As seen in Table 4, AID12 values between (and including) 1 and 2007 can be used by the device receiving the trigger frame 1500 (e.g., listening devices 250-1, 250-2 or any other device) to identify the wireless devices 220A, 220B, 220C, 220D connected to the AP 230.
As seen in
At 1902, a DL HE-PHY frame is received. In some instances, the DL HE-PHY frame may be the first DL HE-PHY frame 1106 shown in
At 1904, a determination is made as to whether the DL HE-PHY frame (e.g., received at 1902) includes a trigger frame for a subsequent UL-OFDMA transmission. Stated differently, at 1904, a determination is made as to whether the trigger frame in the DL HE-PHY frame (e.g., received at 1902) can elicit a subsequent UL-OFDMA transmission. The device can determine whether the DL HE-PHY frame includes a trigger frame for a subsequent UL-OFDMA transmission based on the frame control field of the trigger frame. For example, as discussed above in relation to
In response to a determination that the DL HE-PHY frame is not for a subsequent UL-OFDMA transmission, the process 1900 returns to 1902. Conversely, in response to a determination that the DL HE-PHY frame is for a subsequent UL-OFDMA transmission, the process 1900 proceeds to 1906.
At 1906, multiple fields of the DL HE-PHY frame are parsed and analyzed, for example, to determine a set of parameters of the subsequent UL-OFDMA transmission. The set of parameters determined at 1906 can be used by the device that received the DL HE-PHY frame to prepare a radio subsystem and a baseband subsystem for reception of the subsequent UL-OFDMA transmission. As an example, the set of parameters can be applied to a radio subsystem or a baseband subsystem (or both) for reception of the subsequent UL-OFDMA transmission.
In some instances, at 1906, the common information field 1504 of the trigger frame 1500 can be parsed and analyzed to determine one or more of the following: the total bandwidth of the subsequent UL-OFDMA transmission (e.g., indicated by the UL BW field 1700 of the common information field); the HE-LTF type and guard interval duration of the subsequent UL-OFDMA transmission (e.g., indicated by the GI and HE-LTF type field 1702 of the common information field); the HE-LTF mode of the subsequent UL-OFDMA transmission (e.g., indicated by the MU-MIMO HE-LTF mode field 1704 of the common information field); or whether and how frequently a midamble is included within the subsequent UL-OFDMA transmission (e.g., indicated by the number of HE-LTF symbols and midamble periodicity field 1706 and the doppler field 1708 of the common information field).
In some instances, at 1906, user information list field 1506 of the trigger frame 1500 can be parsed and analyzed to determine one or more of the following: the RU allocation for the respective wireless devices transmitting the subsequent UL-OFDMA transmission (e.g., indicated by the RU allocation field 1800 of the user information list field); the identity of the wireless devices transmitting the subsequent UL-OFDMA transmission (e.g., indicated by the AID12 field 1802 of the user information list field); or the target RSSI for the subsequent UL-OFDMA transmission (e.g., as measured at the AP 230 and indicated by the UL target receive power field 1804 of the user information list field).
At 1908, one SIFS time period (e.g., 16 μs in 5 GHz and 6 GHz bands) is allowed to elapse after the end of the DL HE-PHY frame. At 1910, the UL-OFDMA transmission is received (e.g., from the wireless devices identified at 1906, which simultaneously transmit respective HE-PHY frames using the respective RUs identified at 1906). As discussed above, the UL-OFDMA transmission can include multiple HE-PHY frames having the HE TB PPDU format (e.g., as seen in
In some instances, the device receiving the UL-OFDMA transmission at 1910 (e.g., listening devices 250-1, 250-2 or any other device) may have a high dynamic range, thus allowing the device to overcome the near/far effect of different transmitters. In other instances (e.g., where the device receiving the UL-OFDMA transmission at 1910 has limited dynamic range), operation 1912 can be performed to filter the respective HE-PHY frames transmitted from the wireless devices and using the RUs identified at 1906. Operation 1912 can be performed using a filter bank included in the receiver chain of the device receiving the UL-OFDMA transmission.
The example filter bank 2000 includes multiple dedicated bandpass filters 2002-1 to 2002-37, each having a respective RU gain 2004-1 to 2004-37. The example filter bank 2000 includes 37 bandpass filters, each having a respective RU gain; however, any number of multiple bandpass filters can be used for the filter bank. Having 37 bandpass filters provides the filter bank 2000 the ability to be used for an 80 MHz channel. Two filter banks 2000 can be used in instances where a 160 MHz channel is used. Each of the bandpass filters 2002-1 to 2002-37 is tuned to a respective bandwidth.
The example filter bank 2000 includes a first switch 2010 and a second switch 2012, which allow the received signal to be processed by the bandpass filters 2002-1 to 2002-37, the RU gains 2004-1 to 2004-37, the power detectors 2006-1 to 2006-37, and the combiner 2008. In instances where the RU gains are different, the first switch 2010 is closed and the second switch 2012 is opened. In instances where the RU gains are the same, the first switch 2010 is opened and the second switch 2012 is closed so that the received UL-OFDMA transmission can be passed directly to the combiner 2008, bypassing the bandpass filters 2002-1 to 2002-37, the RU gains 2004-1 to 2004-37, and the power detectors 2006-1 to 2006-37.
Referring back to
Conversely, if the device receiving the UL-OFDMA transmission at 1910 includes the filter bank 2000, independent RU gain may be implemented so that the RUs of the received UL-OFDMA transmission can be equalized. At 1918, in response to a determination that independent RU gain is to be implemented, the respective RU gains can be determined based on the HE-STF of the respective HE-PHY frames (e.g., each occupying a respective RU).
At 1920, the respective channel responses are computed (e.g., based on the HE-LTF of the respective HE-PHY frames) and the MAC addresses of the wireless devices transmitting the UL-OFDMA transmission are obtained (e.g., from the respective HE-PHY frames). In some instances, if the “number of HE-LTF symbols and midamble periodicity” and doppler fields indicate that midambles are present, there may be more than one channel response computed from each of the respective HE-PHY frames (e.g., one channel response computed from the HE-LTF preamble and another channel response computed from the HE-LTF midamble). In some instances, the MAC addresses of the wireless devices may be obtained from the transmitting STA address (TA) field of the MAC header of the respective HE-PHY frames.
A result of operation 1920 is that the following are associated to each wireless device (e.g., identified by the AID12 field 1802 of the user information list field): the respective RU; the received power level of the signal within the respective RU; the channel response(s) computed from the HE-LTF of the respective HE-PHY frame; and the wireless device's MAC address.
At 1922, the computed channel responses are validated. For each wireless device identified by the AID12 field 1802 of the user information list field, the associated channel response is validated (e.g., approved for use in a motion detection process) if all the following conditions are satisfied: the received power level indicates the signal is at least greater than a minimum threshold; and a valid MAC address was obtained at 1920. In some instances, the minimum threshold depends on the noise-floor of the device receiving the UL-OFDMA transmission at 1910, and can be set such that the UL-OFDMA transmission is sufficiently higher than the minimum threshold such that a channel response can be computed. With regards to the validity of the MAC address, the frame header 914 shown in
At 2202, a downlink high-efficiency PHY (HE-PHY) frame is received. The downlink HE-PHY frame can be the DL HE-PHY frame 1106 discussed above in relation to
At 2204, an uplink orthogonal frequency-division multiple access (UL-OFDMA) transmission is received (e.g., in response to the downlink HE-PHY frame). The UL-OFDMA transmission can be the UL-OFDMA transmission 1108 discussed above in relation to
At 2206, a motion data set (e.g., the motion data set 1924) is generated based on channel responses computed from the UL-OFDMA transmission. The process 1900 described above in relation to
At 2208, motion within the environment is analyzed based on the motion data set. As an example, the motion data set can be used to simultaneously detect whether motion has occurred in respective motion detection zones 1006A, 1006B.
Some of the subject matter and operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Some of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer-readable storage medium for execution by, or to control the operation of, data-processing apparatus. A computer-readable storage medium can be, or can be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer-readable storage medium is not a propagated signal, a computer-readable storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer-readable storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices). The computer-readable storage medium can include multiple computer-readable storage devices. The computer-readable storage devices may be co-located (instructions stored in a single storage device), or located in different locations (e.g., instructions stored in distributed locations).
Some of the operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored in memory (e.g., on one or more computer-readable storage devices) or received from other sources. The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. In some instances, the data processing apparatus includes a set of processors. The set of processors may be co-located (e.g., multiple processors in the same computing device) or located in different location from one another (e.g., multiple processors in distributed computing devices). The memory storing the data executed by the data processing apparatus may be co-located with the data processing apparatus (e.g., a computing device executing instructions stored in memory of the same computing device), or located in a different location from the data processing apparatus (e.g., a client device executing instructions stored on a server device).
A computer program (also known as a program, software, software application, instructions, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
Some of the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors 810 suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and processors of any kind of digital computer. Generally, a processor receives instructions and data from a read-only memory or a random-access memory or both. Elements of a computer can include a processor that performs actions in accordance with instructions, and one or more memory devices that store the instructions and data. A computer may also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., non-magnetic drives (e.g., a solid-state drive), magnetic disks, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a phone, a tablet computer, an electronic appliance, a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, an Internet-of-Things (IoT) device, a machine-to-machine (M2M) sensor or actuator, or a portable storage device (e.g., a universal serial bus (USB) flash drive). Devices, e.g., memory 820, suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices, and others), magnetic disks (e.g., internal hard disks, removable disks, and others), magneto optical disks, and CD ROM and DVD-ROM disks. In some cases, the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, operations can be implemented on a computer having a display device (e.g., a monitor, or another type of display device) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse, a trackball, a stylus, a touch sensitive screen, or another type of pointing device) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
A computer system may include a single computing device, or multiple computers that operate in proximity or generally remote from each other and typically interact through a communication network. The communication network may include one or more of a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), a network including a satellite link, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks). A relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
In a general aspect of some of the examples described, motion is passively detected in an environment using wireless signals.
Example 1: A method, including: at a wireless sensor device that resides outside an environment, receiving wireless signals transmitted by wireless communication devices that reside inside the environment, each of the wireless signals being addressed to a respective one of the wireless communication devices. Example 1 includes generating a first set of motion data including a first set of motion scores and a first set of link identifiers based on a first subset of the wireless signals, the first set of motion scores based on beamforming reports in the first subset of the wireless signals, the first set of link identifiers based on address information in the first subset of the wireless signals. Example 1 includes generating a second set of motion data including a second set of motion scores and a second set of link identifiers based on a second subset of the wireless signals, the second set of motion scores based on channel responses computed from physical (PHY) frames in the second subset of the wireless signals, the second set of link identifiers based on address information in the second subset of the wireless signals. Example 1 includes generating a combined motion data set including the first and second sets of motion data; and by operation of one or more processors, analyzing motion within the environment based on the combined data set.
Example 2: The method of Example 1, wherein the wireless signals are transmitted in a wireless network, and the wireless sensor device is not associated to the wireless network.
Example 3: The method of Example 2, wherein the wireless network includes a wireless local area network, and at least one of the wireless communication devices includes an access point of the wireless local area network.
Example 4: The method of Example 2, wherein the wireless network includes an ad-hoc peer-to-peer wireless network, and the wireless communication devices include peer devices communicatively coupled via the ad-hoc peer-to-peer wireless network.
Example 5: The method of Example 1, including: determining the first set of link identifiers based on source and destination information in the address information in the first subset of the wireless signals; and determining the second set of link identifiers based on source and destination information in the address information in the second subset of the wireless signals.
Example 6: The method of Example 1, including: generating the first set of motion scores by a first type of motion detection process based on the beamforming reports in the first subset of the wireless signals; and generating the second set of motion scores by a second type of motion detection process based on the channel responses computed from the PHY frames in the second subset of the wireless signals.
Example 7: The method of Example 1, including computing the channel responses from preambles or training fields in the PHY frames.
Example 8: The method of Example 1, including: generating a third set of motion data including a third set of motion scores and a third set of link identifiers based on a third subset of the wireless signals; and generating the combined data set including the first, second and third sets of motion data.
Example 9: The method of Example 1, wherein analyzing motion within the environment based on the combined data set includes determining whether motion occurred within the environment.
Example 10: The method of Example 1, wherein the wireless sensor device is a first wireless sensor device, and the method includes: at a second wireless sensor device that resides outside the environment, receiving a second set of wireless signals transmitted by one or more of the wireless communication devices that reside inside the environment; generating a third set of motion data including a third set of motion scores and a third set of link identifiers based on the second set of wireless signals; and generating the combined data set including the first, second and third sets of motion data.
Example 11: A system, including: a wireless sensor device residing outside an environment, the wireless sensor device configured to receive wireless signals transmitted by wireless communication devices residing inside the environment, each of the wireless signals addressed to a respective one of the wireless communication devices. The system includes one or more processors configured to: generate a first set of motion data including a first set of motion scores and a first set of link identifiers based on a first subset of the wireless signals, the first set of motion scores based on beamforming reports in the first subset of the wireless signals, the first set of link identifiers based on address information in the first subset of the wireless signals; generate a second set of motion data including a second set of motion scores and a second set of link identifiers based on a second subset of the wireless signals, the second set of motion scores based on channel responses computed from physical (PHY) frames in the second subset of the wireless signals, the second set of link identifiers based on address information in the second subset of the wireless signals; generate a combined motion data set including the first and second sets of motion data; and analyze motion within the environment based on the combined motion data set.
Example 12: The system of Example 11, wherein the wireless sensor device includes the one or more processors.
Example 13: The system of Example 11, further including a processing device residing outside the environment and communicatively coupled to the wireless sensor device, wherein the one or more processors includes: a first processor configured to generate the first set of motion data, the second set of motion data, and the combined motion data set, the wireless sensor device including the first processor; and a second processor configured to analyze the motion within the environment based on the combined motion data set, the processing device including the second processor.
Example 14: The system of Example 11, further including a processing device residing outside the environment and communicatively coupled to the wireless sensor device, wherein the processing device includes the one or more processors.
Example 15: The system of Example 11, further including the wireless communication devices residing inside the environment.
Example 16: The system of Example 15, wherein the wireless signals are transmitted in a wireless network, and the wireless sensor device is not associated to the wireless network.
Example 17: The system of Example 16, wherein the wireless network includes an ad-hoc peer-to-peer wireless network, and the wireless communication devices include peer devices communicatively coupled through the ad-hoc peer-to-peer wireless network.
Example 18: The system of Example 15, wherein the wireless network includes a wireless local area network, and at least one of the wireless communication devices includes an access point of the wireless local area network.
Example 19: The system of Example 11, wherein the one or more processors are configured to compute the channel responses from preambles or training fields in the PHY frames.
Example 20: The system of Example 11, wherein the one or more processors are configured to: determine the first set of link identifiers based on source and destination information in the address information in the first subset of the wireless signals; and determine the second set of link identifiers based on source and destination information in the address information in the second subset of the wireless signals.
Example 21: The system of Example 11, wherein the one or more processors are configured to: generate the first set of motion scores by a first type of motion detection process based on the beamforming reports in the first subset of the wireless signals; and generate the second set of motion scores by a second type of motion detection process based on the channel responses computed from the PHY frames in the second subset of the wireless signals.
Example 22: The system of Example 11, wherein the wireless sensor device is a first wireless sensor device, the system further including a second wireless sensor device residing outside the environment. The second wireless sensor device is configured to: receive a second set of wireless signals transmitted by one or more of the wireless communication devices that reside inside the environment; and generate a third set of motion data including a third set of motion scores and a third set of link identifiers based on the second set of wireless signals.
Example 23: The system of Example 22, wherein the one or more processors are configured to generate the combined data set including the first, second and third sets of motion data.
Example 24: The system of Example 23, wherein the first wireless sensor device includes the one or more processors, and the second wireless sensor device is configured to transmit the third set of motion data to the first wireless sensor device.
Example 25: The system of Example 23, further including a processing device residing outside the environment and communicatively coupled to the first and second wireless sensor device, wherein the one or more processors includes: a first processor configured to generate the first set of motion data, the second set of motion data, and the combined motion data set, the first wireless sensor device including the first processor; and a second processor configured to analyze the motion within the environment based on the combined motion data set, the processing device including the second processor.
Example 26: The system of Example 25, wherein the second wireless sensor device is configured to transmit the third set of motion data to the first wireless sensor device, and the first wireless sensor device is configured to transmit the combined motion data set to the processing device.
Example 27: A non-transitory computer-readable medium storing instructions that, when executed by data processing apparatus, cause the data processing apparatus to perform the operations including: receiving wireless signals transmitted by wireless communication devices that reside inside an environment, each of the wireless signals addressed to a respective one of the wireless communication devices; generating a first set of motion scores based on beamforming reports in a first subset of the wireless signals; determining a first set of link identifiers based on address information in the first subset of the wireless signals; and generating a first set of motion data including the first set of motion scores and the first set of link identifiers. The operations include computing channel responses from physical (PHY) frames in a second subset of the wireless signals; generating a second set of motion scores based on the channel responses; determining a second set of link identifiers based on address information in the second subset of the wireless signals; and generating a second set of motion data including the second set of motion scores and the second set of link identifiers. The operations include generating a combined motion data set including the first and second sets of motion data.
Example 28: The computer-readable medium of Example 27, the operations further including analyzing motion within the environment based on the combined data set.
Example 29: The computer-readable medium of Example 28, wherein analyzing motion within the environment based on the combined data set includes determining whether motion occurred within the environment.
Example 30: The computer-readable medium of Example 27, wherein: determining the first set of link identifiers includes determining the first set of link identifiers based on source and destination information in the address information in the first subset of the wireless signals; and determining the second set of link identifiers includes determining the second set of link identifiers based on source and destination information in the address information in the second subset of the wireless signals.
Example 31: The computer-readable medium of Example 27, wherein: generating the first set of motion scores includes generating the first set of motion scores by a first type of motion detection process based on the beamforming reports in the first subset of the wireless signals; and generating the second set of motion scores includes generating the second set of motion scores by a second type of motion detection process based on the channel responses.
Example 32: The computer-readable medium of Example 27, wherein computing the channel responses includes computing the channel responses from preambles or training fields in the PHY frames in the second subset of the wireless signals.
Implementations of the one or more of the above-described examples may, in some cases, include one or more of the following features. The sensor device is a passive sensor device not associated with the wireless communication network of the remote environment and is in listening range of wireless devices transmitting on the wireless communication network of the remote environment. Identifying the wireless link is based on source and destination information in the signal including the beamforming report. One or more beamforming reports are exchanged in response to normal communications between a source wireless communication device and a destination wireless communication device. Associating the second channel response information with the wireless link includes matching a source identifier of the PHY frame to a source identifier of a wireless link in the remote environment. Combining the first channel response information and the second channel response information includes converting the first channel response information and the second channel response information to respective motion scores and combining the respective motion scores for each wireless link to generate a combined motion value indicative of motion. Beamforming reports may include a H-matrix, a V-matrix, or compressed V-matrix formats.
In some implementations, a computer-readable medium stores instructions that are operable when executed by a data processing apparatus to perform one or more operations of the above-described examples. In some implementations, a system (e.g., a wireless communication device, computer system, a combination thereof, or other type of system communicatively coupled to the wireless communication device) includes one or more data processing apparatuses and memory storing instructions that are operable when executed by the data processing apparatus to perform one or more operations of the first example.
In an Example 33, a motion detection method includes: receiving a downlink high-efficiency PHY (HE-PHY) frame transmitted by an access point device to wireless communication devices residing inside an environment, the downlink HE-PHY frame being addressed to the wireless communication devices. The method further includes receiving an uplink orthogonal frequency-division multiple access (UL-OFDMA) transmission transmitted by the wireless communication devices to the access point device in response to the downlink HE-PHY frame. The UL-OFDMA transmission includes uplink HE-PHY frames simultaneously transmitted on respective resource units by the respective wireless communication devices. The method additionally includes generating a motion data set including a set of motion scores and identifiers of the wireless communication devices based on channel responses computed from the uplink HE-PHY frames. Each channel response is computed from a respective one of the uplink HE-PHY frames. The method includes analyzing motion within the environment based on the motion data set.
Implementations of Example 33 may include one or more of the following features. The downlink HE-PHY frame has a first format, and the uplink HE-PHY frames have a second, different format. The first format is a high-efficiency single-user physical layer protocol data unit (HE SU PPDU) format, and the second format is a high-efficiency trigger-based physical layer protocol data unit (HE TB PPDU) format. The method can further include determining parameters for an uplink transmission based on the downlink HE-PHY frame, and after applying the parameters to an interface, receiving the UL-OFDMA transmission by operation of the interface. The downlink HE-PHY frame includes a trigger frame encoded in a data payload of the downlink HE-PHY frame, and determining the parameters includes determining the parameters based on the trigger frame encoded in the data payload of the downlink HE-PHY frame. The parameters can include at least one of a total bandwidth of the UL-OFDMA transmission, a HE-LTF type and guard interval duration of the UL-OFDMA transmission, information indicative of a midamble in the UL-OFDMA transmission, a resource unit allocation for the wireless communication devices, the identifiers of the wireless communication devices, or a target received signal strength indicator for the UL-OFDMA transmission. In some instances, the interface resides outside the environment, and receiving the downlink HE-PHY frame includes receiving the downlink HE-PHY frame by operation of the interface residing outside the environment, and receiving the UL-OFDMA transmission includes receiving the UL-OFDMA transmission by operation of the interface residing outside the environment The identifiers of the wireless communication devices include MAC addresses of the wireless communication devices. The method can further include computing the channel responses from High-Efficiency Long Training Fields (HE-LTFs) in the uplink HE-PHY frames. The channel responses correspond to respective motion detection zones in the environment, and analyzing motion within the environment based on the motion data set includes analyzing motion in the motion detection zones based on the motion data set.
In an Example 34, a non-transitory computer-readable medium stores instructions that are operable when executed by data processing apparatus to perform one or more operations of the Example 33. In an Example 35, a system includes wireless communication devices, a wireless-connected device and a computer device configured to perform one or more operations of Example 34.
Implementations of Example 35 may include one or more of the following features. One of the wireless communication devices can be or include the computer device. One of the wireless communication devices can be or include the network-connected device. The computer device can be located remote from the wireless communication devices and/or the network-connected device.
While this specification contains many details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. Certain features that are described in this specification in the context of separate implementations can also be combined. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple embodiments separately or in any suitable sub-combination.
A number of examples have been described. Nevertheless, it will be understood that various modifications can be made. Accordingly, other examples are within the scope of the following claims.
The present application is a continuation-in-part of U.S. patent application Ser. No. 16/807,776, filed Mar. 3, 2020, entitled “Using Over-the-Air Signals for Passive Motion Detection” the disclosure of which is hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
4054879 | Wright et al. | Oct 1977 | A |
4636774 | Galvin et al. | Jan 1987 | A |
4649388 | Atlas | Mar 1987 | A |
4740045 | Goodson et al. | Apr 1988 | A |
5270720 | Stove | Dec 1993 | A |
5613039 | Wang et al. | Mar 1997 | A |
5696514 | Nathanson et al. | Dec 1997 | A |
6075797 | Thomas | Jun 2000 | A |
6380882 | Hegnauer | Apr 2002 | B1 |
6573861 | Hommel et al. | Jun 2003 | B1 |
6636763 | Junker et al. | Oct 2003 | B1 |
6914854 | Heberley et al. | Jul 2005 | B1 |
7652617 | Kurtz et al. | Jan 2010 | B2 |
8463191 | Farajidana et al. | Jun 2013 | B2 |
8660578 | Yang et al. | Feb 2014 | B1 |
8671069 | Chang et al. | Mar 2014 | B2 |
8710984 | Wilson et al. | Apr 2014 | B2 |
8812654 | Gelvin et al. | Aug 2014 | B2 |
8832244 | Gelvin et al. | Sep 2014 | B2 |
8836344 | Habib et al. | Sep 2014 | B2 |
8836503 | Gelvin et al. | Sep 2014 | B2 |
9019148 | Bikhazi et al. | Apr 2015 | B1 |
9030321 | Breed | May 2015 | B2 |
9094071 | Nandagopalan et al. | Jul 2015 | B2 |
9247382 | Guo | Jan 2016 | B2 |
9253592 | Moscovich et al. | Feb 2016 | B1 |
9329701 | Lautner | May 2016 | B2 |
9462607 | Ma | Oct 2016 | B2 |
9523760 | Kravets | Dec 2016 | B1 |
9524628 | Omer et al. | Dec 2016 | B1 |
9551784 | Katuri et al. | Jan 2017 | B2 |
9584974 | Omer et al. | Feb 2017 | B1 |
9609468 | Moscovich et al. | Mar 2017 | B1 |
9628365 | Gelvin et al. | Apr 2017 | B2 |
9692459 | Maltsev et al. | Jun 2017 | B2 |
9743294 | Omer | Aug 2017 | B1 |
9866308 | Bultan et al. | Jan 2018 | B1 |
9869759 | Furuskog et al. | Jan 2018 | B2 |
9893790 | Moon | Feb 2018 | B2 |
9912513 | Kwon | Mar 2018 | B2 |
9923702 | Wang | Mar 2018 | B2 |
9927519 | Omer et al. | Mar 2018 | B1 |
9933517 | Olekas et al. | Apr 2018 | B1 |
9946351 | Sakaguchi et al. | Apr 2018 | B2 |
9989622 | Griesdorf et al. | Jun 2018 | B1 |
10004076 | Griesdorf et al. | Jun 2018 | B1 |
10045369 | Li | Aug 2018 | B2 |
10048350 | Piao et al. | Aug 2018 | B1 |
10051414 | Omer | Aug 2018 | B1 |
10077204 | Maschmeyer et al. | Sep 2018 | B2 |
10108903 | Piao et al. | Oct 2018 | B1 |
10109167 | Olekas et al. | Oct 2018 | B1 |
10109168 | Devison et al. | Oct 2018 | B1 |
10111228 | Griesdorf et al. | Oct 2018 | B2 |
10129853 | Manku et al. | Nov 2018 | B2 |
10462790 | Zhang | Oct 2019 | B1 |
10516468 | Yoon | Dec 2019 | B2 |
10524289 | Adachi et al. | Dec 2019 | B2 |
10630519 | Lee | Apr 2020 | B2 |
10951453 | Nam | Mar 2021 | B2 |
11039440 | Zhang | Jun 2021 | B1 |
11246162 | Adachi | Feb 2022 | B2 |
20020080014 | McCarthy et al. | Jun 2002 | A1 |
20030108119 | Mohebbi et al. | Jun 2003 | A1 |
20050128067 | Zakrewski | Jun 2005 | A1 |
20060152404 | Fullerton et al. | Jul 2006 | A1 |
20060217132 | Drummond-Murray et al. | Sep 2006 | A1 |
20060284757 | Zemany | Dec 2006 | A1 |
20070296571 | Kolen | Dec 2007 | A1 |
20080057978 | Karaoguz et al. | Mar 2008 | A1 |
20080119130 | Sinha | May 2008 | A1 |
20080240008 | Backes et al. | Oct 2008 | A1 |
20080258907 | Kalpaxis | Oct 2008 | A1 |
20080300055 | Lutnick et al. | Dec 2008 | A1 |
20080303655 | Johnson | Dec 2008 | A1 |
20090062696 | Nathan et al. | Mar 2009 | A1 |
20090180444 | McManus et al. | Jul 2009 | A1 |
20100073686 | Medeiros et al. | Mar 2010 | A1 |
20100127853 | Hanson et al. | May 2010 | A1 |
20100130229 | Sridhara et al. | May 2010 | A1 |
20100207804 | Hayward et al. | Aug 2010 | A1 |
20100306320 | Leppanen et al. | Dec 2010 | A1 |
20100315284 | Trizna et al. | Dec 2010 | A1 |
20110019587 | Wang | Jan 2011 | A1 |
20110035491 | Gelvin et al. | Feb 2011 | A1 |
20110090081 | Khorashadi et al. | Apr 2011 | A1 |
20110263946 | El Kaliouby et al. | Oct 2011 | A1 |
20120115512 | Grainger et al. | May 2012 | A1 |
20120146788 | Wilson | Jun 2012 | A1 |
20120182429 | Forutanpour et al. | Jul 2012 | A1 |
20120184296 | Milosiu | Jul 2012 | A1 |
20120283896 | Persaud | Nov 2012 | A1 |
20130017836 | Chang et al. | Jan 2013 | A1 |
20130090151 | Ngai et al. | Apr 2013 | A1 |
20130094538 | Wang | Apr 2013 | A1 |
20130113647 | Sentelle et al. | May 2013 | A1 |
20130162459 | Aharony et al. | Jun 2013 | A1 |
20130178231 | Morgan | Jul 2013 | A1 |
20130283256 | Proud | Oct 2013 | A1 |
20140126323 | Li et al. | May 2014 | A1 |
20140135042 | Buchheim et al. | May 2014 | A1 |
20140148195 | Bassan-Eskenazi et al. | May 2014 | A1 |
20140247179 | Furuskog | Sep 2014 | A1 |
20140266669 | Fadell et al. | Sep 2014 | A1 |
20140274218 | Kadiwala et al. | Sep 2014 | A1 |
20140286380 | Prager et al. | Sep 2014 | A1 |
20140329540 | Duggan et al. | Nov 2014 | A1 |
20140355713 | Bao et al. | Dec 2014 | A1 |
20140361920 | Katuri et al. | Dec 2014 | A1 |
20150043377 | Cholas et al. | Feb 2015 | A1 |
20150049701 | Tian et al. | Feb 2015 | A1 |
20150063323 | Sadek et al. | Mar 2015 | A1 |
20150078295 | Mandyam et al. | Mar 2015 | A1 |
20150098377 | Amini et al. | Apr 2015 | A1 |
20150131517 | Chu | May 2015 | A1 |
20150159100 | Shi et al. | Jun 2015 | A1 |
20150181388 | Smith | Jun 2015 | A1 |
20150195100 | Imes et al. | Jul 2015 | A1 |
20150212205 | Shpater | Jul 2015 | A1 |
20150245164 | Merrill | Aug 2015 | A1 |
20150269825 | Tran | Sep 2015 | A1 |
20150288745 | Moghaddam et al. | Oct 2015 | A1 |
20150304886 | Liu et al. | Oct 2015 | A1 |
20150309166 | Sentelle et al. | Oct 2015 | A1 |
20150312877 | Bhanage | Oct 2015 | A1 |
20150338507 | Oh et al. | Nov 2015 | A1 |
20150350849 | Huang et al. | Dec 2015 | A1 |
20150358995 | Li | Dec 2015 | A1 |
20150366542 | Brown et al. | Dec 2015 | A1 |
20150382342 | Seok | Dec 2015 | A1 |
20160018508 | Chen et al. | Jan 2016 | A1 |
20160066342 | Ma | Mar 2016 | A1 |
20160087775 | Hedayat | Mar 2016 | A1 |
20160088438 | O'Keeffe | Mar 2016 | A1 |
20160088631 | Hedayat et al. | Mar 2016 | A1 |
20160105304 | Kwon | Apr 2016 | A1 |
20160135205 | Barbu et al. | May 2016 | A1 |
20160150418 | Kang et al. | May 2016 | A1 |
20160165574 | Chu | Jun 2016 | A1 |
20160183059 | Nagy et al. | Jun 2016 | A1 |
20160183192 | Kang | Jun 2016 | A1 |
20160187475 | Horng et al. | Jun 2016 | A1 |
20160192351 | Kwon | Jun 2016 | A1 |
20160203689 | Hintz et al. | Jul 2016 | A1 |
20160205672 | Kim | Jul 2016 | A1 |
20160210838 | Yan et al. | Jul 2016 | A1 |
20160255606 | Chu | Sep 2016 | A1 |
20160262355 | Swan | Sep 2016 | A1 |
20160302185 | Sun | Oct 2016 | A1 |
20160315681 | Moon | Oct 2016 | A1 |
20160315796 | Kwon | Oct 2016 | A1 |
20160330714 | Hedayat | Nov 2016 | A1 |
20160330732 | Moon | Nov 2016 | A1 |
20160345349 | Ferdowsi | Nov 2016 | A1 |
20160363663 | Mindell et al. | Dec 2016 | A1 |
20170042488 | Muhsin | Feb 2017 | A1 |
20170048890 | Sun | Feb 2017 | A1 |
20170052247 | Kong et al. | Feb 2017 | A1 |
20170055126 | O'Keeffe | Feb 2017 | A1 |
20170055131 | Kong et al. | Feb 2017 | A1 |
20170059190 | Stefanski et al. | Mar 2017 | A1 |
20170086281 | Avrahamy | Mar 2017 | A1 |
20170090026 | Joshi et al. | Mar 2017 | A1 |
20170111852 | Selen et al. | Apr 2017 | A1 |
20170118000 | Chu | Apr 2017 | A1 |
20170123528 | Hu et al. | May 2017 | A1 |
20170126488 | Cordeiro et al. | May 2017 | A1 |
20170146656 | Belsley et al. | May 2017 | A1 |
20170150255 | Wang et al. | May 2017 | A1 |
20170155439 | Chang et al. | Jun 2017 | A1 |
20170177618 | Hu et al. | Jun 2017 | A1 |
20170180882 | Lunner et al. | Jun 2017 | A1 |
20170195893 | Lee et al. | Jul 2017 | A1 |
20170201305 | Moon | Jul 2017 | A1 |
20170223628 | Snyder et al. | Aug 2017 | A1 |
20170251392 | Nabetani | Aug 2017 | A1 |
20170278374 | Skaaksrud | Sep 2017 | A1 |
20170280351 | Skaaksrud | Sep 2017 | A1 |
20170302422 | Chu | Oct 2017 | A1 |
20170311279 | Allegue et al. | Oct 2017 | A1 |
20170311574 | Swan | Nov 2017 | A1 |
20170343658 | Ramirez et al. | Nov 2017 | A1 |
20180006858 | Kwon | Jan 2018 | A1 |
20180027389 | Shirakata et al. | Jan 2018 | A1 |
20180086264 | Pedersen | Mar 2018 | A1 |
20180106885 | Blayvas | Apr 2018 | A1 |
20180120420 | McMahon et al. | May 2018 | A1 |
20180168552 | Shi et al. | Jun 2018 | A1 |
20180180706 | Li et al. | Jun 2018 | A1 |
20180220417 | Matsuo | Aug 2018 | A1 |
20180288587 | Allegue Martinez et al. | Oct 2018 | A1 |
20180288769 | Chu | Oct 2018 | A1 |
20180288799 | Min | Oct 2018 | A1 |
20180330293 | Kulkarni et al. | Nov 2018 | A1 |
20190007251 | Zhang | Jan 2019 | A1 |
20190033446 | Bultan et al. | Jan 2019 | A1 |
20190109674 | Hedayat | Apr 2019 | A1 |
20190140728 | Moon | May 2019 | A1 |
20190146075 | Kravets | May 2019 | A1 |
20190146076 | Kravets et al. | May 2019 | A1 |
20190149210 | Seok | May 2019 | A1 |
20190156943 | Kocherscheidt et al. | May 2019 | A1 |
20190238377 | Lee | Aug 2019 | A1 |
20190261418 | Chu | Aug 2019 | A1 |
20190272718 | Hurtig et al. | Sep 2019 | A1 |
20190379506 | Cheng | Dec 2019 | A1 |
20200021466 | Da Silva et al. | Jan 2020 | A1 |
20200213172 | Lee | Jul 2020 | A1 |
20200274585 | Huang | Aug 2020 | A1 |
20200305231 | Sadeghi et al. | Sep 2020 | A1 |
20210013933 | Zhou | Jan 2021 | A1 |
20210399797 | Khan | Dec 2021 | A1 |
20220311557 | Yamamoto | Sep 2022 | A1 |
Number | Date | Country |
---|---|---|
2015328533 | Feb 2017 | AU |
2834522 | May 2014 | CA |
2945702 | Aug 2015 | CA |
3202200 | May 2022 | EP |
1997-507298 | Jul 1997 | JP |
2004286567 | Oct 2004 | JP |
2013072865 | Apr 2013 | JP |
2014021574 | Feb 2014 | WO |
2014201574 | Dec 2014 | WO |
2015168700 | Nov 2015 | WO |
2016005977 | Jan 2016 | WO |
2016066822 | May 2016 | WO |
2016110844 | Jul 2016 | WO |
2017106976 | Jun 2017 | WO |
2017132765 | Aug 2017 | WO |
2017177303 | Oct 2017 | WO |
2017210770 | Dec 2017 | WO |
2018094502 | May 2018 | WO |
2019041019 | Mar 2019 | WO |
Entry |
---|
WIPO, International Search Report and Written Opinion dated Apr. 13, 2021, in PCT/CA2021/050202, 9 pgs. |
EPO, Extended European Search Report issued in Application No. 21763888.1 dated Jul. 21, 2023, 7 pages. |
USPTO, Final Office Action dated Aug. 10, 2020, in U.S. Appl. No. 16/807,776, 18 pgs. |
USPTO, Non-Final Office Action dated Apr. 22, 2020, in U.S. Appl. No. 16/807,776, 38 pgs. |
USPTO, Notice of Allowance dated Oct. 20, 2020, in U.S. Appl. No. 16/807,776, 8 pgs. |
WIPO, International Search Report and Written Opinion dated Jan. 5, 2021, in PCT/CA2020/051572, 8 pgs. |
Dekker, et al., “Gesture Recognition with a Low Power FMCW Radar and a Deep Convolutional Neural Network”, Proceedings of the 14th European Radar Conference, Nuremberg, Germany, Oct. 11-13, 2017, 4 pgs. |
Domenico, et al., “Exploring Training Options for RF Sensing Using CSI”, IEEE Communications Magazine, 2018, vol. 56, Issue 5, pp. 116-123, 8 pgs. |
Iqbal, et al., “Indoor Motion Classification Using Passive RF Sensing Incorporating Deep Learning”, ISSN: 2577-2465, Electronic IEEE, Jun. 3, 2018, 5 pgs. |
Kosba , et al., “Robust WLAN Device-free Passive Motion Detection”, IEEE Wireless Communications and Networking Conference, Apr. 2012, 6 pgs. |
Youssef, Moustafa , et al., “Challenges: Device-free Passive Localization for Wireless Environments”, Mobicom 07 Proceedings of the 13th Annual ACM International Conference on Mobile Computing and Networking, Sep. 2007, 11 pgs. |
EPO, Extended European Search Report issued in Application No. 20922672.9 on Apr. 9, 2024, 7 pages. |
Liu, Wenyuan , et al., “Bfp: Behavior-Free Passive Motion Detection Using PHY Information”, Wireless Personal Communications, vol. 83 No. 2, Feb. 15, 2015, pp. 1035-1055, 21 pages. |
Number | Date | Country | |
---|---|---|---|
20210278520 A1 | Sep 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16807776 | Mar 2020 | US |
Child | 17181077 | US |