Patent Publication Number: US-2020292572-A1

Title: Wireless motion detection using multiband filters

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application claims the priority benefit of U.S. Provisional Patent Application No. 62/809,436 filed Feb. 22, 2019 and titled “Wireless Motion Detection Using Multiband Filters,” the disclosure of which is incorporated by reference in its entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present disclosure is generally related to wireless motion detection using multiband filters; more specifically, the present disclosure is related to the use of notch and low-pass filters to filter out unwanted signals in a wireless motion detection system. 
     2. Description of the Related Art 
     Motion detection is the process of detecting a change in the position of an object relative to its surroundings or a change in the surroundings relative to an object. Motion detection is usually a software-based monitoring algorithm which, for example when it detects motions will signal the surveillance camera to begin capturing the event. An advanced motion detection surveillance system can analyze the type of motion to see if it warrants an alarm. 
     Wi-Fi location determination, also known as Wi-Fi localization or Wi-Fi location estimation refers to methods of translating observed Wi-Fi signal strengths into locations. A radio map consisting of sets of metadata containing information about the frequency response of the channel, and/or phase response of the channel, and/or impulse response of the channel, and/or received signal strength indicators (RSSI), and/or any other statistic that describes the wireless communication link between paired devices is stored as a profile to be compared later to a signal scan to recognize the location of the device doing the scanning. 
     SUMMARY OF THE CLAIMED INVENTION 
     Embodiments of the present invention provide for filtering out unwanted signals in a wireless motion detection system. The system includes a wireless access point, an agent, a cloud network, a low-pass filter, and a notch filter. The low-pass can be on either the cloud or on the wireless access point. The notch filter can be on either the cloud or on the wireless access point. The band-stop or notch filter is implemented and works in real-time and rejects most of the energy of low-frequency variations which could cause a false positive (FP) in a wireless motion detection system, while preserving the most important components in H at DC and above 0.5 Hz. The low-pass or 2D filter rejects most of the energy of high-frequency variations which could cause a FP in a wireless motion detection system, while preserving the most important parts of motion information in H below 5 Hz. Both filters contribute to a practical motion detection system which is expected to have zero FPs related to low and high frequency variations in H, while keeping the sensitivity of the motion/intrusion detection. 
    
    
     
       BRIEF DESCRIPTIONS OF THE DRAWINGS 
         FIG. 1  illustrates an exemplary network environment in which a system for wireless motion detection using multiband filters may be implemented. 
         FIG. 2  is a diagram illustrating an exemplary target environment in which a system for wireless motion detection using multiband filters may be implemented. 
         FIGS. 3( a ) and 3( b )  illustrate an exemplary signal before and after applying a notch filter. 
         FIG. 4  illustrates an exemplary power spectral density PSD comparison of a typical motion, empty, and false positive signal. 
         FIGS. 5( a ) and 5( b )  illustrate an exemplary effect of a band-stop Bessel filter. 
         FIGS. 6( a ) and 6( b )  illustrate an exemplary initializing filter, according to various embodiments. 
         FIGS. 7( a )-( c )  illustrates an exemplary application of a low-pass and notch filter. 
         FIGS. 8( a )-( c )  illustrates an exemplary effect of a low-pass FIR filter. 
         FIG. 9  illustrates an exemplary 2D CSI before applying a filter. 
         FIG. 10  illustrates an exemplary 2D CSI after applying a filter. 
     
    
    
     DETAILED DESCRIPTION 
     A wireless motion detection system is provided which uses a sharp band-stop and low-pass filters to reject unwanted low and high frequency components of a signal in the CSI. A gap in the frequency domain is caused by taking the absolute value of the signal when using the absolute value of channel matrix Hv for motion detection. A sharp band-stop (notch) filter is used to reject any unwanted signals that have significant components in this gap. A low-pass filter is used to reject all unwanted signal after the motion highest frequency. 
       FIG. 1  illustrates an exemplary network environment in which a system for wireless motion detection using multiband filters may be implemented. In one example, the wireless access point  102  may be a Wi-Fi access point. In one example, the wireless access point  102  is an 802.11ac or above access point. The wireless transceiver of the wireless access point  102  is in communication with the further stationary device over a corresponding further one of the at least one radio frequency communication link. The wireless access point  102  is configured to record a further channel state information data set for the further one of the at least one radio frequency communication link at a corresponding time. In an embodiment, determining the activity of the person in the environment includes determining the activity of the person in the environment based on a comparison of the further channel state information data set to each of the at least one channel state information profile of each of the plurality of activity profiles. In an embodiment, the activity is determined based on a sum of a similarity measurement of the channel state information data set and a similarity measurement of the further channel state information data set. 
     A central processing unit (CPU)  104  is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logic, controlling and input/output (I/O) operations specified by the instructions. A graphics processing unit (GPU)  106  is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs  106  are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs  106  are very efficient at manipulating computer graphics and image processing. Their highly parallel structure makes them more efficient than general-purpose CPUs for algorithms that process large blocks of data in parallel. A digital signal processor (DSP)  108  is a specialized microprocessor (or a SIP block), with its architecture optimized for the operational needs of digital signal processing. The DSP  108  may measure, filter or compress continuous real-world analog signals. An application program interface (API)  110  is a set of routines, protocols, and tools for building software applications. The API  110  specifies how software components should interact. APIs  110  are used when programming graphical user interface (GUI) components. The API  110  provides access to the channel state data to the agent  114 . A wireless access point  102  compliant with either 802.11ac or above, using the stock omnidirectional antenna on a radio  112  might have a range of 100 m (0.062 mi). The radio  112 , with an external semi parabolic antenna (15 dB gain) with a similarly equipped receiver at the far end, may have a range over 20 miles. 
     An agent  114  is a device or module configured to collect data from the Wi-Fi chipset of wireless access point  102 , filter the incoming data then feed and pass it to the cloud server  126  for activity identification. Depending on the configuration, the activity identification can be done on the edge, at the agent  114  level, or in the cloud server  126 , or some combination of the two. A local profile database  116  is utilized when at least a portion of the activity identification is done on the edge. This could be a simple motion/no-motion determination profile, or a plurality of profiles for identifying activities, objects, individuals, biometrics, etc. An activity identification module  118  distinguishes between walking activities and in-place activities. A walking activity causes significant pattern changes of the CSI amplitude over time, since it involves significant body movements and location changes. In contrast, an in-place activity (e.g., watching TV on a sofa) only involves relative smaller body movements and will not cause significant amplitude changes but presents certain repetitive patterns within the CSI measurements. A filter  120  is a device or process that removes some unwanted components or features from a signal. Filtering is a class of signal processing, the defining feature of filters being the complete or partial suppression of some aspect of the signal. Most often, this means removing some frequencies or frequency bands. These filters  120  can be on the agent  114 , the cloud server  126 , the wireless access point  102  or on all of them. A low-pass filter (LPF)  122  is a filter that passes signals with a frequency lower than a selected cutoff frequency and attenuates signals with frequencies higher than the cutoff frequency. The exact frequency response of the LPF  122  depends on the filter design. A notch filter  124  is a band-stop filter or band-rejection filter which is a filter that passes most frequencies unaltered but attenuates those in a specific range to very low levels. It is the opposite of a band-pass filter. A notch filter  124  is a band-stop filter with a narrow stopband (high Q factor). 
     A cloud server  126  analyzes and creates profiles describing various activities. The profile module  132  monitors the data set resulting from continuous monitoring of a target environment, to identify multiple similar instances of an activity without a matching profile in such a data set, combine that data with user feedback to label the resulting clusters to define new profiles that are then added to the profile database  128 . A profile database  128  is utilized when at least a portion of the activity identification is done in the cloud server  126 . This could be a simple motion/no-motion determination profile, or a plurality of profiles for identifying activities, objects, individuals, biometrics, etc. A device database  130  stores the device ID of all connected wireless access points  102 . 
       FIG. 2  is a diagram illustrating an exemplary target environment in which a system for wireless motion detection using multiband filters may be implemented. Such system may be comprised of at least two transceivers  204 , which establish a wireless communication link or channel  203  in an active sensing area  201  and which are sensitive to motion  202  (e.g., human motion, pet motion, etc.). The wireless motion detection system is able to collect a wide range of information from all of the active wireless devices within a location. As an example, this information includes but is not limited to physical layer (PHY layer) metadata containing information about the frequency response of the channel, and/or phase response of the channel, and/or impulse response of the channel, and/or received signal strength indicators (RSSI), and/or any other statistic that describes the wireless communication link between paired devices. The wireless motion detection system exploits and quantifies the physical motion occurred in the sensing area  201  by analyzing the changes and disruption of the wireless measurements collected from the wireless devices. 
     Motion detection systems that employ wireless signals to infer human motion can have false motion detection, or false positives (FP). These artifacts or disturbances may occur due to intrinsic or extrinsic reasons, including but not limited to automatic power control in transmitter or receiver side of the wireless connection. Under certain circumstances, these unwanted changes can extremely affect the channel state information (CSI) signals (or equivalently channel matrix H) such that these distortions can be misclassified as actual human motions. In the context of the systems and methods proposed herein, CSI is taken as an example of channel frequency and phase responses regulated by IEEE 802.11ac or above. This example shall not limit the scope of the approaches presented herein. 
     A channel matrix H is comprised of CSI information for different frequency sub-bands, herein called sub-carriers, in one dimension, and different times, herein referred to as samples or packets, in the other dimension. 
     Different timely variations, including intended variation such as human physical motion and unintended variations such as artifacts mentioned above, affect the CSI signals with different frequencies over time. The unwanted variations could be slow or fast changing, herein associated with terms low-frequency and high-frequency variations, respectively. 
     Given the fact that human physical motion can only happen within a certain frequency range, the proposed system analyzes the frequency components of all temporal variations of recorded CSI signals to distinguish intended and unintended frequency bands. 
     A sharp notch filter  124  could be used for rejecting the unwanted low-frequency components in the CSI. When taking the absolute value of a signal, for instance a single sinusoid sin(ω), its absolute value sin(ω)∨√(1−cos((2ω)/2) has frequency components in DC and is equal or greater than twice the original frequency. The gap in the frequency domain is caused by taking the absolute value of the signal. A sharp notch filter  124  may be used to reject any unwanted signal which has significant components in this gap, when using the absolute value of channel matrix H∨ for motion detection. The notch filter  124  removes the artifacts caused by low-frequency variations such as step pulses in |H| (i.e., absolute values of H). 
     A LPF  122  could be used to reject high frequency unwanted signal in CSI. The highest frequency in human motion, disrupting a wireless signal, is a function of motion velocity and the carrier frequency. The LPF  122  could be used to reject all unwanted signal after the motion highest frequency. 
       FIGS. 3( a ) and 3( b )  illustrate an exemplary signal before and after applying a notch filter. Specifically,  FIG. 3( a )  shows an example of step pulses in |H| for one sub-carrier over time.  FIG. 3( b )  depicts the same signal after applying the notch filter. In both plots the Y axis is the normalized amplitude of |H| in one sub-carrier of channel matrix, and the X axis is the number of samples or packets in time with a fixed sampling frequency(e.g., f_s=20 Hz).  FIG. 3( b )  illustrates that the step pulses have been made smoother by eliminating the first harmonic of the pulse, thus reducing the signal variation down to below the pre-defined motion threshold line. 
     In  FIG. 3( a ) , with respect to the frequency domain, it is noticeable that the signal is a pseudo-periodic signal with a period less than 0.5 Hz.  FIG. 4  confirms this idea, where the power spectral density (PSD) of the step pulse in  FIG. 3( a )  is compared with the PSD of a typical motion and an empty channel CSI. 
       FIG. 4  illustrates an exemplary power spectral density PSD comparison of a typical motion, empty, and false positive signal. In  FIG. 4 , the main lobe of the step pulse PSD is approximately between 0.1-0.15 Hz. Because human motion has barely any information in |H| for the range of above DC and below 0.5 Hz (equivalent to 0-0.25 Hz in complex H), the frequency band is filtered out using an infinite impulse response (IIR) notch filter  124 . A LPF  122  is used to eliminate the spurious signal with frequencies higher than the motion highest frequency. 
     In order to have a LPF  122  with minimum delay (i.e., minimum filter taps) and proper rejection of high frequency unwanted (i.e., spurious) signal at the same time, the FIR filter designed by Kaiser window may be used. Kaiser window has two degrees of freedom, letting both the transition width (i.e., sharpness) and outband loss (i.e., rejection) to be controlled. In order to completely preserve motion band with a rather low-order filter, it is necessary to choose the cut-off frequency greater than the ideal case. 
       FIGS. 5( a ) and 5( b )  illustrate an exemplary effect of a band-stop Bessel filter. Specifically,  FIG. 5( a )  depicts the frequency response of a band-stop Bessel filter, and  FIG. 5( b )  illustrates the effect of applying the band-stop Bessel filter on a typical motion PSD. 
       FIGS. 6( a ) and 6( b )  illustrate an exemplary initializing filter, according to various embodiments. Specifically,  FIG. 6  shows the difference that proper initialization of the notch filter  124  could make. For n=0, we need P initial values for x, and Q−1 initial values for y. Assigning zero to all these initial values makes a transition period at the beginning of the filter output, if the first value of x is far from zero. A solution to this issue is to copy the first value of x to all initial values for both x and y. 
       FIG. 7( a )-( c )  illustrate an exemplary application of a low-pass and notch filter. Specifically,  FIG. 7( a )  depicts a FP CSI with both low and high frequency spurious signal.  FIG. 7( b )  shows the CSI in  FIG. 7( a )  after applying the above mentioned LPF  122 . The CSI after applying both LPF  122  and notch filter  124  is depicted in  FIG. 7( c ) . It can be seen in  FIG. 7( c )  that; the filtered CSI has smoother step pulses and also less high frequency noise. 
       FIG. 8( a )-( c )  illustrate an exemplary effect of a low-pass FIR filter. Specifically,  FIG. 8( a )  shows a 5th order n=5 low-pass filter designed by Kaiser window with cut-off frequency equal to 5 Hz, and transition width equal to 0.1 Hz with sampling frequency f_s=20 Hz. As can be seen, choosing 5 Hz for cut-off frequency has left the frequencies up to 2 Hz, which is the most important part of motion information, completely untouched, yet providing 5+ dBloss for frequencies greater than and equal to 5 Hz. 
       FIG. 8( b )  and  FIG. 8( c )  respectively show the effect of applying the LPF  122  and both LPF  122  and notch filter  124  on the PSD of an example of CSI signal with artifact, showcasing the frequency bands that are being rejected by each filter. 
     For an IIR notch filter  124  with the transfer function 
     
       
         
           
             
               
                 
                   
                     H 
                      
                     
                       ( 
                       z 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         Y 
                          
                         
                           ( 
                           z 
                           ) 
                         
                       
                       
                         X 
                          
                         
                           ( 
                           z 
                           ) 
                         
                       
                     
                     = 
                     
                       
                         
                           Σ 
                           
                             i 
                             = 
                             0 
                           
                           P 
                         
                          
                         
                           b 
                           i 
                         
                          
                         
                           z 
                           
                             - 
                             i 
                           
                         
                       
                       
                         
                           Σ 
                           
                             j 
                             = 
                             0 
                           
                           Q 
                         
                          
                         
                           a 
                           j 
                         
                          
                         
                           z 
                           
                             - 
                             j 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     the real time implementation could be easily realized using the below differential equation 
     
       
         
           
             
               
                 
                   
                     y 
                      
                     
                       [ 
                       n 
                       ] 
                     
                   
                   = 
                   
                     
                       1 
                       
                         a 
                         0 
                       
                     
                      
                     
                       ( 
                       
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               0 
                             
                             P 
                           
                            
                           
                             
                               b 
                               i 
                             
                              
                             
                               x 
                                
                               
                                 [ 
                                 
                                   n 
                                   - 
                                   i 
                                 
                                 ] 
                               
                             
                           
                         
                         - 
                         
                           
                             ∑ 
                             
                               j 
                               = 
                               0 
                             
                             Q 
                           
                            
                           
                             
                               a 
                               j 
                             
                              
                             
                               y 
                                
                               
                                 [ 
                                 
                                   n 
                                   - 
                                   j 
                                 
                                 ] 
                               
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     A LPF  122  could be implemented in real-time using convolution. In case of the H matrix, it is a good practice to use two-dimensional filtering to filter out unwanted signal in both time and sub-carrier domain. Consider a N×N two-dimensional filter h, each row of which the same coefficients of the Nth order low-pass filter. Two-dimensional convolution of filter h and input x is described by 
         y [ k, n ]=Σ p Σ q    h [ p, q ] x [ k−p+ 1,  n−q+ 1]  (3)
 
     where k and p are sub-carrier index and n and q are time index. 
     The notch filter  124  is used for the purpose of FP elimination. In one example, the notch filter  124  is a 2nd order band-stop Bessel filter with f_low=0.15 Hz and f_high=0.5 Hz. 
       FIG. 9  illustrates an exemplary 2D CSI before applying a filter, and  FIG. 10  illustrates an exemplary 2D CSI after applying a filter. More specifically,  FIGS. 9 and 10  depict the before and after, respectively, of applying a 5×5 two-dimensional low-pass filter on the H matrix. Each row of this 5×5filter is a low-pass FIR filter with specification described in section 2.2. It is clear in  FIG. 10  that as a result of this two-dimensional filtering, CSI has become much smoother. 
     The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM, and any other memory chip or cartridge. 
     Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. Various forms of storage may likewise be implemented as well as the necessary network interfaces and network topologies to implement the same. 
     The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology, its practical application, and to enable others skilled in the art to utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claim.