Passive motion detection using over-the-air signals

By monitoring the air interface signals in the wireless communication network, especially beamforming reports and physical frames, and using channel state changes to detect motion, the problem of passive sensing motion in the prior art is solved, and motion detection and classification with high time resolution is achieved.

CN115461646BActive Publication Date: 2025-08-19COGNITIVE SYST
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202080100344.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-03
Filing Date
2020-11-18
Publication Date
2025-08-19
Estimated Expiration
2040-11-18

AI Technical Summary

Technical Problem

The existing motion detection system is difficult to realize passive motion detection in indoor or outdoor areas, especially in wireless communication networks, and it is impossible to effectively sense the motion of an object without being associated with the network.

Method used

Passive motion sensing is achieved by monitoring air interface signals in wireless communication networks, especially beamforming reports and physical frames, extracting motion information, and using beamforming dynamic information and channel state changes to detect motion, including analyzing changes in feedback matrix and guidance matrix.

Benefits of technology

It is realized that motion detection can be detected in geographically constrained areas without the need to be associated with the wireless network, providing high-temporal resolution motion detection capabilities, and being able to distinguish different categories of motion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115461646B_ABST
    Figure CN115461646B_ABST
Patent Text Reader

Abstract

In a general aspect, motion is passively detected in an environment using wireless signals. In one example, a wireless sensor device residing outside the environment receives wireless signals transmitted by a wireless communication device residing inside the environment. One or more sets of motion data are generated, each of the one or more sets of motion data having a corresponding set of link identifiers. The one or more sets of motion data can be based on beamforming reports in a first subset of wireless signals and physical (PHY) frames in a second subset of wireless signals. The corresponding set of link identifiers can be based on address information in the first subset and the second subset of wireless signals. A combined motion data set is generated that includes the one or more sets of motion data, and motion within the environment is analyzed based on the combined motion data set.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The following description relates to passive motion detection using over-the-air signals.

[0002] Motion detection systems have been used to detect the movement of objects in, for example, indoor or outdoor areas. In some example motion detection systems, infrared or optical sensors are used to detect the movement of objects within the sensor's field of view. Motion detection systems have been used in security systems, automated control systems, and other types of systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] Figure 1 is a diagram illustrating an example beamforming system including a beamformer and a beamformee.

[0004] Figures 2A to 2E Various examples of at least one listening device and a wireless communication network system are shown.

[0005] Figures 3A to 3E Various examples of at least one listening device and an environment including a moving object are shown.

[0006] Figure 4 is a diagram showing received and observed wireless signals that can be used to extract motion.

[0007] Figure 5 An example of a process that may be used to extract motion data from a wireless signal is shown.

[0008] Figure 6 is a diagram illustrating a flow chart for detecting motion in a remote environment by a listening device.

[0009] Figure 7 An example of a process that may be used to extract motion data from a wireless signal is shown.

[0010] Figure 8 is a block diagram illustrating an example sensor device.

[0011] Figure 9 An example of a physical (PHY) frame including a preamble including a training field is shown. DETAILED DESCRIPTION

[0012] In some aspects described, a wireless sensor device (e.g., a listening device) eavesdrops on air signals (e.g., wireless signals) exchanged between network devices in a space. In some cases, the air signals include beamforming reports, physical (PHY) frames containing preambles or training symbols, or both. In some instances, the listening device is able to extract movement or motion information by examining available air information typically exchanged by wireless devices communicating with each other. Motion can be detected based on the extracted movement or motion information. The listening device can obtain air information exchanged between wireless devices without requiring the listening device to have any association with the wireless network that is exchanging air information. In this case, the air information can be used to passively sense the motion of objects in a remote environment. In some cases, by examining the beamforming dynamic information exchanged between the devices, the motion detection area can be constrained to the space or environment where the communicating wireless device resides. In some instances, this enables the listening device to be placed anywhere within the listening range of the communicating wireless device.

[0013] In some instances, the systems and techniques described herein can provide one or more advantages. For example, a listening device can provide passive motion sensing, thereby enabling discrete motion detection, such as for law enforcement and security purposes. Furthermore, the listening device can passively detect motion based on a wireless communication device communicating using known protocols or processes implemented on commercially available wireless communication devices (e.g., aspects of the IEEE 802.11 standard). In some instances, motion can be detected within a geographically constrained sensing zone regardless of the placement of the listening device.

[0014] Beamforming dynamics information may indicate the behavior of wireless communication devices when performing beamforming operations over time, or information generated or used by these wireless communication devices when performing beamforming operations over time. For example, beamforming dynamics information may include feedback or steering matrices generated by wireless communication devices communicating in accordance with IEEE 802.11 standards (e.g., IEEE 802.11-2012 or IEEE 802.11ac-2013). By analyzing changes in the beamforming dynamics information of wireless communication devices, motion in 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 channel conditions (which may be caused by the motion of an object). Beamforming between devices may be performed based on some knowledge of the channel conditions (e.g., via feedback attributes generated by a receiver), where the channel conditions may be used to generate one or more steering attributes (e.g., steering matrices) that are applied by a transmitter device to shape a transmitted beam / signal in one or more specific directions. Thus, changes in the steering or feedback properties used in the beamforming process indicate changes in channel conditions, which may be caused by moving objects in the space accessed by the wireless communication system.

[0015] In some implementations, for example, a steering matrix can be generated at a transmitter device based on a feedback matrix derived from channel sounding and communicated by a receiver device (beamformer) to a transmitter device (beamformer). Because the steering matrix and the feedback matrix are related to the propagation characteristics of the channel, these matrices change as an object moves within the channel. Changes in the channel characteristics are reflected in these matrices accordingly, and by analyzing the matrices, motion can be detected, and different characteristics of the detected motion can be determined.

[0016] Channel sounding may refer to a process performed to obtain 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., Null Data Packets (NDPs) as specified in the IEEE 802.11ac-2013 standard) and waiting for the receiver devices to provide feedback including channel measurements. In some instances, the feedback includes a feedback matrix calculated by each receiver device. This feedback can then be used to generate a steering matrix used to precode data transmissions by creating a set of steered beams, which can optimize reception at one or more receiver devices. The channel sounding process can be performed repeatedly by the wireless communication system. Thus, the steering matrix can be repeatedly updated, for example, to minimize the impact of changes in the propagation channel on data transmission quality. By observing changes in the steering matrix (or feedback matrix) over time, the motion of objects in the channel can be detected. Furthermore, in some cases, different categories of motion (e.g., human motion versus dog / cat motion) can be distinguished.

[0017] Changes to the beamforming or feedback matrix can be determined in a variety of ways. In some cases, for example, the variance of the entries in the matrix, or the linear independence of the matrix columns (e.g., rank), can be analyzed. This information can, for example, enable the determination of multiple independent fading paths present in the channel. In some cases, if the coefficients of this linear independence are changing, the change may be limited to a certain area due to a moving object. If the number of linearly independent columns themselves changes, the change may be due to a broad change across the channel, thereby enabling the creation and destruction of different types of multipath. In some cases, the time series of the correlations between the columns can be analyzed to determine, for example, how fast or slow these changes occur.

[0018] In some instances, beamforming is performed according to a standardized process. For example, beamforming can be performed according to the IEEE 802.11 standard (e.g., 802.11n, 802.11ac, 802.11ax, etc.). Beamforming can be an optional or mandatory feature of the standard. Beamforming can be performed according to other standards or in other ways. In some cases, the 802.11 standard applies adaptive beamforming using multi-antenna spatial diversity to improve the quality of data transmission between network nodes. Moving objects change the spatial characteristics of the environment by changing the multipath propagation of the transmitted wireless signal. As a result, such movement can affect the beamforming steering configuration performed by the device according to the 802.11 standard. By observing how the spatial configuration of the beamformer (e.g., beamforming) changes over time (e.g., via a steering matrix generated by the beamformer based on a feedback matrix), physical movement within the area covered by the wireless transmission can be detected.

[0019] Figure 1 An example beamforming system 100 is shown, which includes a beamformer 110 and a beam receiver 120. In general, beamforming is a technique that focuses or directs a wireless signal (e.g., a radio frequency (RF) signal) toward a specific receiving device, rather than having the signal spread in all directions from a broadcast antenna. Figure 1 In an example embodiment, beamformer 110 can be configured to focus a wireless signal toward beamformee 120. Beamformer 110 can include a transmitter 112 and a steering matrix calculator 116. Beamformee 120 can include a receiver 122 and a feedback matrix calculator 126. In some implementations, steering matrix calculator 116 and feedback matrix calculator 126 are implemented using a general-purpose or special-purpose microprocessor, a processor of any type of digital computer, or dedicated logic circuitry (e.g., a field programmable gate array or an application-specific integrated circuit). Beamformer 110 and beamformee 120 are communicatively coupled to each other via a channel 130. Beamformer 110 transmits wireless signal 102 to beamformee 120 using transmitter 112. The transmission of wireless signal 102 is modulated via channel 130. In some examples, signal 102 includes a null data packet (NDP), which can be used as a channel sounding packet. Beamformee 120 receives signal 102 using receiver 122. In some cases, transmitter 112 and receiver 122 each include multiple antennas and form a multiple-input / multiple-output (MIMO) system.

[0020] In some implementations, beamformer 120 determines channel state information (CSI) 124 based on the wireless signal(s) received at receiver 122. Beamformer 120 then calculates feedback matrix 104 based on CSI 124 using feedback matrix calculator 126. In some cases, feedback matrix calculator 126 generates feedback matrix 104 that indicates conditions of channel 130. Thus, changes over time in feedback matrix 104 can indicate changes in conditions of channel 130, which in turn can be correlated to changes occurring in the spatial region spanned by channel 130 (e.g., the region between beamformer 110 and beamformer 120). Thus, changes over time in feedback matrix 104 can be used to wirelessly sense changes occurring in the spatial region spanned by channel 130. By way of example, changes over time in feedback matrix 104 can be used for motion detection (e.g., the presence, location, or intensity of motion), presence detection, gesture detection, and other applications.

[0021] Feedback matrix 104 is sent by beamformer 110 to beamformer 110. In some cases, feedback matrix 104 is sent to beamformer 110 in a compressed format (e.g., as a compressed version of feedback matrix 104 calculated by feedback matrix calculator 126). In some implementations, feedback matrix calculator 126 generates a V matrix or a compressed V matrix (CV matrix). Beamformer 110 then uses steering matrix calculator 116 to generate steering matrix 114 based on feedback matrix 104. Transmitter 112 then uses steering matrix 114 to focus or steer the next wireless signal transmission to beamformer 120.

[0022] In some implementations, the beamforming process performed by system 100 is based on a standard, such as, for example, the IEEE 802.11 standard, etc. In some cases, beamforming system 100 can be modeled by equation (1):

[0023] y k =H k Q k x k +n (1)

[0024] Among them, x k represents the vector [x1, x2, ..., x] transmitted by the transmitter 112 in the subcarrier frequency k. n ], y k represents the vector [y1,y2,…,y n ], H k Indicates dimension N RX ×N TX (where N RX is the number of antennas at the receiver, and N TX is the number of antennas at the transmitter), the channel response matrix for subcarrier frequency k, Q k is used to send signal x k and has dimension N TX ×N STS (where N STS is x k The number of elements in ) is the steering matrix, and n represents white (spatial and temporal) Gaussian noise.

[0025] In some implementations, explicit beamforming may be used. For example, explicit beamforming requires explicit feedback of the current channel state from beamformer 120. In such an implementation, beamformer 120 calculates the channel matrix H based on the long training field (LTF) included in the null data packet sent by beamformer 110 to beamformer 120. k . Then the channel matrix H can be k Encoded into matrix V kIn some cases, beamformee 120 sends matrix V to beamformer 110 in the beamforming report field using an Action No Ack Management Frame. k Beamformee 120 may also perform a similar beamforming process to determine a steering matrix for sending a beamformed signal to beamformer 110 .

[0026] Figure 2A 2 is a diagram illustrating an example wireless communication network system 200. In some instances, the wireless communication network system 200 is configured to operate as a wireless local area network (WLAN), a personal area network (PAN), a metropolitan area network (MAN), or other types of wireless networks. Examples of WLANs include networks configured to operate according to one or more of the 802.11 family of standards developed by the IEEE (e.g., Wi-Fi networks), etc. Examples of PANs include networks configured to operate according to short-range communication standards (e.g., (Bluetooth), Near Field Communication (NFC), ZigBee), millimeter wave communication, etc.

[0027] 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 may operate in the wireless communication network system 200, for example, according to a wireless network standard or other type of wireless communication protocol. The wireless devices 220A, 220B, 220C, 220D may include or may be mobile devices (e.g., smart phones, smart watches, tablets, laptops, etc.), wireless-enabled devices (e.g., smart thermostats, Wi-Fi-enabled cameras, smart televisions (TVs)), or other types of devices that communicate in the wireless communication network system 200. In some examples, one or more of the wireless devices 220A, 220B, 220C, 220D (e.g., Figure 2A The wireless device 220D shown in FIG2 may also be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to 2G standards such as Global System for Mobile (GSM) and Enhanced Data Rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), and Time Division Synchronous Code Division Multiple Access (TD-SCDMA); 4G standards such as Long Term Evolution (LTE) and LTE-Advanced (LTE-A); and 5G standards, among others.

[0028] exist Figure 2AIn the example shown, wireless devices 220A, 220B, 220C, and 220D are wirelessly connected to and communicate with AP 230. In some implementations, wireless devices 220A, 220B, 220C, and 220D and AP 230 communicate with each other via RF signals, for example, in accordance with the IEEE 802.11 family of standards or other standards. In some implementations, AP 230 may be an access point that enables wireless devices 220A, 220B, 220C, and 220D to connect to a wired network, or may be a node of a wireless mesh network (e.g., a commercially available mesh network system (e.g., Google Wi-Fi, E-MESH, etc.)). In examples where AP 230 is a node of a wireless mesh network, wireless devices 220A, 220B, 220C, and 220D may be leaf devices (e.g., mobile devices, smart devices, laptop computers, etc.) that access the mesh network through AP 230.

[0029] When wireless devices 220A, 220B, 220C, 220D seek to connect to or communicate with AP 230, they may undergo an authentication and association phase with AP 230. Furthermore, the association phase assigns address information (e.g., an association ID or other type of unique identifier) to each of wireless devices 220A, 220B, 220C, 220D. For example, within the IEEE 802.11 family of standards for Wi-Fi, each wireless device 220A, 220B, 220C, 220D may identify itself using a unique 48-bit address (e.g., a MAC address), but wireless devices 220A, 220B, 220C, 220D may identify themselves using other types of identifiers embedded within one or more fields of a message. The address information (e.g., a MAC address or other type of unique identifier) may be hard-coded and fixed, or may be randomly generated according to network address rules at the beginning of the association process. Once wireless devices 220A, 220B, 220C, and 220D have been associated with AP 230, their respective address information may remain fixed. Subsequently, transmissions from AP 230 or wireless devices 220A, 220B, 220C, and 220D may include at least 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., AP 230). The address information (e.g., the MAC addresses of the transmitting and receiving devices) is not part of the encrypted or scrambled payload. Therefore, the identities of the transmitting and receiving devices (e.g., as indicated by the address information of the transmitting and receiving devices) may be accessible to a device within listening range of the communications and eavesdropping on communications between the transmitting and receiving devices. For example, the identities of the transmitting and receiving devices may be used by an eavesdropping device to determine a link identifier, which is used to establish the identity of a corresponding link within wireless communication network system 200.

[0030] Listening device 250-1 resides external to wireless communication network system 200. For example, listening device 250-1 is not connected to, associated with, or communicates via any of wireless devices 220A, 220B, 220C, 220D, or AP 230. In some instances, the wireless communication network system 200 is unaware of the existence of listening device 250-1. For example, listening device 250-1 may not undergo the aforementioned authentication or association phases, and as a result, neither AP 230 nor wireless devices 220A, 220B, 220C, 220D are aware of the presence or existence of listening device 250-1.

[0031] Although the listening device 250-1 is not connected to the wireless communication network system 200, is not associated with the wireless communication network system 200, or is not communicating through the wireless communication network system 200, the listening device 250-1 can be within the listening range of transmissions occurring within the wireless communication network system 200. As a result, the listening device 250-1 can eavesdrop on over-the-air (OTA) signals (e.g., wireless signals) exchanged between the wireless devices 220A, 220B, 220C, 220D and the AP 230. Such OTA signals can include beamforming reports, physical (PHY) frames, or a combination thereof. In addition, each OTA signal transmitted in the wireless communication network system 200 can be associated with a corresponding link because, as described above, each OTA signal can include or contain address information of the transmitting device and the receiving device (e.g., a MAC address or other type of unique identifier). The listening range in which eavesdropping may occur can depend at least in part on the frequency band used for the OTA signal or the environment through which the OTA signal is exchanged (e.g., Figure 1 As an example, the listening range of a 2.4 GHz Wi-Fi signal may be from about 50 feet to about 100 feet. As another example, the listening range of a sub-GHz (e.g., 900 MHz) signal may be greater than about 1 kilometer.

[0032] As discussed above, the OTA signal may include a beamforming report. Such a beamforming report 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 beamforming processing. The information within the beamforming report may directly or indirectly (e.g., through a transform) represent the channel response or channel state. For example, in some cases, a MIMO system requires measurement and characterization of the propagation between two communicating wireless devices. Such measurement and characterization of the propagation may be used to perform beamforming or beam steering to optimize performance. Figure 2A In the example of FIG. 1 , one or more of the wireless devices 220A, 220B, 220C, 220D or the AP 230 may support MIMO beamforming. Therefore, one or more of the wireless devices 220A, 220B, 220C, 220D or the AP 230 may perform periodic channel characterization of the communication link between two communicating devices. In some implementations of periodic channel characterization, at a source device (e.g., Figure 1 ) and a destination device (e.g., a beamformer 110 as described in Figure 1As an example, AP 230 (e.g., source device or beamformer 110) may send a probe request to wireless device 220B (e.g., destination device or beamformer 120). Wireless device 220B receives and analyzes the signal and sends a measurement result (e.g., channel response) to AP 230. The measurement result may be sent as a beamforming report 260 (e.g., Figure 1 The beamforming report 260 is sent to AP 230 in the form of a feedback matrix 104 in the wireless communication network system 200. This process occurs periodically to maintain good beamforming performance between wireless device 220B and AP 230. In this example, both parts of the beamforming exchange (the probe request and the measurement results) occur over the air. As a result, listening device 250-1, which is within the listening range of wireless communication network system 200, can eavesdrop on beamforming report 260 sent by wireless device 220B to AP 230.

[0033] As discussed above, each OTA communication conducted by the wireless devices 220A, 220B, 220C, 220D and the AP 230 includes address information (e.g., MAC addresses) of the transmitting and receiving devices. Additionally, the address information is not part of the encrypted or scrambled payload. Thus, when transmitting OTA signals within the wireless communication network system 200, the listening device 250-1 has access to both the channel response payload (e.g., included in the beamforming report 260) and the address information of the devices involved in the exchange. Thus, each beamforming report 260 is associated with a corresponding link within the wireless communication network system 200 (e.g., Figure 2A 20B and the AP 230). Thus, each beamforming report 260 indicates a channel response or channel state for a given link within the wireless communication network system 200. By repeatedly observing the beamforming reports 260 exchanged between the wireless device 220B and the AP 230, wireless sensing of the link between the wireless device 220B and the AP 230 can be performed. As an example, changes over time in the beamforming reports 260 can be used to detect motion (e.g., the presence, location, or intensity of motion), the presence of an object, or a gesture occurring in the spatial region between the wireless device 220B and the AP 230. In the above example, the probe requests and measurement results are exchanged between the wireless device 220B and the AP 230; however, in other examples, the probe requests and measurement results are exchanged between any pair of devices selected from the wireless devices 220A, 220B, 220C, 220D and the AP 230 (e.g., Figure 2A 2 and the wireless device 220C).

[0034] As discussed above, the OTA signal may include, for example, a physical (PHY) frame transmitted by one or more of the wireless devices 220A, 220B, 220C, 220D or the AP 230. As an example, in Figure 2A In the illustrated example, PHY frames are transmitted over the air by wireless devices 220A and 220D; however, in other examples, PHY frames may be transmitted by any of wireless devices 220A, 220B, 220C, 220D, and AP 230. In an example (e.g., in an 802.11 transmission), the PHY frame may include a preamble including a training field 270. The preamble or training field 270 of the PHY frame (e.g., in a decoded 802.11 transmission) may be used to calculate the channel response, but additionally or alternatively, other fields or portions of the PHY frame may be used to calculate the channel response. A listening device 250-1 within listening range of the wireless communication network system 200 may eavesdrop on the PHY frame. The PHY frame may also include address information (e.g., a MAC address) of the transmitting device. In contrast to the link associated with the beamforming report 260, the link associated with the channel response calculated based on the PHY frame may correspond to the physical path between the device transmitting the PHY frame and the listening device 250-1. Thus, while the link associated with beamforming report 260 may represent an environment contained within wireless communication network system 200 (e.g., the physical path between the devices involved in the exchange, as indicated by their address information), the link associated with the channel response calculated from the PHY frame may represent an environment that extends at least partially outside of wireless communication network system 200 (e.g., the physical path between the device transmitting the PHY frame and listening device 250-1). Nevertheless, by repeatedly observing the PHY frames, wireless sensing of the link between the transmitting device and listening device 250-1 can be performed. As an example, changes in the channel response over time can be used to detect motion (e.g., the presence, location, or intensity of motion), the presence of an object, or a gesture occurring in the spatial region between the transmitting device and listening device 250-1.

[0035] Figure 9 An example of a PHY frame 900 including a preamble including a training field is shown. The example PHY frame 900 may be transmitted in an 802.11 communication. Figure 9In the example of FIG. 1 , an OTA transmission of a PHY frame 900 (e.g., on a Wi-Fi network) may begin with a legacy preamble 902 (e.g., lasting 20 microseconds) and may include a MIMO modulated component 904. The legacy preamble 902 may include a legacy long training field (L-LTF) 906. The MIMO modulated data may include one or more VHT long training fields (VHT-LTF1 through VHT-LTFN) 908. Either the legacy training field 906 or the VHT training field 908 may be used (e.g., by a commercially available Wi-Fi transceiver) to calculate a channel response.

[0036] The PHY frame 900 also includes a PHY data payload 910. Encoded within the PHY data payload 910 is a medium access control (MAC) layer frame 912. Figure 9 In the example of , a MAC layer frame 912 illustrates a digitally encoded transmission payload. Each MAC layer frame 912 may include a frame header 914 and a frame body 916. The frame header 914 may indicate information related to the data encapsulated in the frame body 916. In some examples, the frame header 914 includes a transmitter MAC address 918 and a receiver MAC address 920. Figure 9 In the example of FIG, the frame body 916 has a Management type and an Action No ACK subtype (e.g., as shown in fields 922 and 924 of the frame header 914). In some examples, the Management type and Action No ACK subtype frame is used to carry a beamforming report payload.

[0037] In some cases, transmission of PHY frames (e.g., by any of wireless devices 220A, 220B, 220C, 220D or AP 230) occurs more frequently than exchange of beamforming reports 260. Thus, wireless sensing based on PHY frames may have a higher temporal resolution than wireless sensing based on beamforming reports 260. In some examples (e.g., as described below in Figures 4 to 7 As described in more detail in , wireless sensing based on PHY frames (e.g., containing preamble or training fields 270) can be enhanced or combined with wireless sensing based on beamforming reports 260.

[0038] Figure 3A is a diagram illustrating an example of an environment 300 including a wireless communication network system 200. OTA signals communicated on the wireless communication network system 200 are transmitted through the physical space of the environment 300. Therefore, such OTA signals can be used for wireless sensing (e.g., motion detection) in the physical space of the environment 300. Figure 3AAlthough depicted as an enclosed area in FIG. 3 , environment 300 may be an indoor space or an outdoor space, which may include, for example, one or more fully or partially enclosed areas, an open area with no enclosure, and the like. A space may be or may include the interior of a room, a plurality of rooms, or a building, and the like. As examples, environment 300 may be a building (e.g., an office building or a residence), a room in a building, a combination of one or more rooms, or other spaces within a building (such as a lobby or stairwell, and the like). Listening device 250-1 may reside remotely from environment 300 (e.g., outside).

[0039] As above Figure 2A As discussed above, neither the AP 230 nor the wireless devices 220A, 220B, 220C, 220D are aware of the presence or existence of the listening device 250-1. However, the wireless devices 220A, 220B, 220C, 220D and the AP 230 are within the listening range of the listening device 250-1. When the wireless devices 220A, 220B, 220C, 220D and the AP 230 communicate with each other within the environment 300, they may generate and exchange OTA signals containing beamforming reports 260. In some implementations, whenever one of the wireless devices 220A, 220B, 220C, 220D or the AP 230 transmits information, a PHY frame (e.g., containing a preamble or training field 270) is also transmitted. In some instances, an object 340 may be present within the environment 300. In general, the object 340 may be any type of static or movable object and may be animate or inanimate. For example, object 340 may be (e.g., Figure 3A A person, animal, inorganic object or other device, equipment or component (as shown in the examples above), an object used to define all or part of the boundaries of a space (e.g., a wall, door, window, etc.) or other type of object.

[0040] The object 340 may move 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., including the beamforming reports 260 or PHY frames) may be affected by the moving object 340. Without the knowledge of 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 including the beamforming reports 260 and PHY frames.

[0041] Figure 4 An example of OTA signals 400-1 to 400-4 collected and organized by listening device 250-1 is shown. Figure 4In the example of FIG, a first subset of wireless signals may include OTA signal 400-1 and OTA signal 400-3. OTA signal 400-1 includes beamforming report 410A and address information 430A associated with beamforming report 410A, while OTA signal 400-3 includes beamforming report 410B and address information 430B associated with beamforming report 410B. As an example, address information 430A, 430B may include source and destination information (e.g., a MAC address or other type of unique identifier). Thus, the first subset of wireless signals may include wireless signals including beamforming reports 410A, 410B, where beamforming reports 410A, 410B are each associated with a corresponding wireless link (e.g., a transmitter-receiver pair or a source-destination pair as indicated by address information 430A, 430B). As described above, the information within beamforming reports 410A, 410B may directly or indirectly (e.g., via a transformation) represent the channel response or channel state of their corresponding wireless links.

[0042] In some instances, the beamforming reports 410A, 410B may include or may be a type of standardized beamforming report, examples of which are CSI or H-matrix, V-matrix, or CV-matrix beamforming reports defined in the 802.11 standard, but the beamforming reports 410A, 410B may also 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 standard, the CSI matrix, V-matrix, or CV-matrix beamforming reports may be derived from the H-matrix defined in the 802.11 standard, where the H-matrix includes the amplitude and phase responses 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.

[0043] exist Figure 4In the example of FIG. 4 , the second subset of wireless signals may include OTA signal 400-2 and OTA signal 400-4. OTA signal 400-2 includes a PHY frame (e.g., including a preamble or training field 420A) and address information 440A associated with the preamble or training field 420A, while OTA signal 400-4 includes a PHY frame (e.g., including a preamble or training field 420B) and address information 440B associated with the preamble or training field 420B. As an example, the address information 440A, 440B may include source and destination information (e.g., one or more MAC addresses or other types of unique identifiers). Thus, the second subset of wireless signals may include wireless signals including preambles or training fields 420A, 420B, where the preambles or training fields 420A, 420B are each associated with a corresponding wireless link (e.g., a transmitter-receiver pair or a source-destination pair as indicated by the address information 440A, 440B). After the OTA signals 400-1 through 400-4 are collected and organized by the listening device 250-1, the first and second subsets of the OTA signals undergo processing steps 450 which may be performed by one or more processors. Figure 4 The example shows the first subset of wireless signals as having two OTA signals 400-1 and 400-3, and the second subset of wireless signals as having two OTA signals 400-2 and 400-4, but in operation, more than two OTA signals may be included in each of the first and second subsets of wireless signals.

[0044] Figure 5 Show that it can be executed by Figure 4 4. An example of operations 500 performed by one or more processors of processing step 450 is shown. At 502, first aggregate motion data is generated based on a first subset of wireless signals (e.g., OTA signals 400-1 and 400-3) (e.g., using a first type of motion detection processing). The first aggregate motion data may include a first aggregate motion score and a first aggregate link identifier. In some examples, the first aggregate motion score may be generated based on beamforming reports 410A, 410B because beamforming reports 410A, 410B may directly or indirectly (e.g., via a transform) indicate a channel response or channel state of their respective wireless links. The first aggregate link identifier may be generated based on address information 430A, 430B.

[0045] At 504, second set motion data is generated based on a second subset of wireless signals (e.g., OTA signals 400-2 and 400-4) (e.g., using a second type of motion detection processing). The second set motion data may include a second set motion score, which may be based on a channel response calculated from a PHY frame (e.g., including preamble or training fields 420A, 420B) using, for example, PHY channel estimation. In some instances, PHY channel estimation is not defined by the standard and is left to the manufacturer of the receiver to implement an algorithm for calculating the channel response. The second set motion data may also include a second set link identifier, which may be generated based on the address information 440A, 440B. In some examples, the second set link identifier may include some or all of the links included in the first set link identifier.

[0046] Example types of motion detection processing that can be used to generate the first set motion scores and the second set motion scores include techniques described in the following patents: U.S. Patent 9,523,760, entitled “Detecting Motion Based on Repeated Wireless Transmissions”; U.S. Patent 9,584,974, entitled “Detecting Motion Based on Reference Signal Transmissions”; U.S. Patent 10,051,414, entitled “Detecting Motion Based On Decompositions Of Channel Response Variations”; U.S. Patent 10,048,350, entitled “Motion Detection Based on Groupings of Statistical Parameters of Wireless Signals”; U.S. Patent 10,108,903, entitled “Motion Detection Based on Machine Learning of Wireless Signal Properties”; U.S. Patent 10,109,167, entitled “Motion Localization in a Wireless Mesh Network Based on Motion Indicator Values”; U.S. Patent 10,133,979, entitled “Motion Localization Based on Channel Response Variations”; Response Characteristics”; U.S. Patent 10,109,168 entitled “Motion Detection Based on Beamforming Dynamic Information”; and other technologies.As an example, a first type of motion detection processing that operates on the beamforming reports 410A, 410B (e.g., as described in U.S. Patent 10,459,076, entitled “Motion Detection Based on Beamforming Dynamic Information”) can be used to generate a first set of motion scores, while a second type of motion detection processing that operates on a channel response calculated based on the preamble or training fields 420A, 420B (e.g., as described in U.S. Patent 9,584,974, entitled “Detecting Motion Based on Reference Signal Transmissions”) can be used to generate a second set of motion scores.

[0047] The first set motion score and the second set motion score each may include or may be a scalar indicating the level of signal disturbance in the environment accessed by the first subset and the second subset of wireless signals, respectively (e.g., environment 300). Additionally or alternatively, the first set motion score and the second set motion score may include or may be an indication of whether motion is present, whether an object is present, or may include or may be an indication or classification of a gesture performed in the environment accessed by the first subset and the second subset of wireless signals, respectively.

[0048] At 506, the one or more processors may generate a combined motion data set including the first set motion data and the second set motion data. In some implementations, the first set motion data and the second set 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 motion data and the second set motion data may be used to generate the combined motion data set.

[0049] 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 is occurring within the environment. Additionally or alternatively, analyzing motion within the environment based on the combined motion data set may include determining a location or intensity of motion occurring within the environment.

[0050] An advantage of generating a combined motion data set including the first set of motion data and the second set of motion data (e.g., at 506) is that subsequent motion analysis (e.g., at 508) can 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 than would be the case if only the first set of motion data or the second set of motion data were used to analyze motion. In some examples (such as in Figure 2A and 3A In the example shown, the listening device 250-1 may include one or more processors. Figure 2A and 3A In some implementations of the illustrated example, the listening device 250-1 performs Figure 5 Operations 502, 504, 506, and 508 are shown.

[0051] In some examples (such as Figure 2B and Figure 3B In the example shown, listening device 250-1 is communicatively coupled (e.g., via a wired or wireless communication link) to a processing device 280 that also resides outside of environment 300. Processing device 280 is not connected to, associated with, or communicates via any of wireless devices 220A, 220B, 220C, 220D, or AP 230. Processing device 280 may be a cloud-based device or a non-cloud-based device. Figure 2B and Figure 3B In the example shown, the listening device 250-1 may include a first processor 282, and the processing device 280 may include a second processor 284. Figure 2B and Figure 3B In some implementations of the illustrated example, the first processor 282 (and therefore the listening device 250-1) may be configured to perform operations 502, 504, and 506, while the second processor 284 (and therefore the processing device 280) may be configured to perform operation 508. Figure 2B and Figure 3B In other implementations of the illustrated example, the first processor 282 (and therefore the listening device 250 - 1 ) may be configured to perform operations 502 and 504 , while the second processor 284 (and therefore the processing device 280 ) may be configured to perform operations 506 and 508 .

[0052] In some examples (such as Figure 2C and Figure 3CIn the example shown, the listening device 250-1 is communicatively coupled (e.g., via a wired or wireless communication link) to a processing device 286 that also resides outside of the environment 300. The processing device 286 (which may be a cloud-based device or a non-cloud-based device) is not connected to, associated with, or communicates via any of the wireless devices 220A, 220B, 220C, 220D or the AP 230. Figure 2C and Figure 3C In some implementations of the illustrated example, the listening device 250-1 may act as a repeater to communicate beamforming reports (e.g., Figure 2C and Figure 3C Beamforming Report 260 or Figure 4 Beamforming reports 410A, 410B in (e.g., including Figure 2C and Figure 3C The preamble or training field 270 in Figure 4 In this implementation, the processing device 286 may be configured to perform Figure 5 Operations 502, 504, 506, and 508 are shown in FIG.

[0053] In some examples (such as Figure 2D and Figure 3D In the example shown, the listening device 250-1 is a first listening device. The second listening device 250-2 resides outside the environment 300 and at a location different from that of the listening device 250-1. Similar to the listening device 250-1, the second listening device 250-2 is not connected to any of the wireless devices 220A, 220B, 220C, 220D or the AP 230, is not associated with any of the wireless devices 220A, 220B, 220C, 220D or the AP 230, or does not communicate via any of the wireless devices 220A, 220B, 220C, 220D or the AP 230. The second listening device 250-2 can also be within the listening range of the wireless communication network system 200 and can eavesdrop on, collect, and organize OTA signals communicated by devices in the wireless communication network system 200. The OTA signals received by the second listening device 250-2 can include beamforming reports (e.g., Figure 2D and Figure 3D Beamforming Report 260 or Figure 4 Beamforming reports 410A, 410B in (e.g., including Figure 2D and Figure 3D The preamble or training field 270 in Figure 4 ) PHY frame of the preamble or training field 420A, 420B in the second listening device 250-2. The second listening device 250-2 can be configured to generate its own collective motion data 288 for the second listening device 250-2 based on the OTA signal received by the second listening device 250-2, and the collective motion data 288 includes a collective motion score and a collective link identifier. The advantage of having multiple listening devices 250-1, 250-2 is that the analysis of the movement within the environment 300 is based on a combined motion data set, which includes the above-mentioned first collective motion data and second collective motion data and the collective motion data 288 generated by the second listening device 250-2, which in turn leads to a more accurate analysis of the movement occurring within the environment 300. The second listening device 250-2 can be configured to send its own collective motion data 288 to the listening device 250-1. In Figure 2D and Figure 3D In some implementations of the examples shown in , the listening device 250-1 generates a combined motion data set (which includes first set motion data and second set motion data generated by the listening device 250-1 and set motion data 288 generated by the second listening device 250-2), and analyzes motion within the environment 300 based on the combined motion data set.

[0054] In some examples (such as Figure 2E and Figure 3E In the example shown, the listening device 250-1 is communicatively coupled (e.g., via a wired or wireless communication link) to a processing device 290 that also resides outside of the environment 300. The processing device 290 (which may be a cloud-based device or a non-cloud-based device) is not connected to, associated with, or communicates via any of the wireless devices 220A, 220B, 220C, 220D or the AP 230. Figure 2E and Figure 3E In some implementations of the illustrated example, listening device 250-1 generates a combined motion data set (which includes first and second aggregate motion data generated by listening device 250-1 and aggregate motion data 288 generated by second listening device 250-2). Listening device 250-1 then sends the combined motion data set to processing device 290, which can be configured to analyze motion within environment 300 based on the combined motion data set.

[0055] Although Figures 2A to 2E and Figures 3A to 3EThe example shown in FIG2 shows AP 230 as included in the wireless communication network system 200, but some implementations of the wireless communication network system 200 may not have AP 230. In such an example, the wireless devices 220A, 220B, 220C, and 220D may communicate within the wireless communication network system 200 using an ad hoc peer-to-peer wireless network for exchanging beamforming reports 260 and PHY frames (e.g., including preambles containing training fields 270). Therefore, the above operations similarly and equally apply to instances where the wireless network connecting the wireless devices 220A, 220B, 220C, and 220D includes or is an example of an ad hoc peer-to-peer wireless network.

[0056] Figure 6 is a diagram illustrating an example 600 of processing wireless information at listening device 250 - 1 to extract motion data. Figure 6 Example 600 may also be applicable to implementations where the processing device 280, 286, or 290 (as appropriate) processes wireless information to extract motion data. In example 600, listening device 250-1 may observe one of several types of transmissions. In one instance, any of beamforming reports 610A, 610B, 610C sent between any two devices in environment 300 (e.g., any pair selected from AP 230 and wireless devices 220A, 220B, 220C, 220D) may be observed by listening device 250-1. Beamforming reports 610A, 610B, 610C may have different formats, such as CSI or H matrix 610A, V matrix 610B, or CV matrix 610C as described above. A wireless link may be identified by a pair of transmitting MAC addresses and receiving MAC addresses associated with a particular wireless signal. As described above, in some instances, when sending a beamforming report, the channel response payload and the MAC addresses of both parties involved in the exchange may be accessible to listening device 250-1. Thus, each wireless link may be identified based on the MAC address and may represent a physical path between the two identified devices.

[0057] In some instances, listening device 250-1 can identify a wireless link between two different devices by analyzing source and destination information in wireless signals. In some instances, listening device 250-1 can 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 CSI beamforming report 610A. In some implementations, each beamforming report is fed to its corresponding motion algorithm. For example, CSI beamforming report 610A is processed by CSI motion algorithm 620A, V-beamforming report 610B is processed by V-motion algorithm 620B, and CV beamforming report 610C is processed by CV motion algorithm 620C. In some cases, each motion algorithm outputs data related to motion that affects the wireless signals sent between the two devices. Because the listening device 250 - 1 may associate the beamforming reports 610A, 610B, 610C with wireless links associated with the wireless communication network system 200 included in the environment 300 , the motion data of the wireless links is constrained to that particular environment 300 .

[0058] In other examples, listening device 250-1 may observe the transmission of PHY frames (e.g., including preambles or training fields) by one or more wireless devices. Similar to beamforming report transmissions, listening device 250-1 may obtain the MAC address of the transmitter of the PHY frames and then identify the wireless link (e.g., device to sensor) represented by the physical path between the transmitter device and listening device 250-1. Listening device 250-1 uses the PHY frames (e.g., using preambles or training fields in the PHY frames) to perform channel estimation 610D. In this case, the channel estimation is associated with the channel quality of the link between the transmitting device and listening device 250-1, rather than the channel quality of the link between the transmitting device and the receiving device to which the wireless signal is addressed. Generally, listening device 250-1 is interested in wireless signals transmitted in and through environment 300. Therefore, in some examples, listening device 250-1 analyzes the signal to determine whether the wireless signal is associated with a wireless link between two wireless devices in environment 300. For example, using the TX MAC address 6101D and RX MAC address 6102D of the wireless signal, listening device 250-1 can determine whether the wireless signal including the PHY frame was sent on a wireless link corresponding to a wireless link in environment 300. As another example, based on the received signal strength / power and the wireless link identification (e.g., transmitter + receiver MAC address), the physical distance to listening device 250-1 can be estimated. This can enhance the ability to exclude devices that reside outside of the desired environment 300 but are still within the listening range of listening device 250-1. The received signal strength / power can be, for example, a signal-to-noise ratio (SNR) calculated by listening device 250-1 (e.g., expressed in dB as the ratio between signal power and noise power), a received signal strength indicator (RSSI) calculated by listening device 250-1 (a measure of received signal power), or other types of values.

[0059] In the event that 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 the event that 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 estimate is fed into its corresponding motion algorithm (e.g., PHY channel estimation motion algorithm 620D) to extract motion information.

[0060] In some implementations, one or more received and observed data 610A, 610B, 610C, 610D are obtained by listening device 250-1 over a period of time. 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 instance of one or more types of beamforming reports may be received. However, in most cases, listening device 250-1 is expected to receive at least one PHY signal associated with a link in environment 300 because these signals are typically transmitted more frequently than beamforming reports. In some implementations, the listening device accumulates the observed beamforming reports 610A, 610B, 610C and PHY frames (e.g., including preambles or training fields) received over a period of time.

[0061] In some implementations, the outputs of the motion algorithms 620A, 620B, 620C, 620D are fed into respective processes that convert the motion data extracted by the respective motion algorithms into relative motion magnitudes or scores 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 magnitudes or scores 630A, 630B, 630C, 630D for each type of motion data provide data in a common format for all types of received or observed data in the environment 300. In some instances, the motion magnitudes or scores 630A, 630B, 630C, 630D are determined for each wireless link (e.g., a specific TX MAC address / RX MAC address pair). The motion magnitudes / scores for each wireless link are combined (e.g., summed 640) to derive a combined motion link value 650 associated with the wireless link.

[0062] In some cases, the motion magnitude 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 processing by a motion algorithm 620A, 620B, 620C, 620D corresponding to the data, a motion indicator value (MIV) may be calculated by listening device 250-1. The MIV represents the degree of motion detected by the device based on the beamforming reports 610A, 610B, 610C or the preamble or training field 610D received by listening device 250-1. For example, a higher MIV may indicate a high level of channel disturbance (due to detected motion), while a lower MIV may indicate a lower level of channel disturbance. A higher level of channel disturbance may indicate motion in a nearby device. The MIV may include an aggregate MIV (which represents the total degree of motion detected by listening device 250-1 based on the PHY training fields), a link MIV (which represents the degree of motion detected on a specific communication link between various devices in environment 300), or a combination thereof. In some implementations, the MIV is normalized, for example, to a value from zero (0) to one hundred (100).

[0063] Figure 7 is a diagram illustrating a flow chart illustrating an example process 700 for detecting motion in a remote environment by a listening device or other type of sensor device. For example, process 700 may be performed by listening device 250-1, processing device 280, 286, or 290, or by other types of sensor devices. In some cases, Figure 7 One or more than one operation shown in is implemented as a process that includes multiple operations, sub-processing or other types of routines. In some cases, the operations can be combined, performed in other orders, performed in parallel, iterated, or repeated in other ways, or performed in other ways.

[0064] At 710, the sensor device eavesdrops or listens to Wi-Fi air traffic and identifies and receives beamforming reports. At 720, (e.g., as described above with reference to Figure 6 As discussed, the sensor device associates each beamforming report with the corresponding wireless link using the receiver and transmitter MAC addresses. At 730, for each wireless link, the time field of the received beamforming report is processed using a suitable motion detection process (e.g., an algorithm corresponding to detecting motion based on the beamforming report). The result of 730 is a first set of motion data.

[0065] 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 calculates a channel response using the preamble or training field and identifies the transmitter using the MAC address, thereby associating each channel response with the corresponding transmitter. At 760, for each transmitter, the time field of the received channel response is processed using an appropriate 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 remote from listening device 250-1 or processing devices 280, 286, and 290).

[0066] Figure 8 is a block diagram illustrating an example wireless sensor device 800. In some implementations, the wireless sensor device 800 can be configured as the listening device 250-1 described above. Figure 8 As shown, an example wireless sensor device 800 includes an interface 830, a processor 810, a memory 820, and a power supply unit 840. In some implementations, the interface 830, the processor 810, the memory 820, and the power supply unit 840 of the sensor device 800 are housed together in a common housing or other assembly. In some implementations, one or more of the components of the wireless communication device can be separately housed, for example, in a separate housing or other assembly.

[0067] The example interface 830 can communicate (receive, transmit, or both) wireless signals. For example, the interface 830 can be configured to receive radio frequency (RF) signals formatted according to a wireless communication standard (e.g., Wi-Fi or Bluetooth), such as wireless signals transmitted by a wireless device in a remote environment or other wireless devices within the listening range of a wireless sensor device. In some cases, the interface 830 can be configured to transmit signals (e.g., to transmit data to a server or other device), but (e.g., Figures 2A to 2E as well as Figures 3A to 3E (As described above) When the wireless sensor device is passive or operates in a passive mode, it does not communicate with the remote environment. In some cases, the example interface 830 can be implemented as a modem. In some implementations, the example interface 830 includes a radio subsystem and a baseband subsystem. In some cases, the baseband subsystem and the radio subsystem can be implemented on a common chip or chipset, or can be implemented in a card or other type of assembled device. The baseband subsystem can be coupled to the radio subsystem, for example, by leads, pins, wires, or other types of connections.

[0068] In some cases, the radio subsystem in the interface 830 may include one or more antennas and radio frequency circuits. The radio frequency circuits may include, for example, circuits for filtering, amplifying, or otherwise conditioning analog signals, circuits for up-converting baseband signals to RF signals, circuits for down-converting RF signals to baseband signals, and the like. Such circuits may include, for example, filters, amplifiers, mixers, local oscillators, and the like. The radio subsystem may be configured to receive radio frequency wireless signals on a wireless communication channel. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. The radio subsystem may include additional or different components. In some implementations, the radio subsystem may be or include radio electronics (e.g., an RF front end, a radio chip, or similar components) from a conventional modem (e.g., from a Wi-Fi modem, a picobase station modem, etc.). In some implementations, the antenna includes multiple antennas.

[0069] In some cases, the baseband subsystem in interface 830 may include, for example, a digital electronic device configured to process digital baseband data. As an example, the baseband subsystem may include a baseband chip. The baseband subsystem may include additional or different components. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or other type of processor device. In some cases, the baseband system includes digital processing logic to operate the radio subsystem, communicate wireless network services through the radio subsystem, extract channel response information from the PHY frame preamble training signal, or perform other types of processing. For example, the baseband subsystem may include one or more chips, chipsets, or other types of devices that are configured to encode a signal and deliver the encoded signal to the radio subsystem for transmission, or identify and analyze data encoded in the signal from the radio subsystem (e.g., by decoding the signal according to a wireless communication standard, by processing the signal according to motion detection processing, or otherwise).

[0070] In some instances, the radio subsystem in the example interface 830 receives a baseband signal from the baseband subsystem, up-converts the baseband signal to a radio frequency (RF) signal, and wirelessly transmits the RF signal (e.g., via an antenna). In some instances, the radio subsystem in the example interface 830 receives the RF signal wirelessly (e.g., via an antenna), down-converts the RF signal to a baseband signal, and transmits the baseband signal to the baseband subsystem. The signals exchanged between the radio subsystem and the baseband subsystem can 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.

[0071] The example processor 810 can execute instructions to, for example, generate output data based on data input. The instructions may include programs, codes, scripts, modules, or other types of data stored in the memory 820. Additionally or alternatively, the instructions may 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, a dedicated co-processor, or other type of data processing device. In some cases, the processor 810 performs high-level operations of the wireless sensor device 800. For example, the processor 810 may be configured to execute or interpret software, scripts, programs, modules, functions, executable files, or other instructions stored in the memory 820. In some implementations, the processor 810 is included in the interface 830. In some instances, the processor 810 may be configured to execute commands that cause the wireless sensor device 800 to operate, for example, via Figure 7 The processing described herein is for detecting motion in a remote environment.

[0072] Example memory 820 may include computer-readable storage media, such as volatile memory devices, non-volatile memory devices, or both. 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 may be integrated or otherwise associated with other components of the wireless communication device 800. Memory 820 may store instructions executable by processor 810. For example, instructions may be stored in a passive motion detection 822 module in memory 820. The instructions may include instructions for obtaining first channel response information for signals wirelessly transmitted over a communication network in a remote environment, each signal including a beamforming report, and associating each beamforming report with a corresponding 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 also include instructions for receiving one or more physical (PHY) frame preamble training fields transmitted by a wireless communication device within 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 with its corresponding wireless communication link. The instructions may also include instructions for: Figures 3A to 3E 、 Figure 4 、 Figure 5 、 Figure 6 Medium or Figure 7 The example processing 700 shown in FIG. 1 may be used to combine first channel response information and second channel response information of respective wireless links in a remote environment, and to detect motion of an object in a remote environment by analyzing the combination of first channel response information and second channel response information of respective wireless links in the remote environment.

[0073] The example power supply unit 840 provides power to other components of the wireless communication device 800. For example, the other components can operate based on the power provided by the power supply unit 840 through a voltage bus or other connection. In some implementations, the power supply unit 840 includes a battery or battery system, such as a rechargeable battery. In some implementations, the power supply unit 840 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external source) and converts the external power signal into an internal power signal that is conditioned for the components of the sensor device 800. The power supply unit 840 can include other components or operate in other ways.

[0074] Some of the subject matter and operations described in this specification may be implemented in digital electronic circuits, or in computer software, firmware, or hardware (including the structures disclosed in this specification and their structural equivalents, or a combination of one or more thereof). Some of the subject matter described in this specification may 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 a data processing device or for controlling the operation of the data processing device. A computer-readable storage medium may be or may 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 thereof. In addition, although a computer-readable storage medium is not a propagated signal, a computer-readable storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer-readable storage medium may also be or be included in one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices). A computer-readable storage medium may include multiple computer-readable storage devices. The computer-readable storage devices may be located in the same location (eg, the instructions are stored in a single storage device) or in different locations (eg, the instructions are stored in distributed locations).

[0075] Some of the operations described in this specification can be implemented as operations performed by a data processing device on data stored in a memory (e.g., on one or more computer-readable storage devices) or received from other sources. The term "data processing device" encompasses all types of devices, apparatuses, and machines for processing data, including, for example, programmable processors, computers, systems on a chip, or multiple or combinations of the foregoing. The device may include dedicated logic circuits, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the device may also include code that creates the execution environment of the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof. In some instances, the data processing device includes a set of processors. The set of processors can be co-located (e.g., multiple processors in the same computing device) or co-located (e.g., multiple processors in a distributed computing device). The memory storing data executed by the data processing device can be co-located with the data processing device (e.g., the computing device executes instructions stored in the memory of the same computing device) or co-located with the data processing device (e.g., the client device executes instructions stored on the server device).

[0076] A computer program (also referred to as a program, software, software application, instruction, script, or code) can be written in any form of programming language (including compiled or interpreted languages, declarative or procedural languages) and can be deployed in any form (including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for a computing environment). A computer program can, 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., a file storing a portion of one or more modules, subroutines, or code). A computer program can be deployed to execute on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.

[0077] 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 devices can also be implemented as, special-purpose logic circuitry (e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit)).

[0078] As an example, the processor 810 suitable for executing a computer program includes both general-purpose microprocessors and special-purpose microprocessors and processors of any type of digital computer. Typically, the processor receives instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include a processor that acts according to instructions and one or more memory devices that store instructions and data. The computer may also include one or more large-capacity storage devices (e.g., non-magnetic drives (e.g., solid-state drives), magnetic disks, magneto-optical disks, or optical disks) for storing data or may be operably coupled to the one or more large-capacity storage devices to receive data from the large-capacity storage devices or to transmit data thereto, or may encompass both methods. However, the computer does not need to have such a device. In addition, the computer may be embedded in other devices such as phones, tablet computers, electronic devices, mobile audio or video players, game consoles, global positioning system (GPS) receivers, Internet of Things (IoT) devices, machine-to-machine (M2M) sensors or actuators, or portable storage devices (e.g., universal serial bus (USB) flash drives). Devices suitable for storing computer program instructions and data (e.g., memory 820) include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices, etc.), magnetic disks (e.g., internal hard disks, removable disks, etc.), magneto-optical disks, and CD ROM and DVD-ROM disks. In some cases, the processor and memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0079] To provide interaction with a user, operations may be implemented on a computer having a display device (e.g., a monitor or other type of display device) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse, trackball, stylus, touch-sensitive screen, or other type of pointing device) with which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including sound, voice, or tactile input). In addition, a computer may interact with a user by sending documents to and receiving documents from a device used by the user; for example, by sending a web page to a web browser in response to a request received from a web browser on a user's client device.

[0080] A computer system may include a single computing device or multiple computers operating in close proximity or generally remote from one another and typically interacting through a communication network. A communication network may include one or more of a local area network ("LAN") and a wide area network ("WAN"), an internetwork (e.g., the Internet), a network including satellite links, and a peer-to-peer network (e.g., an ad hoc peer-to-peer network). The relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to one another.

[0081] In a general aspect of some described examples, motion is passively detected in an environment using wireless signals.

[0082] Example 1: A method includes: receiving, at a wireless sensor device residing outside an environment, wireless signals transmitted by a wireless communication device residing within the environment, each of the wireless signals being addressed to a corresponding wireless communication device in the wireless communication device. Example 1 includes: generating, based on a first subset of the wireless signals, first aggregate motion data comprising a first aggregate motion score and a first aggregate link identifier, the first aggregate motion score being based on beamforming reports in the first subset of the wireless signals, the first aggregate link identifier being based on address information in the first subset of the wireless signals. Example 1 includes: generating, based on a second subset of the wireless signals, second aggregate motion data comprising a second aggregate motion score and a second aggregate link identifier, the second aggregate motion score being based on a channel response calculated from physical frames (PHY frames) in the second subset of the wireless signals, the second aggregate link identifier being based on address information in the second subset of the wireless signals. Example 1 includes: generating, based on a combined motion data set comprising the first aggregate motion data and the second aggregate motion data; and analyzing, through operation of one or more processors, motion within the environment based on the combined data set.

[0083] Example 2: The method of Example 1, wherein the wireless signal is transmitted in a wireless network and the wireless sensor device is not associated with the wireless network.

[0084] Example 3: The method of Example 2, wherein the wireless network comprises a wireless local area network, and at least one of the wireless communication devices comprises an access point of the wireless local area network.

[0085] Example 4: The method of Example 2, wherein the wireless network comprises an ad hoc peer-to-peer wireless network, and the wireless communication devices comprise peer devices communicatively coupled via the ad hoc peer-to-peer wireless network.

[0086] Example 5: The method according to Example 1 includes: determining the first set link identifier based on the source and destination information in the address information in the first subset of the wireless signal; and determining the second set link identifier based on the source and destination information in the address information in the second subset of the wireless signal.

[0087] Example 6: The method according to Example 1 includes: generating the first set motion scores through a first type of motion detection processing based on beamforming reports in a first subset of the wireless signals; and generating the second set motion scores through a second type of motion detection processing based on channel responses calculated based on PHY frames in a second subset of the wireless signals.

[0088] Example 7: The method of Example 1, comprising calculating the channel response based on a preamble or training field in the PHY frame.

[0089] Example 8: The method according to Example 1 includes: generating a third set of motion data including a third set motion score and a third set link identifier based on a third subset of the wireless signals; and generating a combined data set including the first set motion data, the second set motion data and the third set motion data.

[0090] EXAMPLE 9: The method of Example 1, wherein analyzing motion within the environment based on the combined data set comprises determining whether motion occurs within the environment.

[0091] Example 10: A method according to Example 1, wherein the wireless sensor device is a first wireless sensor device, and the method includes: receiving, at a second wireless sensor device residing outside the environment, a second set of wireless signals sent by one or more wireless communication devices residing 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 a combined data set including the first set of motion data, the second set of motion data, and the third set of motion data.

[0092] Example 11: A system comprising: a wireless sensor device residing outside an environment, the wireless sensor device configured to receive wireless signals transmitted by wireless communication devices residing within the environment, each of the wireless signals being addressed to a corresponding wireless communication device in the wireless communication devices. The system comprises one or more processors configured to: generate first aggregate motion data comprising a first aggregate motion score and a first aggregate link identifier based on a first subset of the wireless signals, the first aggregate motion score being based on beamforming reports in the first subset of the wireless signals, the first aggregate link identifier being based on address information in the first subset of the wireless signals; generate second aggregate motion data comprising a second aggregate motion score and a second aggregate link identifier based on a second subset of the wireless signals, the second aggregate motion score being based on a channel response calculated from physical frames (PHY frames) in the second subset of the wireless signals, the second aggregate link identifier being based on address information in the second subset of the wireless signals; generate a combined motion data set comprising the first aggregate motion data and the second aggregate motion data; and analyze motion within the environment based on the combined motion data set.

[0093] Example 12: The system of Example 11, wherein the wireless sensor device comprises the one or more processors.

[0094] Example 13: The system according to Example 11 further includes a processing device, which resides outside the environment and is communicatively coupled to the wireless sensor device, wherein the one or more processors include: a first processor, which is configured to generate the first set motion data, the second set motion data and the combined motion data set, and the wireless sensor device includes the first processor; and a second processor, which is configured to analyze the motion within the environment based on the combined motion data set, and the processing device includes the second processor.

[0095] EXAMPLE 14: The system of Example 11, further comprising a processing device residing outside the environment and communicatively coupled to the wireless sensor device, wherein the processing device comprises one or more processors.

[0096] Example 15: The system of Example 11, further comprising a wireless communication device residing within the environment.

[0097] Example 16: The system of Example 15, wherein the wireless signal is transmitted in a wireless network and the wireless sensor device is not associated with the wireless network.

[0098] Example 17: The system of Example 16, wherein the wireless network comprises an ad hoc peer-to-peer wireless network, and the wireless communication devices comprise peer devices communicatively coupled via the ad hoc peer-to-peer wireless network.

[0099] Example 18: The system of Example 15, wherein the wireless network comprises a wireless local area network, and at least one of the wireless communication devices comprises an access point of the wireless local area network.

[0100] Example 19: The system of Example 11, wherein the one or more processors are configured to calculate the channel response based on a preamble or training field in the PHY frame.

[0101] Example 20: A system according to Example 11, wherein the one or more processors are configured to: determine the first set link identifier based on source and destination information in the address information in the first subset of the wireless signals; and determine the second set link identifier based on source and destination information in the address information in the second subset of the wireless signals.

[0102] Example 21: A system according to Example 11, wherein the one or more processors are configured to: generate the first set motion scores through a first type of motion detection processing based on beamforming reports in a first subset of the wireless signals; and generate the second set motion scores through a second type of motion detection processing based on channel responses calculated based on PHY frames in a second subset of the wireless signals.

[0103] Example 22: The system of Example 11, wherein the wireless sensor device is a first wireless sensor device, the system further comprising a second wireless sensor device residing outside the environment, the second wireless sensor device being configured to: receive a second set of wireless signals transmitted by one or more wireless communication devices residing inside the environment; and generate third set motion data comprising a third set motion score and a third set link identifier based on the second set of wireless signals.

[0104] Example 23: The system of Example 22, wherein the one or more processors are configured to generate a combined data set comprising the first set of motion data, the second set of motion data, and the third set of motion data.

[0105] Example 24: The system of Example 23, wherein the first wireless sensor device comprises one or more processors, and the second wireless sensor device is configured to send the third aggregate motion data to the first wireless sensor device.

[0106] Example 25: The system according to Example 23 further includes a processing device, which resides outside the environment and is communicatively coupled to the first wireless sensor device and the second wireless sensor device, wherein the one or more processors include: a first processor, which is configured to generate the first set motion data, the second set motion data and the combined motion data set, and the first wireless sensor device includes the first processor; and a second processor, which is configured to analyze the motion within the environment based on the combined motion data set, and the processing device includes the second processor.

[0107] Example 26: The system of Example 25, wherein the second wireless sensor device is configured to send the third set of motion data to the first wireless sensor device, and the first wireless sensor device is configured to send the combined set of motion data to the processing device.

[0108] Example 27: A non-transitory computer-readable medium storing instructions that, when executed by a data processing device, cause the data processing device to perform operations comprising: receiving wireless signals transmitted by wireless communication devices residing within an environment, each of the wireless signals being addressed to a corresponding wireless communication device in the wireless communication devices; generating a first aggregate motion score based on beamforming reports in a first subset of the wireless signals; determining a first aggregate link identifier based on address information in the first subset of the wireless signals; and generating first aggregate motion data comprising the first aggregate motion score and the first aggregate link identifier. The operations comprise: calculating a channel response based on physical frames (PHY frames) in a second subset of the wireless signals; generating a second aggregate motion score based on the channel response; determining a second aggregate link identifier based on address information in the second subset of the wireless signals; and generating second aggregate motion data comprising the second aggregate motion score and the second aggregate link identifier. The operations comprise: generating a combined motion data set comprising the first aggregate motion data and the second aggregate motion data.

[0109] Example 28: The computer-readable medium of Example 27, the operations further comprising analyzing motion within the environment based on the combined data set.

[0110] Example 29: The computer-readable medium of Example 28, wherein analyzing motion within the environment based on the combined data set comprises determining whether motion occurs within the environment.

[0111] Example 30: A computer-readable medium according to Example 27, wherein determining the first set link identifier includes: determining the first set link identifier based on source and destination information in address information in a first subset of the wireless signal; and determining the second set link identifier includes: determining the second set link identifier based on source and destination information in address information in a second subset of the wireless signal.

[0112] Example 31: A computer-readable medium according to Example 27, wherein generating the first set motion score includes: generating the first set motion score through a first type of motion detection processing based on a beamforming report in a first subset of the wireless signals; and generating the second set motion score includes: generating the second set motion score through a second type of motion detection processing based on the channel response.

[0113] Example 32: The computer-readable medium of Example 27, wherein calculating the channel response comprises calculating the channel response based on a preamble or a training field in a PHY frame in the second subset of the wireless signals.

[0114] In some cases, an implementation of one or more of the above examples may include one or more of the following features. The sensor device is a passive sensor device that is not associated with the wireless communication network of the remote environment and is within the listening range of a wireless device transmitting on the wireless communication network of the remote environment. Identifying the wireless link is based on source and destination information in a signal including a beamforming report. In response to normal communication between the source wireless communication device and the destination wireless communication device, one or more beamforming reports are exchanged. Associating the second channel response information with the wireless link includes matching the source identifier of the PHY frame with the source identifier of the 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 into respective motion scores, and combining the respective motion scores for the respective wireless links to generate a combined motion value indicating motion. The beamforming report may include an H matrix, a V matrix, or a compressed V matrix format.

[0115] In some implementations, a computer-readable medium stores instructions that, when executed by a data processing device, are operable to perform one or more operations of the above examples. In some implementations, a system (e.g., a wireless communication device, a computer system, a combination thereof, or other types of systems communicatively coupled to a wireless communication device) includes one or more data processing devices and stores instructions that, when executed by the data processing device, are operable to perform one or more operations of the first example.

[0116] Although this specification contains many details, these details 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 described in this specification in the context of separate implementations may also be combined. Conversely, various features described in the context of a single implementation may also be implemented in multiple embodiments, individually or in any suitable subcombination.

[0117] A number of examples have been described. However, it should be understood that various modifications may be made. Therefore, other examples are within the scope of the following claims.

Claims

1. A method for analyzing motion within an environment, comprising: receiving, at a wireless sensor device residing outside an environment, wireless signals transmitted by wireless communication devices residing inside the environment, respective ones of the wireless signals being addressed to respective ones of the wireless communication devices; generating first aggregate motion data comprising a first aggregate motion score and a first aggregate link identifier based on the first subset of wireless signals, the first aggregate motion score being based on beamforming reports in the first subset of wireless signals, the first aggregate link identifier being based on address information in the first subset of wireless signals; generating second aggregate motion data comprising a second aggregate motion score based on a channel response calculated from physical frames (PHY frames) in the second subset of wireless signals and a second aggregate link identifier based on address information in the second subset of wireless signals based on the second subset of wireless signals; generating a combined motion data set comprising the first set of motion data and the second set of motion data; as well as Movement within the environment is analyzed based on the combined movement data set through operation of the one or more processors.

2. The method according to claim 1, wherein The wireless signal is transmitted in a wireless network, and the wireless sensor device is not associated with the wireless network.

3. The method according to claim 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.

4. The method according to claim 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.

5. The method according to any one of claims 1 to 4, comprising: determining the first set link identifier based on source and destination information in the address information in the first subset of the wireless signals; as well as The second set of link identifiers is determined based on source and destination information in the address information in the second subset of the wireless signals.

6. The method according to any one of claims 1 to 4, comprising: generating the first set motion scores by a first type of motion detection processing based on beamforming reports in the first subset of the wireless signals; as well as The second set of motion scores is generated by a second type of motion detection process based on a channel response calculated from PHY frames in a second subset of the wireless signals.

7. The method according to any one of claims 1 to 4, comprising: The channel response is calculated based on a preamble or a training field in the PHY frame.

8. The method according to any one of claims 1 to 4, comprising: generating a third set of motion data comprising a third set of motion scores and a third set of link identifiers based on a third subset of the wireless signals; as well as A combined motion data set is generated that includes the first set motion data, the second set motion data, and the third set motion data.

9. The method according to any one of claims 1 to 4, wherein Analyzing motion within the environment based on the combined motion data set includes determining whether motion occurs within the environment.

10. The method according to any one of claims 1 to 4, wherein The wireless sensor device is a first wireless sensor device, and the method comprises: receiving, at a second wireless sensor device residing outside the environment, a second set of wireless signals transmitted by one or more wireless communication devices residing inside the environment; generating a third set of motion data comprising a third set of motion scores and a third set of link identifiers based on the second set of wireless signals; and A combined motion data set is generated that includes the first set motion data, the second set motion data, and the third set motion data.

11. A system for analyzing motion within an environment, comprising: a wireless sensor device residing outside of an environment, the wireless sensor device being configured to receive wireless signals transmitted by wireless communication devices residing inside the environment, respective ones of the wireless signals being addressed to respective ones of the wireless communication devices; and One or more processors configured to: generating first aggregate motion data comprising a first aggregate motion score and a first aggregate link identifier based on the first subset of wireless signals, the first aggregate motion score being based on beamforming reports in the first subset of wireless signals, the first aggregate link identifier being based on address information in the first subset of wireless signals; generating second aggregate motion data comprising a second aggregate motion score and a second aggregate link identifier based on the second subset of wireless signals, the second aggregate motion score being based on a channel response calculated from physical frames (PHY frames) in the second subset of wireless signals, the second aggregate link identifier being based on address information in the second subset of wireless signals; generating a combined motion data set comprising the first set of motion data and the second set of motion data; as well as Motion within the environment is analyzed based on the combined motion data set.

12. The system according to claim 11, wherein The wireless sensor device includes the one or more processors.

13. The system of claim 11, further comprising a processing device residing outside the environment and communicatively coupled to the wireless sensor device, wherein The one or more processors include: a first processor configured to generate the first set of motion data, the second set of motion data, and the combined set of motion data, the wireless sensor device comprising the first processor; and A second processor is configured to analyze motion within the environment based on the combined motion data set, the processing device comprising the second processor.

14. The system of any one of claims 11 to 13, further comprising a wireless communication device residing inside the environment.

15. The system according to claim 14, wherein: The wireless signal is transmitted in a wireless network, and the wireless sensor device is not associated with the wireless network.

16. The system according to claim 15, 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.

17. The system according to claim 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.

18. The system according to any one of claims 11 to 13, wherein: The one or more processors are configured to calculate the channel response based on a preamble or training field in the PHY frame.

19. The system according to any one of claims 11 to 13, wherein: The one or more processors are configured to: determining the first set link identifier based on source and destination information in the address information in the first subset of the wireless signals; and The second set of link identifiers is determined based on source and destination information in the address information in the second subset of the wireless signals.

20. The system according to any one of claims 11 to 13, wherein The one or more processors are configured to: generating the first set motion scores by a first type of motion detection processing based on beamforming reports in the first subset of the wireless signals; as well as The second set of motion scores is generated by a second type of motion detection process based on a channel response calculated from PHY frames in a second subset of the wireless signals.

21. The system according to any one of claims 11 to 13, wherein: The wireless sensor device is a first wireless sensor device, and the system further includes a second wireless sensor device residing outside the environment, the second wireless sensor device being configured to: receiving a second set of wireless signals transmitted by one or more wireless communication devices residing within the environment; and A third set of motion data including a third set of motion scores and a third set of link identifiers is generated based on the second set of wireless signals.

22. The system of claim 21, wherein: The one or more processors are configured to generate a combined motion data set comprising the first set motion data, the second set motion data, and the third set motion data.

23. The system of claim 22, wherein: The first wireless sensor device includes one or more processors, and the second wireless sensor device is configured to send the third aggregate motion data to the first wireless sensor device.

24. The system of claim 22, further comprising a processing device residing outside the environment and communicatively coupled to the first and second wireless sensor devices, wherein The one or more processors include: a first processor configured to generate the first set of motion data, the second set of motion data, and the combined set of motion data, the first wireless sensor device comprising the first processor; and A second processor is configured to analyze motion within the environment based on the combined motion data set, the processing device comprising the second processor.

25. The system of claim 24, wherein: The second wireless sensor device is configured to send the third set of motion data to the first wireless sensor device, and the first wireless sensor device is configured to send the combined set of motion data to the processing device.

26. A non-transitory computer-readable medium storing instructions that, when executed by a data processing device, cause the data processing device to perform operations comprising: receiving wireless signals transmitted by wireless communication devices residing within the environment, each of the wireless signals being addressed to a corresponding one of the wireless communication devices; generating a first aggregate motion score based on beamforming reports in the first subset of the wireless signals; determining a first set link identifier based on address information in the first subset of wireless signals; generating first aggregate motion data comprising the first aggregate motion score and the first aggregate link identifier; Calculating a channel response based on physical frames, i.e., PHY frames, in a second subset of the wireless signal; generating a second aggregate motion score based on the channel response; determining a second set of link identifiers based on address information in a second subset of the wireless signals; generating second set motion data comprising the second set motion scores and the second set link identifiers; as well as A combined motion data set is generated that includes the first set of motion data and the second set of motion data.

27. The computer-readable medium of claim 26, the operations further comprising: Motion within the environment is analyzed based on the combined motion data set.

28. The computer-readable medium of claim 27, wherein: Analyzing motion within the environment based on the combined motion data set includes determining whether motion occurs within the environment.

29. The computer-readable medium of any one of claims 26 to 28, wherein: Determining the first set link identifier includes: determining the first set link identifier based on source and destination information in 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 address information in the second subset of the wireless signals.

30. The computer-readable medium of any one of claims 26 to 28, wherein: Generating the first set motion scores includes: generating the first set motion scores by a first type of motion detection process based on beamforming reports in a first subset of the wireless signals; and Generating the second set of motion scores includes generating the second set of motion scores through a second type of motion detection process based on the channel response.

31. A computer program product comprising instructions which, when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Motion detection based on groupings of statistical parameters of wireless signals

    US10048350B1

  • Motion detection based on machine learning of wireless signal properties

    US10108903B1

  • Motion localization in a wireless mesh network based on motion indicator values

    US10109167B1

  • Motion localization based on channel response characteristics

    US10109168B1

  • Motion detection based on beamforming dynamic information

    US10459076B2