The present disclosure generally relates to systems and methods for Wi-Fi sensing. In particular, the present disclosure relates to systems and methods for identifying waveform frequency signature using timestamps.
Motion detection systems have often been used to detect movement in an environment, for example, objects in a room or an outdoor area. A Wi-Fi sensing system is one recent addition to motion detection systems. The Wi-Fi sensing system may be a network of Wi-Fi-enabled devices that may be a part of an IEEE 802.11 network. For example, the Wi-Fi sensing system may include a sensing receiver and a sensing transmitter. In an example, the Wi-Fi sensing system may be configured to detect features of interest in a sensing space. The sensing space may refer to any physical space in which the Wi-Fi sensing system may operate, such as a place of residence, a place of work, a shopping mall, a sports hall or sports stadium, a garden, or any other physical space. The features of interest may include motion of objects and motion tracking, presence detection, intrusion detection, gesture recognition, fall detection, breathing rate detection, among other applications. Features of interest may also be referred to as physical processes.
The present disclosure generally relates to systems and methods for Wi-Fi sensing. In particular, the present disclosure relates to systems and methods for identifying waveform frequency signature using timestamps.
Systems and methods are provided for Wi-Fi sensing. In an example embodiment, a method for Wi-Fi sensing carried out by a networked device operating as a sensing receiver is described. The networked device includes at least one processor configured to execute instructions. The method includes obtaining a series of time domain pulse sets determined from a series of sensing measurements based on a series of sensing transmissions transmitted by a sensing transmitter and received by the networked device over a time interval, identifying a signature pulse occurring in the time domain pulse sets, recording a series of amplitudes of the signature pulse in the time domain pulse sets, and identifying a waveform frequency signature of a small motion occurring in a sensing space corresponding with the networked device based on the series of amplitudes of the signature pulse.
In some embodiments, the signature pulse represents a plurality of corresponding pulses, each of the corresponding pulses occurring in a respective one of the time domain pulse sets.
In some embodiments, identifying the signature pulse includes selecting the signature pulse from among a plurality of bobbing pulses displaying amplitude variations in the time domain pulse sets.
In some embodiments, identifying the signature pulse includes selecting the bobbing pulse having a largest amplitude variation from among the plurality of bobbing pulses.
In some embodiments, the series of amplitudes of the signature pulse has a uniform timing between amplitudes.
In some embodiments, the series of amplitudes of the signature pulse has a non-uniform timing between amplitudes.
In some embodiments, timing between amplitudes of the series of amplitudes is based on timing of at least one of the sensing transmissions and the sensing measurements.
In some embodiments, recording the series of amplitudes of the signature pulse includes recording variations in amplitude of the signature pulse.
In some embodiments, identifying the waveform frequency signature includes evaluating the series of amplitudes of the signature pulse relative to a reasonable frequency waveform.
In some embodiments, evaluating the series of amplitudes of the signature pulse relative to a reasonable frequency waveform includes creating a Fourier basis function from the series of amplitudes of the signature pulse and the reasonable frequency waveform.
In some embodiments, the sensing space further corresponds to the transmission pathway between the networked device and the sensing transmitter.
Other aspects and advantages of the disclosure will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example, the principles of the disclosure.
The foregoing and other objects, aspects, features, and advantages of the disclosure will become more apparent and better understood by referring to the following description taken in conjunction with the accompanying drawings, in which:
In some aspects of what is described herein, a wireless sensing system may be used for a variety of wireless sensing applications by processing wireless signals (e.g., radio frequency (RF) signals) transmitted through a space between wireless communication devices. Example wireless sensing applications include motion detection, which can include the following: detecting motion of objects in the space, motion tracking, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (moving and stationary human detection), human tracking, fall detection, speed estimation, intrusion detection, walking detection, step counting, respiration rate detection, 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. Other examples of 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, human recognition, bike localization, human queue estimation, Wi-Fi imaging, and other types of wireless sensing applications. For instance, 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. As described in more detail below, a wireless sensing system may be configured to control measurement rates, wireless connections, and device participation, for example, to improve system operation or to achieve other technical advantages. The system improvements and technical advantages achieved when the wireless sensing system is used for motion detection are also achieved in examples where the wireless sensing system is used for another type of wireless sensing application.
In some example wireless sensing systems, a wireless signal includes a component (e.g., a synchronization preamble in a Wi-Fi PHY frame, or another type of component) that wireless devices can use to estimate a channel response or other channel information, and the wireless sensing system can detect motion (or another characteristic depending on the wireless sensing application) by analyzing changes in the channel information collected over time. In some examples, a wireless sensing system can operate similar to a bistatic radar system, where a Wi-Fi access point (AP) assumes the receiver role, and each Wi-Fi device (station (STA), node, or peer) connected to the AP assumes the transmitter role. The wireless sensing system may trigger a connected device to generate a transmission and produce a channel response measurement at a receiver device. This triggering process can be repeated periodically to obtain a sequence of time variant measurements. A wireless sensing algorithm may then receive the generated time-series of channel response measurements (e.g., computed by Wi-Fi receivers) as input, and through a correlation or filtering process, may then make a determination (e.g., determine if there is motion or no motion within the environment represented by the channel response, for example, based on changes or patterns in the channel estimations). In examples where the wireless sensing system detects motion, it may also be possible to identify a location of the motion within the environment based on motion detection results among a number of wireless devices.
Accordingly, wireless signals received at each of the wireless communication devices in a wireless communication network may be analyzed to determine channel information for the various 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. In some instances, 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. In some instances, the channel information includes beamforming state information (e.g., a feedback matrix, a steering matrix, channel state information, etc.) provided by a beamforming system. 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 some angles experience constructive interference while others experience destructive interference.
The channel information for each of the communication links may be analyzed (e.g., by a hub device or other device in a wireless communication network, or a sensing transmitter, sensing receiver, or sensing initiator communicably coupled to the network) to, for example, detect whether motion has occurred in the space, to determine a relative location of the detected motion, or both. In some aspects, 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.
In some cases, a wireless sensing system can control a node measurement rate. For instance, a Wi-Fi motion system may configure variable measurement rates (e.g., channel estimation/environment measurement/sampling rates) based on criteria given by a current wireless sensing application (e.g., motion detection). In some implementations, when no motion is present or detected for a period of time, for example, the wireless sensing system can reduce the rate that the environment is measured, such that the connected device will be triggered or caused to make sensing transmissions or sensing measurements less frequently. In some implementations, when motion is present, for example, the wireless sensing system can increase the triggering rate or sensing transmission rate or sensing measurement rate to produce a time-series of measurements with finer time resolution. Controlling the variable sensing measurement rate can allow energy conservation (through the device triggering), reduce processing (less data to correlate or filter), and improve resolution during specified times.
In some cases, a wireless sensing system can perform band steering or client steering of nodes throughout a wireless network, for example, in a Wi-Fi multi-AP or extended service set (ESS) topology, multiple coordinating wireless APs each provide a basic service set (BSS) which may occupy different frequency bands and allow devices to transparently move between from one participating AP to another (e.g., mesh). For instance, within a home mesh network, Wi-Fi devices can connect to any of the APs, but typically select one with good signal strength. The coverage footprint of the mesh APs typically overlap, often putting each device within communication range or more than one AP. If the AP supports multi-bands (e.g., 2.4 GHz and 5 GHz), the wireless sensing system may keep a device connected to the same physical AP but instruct it to use a different frequency band to obtain more diverse information to help improve the accuracy or results of the wireless sensing algorithm (e.g., motion detection algorithm). In some implementations, the wireless sensing system can change a device from being connected to one mesh AP to being connected to another mesh AP. Such device steering can be performed, for example, during wireless sensing (e.g., motion detection), based on criteria detected in a specific area to improve detection coverage, or to better localize motion within an area.
In some cases, beamforming may be performed between wireless communication 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. Thus, 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 communication system. For example, a motion may be detected by substantial changes in the communication channel, e.g., as indicated by a channel response, or steering or feedback properties, or any combination thereof, over a period of time.
In some implementations, for example, a steering matrix may be generated at a transmitter device (beamformer) based on a feedback matrix provided by a receiver device (beamformee) based on channel sounding. Because the steering and feedback matrices are related to propagation characteristics of the channel, these matrices change as objects move within the channel. Changes in the channel characteristics are accordingly reflected in these matrices, and by analyzing the matrices, motion can be detected, and different characteristics of the detected motion can be determined. In some implementations, 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, many beamforming matrices (e.g., feedback matrices or steering matrices) may be generated to represent a multitude of directions that an object may be located relative to a wireless communication device. These many beamforming matrices may 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.
In some instances, a motion detection system can control a variable device measurement rate in a motion detection process. For example, a feedback control system for a multi-node wireless motion detection system may adaptively change the sample rate based on the environment conditions. In some cases, such controls can improve operation of the motion detection system or provide other technical advantages. For example, the measurement rate may be controlled in a manner that optimizes or otherwise improves air-time usage versus detection ability suitable for a wide range of different environments and different motion detection applications. The measurement rate may be controlled in a manner that reduces redundant measurement data to be processed, thereby reducing processor load/power requirements. In some cases, the measurement rate is controlled in a manner that is adaptive, for instance, an adaptive sample can be controlled individually for each participating device. An adaptive sample rate can be used with a tuning control loop for different use cases, or device characteristics.
In some cases, a wireless sensing system can allow devices to dynamically indicate and communicate their wireless sensing capability or wireless sensing willingness to the wireless sensing system. For example, there may be times when a device does not want to be periodically interrupted or triggered to transmit a wireless signal that would allow the AP to produce a channel measurement. For instance, if a device is sleeping, frequently waking the device up to transmit or receive wireless sensing signals could consume resources (e.g., causing a cell phone battery to discharge faster). These and other events could make a device willing or not willing to participate in wireless sensing system operations. In some cases, a cell phone running on its battery may not want to participate, but when the cell phone is plugged into the charger, it may be willing to participate. Accordingly, if the cell phone is unplugged, it may indicate to the wireless sensing system to exclude the cell phone from participating; whereas if the cell phone is plugged in, it may indicate to the wireless sensing system to include the cell phone in wireless sensing system operations. In some cases, if a device is under load (e.g., a device streaming audio or video) or busy performing a primary function, the device may not want to participate; whereas when the same device's load is reduced and participating will not interfere with a primary function, the device may indicate to the wireless sensing system that it is willing to participate.
Example wireless sensing systems are described below in the context of motion detection (detecting motion of objects in the space, motion tracking, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (moving and stationary human detection), human tracking, fall detection, speed estimation, intrusion detection, walking detection, step counting, respiration rate detection, 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). However, the operation, system improvements, and technical advantages achieved when the wireless sensing system is operating as a motion detection system are also applicable in examples where the wireless sensing system is used for another type of wireless sensing application.
In various embodiments of the disclosure, non-limiting definitions of one or more terms that will be used in the document are provided below.
A term “measurement campaign” may refer to a bi-directional series of one or more sensing transmissions between a sensing receiver and a sensing transmitter that allows a series of one or more sensing measurements to be computed.
A term “sensing transmitter” may refer to a device that sends transmissions (for example, NDPs and PPDUs or any other transmissions) used for sensing measurements (for example, channel state information) in a wireless local area network (WLAN) sensing session. In an embodiment, the role of the sensing transmitter may be taken by a remote device.
A term “sensing receiver” may refer to a device that receives transmissions (for example, NDPs and PPDUs or any other transmissions which may be opportunistically used for sensing measurements) sent by a sensing transmitter and performs one or more sensing measurements (for example, channel state information) in a WLAN sensing session. In an embodiment, the role of the sensing receiver may be taken by a sensing device.
A term “waveform amplitude variation” of a time domain pulse may refer to a variation on top of a base amplitude of a received reflected time domain pulse at the sensing receiver. In an implementation, the waveform amplitude variation may be caused by a periodic motion of an object in the propagation path of the received reflected time domain pulse from the sensing transmitter to the sensing receiver.
A term “steady state channel” may refer to a transmission channel resulting in a multipath signal where objects in a sensing space causing reflections in the transmission channel are relatively stationary and the reflections have stable amplitude and time delay. An example of a sensing space that results in a steady state channel may be a living room with furniture at various places in the living room.
A term “pseudo steady state channel” may refer to a transmission channel resulting in a multipath signal where objects in a sensing space causing reflections in the transmission channel are stationary for a long enough period that a base amplitude of each time domain pulse may be determined. An example of a sensing space that results in a pseudo steady state channel may be a bedroom where a person is in bed and sleeping.
A term “base amplitude” of a time domain pulse may be an amplitude of the time domain pulse in a steady state channel or pseudo steady state channel.
A term “channel state information” may refer to properties of a communications channel that are known or measured by a technique of channel estimation. Channel state information may represent how wireless signals propagate from a transmitter (for example, a sensing transmitter) to a receiver (for example, a sensing receiver) along multiple paths. Channel state information is typically a matrix of complex values representing the amplitude attenuation and phase shift of signals, which provides an estimation of a communications channel.
A term “inverse discrete Fourier transform (IDFT)” may refer to an algorithm which transforms a signal in frequency domain to a signal in time domain. In an example, the IDFT may be used to transform a channel state information into a TD-CRI. In an embodiment, an inverse fast Fourier transform (IFFT) may be used to implement the IDFT.
A term “full time-domain channel representation information (full TD-CRI)” may refer to a series of complex pairs of time domain pulses which are created by performing an IDFT or IFFT on channel state information values, for example channel state information calculated by a baseband receiver.
A term “channel representation information (CRI)” may refer to a collection of sensing measurements that together represent the state of the channel between two devices. Examples of CRI are channel state information and full TD-CRI.
A term “filtered time-domain channel representation information (filtered TD-CRI)” may refer to a reduced series of complex pairs of time domain pulses created by applying an algorithm to a full TD-CRI. The algorithm may select some time domain pulses and reject others. The filtered TD-CRI includes information that relates a selected time domain pulse to the corresponding time domain pulse in the full TD-CRI.
A term “Null Data PPDU (NDP)” may refer to a PPDU that does not include data fields. In an example, Null Data PPDU may be used for sensing transmissions where in examples it is the Medium Access Control (MAC) header that includes the information required.
A term “sensing transmission” may refer to any transmission made from a sensing transmitter to a sensing receiver that may be used to make a sensing measurement. In an example, sensing transmission may also be referred to as wireless sensing signal or wireless signal.
A term “sensing trigger message” may refer to a message sent from the sensing receiver to the sensing transmitter to trigger one or more sensing transmissions that may be used for performing sensing measurements. In an example, a sensing trigger message may be sent from a sensing transmitter to a sensing receiver to cause the sensing receiver to send a sensing measurement response message back to the sensing transmitter or to a sensing initiator.
A term “sensing response message” may refer to a message which is included within a sensing transmission from the sensing transmitter to the sensing receiver. In an example, the sensing transmission that includes the sensing response message may be used to perform a sensing measurement.
A term “sensing measurement” may refer to a measurement of a state of a channel i.e., channel state information measurement, between a sensing transmitter and a sensing receiver derived from a transmission, for example, a sensing transmission.
A term “transmission parameters” may refer to a set of IEEE 802.11 PHY transmitter configuration parameters which are defined as part of transmission vector (TXVECTOR) corresponding to a specific PHY and which are configurable for each PHY-layer Protocol Data Unit (PPDU) transmission.
A term “PHY-layer Protocol Data Unit (PPDU)” may refer to a data unit that includes preamble and data fields. The preamble field may include the transmission vector format information, and the data field may include payload and higher layer headers.
A term “channel response information (CRI) transmission message” may refer to a message sent by the sensing receiver that has performed a sensing measurement on a sensing transmission, in which the sensing receiver sends CRI to the sensing transmitter.
A term “time domain pulse” may refer to a complex number that represents amplitude and phase of discretized energy in the time domain. When channel state information values are obtained for each tone from the baseband receiver, time domain pulses are obtained by performing an inverse Fourier Transform (for example an IDFT or an IFFT) on the channel state information values.
A term “delivered transmission configuration” may refer to transmission parameters applied by the sensing transmitter to a sensing transmission.
A term “requested transmission configuration” may refer to requested transmission parameters of the sensing transmitter to be used when sending a sensing transmission.
A “transmission channel” may refer to a tunable channel on which the sensing receiver performs a sensing measurement and/or on which the sensing transmitter performs a sensing transmission.
A term “sensing transmission announcement message” may refer to a message which is sent from the sensing transmitter to the sensing receiver that announces that a sensing transmission NDP will follow within a short interframe space (SIFS). The sensing transmission NDP may be transmitted using transmission parameters defined with the sensing transmission announcement messages.
A term “sensing transmission NDP” may refer to an NDP transmission which is sent by the sensing transmitter and used for a sensing measurement at the sensing receiver. The transmission follows a sensing transmission announcement message and may be transmitted using transmission parameters that are defined in the sensing transmission announcement message.
A term “sensing measurement poll message” may refer to a message which is sent from the sensing transmitter to the sensing receiver to solicit the transmission of channel representation information that has been determined by the sensing receiver.
A term “sensing configuration message” may refer to a message which is sent from a device including a sensing algorithm (for example, a networked device) to the sensing receiver. The sensing configuration message may include a channel representation information configuration. The channel representation information configuration may interchangeably be referred to as Time Domain Channel Representation Information (TD-CRI) configuration.
A term “sensing configuration response message” may refer to a message sent from the sensing receiver to the device including the sensing algorithm (for example, the networked device) in response to a sensing configuration message. In an example, the sensing configuration response message may be an acknowledgement to the sensing configuration message.
A term “feature of interest” may refer to an item or state of an item which is positively detected and/or identified by a sensing algorithm.
A term “path of motion” may refer to a physical route that an object traveling through a sensing space takes. A path of motion may occur between transmitters and/or reflectors.
A term “sensing space” may refer to a physical space in which a Wi-Fi sensing system may operate.
A term “Wi-Fi sensing session” may refer to a period during which objects in a sensing space may be probed, detected and/or characterized. In an example, during a Wi-Fi sensing session, several devices participate in, and thereby contribute to the generation of sensing measurements. A Wi-Fi sensing session may also be referred to as a WLAN sensing session or simply a sensing session.
For purposes of reading the description of the various embodiments below, the following descriptions of the sections of the specifications and their respective contents may be helpful:
Section A describes a wireless communications system, wireless transmissions and sensing measurements which may be useful for practicing embodiments described herein.
Section B describes systems and methods that are useful for a Wi-Fi sensing system configured to send sensing transmissions and make sensing measurements.
Section C describes embodiments of systems and methods for identifying waveform frequency signature using time stamps.
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. For example, 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. Examples of 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. Examples of PANs include networks that operate according to short-range communication standards (e.g., Bluetooth®., Near Field Communication (NFC), ZigBee), millimeter wave communications, and others.
In some implementations, wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to 2G standards such as Global System for Mobile (GSM) and Enhanced Data rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as code division multiple access (CDMA), wideband code division multiple access (WCDMA), Universal Mobile Telecommunications System (UMTS), and time division synchronous code division multiple access (TD-SCDMA); 4G standards such as Long-Term Evolution (LTE) and LTE-Advanced (LTE-A); 5G standards, and others.
In the example shown in
Wireless communication devices 102A, 102B, 102C may be implemented without Wi-Fi components; for example, other types of standard or non-standard wireless communication may be used for motion detection. In some cases, wireless communication devices 102A, 102B, 102C can be, or they may be part of, a dedicated motion detection system. For example, the dedicated motion detection system can include a hub device and one or more beacon devices (as remote sensor devices), and wireless communication devices 102A, 102B, 102C can be either a hub device or a beacon device in the motion detection system.
As shown in
Modem 112 can communicate (receive, transmit, or both) wireless signals. For example, modem 112 may be configured to communicate RF signals formatted according to a wireless communication standard (e.g., Wi-Fi or Bluetooth). Modem 112 may be implemented as the example wireless network modem 112 shown in
In some cases, a radio subsystem in modem 112 can include one or more antennas and RF circuitry. The RF circuitry can include, for example, circuitry that filters, amplifies, or otherwise conditions analog signals, circuitry that up-converts baseband signals to RF signals, circuitry that down-converts RF signals to baseband signals, etc. Such circuitry may include, for example, filters, amplifiers, mixers, a local oscillator, etc. The radio subsystem can be configured to communicate radio frequency wireless signals on the wireless communication channels. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. A radio subsystem may include additional or different components. In some implementations, the radio subsystem can be or may include the radio electronics (e.g., RF front end, radio chip, or analogous components) from a conventional modem, for example, from a Wi-Fi modem, pico base station modem, etc. In some implementations, the antenna includes multiple antennas.
In some cases, a baseband subsystem in modem 112 can include, for example, digital electronics configured to process digital baseband data. As an example, the baseband subsystem may include a baseband chip. A baseband subsystem may include additional or different components. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic to operate the radio subsystem, to communicate wireless network traffic through the radio subsystem, to detect motion based on motion detection signals received through the radio subsystem or to perform other types of processes. For instance, the baseband subsystem may include one or more chips, chipsets, or other types of devices that are configured to encode signals and deliver the encoded signals to the radio subsystem for transmission, or to identify and analyze data encoded in signals from the radio subsystem (e.g., by decoding the signals according to a wireless communication standard, by processing the signals according to a motion detection process, or otherwise).
In some instances, the radio subsystem in modem 112 receives baseband signals from the baseband subsystem, up-converts the baseband signals to RF signals, and wirelessly transmits the RF signals (e.g., through an antenna). In some instances, the radio subsystem in modem 112 wirelessly receives RF signals (e.g., through an antenna), down-converts the RF to baseband signals, and sends the baseband signals to the baseband subsystem. The signals exchanged between the radio subsystem and the baseband subsystem may be digital or analog signals. In some examples, the baseband subsystem includes conversion circuitry (e.g., a digital-to-analog converter, an analog-to-digital converter) and exchanges analog signals with the radio subsystem. In some examples, the radio subsystem includes conversion circuitry (e.g., a digital-to-analog converter, an analog-to-digital converter) and exchanges digital signals with the baseband subsystem.
In some cases, the baseband subsystem of modem 112 can communicate wireless network traffic (e.g., data packets) in the wireless communication network through the radio subsystem on one or more network traffic channels. The baseband subsystem of modem 112 may also transmit or receive (or both) signals (e.g., motion probe signals or motion detection signals) through the radio subsystem on a dedicated wireless communication channel. In some instances, the baseband subsystem generates motion probe signals for transmission, for example, to probe a space for motion. In some instances, the baseband subsystem processes received motion detection signals (signals based on motion probe signals transmitted through the space), for example, to detect motion of an object in a space.
Processor 114 can execute instructions, for example, to generate output data based on data inputs. The instructions can include programs, codes, scripts, or other types of data stored in memory. 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. Processor 114 may be or include a general-purpose microprocessor, as a specialized co-processor or another type of data processing apparatus. In some cases, processor 114 performs high level operation of the wireless communication device 102C. For example, processor 114 may be configured to execute or interpret software, scripts, programs, functions, executables, or other instructions stored in memory 116. In some implementations, processor 114 may be included in modem 112.
Memory 116 can include computer-readable storage media, for example, a volatile memory device, a non-volatile memory device, or both. Memory 116 can include one or more read-only memory devices, random-access memory devices, buffer memory devices, or a combination of these and other types of memory devices. In some instances, one or more components of the memory can be integrated or otherwise associated with another component of wireless communication device 102C. Memory 116 may store instructions that are executable by processor 114. For example, the instructions may include instructions for time-aligning signals using an interference buffer and a motion detection buffer, such as through one or more of the operations of the example process of
In the example shown in
In the example shown, wireless communication device 102C processes the wireless signals from wireless communication devices 102A, 102B to detect motion of an object in a space accessed by the wireless signals, to determine a location of the detected motion, or both. For example, wireless communication device 102C may perform one or more operations of the example process described below with respect to
The wireless signals used for motion detection can include, for example, a beacon signal (e.g., Bluetooth Beacons, Wi-Fi Beacons, other wireless beacon signals), another standard signal generated for other purposes according to a wireless network standard, or non-standard signals (e.g., random signals, reference signals, etc.) generated for motion detection or other purposes. In examples, motion detection may be carried out by analyzing one or more training fields carried by the wireless signals or by analyzing other data carried by the signal. In some examples data will be added for the express purpose of motion detection or the data used will nominally be for another purpose and reused or repurposed for motion detection. In some examples, the wireless signals propagate through an object (e.g., a wall) before or after interacting with a moving object, which may allow the moving object's movement to be detected without an optical line-of-sight between the moving object and the transmission or receiving hardware. Based on the received signals, wireless communication device 102C may generate motion detection data. In some instances, wireless communication device 102C may communicate the motion detection data to another device or system, such as a security system, which may include a control center for monitoring movement within a space, such as a room, building, outdoor area, etc.
In some implementations, wireless communication devices 102A, 102B can be modified to transmit motion probe signals (which may include, e.g., a reference signal, beacon signal, or another signal used to probe a space for motion) on a separate wireless communication channel (e.g., a frequency channel or coded channel) from wireless network traffic signals. For example, the modulation applied to the payload of a motion probe signal and the type of data or data structure in the payload may be known by wireless communication device 102C, which may reduce the amount of processing that wireless communication device 102C performs for motion sensing. The header may include additional information such as, for example, an indication of whether motion was detected by another device in communication system 100, an indication of the modulation type, an identification of the device transmitting the signal, etc.
In the example shown in
In some instances, motion detection fields 110 can include, for example, air, solid materials, liquids, or another medium through which wireless electromagnetic signals may propagate. In the example shown in
In the example shown in
As shown, an object is in first position 214A in
As shown in
In
The example wireless signals shown in
In the example shown in
As shown in
Mathematically, a transmitted signal f(t) transmitted from the first wireless communication device 204A may be described according to Equation (1):
Where ωn represents the frequency of nth frequency component of the transmitted signal, cn represents the complex coefficient of the nth frequency component, and t represents time. With the f(t) being transmitted from the first wireless communication device 204A, an output signal rk(t) from a path, k, may be described according to Equation (2):
Where αn,k represents an attenuation factor (or channel response; e.g., due to scattering, reflection, and path losses) for the nth frequency component along k, and φn,k represents the phase of the signal for nth frequency component along k. Then, the received signal, R, at a wireless communication device can be described as the summation of all output signals rk(t) from all paths to the wireless communication device, which is shown in Equation (3):
Substituting Equation (2) into Equation (3) renders the following Equation (4):
R at a wireless communication device can then be analyzed. 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. The transformed signal can represent R as a series of n complex values, one for each of the respective frequency components (at the n frequencies ωn). For a frequency component at frequency ωn, a complex value, Hn, may be represented as follows in Equation (5):
Hn for a given ωn indicates a relative magnitude and phase offset of the received signal at ωn. When an object moves in the space, Hn changes due to αn,k of the space changing. Accordingly, a change detected in the channel response can be indicative of movement of an object within the communication channel. In some instances, noise, interference, or other phenomena can influence the channel response detected by the receiver, and the motion detection system can reduce or isolate such influences to improve the accuracy and quality of motion detection capabilities. In some implementations, the overall channel response can be represented as follows in Equation (6):
In some instances, the channel response, hch, for a space can be determined, for example, based on the mathematical theory of estimation. For instance, a reference signal, Ref, can be modified with candidate hch, and then a maximum likelihood approach can be used to select the candidate channel which gives best match to the received signal (Rcvd). In some cases, an estimated received signal ({circumflex over (R)}cvd) is obtained from the convolution of Ref with the candidate hch, and then the channel coefficients of hch are varied to minimize the squared error of {circumflex over (R)}cvd. This can be mathematically illustrated as follows in Equation (7):
with the optimization criterion
The minimizing, or optimizing, process can utilize an adaptive filtering technique, such as least mean squares (LMS), recursive least squares (RLS), batch least squares (BLS), etc. The channel response can be a finite impulse response (FIR) filter, infinite impulse response (IIR) filter, or the like. As shown in the equation above, the received signal can be considered as a convolution of the reference signal and the channel response. The convolution operation means that the channel coefficients possess a degree of correlation with each of the delayed replicas of the reference signal. The convolution operation as shown in the equation above, therefore shows that the received signal appears at different delay points, each delayed replica being weighted by the channel coefficient.
In the example shown in
Furthermore, as an object moves within space 200, the channel response may vary from channel response 370. In some cases, space 200 can be divided into distinct regions and the channel responses associated with each region may share one or more characteristics (e.g., shape), as described below. Thus, motion of an object within different distinct regions can be distinguished, and the location of detected motion can be determined based on an analysis of channel responses.
In the example shown, wireless communication device 402A is located in fourth region 414 of space 400, wireless communication device 402B is located in second region 410 of space 400, and wireless communication device 402C is located in fifth region 416 of space 400. Wireless communication devices 402 can operate in the same or similar manner as wireless communication devices 102 of
In the examples shown, one (or more) of wireless communication devices 402 repeatedly transmits a motion probe signal (e.g., a reference signal) through space 400. The motion probe signals may have a flat frequency profile in some instances, wherein the magnitude of f1, f2 and f3 is the same or nearly the same. For example, the motion probe signals may have a frequency response similar to frequency domain representation 350 shown in
Based on the received signals, wireless communication devices 402 can determine a channel response for space 400. When motion occurs in distinct regions within the space, distinct characteristics may be seen in the channel responses. For example, while the channel responses may differ slightly for motion within the same region of space 400, the channel responses associated with motion in distinct regions may generally share the same shape or other characteristics. For instance, channel response 401 of
When there is no motion in space 400 (e.g., when object 406 is not present), wireless communication device 402 may compute channel response 460 associated with no motion. Slight variations may occur in the channel response due to a number of factors; however, multiple channel responses 460 associated with different periods of time may share one or more characteristics. In the example shown, channel response 460 associated with no motion has a decreasing frequency profile (the magnitude of each of f1, f2, and f3 is less than the previous). The profile of channel response 460 may differ in some instances (e.g., based on different room layouts or placement of wireless communication devices 402).
When motion occurs in space 400, a variation in the channel response will occur. For instance, in the examples shown in
Analyzing channel responses may be considered similar to analyzing a digital filter. A channel response may be formed through the reflections of objects in a space as well as reflections created by a moving or static human. When a reflector (e.g., a human) moves, it changes the channel response. This may translate to a change in equivalent taps of a digital filter, which can be thought of as having poles and zeros (poles amplify the frequency components of a channel response and appear as peaks or high points in the response, while zeros attenuate the frequency components of a channel response and appear as troughs, low points, or nulls in the response). A changing digital filter can be characterized by the locations of its peaks and troughs, and a channel response may be characterized similarly by its peaks and troughs. For example, in some implementations, analyzing nulls and peaks in the frequency components of a channel response (e.g., by marking their location on the frequency axis and their magnitude), motion can be detected.
In some implementations, a time series aggregation can be used to detect motion. A time series aggregation may be performed by observing the features of a channel response over a moving window and aggregating the windowed result by using statistical measures (e.g., mean, variance, principal components, etc.). During instances of motion, the characteristic digital-filter features would be displaced in location and flip-flop between some values due to the continuous change in the scattering scene. That is, an equivalent digital filter exhibits a range of values for its peaks and nulls (due to the motion). By looking this range of values, unique profiles (in examples profiles may also be referred to as signatures) may be identified for distinct regions within a space.
In some implementations, an AI model may be used to process data. AI models may be of a variety of types, for example linear regression models, logistic regression models, linear discriminant analysis models, decision tree models, naïve bayes models, K-nearest neighbors models, learning vector quantization models, support vector machines, bagging and random forest models, and deep neural networks. In general, all AI models aim to learn a function which provides the most precise correlation between input values and output values and are trained using historic sets of inputs and outputs that are known to be correlated. In examples, artificial intelligence may also be referred to as machine learning.
In some implementations, the profiles of the channel responses associated with motion in distinct regions of space 400 can be learned. For example, machine learning may be used to categorize channel response characteristics with motion of an object within distinct regions of a space. In some cases, a user associated with wireless communication devices 402 (e.g., an owner or other occupier of space 400) can assist with the learning process. For instance, referring to the examples shown in
The tagged channel responses can then be processed (e.g., by machine learning software) to identify unique characteristics of the channel responses associated with motion in the distinct regions. Once identified, the identified unique characteristics may be used to determine a location of detected motion for newly computed channel responses. For example, an AI model may be trained using the tagged channel responses, and once trained, newly computed channel responses can be input to the AI model, and the AI model can output a location of the detected motion. For example, in some cases, mean, range, and absolute values are input to an AI model. In some instances, magnitude and phase of the complex channel response itself may be input as well. These values allow the AI model to design arbitrary front-end filters to pick up the features that are most relevant to making accurate predictions with respect to motion in distinct regions of a space. In some implementations, the AI model is trained by performing a stochastic gradient descent. For instance, channel response variations that are most active during a certain zone may be monitored during the training, and the specific channel variations may be weighted heavily (by training and adapting the weights in the first layer to correlate with those shapes, trends, etc.). The weighted channel variations may be used to create a metric that activates when a user is present in a certain region.
For extracted features like channel response nulls and peaks, a time-series (of the nulls/peaks) may be created using an aggregation within a moving window, taking a snapshot of few features in the past and present, and using that aggregated value as input to the network. Thus, the network, while adapting its weights, will be trying to aggregate values in a certain region to cluster them, which can be done by creating a logistic classifier based decision surfaces. The decision surfaces divide different clusters and subsequent layers can form categories based on a single cluster or a combination of clusters.
In some implementations, an AI model includes two or more layers of inference. The first layer acts as a logistic classifier which can divide different concentration of values into separate clusters, while the second layer combines some of these clusters together to create a category for a distinct region. Additional, subsequent layers can help in extending the distinct regions over more than two categories of clusters. For example, a fully-connected AI model may include an input layer corresponding to the number of features tracked, a middle layer corresponding to the number of effective clusters (through iterating between choices), and a final layer corresponding to different regions. Where complete channel response information is input to the AI model, the first layer may act as a shape filter that can correlate certain shapes. Thus, the first layer may lock to a certain shape, the second layer may generate a measure of variation happening in those shapes, and third and subsequent layers may create a combination of those variations and map them to different regions within the space. The output of different layers may then be combined through a fusing layer.
Section B describes systems and methods that are useful for a wireless sensing system configured to send sensing transmissions and make sensing measurements.
System 500 may include sensing receiver 502, sensing transmitter 504, and network 560 enabling communication between the system components for information exchange. System 500 may be an example or instance of wireless communication system 100, and network 560 may be an example or instance of wireless network or cellular network, details of which are provided with reference to
According to an embodiment, sensing receiver 502 may be configured to receive a sensing transmission (for example, from sensing transmitter 504) and perform one or more measurements (for example, channel state information) useful for Wi-Fi sensing. These measurements may be known as sensing measurements. The sensing measurements may be processed to achieve a sensing result of system 500, such as detecting motions or gestures. In an embodiment, sensing receiver 502 may be an AP. In some embodiments, sensing receiver 502 may take a role of sensing initiator.
According to an implementation, sensing receiver 502 may be implemented by a device, such as wireless communication device 102 shown in
Referring again to
Referring to
In an implementation, sensing agent 516 may be responsible for receiving sensing transmissions and associated transmission parameters, calculating sensing measurements, and processing sensing measurements to fulfill a sensing result. In some implementations, receiving sensing transmissions and associated transmission parameters, and calculating sensing measurements may be carried out by an algorithm running in the MAC layer of sensing receiver 502 and processing sensing measurements to fulfill a sensing result may be carried out by an algorithm running in the application layer of sensing receiver 502. In some examples, the algorithm running in the application layer of sensing receiver 502 is known as a sensing application or sensing algorithm. In some implementations, the algorithm running in the MAC layer of sensing receiver 502 and the algorithm running in the application layer of sensing receiver 502 may run separately on processor 508. In an implementation, sensing agent 516 may pass physical layer parameters (e.g., such as channel state information) from the MAC layer of sensing receiver 502 to the application layer of sensing receiver 502 and may use the physical layer parameters to detect one or more features of interest. In an example, the application layer may operate on the physical layer parameters and form services or features, which may be presented to an end-user. According to an implementation, communication between the MAC layer of sensing receiver 502 and other layers or components may take place based on communication interfaces, such as MLME interface and a data interface. According to some implementations, sensing agent 516 may include/execute a sensing algorithm. In an implementation, sensing agent 516 may process and analyze sensing measurements using the sensing algorithm and identify one or more features of interest. Further, sensing agent 516 may be configured to determine a number and timing of sensing transmissions and sensing measurements for the purpose of Wi-Fi sensing. In some implementations, sensing agent 516 may be configured to transmit sensing measurements to sensing transmitter 504 for further processing.
In an implementation, sensing agent 516 may be configured to cause at least one transmitting antenna of transmitting antenna(s) 512 to transmit messages to sensing transmitter 504. Further, sensing agent 516 may be configured to receive, via at least one receiving antenna of receiving antennas(s) 514, messages from sensing transmitter 504. In an example, sensing agent 516 may be configured to make sensing measurements based on one or more sensing transmissions received from sensing transmitter 504.
Referring again to
Referring again to
In an implementation, sensing agent 536 may be responsible for receiving sensing measurements and associated transmission parameters, calculating sensing measurements, and/or processing sensing measurements to fulfill a sensing result. In some implementations, receiving sensing measurements and associated transmission parameters, and calculating sensing measurements and/or processing sensing measurements may be carried out by an algorithm running in the MAC layer of sensing transmitter 504, and processing sensing measurements to fulfill a sensing result may be carried out by an algorithm running in the application layer of sensing transmitter 504. In some examples, the algorithm running in the application layer of sensing transmitter 504 is known as a sensing application or sensing algorithm. In some implementations, the algorithm running in the MAC layer of sensing transmitter 504 and the algorithm running in the application layer of sensing transmitter 504 may run separately on processor 528. In an implementation, sensing agent 536 may pass physical layer parameters (e.g., such as channel state information) from the MAC layer of sensing transmitter 504 to the application layer of sensing transmitter 504 and may use the physical layer parameters to detect one or more features of interest. In an example, the application layer may operate on the physical layer parameters and form services or features, which may be presented to an end-user. According to an implementation, communication between the MAC layer of sensing transmitter 504 and other layers or components may take place based on communication interfaces, such as MLME interface and a data interface. According to some implementations, sensing agent 536 may include/execute a sensing algorithm. In an implementation, sensing agent 536 may process and analyze sensing measurements using the sensing algorithm and identify one or more features of interest. Further, sensing agent 536 may be configured to determine a number and timing of sensing transmissions and sensing measurements for the purpose of Wi-Fi sensing.
In some embodiments, an antenna may be used to both transmit and receive in a half-duplex format. When the antenna is transmitting, it may be referred to as transmitting antenna 512/532, and when the antenna is receiving, it may be referred to as receiving antenna 514/534. It is understood by a person of normal skill in the art that the same antenna may be transmitting antenna 512/532 in some instances and receiving antenna 514/534 in other instances. In the case of an antenna array, one or more antenna elements may be used to transmit or receive a signal, for example, in a beamforming environment. In some examples, a group of antenna elements used to transmit a composite signal may be referred to as transmitting antenna 512/532, and a group of antenna elements used to receive a composite signal may be referred to as receiving antenna 514/534. In some examples, each antenna is equipped with its own transmission and receive paths, which may be alternately switched to connect to the antenna depending on whether the antenna is operating as transmitting antenna 512/532 or receiving antenna 514/534.
According to one or more implementations, communications in network 560 may be governed by one or more of the 802.11 family of standards developed by IEEE. Some example IEEE standards may include IEEE 802.11-2020, IEEE 802.11ax-2021, IEEE 802.11me, IEEE 802.11az, and IEEE 802.11be. IEEE 802.11-2020 and IEEE 802.11ax-2021 are fully-ratified standards whilst IEEE 802.11me reflects an ongoing maintenance update to the IEEE 802.11-2020 standard and IEEE 802.11be defines the next generation of standard. IEEE 802.11az is an extension of the IEEE 802.11-2020 and IEEE 802.11 ax-2021 standards, adding new functionality. In some implementations, communications may be governed by other standards (other or additional IEEE standards or other types of standards). In some embodiments, parts of network 560 which are not required by system 500 to be governed by one or more of the 802.11 family of standards may be implemented by an instance of any type of network, including wireless network or cellular network.
Referring to
According to some embodiments, the role of sensing initiator may be taken on by sensing transmitter 504. In an implementation, a networked device may send a sensing configuration message to sensing transmitter 504. In an example, the sensing configuration message may include a channel representation information configuration. In response to the sensing configuration message, sensing transmitter 504 may send an acknowledgment using a sensing configuration response message. Thereafter, in an example, sensing transmitter 504 may initiate a sensing session and send a sensing transmission announcement message followed by a sensing transmission NDP to sensing receiver 502. In an example, the sensing transmission announcement message may include a channel representation information configuration, and in examples the sensing receiver may configure itself with the channel representation information configuration for use in generating TD-CRI or filtered TD-CRI. In an example, the sensing transmission NDP follows the sensing transmission announcement message after one SIFS. In an example, the duration of SIFS is 10 μs. Sensing receiver 502 may perform a channel state measurement on the sensing transmission NDP and generate channel representation information based on the channel representation information configuration. In an example, the sensing receiver 502 may generate TD-CRI or filtered TD-CRI. Sensing receiver 502 may send a CRI transmission message including the channel state measurement (i.e., TD-CRI or filtered TD-CRI) to the networked device for further processing.
In an example, sensing receiver 502 may hold the channel state measurement until it receives a sensing measurement poll message. Sensing transmitter 504 may send a sensing measurement poll message to sensing receiver 502, which may trigger sensing receiver 502 to send an already formatted channel state measurement (i.e., channel state information, TD-CRI, or filtered TD-CRI) to sensing transmitter 504. In another example, sensing transmitter 504 may send a sensing measurement poll message to sensing receiver 502, which includes a channel representation information configuration. The sensing measurement poll message may trigger sensing receiver 502 to generate TD-CRI or filtered TD-CRI according to the channel representation information configuration, and to transfer TD-CRI or filtered TD-CRI to sensing transmitter 504. In examples, sensing receiver 502 may send a CRI transmission message including the channel state measurement (i.e., TD-CRI or filtered TD-CRI) to the networked device.
Some embodiments of the present disclosure as described above define sensing message types for Wi-Fi sensing, for example, sensing configuration message and sensing configuration response message. In an example, the sensing configuration message and the sensing configuration response message are carried in a new extension to a management frame of a type described in IEEE 802.11.
In an implementation, the information content of all sensing message types may be carried in a format as shown in
In one or more embodiments, the sensing message types may be identified by the message type field, and each sensing message type may carry other identified elements, according to some embodiments. In an example, data may be encoded into an element for inclusion in sensing messages between sensing receiver 502, sensing transmitter 504, and the networked device. In a measurement campaign involving multiple sensing receivers and multiple sensing transmitters, these parameters may be defined for all sensing receivers-sensing transmitters pairs. In an example, when these parameters are transmitted from the networked device to sensing receiver 502, then these parameters configure sensing receiver 502 to process a sensing transmission and calculate sensing measurements. In some examples, when these parameters are transmitted from sensing receiver 502 to the networked device, then these parameters report the configuration used by sensing receiver 502.
According to some implementations, a sensing transmission announcement may be carried in a new extension to a control frame of a type described in IEEE 802.11. In some implementations, the sensing transmission announcement may be carried in a new extension to a control frame extension described in IEEE 802.11.
According to some implementations, a sensing measurement poll may be carried in a new extension to a control frame of a type described in IEEE 802.11. In some implementations, the sensing measurement poll may be carried in a new extension to a control frame extension described in IEEE 802.11.
According to some implementations, when sensing receiver 502 has calculated sensing measurements and created channel representation information (for example, in a form of TD-CRI), the sensing receiver 502 may be required to communicate the channel representation information to sensing transmitter 504 or the networked device. In an example, the TD-CRI may be transferred by a management frame. In an example, a message type may be defined, which represents a CRI transmission message.
In an implementation, when the networked device is implemented on a separate device (i.e., is not implemented within sensing receiver 502 or sensing transmitter 504), a management frame may not be necessary, and the TD-CRI may be encapsulated in a standard IEEE 802.11 data frame and transferred to the networked device. In an example, a proprietary header or descriptor may be added to the data structure to allow the networked device to detect that the data structure is of the form of a CRI transmission message Element. In an example, data may be transferred in the format shown in
The present disclosure generally relates to systems and methods for Wi-Fi sensing. In particular, the present disclosure relates to systems and methods for identifying waveform frequency signature using timestamps.
Currently, a Wi-Fi sensing system can detect a small motion of an object existing between a sensing transmitter and a sensing receiver. Further, if the small motion has a waveform frequency signature (i.e., periodic similar motions along a timeline such as a movement of human breathing or a movement of a small pump machine), there may be a further demand of a more accurate Wi-Fi sensing system to identify the waveform frequency signature of the small motion. In examples, a waveform frequency signature of a small motion of an object in a sensing space may be beneficial in certain applications, such as home monitoring, assisted living, security monitoring, etc. In an example, a waveform frequency signature of a small motion (for example, breathing) of a human in sleep may be helpful to identify if the breathing of the human is normal or not.
In examples, reflections of time domain pulses between the sensing transmitter and the sensing receiver may result in multipath signals at the sensing receiver. The multipath signals at the sensing receiver may have different amplitudes and time delays. The small, repetitive (for example, periodic) motion of an object in the path of the reflected time domain pulses may cause amplitude modulations of the received time domain pulses when the movement of the object reflects the time domain pulses in its path. In wireless telecommunications, multipath is a propagation phenomenon that results in radio signals reaching receiving antennas by two or more paths.
The present disclosure describes a solution to identify a waveform frequency signature (or frequency) of a small motion of an object in a path of multipath signals between a sensing transmitter and a sensing receiver. According to an implementation, a waveform frequency signature of the small motion of the object may be identified by detecting waveform amplitude variations (or modulations) on top of base amplitudes of received time domain pulses from the series of multipath signals at different timestamps and finding a maximum correlation between a set of reasonable frequencies and the detected waveform amplitude variations across the time series of multipath signals.
Referring to
According to an example implementation, sensing receiver 502 may initiate the measurement campaign via one or more sensing trigger messages. In an implementation, sensing agent 516 may be configured to generate a sensing trigger message configured to trigger a series of sensing transmissions from sensing transmitter 504. In an example, the sensing trigger message may include a requested transmission configuration field. Other examples of information/data included in the sensing trigger message that are not discussed here are contemplated herein. According to an implementation, sensing agent 516 may transmit the sensing trigger message to sensing transmitter 504. In an implementation, sensing agent 516 may transmit the sensing trigger message to sensing transmitter 504 via transmitting antenna 512 to trigger a series of sensing transmissions from sensing transmitter 504.
Sensing transmitter 504 may be configured to receive the sensing trigger message from sensing receiver 502 via receiving antenna 534. In response to receiving the sensing trigger message, sensing transmitter 504 may generate a series of sensing transmissions. In an example, one or more transmissions of the series of sensing transmissions that the sensing trigger message triggers from sensing transmitter 504 may comprise a sensing response message. In an implementation, sensing transmitter 504 may generate one or more transmissions of the series of sensing transmissions using the requested transmission configuration. In an implementation, sensing transmitter 504 may transmit one or more sensing transmissions of the series of sensing transmissions to sensing receiver 502 in response to the sensing trigger message and in accordance with the requested transmission configuration. In an implementation, sensing transmitter 504 may transmit the series of sensing transmissions to sensing receiver 502 via transmitting antenna 532.
In an implementation, sensing receiver 502 may receive the series of sensing transmissions from sensing transmitter 504 transmitted in response to the sensing trigger message. Sensing receiver 502 may be configured to receive the series of sensing transmissions from sensing transmitter 504 via receiving antenna 514. According to an implementation, sensing agent 516 may be configured to generate a series of sensing measurements based on the series of sensing transmissions received from sensing transmitter 504. Further, sensing agent 516 may be configured to determine a plurality of channel representation information based on the series of sensing measurements. In an implementation, the plurality of channel representation information may include a full time-domain channel representation information (TD-CRI) or a filtered TD-CRI. According to an example, the plurality of channel representation information may include a series of time domain pulse sets. In an example, the plurality of channel representation information may be calculated by a baseband processor in sensing receiver 502 as a part of the normal signal processing that takes place when the series of sensing transmissions is received. In an example implementation, sensing agent 516 may calculate the TD-CRI using an inverse Fourier transform, such as an inverse discrete Fourier transform (IDFT) or an inverse fast Fourier transform (IFFT).
According to some implementations, sensing agent 516 may transmit the plurality of channel representation information to sensing transmitter 504 for further processing. In an implementation, sensing agent 516 may communicate the plurality of channel representation information to sensing transmitter 504 via a channel representation information (CRI) transmission message. According to an implementation, sensing agent 516 may transmit the CRI transmission message to sensing transmitter 504 via transmitting antenna 512.
In the time domain, a transmission channel may be referred to as h(t). The transmission channel may also be described as an impulse response of the transmission channel. The impulse response of the transmission channel may include a plurality of time domain pulses. The plurality of time domain pulses may represent reflections that transmitted signals (for example, those transmitted by a transmitter) underwent before reaching a receiver. A reflected time domain pulse may be represented as:
where, τk represents a time delay of when the reflected time domain pulse reached the receiver in comparison to a line-of-sight time domain pulse which was not reflected, and αk is a complex value that represents frequency independent attenuation and phase of the reflected time domain pulse.
and a first reflected time domain pulse is represented as:
The time domain pulse δ(t) undergoes a single reflection (because of reflector 1006) in addition to its line-of-sight path. The line-of-sight time domain pulse transmission time may be incorporated into the complex coefficient α0 (i.e., τ0=0). The reflected time domain pulse may experience a delay of τ1 which represents the amount of time after the line-of-sight time domain pulse is received that the reflected time domain pulse is received.
In an implementation, if a number of discrete time domain pulses in a multipath signal is given by Lp, then the received multipath time domain pulse may be represented as:
The time domain representation of the received multipath signal may be referred to as TD-CRI. In examples, the Equation (11) indicates that each transmission channel may include a number of time domain pulses. A time domain pulse from amongst the time domain pulses may be determined to be a line-of-sight time domain pulse. Further, each time domain pulse may have a frequency independent amplitude and phase component (referred to as the complex coefficient), and all except the line-of-sight time domain pulse may experience a time delay due to reflections, which contributes a frequency dependent component to the complex coefficient.
According to an implementation, a filtered TD-CRI may be created by retaining a portion of the time domain pulses, for example, the time domain pulses that have a minimum amplitude and/or are within a time delay window. Each of the time domain pulses in a steady state channel or a pseudo-steady state channel may have a steady state amplitude (referred to as a base amplitude) and a time delay. Further, the amplitude of the time domain pulses of the filtered TD-CRI at different sensing measurement times may be variable, for example, due to noise or due to a motion of an object.
For ease of explanation and understanding, a line-of-sight time domain pulse may hereinafter be referred to as “pulse 0” and the time domain pulse having the largest amplitude may hereinafter be referred to as “pulse k”.
Referring back to
In an implementation, in Training Phase 1, there is no motion of an object in any reflected transmission path and only a noise of a sensing space is considered. This scenario is considered as a steady state or a pseudo steady state of the sensing space.
In Training Phase 1, amplitude of a time domain pulse (for example, pulse k as described in
Further, a base amplitude of pulse k over N time samples may be mathematically represented as:
In an implementation, a waveform amplitude variation of pulse k from base amplitude Abase at sensing measurement time t1 may be mathematically represented as:
In an implementation, a maximum waveform amplitude variation of pulse k among the sensing measurement times (such as t1, t2, . . . , t1, . . . , tN) may be mathematically represented as:
According to an implementation, a waveform amplitude variation percentage of pulse k may be mathematically represented as:
In an implementation, in Training Phase 1, the base amplitude of pulse k Abase may be almost stable and the waveform amplitude variation percentage of pulse k a %_noise may be very small. In an example, the waveform amplitude variation percentage of pulse k may be referred to as noise floor.
In an implementation, in Training Phase 2, there is a motion of an object in any reflected transmission path (in addition to a noise of a sensing space). In Training Phase 2, as the noise in the sensing space is still present, the base amplitude of pulse k Abase is the same as in Training Phase 1.
In an implementation, if amplitude of a time domain pulse (for example, pulse k) is measured at sensing receiver 502 at different sensing measurement times, such as t1, t2, . . . , t1, . . . , tN, then a waveform amplitude variation of pulse k at measurement time t1 may be mathematically represented as:
Further, a maximum waveform amplitude variation of pulse k among the sensing measurement times, such as t1, t2, . . . , t1, . . . , tN may be mathematically represented as:
According to an implementation, a waveform amplitude variation percentage of pulse k may be mathematically represented as:
In an implementation, the waveform amplitude variation percentage of pulse k a %_object caused by the motion of the object (and the noise of the sensing space) may be bigger than the waveform amplitude variation percentage a %_noise caused by the noise only. In examples, when the waveform amplitude variation percentage of pulse k a %_object is bigger than the waveform amplitude variation percentage a %_noise, then waveform amplitude variation of pulse k may be above the noise floor. In an example, the waveform amplitude variation percentage of pulse k a %_object must be bigger than the waveform amplitude variation percentage a %_noise by a minimum threshold for the waveform amplitude variation percentage of pulse k a %_object to be considered a waveform amplitude variation above the noise floor.
According to an implementation, a substantial number of small motions of objects in a sensing space may have waveform frequency signatures. In an example, if a parameter (for example, displacement) of the motion of an object changes along a timeline with a periodic nature at a specific frequency as a waveform (or a sinusoidal form), then it may be considered that the small motion has a waveform frequency signature. For example, a breathing movement of a static human (such as, a human in sleep) may have a waveform frequency signature as displacement of the breathing movement of a human chest changes along a timeline with a roughly periodic nature at a specific frequency as a waveform (which may be a sinusoidal form). In an example, if a small motion of an object with a waveform frequency signature (such as, breathing movement of a static human) is in the path of reflected time domain pulses of a transmitted signal, then it may result into waveform amplitude variations (or modulations) in one or more reflected time domain pulses at the sensing receiver.
In an implementation, waveform amplitude variation(s) (or modulation(s)) of reflected time domain pulse(s) may be sampled at time intervals that correspond with sensing measurement times at a sensing receiver. The time intervals of sensing measurement times at a sensing receiver may be uniform (equidistant) or non-uniform based on the how regularly successful sensing measurements can take place. According to an implementation, an underlying waveform frequency signature of a small motion may be identified from these uniform or non-uniform time intervals at which sensing measurements are made of the reflected time domain pulse(s) of a sensing transmission.
According to an implementation, TD-CRI may be used to represent a received multipath signal in the time domain. Amongst the received time domain pulses in the multipath signal, one or more of the received time domain pulses may have waveform amplitude variations (or modulations) on top of the base amplitude that are above the noise floor. Such received time domain pulses may be referred to as bobbing pulses. Further, amongst the bobbing pulses with their waveform amplitude variations above the noise floor, one specific bobbing pulse may be a signature pulse if it has the maximum waveform amplitude variation percentage “a %” during the sensing measurement times such as t1, t2, . . . , t1, . . . , tN. In an implementation, the signature pulse may represent a plurality of corresponding pulses, each of the corresponding pulses occurring in a respective one of the time domain pulse sets occurring at each of the sensing measurement times t1, t2, . . . , tN. In an implementation, sensing agent 516 may select a received time domain pulse (i.e., a signature pulse) from amongst the bobbing pulses that displays amplitude variations (interchangeably referred to as waveform amplitude variations) across the time domain pulse sets. In implementations, sensing agent 516 may select a received time domain pulse (i.e., a signature pulse) from among the bobbing pulses that has a largest amplitude variation from among the bobbing pulses, across the time domain pulse sets.
In an implementation, the time intervals of sensing measurement times at sensing receiver 502 may be uniform or non-uniform. According to an implementation, the waveform amplitude variations of the signature pulse may represent the waveform frequency signature caused by the small motion (for example, human breath). In an implementation, the amplitude of the signature pulse may have different absolute values at different sensing measurement times and the amplitude variation of the signature pulse may have different values at different sensing measurement times.
Referring back to
An example of the base amplitude “Abase”, the amplitude “A(t1)”, and the waveform amplitude variation “a(t1)” of a signature pulse at different sensing measurement times stored in data storage 518 is illustrates in Table 1 provided below.
Referring back to
Examples by which sensing agent 516 identifies the waveform frequency signature of the small motion of the object occurring in the sensing space corresponding with sensing receiver 502 are described in greater detail below.
In an implementation, sensing agent 516 may determine a set of reasonable frequencies for the waveform frequency signature of the small motion. In an example, normal human breath rates for an adult at rest may be in a range of 10 breaths to 20 breaths per minute (60 s). If the reasonable range of 10 breaths to 20 breaths per minute (60 s) is taken into consideration, then the physiological reasonable frequency range of human breath may be in a range of 0.166 Hz (10 times/60 s) to 0.333 Hz (20 times/60 s). An example of the set of reasonable frequencies for the waveform frequency signature of human breath is listed in Table 2 (provided below) with a predefined accuracy resolution E (such as E=0.01 Hz).
In the above Table 2, the set of reasonable frequencies for the waveform frequency signature of human breath (fj) is defined as (f1, f2, f3, . . . , f15, f16, f17, f18). In an example, the predefined accuracy resolution may provide a way to list the values of the frequency in the reasonable range for the waveform frequency signature for further processing. In an example, the predefined accuracy resolution may have different values (such as E=0.01 Hz, 0.001 Hz, 0.002 Hz, 0.0001 Hz, etc.).
According to an implementation, sensing agent 516 may create the Fourier basis function from the series of waveform amplitude variations of the signature pulse and their associated timestamps, and the set of reasonable frequencies. In an implementation, sensing agent 516 may create the Fourier basis function based on the base amplitude “Abase”, the amplitude “A(t1)”, and the waveform amplitude variation “a(t1)” of the signature pulse at different sensing measurement times stored in data storage 518 and as shown in Table 1.
In an implementation, the Fourier basis function may be used to determine a frequency value from the set of reasonable frequencies that best represents the waveform frequency signature of the small motion (for example, human breath).
According to an implementation, the Fourier basis function is mathematically expressed below.
where, D(fj) represents the Fourier basis function at frequency fj, a(t1) represents the waveform amplitude variation of the signature pulse at t1, t1 represents the sensing measurement time at sensing receiver 502, and fj represents a frequency from the set of reasonable frequencies.
According to an implementation, sensing agent 516 may be configured to perform multiplication and addition with the Fourier basis function, for example to calculate a strength metric (i.e., ∥D(fj)∥) of specific frequencies (fj) from the set of reasonable frequencies, for the series of sensing measurement times. In an implementation, the calculation of the strength metric of specific frequencies from the set of reasonable frequencies is mathematically expressed below.
where, ∥D(fj)∥ represents the strength metric (or simply the strength) of the specific frequency fj from the set of reasonable frequencies for the series of sensing measurement times, and fj represents the specific frequency from the set of reasonable frequencies for the series of sensing measurement times.
An example of calculation of the strength metric for specific frequencies from the set of reasonable frequencies is provided below in Table 3. In examples, the values of t1 and a(t1) may be taken from Table 2.
According to an implementation, sensing agent 516 identify a maximum value of the strength metric as being equal to the maximum ∥D(fj)∥. Further, sensing agent 516 may identify a specific reasonable frequency (fm) of the maximum ∥D(fm)∥ as a discovered waveform frequency signature of the small motion. In an example, if ∥D(0.250)∥ is the maximum value among all the values of ∥D(fj)∥ as described in Table 3 for the human breath case, then fm=0.250 Hz (15 breaths per minute) is the waveform frequency signature of the small motion (for example, human breath).
In a brief overview of an implementation of flowchart 1800, at step 1802, a series of time domain pulse sets determined from a series of sensing measurements based on a series of sensing transmissions transmitted by sensing transmitter 504 and received by a networked device operating as a sensing receiver over a time interval may be obtained. At step 1804, a signature pulse occurring in the time domain pulse sets is identified. At step 1806, a series of amplitudes of the signature pulse in the time domain pulse sets is recorded. At step 1808, a waveform frequency signature of a small motion occurring in a sensing space corresponding with the networked device is identified based on the series of amplitudes of the signature pulse.
Step 1802 includes obtaining a series of time domain pulse sets determined from a series of sensing measurements based on a series of sensing transmissions transmitted by sensing transmitter 504 and received by a networked device over a time interval. In an implementation, the networked device may operate as sensing receiver 502. According to an implementation, sensing receiver 502 may be configured to obtain the series of time domain pulse sets determined from the series of sensing measurements based on the series of sensing transmissions transmitted by sensing transmitter 504 and received by sensing receiver 502 over the time interval.
Step 1804 includes identifying a signature pulse occurring in the time domain pulse sets. According to an implementation, networked device operating as sensing receiver 502 may be configured to identify the signature pulse occurring in the time domain pulse sets. In an implementation, the signature pulse may represent a plurality of corresponding pulses, each of the corresponding pulses occurring in a respective one of the time domain pulse sets. Further, in an implementation, networked device operating as sensing receiver 502 may identify the signature pulse based on selecting the signature pulse from among a plurality of bobbing pulses displaying amplitude variations in the time domain pulse sets. In implementations, networked device operating as sensing receiver 502 may identify the signature pulse based on selecting the bobbing pulse having a largest amplitude variation from among the plurality of bobbing pulses.
Step 1806 includes recording a series of amplitudes of the signature pulse in the time domain pulse sets. According to an implementation, networked device operating as sensing receiver 502 may be configured to record the series of amplitudes of the signature pulse in the time domain pulse sets. In an example, the series of amplitudes of the signature pulse may have a uniform timing between amplitudes. In some example, the series of amplitudes of the signature pulse may have a non-uniform timing between amplitudes. In an example, timing between amplitudes of the series of amplitudes may be based on timing of at least one of the sensing transmissions and the sensing measurements. In an implementation, networked device operating as sensing receiver 502 may record variations in amplitude of the signature pulse. Variations in amplitude of the signature pulse may be describes as waveform amplitude variations which represent the amplitude difference from a base amplitude of the time domain pulse, in some embodiments.
Step 1808 includes identifying a waveform frequency signature of a small motion occurring in a sensing space corresponding with the networked device based on the series of amplitudes of the signature pulse. According to an implementation, networked device operating as sensing receiver 502 may be configured to identify the waveform frequency signature of the small motion occurring in the sensing space corresponding with sensing receiver 502 (i.e., the networked device) based on the series of amplitudes of the signature pulse. In an implementation, networked device operating as sensing receiver 502 may be configured to identify the waveform frequency signature based on evaluating the series of amplitudes of the signature pulse relative to a reasonable frequency waveform. In examples, evaluating the series of amplitudes of the signature pulse comprises evaluating the series of waveform amplitude variations of the signature pulse. According to an implementation, networked device operating as sensing receiver 502 may create a Fourier basis function from one of the series of amplitudes or the series of waveform amplitude variations of the signature pulse and the reasonable frequency waveform. In examples, evaluating the series of amplitudes or the series of waveform amplitude variations of the signature pulse includes creating a Fourier basis function from the series of amplitudes or the series of waveform amplitude variations of the signature pulse and a reasonable frequency waveform based on a reasonable frequency of one or more possible reasonable frequencies. In examples, the sensing space corresponds to the transmission pathway between a sensing transmitter 504 and the networked device operating as a sensing receiver 502. In examples, the sensing space corresponds to the transmission pathway between the networked device operating as a sensing receiver 502 and a sensing transmitter 504.
While various embodiments of the methods and systems have been described, these embodiments are illustrative and in no way limit the scope of the described methods or systems. Those having skill in the relevant art can effect changes to form and details of the described methods and systems without departing from the broadest scope of the described methods and systems. Thus, the scope of the methods and systems described herein should not be limited by any of the illustrative embodiments and should be defined in accordance with the accompanying claims and their equivalents.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IB2023/052216 | 3/8/2023 | WO |
Number | Date | Country | |
---|---|---|---|
63325224 | Mar 2022 | US | |
63318999 | Mar 2022 | US |