WO2024016083A1 - Identification de zones de mouvement sur la base d'une entrée d'utilisateur et de données de détection de mouvement dérivées de signaux sans fil - Google Patents

Identification de zones de mouvement sur la base d'une entrée d'utilisateur et de données de détection de mouvement dérivées de signaux sans fil Download PDF

Info

Publication number
WO2024016083A1
WO2024016083A1 PCT/CA2023/050977 CA2023050977W WO2024016083A1 WO 2024016083 A1 WO2024016083 A1 WO 2024016083A1 CA 2023050977 W CA2023050977 W CA 2023050977W WO 2024016083 A1 WO2024016083 A1 WO 2024016083A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
wireless communication
wireless
communication devices
sensing data
Prior art date
Application number
PCT/CA2023/050977
Other languages
English (en)
Inventor
Mohammad Omer
Original Assignee
Cognitive Systems Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognitive Systems Corp. filed Critical Cognitive Systems Corp.
Publication of WO2024016083A1 publication Critical patent/WO2024016083A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/74Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings

Definitions

  • the following description relates to identifying motion zones based on user input and motion-sensing data derived from wireless signals.
  • Motion detection systems have been used to detect movement, for example, of objects in a room or an outdoor area.
  • infrared or optical sensors are used to detect movement of objects in the sensor’s field of view.
  • Motion detection systems have been used in security systems, automated control systems, and other types of systems.
  • FIG. 1 is a diagram showing an example wireless communication system
  • FIGS. 2A-2B are diagrams showing example wireless signals communicated between wireless communication devices
  • FIG. 2C is a diagram showing an example wireless sensing system operating to detect motion in a space
  • FIG. 3A is a schematic diagram of an example wireless communication network
  • FIG. 3B is a diagram showing an example graphical display on a user interface on a user device
  • FIG. 4A is a diagram of an example space associated with a wireless communication network
  • FIG. 4B a diagram of an example spatial map based on the example space of FIG. 4A;
  • FIG. 5A is a diagram of an example space associated with a wireless communication network
  • FIG. 5B is an example of a transition matrix illustrating the addition of motion zones that are not associated with a wireless communication device
  • FIG. 5C is an example spatial map based on the example space shown in FIG. 5A illustrating locations of new motion zones
  • FIG. 6 is a block diagram of a method of determining significance of linkdisturbance signatures
  • FIG. 7 is a flow diagram of a method for identifying motion zones that are not associated with a wireless communication device
  • FIG. 8A is a flow chart of an example process for determining a location of motion detected by one or more wireless links in a wireless communication network
  • FIG. 8B is a block diagram illustrating interaction of a user with a motion detection system
  • FIG. 8C is a signaling and flow diagram representing example operations that may be performed in the system shown in FIG. 8B;
  • FIG. 9 is a block diagram showing an example wireless communication device.
  • a wireless sensing system can process wireless signals (e.g., radio frequency signals) transmitted through a space between wireless communication devices for wireless sensing applications.
  • Example wireless sensing applications include detecting motion, which can include one or more of the following: detecting motion of objects in the space, motion tracking, localization of motion in a space, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (e.g., moving and stationary human detection), human tracking, fall detection, speed estimation, intrusion detection, walking detection, step counting, respiration rate detection, sleep pattern detection, sleep quality monitoring, apnea estimation, posture change detection, activity recognition, gait rate classification, gesture decoding, sign language recognition, hand tracking, heart rate estimation, breathing rate estimation, room occupancy detection, human dynamics monitoring, and other types of motion detection applications.
  • detecting motion can include one or more of the following: detecting motion of objects in the space, motion tracking, localization of motion in a space, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (e.g., moving and
  • wireless sensing applications include object recognition, speaking recognition, keystroke detection and recognition, tamper detection, touch detection, attack detection, user authentication, driver fatigue detection, traffic monitoring, smoking detection, school violence detection, human counting, metal detection, human recognition, bike localization, human queue estimation, Wi-Fi imaging, and other types of wireless sensing applications.
  • the wireless sensing system may operate as a motion detection system to detect the existence and location of motion based on Wi-Fi signals or other types of wireless signals.
  • home monitoring using the wireless sensing systems described herein may provide several advantages, including full home coverage through walls and in darkness, discreet detection without cameras, higher accuracy and reduced false alerts (e.g., in comparison with sensors that do not use Wi-Fi signals to sense their environments), and adjustable sensitivity.
  • Wi-Fi motion detection capabilities By layering Wi-Fi motion detection capabilities into routers and gateways, a robust motion detection system may be provided.
  • the examples described herein may also be useful for wellness monitoring. Caregivers want to know their loved ones are safe, while seniors and people with special needs want to maintain their independence at home with dignity.
  • wellness monitoring using the wireless sensing systems described herein may provide a solution that uses wireless signals to detect motion without using cameras or infringing on privacy, generates alerts when unusual activity is detected, tracks sleep patterns, and generates preventative health data.
  • caregivers can monitor motion, visits from health care professionals, and unusual behavior such as staying in bed longer than normal.
  • motion is monitored unobtrusively without the need for wearable devices, and the wireless sensing systems described herein offer a more affordable and convenient alternative to assisted living facilities and other security and health monitoring tools.
  • the wireless sensing systems described herein use predictive analytics and artificial intelligence (Al), to learn motion patterns and trigger smart home functions accordingly.
  • Examples of smart home functions that may be triggered include adjusting the thermostat when a person walks through the front door, turning other smart devices on or off based on preferences, automatically adjusting lighting, adjusting HVAC systems based on present occupants, etc.
  • a motion detection system includes a plurality of wireless communication devices placed throughout a physical space, such as a residence, a workplace, and so forth.
  • the plurality of wireless communication devices is part of a wireless communication network and may include client devices, such as mobile devices, smartphones, smart watches, tablets, laptop computers, smart thermostats, wireless-enabled cameras, smart TVs, wireless-enabled speakers, wireless-enabled power sockets, and so forth.
  • the plurality of wireless communication devices may also include wireless access points (APs) capable of connecting the client devices to the wireless communication network.
  • the plurality of wireless access points defines a wireless mesh network.
  • the plurality of wireless communication devices maybe associated with respective media access control (MAC) that are unique to each wireless communication device (or wireless communication interface therein).
  • MAC media access control
  • the MAC addresses - which are typically represented by pairs of alphanumeric characters - do not indicate a positional information such as a location of a wireless communications device in the space or a distance of the wireless communication device relative to another wireless communication device. As such, a user of the motion detection system is unable to perceive the space in which the one or more wireless communication devices reside based on the MAC addresses.
  • the motion detection system maybe configured to generate motionsensing data based on wireless signals exchanged between the plurality of wireless communication devices.
  • the wireless signals maybe transmitted across wireless links defined by respective pairs of wireless communication devices in the wireless communication network. Moreover, the wireless links may extend through respective portions of the space. As such, the motion of an object or person in the space may disturb one or more wireless signals and thus allow the motion detection system to generate the motion-sensing data.
  • the motion detection system uses the motion-sensing data to localize the motion of the object or person in the space. In many instances, the motion detection system informs the user where motion is happening in the space by identifying one or more wireless communication devices closest to the motion. Such identification may be made based on a spatial map of the wireless communication devices in the space. The spatial map may assist the user in perceiving the space and motion therein.
  • the motion detection system may generate the spatial map during an initial period of operation (e.g., a few hours). In doing so, the motion detection system may collect motion-sensing data and then use the collected motion-sensing data to determine the locations of the plurality of communication devices relative to each other. The locations may correspond to physical or logical distances between respective pairs of wireless communication devices. The physical or logical distances may be based on, respectively, a physical or logical coordinate system for the spatial map.
  • the motion detection system is also configured to present the spatial map to the user (e.g., via a display device) to allow the user to input information that defines additional features of the space. For example, the user may input information associating groups of wireless communication devices that share a common characteristic (e.g., devices that are in the same room). After receiving this input, the motion detection system may generate configuration data (e.g., motion zones) that represents these additional features. The configuration data may be subsequently used by the motion detection system to display information on a graphical interface that represents the spatial map with its additional features. The configuration data may also be used by the motion detection system to conduct an operation (e.g., send a notification to the user) based on the additional features.
  • an operation e.g., send a notification to the user
  • the motion detection system is configured to receive instructions from the user to assign one or more wireless communication devices on the spatial map to a motion zone in the space.
  • the motion zone may be based on a region shared in common by the one or more wireless communication devices.
  • the space may be a house that includes a living room having multiple wireless communication devices therein. If motion occurs in the living room, the user may prefer to know that the motion occurred in the living room instead of at a specific wireless communication device in the living room. In this case, the user may instruct the motion detection system to create a motion zone entitled "living room” and assign the multiple wireless communication devices to this motion zone.
  • the motion zone and its associated room may correspond to additional features provided by the user for the spatial map. If desired, the user may repeat this process for other rooms in the house and thus add further features to the spatial map.
  • the motion detection system may then generate configuration data based on the information that will later assist the user perceiving motion detected in the house.
  • the motion detection system is configured to identify new motion zones that are not associated with any of the wireless communication devices in the system. For example, the motion detection system may determine that subsets of motion-sensing data are statistically significant and do not correspond to an existing motion zone. Based on the subset of motion-sensing data, the motion sensing may identify a possible new motion zone that can be added to the motion detection system. The motion detection system may determine a location of the new motion sensing zone, and present the new motion zone to a user in a spatial map. Along with the location of the new motion zone, the spatial map may indicate the locations of existing motion zones, the locations of wireless communication devices, and other location information, so that the user can determine whether to accept the new motion zone or what to name the new motion zone.
  • aspects of the systems and techniques described here provide technical improvements and advantages over existing approaches.
  • the systems and techniques allow a motion sensing system to identify new motion zones that are not associated with a particular wireless communication device, and to obtain user input based on a graphical presentation of the new motion zone in a spatial map of the wireless communication devices.
  • the spatial map provides a more intuitive representation of the new motion zone, allowing the user to understand the spatial relationship between the new motion zone and existing ones.
  • the systems and techniques relieve the user from having to manually add motion zones or construct spatial maps. Instead, the motion detection system constructs the spatial map and identifies new motion zones based on the motion-sensing data. The motion zones can then be refined by the user.
  • the technical improvements and advantages achieved in examples where the wireless sensing system is used for motion detection may also be achieved in other examples where the wireless sensing system is used for other wireless sensing applications.
  • a wireless sensing system can be implemented using a wireless communication network.
  • Wireless signals received at one or more wireless communication devices in the wireless communication network may be analyzed to determine channel information for the different communication links (between respective pairs of wireless communication devices) in the network.
  • the channel information may be representative of a physical medium that applies a transfer function to wireless signals that traverse a space.
  • the channel information includes a channel response.
  • Channel responses can characterize a physical communication path, representing the combined effect of, for example, scattering, fading, and power decay within the space between the transmitter and receiver.
  • the channel information includes beamforming state information (e.g., a feedback matrix, a steering matrix, channel state information (CSI), etc.) provided by a beamforming system.
  • beamforming state information e.g., a feedback matrix, a steering matrix, channel state information (CSI), etc.
  • Beamforming is a signal processing technique often used in multi antenna (multiple-input/multiple-output (MIMO)) radio systems for directional signal transmission or reception. Beamforming can be achieved by operating elements in an antenna array in such a way that signals at particular angles experience constructive interference while others experience destructive interference.
  • the channel information for each of the communication links may be analyzed by one or more motion detection algorithms (e.g., running on a hub device, a client device, or other device in the wireless communication network, or on a remote device communicably coupled to the network) to detect, for example, whether motion has occurred in the space, to determine a relative location of the detected motion, or both.
  • the channel information for each of the communication links may be analyzed to detect whether an object is present or absent, e.g., when no motion is detected in the space.
  • a motion detection system returns motion data.
  • motion data is a result that is indicative of a degree of motion in the space, the location of motion in the space, a time at which the motion occurred, or a combination thereof.
  • motion data may include data representing a position of the one or more wireless communication devices relative to each other.
  • the data may represent a distance between pairs of wireless communication devices in the wireless communication network. The distance may be based on a physical or logical coordinate system. In the latter case, the logical coordinate system may be used to indicate distances other than physical distances.
  • the motion data can include a motion score, which may include, or may be, one or more of the following: a scalar quantity indicative of a level of signal perturbation in the environment accessed by the wireless signals; an indication of whether there is motion; an indication of whether there is an object present; or an indication or classification of a gesture performed in the environment accessed by the wireless signals.
  • a motion score which may include, or may be, one or more of the following: a scalar quantity indicative of a level of signal perturbation in the environment accessed by the wireless signals; an indication of whether there is motion; an indication of whether there is an object present; or an indication or classification of a gesture performed in the environment accessed by the wireless signals.
  • the motion detection system can be implemented using one or more motion detection algorithms.
  • Example motion detection algorithms that can be used to detect motion based on wireless signals include the techniques described in U.S. Patent No. 9,523,760 entitled “Detecting Motion Based on Repeated Wireless Transmissions,” U.S. Patent No. 9,584,974 entitled “Detecting Motion Based on Reference Signal Transmissions,” U.S. Patent No. 10,051,414 entitled “Detecting Motion Based On Decompositions Of Channel Response Variations,” U.S. Patent No. 10,048,350 entitled “Motion Detection Based on Groupings of Statistical Parameters of Wireless Signals,” U.S. Patent No.
  • U.S. Patent No. 10,506,384 entitled “Determining a Location of Motion Detected from Wireless Signals Based on Prior Probability”
  • FIG. 1 illustrates an example wireless communication system 100.
  • the wireless communication system 100 may perform one or more operations of a motion detection system.
  • the technical improvements and advantages achieved from using the wireless communication system 100 to detect motion are also applicable in examples where the wireless communication system 100 is used for another wireless sensing application.
  • the example wireless communication system 100 includes three wireless communication devices 102A, 102B, 102C.
  • the example wireless communication system 100 may include additional wireless communication devices 102 and/or other components (e.g., one or more network servers, network routers, network switches, cables, or other communication links, etc.).
  • the example wireless communication devices 102A, 102B, 102C can operate in a wireless network, for example, according to a wireless network standard or another type of wireless communication protocol.
  • the wireless network may be configured to operate as a Wireless Local Area Network (WLAN), a Personal Area Network (PAN), a metropolitan area network (MAN), or another type of wireless network.
  • WLANs include networks configured to operate according to one or more of the 802.11 family of standards developed by IEEE (e.g., Wi-Fi networks), and others.
  • PANs include networks that operate according to short-range communication standards (e.g., BLUETOOTH®, Near Field Communication (NFC), ZigBee), millimeter wave communications, and others.
  • the wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard.
  • 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); 5G standards, and others.
  • GSM Global System for Mobile
  • EDGE Enhanced Data rates for GSM Evolution
  • EGPRS 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-
  • one or more of the wireless communication devices 102 is a Wi-Fi access point or another type of wireless access point (WAP).
  • WAP wireless access point
  • one or more of the wireless communication devices 102 is an access point of a wireless mesh network, such as, for example, a commercially-available mesh network system (e.g., GOOGLE Wi-Fi, EERO mesh, etc.).
  • one or more of the wireless communication devices 102 can be implemented as wireless access points (APs) in a mesh network, while the other wireless communication device(s) 102 are implemented as leaf devices (e.g., mobile devices, smart devices, etc.) that access the mesh network through one of the APs.
  • APs wireless access points
  • leaf devices e.g., mobile devices, smart devices, etc.
  • one or more of the wireless communication devices 102 is a mobile device (e.g., a smartphone, a smartwatch, a tablet, a laptop computer, etc.), a wireless-enabled device (e.g., a smart thermostat, a Wi-Fi enabled camera, a smart TV), or another type of device that communicates in a wireless network.
  • a mobile device e.g., a smartphone, a smartwatch, a tablet, a laptop computer, etc.
  • a wireless-enabled device e.g., a smart thermostat, a Wi-Fi enabled camera, a smart TV
  • another type of device that communicates in a wireless network.
  • the wireless communication devices transmit wireless signals to each other over wireless communication links (e.g., according to a wireless network standard or a non-standard wireless communication protocol), and the wireless signals communicated between the devices can be used as motion probes to detect motion of objects in the signal paths between the devices.
  • standard signals e.g., channel sounding signals, beacon signals
  • non-standard reference signals e.g., beacon signals
  • other types of wireless signals can be used as motion probes.
  • the wireless communication link between the wireless communication devices 102A, 102C can be used to probe a first motion detection zone 110A
  • the wireless communication link between the wireless communication devices 102B, 102C can be used to probe a second motion detection zone HOB
  • the wireless communication link between the wireless communication devices 102A, 102B can be used to probe a third motion detection zone HOC.
  • the motion detection zones 110 can include, for example, air, solid materials, liquids, or another medium through which wireless electromagnetic signals may propagate.
  • the motion detection system may detect the motion based on signals transmitted through the relevant motion detection zone 110.
  • the object can be any type of static or moveable object, and can be living or inanimate.
  • the object can be a human (e.g., the person 106 shown in FIG. 1), an animal, an inorganic object, or another device, apparatus, or assembly, an object that defines all or part of the boundary of a space (e.g., a wall, door, window, etc.), or another type of object.
  • the wireless signals propagate through a structure (e.g., a wall) before or after interacting with a moving object, which may allow the object’s motion to be detected without an optical line-of-sight between the moving object and the transmission or receiving hardware.
  • the motion detection system may communicate the motion detection event to another device or system, such as a security system or a control center.
  • the wireless communication devices 102 themselves are configured to perform one or more operations of the motion detection system, for example, by executing computer-readable instructions (e.g., software or firmware) on the wireless communication devices. For example, each device may process received wireless signals to detect motion based on changes in the communication channel.
  • another device e.g., a remote server, a cloud-based computer system, a network-attached device, etc.
  • each wireless communication device 102 may send channel information to a specified device, system, or service that performs operations of the motion detection system.
  • wireless communication devices 102A, 102B may broadcast wireless signals or address wireless signals to the other wireless communication device 102C, and the wireless communication device 102C (and potentially other devices) receives the wireless signals transmitted by the wireless communication devices 102A, 102B.
  • the wireless communication device 102C (or another system or device) then processes the received wireless signals to detect motion of an object in a space accessed by the wireless signals (e.g., in the zones 110A, 11B).
  • the wireless communication device 102C (or another system or device) may perform one or more operations of a motion detection system.
  • FIGS. 2A and 2B are diagrams showing example wireless signals communicated between wireless communication devices 204A, 204B, 204C.
  • the wireless communication devices 204A, 204B, 204C can be, for example, the wireless communication devices 102A, 102B, 102C shown in FIG. 1, or may be other types of wireless communication devices.
  • a combination of one or more of the wireless communication devices 204A, 204B, 204C can be part of, or may be used by, a motion detection system.
  • the example wireless communication devices 204A, 204B, 204C can transmit wireless signals through a space 200.
  • the example space 200 may be completely or partially enclosed or open at one or more boundaries of the space 200.
  • the space 200 may be or may include an interior of a room, multiple rooms, a building, an indoor area, outdoor area, or the like.
  • a first wall 202A, a second wall 202B, and a third wall 202C at least partially enclose the space 200 in the example shown.
  • the first wireless communication device 204A transmits wireless motion probe signals repeatedly (e.g., periodically, intermittently, at scheduled, unscheduled, or random intervals, etc.).
  • the second and third wireless communication devices 204B, 204C receive signals based on the motion probe signals transmitted by the wireless communication device 204A.
  • an object is in a first position 214A at an initial time (to) in FIG. 2A, and the object has moved to a second position 214B at subsequent time (ti) in FIG. 2B.
  • the moving object in the space 200 is represented as a human, but the moving object can be another type of object.
  • the moving object can be an animal, an inorganic object (e.g., a system, device, apparatus, or assembly), an object that defines all or part of the boundary of the space 200 (e.g., a wall, door, window, etc.), or another type of object.
  • an inorganic object e.g., a system, device, apparatus, or assembly
  • an object that defines all or part of the boundary of the space 200 e.g., a wall, door, window, etc.
  • another type of object e.g., a wall, door, window, etc.
  • the wireless communication devices 204A, 204B, 204C are stationary and are, consequently, at the same position at the initial time to and at the subsequent time ti.
  • one or more of the wireless communication devices 204A, 204B, 204C are mobile and may move between initial time to and subsequent time ti.
  • FIGS. 2A and 2B multiple example paths of the wireless signals transmitted from the first wireless communication device 204A are illustrated by dashed lines.
  • first signal path 216 the wireless signal is transmitted from the first wireless communication device 204A and reflected off the first wall 202A toward the second wireless communication device 204B.
  • second signal path 2108 the wireless signal is transmitted from the first wireless communication device 204A and reflected off the second wall 202B and the first wall 202A toward the third wireless communication device 204C.
  • the wireless signal is transmitted from the first wireless communication device 204A and reflected off the second wall 202B toward the third wireless communication device 204C.
  • fourth signal path 222 the wireless signal is transmitted from the first wireless communication device 204A and reflected off the third wall 202C toward the second wireless communication device 204B.
  • the wireless signal is transmitted from the first wireless communication device 204A and reflected off the object at the first position 214A toward the third wireless communication device 204C.
  • the object moves from the first position 214A to a second position 214B in the space 200 (e.g., some distance away from the first position 214A).
  • the wireless signal is transmitted from the first wireless communication device 204A and reflected off the object at the second position 214B toward the third wireless communication device 204C.
  • a signal path can be added, removed, or otherwise modified due to movement of an object in a space.
  • the example wireless signals shown in FIGS. 2A and 2B can experience attenuation, frequency shifts, phase shifts, or other effects through their respective paths and may have portions that propagate in another direction, for example, through the walls 202A, 202B, and 202C.
  • the wireless signals are radio frequency (RF) signals.
  • the wireless signals may include other types of signals.
  • the transmitted signal can have a number of frequency components in a frequency bandwidth, and the transmitted signal may include one or more bands within the frequency bandwidth.
  • the transmitted signal may be transmitted from the first wireless communication device 204A in an omnidirectional manner, in a directional manner, or otherwise.
  • the wireless signals traverse multiple respective paths in the space 200, and the signal along each path can become attenuated due to path losses, scattering, reflection, or the like and may have a phase or frequency offset.
  • the signals from various paths 216, 218, 220, 222, 224A, and 224B combine at the third wireless communication device 204C and the second wireless communication device 204B to form received signals.
  • the space 200 may be represented as a transfer function (e.g., a filter ) in which the transmitted signal is input and the received signal is output.
  • a transfer function e.g., a filter
  • the attenuation or phase offset applied to a wireless signal along a signal path can change, and hence, the transfer function of the space 200 can change.
  • the output of that transfer function e.g., the received signal
  • a change in the received signal can be used to detect motion of an object.
  • the output of the transfer function - the received signal - may not change.
  • FIG. 2C is a diagram showing an example wireless sensing system operating to detect motion in a space 201.
  • the example space 201 shown in FIG. 2C is a home that includes multiple distinct spatial regions or zones.
  • the wireless motion detection system uses a multi-AP home network topology (e.g., mesh network or a Self-Organizing-Network (SON)), which includes three access points (APs): a central access point 226 and two extension access points 228A, 228B.
  • APs access points
  • each AP typically supports multiple bands (2.4G, 5G, 6G), and multiple bands may be enabled at the same time.
  • Each AP can use a different Wi-Fi channel to serve its clients, as this may allow for better spectrum efficiency.
  • the wireless communication network includes a central access point 226.
  • one AP may be denoted as the central AP.
  • This selection which is often managed by manufacturer software running on each AP, is typically the AP that has a wired Internet connection 236.
  • the other APs 228A, 228B connect to the central AP 226 wirelessly, through respective wireless backhaul connections 230A, 230B.
  • the central AP 226 may select a wireless channel different from the extension APs to serve its connected clients.
  • the extension APs 228A, 228B extend the range of the central AP 226, by allowing devices to connect to a potentially closer AP or different channel.
  • the end user need not be aware of which AP the device has connected to, as all services and connectivity would generally be identical.
  • the extension APs 228A, 228B connect to the central AP 226 using the wireless backhaul connections 230A, 230B to move network traffic between other APs and provide a gateway to the Internet.
  • Each extension AP 228A, 228B may select a different channel to serve its connected clients.
  • client devices e.g., Wi-Fi client devices
  • 232A, 232B, 232C, 232D, 232E, 232F, 232G are associated with either the central AP 226 or one of the extension APs 228 using a respective wireless link 234A, 234B, 234C, 234D, 234E, 234F, 234G.
  • the client devices 232 that connect to the multi-AP executed on one or more of the client devices nodes in the multi-AP network.
  • the client devices 232 may include wireless-enabled devices (e.g., mobile devices, a smartphone, a smartwatch, a tablet, a laptop computer, a smart thermostat, a wireless-enabled camera, a smart TV, a wireless-enabled speaker, a wireless-enabled power socket, etc.).
  • wireless-enabled devices e.g., mobile devices, a smartphone, a smartwatch, a tablet, a laptop computer, a smart thermostat, a wireless-enabled camera, a smart TV, a wireless-enabled speaker, a wireless-enabled power socket, etc.
  • the client devices 232 may go through an authentication and association phase with their respective APs 226, 228.
  • the association phase assigns address information (e.g., an association ID or another type of unique identifier) to each of the client devices 232.
  • address information e.g., an association ID or another type of unique identifier
  • each of the client devices 232 can identify itself using a unique address (e.g., a 48-bit address, an example being the MAC address), although the client devices 232 may be identified using other types of identifiers embedded within one or more fields of a message.
  • the address information (e.g., MAC address or another type of unique identifier) can be either hardcoded and fixed, or randomly generated according to the network address rules at the start of the association process.
  • client devices 232 Once the client devices 232 have associated to their respective APs 226, 228, their respective address information may remain fixed. Subsequently, a transmission by the APs 226, 228 or the client devices 232 typically includes the address information (e.g., MAC address) of the transmitting wireless device and the address information (e.g., MAC address) of the receiving device.
  • the wireless backhaul connections 230A, 230B carry data between the APs and may also be used for motion detection.
  • Each of the wireless backhaul channels (or frequency bands) may be different than the channels (or frequency bands) used for serving the connected Wi-Fi devices.
  • wireless links 234A, 234B, 234C, 234D, 234E, 234F, 234G may include a frequency channel used by the client devices 232A, 232B, 232C, 232D, 232E, 232F, 232G to communicate with their respective APs 226, 228.
  • Each AP can select its own channel independently to serve their respective client devices, and the wireless links 234 may be used for data communications as well as motion detection.
  • the motion detection system which may include one or more motion detection or localization processes running on one or more of the client devices 232 or on one or more of the APs 226, 228, may collect and process data (e.g., channel information) corresponding to local links that are participating in the operation of the wireless sensing system.
  • the motion detection system can be installed as a software or firmware application on the client devices 232 or on the APs 226, 228, or may be part of the operating systems of the client devices 232 or the APs 226, 228.
  • the APs 226, 228 do not contain motion detection software and are not otherwise configured to perform motion detection in the space 201.
  • the operations of the motion detection system are executed on one or more of the client devices 232.
  • one or more operations of the motion detection system may be executed on a cloud-based processor.
  • the channel information may be obtained by the client devices 232 by receiving wireless signals from the APs 226, 228 (or possibly from other client devices 232) and processing the wireless signal to obtain the channel information.
  • the motion detection system running on the client devices 232 can have access to channel information provided by the client device’s radio firmware (e.g., Wi-Fi radio firmware) so that channel information may be collected and processed.
  • the client devices 232 send a request to their corresponding AP 226, 228 to transmit wireless signals that can be used by the client device as motion probes to detect motion of objects in the space 201.
  • the request sent to the corresponding AP 226, 228 may be a null data packet frame, a beamforming request, a ping, standard data traffic, or a combination thereof.
  • the client devices 232 are stationary while performing motion detection in the space 201. In other examples, one or more of the client devices 232 can be mobile and may move within the space 201 while performing motion detection.
  • a signal f(t) transmitted from a wireless communication device may be described according to Equation (1): where ⁇ n represents the frequency of n th frequency component of the transmitted signal, c n represents the complex coefficient of the n th frequency component, and t represents time.
  • an output signal r k (t) from a path k may be described according to Equation (2): where a n,k represents an attenuation factor (or channel response; e.g., due to scattering, reflection, and path losses) for the n th frequency component along path k, and ( ⁇ n,k represents the phase of the signal for n th frequency component along path k.
  • the received signal R at a wireless communication device can be described as the summation of all output signals r k (t) from all paths to the wireless communication device, which is shown in Equation (3):
  • Equation (3) Substituting Equation (2) into Equation (3) renders the following Equation (4):
  • the received signal R at a wireless communication device can then be analyzed (e.g., using one or more motion detection algorithms) to detect motion.
  • the received signal R at a wireless communication device can be transformed to the frequency domain, for example, using a Fast Fourier Transform (FFT) or another type of algorithm.
  • FFT Fast Fourier Transform
  • the transformed signal can represent the received signal R as a series of n complex values, one for each of the respective frequency components (at the n frequencies ⁇ n ).
  • a complex value Y n may be represented as follows in Equation (5):
  • the complex value Y n for a given frequency component ⁇ n indicates a relative magnitude and phase offset of the received signal at that frequency component ⁇ n .
  • the signal (t) may be repeatedly transmitted within a time period, and the complex value Y n can be obtained for each transmitted signal
  • the complex value Y n changes over the time period due to the channel response a n k of the space changing. Accordingly, a change detected in the channel response (and thus, the complex value T n ) can be indicative of motion of an object within the communication channel or relative motion of a transmitter or receiver. Conversely, a stable channel response may indicate lack of motion.
  • the complex values Y n for each of multiple devices in a wireless network can be processed to detect whether motion has occurred in a space traversed by the transmitted signals f(t).
  • the channel response can be expressed in either the time-domain or frequency-domain, and the Fourier-Transform or Inverse-Fourier-Transform can be used to switch between the timedomain expression of the channel response and the frequency-domain expression of the channel response.
  • beamforming state information may be used to detect whether motion has occurred in a space traversed by the transmitted signals f(t). For example, beamforming may be performed between devices based on some knowledge of the communication channel (e.g., through feedback properties generated by a receiver), which can be used to generate one or more steering properties (e.g., a steering matrix) that are applied by a transmitter device to shape the transmitted beam/signal in a particular direction or directions.
  • steering properties e.g., a steering matrix
  • changes to the steering or feedback properties used in the beamforming process indicate changes, which may be caused by moving objects in the space accessed by the wireless signals.
  • motion may be detected by identifying substantial changes in the communication channel, e.g., as indicated by a channel response, steering or feedback properties, or any combination thereof, over a period of time.
  • a steering matrix may be generated at a transmitter device (beamformer) based on a feedback matrix provided by a receiver device (beamformer) based on channel sounding. Because the steering and feedback matrices are related to propagation characteristics of the channel, these beamforming matrices change as objects move within the channel. Changes in the channel characteristics are accordingly reflected in these matrices, and by analyzing the matrices, motion can be detected, and different characteristics of the detected motion can be determined.
  • a spatial map may be generated based on one or more beamforming matrices. The spatial map may indicate a general direction of an object in a space relative to a wireless communication device. In some cases, "modes” of a beamforming matrix (e.g., a feedback matrix or steering matrix) can be used to generate the spatial map. The spatial map may be used to detect the presence of motion in the space or to detect a location of the detected motion.
  • FIG. 3A is a schematic diagram of an example wireless communication network 300 that includes a plurality of wireless nodes 302.
  • the plurality of wireless nodes 302 may be analogous to the wireless communication devices 102, 204 of FIGS. 1 and 2A-2B, respectively.
  • three wireless nodes 302 are depicted, labeled N o , N 1 and N 2 .
  • the wireless communication network 300 may include one or more network servers, network routers, network switches, network repeaters, or other types of networking or computing equipment.
  • the wireless communication network 300 includes wireless communication channels 304 communicatively coupling respective pairs of wireless nodes 302. Such communicative coupling may allow an exchange of wireless signals between wireless nodes 302 over a time frame.
  • the wireless communication channels 304 allow bi-directional communication between the respective pairs of wireless nodes 302. Such communication may occur along two directions simultaneously (e.g., full duplex) or along only one direction at a time (e.g., half duplex).
  • the wireless communication channels 304 communicatively couple every pair of the plurality of wireless nodes 302.
  • one or more pairs of wireless nodes 302 may lack a corresponding wireless communication channel 304.
  • Each wireless communication channel 304 includes two or more wireless links, including at least one for each direction in the bi-directional communication.
  • an arrow represents each individual wireless link.
  • the arrow is labeled L t j where a first subscript, i, indicates a transmitting wireless node and a second subscript,;, indicates a receiving wireless node.
  • wireless nodes N o and N 1 are communicatively coupled by two wireless links that are indicated in FIG. 3A by two arrows, L 01 and L 10 .
  • Wireless link L 01 corresponds to wireless communication along a first direction from N o to N 1
  • wireless link L 10 corresponds wireless communication along a second, opposing direction from N 1 to N o .
  • the wireless communication network 300 obtains a set of motion indicator values associated with a time frame, which may include the processes of motion detection described in relation to FIGS. 2A-2B.
  • the set of motion indicator values indicate motion detected from wireless links in a wireless communication network.
  • Each motion indicator value is associated with a respective wireless link.
  • the motion may be detected using one or more wireless links (e.g., one or more wireless links L 01 , 10’ L 02’ L 20’ L 12’ and L 21 of FIG. 3A) in the wireless communication network (e.g., the wireless communication network 300).
  • Each of the wireless links is defined between a respective pair of wireless communication devices in the wireless communication network (e.g., pair combinations of wireless nodes N o , N 1 and N 2 ).
  • the wireless communication network 300 may include a data processing apparatus that executes program instructions (e.g., a network server, a wireless communication device, a network router, etc.).
  • the program instructions may cause the data processing apparatus to assign a unique node identifier to each of the wireless nodes 302 in the wireless communication network 300.
  • the unique node identifier may be mapped to a media access control (MAC) address value, which corresponds to a MAC address (or portion thereof) associated with a wireless node.
  • MAC media access control
  • the wireless nodes N o , N 1 and N 2 of FIG. 3A may be associated with a six-character portion of their respective MAC addresses, which is then mapped to a unique node identifier:
  • the MAC address values of 7f4440, 7f4c9e, and 7 / 630c are mapped to respective unique node identifiers 0, 1, and 2.
  • the program instructions may also cause the data processing apparatus to associate the wireless links with their respective pairs of wireless nodes via corresponding pairs of MAC address values.
  • the MAC address values may then be mapped to a unique link identifier to form a link table.
  • the wireless links L 01 , L 10’ L 02’ L 20’ L 12’ and L 21 of FIG. 3A may be mapped to unique link identifiers according to:
  • the MAC address values maybe ordered, from left to right, to indicate respective pairs of transmitting and receiving wireless nodes in a wireless link.
  • the left MAC address value may correspond to a transmitting wireless node and the right MAC address value may correspond to a receiving wireless node.
  • Such mappings of unique node and link identifiers may aid the data processing apparatus in performing operations, such as searching, sorting, and matrix manipulation, during processes of motion detection.
  • the program instructions may additionally cause the data processing apparatus to poll the wireless links (or wireless nodes 302) to obtain motion indicator values for each wireless link in the plurality of wireless links.
  • the wireless links of the wireless communication network 300 of FIG. 3A may report motion indicator values according to a data structure, such as shown below:
  • the first column corresponds to the unique link identifiers of the wireless links and the second column of the data structure corresponds to their respective motion indicator values.
  • a higher motion indicator value is indicative of a higher degree of perturbation of a particular wireless link.
  • the data structure may be an array, as shown above, or some other type of data structure (e.g., a vector). Although data structure is presented as having three significant digits for each motion indicator value, other numbers of significant digits are possible for the motion indicator values (e.g., 2, 5, 9, etc.).
  • the output of the motion detection system may be provided as a notification for graphical display on a user interface on a user device.
  • FIG. 3B is a diagram showing an example graphical display on a user interface 350 on a user device.
  • the user device is the client device 232 used to detect motion, a user device of a caregiver or emergency contact designated to an individual in the space 200, 201, or any other user device that is communicatively coupled to the motion detection system to receive notifications from the motion detection system.
  • the example user interface 350 shown in FIG. 3B includes an element 352 that displays motion data generated by the motion detection system.
  • the element 352 includes a horizontal timeline that includes a time period 354 (including a series of time points 356) and a plot of motion data indicating a degree of motion detected by the motion detection system for each time point in the series of time points 356.
  • the user is notified that the detected motion started near a particular location (e.g., the kitchen) at a particular time (e.g., 9:04), and the relative degree of motion detected is indicated by the height of the curve at each time point.
  • the example user interface 350 shown in FIG. 3B also includes an element 358 that displays the relative degree of motion detected in each motion zone of the motion detection system.
  • the element 358 indicates that 8% of the motion was detected in the "Entrance” zone while 62% of the motion was detected in the "Kitchen” zone.
  • the data provided in the elements 352, 358 can help the user determine an appropriate action to take in response to the motion detection event, correlate the motion detection event with the user’s observation or knowledge, determine whether the motion detection event was true or false, and so forth.
  • the output of the motion detection system may be provided in real-time (e.g., to an end user). Additionally, or alternatively, the output of the motion detection system may be stored (e.g., locally on the wireless communication devices 204, client devices 232, the APs 226, 228, or on a cloud-based storage service) and analyzed to reveal statistical information over a time frame (e.g., hours, days, or months). An example where the output of the motion detection system may be stored and analyzed to reveal statistical information over a time frame is in health monitoring, vital sign monitoring, sleep monitoring, etc.
  • an alert (e.g., a notification, an audio alert, or a video alert) may be provided based on the output of the motion detection system.
  • a motion detection event may be communicated to another device or system (e.g., a security system or a control center), a designated caregiver, or a designated emergency contact based on the output of the motion detection system.
  • the example space 400 may be a residence partitioned by one or more physical walls 404 to define various regions 406 such as a common area 406a, an entrance 406 , a living room 406c, a kitchen 406d, and so forth.
  • the wireless communication network 402 includes wireless communication devices 408a, 408b connected by wireless links 410.
  • wireless link 410a connects the AP 408a with wireless communication device D5 (408b).
  • Wireless link 410b connects the AP 408a with the wireless communication device D2 (408b).
  • Wireless link 410c connects the AP 408a with the wireless communication device D1 (408b).
  • Wireless link 410d connects the AP 408a with the wireless communication device D3 (408b).
  • Wireless link 410e connects the AP 408a with the wireless communication device D4 (408b).
  • the wireless communication devices 408a, 408b are labeled Dz where the index i indicates the zth wireless communication device.
  • the wireless links 410 are labeled by Lz where the index z indicates the zth wireless link 410.
  • wireless AP devices 408a which can serve as a hub in the wireless communication network 402, and wireless client (or leaf) devices 408 , such as a mobile device, a smartphone, a smart watch, a tablet, a laptop computer, a smart thermostat, a wireless-enabled camera, a smart TV, a wireless-enabled speaker, a wireless-enabled power socket, and so forth.
  • the wireless links 410 may be defined by respective pairs of wireless communication devices in the wireless communication network 402.
  • the wireless communication network 402 may be part or all of a motion detection system that, in many variations, generates motion-sensing data based on wireless signals transmitted over the wireless links 410.
  • the example space 400 may include an object or person that moves therein.
  • the motion of such an object or person may disturb the wireless links 410, and in particular, pairs of wireless links 410 adjacent each other.
  • a probability - shown as p ij in FIG. 4A - may be associated with pairs of wireless links that are sequentially disturbed by motion in time.
  • the probability p ij ( ⁇ ) is associated with the wireless links L1 and L2.
  • the probability p ij (b) is associated with the wireless links L2 and L3.
  • the probability p ij (c) is associated with the wireless links L3 and L4.
  • This probability may scale inversely in magnitude with a distance between wireless communication devices 408a, 408b defining the pair of wireless links. For example, the probability may scale inversely with a distance between a first wireless communication device associated with a first of the pair of wireless links and a second wireless communication device associated with a second of the pair of wireless links disturbed by the motion.
  • the pair of wireless links may share a wireless communication device in common (e.g., a wireless AP 408a] .
  • FIG. 4A depicts the pair of wireless links associated with respective wireless clients 408 .
  • other types of wireless communication devices are possible (e.g., APs).
  • the probability of sequential disturbance may be influenced by factors in the example space 400, such as a relative location of wireless communication devices defining the pair of wireless links and physical objects (e.g., the one or more physical walls 404) therebetween.
  • a probability of sequential disturbance is the probability of exciting one particular set of links, right after another particular set of links.
  • wireless communication devices that are close to each other such as wireless communication devices D1 and D3, may define a pair of wireless links (e.g., L3 and L4) that have a higher probability of sequential disturbance than a pair of wireless links (e.g., L1 and L2) defined by wireless communication devices that are farther away from each other, such as wireless communication devices D2 and D5.
  • the presence of a physical wall 404 may impede motion of the object or person and thus reduce a transition of the object or person from one side of the physical wall 404 to the other.
  • the pair of wireless links L2 and L3 in the example space 400 are separated by a physical wall 404, and as such, the probability of their sequential disturbance may be reduced relative to situations where the physical wall 404 is absent.
  • the interval over which this integration happens is a design parameter.
  • a typically-suggested interval for determining these transition probabilities is that of one day (24 hours) which allows (but not always) that user has visited all the locations associated with different wireless devices, and has disturbed all the links at least once, for the system to have estimated these sequential or transition probabilities.
  • the example space 400 corresponds to a house partitioned into different living spaces.
  • the entrance 406b and the living room 406c may have a large wall separating them, so a person entering the entrance 406b will not be able to go into the living room 406c without passing through the common area 406a where the wireless AP 408a is located. Because the person is unable to traverse directly between the entrance 406b and the living room 406c, the motion-sensing data will represent a low probability of transitions between the entrance and living room footprints of the wireless links 410 (e.g., between L4 and L5).
  • the motion-sensing data may provide a basis for a map of the house that places the entrance 406b and living room 406c away from each other.
  • the kitchen 406d is on a corner of the house opposite the entrance 406 . Motion between the entrance 406b to the kitchen 406d is even less likely than motion between the entrance 406b and the living room 406c.
  • the motion-sensing data will represent (if at all) a very low probability of transitions between the entrance and kitchen footprints of the wireless links 410 (e.g., between L2 and L5).
  • the motion- sensing data may provide a basis for a map of the house that places the entrance 406b and kitchen 406d farther away from each other than the entrance 406b and living room 406c.
  • the kitchen 406d and the living room 406c are separated by a partial wall.
  • Such a configuration may be analogous to an "open concept” house and thus motion between the kitchen 406d and the living room 406c may be common.
  • the motion-sensing data will therefore represent a high probability of transitions between the kitchen and living room footprints of the wireless links 410 (e.g., L2 and L3).
  • the motion-sensing data may therefore provide a basis for a map of the house that places the kitchen 406d and the living room 406c close to each other (e.g., adjacent each other).
  • different living spaces of the house may be associated with one or more wireless communication devices.
  • the common area 406a, the entrance 406 , and the kitchen 406d are associated with, for example, respective wireless communication devices D5, D4, and D2.
  • the living room 406c is associated with two wireless communication devices D1 and D3.
  • the one or more wireless communication devices allow the sequential disturbance of two wireless links 410 to be related to motion of an object or person between different living spaces.
  • the sequential disturbance of wireless links L2 and L3 may be related to motion between the living room 406c and the kitchen 406d.
  • the one or more wireless communication devices allow the sequential disturbance of two wireless links 410 to be related to motion within a single living space.
  • the sequential disturbance of wireless links L3 and L4 may be related to motion within the living room 406c.
  • the probability of disturbing a pair of wireless links 410 in the house can be related to a distance between two wireless communication devices associated with the pair of wireless links 410.
  • wireless communication devices D1 and D3 are closer to each other than wireless communication devices D2 and D5.
  • the probability of wireless links L3 and L4 being sequentially disturbed is higher than the probability of wireless links L1 and L2 being sequentially disturbed.
  • Motion-sensing data for the house may therefore indicate a high frequency of disturbance for wireless links L3 and L4 relative to wireless links L1 and L2. This motion-sensing data may thus be used to determine the probabilities for the sequential disturbance of wireless links L3 and L4 relative to wireless links L1 and L2.
  • the probabilities allow for the distance between wireless communication devices D1 and D3 and the distance between wireless communication devices D2 and D5 to be determined.
  • motion-sensing data for pairs of wireless links 410 in the house may be used to determine distances between pairs of wireless communication devices, which in turn, can be used to determine a spatial map for the wireless communication devices.
  • FIG. 4B is a diagram of an example spatial map 450 based on the example space 400 of FIG. 4A.
  • the example spatial map 450 represents a spatial arrangement of the wireless communication devices 408a, 408b in the example space 400.
  • the spatial arrangement may be based on spatial coordinates (e.g., x-y coordinates) for each of the wireless communication devices 408a, 408b in a coordinate system of the example spatial map 450, and the spatial coordinates may be generated based on the motion-sensing data.
  • the coordinate system is a physical coordinate system (e.g., using physical coordinates).
  • the coordinate system is a logical coordinate system (e.g., using arbitrary coordinates).
  • a computing device may process the motion-sensing data to determine distances between pairs of wireless communication devices 408a, 408b, and from the distances, calculate the spatial coordinates.
  • the spatial arrangement of the wireless communication devices includes spatial paths 452 between select pairs of wireless communication devices.
  • spatial path 452a is between the AP (408a) and the wireless communication device D5 (408b).
  • Spatial path 452b is between the AP (480a) and the wireless communication device D1 (408b).
  • Spatial path 452c is between the AP (408a) and the wireless communication device D4 (408b).
  • Spatial path 452d is between the wireless communication device D1 (408b) and the wireless communication device D2 (408b).
  • Spatial path 452e is between the wireless communication device D1 (408b) and the wireless communication device D3 (408b).
  • the computing device may determine the spatial paths 452 by generating a spanning tree from the spatial coordinates. For example, the computing device may execute a spanning tree algorithm to determine a minimum number of spatial paths 452 to connect the wireless communication devices 408. In some instances, the minimum number corresponds to a number of spatial paths 452 with respective lengths that, when summed, have a minimum length.
  • the connectivity illustrated by way of example in FIG. 4B refers to the connectivity of a spanning tree. The spanning tree is based on the distances between devices. Thus, the lines in FIG. 4B do not represent a wireless link. But rather a spanning tree link.
  • a computing device determines the spatial coordinates by generating a final set of spatial coordinates from an initial set of spatial coordinates. For example, the computing device may execute program instructions that define an optimization process for the initial set of spatial coordinates.
  • the computing device may produce a first data structure (e.g., a first matrix) from the motion-sensing data that includes a probability value for each pair of wireless links 410. The probability value may represent a probability of the pair of wireless links 410 being sequentially disturbed.
  • the computing device also produces a second data structure (e.g., a second matrix) that includes a distance value for each pair of wireless communication devices defining a wireless link 410.
  • the distance value may be based on a probability value (e.g., a reciprocal thereof) and represents a distance between the pair of wireless communication devices. For instance, the distance between two devices may be related to the probability p ij associated with the two devices as d ij 1/p ij or otherwise.
  • the computing device then converts the distance values into the initial set of spatial coordinates.
  • the initial set of spatial coordinates indicates the locations of the wireless communication devices in a two-dimensional coordinate system (e.g., an x-y coordinate system).
  • the two-dimensional coordinate system may be a physical or logical coordinate system.
  • the computing device produces a third data structure (e.g., a third matrix) that includes the initial set of spatial coordinates.
  • the computing device selects arbitrary coordinates for a pair of wireless communication devices that define a wireless link 410.
  • the computing device subsequently determines, based on the arbitrary coordinates, a test distance between the pair of wireless communication devices. This test distance is subtracted from a distance value for the pair of wireless communication devices in the second data structure. The resulting difference is then squared.
  • the second data structure may have a distance value, representing a distance between wireless communication devices D1 and D2.
  • the distance value, is based on a probability, p 23 , of wireless links L2 and L3 being sequentially disturbed.
  • the computing device selects arbitrary coordinates, represented by vector x, for wireless communication devices D1 and D2 in the two-dimensional coordinate system. Based on these coordinates, the computing device determines a test distance, , for wireless communication devices D1 and D2 and subtracts the distance value, from the test distance. The difference is subsequently squared, e.g., [0090] As part of the optimization process, the computing device determines a squared difference for each pair of wireless communication devices defining a wireless link 410 [e.g., as described above). The computing device then sums all of the squared differences to produce a residual value that characterizes the arbitrary coordinates selected for the pairs of wireless communication devices.
  • the computing device subsequently alters the arbitrary coordinates in iterative fashion to find a minimum residual value.
  • the arbitrary coordinates associated with the minimum residual value correspond to the final set of spatial coordinates and may be aggregated into a third data structure [e.g., a third matrix).
  • the optimization process can use the objective: where X is a vector of coordinates for each device; D(X) is a distance matrix generator from coordinates, and D p is a distance matrix generator from inverse probabilities.
  • FIG. 5A is a diagram of the example space 400, illustrated in FIG. 4A.
  • a motion detection system may initially identify motion zones associated with each of the wireless communication devices 408a, 408b.
  • motion in one of the zones associated with a wireless communication device will disturb all the wireless links of that device.
  • motion at the AP in FIG. 5A will typically disturb wireless links L1, L2, L3, L4, and L5; and motion at each of the leaf devices will typically disturb that leaf device’s sole wireless link.
  • the motion detection system can identify one or more new motion zones that are not associated with any of the wireless communication devices. In the example shown in FIG.
  • a first region 502 and a second region 504 are identified in the space 400 based on motion-sensing data derived from wireless signals transmitted through the space 400.
  • the first region 502 and the second region 504 are not associated with any of the wireless communication devices 408a, 408b.
  • the first region 502 is an area in the space 400 where the wireless link L1 and the wireless link L3 are concurrently affected by motion.
  • the concurrent excitation of the wireless link L1 and the wireless link L3, represented by the link disturbance signature [L1, L3] indicates there is a region in the space 400 that is distinct from regions that are close in proximity to device D1, or device D3.
  • the first region 502 can be represented as a distinct physical area, and can be labeled [e.g., in collaboration with the user).
  • the second region 504 is defined by the concurrent excitation of three wireless links in the space 400.
  • the link disturbance signature [L1, L2, L3] wireless link L3, wireless link L1, and wireless link L2 are concurrently disturbed.
  • the system can then present the new information to the user [e.g., in the form of a graphical representation of the space), to obtain an appropriate name /label for the region 502 and the region 504 in the space 400.
  • other characteristics of motionsensing data and wireless link disturbances [besides co-excitation of link with other links) can be analyzed to discover new motion zones such as, for example, the region 502 and the region 504.
  • FIG. 5B is an example of a transition matrix 520 illustrating the addition of motion zones that are not associated with a wireless communication device.
  • the transition matrix 520 shows the probability of motion transitions between pairs of the motion zones. If there are many transitions between the two motion zones then that can be interpreted as a proxy for physical proximity, and the inverse of the transition probability can be used as a measure of distance between the motion zones as discussed above.
  • rows and columns are added to the matrix to represent new motion zones.
  • the new motion zones are the regions 502, 504 that have the link disturbance signatures discussed above with respect to FIG. 5A.
  • a first new row and a first new column are added to the transition matrix 520 to represent a first new motion zone, which is the region 502 that has the link disturbance signature [L1, L3] ;
  • a second new row and a second new column are added to the transition matrix 520 to represent a second new motion zone, which is the region 504 that has the link disturbance signature [L1, L2, L3].
  • the added rows contain a transition number to and from the additional signatures that have been discovered in the space and are not associated with a wireless communication device.
  • the distance matrix can be decomposed into coordinates, such that the coordinates satisfy the distance between any two points as given in the matrix.
  • FIG. 5C is an example spatial map 550 based on the space 400 as illustrated in FIG. 5A illustrating locations of the first region 502 and the second region 504 of significant link-disturbance signatures.
  • the spatial map 550 shows the result of adding two extra rows and columns to the matrix illustrated in FIG. 5B.
  • the two new motion zones are represented as new points in the spatial map 550.
  • the "entrance living” point in the spatial map 550 corresponds to region 502 in FIG. 5A
  • the "corridor” point in the spatial map 550 corresponds to region 504 in FIG. 5A.
  • the connectivity illustrated by way of example in FIG. 5C refers to the connectivity of a spanning tree.
  • the spanning tree is based on the distances between devices.
  • the lines in FIG. 5C do not represent a wireless link. But rather a spanning tree link.
  • this linkdisturbance pattern has now been plotted as a new motion zone on the spatial map 550 for the user.
  • the user may receive a notification that, somewhere between the access point AP and the device D1, the system has discovered a new zone.
  • the system may inquire if the user would like to label this new zone. If the user would like to label the new zone, a name can be assigned to this pattern ("Corridor” for example). This process may be repeated for all such new motion zones based on the discovered link disturbance patterns.
  • the user may be presented with two (or more) basic choices. First, the user may recognize the new motion zone as a new unique zone in the house, or, second, the user might not be interested in that level of granularity and decide to not name the newly-identified motion zone.
  • the functionality of allowing the user to decide to label the newly-identified motion zones has particular application in internet of things (loT) applications, where the user may have a preference for how a certain space is utilized or controlled.
  • the user might want the light to turn on when the user is present in, for example, the lobby; or the user may want the light to stay on even when the user moves to, for example, the corridor.
  • the lobby and corridor need not be differentiated as the user does not want to have separate control over the lobby and the corridor space. Thus, a new zone is not required. If, however, the user does want separate control over the two spaces, the user can choose to have two separate labels assigned to the individual spaces.
  • FIG. 6 is a block diagram of an example method of determining significance of link-disturbance signatures.
  • a unique zone can look like an excitation of a combination of wireless links, which would not normally experience concurrent disturbance.
  • the excited links are illustrated as block 603.
  • just the occurrence of a unique link disturbance signature by itself is not sufficient as sometimes different excitations can be caused by other phenomena, for example, noise, or multiple people.
  • the statistical significance of the link excitation signature can be measured by the relative frequency of the signature formed by a combination of links with respect to the constituent links.
  • the link excitation signature is persistent enough to be a device-less zone, and is robust enough, to be mapped within the space 400. For example, in various embodiments, if a certain link excitation signature is seen at least 1% of the time, amongst all possible link pairs, for two days in a row, then the link-excitation signature may be considered a robust and persistent link-excitation pattern.
  • link excitation on wireless network 601 is measured, and then split into two branches by a pair filter 602.
  • the pair filter 602 splits the link pairs into two streams.
  • a first stream 604 are pairs that occur in the system by virtue of network connectivity.
  • the pattern ⁇ L1 ⁇ and ⁇ L1, L2, L3, L4, L5 ⁇ are network-induced ⁇ or "natural”] pairs. This means that the connectivity of the network ensures that these link pairs will be present. For example, if motion occurs close to device D1, the pair ⁇ L1 ⁇ will be excited. However, if motion occurs near the AP, the pair ⁇ L1, L2, L3, L4, L5 ⁇ will be excited.
  • the pair filter 602 separates the pairs that are induced by network connectivity from those that are not induced by network connectivity.
  • the links that arise due to network connectivity remain in the system, while non-connectivity induced links are subjected to a persistence test to be present in the system.
  • In the first stream 604 are the links and link pairs, which are expected due to the topology of the network. Examples of those sets include [ ⁇ L1 ⁇ , ⁇ L2 ⁇ , ⁇ L3 ⁇ , ⁇ L4 ⁇ , ⁇ L5 ⁇ , ⁇ L1L2L3L4L5 ⁇ ].
  • ⁇ L1L2L3L4L5 ⁇ is a naturally occurring pair, because when movement occurs close to the access point [AP], the movement is disturbing all the links connected to the access point [AP].
  • each of the links in the first stream 604 and the second stream 606 are then passed to a pair counter 605.
  • the pair counters 605 count the link patterns seen in any given amount of time. For example, if the aggregation threshold is based on a twenty four hour period, then the counters will count every time a link pair occurs in the twenty four hour period. The system then runs the significance test on the counted link pairs. The pair counter then resets and start counting again. After counting by the pair counter 605, the newly- discovered signatures are analyzed via a statistical significance test 608.
  • the significance test 608 measures that a certain unexpected (or "novel”] link pair that is seen consistently enough that it can be considered significant.
  • the significance threshold is a design parameter that is configured by a user or designer. For example, a user may indicate that he visits certain areas of the space once per week. In such a scenario, any connected WiFi client will see motion in those certain areas for at least a few seconds every week. If a unique or novel link pair is consistently seen for at least a few seconds every week, such a novel link pair could be considered significant. Similarly, a user could also indicate that he visits other areas of the space every day.
  • FIG. 7 is a flow diagram of an example process 700 performed, for example, by a motion detection system.
  • the motion detection system can process information based on wireless signals transmitted (e.g., on wireless links between wireless communication devices) through a space to detect motion of objects in the space (e.g., as described with respect to FIGS. 1 and 2A-2B or otherwise).
  • Operations of the example process 700 may be performed by a remote computer system (e.g., a server in the cloud), a wireless communication device (e.g., one or more of the wireless communication devices), or another type of system.
  • a remote computer system e.g., a server in the cloud
  • a wireless communication device e.g., one or more of the wireless communication devices
  • one or more operations in the example process 700 may be performed by one or more of the example wireless communication devices 102A, 102B, 102C in FIG. 1, client devices 232 or the Aps 226, 228 in FIG. 2C, the wireless communication devices 408a, 408b of FIG. 4A-4B, or by a cloud-based computer system.
  • the example process 700 may include additional or different operations, and the operations may be performed in the order shown or in another order.
  • one or more of the operations shown in FIG. 7 can be implemented as a process that includes multiple operations, sub-processes, or other types of routines.
  • operations can be combined, performed in another order, performed in parallel, iterated or otherwise repeated, or performed in another manner.
  • motion zones are identified. At least a subset (e.g., one, some or all) of the motion zones are associated with wireless communication devices in a wireless network. In some cases, one or more of the motion zones is not associated with a wireless communication device.
  • Each motion zone represents a distinct region in a space where motion can be detected by the motion detection system.
  • the distinct region may, in various embodiments, be a space proximate to a wireless communication device associated with the wireless network.
  • motion sensing data is generated based on wireless signals transmitted between pairs of wireless communication devices in the wireless communication network.
  • the motion sensing data represents motion occurring in the space.
  • motion-sensing data may be generated based on first wireless signals transmitted, during a first time period, over wireless links defined by respective pairs of wireless communication devices in a wireless communication network.
  • the motionsensing data may represent changes to a channel or disturbances of the wireless links caused by motion in a space associated with the wireless communication network.
  • a new motion zone is identified that is not associated with the wireless communication devices.
  • the new motion zone is identified based on persistent link disturbance patterns.
  • the new motion zone is identified by the process 600 shown in FIG. 6, or another type of process may be used.
  • the new motion zone may be detected based on concurrent disturbance of multiple links in the wireless communication network.
  • the new motion zone may be, for example, the first region 502 or the second region 504 illustrated in FIG. 5A.
  • the new motion zone is presented to the user in graphical format.
  • a location of the new motion zone is illustrated relative to wireless communication devices in the space.
  • the new motion zone may be presented in a graphical representation of a spatial arrangement (or spatial map) of the wireless communication devices, and the graphical representation may be displayed on a display device.
  • the spatial arrangement may be generated based on spatial coordinates.
  • the user is asked if the user prefers to have the new motion zone represented as a distinct motion zone in the motion detection system.
  • the system receives user input responsive to the presentation of the new motion zone and the inquiry.
  • the user may indicate that the user desires for the new motion zone to be independently represented or that the user prefers the new motion zone to be amalgamated with an existing motion zone that is associated with a wireless communication device.
  • the user may provide a name, label, or other information describing the new motion zone.
  • the system is updated based on the user’s response to the inquiry.
  • user input may include names or labels for the new motion zones
  • the motion detection system may be modified at 760 to associate the new names or labels with the respective new motion zones.
  • the motion detection system may be modified to designate actions to be executed when motion is detected by the system.
  • the motion detection system maybe programmed to send an instruction, command, or notification to a particular device when motion is detected in one or more of the new motion zones.
  • a user device may be notified, or an internet-of- things (loT) device may be instructed according to the settings (or modified settings).
  • a message indicating that motion was detected in the first motion zone may be generated.
  • the message can be sent to a device associated with the motion detection system, such as an loT device.
  • instructions may be sent to a device associated with the motion detection system to alter a state of the device.
  • the state may be a power state, such as an on-off state.
  • FIG. 8A is a flow chart of an example process 800 for determining a location of motion detected by one or more wireless links in a wireless communication network.
  • the one or more wireless links may be part of a plurality of wireless links defined by respective pairs of wireless nodes, such as the wireless communication devices of FIGS. 4A-4B.
  • the wireless communication network may include a data processing apparatus (e.g., one or more of the wireless nodes may serve as the data processing apparatus).
  • the data processing apparatus may be communicatively coupled to the wireless communication network through a data connection (e.g., a wireless connection, a copper- wired connection, a fiber optic connection, etc.).
  • the data processing apparatus may receive a data structure associated with a time frame, as shown by line 802.
  • the data structure 802 may map the plurality of wireless links with their respective motion indicator values for the time frame.
  • the plurality of wireless links may be represented by unique link identifiers in the data structure 802. However, other representations are possible.
  • the plurality of wireless links may be represented by respective pairs of unique node identifiers.
  • the data structure 802 may associate each of the unique link identifiers with a corresponding pair of unique node identifiers.
  • the data processing apparatus executes program instructions to alter one or more magnitudes of the set of motion indicator values to reference each motion indicator value to a common scale of wireless link sensitivity. More specifically, the data processing apparatus may function, in part, as a link strength estimator, such as shown by block 812, and a link equalizer, such as shown by block 814.
  • the link strength estimator 812 and the link equalizer 814 receive an identity of wireless links that are present in the wireless communication network during the time frame as well as their respective motion indicator values.
  • the link equalizer 814 also receives, from the link strength estimator 812, an equalization value for each of the identified wireless links.
  • the link strength estimator 812 and the link equalizer 814 operate cooperatively to reference the motion indicator values of each identified wireless links to a common scale of wireless link sensitivity.
  • the link strength estimator 812 estimates a link strength of the identified wireless links by determining a statistical property of their respective motion indicator values.
  • the statistical property maybe a maximum motion indicator value, a deviation of a motion indicator value from a mean value, or a standard deviation. Other statistical properties are possible.
  • the link strength estimator 812 tracks the statistical properties of one or more respective motion indicator values over successive time frames.
  • the statistical property may allow the link strength estimator 812 to gauge an excitation strength and corresponding dynamic range of a wireless link. Such gauging may account for a unique sensitivity of each identified wireless link.
  • the link strength estimator 812 passes the determined statistical values to the link equalizer 814, which in turn, utilizes them as equalization values for respective motion indicator values.
  • the link equalizer 814 divides the motion indicator value of each identified wireless link with its respective equalization value (or statistical property) to generate a normalized motion indicator value. In this manner, the link equalizer 814 "equalizes” the identified wireless links so that their respective responses to motion or other events may be compared independent of sensitivity.
  • a first subset of wireless links may become strongly excited and exhibit correspondingly high dynamic ranges (or sensitivities).
  • a second subset of wireless links may become weakly excited and exhibit correspondingly low dynamic ranges (or sensitivities) due to the same motion or event.
  • Such excitations and corresponding dynamic ranges are reflected in the motion indicator values received by the link strength estimator 812 and the link equalizer 814.
  • the link strength estimator 812 and link equalizer 814 operate cooperative to normalize the received motion indicator values to a common scale of wireless link sensitivity. Such normalization ensures that comparisons of the first and second sets of wireless links within the plurality of wireless links do not overweigh the first set of wireless links relative to the second set. Other benefits of normalization are possible.
  • the program instructions may further cause the data processing apparatus to identify a subset of wireless links based on a magnitude of their associated motion indicator values relative to the other motion indicator values in the set of motion indicator values.
  • the data processing apparatus may receive the identified wireless links and their respective normalized motion indicator values from the link equalizer 814 and store this data in a memory associated with a likelihood calculator, such as shown by block 816.
  • the data processing apparatus may also receive the list of unique wireless nodes and store the list in the memory associated with the likelihood calculator 816.
  • the data processing apparatus may function, in part, as the likelihood calculator 816.
  • the likelihood calculator 816 identifies a subset of wireless links based on a magnitude of their respective, normalized motion indicator values relative to other normalized motion indicator values. To do so, the likelihood calculator 816 may sort or filter through the normalized motion indicator values received from the link equalizer 814 to identify the subset of wireless links. For example, the link calculator 816 may sort the data structure according to magnitude to determine a highest normalized motion indicator value, thereby generating a subset of wireless links with a single wireless link. In another example, the link calculator 816 may sort the data structure according to magnitude to determine the three highest normalized motion indicator values, thereby generating a subset of wireless links with three wireless links. Other numbers of wireless links are possible for the subset of wireless links.
  • the link calculator 816 also generates count values for the wireless nodes connected to the wireless communication network during the time frame.
  • the count value for each wireless node indicates how many wireless links in the subset of wireless links are defined by the wireless node.
  • the link calculator 816 may identify a subset of wireless links based on the three highest normalized motion indicator values:
  • the unique link identifiers of 3, 4, and 5 correspond to wireless nodes N o , N 1 and N 2 as shown below:
  • wireless node N o assists in defining one wireless link in the subset of wireless links, i.e., N 2 -> N o .
  • wireless node N 1 assists in defining two wireless links in the subset of wireless links, i.e., N 1 -> N 2 and N 2 -> N 1
  • wireless node N 2 assists in defining three wireless links in the subset of wireless links, i.e., N 1 -> N 2 , N 2 -> N o , and N 2 -> N 1 .
  • the link calculator 616 generates count values of 1, 2, and 3 for respective wireless nodes N o , N 1 and N 2 .
  • the link calculator 816 may generate a count value of zero. In some instances, the link calculator 816 generates a count-value data structure associating each wireless node connected to the wireless communication network during the time frame with its respective count value. For the present example, the link calculator 816 may generate the following the count-value data structure:
  • wireless nodes in the count-value data structure are represented by the label, N j, where i represents a number of a wireless node, other representations are possible (e.g., pairs of partial MAC addresses).
  • the link calculator 816 further generates a probability vector based on the count values that include values for each wireless node connected to the wireless communication network during the time frame.
  • the values for each connected wireless node represent a probability of motion at the connected wireless node during the time frame.
  • the values may represent a probability that motion at (or proximate to) a respective wireless node induces link activity along a particular wireless link.
  • the values sum to unity. In these instances, the values may be probability values.
  • the link calculator 816 passes the generated probability vector to a Bayesian update engine 828, as shown in FIG. 8A.
  • the values for each connected wireless node are likelihood values assigned from a link likelihood map.
  • the likelihood values may not necessarily sum to unity.
  • the link likelihood map associates likelihood values with respective magnitudes of count values.
  • the likelihood values and their associations may be predetermined and may further be stored in a memory of the link calculator 816 (or data processing apparatus). For example, if a wireless node is strongly represented in a subset of wireless links, motion detected by the wireless communication network will have a relatively high probability of being located at or near the wireless node. As such, the link likelihood map may associate high likelihood values with proportionately high count values. However, other associations of likelihood values and count values are possible.
  • the probability vector is represented by a probability vector, P ⁇ L j that includes probability values based on the link likelihood map.
  • the probability values correspond to probabilities that a wireless link, L j , exhibits link activity given motion at a wireless node, N i .
  • the link calculator 816 may generate a subset of wireless links that includes only wireless link L 02 , which has a unique link identifier of "1”. As such, P(L j
  • N i ) ,P(1
  • Ni)
  • 0) corresponds to the probability that motion at wireless node 0 induces link activity along wireless link 1
  • P(1l1) corresponds to the probability that motion at wireless node 1 induces link activity along wireless link 1
  • 2) corresponds to the probability that motion at wireless node 2 induces link activity along wireless link 1.
  • These probability values can be generated from likelihood values of the link likelihood map.
  • the link calculator 616 may assign wireless nodes 0, 1, and 2 each a likelihood value based on a respective count value. The link calculator 616 may then normalize the assigned likelihood values to unity, thereby generating corresponding probability values for each wireless node.
  • the system in cases where the user actively wants the new zone to appear with a separate notification in, for example, a mobile app (for example when he walks into the corridor, he wants the corridor light to light up), the system establishes a distinct localization for this new motion zone.
  • the new motion zone is added into the probabilistic inference stack.
  • all of the nodes utilized for localization of motion corresponded to physical devices located within the space such as, for example, the space 400 (e.g., Nl, N2, N3 etc, corresponding to devices D1, D2, D3).
  • a node is added to the inference stack, which has no corresponding device associated with it.
  • the link calculator 816 passes a probability vector to the Bayesian update 828 containing apriori probability of motion at nodes Nl, N2, N3, N4, N5, N6, N7, and N8.
  • nodes N7 and N8 do not have devices D7 and D8 illustrated in FIGS. 5A and 5C, so these nodes do not correspond to physical devices.
  • the inference stack will treat them as nodes associated with wireless communication devices. Whenever the link pattern corresponding to these nodes appears, the system assigns a high likelihood of motion to N7 or N8 (depending on which links were disturbed).
  • N8 the node corresponding to the first area 502 is called by the user, the highest likelihood of motion is assigned to N8. This is then combined with the bayesian prior probability, to compute the final probability of motion at all the nodes.
  • the data processing apparatus also executes program instructions to pass, to a probability mapper/redistributor, the list of unique wireless nodes present in the wireless communication network during the time frame.
  • the data processing apparatus may function, in part, as a probability mapper/redistributor, such as shown by block 818.
  • the data processing apparatus may receive a probability vector generated prior to the time frame, e.g., a prior probability vector.
  • the probability mapper/redistributor 818 is operable to determine a change in wireless connectivity between time frames, such as between a prior time frame and a subsequent time frame.
  • the change in wireless connectivity may include one or both of: [1] wireless nodes that have connected to the wireless communication network between the prior and subsequent time frames, or [2] wireless nodes that have disconnected from the wireless communication network between the prior and subsequent time frames.
  • the probability mapper/redistributor 618 may compare the list of unique wireless nodes in the time frame to wireless nodes represented in the probability vector generated prior to the time frame.
  • the probability mapper/redistributor 818 is also operable to generate an initialization probability vector of a plurality of initialization probability vectors 820 by altering values of the prior probability vector based on the change in wireless connectivity.
  • the change in wireless connectivity may include a wireless node that has disconnected from the wireless communication network between the prior and subsequent time frames.
  • the probability mapper/redistributor 818 may generate the initialization probability vector by apportioning values of the prior probability vector associated with the disconnected wireless node to values of wireless nodes that have remained connected to the wireless communication network. Such apportioning may occur in ratios defined by the values of the remaining wireless nodes. However, other apportioning schedules are possible.
  • the change in wireless connectivity may include a wireless node that has connected from the wireless communication network between the prior and subsequent time frames.
  • the probability mapper/redistributor 818 generates the initialization probability vector by adding a value to the prior probability vector for the newly-connected wireless node.
  • the probability mapper/redistributor 818 may be operable to generate other types of initialization probability vectors that correspond to reset states. For example, if the wireless communication network (or motion detection system) is cold-started, the probability mapper/redistributor 818 may generate an initialization probability vector by assigning equal probability values to all unique wireless nodes. In another example, if the wireless communication network (or motion detection system) is warm-started, the probability mapper/redistributor 818 may generate an initialization probability vector based on probability values that correspond to a time frame when motion was last detected.
  • the probability mapper/redistributor 818 may utilize the prior probability vector as the initialization probability vector. In yet another example, if a user notifies the wireless communication network (or motion detection system) thathe/she is leaving a monitored residence (e.g., through a mobile software application), the probability mapper/redistributor 818 may generate an initialization probability vector with probability values biased towards wireless nodes at a point of entry (e.g., a front door).
  • the probability mapper/redistributor 818 passes the plurality of initialization probability vectors 820 to a multiplexor (or mux), which also receives the prior probability vector from a motion model.
  • the data processing apparatus may function, in part, as the multiplexor, such as shown by block 822.
  • the multiplexor 822 is operable to select the prior probability vector or one of the plurality of initialization probability vectors based on the set of motion indicator values, a configuration of the wireless communication network, or both.
  • the selected probability vector is then passed to the Bayesian update engine 828, as shown in FIG. 8A.
  • the multiplexor 822 receives a control input from a motion persistence calculator, as shown by block 824.
  • the motion persistence calculator 824 receives the data structure 802, which includes the set of motion indicator values, and also receives a configuration of the wireless communication network 826. Based on these inputs, the motion persistence calculator 824 generates the control signal, which when received by the multiplexor 822, selects which of the prior probability vector or one of the plurality of initialization probability vectors is passed to the Bayesian update engine 828. If motion is continuously detected by the wireless communication network (or motion detection system), the motion persistence calculator 824 may keep passing a prior probability vector through the multiplexor 822. In contrast, if motion is detected after a period of absence, the motion persistence calculator 824 may pass an initialization probability vector through the multiplexor 822 that corresponds to a reset state.
  • the data processing apparatus may also function, in part, as the motion persistence calculator 824.
  • the data processing apparatus uses the selected probability vector and a set of motion indicator values associated with a second subsequent time frame to identify a location associated with motion that occurred during the subsequent time frame.
  • the data processing apparatus executes program instructions to generate, from a first probability vector received from the likelihood calculator 816 and a second probability vector received from the multiplexor 822, a third probability vector that includes third values for each wireless node.
  • the Bayesian update engine generates the third probability vector, as shown by block 828.
  • the third values of the third probability vector represent probabilities of motion at the respective wireless nodes during the time frame.
  • the second probability vector is represented by a probability vector, P N i ), that includes probability values (or second values) representing a probability of motion at a wireless node, N t .
  • the probability of motion at wireless node, N i , for P N i ) is independent of link activity along any of wireless links, L j , and may also be independent of other factors.
  • P N i has probability values of P(0), P(1), and P(2), which correspond to the probability of motion at (or proximate to) wireless nodes 0, 1, and 2, respectively.
  • the third probability vector is represented by P(N i
  • L j ), includes third values that represent a probability of motion at wireless node, N j , given link activity along wireless link, L j . For example, if L j corresponds to wireless link 1 in the wireless communication network 300 of FIG.
  • the respective third values may then be represented by P(0
  • 1) ⁇ P(0
  • 1) corresponds to a probability that link activity along wireless link 1 results from motion at wireless node
  • 1) corresponds to a probability that link activity along wireless link 1 results from motion at wireless node 1
  • 1) corresponds to a probability that link activity along wireless link 1 results from motion at wireless node 2.
  • L j ) may be determined by the Bayesian update engine 828 according to Eq. (1): where P(L j
  • Eq. (1) may allow the wireless communication network 300 (or data processing apparatus) to determine the location of detected motion using Bayesian statistics. For example, if in the wireless communication network 300 of FIG.
  • the program instructions may then cause the data processing apparatus to calculate the third probability vector, P N i
  • l) may therefore represent a probability distribution normalized to unity.
  • P(N i l 1) P(0l1) corresponds to the largest of the third values, indicating that motion detected by the wireless communication network 300 along wireless link 1 has the highest probability of being located at (or proximate to) wireless node 0.
  • the program instructions may cause the data processing apparatus to look up the MAC address value of wireless node 0, and when found, output the result (e.g., output 7f4440).
  • the data processing apparatus performs an iterative process for sequential time frames. For example, the data processing apparatus may repeat the operations, over multiple iterations for respective time frames, of obtaining the set of motion indicator values associated with a subsequent time frame, identifying the subset of wireless links based on a magnitude of their associated motion indicator values relative to other motion indicator values in the set of motion indicator values, generating the count values for the wireless nodes connected to the wireless communication network during the subsequent time frame, generating the first probability vector based on the count values and including values for the connected wireless nodes.
  • the repeated operations include obtaining a set of motion indicator values associated with a prior time frame, generating a prior probability vector associated with the prior time frame, generating a second probability vector by selecting the prior probability vector or one of the plurality of initialization probability vectors to identify a location associated with motion that occurred during the subsequent time frame.
  • the repeated operations may include generating a third probability vector based on the first values of the first probability vector and the second values of the second probability vector; identifying a wireless communication device associated with the highest of the third values; and identifying, by operation of a data processing apparatus, a location associated with the identified wireless communication device as a location of the motion detected from the wireless signals exchanged during the subsequent time frame.
  • An output of the Bayesian update engine 828 may be fed into the motion model to generate the prior probability vector (or second probability vector), which is passed to the probability mapper/redistributor 818 and the multiplexor 822.
  • the data processing apparatus may function, in part, as the motion model, as shown by block 830.
  • the motion model 830 may operate analogous to calculating probabilities on a trellis.
  • FIG. 8B is a block diagram illustrating interaction of a user with a motion detection system.
  • a config object may, for example, take the user choice, and understand that the user wants, for example, N8, and N2 to be considered to be the same zone. So, if the motion is localized to either N2 or N8, the user still gets the notification of N2. Further, any loT trigger that is assigned to N2 will be enabled.
  • FIG. 8B illustrates a localization stack 852 running on a router 854 producing predictions of localization 856, and sending them to the user device 858.
  • the user device may be, for example, a smart phone, a tablet, a cellular device, a computer, or any other user device capable of receiving wireless signals.
  • FIG. 8B further illustrates a config object 860 that has taken user preferences 862 into account.
  • the user preferences 862 could be, for example, if the user wants to fuse two new motion zones or keep them separate.
  • the localization data 856, together with the user preferences 862, is then used to control any loT devices that the user has configured with the localization enabled loT apps.
  • FIG. 8C is a signaling and flow diagram representing example operations that may be performed in the system 870 shown in FIG. 8B.
  • the wireless network 872 sends wireless sensing data to the motion sensing system 874.
  • the motion sensing system 874 can then infer a location for new motion zones in the wireless network 872 based on the motion sensing data (e.g., as described above with respect to FIGS. 4A, 4B, 5A-5C, or otherwise).
  • the inferred location information is then sent to the user device 876, which displays a graphical representation of the spatial arrangement of the new motion zones to the user.
  • the user device 876 then obtains user input in response to the graphical representation.
  • the user input includes a selection of whether the user desires to have the new motion zones considered separately or integrated with existing motion zones (e.g., as described with respect to FIG. 6). If the user selects that the new motion zones should be considered separately, the user may provide a name for the new motion zone (e.g., "corridor”).
  • the user device 876 then sends information to the motion sensing system 874 based on the user input, and the motion sensing system 874 defines (or updates) motion zones based on the information from the user device 876. Later, the wireless network 872 sends wireless sensing data to the motion sensing system 874, which detects motion of an object based on the wireless sensing data.
  • the motion sensing system 874 may then send a message to the user device 876, to the wireless network 872, to another system or device, or to multiple systems or devices.
  • the message may notify the user device 876 that motion was detected in a motion zone, and the notification may include the name (e.g., "corridor”) that was provided by the user.
  • the message may include an instruction or command for a smart device in the wireless network 872.
  • the instruction may modify a light setting, a temperature setting, activate or deactivate a device, or perform another action.
  • FIG. 9 is a block diagram showing an example wireless communication device 900.
  • the example wireless communication device 900 includes an interface 930, a processor 910, a memory 920, and a power unit 940.
  • a wireless communication device e.g., any of the wireless communication devices 102A, 102B, 102C in FIG. 1
  • the wireless communication device 900 may be configured to operate as described with respect to the examples above.
  • the interface 930, processor 910, memory 920, and power unit 940 of a wireless communication device are housed together in a common housing or other assembly.
  • one or more of the components of a wireless communication device can be housed separately, for example, in a separate housing or other assembly.
  • the example interface 930 can communicate (receive, transmit, or both) wireless signals.
  • the interface 930 may be configured to communicate radio frequency (RF) signals formatted according to a wireless communication standard (e.g., WiFi, 4G, 5G, Bluetooth, etc.).
  • RF radio frequency
  • the example interface 930 includes a radio subsystem and a baseband subsystem.
  • the radio subsystem may include, for example, one or more antennas and radio frequency circuitry.
  • the radio subsystem can be configured to communicate radio frequency wireless signals on the wireless communication channels.
  • the radio subsystem may include a radio chip, an RF front end, and one or more antennas.
  • the baseband subsystem may include, for example, digital electronics configured to process digital baseband data.
  • the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device.
  • DSP digital signal processor
  • the baseband system includes digital processing logic to operate the radio subsystem, to communicate wireless network traffic through the radio subsystem or to perform other types of processes.
  • the example processor 910 can execute instructions, for example, to generate output data based on data inputs.
  • the instructions can include programs, codes, scripts, modules, or other types of data stored in memory 920. Additionally or alternatively, the instructions can be encoded as pre-programmed or re-programmable logic circuits, logic gates, or other types of hardware or firmware components or modules.
  • the processor 910 may be, or include, a general-purpose microprocessor, as a specialized co-processor, or another type of data processing apparatus. In some cases, the processor 910 performs high level operation of the wireless communication device 900.
  • the processor 910 may be configured to execute or interpret software, scripts, programs, functions, executables, or other instructions stored in the memory 920. In some implementations, the processor 910 may be included in the interface 930 or another component of the wireless communication device 900.
  • the example memory 920 may include computer-readable storage media, for example, a volatile memory device, a non-volatile memory device, or both.
  • the memory 920 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.
  • one or more components of the memory can be integrated or otherwise associated with another component of the wireless communication device 900.
  • the memory 920 may store instructions that are executable by the processor 910.
  • the instructions may include instructions to perform one or more of the operations in the example process 700 shown in FIG. 7.
  • the example power unit 940 provides power to the other components of the wireless communication device 900.
  • the other components may operate based on electrical power provided by the power unit 940 through a voltage bus or other connection.
  • the power unit 940 includes a battery or a battery system, for example, a rechargeable battery.
  • the power unit 940 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external source) and converts the external power signal to an internal power signal conditioned for a component of the wireless communication device 900.
  • the power unit 920 may include other components or operate in another manner.
  • Some of the subject matter and operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
  • Some of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage medium for execution by, or to control the operation of, data-processing apparatus.
  • a computer storage medium can be, or can be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them.
  • a computer storage medium is not a propagated signal
  • a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal.
  • the computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
  • the term "data-processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing.
  • the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a crossplatform runtime environment, a virtual machine, or a combination of one or more of them.
  • a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
  • a computer program may, but need not, correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • Some of the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
  • the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • a computer having a display device (e.g., a monitor, or another type of display device) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse, a trackball, a tablet, a touch sensitive screen, or another type of pointing device) by which the user can provide input to the computer.
  • a display device e.g., a monitor, or another type of display device
  • a keyboard and a pointing device e.g., a mouse, a trackball, a tablet, a touch sensitive screen, or another type of pointing device
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • a computer can interact with a user by sending documents to, and receiving documents from, a device that
  • the systems and techniques described herein allow for identifying motion zones based on user input and motion-sensing data derived from wireless signals.
  • a method in a first example, includes identifying a plurality of motion zones in a motion detection system. Each of the plurality of motion zones represents a distinct region in a space associated with a wireless communication network. At least a subset of the motion zones are associated with respective wireless communication devices in the wireless communication network. The method also includes generating motion-sensing data based on first wireless signals transmitted, during a first time period, between pairs of wireless communication devices in the wireless communication network. The motionsensing data represents motion in the space.
  • the method also includes identifying, based on the motion-sensing data, a new motion zone that is not associated with any of the wireless communication devices, and receiving user input in response to a graphical representation of the new motion zone that is displayed on a display device.
  • the method includes updating the motion detection system based on the user input.
  • Implementations of the first example may include one or more of the following features.
  • the graphical representation may indicate the locations of the plurality of motion zones relative to the new motion zone.
  • implementations of the first example may include generating, based on motion-sensing data obtained by the motion detection system, spatial coordinates for the respective wireless communication devices, the spatial coordinates for each wireless communication device representing a location of the wireless communication device in the space, and the graphical representation indicates the locations of the wireless communication devices relative to the new motion zone.
  • implementations of the first example may include adding the new motion zone to a dictionary of effective zones in the wireless communication network.
  • Implementations of the first example may include one or more of the following features. For example, motion of an object is detected in the space.
  • the detection of motion is based on second wireless signals that are transmitted between one or more pairs of the wireless communication devices during a second time period. Additionally, in response to identifying the new motion zone as a location of the detected motion of the object, a message is generated that indicates that motion was detected in the new motion zone. The message is sent to a device associated with the motion detection system.
  • Implementations of the first example may include one or more of the following features. For example, likelihood values for pairs of the wireless communication devices are generated based on the first motion-sensing data. The likelihood value for each pair of wireless communication devices represents a likelihood of sensing motion at the pair of wireless communication devices sequentially in time. Further, distance values are generated for the respective pairs of wireless communication devices. The distance values for each pair of wireless communication devices represent a distance between two of the wireless communication devices. Further, spatial coordinates are generated based on the distance values.
  • Implementations of the first example may include one or more of the following features.
  • the user input indicates a name associated with the new motion zone.
  • the name is associated with the new motion zone, and the message indicates the name associated with the new motion zone.
  • Sending the message to the device associated with the motion detection system comprises sending the notification to the user device.
  • Implementations of the first example may include one or more of the following features.
  • Likelihood values are generated for pairs of the wireless communication devices based on the first motion-sensing data.
  • the likelihood value for each pair of wireless communication devices represents a likelihood of sensing motion at the pair of wireless communication devices sequentially in time.
  • Distance values for the respective pairs of wireless communication devices are generated based on the likelihood values.
  • the distance value for each pair of wireless communication devices represents a distance between two of the wireless communication devices. Spatial coordinates are generated based on the distance values.
  • a system in a second example, includes a plurality of wireless communication devices, and a computer device configured to perform one or more operations of the first example.
  • a non-transitoiy computer-readable medium stores instructions that are operable when executed by data processing apparatus to perform one or more operations of the first example.

Abstract

Dans un aspect général, une pluralité de zones de mouvement sont identifiées dans un système de détection de mouvement. Chacune de la pluralité de zones de mouvement représente une région distincte dans un espace associé à un réseau de communication sans fil, et au moins un sous-ensemble des zones de mouvement est associé à des dispositifs de communication sans fil respectifs dans le réseau de communication sans fil. Des données de détection de mouvement sont générées sur la base de premiers signaux sans fil transmis pendant une première période de temps entre des paires de dispositifs de communication sans fil. Les données de détection de mouvement représentent un mouvement dans l'espace. Une nouvelle zone de mouvement est identifiée sur la base des données de détection de mouvement ; la nouvelle zone de mouvement n'est pas associée à l'un quelconque des dispositifs de communication sans fil. Une entrée d'utilisateur est reçue en réponse à une représentation graphique de la nouvelle zone de mouvement affichée sur un dispositif d'affichage. Le système de détection de mouvement est mis à jour sur la base de l'entrée utilisateur.
PCT/CA2023/050977 2022-07-21 2023-07-20 Identification de zones de mouvement sur la base d'une entrée d'utilisateur et de données de détection de mouvement dérivées de signaux sans fil WO2024016083A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263391176P 2022-07-21 2022-07-21
US63/391,176 2022-07-21

Publications (1)

Publication Number Publication Date
WO2024016083A1 true WO2024016083A1 (fr) 2024-01-25

Family

ID=89616645

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2023/050977 WO2024016083A1 (fr) 2022-07-21 2023-07-20 Identification de zones de mouvement sur la base d'une entrée d'utilisateur et de données de détection de mouvement dérivées de signaux sans fil

Country Status (1)

Country Link
WO (1) WO2024016083A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020220112A1 (fr) * 2019-04-30 2020-11-05 Cognitive Systems Corp. Modification de paramètres de sensibilité dans un système de détection de mouvement
WO2020227806A1 (fr) * 2019-05-15 2020-11-19 Cognitive Systems Corp. Détermination d'une confiance pour une zone de mouvement identifiée comme une localisation de mouvement pour un mouvement détecté par des signaux sans fil

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020220112A1 (fr) * 2019-04-30 2020-11-05 Cognitive Systems Corp. Modification de paramètres de sensibilité dans un système de détection de mouvement
WO2020227806A1 (fr) * 2019-05-15 2020-11-19 Cognitive Systems Corp. Détermination d'une confiance pour une zone de mouvement identifiée comme une localisation de mouvement pour un mouvement détecté par des signaux sans fil

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALHMIEDAT TAREQ, SAMARA GHASSAN, SALEM AMER O ABU: "An Indoor Fingerprinting Localization Approach for ZigBee Wireless Sensor Networks", EUROPEAN JOURNAL OF SCIENTIFIC RESEARCH, vol. 105, no. 2, 1 July 2013 (2013-07-01), pages 190 - 202, XP093132184 *

Similar Documents

Publication Publication Date Title
CN114072862B (zh) 修改运动检测系统中的灵敏度设置
US20210273685A1 (en) Using MIMO Training Fields for Motion Detection
US10459074B1 (en) Determining a location of motion detected from wireless signals based on wireless link counting
US10567914B1 (en) Initializing probability vectors for determining a location of motion detected from wireless signals
KR20200135323A (ko) 무선 신호 분석에 기초한 존재 탐지
CA3139773A1 (fr) Determination de zones de mouvement dans un espace traverse par des signaux sans fil
CA3139775A1 (fr) Determination d'une confiance pour une zone de mouvement identifiee comme une localisation de mouvement pour un mouvement detecte par des signaux sans fil
CN116583758A (zh) 对信道响应进行滤波以供运动检测
US20220104704A1 (en) Sleep Monitoring Based on Wireless Signals Received by a Wireless Communication Device
US20240000376A1 (en) Processing Radio Frequency Wireless Signals in a Motion Detection System
US20230171563A1 (en) Context-Dependent Processing and Encoding of Motion Data from a Wireless Communication Network
US20240027598A1 (en) Identifying Motion Zones Based on User Input and Motion-Sensing Data Derived from Wireless Signals
WO2024016083A1 (fr) Identification de zones de mouvement sur la base d'une entrée d'utilisateur et de données de détection de mouvement dérivées de signaux sans fil
US20230044552A1 (en) Determining Spatial Maps Based on User Input and Motion-Sensing Data Derived from Wireless Signals
WO2023215992A1 (fr) Utilisation de cartes spatiales pour localisation de mouvement sur la base de données de détection de mouvement dérivées de signaux sans fil
US11576141B2 (en) Analyzing Wi-Fi motion coverage in an environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23841684

Country of ref document: EP

Kind code of ref document: A1