This disclosure relates generally to electronic devices. More specifically, this disclosure relates to method and apparatus for activity detection and recognition based on radar measurements.
The use of mobile computing technology such as a portable electronic device has greatly expanded largely due to usability, convenience, computing power, and the like. One result of the recent technological development is that electronic devices are becoming more compact, while the number of functions and features that a given device can perform is increasing.
Methods for interacting with and controlling computing devices are continually improving in order to conform to more natural approaches. Various types of computing devices utilize graphical user interfaces (GUI) on a display screen to facilitate control by a user. Objects such as text, images, and video are displayed on a screen and the user can employ various instruments to control the computing device such as, a keyboard, a mouse, a touchpad. Many such methods for interacting with and controlling a computing device generally require a user to physically touch the screen or utilizing an instrument such as a keyboard or mouse to provide a quick and precise input. Touching the screen or using particular instrument to interact with an electronic device can be cumbersome.
This disclosure provides methods and an apparatus for activity detection and recognition based on radar measurements.
In one embodiment, electronic device is provided. The electronic device includes a transceiver and a processor. The processor is operably connected to the transceiver. The processor is configured to transmit, via the transceiver, radar signals for activity recognition. The processor is also configured to identify a first set of features and a second set of features from received reflections of the radar signals, the first set of features indicating whether an activity is detected based on power of the received reflections. Based on the first set of features indicating that the activity is detected, the processor is configured to compare one or more of the second set of features to respective thresholds to determine whether a condition is satisfied. After a determination that the condition is satisfied, the processor is configured to perform an action based on a cropped portion of the second set of features.
In another embodiment, a method is provided. The method includes transmitting, via a transceiver, radar signals for activity recognition. The method also includes identifying a first set of features and a second set of features from received reflections of the radar signals, the first set of features indicating whether an activity is detected based on power of the received reflections. Based on the first set of features indicating that the activity is detected, the method includes comparing one or more of the second set of features to respective thresholds to determine whether a condition is satisfied. After a determination that the condition is satisfied, the method includes performing an action based on a cropped portion of the second set of features.
In yet another embodiment a non-transitory computer-readable medium embodying a computer program, the computer program comprising computer readable program code that, when executed by a processor of an electronic device, causes the processor to: transmit, via a transceiver, radar signals for activity recognition; identify a first set of features and a second set of features from received reflections of the radar signals, the first set of features indicating whether an activity is detected based on power of the received reflections; based on the first set of features indicating that the activity is detected, compare one or more of the second set of features to respective thresholds to determine whether a condition is satisfied; and after a determination that the condition is satisfied, perform an action based on a cropped portion of the second set of features.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The term “couple” and its derivatives refer to any direct or indirect communication between two or more elements, whether or not those elements are in physical contact with one another. The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompass both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, means to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The term “controller” means any device, system or part thereof that controls at least one operation. Such a controller may be implemented in hardware or a combination of hardware and software and/or firmware. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
Definitions for other certain words and phrases are provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.
For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
An electronic device, according to embodiments of the present disclosure can include a user equipment (UE) such as a 5G terminal. The electronic device can also refer to any component such as mobile station, subscriber station, remote terminal, wireless terminal, receive point, vehicle, or user device. The electronic device could be a mobile telephone, a smartphone, a monitoring device, an alarm device, a fleet management device, an asset tracking device, an automobile, a desktop computer, an entertainment device, an infotainment device, a vending machine, an electricity meter, a water meter, a gas meter, a security device, a sensor device, an appliance, and the like. Additionally, the electronic device can include a personal computer (such as a laptop, a desktop), a workstation, a server, a television, an appliance, and the like. In certain embodiments, an electronic device can be a portable electronic device such as a portable communication device (such as a smartphone or mobile phone), a laptop, a tablet, an electronic book reader (such as an e-reader), a personal digital assistants (PDAs), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a virtual reality headset, a portable game console, a camera, and a wearable device, among others. Additionally, the electronic device can be at least one of a part of a piece of furniture or building/structure, an electronic board, an electronic signature receiving device, a projector, or a measurement device. The electronic device is one or a combination of the above-listed devices. Additionally, the electronic device as disclosed herein is not limited to the above-listed devices and can include new electronic devices depending on the development of technology. It is noted that as used herein, the term “user” may denote a human or another device (such as an artificial intelligent electronic device) using the electronic device.
Certain electronic devices include a graphical user interface (GUI) such as a display that allows a user to view information displayed on the display in order to interact with the electronic device. Electronic devices can also include a user input device, such as keyboard, a mouse, a touchpad, a camera, a microphone, among others. The various types of input devices allow a user to interact with the electronic device. The input devices can be operably connected to the electronic device via a wired or wireless connection. Certain electronic devices can also include a combination of a user input device and a GUI, such as a touch screen. Touch screens allow a user to interact with the electronic device via touching the display screen itself.
Embodiments of the present disclosure recognize and take into consideration that input devices can be cumbersome to use on portable electronic devices since the input devices would need to be carried along with the portable electronic device. Additionally, embodiments of the present disclosure recognize and take into consideration that, the user may be unable to directly touch the input device or a touch screen when the user is unable to reach the electronic device, or uncleaned hands. For example, when the user is wearing gloves, the touch screen may have difficulty detecting the touch input. Similarly, the user may not desire to touch the display of the electronic such as when the hands of the user are dirty or wet. Moreover, embodiments of the present disclosure recognize and take into consideration that, the user may be unable to verbally command an electronic device (such as a virtual assistant) to perform a task.
Accordingly, embodiments of the present disclosure provide user interface mechanisms and methods in which the user can interact with the electronic device while not necessarily verbally commanding the electronic device, or physically touching either the electronic device or a user input device that is operably connected to the electronic device. For example, embodiments of the present disclosure provide system and methods for activity detection and recognition. An activity can include a gesture such as detected movements of an external object that is used to control the electronic device. For example, a gesture can be the detected movement of a body part of the user, such as the hand or fingers of a user, which is used to control the electronic device (without the user touching the device or an input device).
Embodiments of the present disclosure recognize and take into consideration that gestures can be used to control an electronic device. However, gesture control, using a camera (such as a red-green-blue (RGB) camera or an RGB-depth (RGB-D) camera) can lead to privacy concerns, since the camera would effectively by monitoring the users constantly in order to identify a gesture. Additionally. camera-based gesture recognition solutions do not work well in all lighting condition, such as when there is insufficient ambient light.
Embodiments of the present disclosure recognize and take into consideration that radar technology is used in areas of commerce, defense and security. More recently, small, low cost and solid-state radar technologies have enabled civilian applications such as medical and automotive, enhanced human-machine interface, and smart interaction with environments. In certain embodiments, a radar system can transmit radar signals towards and one or more passive targets (or objects), which scatters signals incident on them. The radar monitors a region of interest (ROI) by transmitting signals and measures the environment's response to perform functions including but not limited to proximity sensing, vital sign detection, gesture detection, and target detection and tracking. An intermediate step in this process is activity detection, in which the radar detects the presence of activity (such as a gesture) in the region of interest. Ultra-wideband (UWB) radar can be used for activity detection and gesture identification in the ROI.
In certain embodiments, such as those described in
Embodiments of the present disclosure take into consideration that activity detection (the ability to detect a gesture) should be in a power-efficient and in real-time. Accordingly, embodiments of the present disclosure describe minimizing the complexity of any signal processing prior to detecting the activity. By minimizing the complexity of any signal processing prior to detecting the activity can reduce power consumption. Additionally, embodiments of the present disclosure describe identifying a start and end times of an activity in real time. The start and end times can be used to crop (segment) a larger CIR. The cropped CIR can be used to identify the detected activity. In certain embodiments, the electric device can use a machine learning (ML) classifier for detecting the activity from the cropped CIR.
Embodiments of the present disclosure also recognize and take into consideration that that in gesture recognition, identifying an unintentional gesture can waist resources attempting to identify the detected activity, and if an activity is identified, the unintentional gesture can inadvertently instruct the electronic device to perform an unintended action as well as. As such, embodiments of the present disclosure provide systems and methods to reduce a detection of false or inadvertent activities.
Embodiments of the present disclosure further describe reducing detection induced latency with parameters to control the detection and false alarm probability. Parameterized latency is a time window that during the activity detection a stop time of the activity is identified. It is noted that short latency can result in a larger number of false alarm rate while a latency that is too long relays the gesture recognition resulting in a degraded user experience.
While the descriptions of the embodiments of the present discloser, describe a UWB radar-based systems for activity detection and recognition, the embodiments can be applied to any other radar based and non-radar based recognition systems. That is, the embodiments of the present disclosure are not restricted to UWB radar and can be applied to other types of sensors that can provide both range measurements, angle measurements, speed measurements or the like. It is noted that when applying the embodiments of the present disclosure using a different type of sensor (a sensor other than a radar transceiver), various components may need to be tuned accordingly.
The communication system 100 includes a network 102 that facilitates communication between various components in the communication system 100. For example, the network 102 can communicate IP packets, frame relay frames, Asynchronous Transfer Mode (ATM) cells, or other information between network addresses. The network 102 includes one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of a global network such as the Internet, or any other communication system or systems at one or more locations.
In this example, the network 102 facilitates communications between a server 104 and various client devices 106-114. The client devices 106-114 may be, for example, a smartphone (such as a UE), a tablet computer, a laptop, a personal computer, a wearable device, a head mounted display, or the like. The server 104 can represent one or more servers. Each server 104 includes any suitable computing or processing device that can provide computing services for one or more client devices, such as the client devices 106-114. Each server 104 could, for example, include one or more processing devices, one or more memories storing instructions and data, and one or more network interfaces facilitating communication over the network 102.
Each of the client devices 106-114 represent any suitable computing or processing device that interacts with at least one server (such as the server 104) or other computing device(s) over the network 102. The client devices 106-114 include a desktop computer 106, a mobile telephone or mobile device 108 (such as a smartphone), a PDA 110, a laptop computer 112, and a tablet computer 114. However, any other or additional client devices could be used in the communication system 100, such as wearable devices. Smartphones represent a class of mobile devices 108 that are handheld devices with mobile operating systems and integrated mobile broadband cellular network connections for voice, short message service (SMS), and Internet data communications. In certain embodiments, any of the client devices 106-114 can emit and collect radar signals via a measuring (or radar) transceiver.
In this example, some client devices 108-114 communicate indirectly with the network 102. For example, the mobile device 108 and PDA 110 communicate via one or more base stations 116, such as cellular base stations or eNodeBs (eNBs) or gNodeBs (gNBs). Also, the laptop computer 112 and the tablet computer 114 communicate via one or more wireless access points 118, such as IEEE 802.11 wireless access points. Note that these are for illustration only and that each of the client devices 106-114 could communicate directly with the network 102 or indirectly with the network 102 via any suitable intermediate device(s) or network(s). In certain embodiments, any of the client devices 106-114 transmit information securely and efficiently to another device, such as, for example, the server 104.
In certain embodiments, any of the client devices 106-116 can emit and receive UWB signals via a measuring transceiver. For example, the mobile device 108 can transmit a UWB signal for activity detection and gesture recognition. Based on the received signals, the mobile device 108 can identify a start time of the activity, and stop time of the activity, and various features that can be used to identify the gesture. In certain embodiments, a ML classifier can identify the activity. Thereafter, the mobile device 108 can perform an action corresponding to the identified activity.
Although
As shown in
The transceiver(s) 210 can include an antenna array including numerous antennas. For example, the transceiver(s) 210 can be equipped with multiple antenna elements. There can also be one or more antenna modules fitted on the terminal where each module can have one or more antenna elements. The antennas of the antenna array can include a radiating element composed of a conductive material or a conductive pattern formed in or on a substrate. As illustrated, the transceiver 210 also includes a radar transceiver 270. The radar transceiver 270 is discussed in greater detail below.
The transceiver(s) 210 transmit and receive a signal or power to or from the electronic device 200. The transceiver(s) 210 receives an incoming signal transmitted from an access point (such as a base station, WiFi router, or BLUETOOTH device) or other device of the network 102 (such as a WiFi, BLUETOOTH, cellular, 5G, LTE, LTE-A, WiMAX, or any other type of wireless network). The transceiver(s) 210 down-converts the incoming RF signal to generate an intermediate frequency or baseband signal. The intermediate frequency or baseband signal is sent to the RX processing circuitry 225 that generates a processed baseband signal by filtering, decoding, and/or digitizing the baseband or intermediate frequency signal. The RX processing circuitry 225 transmits the processed baseband signal to the speaker 230 (such as for voice data) or to the processor 240 for further processing (such as for web browsing data).
The TX processing circuitry 215 receives analog or digital voice data from the microphone 220 or other outgoing baseband data from the processor 240. The outgoing baseband data can include web data, e-mail, or interactive video game data. The TX processing circuitry 215 encodes, multiplexes, and/or digitizes the outgoing baseband data to generate a processed baseband or intermediate frequency signal. The transceiver(s) 210 receives the outgoing processed baseband or intermediate frequency signal from the TX processing circuitry 215 and up-converts the baseband or intermediate frequency signal to a signal that is transmitted.
The processor 240 can include one or more processors or other processing devices. The processor 240 can execute instructions that are stored in the memory 260, such as the OS 261 in order to control the overall operation of the electronic device 200. For example, the processor 240 could control the reception of forward channel signals and the transmission of reverse channel signals by the transceiver(s) 210, the RX processing circuitry 225, and the TX processing circuitry 215 in accordance with well-known principles. The processor 240 can include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement. For example, in certain embodiments, the processor 240 includes at least one microprocessor or microcontroller. Example types of processor 240 include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discrete circuitry. In certain embodiments, the processor 240 can include a neural network.
The processor 240 is also capable of executing other processes and programs resident in the memory 260, such as operations that receive and store data. The processor 240 can move data into or out of the memory 260 as required by an executing process. In certain embodiments, the processor 240 is configured to execute the one or more applications 262 based on the OS 261 or in response to signals received from external source(s) or an operator. Example, applications 262 can include a multimedia player (such as a music player or a video player), a phone calling application, a virtual personal assistant, and the like.
The processor 240 is also coupled to the I/O interface 245 that provides the electronic device 200 with the ability to connect to other devices, such as client devices 106-114. The I/O interface 245 is the communication path between these accessories and the processor 240.
The processor 240 is also coupled to the input 250 and the display 255. The operator of the electronic device 200 can use the input 250 to enter data or inputs into the electronic device 200. The input 250 can be a keyboard, touchscreen, mouse, track ball, voice input, or other device capable of acting as a user interface to allow a user in interact with the electronic device 200. For example, the input 250 can include voice recognition processing, thereby allowing a user to input a voice command. In another example, the input 250 can include a touch panel, a (digital) pen sensor, a key, or an ultrasonic input device. The touch panel can recognize, for example, a touch input in at least one scheme, such as a capacitive scheme, a pressure sensitive scheme, an infrared scheme, or an ultrasonic scheme. The input 250 can be associated with the sensor(s) 265, the radar transceiver 270, a camera, and the like, which provide additional inputs to the processor 240. The input 250 can also include a control circuit. In the capacitive scheme, the input 250 can recognize touch or proximity.
The display 255 can be a liquid crystal display (LCD), light-emitting diode (LED) display, organic LED (OLED), active-matrix OLED (AMOLED), or other display capable of rendering text and/or graphics, such as from websites, videos, games, images, and the like. The display 255 can be a singular display screen or multiple display screens capable of creating a stereoscopic display. In certain embodiments, the display 255 is a heads-up display (HUD).
The memory 260 is coupled to the processor 240. Part of the memory 260 could include a RAM, and another part of the memory 260 could include a Flash memory or other ROM. The memory 260 can include persistent storage (not shown) that represents any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information). The memory 260 can contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
The electronic device 200 further includes one or more sensors 265 that can meter a physical quantity or detect an activation state of the electronic device 200 and convert metered or detected information into an electrical signal. For example, the sensor 265 can include one or more buttons for touch input, a camera, a gesture sensor, optical sensors, cameras, one or more inertial measurement units (IMUs), such as a gyroscope or gyro sensor, and an accelerometer. The sensor 265 can also include an air pressure sensor, a magnetic sensor or magnetometer, a grip sensor, a proximity sensor, an ambient light sensor, a bio-physical sensor, a temperature/humidity sensor, an illumination sensor, an Ultraviolet (UV) sensor, an Electromyography (EMG) sensor, an Electroencephalogram (EEG) sensor, an Electrocardiogram (ECG) sensor, an IR sensor, an ultrasound sensor, an iris sensor, a fingerprint sensor, a color sensor (such as a Red Green Blue (RGB) sensor), and the like. The sensor 265 can further include control circuits for controlling any of the sensors included therein. Any of these sensor(s) 265 may be located within the electronic device 200 or within a secondary device operably connected to the electronic device 200.
In this embodiment, one of the one or more transceivers in the transceiver 210 is a radar transceiver 270 that is configured to transmit and receive signals for detecting and ranging purposes. The radar transceiver 270 can transmit and receive signals for measuring range and speed of an object that is external to the electronic device 200. The radar transceiver 270 can also transmit and receive signals for measuring the angle a detected object relative to the electronic device 200. For example, the radar transceiver 270 can transmit one or more signals that when reflected off of a moving object and received by the radar transceiver 270 can be used for determining the range (distance between the object and the electronic device 200), the speed of the object, the angle (angle between the object and the electronic device 200), or any combination thereof. The radar transceiver 270 may be any type of transceiver including, but not limited to a WiFi transceiver, for example, an 802.11ay transceiver, a UWB transceiver, and the like. The radar transceiver 270 can transmit signals at a various frequencies, such as in UWB. The radar transceiver 270 can receive the signals from an external electronic device as well as signals that were originally transmitted by the electronic device 300 and reflected off of an object external to the electronic device.
The radar transceiver 270 may be any type of transceiver including, but not limited to a radar transceiver. The radar transceiver 270 can include a radar sensor. The radar transceiver 270 can receive the signals, which were originally transmitted from the radar transceiver 270, after the signals have bounced or reflected off of target objects in the surrounding environment of the electronic device 200. In certain embodiments, the radar transceiver 270 is a monostatic radar as the transmitter of the radar signal and the receiver, for the delayed echo, are positioned at the same or similar location. For example, the transmitter and the receiver can use the same antenna or nearly co-co-located while using separate, but adjacent antennas. Monostatic radars are assumed coherent, such as when the transmitter and receiver are synchronized via a common time reference.
The processor 240 can analyze the time difference, based on the time stamps of transmitted and received signals, to measure the distance of the target objects from the electronic device 200. Based on the time differences, the processor 240 can generate location information, indicating a distance that the external electronic device is from the electronic device 200. In certain embodiments, the radar transceiver 270 is a sensor that can detect range and AOA of another electronic device. For example, the radar transceiver 270 can identify changes in azimuth and/or elevation of the external object relative to the radar transceiver 270.
Although
The transmitter 304 of the electronic device 300 transmits a signal 314 to the target object 308. The target object 308 is located a distance 310 from the electronic device 300. For example, the transmitter 304 transmits a signal 314 via an antenna. In certain embodiments, the target object 308 corresponds to an external object (such as a human body part or a protective case of the electronic device 300). The signal 314 is reflected off of the target object 308 and received by the receiver 306, via an antenna. The signal 314 represents one or many signals that can be transmitted from the transmitter 304 and reflected off of the target object 308. The processor 302 can identify the information associated with the target object 308, such as the speed the target object 308 is moving and the distance the target object 308 is from the electronic device 300, based on the receiver 306 receiving the multiple reflections of the signals, over a period of time.
Leakage (not shown) represents radar signals that are transmitted from the antenna associated with transmitter 304 and are directly received by the antenna associated with the receiver 306 without being reflected off of the target object 308.
In order to detect the target object 308, the processor 302 analyzes a time difference 312 from when the signal 314 is transmitted by the transmitter 304 and received by the receiver 306. It is noted that the time difference 312 is also referred to as a delay, as it indicates a delay between the transmitter 304 transmitting the signal 314 and the receiver 306 receiving the signal after the signal is reflected or bounced off of the target object 308. Based on the time difference 312, the processor 302 derives the distance 310 between the electronic device 300, and the target object 308. Additionally, based on multiple time differences 312 and changes in the distance 310, the processor 302 derives the speed that the target object 308 is moving. The distance 310 (also referred to as range) is described in Equation (1). In Equation (1), τ is the round-trip propagation delay of the signal 314, and c is the speed of light (about 3×108 m/s).
Although
The method 400a and the signal processing pipeline 400b are described as implemented by any one of the client device 106-114 of
The embodiments of the method 400a of
The method 400a of
In step 420, the electronic device 200 performs activity detection using radar signals. For example, the electronic device 200, transmits an RF signal, which are scattered by one or more objects in the ROI. The activity that is detected can be an activity performed in the ROI (step 410). For example, the activity in the ROI could be a user performing a gesture that instructs the electronic device 200 to perform an action. For another example, the activity in the ROI could be the presence of an object which is used for proximity detection. For yet another example, the activity in the ROI could at least a part of a person for monitoring vitals of the person.
In certain embodiments, the radar signals are UWB signals. For example, a UWB pulse can be transmitted from the TX (such as the transmitter 304 of
Specifically, for a given RX antenna, when a pulse is transmitted, the radar receives its echoes reflected from the target. The distance from the antenna to the target can be expressed as described in Equation (2), below. In Equation (2), the expression do is the nominal distance between antenna and the object, and d(t) represents the displacement caused by target activity or motion.
s(t)=d0+d(t) (2)
The normalized received pulse is denoted by δ(t), and the total impulse response is described in Equation (3), below. In Equation (3), t is the observation time and τ is the propagation time. The expression ‘Akδ(τ−τk(t))’ denotes the response due to target activity or motion with propagation time τk(t) and amplitude Ak. The expression ΣiAiδ(τ−τi) denotes the response from all multipath components, with Ai being the amplitude of the ith multipath component, and τi being the propagation time of the ith multipath component. The propagation time τk(t) is determined by the antenna distance s(t), and described in Equation (4), below. In Equation (4), c is the speed of light (about 3×108 m/s).
In certain embodiments, the firmware of the UWB radar module samples the continuous-time total impulse response r(t,τ) and generates a two-dimensional (2D) n×m matrix, denoted by h[n, m], described in Equation (5), below. In Equation (5), ‘n’ and ‘m’ represent the sampling numbers in slow time and fast time, respectively. Ts is the pulse duration in slow time, and Tf is the fast time sampling interval. Hence, as shown in
h[n,m]=r(t=nTs,τ=mTf) (5)
In step 430, the electronic device 200 identifies raw signal measurements from the received radar signals. For example, the received signal(s) is processed, in step 430, to obtain the raw CIR. The raw RIC can include contributions from the target of interest, objects that are not or interest (clutter), and time-varying hardware impairments.
In step 440, the electronic device 200 removes impairments. Impairments can include noise and/or leakage. For example, the contributions of clutter and hardware impairments such as leakage are filtered in step 440 from the raw CIR. Removing impairments is described in
The received signal can include ‘clutter,’ which are reflections of the TX UWB pulse due to static or very slow-moving objects in the vicinity of the target. In certain embodiments, the electric device 200 uses a high-pass IIR filter to suppress the clutter components. Intuitively, slow moving targets in the environment manifest as low-Doppler/low-frequency components in the CIR, and therefore a high pass IIR filter is effective for filtering out reflections of the TX UWB pulse due to static or very slow-moving objects. In the time domain, the ‘clutter-removed CIR’ hc,i[n, m] can be described in Equation (6), below.
h
c,i[n,m]=hi[n,m]−ci[n,m] (6)
The ci[n, m] is the estimated clutter for the ith RX antenna. One of the estimation method is described in Equation (7), below. In Equation (7), a is the clutter filter parameter, which controls the high pass filter response. α has to be within the range from 0 to 1.
c
i[n,m]=αci[n−1,m]+(1−α)hi[n,m] (7)
The z-transform of the clutter removal filter is described in Equation (8), below.
The graph 510 as illustrated in
In step 450, the electronic device 200 detects whether an activity occurred within the ROI of the radar. The electronic device 200 utilizes the CIR peak and/or average power signatures and Doppler-based features to detect an activity for activity detection.
In certain embodiments, the electronic device 200 can perform three separate tasks for detecting an activity, including (i) identifying features (step 452 of
In certain embodiments, the electronic device 200 continually detects for an activity within the ROI. In other embodiments, the electronic device 200 detects for an activity following a schedule or a triggering event.
During the activity detection operation, the electronic device 200 can reject unwanted movements to avoid triggering the computationally demanding gesture recognition. For example, if the electronic device 200 performs gesture recognition for any activity, would use a significant amount of processing power. As such, the activity detection of step 450 simply determines whether the detected activity could correspond to a gesture.
Using the cropped CIR, the electronic device 200, in step 470, performs post activity radar signal processing. The post activity radar signal processing extracts activity-specific features and executes an appreciate function. For example, the electronic device 200, can perform a ML classification to identify the activity. The electronic device 200 can then perform a task (function) corresponding to the identified activity. In certain embodiments, the electronic device 200 can perform three separate tasks for detecting an activity, including (i) identifying features, (ii) performing a ML based inference to recognize the detected activity, and (iii) performing a task corresponding to the activity-based recognition.
It is noted that by detected an activity before identifying the gesture associated with the activity minimize the latency induced by the activity detection, control the detect ion rate and reduce the false alarm rate.
The signal processing pipeline 400b as illustrated in
As illustrated in the signal processing pipeline 400b, raw CIR stream 430a is obtained. The raw CIR stream 430a can be similar to the raw signal measurements identified in step 430 of
In certain embodiments, the activity detection branch 450a is configured to detect larger and faster movements (gestures) with low latency as compared to the feature generation branch 460. That is, Doppler information is heavily attenuated during the clutter removal of step 442. In contrast, the feature generation branch 460 preserves low-Doppler information as long as the frequency content is will separated from the clutter during the clutter removal of step 444.
The clutter removal of steps 442 and 444 are similar to the step 440 of
The activity detection branch 450a converts the filtered CIR into low-complexity features including but not limited to instantaneous power, range-slow-time power map, and the like. Second, the activity detection branch 450a uses a memory buffer to store these values, typically in a 1D or 2D array. The activity detection branch 450a processes a time-series of one or more of these features to determine whether there is target activity in the ROI of the radar and crops the filtered CIR based on a determined ‘start’ and ‘stop’ times of the activity in the ROI. Finally, the activity detection branch 450a forwards the segmented CIR to post-activity radar processing 470, which extract activity-specific features and execute the appropriate functionality.
In step 452, the electronic device 200 identifies activity detection features. The identified features are then stored in a buffer (step 454).
In certain embodiments, the electronic device 200 identifies features including a 1D feature CIR (instantaneous) power. The 1D feature CIR (instantaneous) power is described in Equation (9), below. For example, as described in Equation (9), the 1D feature CIR is identified by taking a sum along the range (or fast time) domain.
P
i[n]=Σm=1N
The time series of CIR powers are stored in an activity buffer (step 454). In certain embodiments, the buffer of step 454 can be similar to the memory 260 of
In certain embodiments, the time series of CIR powers are in an activity buffer, Pbuf[n], and described in Equation (10), below. For example,
P
buf,i[n]=[Pi[n−Nbuf+1],Pi[n−Nbuf+2], . . . ,Pi[n−1],Pi[n]]T (10)
In certain embodiments, in addition to (or in alterative of) identifying the 1D feature CIR (instantaneous) power, the electronic device 200 can identify another feature in step 452. For example, the other feature generated in step 452 is the range-slow-time power map for the ith RX antenna, which can be expressed as |hi[n, m]|2. The range-slow-time power map for all the RX antennas can also be stored in a buffer, such as the activity buffer, (step 454). As described in further detail below, short-term average power (STA(n)) and the long-term average power (LTA(n)) for each slow-time index n can be obtained.
The features (such as one or more of the low-complexity features identified in step 452), which are stored in the buffer (step 454), can be used by the electronic device 200 to (i) determine whether there is target activity in the ROI of the radar, (ii) determine the ‘start’ and ‘stop’ times of the activity of interest, (iii) crop (segment) the CIR acquired in the time duration defined by the ‘start’ and ‘stop’ times, and (iv) trigger the post-processing blocks of the radar system to achieve the desired functionality.
In step 456, the electronic device crops (also referred to as segments) the low-complexity features stored in the buffer. For example, the electronic device 200 can remove portions of the identified features that occur before the identified start time of the activity. Similarly, the electronic device 200 can remove portions of the identified features that occur after the identified end time of the activity. The activity-related CIR segmentation is discussed in greater detail below, such as in reference to
In certain embodiments, a time series of both short-term average power-based features and long-term average power-based features (collectively referred to as “time series of features”) are obtained from filtered CIRs of the activity detection branch 450a. A start time and a stop time of the target activity in the radar's ROI are obtained based on tracking statistical properties of the time series of features. By tracking the statistical properties of both short-term average power-based features and long-term average power-based features can provide accurate and timely determination of the start time and the stop time of the detected activity.
In certain embodiments, when the electronic device 200 determines that an activity is detected in the activity detection branch 450a, a trigger signal 458 is generated. In certain embodiments, the trigger signal 458 can include an indication that an activity was detected. In certain embodiments, the trigger signal 458 can include an indication of the start time and end time of the activity.
After the clutter is removed (step 444) in the feature generation branch 460, the electronic device 200 generates features (step 462). In step 462, the electronic device 200 generates features that preserve low-Doppler information. The generated features (of step 496) are stored in a buffer (step 464). The buffer of step 464 can be similar to the memory 260. In certain embodiments, the buffer of step 464 is a separate buffer than the buffer of step 454.
In certain embodiments, the electronic device 200 tracks statistical properties of the time series of features that occurs after: (i) a timeout interval (also denoted as a time-out condition) has expired; and (ii) when the maximum CIR power is greater than the maximum CIR power recorded during a previously-detected activity. The electronic device 200 utilizes a time-out condition ensure that extraneous activity detected in the immediate aftermath of target activity in the radar's ROI do not trigger the trigger signal 458 during the timeout interval, thereby mitigate false alarms that can occur during the timeout interval. The timeout condition is described in greater detail in
In certain embodiments, a gating condition check 480 is performed based on the activity detection branch 450a and the feature generation branch 460. For example, after obtaining the start and stop times, the filtered CIRs and/or the time series of features are segmented based on the start and stop times. However, the segmenting occurs only when certain gating conditions are met, and the gating conditions can be based on (i) power-weighted Doppler features; and/or (ii) short-term average power features. The gating condition check 480 (which are post-activity condition checks that are executed after the activity detection branch 450a detects an activity) mitigates false alarms that can occur during other time durations (i.e., durations other than the timeout interval).
In step 482, the electronic device 200 identifies one or more gating features from the features stored in the buffer of step 464. The identification of the one or more gating features is described in
In response to receiving the trigger signal 458, the electronic device 200, in step 484, determines whether one or more of the gating features satisfies a condition. When the trigger signal 458 is not received (such as when the activity detection branch 450a does not detect an activity) or when one or more of the gating features does not satisfies a condition, no action is performed (step 492).
Alternatively, when (i) the trigger signal 458 is received and (ii) one or more of the gating features satisfies a condition, the electronic device 200 in step 490 crops the features stored in the buffer of step 464. The electronic device can crop the features stored in the buffer of 464 based on the identified start and stop times of the activity (as identified in the activity detection branch 450a). The features are cropped such that a post-activity radar signal processing 470a receives information corresponding to an activity (gesture) over a certain time.
In step 472, the electronic device 200 performs a classification to classify an activity based on the cropped features. In certain embodiments, a ML classifier classifies the activity based on the cropped features. For example, the electronic device 200 can recognize the gesture. After the activity is classified, the electronic device 200, in step 474, performs an activity corresponding to the recognized task. The post-activity radar signal processing 470a can be similar to the step 470 of
Although
The method 600 of
The embodiments of the method 600 of
As described above, the activity detection operation of the step 450 of
In certain embodiments, there can be multiple states during an activity detection operation, based on whether an activity-related CIR is performed. The states can include a begin state (also referred to as a start state), a track state, and an end state.
The begin state is the default state of the activity detection. In this state, the activity detection operation checks if the starting point of the activity is detected, and transitions to the track state if the starting point of the activity is detected (e.g., when appropriate conditions are satisfied). Otherwise, the activity detection operation remains in the ‘begin’ state.
In the track state, the activity detection operation tracks the feature(s) of interest as the user activity progresses. This state is used to update the operation of the activity detection based on the of the activity's progress, such as by, by updating the conditions based on the current feature(s), which will be used to detect the stopping point reliably. This tracking is performed for a configurable duration of time, which is based on the anticipated duration of the underlying activity of interest. Once this interval has elapsed, the activity detection operation transitions into the end state.
In the end state the activity detection operation checks if the stopping point of the activity is detected. If true, the activity detection operation transitions into the begin state, and starts searching for the starting point of the subsequent activity. Otherwise, the activity detection operation remains in the ‘end’ state.
The method 600 of
In step 612 the electronic device 200, while performing activity detection starts in the being state. In step 614, the electronic device 200 determines whether an activity is detected. The activity can be detected based on a predefined criteria such as described in step 638 of
In step 618, the electronic device 200 determines whether a tracking duration expired. The tracking duration can be a predefined time for tracking. When the tracking duration has not expired, the electronic device 200 continues to track the activity (gesture). Alternatively, when the tracking duration expired, the electronic device 200 changes from the track state to the end state (step 620).
In step 622, the electronic device 200 determines whether a stopping activity is detected. The stopping activity can be based on predefined criteria such as described in step 644 of
The method 630 as illustrated in
In step 430b, the electronic device 200 obtains raw CIR vectors at time n. The raw CIR vectors at time n can correspond to a single raw radar measurement of step 430 of
In step 442a, the electronic device 200 removes impairments such as clutter and leakage. The step 442a is similar to the step 430 of
In certain embodiments, the electronic device 200 converts the buffered CIR (stored in step 632) to one or more values by computing the instantaneous or window-averaged power. It is noted that the buffer of step 442a, the buffer of step 634, or both buffers (the buffer of step 442a and the buffer of step 634) can be part of the activity detection branch 450a. For example, the electronic device 200, in step 634 could store Pbuf,i[n], as described in Equation (9), above in a buffer.
In step 636, the electronic device 200 identifies statistics of the features within the buffers. These statistics are used to check if all the conditions for ‘activity start’ (step 638) and ‘activity stop’ (step 644) have been met.
In certain embodiments, the statistics are a ratio of STA to LTA. Statistics based on a ratio of STA to LTA as described in
Upon detecting the start of an activity, the buffer for feature generation is triggered (step 640) and accumulation of the most up-to-date CIRs are initiated (step 642). Upon detecting the stop of activity, the buffer accumulation is terminated, and the buffered CIRs are post-processed (step 470) to execute the appropriate functionality. Upon determining that no activity started (step 638) or after a determination that the activity is not stopped (step 644), the electronic device 200 increases the value of n, in order to obtain a new CIR vector corresponding to a subsequent time, n.
The method 700, as illustrated in
In certain embodiments, activity detection operation (of step 450 of
In step 704, the electronic device 200 obtains at the most recent CIR vector Hc[n]. the vector can be obtained from the buffer of step 632 of
Here, in Equations (11) and (12), the LTA window L2 is larger than STA window L1. For example, STA reflects power changes due to an activity faster than LTA For example, the short-term average power STA(n) and the long-term average power LTA(n) can be obtained using the processing pipeline described in the diagram 520 of
As illustrated in
In step 708, the electronic device 200 determines whether the expression istart is set to zero. Upon a determination that istart is set to zero (as determined in step 708), the electronic device 200 in step 710 determines whether a start of an activity is detected, based on a comparison of the STA and LTA to predefined thresholds. For example, the electronic device 200 determines whether Equations (13) and (14) are satisfied.
Upon a determination that Equation (13) and/or equation (14) is not true, the electronic device 200, in step 714, goes to a subsequent time index. Alternatively, upon a determination that both Equations (13) and (14) are true the electronic device 200 changes the value of istart from zero (step 702) to one. In addition to changing the value of istart, the electronic device 200 identifies the start time as corresponding to the current value of n (step 712). After the value of istart is modified and the start time is identified, the electronic device 200, in step 714, goes to a subsequent time index and obtains a new CIR vector corresponding to the updated time index (step 704). A new STA value and LTA value are identified based on the new CIR value (step 706).
Upon a determination that istart is not set to zero (as described in step 708), the electronic device 200 in step 716 determines whether istart is set to one (as described in step 712) and whether istop is set to zero (as described in step 702). When istart is not set to zero, istop is not set to zero, or both, then the electronic device 200, in step 714, goes to a subsequent time index.
Alternatively, when both istart is set to one (as set in step 712) and istop is set to zero (as described in step 702), the electronic device 200, in step 718, determines whether the activity stopped, based on a comparison of the STA and LTA to predefined thresholds. For example, the electronic device 200 determines whether Equations (15) and (16) are satisfied.
Upon a determination that Equation (15) and/or equation (16) are not true, the electronic device 200, in step 714, goes to a subsequent time index. Alternatively, upon a determination that both Equations (15) and (16) are true the electronic device 200 changes the value of istop to one, changes the value of istart to zero, and identifies the stop time as corresponding to the current value of n (step 720).
After the value of istop and istart are modified and the stop time is identified, the electronic device 200, in step 722, crops the CIR buffer between the identified start time (as identified in step 712) and the identified stop time (as identified in step 720). In step 724, the electronic device 200 sets the expression istop to zero. Finally, the cropped features are forwarded the post-activity radar processing 470, which extracts activity-specific features and executes the appropriate functionality.
As an alternative embodiment, the STA and LTA can also be identified using an exponential moving average filter (EMA) similar to the CIR clutter removal process. Here, the expression αSTA<αLTA and initialized with STA(0)=LTA(0)=0 or STA(0)=LTA(0)=Pi(0).
STA(n)=αSTA·STA(n−1)+(1−αSTA)·Pi(n) (17)
LTA(n)=αLTA·LTA(n−1)+(1−αLTA)·Pi·(n) (18)
In certain embodiments, during the activity detection operation can use max to min CIR power ratio-for detecting an activity, in addition to (or in alternative of) using a ratio of LTA and STA the electronic device.
The signal processing pipeline 800a as illustrated in
As described above, clutter is removed from the raw CIR vectors using Equation (6) and Equation (7). For the feature generation branch 460a, it is noted that in step 444a, the filter parameter is denoted as αfeat. As such, if clutter removed CIR is denoted as hc,feat[n, m], then the short-term power CIR identified in step 462a, which is described in Equation (19), below:
In step 464a, a vector of these moving-averaged power values is then used to create a feature buffer Pfeat[n] of length Nfeat. The feature buffer, Pfeat[n], is described in Equation (20), below.
P
feat[n]=[Pfeat[n−Nfeat+1],Pfeat[n−Nfeat+2],Pfeat[n−1],Pfeat[n]]T (20)
For the activity detection branch 450a, clutter is removed from the raw CIR vectors using Equation (6) and Equation (7). For the activity detection branch 450a of
If the output of the step 442a is denoted as hc,ADM[n, m], then in step 452a, the STA CIR power denoted by PADM[n] is described in Equation (21), below.
In step 454a, a vector of these moving-averaged power values is then used to create an activity detection operation buffer PADM[n] of length NADM, as described in Equation (22), below.
P
ADM[n]−[PADM[n−NADM+1],PADM[n−NADM+2], . . . ,PADM[n−1],PADM[n]]T (22)
The vector PADM[n] can be the input to the step 456a, which crops the activity related CIR based on the identified start time of the activity and the stop time of the activity. As described above, in processing the vector PADM[n], the activity detection branch 450a operates in one out of three states at any given point of time. For example, in a begin state (where the activity detection operation is searching for a start of an activity in the ROI of the radar), a track state (where the activity detection operation found the starting point and is idle while acquiring statistics of the most recent CIR power), and the end state (where the activity detection operation checks to determine if the activity stopped).
In step 490a, when the activity detection branch 450a indicates that an activity is detected (including a start time and an end time of the activity), the features generated from the feature generation branch 460a are cropped based on the identified start and end time. In step 470, the electronic device 200 processes the radar signal corresponding to the cropped features to identify the activity (gesture) performed.
The method 800b as illustrated in
falls below an adaptive threshold that is calculated using the parameter γe and the highest max-to-min CIR power ratio during the ‘track’ state, which is given by
The second condition specifies that the index corresponding to the maximum CIR power in PADM[n] is smaller than that of the minimum CIR power. Once this end point is detected, the features from the feature buffer Pfeat[n] are segmented between the estimated start and stop points and forwarded to the ML classifier of step 470. On the other hand, if the activity endpoint is still not detected after a time telpsd has elapsed since the start point of the activity was detected, the activity is deemed to be finished, the features from the feature buffer Pfeat[n] are segmented (step 830) and fed to the ML classifier. It is noted that steps 808, 818, and 824 can correspond to the statistics that are identified in step 636 of
In step 802, the electronic device 200 initializes the expression tcnt to zero and telpsd to zero. The electronic device 200 also sets the status to the begin state. In step 804, the electronic device 200 updates the power buffer Padm[n] using the latest CIR. That is, during the activity detection operation (such as step 450 of
In step 806, the electronic device 200 determines whether the status is set to the begin state. When the status of the electronic device 200 is set to begin state (as determined in step 806), the electronic device 200 sets various parameters based on the Padm[n] (step 808). One of the parameters the electronic device 200 sets is Pmax,b to max(PAMD[n]). Another one of the parameters the electronic device 200 sets is Pmin,b to min(PAMD[n]). Another one of the parameters the electronic device 200 sets is nmax,b to
Yet another one of the parameters the electronic device 200 sets is nmin,b to
It is noted that the suffix ‘b’ corresponds to the begin state. Similarly, the suffix ADM corresponds to activity detection operation.
In step 810, the electronic device 200 determine whether two conditions are satisfied. For the first condition, the electronic device 200 determines whether the ratio of Pmax,b to Pmin,b is greater than a predefined threshold, γb. For the second condition, the electronic device 200 determines whether nmax,b is greater than nmin,b. The first condition is denoted in Equation (23), below, and the second condition is described in Equation (24), below.
Upon a determination that Equation (23), Equation (24), or both Equations (23) and (24) are not true, the electronic device 200 in step 814, goes to the next time index by increasing the value of n, and step 804 is repeated thereafter. Alternatively, upon a determination that both Equations (23) and (24) are true (as determined in step 810) the electronic device 200 in step 812 changes the status from the begin state (as set in step 802) to track state. The electronic device also modifies the values of various parameters, such that tcnt becomes tcnt+1 (as set in step 802), telpsd becomes telpsdd+1 (as set in step 802), and nb becomes nmin,b. After updating the status and the parameters, the electronic device 200 in step 814 goes to the next time index by increasing the value of n, and step 804 is repeated thereafter.
In response to a determination that the status is not set to the begin state (as determined in step 806), the electronic device 200 in step 816 determines whether the status is set to the track state. When the status of the electronic device 200 is set to track state (as determined in step 816), the electronic device 200 modifies and/or sets various parameters (step 818). One of the parameters the electronic device 200 sets is tcnt to tcnt+1. Another one of the parameters the electronic device 200 sets is telpsd to telpsd+1. Another one of the parameters the electronic device 200 sets is Ppks to peaks(PADM[n]). Yet another one of the parameters the electronic device 200 sets is Pmax,t to max(Ppks).
In step 820, the electronic device 200 determine whether two conditions are satisfied. The first condition is described in Equation (25) and the second condition is described in Equation (26).
{Pmax,t≥Pmax,b} (25)
{tcnt≥nt,th} (26)
Upon a determination that Equation (25), Equation (26), or both Equations (25) and (26) are not true (as determined in step 820), the electronic device 200 in step 814, goes to the next time index by increasing the value of n, and step 804 is repeated thereafter. Alternatively, upon a determination that both Equations (25) and (26) are true (as determined in step 820) the electronic device 200 in step 822 changes the status from the track state (as set in step 822) to end state. The electronic device also modifies the values of various parameters, such that tcnt to zero. After updating the status and the parameters, the electronic device 200 in step 814 goes to the next time index by increasing the value of n, and step 804 is repeated thereafter.
In response to a determination that the status is not set to the track state (as determined in step 816), the electronic device 200 in step 824 modifies and/or sets various parameters. One of the parameters the electronic device 200 sets is Pmax,e to max(PAMD[n]). Another one of the parameters the electronic device 200 sets is Pmin,e to min(PAMD[n]). Another one of the parameters the electronic device 200 sets is nmax,e to
Yet another one of the parameters the electronic device 200 sets is nmin,e to
It is noted that the suffix ‘e’ corresponds to the end state.
In step 826, the electronic device 200 determine whether one of the two conditions are satisfied. The first condition is described in Equation (27) and the second condition is described in Equation (28).
Upon a determination that both Equation (27) and Equation (28) are not true (as determined in step 826), the electronic device 200 in step 814, goes to the next time index by increasing the value of n, and step 804 is repeated thereafter. Alternatively, upon a determination either Equations (27) or (28) are true (as determined in step 826) the electronic device 200 in step 828 changes the status from the end state (as set in step 822) to begin state. The electronic device also modifies the values of various parameters, such that ne becomes nmin,e and telpsd becomes zero. After updating the status and the parameters, the electronic device 200 performs the post activity radar signal processing of step 470.
Although
The signal processing pipeline 900a of
The embodiments of the signal processing pipeline 900a of
Embodiments of the present disclosure take into consideration that for instantaneous activity detection use-cases such as gesture recognition, the post-activity user motion can trigger the activity detection operation (via the activity detection branch 450a of
The STA and LTA ratio (as described in
The 456b, of
The method 900b as illustrated in
In step 902, the electronic device 200 initializes the expression n to zero, tcnt to zero, timeout to zero, ttmt to zero, telpsd to zero, Pmax,prev to negative infinity, and Pmax,prev to base infinity. The electronic device 200 also sets the status to the begin state. In step 904, the electronic device 200 updates the power buffer Padm[n] using the latest CIR. That is, during the activity detection operation (such as step 450 of
In step 906, the electronic device 200 determines whether the status is set to the begin state. When the status of the electronic device 200 is set to begin state (as determined in step 906), the electronic device 200 sets various parameters based on the Padm[n] (step 908). One of the parameters the electronic device 200 sets is Pmax,b to max(PAMD[n]). Another one of the parameters the electronic device 200 sets is Pmin,b to min(PAMD[n]). Another one of the parameters the electronic device 200 sets is nmax,b to
Another one of the parameters the electronic device 200 sets is nmin,b to
Yet another one of the parameters the electronic device 200 sets is Pmax to Pmax,b, as well as Pmax,base to Pmax,b. It is noted that the suffix ‘b’ corresponds to the begin state. Similarly, the suffix ADM corresponds to activity detection operation.
In step, 910 the electronic device 200 determines whether the value of the expression, timeout, is equal to zero. In response a determination that the value of the expression, timeout, is zero, the electronic device in step 920 determines whether two conditions are satisfied. The first condition is denoted in Equation (23), above, and the second condition is described in Equation (24), above.
Upon a determination that Equation (23), Equation (24), or both Equations (23) and (24) are not true, the electronic device 200 in step 922, goes to the next time index by increasing the value of n, and step 904 is repeated thereafter. Alternatively, upon a determination that both Equations (23) and (24) are true (as determined in step 920) the electronic device 200 in step 924 changes the status from the begin state (as set in step 902) to track state. The electronic device also modifies the values of various parameters, such that tcnt becomes tcnt+1 (as set in step 902), telpsd becomes telpsdα1 (as set in step 902), and nb becomes nmin,b. After updating the status and the parameters, the electronic device 200 in step 922 goes to the next time index by increasing the value of n, and step 904 is repeated thereafter.
In response to a determination that the expression timeout is not zero (as determined in step 910), the timeout condition check 901 is initiated. In step 926, the electronic device 200 determines whether the two conditions are satisfied. For the first condition, the electronic device 200 determines whether the value of the expression timeout is equal to one. For the second condition, the electronic device 200 determines whether the expression ttmt is less than ntmt,th.
Upon determining that one or both of the conditions are not true (as determined in step 926), the electronic device 200 in step 928 sets the expression timeout to zero and sets the expression ttmt to zero. Then in step 922, the electronic device 200 goes to the next time index by increasing the value of n, and step 904 is repeated thereafter. Alternatively, upon a determination that both of the conditions are true (as determined in step 926), the electronic device 200 in step 928 sets the expression ttmt to ttmt+1.
In step 932, the electronic device 200 determine whether the following three conditions are satisfied. The first condition is described in Equation (29), the second condition is described in Equation (30), and the third condition is described in Equation (31).
Upon a determination that at least one of the three conditions as described in Equation (29), Equation (30), and Equation (31) is not true (as determined in step 932), the electronic device 200 in step 922, goes to the next time index by increasing the value of n, and step 904 is repeated thereafter. Alternatively, upon a determination that all three conditions are true (as determined in step 932), the electronic device 200 in step 924 changes the status from the begin state (as set in step 902) to track state. The electronic device also modifies the values of various parameters, such that tcnt becomes tcnt+1 (as set in step 902), telpsd becomes telpsd+1 (as set in step 902), and nb becomes nmin,b. After updating the status and the parameters, the electronic device 200 in step 922 goes to the next time index by increasing the value of n, and step 904 is repeated thereafter.
In response to a determination that the status is not set to the begin state (as determined in step 906), the electronic device 200 in step 934 determines whether the status is set to the track state. When the status of the electronic device 200 is set to track state (as determined in step 934), the electronic device 200 modifies and/or sets various parameters (step 936). One of the parameters the electronic device 200 sets is tcnt to tcnt+1. Another one of the parameters the electronic device 200 sets is telpsd to telpsd+1. Another one of the parameters the electronic device 200 sets is Ppks to peaks(PADM[n]). Yet another one of the parameters the electronic device 200 sets is Pmax,t to max(Ppks).
In step 938, the electronic device 200 determines whether the condition as described in Equation (32) is satisfied.
{Pmax,t≥Pmax} (32)
Upon a determination that Equation (32) is satisfied (as determined in step 938), the electronic device 200 sets Pmax to Pmax,t (step 940). After the electronic device 200 sets Pmax to Pmax,t (step 940) or in response to a determination that Equation (32) is not satisfied (as determined in step 938), the electronic device 200 determines whether two conditions are satisfied (step 942). The first condition is described in Equation (25) above, and the second condition is described in Equation (26) above.
Upon a determination that at least one of the Equations (25) and (26), are not true (as determined in step 942), the electronic device 200 in step 922, goes to the next time index by increasing the value of n, and step 804 is repeated thereafter. Alternatively, upon a determination that both Equations (25) and (26) are true (as determined in step 942) the electronic device 200 in step 944 changes the status from the track state (as set in step 924) to end state. The electronic device also modifies the values of various parameters, such that tcnt to zero. After updating the status and the parameters, the electronic device 200 in step 922 goes to the next time index by increasing the value of n, and step 904 is repeated thereafter.
In response to a determination that the status is not set to the track state (as determined in step 934), the electronic device 200 in step 946 modifies and/or sets various parameters. One of the parameters the electronic device 200 sets is Pmax,e to max(PAMD[n]). Another one of the parameters the electronic device 200 sets is Pmin,e to min(PAMD[n]). Another one of the parameters the electronic device 200 sets is nmax,e to
Yet another one of the parameters the electronic device 200 sets is nmin,e to
It is noted that the suffix ‘e’ corresponds to the end state.
In step 948, the electronic device 200 determine whether one of the two conditions are satisfied. The first condition is described in Equation (27), above, and the second condition is described in Equation (28), above.
Upon a determination that both Equation (27) and Equation (28) are not true (as determined in step 948), the electronic device 200 in step 922, goes to the next time index by increasing the value of n, and step 904 is repeated thereafter. Alternatively, upon a determination either Equations (27) or (28) are true (as determined in step 948) the electronic device 200 in step 950 changes the status from the end state (as set in step 822) to begin state. The electronic device also modifies the values of various parameters, such that ne becomes nmin,e and telpsd becomes zero, the expression timeout is set to the value of one, and the expression Pmax,prev is set to Pmax. After updating the status and the parameters, the electronic device 200 crops the features between the slow time indices nb and Ne (step 952). The electronic device 200 then performs the post activity radar signal processing of step 470.
Although
The method 1000 of
The embodiments of the methods 1000, 1040, 1050, and 1060 of
The timeout conditions as described with reference to
The method 1000 as illustrated in
After the clutter is removed in step 444, the block 1001 obtains hc,i[n,m]. In step 1002, the electronic device 200 stores the features in a buffer. In step 1004, the electronic device 200 identifies a spectrogram. The spectrogram can be based on a slow-time fast Fourier transform (FFT), as illustrated in the diagram 1020 of
In step 1005, the electronic device 200 identifies the range profile (RP). Analogous to the TVD, the spectrogram information can be quantized into the range-slow time domain to yield the range profile (RP), in Equation (34), below.
In step 1014, the electronic device 200 selects a range bin. In certain embodiments, one way to select the range bin of interest mTVD is by finding the range bin corresponding to peak range profile value.
In step 1006, the electronic device 200 identifies a time velocity diagram (TVD). For example, using the DC-nulled spectrogram, the time velocity diagram, TDV[n,k] is a 2D matrix that is obtained by slicing the 3D spectrogram at the range bin(s) of interest. If the range bins of interest are mTVD, then the corresponding TVD is described in Equation (35), below.
In step 1008, the electronic device 200 identifies the power-weighted Doppler (PWD). For example, the 2D TVD can be further quantized into a 1-dimensional metric termed as the PWD. It is noted PWD[n], is defined at each slow time index as and described in Equation (36), below.
It is noted that PWD is defined as the centroid of the TVD along the Doppler dimension. However, this definition leads to counterintuitive values when the TVD is symmetric. For instance, PWD [n]≈0 when the TVD is symmetric, indicating the presence of a static target irrespective of the power distribution across the Doppler domain in TVD [n]. To avoid such situations, PWD can also be described by Equation (37), below. In Equation (37), the weightage using Ike (instead of k in Equation (34)) ensures that the second term is always positive. The sign of PWDabs[n] is obtained by computing the sign of PWD [n] in Equation (34).
Similar to the CIR power, consecutive PWD values can be stored in a buffer described in Equation (38), below, of size NPWD. Using this buffer, a few exemplary statistical metrics described in Equations (39) and (40), below, and illustrated in
PWD[n]=[PWD[n−NPWD+1],PWD[n−NPWD+2], . . . ,PWD[n]] (38)
Absolute Max Doppler vd,abs,max[n]=max|PWD[n] (39)
Doppler spread vd,spr[n]=max PWD[n]−min PWD[n] (40)
In step 1010, the electronic device 200 identifies one or more PWD based gating features based on the output of step 1008.
In step 1016, the electronic device 200 identifies the STA power-based gating threshold. For example, using the feature buffer Pfeat[n], at time instant n, the contents of the buffer can be mapped to a gating feature. An exemplary feature is given by the maximum to the minimum STA power ratio γfeat[n], as described in Equation (41), below.
In step 1018, the electronic device 200 identifies the STA power. This can be similar to the step 706 of
In certain embodiments, the electronic device 200 can identify additional features that are used for gating. For example, a range doppler frame (RDF) can be used. The RDF is described in Equation (42), below and illustrated in the diagram 1028 of
In certain embodiments, an STA power-ratio based gating condition is used for gating. For example, when an activity is performed, the STA power buffer Pfeat[n] includes entries that correspond to the clutter (i.e., before or after the activity is performed), and the signal corresponding to the activity. Thus, the parameter γfeat[n] is an estimate of the signal-to-clutter-plus-noise ratio (SCNR) when the activity is ideally detected.
The method 1040 of
The above condition as described in Equation (43) is applicable when the SCNR is strong enough in all regions of interest of the radar. On the other hand, if the radar is operating in relatively lower SCNR conditions or has regions of interest that experience different SCNR regimes, a region-based threshold can be applied to obtain a reliable gating mechanism similar to Equation (43).
As illustrated in
For example, the range bin of interest is the range bin(s) where the target is detected. The range bin of interest mgate can be identified using the range profile RP[n,m]. An example embodiments of range bin/tap selection can be based on a max-based range bin selection. Another example embodiments of range bin/tap selection can be based on a first peak-based range bin selection. In the max-based range bin selection example, the range bin is identified based on Equation (45), below. In the first peak-based range bin selection example, the range bin is identified Equation (46), below. In Equation (46), findpeaks2D(X) operation finds the 2D location of the peak in the matrix X
Once the range-dependent threshold γth,gate[m] is obtained for the target detected at range bin ‘m’, this threshold is used in the condition as described in Equation (47), below.
In certain embodiments, a doppler based gating condition is used for gating. A doppler based gating condition is used to confirm a detection of certain activities with a low false alarm rate. Such activities are characterized by relatively fast motion of objects that may or may not be the target such as if hand gestures are the activity of interest, typing into a computer, stretching after working at a desk, and the like. These example activities exhibit similar Doppler signatures but are not activities of interest. The method 1050 as illustrated in
For example, PWD based thresholding can be used for doppler based gating conditions. For instance, the features vd,abs,max[n] and vd,spr[n], are identified from the PWD buffer PWD [n] upon the detection of the end of activity, is compared with thresholds in the following manner. In the following, the segmented feature is passed to the activity classifier if id,fixed=1, where id,fixed is described in Equation (48). In Equation (48), the expression vd,abs,th,0 and vd,spr,th,0 are the baseline thresholds for the absolute max Doppler and Doppler spread, respectively.
For another example, post-activity false alarm reduction using timeout-aided adaptive thresholding can be used for doppler based gating conditions. For instance, some activities have distinct post-activity movements that are often not of interest to the activity classifier, (such as for target putting the hand down after finishing a gesture, target sitting down after finishing an activity, and the like). Such activities often have certain characteristics such as (i) weaker Doppler signature when compared to the main activity (e.g., gesture, intense exercise, etc.) for a single user and (ii) the range of values corresponding to post-activity Doppler activity have a significant overlap with the main activity when compared across multiple users. Therefore, embodiments of the present disclosure take into consideration that it is hard in practice to differentiate the main activity from post-activity Doppler signatures using a single threshold for each Doppler-based feature. Accordingly, embodiments of the present disclosure describe that the misdetection of these post-activities are suppressed by temporarily increasing the Doppler threshold (relative to the baseline threshold value in Equation (47)) within a fixed timeout interval. This is motivated by typical user behavior is activities such as gestures where the user performs the post-activity motion at a relatively slower speed when compared to the immediately preceding main activity.
As described in
Once the timeout duration is completed, the timeout counter (td,g,th) is reset, and the PWD-based thresholds are restored to the baseline values of vd,abs,th,0 and vd,spr,th,0 respectively.
In certain embodiments, different gating conditions can be combined, as described in the method 1060 as illustrated in
Although
The method 1150 of
The diagram 1100 as illustrated in
In certain embodiments, features for a single RX antenna are generated by using the RDF directly. In other embodiments, features for a single RX antenna are generated by quantizing it either (i) along the Doppler domain, by selecting a subset of the Range-Doppler map for each slow-time index of the segmented CIR, or (ii) along the range domain, by tap/range bin selection.
In certain embodiments, spatial information can also be obtained in a multi-RX radar system by using digital beamforming on the CIRs hc,i[n, m] as
or on the Range-Doppler map Hc,i[n, m, k] as
where θ is the beamforming angle and di is the distance to the 1st antenna. An example for generating the Range-Doppler Angle map (RDAM) is described in the diagram 1110 of
The cube-like element shown in
In step 1104 (of
With regards to ML-based inference (of step 1104), a ML-based gesture recognition classifier can be used. Classification of the gesture is performed using deep learning classifiers or classical machine learning classifiers. In the first embodiment, a convolutional neural network (CNN) with long short-term memory (LSTM) is used for gesture recognition. In an alternate embodiment, the classifiers can include but are not limited to support vector machine (SVM), K-Nearest Neighbors (KNN), and combined classifiers of CNN with others CNN+Recurrent Neural Network (RNN), CNN+KNN, CNN+SVM, CNN+Auto-Encoder, and CNN+RNN with Self-attention module. Classifiers receive processed UWB Radar signals and then recognize gestures.
Diversity of training data can improve the robustness of classifiers. Since one gesture can have different patterns performed by subjects, training data can be collected by multiple subjects. Signals of UWB Radars vary with distance and environment. Data can be collected at numerous distances between devices and gestures and in different environments such as open spaces or cluttered rooms to increase data variance.
Classification can use features extracted from CIR: (i) RDF, (ii) RDAF, (iii) time-velocity-diagram, and (iv) time-range-map. These features include spatiotemporal information of gestures.
In certain embodiments, a CNN+LSTM network is employed to classify gestures using feature RDF. CNN is used to extract spatial features. A convolutional layer is often followed by a batch normalization layer and a max-pooling layer. Batch normalization can reduce training time by standardizing input. The Max-pooling layer can select out features with the maximum values in one area to reduce the number of features and the training parameters in one network. Long short-term memory (LSTM) is one type of RNN and can process sequential temporal information. The architecture 1120 of
In certain embodiments, 3D CNN can be employed to classify gestures using RDF.
In certain embodiments, other architectures of a 2D CNN, a CNN+LSTM, or 3D LSTM can be used to perform gesture recognition.
Sometimes a random gesture performed by the subject might have features similar to the gestures in the class of gestures that are being detected. These random gestures, not falling in the class of gestures to be detected, are referred to as NoGestures. One way of handling with NoGestures is to collect training data for NoGestures and adding it as a class in gesture detection. If gesture recognition is associated with some application, that is if there is some action or outcome associated with each gesture, then NoGesture detection can have no action or outcome.
In certain embodiments, NoGestures detection is performed using a two-step classifier. The first classifier is trained to distinguish between gesture and NoGesture, while the second classifier is trained to classify the gestures into the correct class. During inference, if the first classifier detects a NoGesture, the final output is NoGesture. But if the first classifier detects a gesture, second classifier is used to classify that gesture. The method 1150 as illustrated in
In certain embodiments, a multi-label classification approach is used to detect NoGestures. In this approach, each gesture may belong to no class, one class or more than one class. This is done based on the output probability for each class. The classes for classification are the actual gesture classes. When the probability of one of the class lies above a certain threshold, the input gesture gets classified to that class. When the probability of more than one class is above a certain threshold, the input gesture gets classified to the class with maximum probability. And when the probability of none of the class is above that threshold, the gesture is classified as a NoGesture.
In certain embodiments, a multi-branch classification network is used for gesture classification. In multi-branch classification, each branch of network can input a different feature. Also, each branch of network can have a different architecture depending on the input of that branch. The signal diagram 1160 as illustrated in
In certain embodiments, an optimizer can be used during the machine learning to find the best parameters for the learning functions in order to reduce cost-function and improve the accuracy of one classifier. Example, Optimizer methods include, but not limited to, Adam, RMSprop, SGD, Adagrad, Nadam and meta-learning algorithm such as MAML, FOMAML and Reptile learning. For example, Reptile, which is a first-order gradient-based meta-learning algorithm can be deployed. For instance, a Reptile method can be deployed with base learners such as 3D CNN or CNN+LSTM. Results show that the classifiers trained with Reptile have a better average performance on the test set to compare with these classifiers trained with only Adam or SGD.
Although
The method 1200 is described as implemented by any one of the client device 106-114 of
In step 1202, an electronic device (such as the electric device 200) transmits signals for activity detection and identification. The electronic device 200 can also receive the transmitted signals that reflected off of an object via a radar transceiver, such as the radar transceiver 270 of
In step 1204, the electronic device 200 identifies a first set of features and a second set of features from received reflections of the radar signals. The first set of features indicate whether an activity is detected based on power of the received reflections. The second set of features include one or more features such as a time velocity diagram, a range profile, a power-weighted Doppler, and/or a first average power over a first time period. In certain embodiments, the first set of features can be identified via the activity detection branch 450a of
In certain embodiments, to identify the first set of features, the electronic device 200 removes clutter from the radar signals based on a first predefined parameter using a high pass filter. Similarly, to identify the second set of features, the electronic device 200 removes clutter from the radar signals based on a second predefined parameter using a high-pass filter. It is noted that the second predefined parameter can be larger than the first predefined parameter for removing different frequencies.
While identifying the first set of features, the electronic device 200 can also identify the start and end time of the activity. To identify the start and end times, the electronic device 200 identifies a first average power over a first time period and a second average power over a second time period. The second time period includes the first time period and is longer than the first time period. The activity start time is based at least on the first average power and the based at least in part on an expiration of a predefined period of time after the activity start time.
In some embodiments, to identify the start time and end time, the electronic device 200 uses a ratio of a short-term power average and a long-term power average. For example, to identify the activity start time, the electronic device 200 compares the second average power to a ratio of the first average power and a first predefined threshold, to generate a first result. The electronic device 200 also compares the first average power to a product of the second average power and the first predefined threshold, to generate a second result. Based on the first result and the second result, the electronic device 200 identifies the activity start time. To identify the activity end time, the electronic device 200 compares the second average power to a ratio of the first average power and a second predefined threshold, to generate a third result. The electronic device 200 also compared the first average power to a product of the second average power and the second predefined threshold, to generate a fourth result. Based on (i) the expiration of the predefined period of time, (ii) the third result, and (iii) the fourth result, the electronic device 200 identifies the activity end time.
In some embodiments, to identify the start time and end time, the electronic device 200 uses a ratio of a min CIR power to a max. For example, to identify the activity start time, the electronic device 200 compares a ratio of a maximum power to a minimum power to a first threshold to identify a first result. The electronic device 200 also determines that the maximum power occurred at a time that is after identification of the minimum power to identify a second result. Based on the first result and the second result, the electronic device 200 identify the activity start time. To identify the activity end time, the electronic device 200 compares a ratio of a maximum power to a minimum power to a second threshold to identify a third result. The electronic device 200 also determines that the maximum power occurred at a time that is before identification of the minimum power to identify a fourth result. Based on (i) the expiration of the predefined period of time, (ii) the third result and (iii) the fourth result, the electronic device 200 identifies the activity end time.
In certain embodiments, the electronic device 200 crops a portion of the second set of features based on the activity start time and the activity end time.
In certain embodiments, after the first set of features are identified the electronic device 200 determines whether another activity is detected after a time out condition expired. For example, the electronic device 200 can identify a first power value from the first set of features. The first power value represents a maximum power value over a predefined time duration. After an expiration of the predefined time duration, the electronic device 200 determines whether a second power value is larger than the first power value. It is noted that the second power value represents a maximum power value at a time instance between a start time of the predefined time duration and a current time. When the second power value is larger than the first power value, the electronic device 200 identifies that the first set of features using the received reflections between the start time of the predefined time duration and the current time, and therefore the activity is part of the original activity and not considered a new activity. Alternatively, when second power value is not larger than the first power value, the electronic device 200 identifies the first set of features using the received reflections between the start time of the predefined time duration and the expiration of the predefined time duration.
Based on the first set of features indicating that the activity is detected, the electronic device 200 in step 1206 compares one or more of the second set of features to respective thresholds to determine whether a gating condition is satisfied.
For example, after an activity end time is identified, the electronic device 200 compares a first average power associated with the activity to a predefined threshold for determining whether the gating condition is satisfied. The electronic device 200 can determine that the condition is satisfied based on a result of the comparison.
For another example, after an activity end time is identified, the electronic device 200 compare compares a maximum Doppler to a first threshold and doppler spread to a second threshold. The electronic device 200 can determine that the gating condition is satisfied based on a result of the comparison.
After determining that the condition is satisfied, the electronic device 200 can crop the portion of the second set of features based on an identified activity start time and the activity end time.
After determining that the condition is satisfied, the electronic device 200 identifies, using a machine learning classifier, a response from the cropped portion of the second set of features. The electronic device 200 can then select the action based on the response. Thereafter, the electronic device 200 performs an action corresponding to the selected action (step 1208).
Although
The above flowcharts illustrate example methods that can be implemented in accordance with the principles of the present disclosure and various changes could be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of steps, various steps in each figure could overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, steps may be omitted or replaced by other steps.
Although the figures illustrate different examples of user equipment, various changes may be made to the figures. For example, the user equipment can include any number of each component in any suitable arrangement. In general, the figures do not limit the scope of this disclosure to any particular configuration(s). Moreover, while figures illustrate operational environments in which various user equipment features disclosed in this patent document can be used, these features can be used in any other suitable system. None of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claims scope.
Although the present disclosure has been described with an exemplary embodiment, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 63/191,888 filed on May 21, 2021 and U.S. Provisional Patent Application No. 63/294,817 filed on Dec. 29, 2021. The above-identified provisional patent applications are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
63191888 | May 2021 | US | |
63294817 | Dec 2021 | US |